[5858] in Release_7.7_team

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

Proposed repository plan for Athena 10 work

daemon@ATHENA.MIT.EDU (Greg Hudson)
Wed Oct 10 00:39:44 2007

Date: Wed, 10 Oct 2007 00:39:06 -0400
Message-Id: <200710100439.l9A4d6ob018222@equal-rites.mit.edu>
From: Greg Hudson <ghudson@MIT.EDU>
To: release-team@MIT.EDU
X-Spam-Flag: NO
X-Spam-Score: 0.00

I discussed most of this at the release team meeting already.  The
plan is:

1. We get ourselves an "athena" repository on svn.mit.edu and import
   the current CVS repository into it (trunk only for cleanliness).
   The CVS repository becomes, effectively, a 9.4 branch.  We arrange
   for an automated daemon to be able to access the athena repository
   so that we can create a mirror and a checkout in AFS.

2. The athena hierarchy stays mostly as-is, although a few individual
   packages might go away or move.  Also, some packages in there will
   stop getting built (like Zephyr and Hesiod) but will remain in the
   source tree since we are the upstream maintainers.

3. The third hierarchy becomes very small, but probably doesn't go
   away entirely.  Little stuff like third/lam stays where it is, and
   hard stuff like third/lprng might stay where it is just because it
   might become too hard to get away from building it.  But we get rid
   of as much as we can, probably over 90% of what's in there.

4. The packs hierarchy goes away.

5. A new hierarchy "ubuntu" appears, with the following general
   structure:

5a. ubuntu/build contains build scripts.

5b. ubuntu/athpkg contains files with names like "discuss" which
    correspond to package names for software under athena/ and third/.
    Much like packs/build/rpm/specs.

    Note: currently, a number of athena/ packages pull in files from
    packs/config or packs/maint via scripts in packs/build/rpm/prep.
    I'd like to get away from that.  The problem will mostly solve
    itself as we get rid of stuff in third/, but in some cases we will
    need to either move the config file into the athena source tree or
    create a new package with a name like athena-athinfod-config.  The
    latter approach is cleaner since it mirrors how we will be
    separating Athena configurations for native software (like gdm)
    from the software itself.

5c. ubuntu/pkg contains directories with names like "gdm-config", each
    containing the package description files and package contents for
    athena-gdm-config.  For instance, in the case of gdm-config, the
    directory would contain the modified gdm.conf, the desktop files
    for the login sessions, and maybe the Xsession script.

5d. ubuntu/native contains materials for native packages like gconf2
    which we will need to modify.  I'm thinking the substructure of
    each directory might look like:

    ubuntu/native/gconf2/dpkg
    ubuntu/native/gconf2/ubuntu
    ubuntu/native/gconf2/athena

    where "dpkg" is the raw package materials, "ubuntu" is the
    prepared source tree, and "athena" is the modified source tree (a
    copy of the ubuntu directory).  The build script would work by
    diffing "athena" against "ubuntu", adding the result as a patch to
    "dpkg", and doing a normal Debian package build.

Details may change as I learn more about how dpkg works.

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