[1924] in Release_7.7_team
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.