To: debian-devel@lists.debian.org Subject: PROPOSAL: "Staging Areas" From: Jim Pick <jim@jimpick.com> Date: 23 Feb 1999 20:34:44 -0800 Hi, There has been a lot of discussion about gtk/gnome and unstable. Because of the huge numbers of dependencies and dependant packages, gtk and gnome have been introducing a lot of instability into "unstable". This is largely due to the fact that we are trying to track something that is under active development, in which binary compatibility is often broken. We can isolate the breakage by incrementing sonames and using dependencies, but it's almost impossible to get everything to work together nicely when we are mixing so many different versions. One proposal has been to assemble all the packages that depend upon a certain gtk/glib/imlib/gnome combination outside of 'unstable', and only put them into 'unstable' when all the packages are known to work together. This is a good idea. I'd like to propose a mechanism for facilitating this. The idea is this: * Have a facility for creating multiple parallel distributions to the unstable distribution. Each one of these parallel distributions would be a "staging area" for assembling packages that would break compatibility if they were uploaded directly to 'unstable'. * These "staging area" distributions would be created automatically by dinstall when a package is first uploaded to one of them. For example, Imagine glib 1.1.20 comes out, and it breaks compatibility (it's still under development, after all). The proper thing to do is to try to recompile all the applications and libraries which use glib so that they use the same one. Otherwise we'll get segfaults from mixing the old and new one together in some cases. Instead of uploading all the packages one-by-one to unstable, where they'll break (because they aren't all updated at once), we would use the new debian-gtk-gnome@lists.debian.org mailing list to agree to upload them to a "staging area" distribution. This would be done by setting the distribution to be: Distribution: staging-glib-1.1.20 (instead of "unstable") When dinstall is run on the Incoming queue, it would put the packages into: dists/staging-glib-1.1.20/.... The dinstall program could be modified so that it would automatically create a new "staging area" distributions whenever it saw a package destined for a distribution named "staging-*" than does not yet exist. Of course, this would have a Packages file, so people who wanted to use these packages before they were committed to 'unstable' could just add this distribution to their /etc/apt/sources.list file. When all the packages have been assembled in the staging area, we could then dump all of those packages into unstable at one time, and then remove the "staging area" distribution. That's all my idea is. We are already doing this on an ad-hoc basis for the following: * glibc 2.1 * gnome-apt * xfree86 (probably several others) It's quite a bit of extra work to do these without using an Incoming queue, and the standard dinstall routines. Anyways, I think this facility could be built into dinstall rather easily, and would be very useful. Cheers, - Jim -- To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org