[3] in athena10

home help back first fref pref prev next nref lref last post

Athena 10 and Debathena

daemon@ATHENA.MIT.EDU (Greg Hudson)
Fri Nov 30 02:52:34 2007

Date: Fri, 30 Nov 2007 02:52:27 -0500
Message-Id: <200711300752.lAU7qRIM014218@equal-rites.mit.edu>
From: Greg Hudson <ghudson@MIT.EDU>
To: athena10@MIT.EDU

On Wednesday I met with tabbott and hartmans to discuss the
relationship between Athena 10 and Debathena.  Here is the high-level
background:

  * Debathena is an existing product of SIPB, which uses Athena
    sources and original materials to provide Athena-like
    functionality for seven different versions of Debian and Ubuntu.
    Its highest-profile deployment is probably the linux@mit.edu
    dialup (aka linerva) but it is also used by about 200 other
    machines by their count, including a cluster in the 6.001 lab.
    Debathena does not include all of the monitoring and
    self-maintenance features of the Athena release and may be missing
    some GNOME fixes for AFS homedirs, but does include the core
    features and most of the command-line utilities.  The Debathena
    developers are tabbott and andersk.

  * Athena 10 is a planned project to move Athena to Ubuntu 8.04
    (Hardy Heron) and reduce the maintenance burden of the release by
    leveraging more native platform components.  The plan I had
    developed for this project is at
    http://web.mit.edu/release/www/athena10.  The approach I had been
    planning to take was to use Debathena liberally as a reference,
    but to produce a wholly separate product.

  * tabbott met with me based on some concerns about the inefficiency
    arising from IS&T providing an officially supported set of Athena
    packages for one specific release of Ubuntu, and leaving it to
    others to provide similar packages for other Debian and Ubuntu
    versions.  In particular, Debathena has evidence (based on package
    repository statistics) that private machine owners do not stick to
    Ubuntu long-term support releases, and would be interested in
    packages for whatever Ubuntu release follows 8.04 even if Athena
    clusters don't adopt it.

  * Sam suggested that ISDA should consider developing Athena 10 as a
    collaboration with Debathena, such that Athena 10 is a successor
    to Debathena as well as Athena 9.4.  The Athena 10 infrastructure
    would contain enough bits to produce packages for all supported
    Debian and Ubuntu versions, but ISDA would only take
    responsibility for resolving issues on Ubuntu 8.04.  I initially
    had reservations about this idea, but have come around somewhat.
    From Debathena's perspective, this collaboration would mean
    shifting from treating Athena sources as an upstream provider to
    becoming co-maintainers of the upstream source.

Some low-level consequences of such a collaboration, if it should fly:

  * The package names would likely be named debathena-* instead of
    athena-* as I had envisioned, since a package name migration is a
    pain.  Not a big deal.

  * Debathena does not currently use a version control repository.
    They're not throwing away any information--the source packages
    contain the full history--but ISDA has a policy of keeping
    everything in Subversion repositories on svn.mit.edu.  Debathena
    developers would get commit access to this repository as part of
    the collaboration.

  * I had originally envisioned keeping the Debian package goo for
    Athena sources in a separate location (ubuntu/athpkg in the
    repository) to preserve the platform-independent nature of the
    Athena sources.  It might be convenient to plunk debian
    directories directly into the Athena source directories.  That way
    you could check out athena/bin/delete (or whatever), use dch -i
    directly from the checkout to edit the changelog after making a
    change, and build the package directly from the checkout (no need
    for a package build script like I wrote over the past couple of
    weeks).

  * Athena source directories do not currently contain generated or
    stock autoconf goo (configure, config.sub, config.guess,
    mkinstalldirs, install-sh, ltmain.sh, libtool.m4) or the Athena
    aclocal.m4 file.  If we want to be able to build binary packages
    directly from checkouts, we'll need to do something about that.
    There may need to be a preparation script which turns a checkout
    into the actual source package--for aclocal.m4 if nothing else.

  * It's pretty easy to use the same source package to build binaries
    for multiple Debian and Ubuntu releases--just don't rely on any
    recent features of debhelper or CDBS (I would assume).  Life gets
    harder for the places we need to modify upstream packages such as
    bash and tcsh, because there is potentially a different source
    package for each release.  Debathena currently has three such
    instances, and they generally handle them by using a script which
    processes the source package.

  * Cosmetic issue: I like the idea of treating Athena 10 packages as
    "Debian original packages", i.e. with no orig tarball.  I think
    Sam agrees with me, tabbott doesn't have a strong opinion, and
    andersk disagrees.  It's a fine point in any event.

  * Cosmetic issue: Debathena uses package version numbers like
    "9.4.0-0debathena1~ubuntu7.04" to indicate which Debian or Ubuntu
    release a binary package was built on, and stores all of the
    resulting packages in one repository.  I like the idea of using
    much more terse package versions like "10.0.0" and creating
    separate repositories for each Debian or Ubuntu release.  tabbott
    disagrees with me, and I may just lack the necessary background to
    know why having one repository is best.

home help back first fref pref prev next nref lref last post