[5366] in Release_7.7_team

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

Projects for reducing maintenance cost of current Athena

daemon@ATHENA.MIT.EDU (Greg Hudson)
Wed Nov 30 12:11:56 2005

Date: Wed, 30 Nov 2005 12:11:36 -0500
Message-Id: <200511301711.jAUHBatE025407@egyptian-gods.mit.edu>
From: Greg Hudson <ghudson@MIT.EDU>
To: release-team@MIT.EDU
X-Spam-Score: 1.217
X-Spam-Level: * (1.217)
X-Spam-Flag: NO

It's not clear when we'll know what direction Athena is going in.  In
the mean time, we can try to identify work which benefits both the
conservative approach (reduce maintenance costs) and the ambitious
approach (new component-oriented system targeted at personal
machines).

To that end, here is a list of mini-project ideas oriented towards
reducing the maintenance cost of the current Athena model.  By
comparing this list to release-77 [5354] and applying some common
sense, we can try to identify work we can do without an overall
direction.

  * Test stock GNOME build in Athena environment

    We have historically had our own GNOME built partly for platform
    parity, but also to solve problems associated with AFS homedirs.
    I believe some key problems (particularly GConf locking) have been
    resolved upstream, but we have done no comprehensive testing or
    analysis to see how well a stock GNOME build could work for the
    Athena environment.

    The mini-project here is to:
      - Inventory our local mods to GNOME libraries and identify which
        problems they were created to solve.
      - Create a straw-man Athena release which replaces the Athena
        GNOME packages with the RHEL4 ones.
      - Test the straw-man release to see which problems are
        encountered.
      - Identify potential workarounds for remaining problems which
        don't involve rebuilding the GNOME world.

  * Create an Athena session manager

    A number of our problems integrating GNOME into the Athena
    environment stem from not having a session manager, which means we
    don't gracefully terminate GNOME programs at logout.  We don't use
    the GNOME session manager because its session saving and
    restoration doesn't work well in a distributed environment
    (particularly a multi-platform one).

    The mini-project here is to strip down the GNOME session manager
    into a minimal one which only handles graceful termination, and
    integrate that with our session scripts.

  * Identify packages we build only for platform parity

    We build some packages on both platforms because we needed them
    for Solaris and it was simply easier to have them at the same
    version and in the same place on both platforms.  But for a
    Linux-only release, we probably don't need our own build of, say,
    OpenSSL.

    The mini-project here is to look over the list of third-party
    packages we build, check for relevant local modifications, and
    make a list of packages we could probably eliminate for the 9.5
    release.  In addition, we could build and test a straw-man release
    which does not include those packages.

    (Bill's difference document does this, but I think we would need
    to do a bunch of re-checking in order to actually decommission
    those packages from the release.)

  * Rework the Athena build system

    The current Athena build system is designed around a past model
    where the output of the build was a srvd, not a collection of
    packages.  As a result, the files for a given packages are often
    scattered between third/packagename and various directories under
    packs.  There are also aspects of do.sh which are pretty clunky,
    resulting in stilted Makefile.athena files.

    In source-developers [640] I outlined a new build system design.
    The mini-project would be to implement this design.

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