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

Re: post-release package update policy



Dale Scheetz writes:
 > >Some suggest that it would be best to leave debian-0.93 alone after
 > >the release, and that instead of moving new and updated packages into
 > >debian-0.93, we should put them in a different (but easily-accessible)
 > >tree, such as debian-updates-0.93.  The advantage of this approach is
 > >that it gives users access to both the "released" and completely up to
 > >date distributions.  The disadvantage is that users would have to make
 > >a decision as to which of them to install.
 > 
 > I, personally, like to be given choices. Being asked to make a decision is
 > not a disadvantage to me! If I were asked to make more decisions during
 > installation, and it made the installation more appropriate as a result, I
 > would consider that to be an advantage


I second this -- as long as it's clear to me (I'm speaking now for the millions
[:-)] of coming debian users, not me, the ~20 year UNIX veteran) what
the consequences of the decision that I am making are.  This implies extremely
clear naming.  See below. 

 > >
 > >Others suggest that we should keep doing what we're doing now--that
 > >is, as packages are released, we should move them into debian-0.93.
 > >The advantage of this approach is that users are guaranteed to have
 > >all fixed and updated packages at the time they download the
 > >distribution.
 > 
 > This is true only for those who have the bandwidth to download everything in
 > one session! I have worked for 4 nights over the last few weeks and still
 > don't have all the essentials updated yet, not to mention all the frills!
 > Having a stable set of directories to work from would let me put together "a
 > specific" distribution whos pieces should all work together. The only reason
 > a user should need to upgrade would be if some portion of the distribution
 > did not work for it. (it = the gender neutral term for user)

Until I saw this I was kind of on the fence about this issue.  

One of the things which attracted me to debian in the first place (apart
the fact that smail and news might finally work again in a current release, in
constrast to smackware), was that the packages were so state of the art.  A new
version of Foo would be released, and within days, the corresponding .deb file
would appear.  This is GREAT!  Do not lose this.

I think we can achieve both goals pretty simply, through careful naming and
use of symlinks.  Proposal:

Have two directory trees: 1) one for the current stable debian release (a
snapshot), and 2) one for the latest versions of packages.

Call (1) "debian" or "stable".  It is actually a re-bindable symlink to a
versioned directory, like "debian-0.93R6" or "debian-0.93R6-stable"

Call (2) "latest" or at most "debian-latest".  It has the current
state-of-the-art versions of packages that are compatible with the "stable"
version.  It includes a *complete* set of packages; those packages which have
not been changed since the "stable" version, are just symlinks to the stable
version.   When a new package is added the symlink is removed, and the new
package is installed in its place.  I'm mentioning symlinks here for two
reasons: a) to minimize redundant disk usage and b) to have a distinguishable
(at least by some FTP clients) means of telling which packages have changed and
which are the same as the stable release.

New packages go into the latest version. At some point, the contents of the
latest version is snapshotted and becomes the new stable version (in fact, you
could almost just mv the latest directory to the new versioned stable
directory, rebind the symlink "stable" (or "debian") to point to the new 
stable version; you still have to replace the symlinks with their corresponding
actual files from the old stable release).

The old stable releases do not have to be removed; some aging policy can be
applied to keep the last <n> versions; so if a stable version proves somehow to
be broken, you can regress further to an earlier version.

While this organization may sound complicated, it's relatively simple:


debian/
       debian-0.93R6/
                     binary/
                     msdos/
                     source/
    	    	     {etc}
       stable -> debian-0.93R6
       latest/
              binary/
    	    	     ...
                     net/
                         ppp-2.2.deb -> ../../../stable/binary/net/ppp-2.2.deb
                     ...
              msdos/
              source/
              {etc}

Other things like the elf related directories, and Incoming could appear
under the "debian" directory.

I think this addresses the concerns expressed by Dale (and echoed by myself),
allows both novices and experts to find and retrieve the files that they are
interested in, and is relatively minimal in its use of disk space.

Steve



Reply to: