Re: Version bump policies and beta packages in stable branch

Galik <[email protected]> Wed, 28 Jan 2004 10:25:12 +0000
Newsgroups gmane.linux.zynot.zynaut
Message-ID <[email protected]>
Hi,
There seem to be two aspects to this problem. One is how to manage it=20
from the perspective of the Package management System. The other is how=20
to manage it from the perspective of the Distribution.

1) Package Management System.

The best that the PMS can achieve is to implement a system that is=20
ultimately flexible and infinitely easy to use with respect to Package=20
Selection and Control. These two ideals (flexible and easy) are usually=20
mutually exclusive to one degree or another however if the underlaying=20
engine is flexible then the UI that gets bolted onto the engine can=20
implement an easy subset of all that is achievable.
This thread in the forums is useful I think for a nice flexible approach=20
to package selection.

http://forums.zynot.org/viewtopic.php?t=3D225

nall's proposed approach provides for an extremely flexible way to=20
prioritise packages (co)existing in multiple trees. Trees are=20
essentially distributions and are only called trees for historical=20
reasons. They do not need to be tree shaped any more although they may=20
be displayed in a hierarchy at the discretion of the UI.

2) Distribution.

This is allways the make or breake of a distribution as it determines:

a) How the user experiences the distro: are all the packages up to date=20
enough?
b) How easy the distro is to maintain: how many interdependent packages=20
are required to change to form a new stable?
c) Can the distro integrate with other distributed software not=20
affiliated with the distro? That is if I want to supply some audio apps=20
as a third party to anyone running a Zynot System using Xeta can people=20
use my mini-distro at the same time?

Solutions...(?)

a) Being source based (or at least source capable) allows for the most=20
fine grained upgrade progress achievable.
b) Maybe a more structured approach to the distro as opposed the the=20
more traditional monolithic model currently used by most. By this I mean=20
rather than having stable/unstable woody/metalic etc... Why not utilise=20
the power of the multiple trees enabled by the underlaying PMS and break=20
the distro down into components. For example:

RH style system
----------------

zynot-stable
zynot-testing
zynot-unstable

Componentised system
------------------------

zynot-base(-stable|-unstable)
zynot-audio(-stable|-unstable)
zynot-video(-stable|-unstable)
zynot-inet(-stable|-unstable)
zynot-gnome(-stable|-unstable)
zynot-kde(-stable|-unstable)
zynot-dev(-stable|-unstable)

Now I have to say I really don't know if breaking the distribution down=20
into sub-distributions like this will help or hinder the process of=20
building a stable platform but it's an idea that people might want to=20
think about.

c) A third party developer could be easily integrated into the above=20
scenario:

mikado-audio(-stable|-unstable) // Either an alternative to or a=20
suppliment of zynot-audio from mikado.
borland-dev // Borland's official development tools.

- Galik


Frantz Dhin wrote:

