[1924] in Release_7.7_team

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

minutes, 8/15 ("The Joy of SRPMs")

daemon@ATHENA.MIT.EDU (Dan Winship)
Wed Sep 15 15:56:45 1999

Date: Wed, 15 Sep 1999 15:56:31 -0400 (EDT)
Message-Id: <199909151956.PAA749455@antharia.mit.edu>
From: Dan Winship <danw@MIT.EDU>
To: release-team@MIT.EDU

We talked about building SRPMs (Redhat Package Manager source
packages) as part of the Linux-Athena build system.

Happiness:
  - Consistent with the Linux user experience: Linux people are used
    to getting SRPMs, tweaking the code, and rebuilding from them.

  - Gives Athena a source distribution channel (albeit a
    Linux-specific one).

  - All of the needed sources would be in RPMs. No external
    dependencies.


FUD:
  - Less build-system consistency between Athena platforms

  - Possibly more work to maintain the build system. Possibly greater
    skew between "how developers build things" and "how the wash
    builds things". (These are reduced if the SRPMs build using do.sh
    and the rest of the Athena build system.)

  - Possible end-user confusion regarding the third/ packages. (An
    SRPM normally includes a pristine source tree with patches: we'd
    be shipping locally-patched versions of third-party packages. We
    can solve this problem with careful naming ("athena-third-krb5"
    rather than "krb5") and comments in the RPM spec file.

  - krb5: currently building third/krb5/src/appl requires having
    configured in third/krb5, but you can't build them at the same
    time because ftpd depends on liblocker which depends on libkrb5.
    We can solve this by having the third/krb5/src/appl SRPM include
    the whole krb5 source tree and have it configure all of it but
    only build and install the apps. (Slow, gross, but effective.)

  - Can RPMs be installed into a $DESTDIR? We think so...


Other issues:
  - We need to keep track of what packages we can't distribute SRPMs
    for for licensing reasons

  - Config files: some packages have associated config info in
    packs/config, and/or boot scripts in packs/maint (currently as
    part of the monolithic "athena" boot script, but that would have
    to change). How are these dealt with?

  - Things like update scripts don't work as packages

  - Layering questions: picking vendor or Athena login. Does the
    machine run "reactivate", etc.

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