[46] in athena10
Adapting processes for the svn repository
daemon@ATHENA.MIT.EDU (Greg Hudson)
Tue Jan 15 03:53:55 2008
Date: Tue, 15 Jan 2008 03:53:43 -0500
Message-Id: <200801150853.m0F8rhd8022467@equal-rites.mit.edu>
From: Greg Hudson <ghudson@MIT.EDU>
To: athena10@MIT.EDU
Right now the Debathena build processes assume a combined source and
build area in /mit/debathena/packages; debathena/NOTES in the
repository describes how it is used for the regular and equivs
packages.
Some of this follows pretty directly from Debian package tools, which
expect to be run from the top level of the package source directory
and write their output into the parent directory.
I think the simplest adaptation for Athena 10 is to create a build
area somewhere in the dev cell containing either symlinks to,
checkouts of, or exports of the source directories. This plan should
allow the current scripts to be used unmodified, and the current
processes to be basically preserved with three differences:
* We'll need additional machinery to construct the build area and
probably to update it before building a package.
* Obviously, we'd cd to /afs/dev/somewhere before invoking the
scripts, instead of /mit/debathena/packages.
* For simplicity, I'm thinking the build area could be a flat
directory containing source package names as subdirs, instead of
being organized along the source hierarchy. A section of the
build area might look like:
/buildarea/debathena-athdir/debathena-athdir-9.4.0 (sources)
/buildarea/debathena-athdir/debathena-athdir_9.4.0.orig.tar.gz
/buildarea/debathena-athdir/built (archived binary packages)
As to what sort of reference to the sources to use, I think symlinks
are out because tools would wind up stuffing their output into parents
of the source directory rather than the build directory. Partial
checkouts would probably be fine except that we would need a way to
exclude .svn subdirs from the source packages; I assume there's a way
of doing that but I don't know specifics at the moment. Exports would
eliminate the need to sanitize out .svn directories but would be a bit
more cumbersome to update.
Tradition would put the build area under
/afs/dev.mit.edu/project/release, which we used to use before we
switched to /build directories on the build machines. I'm not wedded
to that, though.
I'm open to other designs; this one just seemed simplest after a half
hour or so of thinking about the problem.