> Hello all,
>
> So we have this problem that I=92d like to put up here for discussion.=20
> It has been boggling my mind for quite a while.
>
> The problem:
>
> Best summarized using the Gentoo distribution as an example. In Gentoo=20
> you basically have a choice of 2 distributions. A stable and an=20
> unstable branch. Some would like you to believe that a choice between=20
> a wealth of package versions exists in this =93meta distribution=94, bu=
t=20
> in reality you are limited to these two package sets.
>
> If you type =93emerge mysql=94 on the command line in Gentoo today you =
get=20
> version 4.0.16 if you are running the stable branch, and 4.0.17 if you=20
> are running unstable. Now question is: Where are v4.1 and v5.0=20
> versions of MySQL in the Portage tree? Answer: They are not there. So=20
> when will they be there and when will stable or unstable versions=20
> suddenly prompt you to upgrade? Good question that only the package=20
> maintainer can answer.
>
> Now the problem in performing a MySQL v4.0 to v4.1 upgrade will be=20
> that some upgrading will need to be done on the database tables=20
> themselves. In other words a 4.0 database is most likely not=20
> compatible with a 4.1 database. For a database of a reasonable size=20
> this is no trivial operation. It will require planning, testing and a=20
> good chunk of human resource time. It is an operation that needs to be=20
> carried out at a time of convenience.
>
> For a while Gentoo was running with MySQL 3.23 in the stable branch=20
> and 4.0.x in the unstable branch. One day the package maintainer=20
> decided that now it was time to =93move v4.0.x to stable=94 and announc=
ed=20
> this on gentoo-dev mailing list, and so it became.
>
> I hope everyone is now beginning to see the problem. What happens when=20
> it is time to move 4.1 into unstable or stable? How many oopses will=20
> we hear the users say? How much annoyance is it going to cause when a=20
> package manager constantly offers you a package upgrade that you don=92=
t=20
> have time for or may not even want for years to come? And what happens=20
> when you in 2 years badly need to restore your MySQL 4.0 system fast=20
> and smooth. =96 Is the ebuild for the exact version you need still=20
> guaranteed to be there and accessible for you?
>
> A workaround could be to split it into 3 separate packages named such=20
> as these. The naming is taken from mysql.com.
>
> Mysql-production-release (Currently 4.0.x)
>
> Mysql-alpha-release (Currently 4.1.x)
>
> Mysql-development-tree (Currently 5.0.x)
>
> But really that is just delaying and making a half solution to the=20
> problem, because there will be a day where v4.1 will be recommended as=20
> the current =93production release=94.
>
> I have here used Gentoo and MySQL as an example. Not intended as=20
> flaming, but to illustrate a problem of a more general nature. Think=20
> of Apache 1.3.x and 2.0.x which are both used in production and will=20
> be for a long time still. Think of the Gimp (1.2.x) and the beta=20
> version of it (1.3.x) which also get version incremented independently=20
> in both branches.
>
> In Gentoo it was for a while as such that if you were running stable=20
> you got Gimp 1.2 and if you were running unstable you got Gimp 1.3=20
> handed to you. IMHO you should have the choice of both no matter what=20
> OS branch you run, but here obviously separating into 2 packages and=20
> naming them gimp and gimp-beta would suffice.
>
> To conclude this I suggest a general policy for the trees we develop=20
> to provide as much choice as possible when it comes to running beta=20
> packages in a so-called =91stable=92 release. We should, especially for=
=20
> desktop applications, avoid forcing a whole set or branch of packages=20
> on a user who in all innocence is curious about what the beta release=20
> of Gimp is like.
>
> It would all-in-all be a more effective use of having a stable vs an=20
> unstable branch if, for instance, gimp 1.2.4 and gimp-beta 1.3.22 were=20
> placed in stable, while gimp 1.2.5 and gimp-beta 1.2.23 were in=20
> testing stage. I suggest making this a general principle as long as=20
> the technical implications do not become too much of a burden. I=20
> realize that running a beta of an application could force an upgrade=20
> of a bunch of libs which again could break a lot of things. I imagine=20
> a beta of Evolution for instance would have this trait, so a policy=20
> like this of course has to be kept within reason.
>
> Furthermore, not neglecting the problem with a package such as MySQL,=20
> I am still in search for solutions and mechanisms and policies to=20
> handle this exact problem. Do not forget that we seek to create a data=20
> center worthy distribution. The demands for such a distribution is=20
> that it can be installed on large machinery and clusters and be able=20
> to run the next 15 years with 99.999% uptime. Take this into account,=20
> but I am eager to hear comments and proposals for solutions=85
>
> Best Regards
>
> Frantz Dhin
>
> CEO, Zynot Foundation
>
>------------------------------------------------------------------------
>
>_______________________________________________
>zynaut mailing list
>[email protected]
>http://lists.zynot.org/mailman/listinfo/zynaut
> =20
>