[46] in athena10

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

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.

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