[25367] in Source-Commits
/svn/athena r24928 - trunk/debathena
daemon@ATHENA.MIT.EDU (Geoffrey Thomas)
Fri Jan 28 12:11:23 2011
Date: Fri, 28 Jan 2011 12:11:17 -0500
From: Geoffrey Thomas <geofft@MIT.EDU>
Message-Id: <201101281711.p0SHBHXo030858@drugstore.mit.edu>
To: source-commits@mit.edu
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Author: geofft
Date: 2011-01-28 12:11:17 -0500 (Fri, 28 Jan 2011)
New Revision: 24928
Modified:
trunk/debathena/NOTES
Log:
NOTES: A few updates, primarily more thorough build-all instructions
Also start making some assumptions that this is for Debathena and not
for Athena 10.
Modified: trunk/debathena/NOTES
===================================================================
--- trunk/debathena/NOTES 2011-01-26 03:00:12 UTC (rev 24927)
+++ trunk/debathena/NOTES 2011-01-28 17:11:17 UTC (rev 24928)
@@ -12,11 +12,6 @@
* scripts - Build scripts and supporting materials.
-Debathena is a SIPB project, and its infrastructure and procedures
-will need to be adapted for Athena 10. For the moment this file will
-document the Debathena procedures as they are, not as they will be.
-The current procedures do not even use this svn repository yet.
-
Debian software used by Debathena:
* schroot - Used to manage build chroot environments for each
@@ -45,8 +40,8 @@
build server. This cache is referenced by the build chroots for
improved performance.
-The remainder of this file documents procedures useful to Athena 10
-developers and the release engineer.
+The remainder of this file documents procedures useful to Debathena
+developers and maintainers.
Developers: Preferences setup
-----------------------------
@@ -57,8 +52,7 @@
DEBUILD_DPKG_BUILDPACKAGE_OPTS="-sa -us -uc -i -I.svn"
This will save you from having to specify those options every time you
-run debuild. Athena 10 scripts do not assume the above preferences,
-but the instructions in this file do. The options mean:
+run debuild. The options mean:
* Look for original source as a tarfile or create one.
* Do not sign the source package.
@@ -77,7 +71,7 @@
1;
You should also set the environment variable DEBATHENA_APT to
-"/afs/dev.mit.edu/system/athena10/apt".
+"/afs/sipb.mit.edu/project/debathena/apt".
Developers: Preparing a change
------------------------------
@@ -352,13 +346,11 @@
8. For each supported DIST (see scripts/debian-versions.sh) run:
- VG=/dev/blah scripts/build-server/make-chroot DIST i386
- VG=/dev/blah scripts/build-server/make-chroot DIST amd64
+ scripts/build-server/make-chroot DIST i386
+ scripts/build-server/make-chroot DIST amd64
- substituting the name of the volume group for blah.
+ Example: scripts/build-server/make-chroot intrepid i386
- Example: VG=/dev/dink scripts/build-server/make-chroot intrepid i386
-
9. Create a local account for builder with:
adduser --uid 1047 --disabled-password builder
@@ -470,11 +462,11 @@
packages, so this will create redundant copies of those. Ignore
them; they won't be used.
-Release engineer: Adding a new suite
-------------------------------------
+Release engineer: Adding a new suite or rebuilding a suite
+----------------------------------------------------------
This process is rarely performed and the infrastructure for it is
-imperfect. Substitute the name of the new suite for "newdist" in all
+imperfect. Substitute the name of the new suite for $suite in all
steps below.
1. Make sure the apt repository is up to date with respect to the
@@ -486,47 +478,64 @@
2. Add the new dist to scripts/debian-versions.sh. (It is not
necessary to add the new dist to codes at this point, but it must
- be present in the gettag conditional.)
+ be present in the gettag conditional.) If you are building an
+ unreleased distribution, add an additional ~0.1 tag; if you're
+ rebilding, bump that tag.
3. Create the new distribution in the apt repository's configuration
- file. Create the skeleton of the dist by running "dareprepro
- export".
+ file by editing /mit/debathena/apt/conf/gen-distributions and
+ running it with output to the 'distributions' file in the same
+ directory. Create the skeleton of the dist by running "dareprepro
+ export". (You don't need to do this if you're rebuilding.)
- 4. On the build server, create a chroot for the new distribution as
- documented above. This may require downloading and installing a
+ 4. Add an appropriate sources.list.d/*/$suite.list entry in
+ scripts/build-server. Commit and update
+ /mit/debathena/bin/build-server.
+
+ 5. On the build server, create a chroot for the new distribution:
+
+ /mit/debathena/bin/build-server/make-chroot $suite i386
+ /mit/debathena/bin/build-server/make-chroot $suite amd64
+
+ This may require downloading and installing a
more recent version of the debootstrap package from the
- -backports dist corresponding to the build server's OS.
+ -backports dist corresponding to the build server's OS. (You
+ presumably don't need to do this if you're rebuilding.)
- 5. Set the DEBATHENA_BUILD_AREA environment variable to point to the
- build area.
-
6. Fire up screen.
- 7. mkdir $DEBATHENA_BUILD_AREA/stamps.newdist.
+ 7. mkdir /mit/debathena/machines/awesome-build-server/stamps.$suite.
8. cd into a checkout of debathena/scripts/build-server/build-all.
9. Edit Makefile (and check in the edit) so that suite is the new
distribution and psuite is the previously most recent Debian or
- Ubuntu distribution.
+ Ubuntu distribution. psuite is used to generate the order of
+ build-dependencies, so choose the closest distribution. If you are
+ rebuilding, you can set psuite to suite.
10. Run "make deps.mk".
- 11. Run "make -k all STAMPS=$DEBATHENA_BUILD_AREA/stamps.newdist".
+ 11. Run "make -k all".
You can watch the builds happen in the other windows of the
screen session. It's possible to do several builds at once with
make -j N.
12. debathenify packages will fail out; they must be built by hand.
When the build fails on one, cd into third/packagename in the
- build area and run "./debathenify newdist-amd64 -A source binary
- upload" and "./debathenify newdist-i386 binary upload". Then
- touch $DEBATHENA_BUILD_AREA/stamps.newdist/packagename.done" and
+ build area and run "./debathenify $suite-amd64 -A source binary
+ upload" and "./debathenify $suite-i386 binary upload". Then
+ touch $DEBATHENA_BUILD_AREA/stamps.$suite/packagename.done" and
restart the build.
The newly created third/openafs/meta directories should be
chmodded 777 to work around a perl/AFS permissions issue.
+ 13. Equivs packages (in meta/) will not be built, since they are only
+ built once and uploaded to every release. Upload all equivs
+ packages by running dareprepro include $suite-development on each
+ .changes file.
+
Release engineer: Maintaining autodebathenify
---------------------------------------------