[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: unstable is "unstable"; stable is "outdated"

On Fri, Feb 01, 2002 at 06:18:34PM -0800, Jeremy C. Reed wrote:
> On Sat, 2 Feb 2002, Donovan Baarda wrote:
> > This paritions the dependancies, making it all easier to manage, speeding
> > the release cycle and potentialy allowing people to mix-n-match stable-core
> > with unstable-gnome if they wish.
> So do you mean that these sub-distros don't have any dependencies on any
> packages within the other sub-distros?

The normal approach to solving dependancy hell in large projects is to
collect all the little components into larger sub-components in a way that
minimizes the coupling between those sub-components. The top-level
dependancies are then dealt with at the sub-component level.

For example; debian-gnome 2.0 depends on debian-core >=3.0, <4.0. Provided
the total "API" is backwards compatible for all minor versions of
debian-core 3.x, debian-gnome 2.0 should work. Any change to debian-core
that breaks debian-gnome 2.0 either must go into debian-core 4.x, or is a
bug that needs fixing in debian-core 3.x.

How you would use this approach and introduce it into Debian is not entirely
clear. You could use something like a dummy sub-project package that
requires, recommends, and suggests packages included in that sub-project as
necissary. This dummy package could optionaly depend on appropriate versions
of other sub-project's dummy packages. Packages could either depend directly
on (optional) packages in other sub-projects, or on the other sub-project
dummy package (which gaurentees the required packages of that sub-project).

Alternatively, you could just continue on as is, doing nothing special
beyond parititioning into sub-projects. This would mean packages in
debian-gnome would depend directly on packages in debian-core. In this case
I believe there would still be benefits, as developers of "frozen"
debian-gnome could target "stable" debian-core and be comfortable in the
knowlege things like libc would not change under them mid development cycle
just before a release.

Someone mentioned not liking the idea of having multiple apt-sources just to
get a complete working system. There is no reason why there couldn't also be
a single "Debian stable" apt-source that consisted of a single Packages file
that included all the "stable" versions of all the sub-projects. Then people
could put just "stable debian" in their apt-sources for a complete stable
Debian, and then optionaly add "unstable debian-gnome" if they wanted.

But ideas are cheap... implementing them is the real work. Feel free to
forward this to debian-devel or debian-policy or wherever :-)

ABO: finger abo@minkirri.apana.org.au for more info, including pgp key

Reply to: