IMO, Plan 1 is the way to go as this is how we managed the qt3/qt upgrade.
It's probably just as easy to find packages that went the opposite way: sqlite3 vs. sqlite2, xfce3 vs. xfce4. Also, when we did upgrade to qt3 it was after making sure most things worked with it. I don't know how long we waited to make qt3 the "official" qt package.
Does anyone has an idea on how many packages in the repo currently works with or need python3.0? If that number is zero or very small, we could update python to 2.6 and wait until that number increases before proceeding with Plan 1. That will reduce the number of rebuilds because we will be replacing rebuilds by package update that eventually would need to be done anyway.
Python 3.0 is a mostly backwards incompatible update to python. I suspect most packages will need tweaks and updates to make them work at all. The python 3.0 upgrade was never meant to be easy. They wanted to fix some of the warts in python. I'm pretty sure there will be a good number of packages that aren't python 3.0 compatible. That being said, they will be in the longer run. I really think that Python 3.0 isn't going to see mainstream support for a while. The upgrade path that the python community suggests is getting it working in python 2.6 and then fix it from there. What will you call the binaries? python and python2? I'm going with Aaron's suggestion. Don't worry about python 3.0 until more things support it. Or create a temporary python3 repo to support software in there (and call the package python3) for people who really want it. Then the python/python2 split will be gentler. Jason