[23441] in Source-Commits
/svn/athena r23094 - trunk/debathena
daemon@ATHENA.MIT.EDU (ghudson@MIT.EDU)
Mon Jul 21 12:15:53 2008
Date: Mon, 21 Jul 2008 12:15:19 -0400 (EDT)
From: ghudson@MIT.EDU
Message-Id: <200807211615.MAA25727@drugstore.mit.edu>
To: source-commits@MIT.EDU
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Author: ghudson
Date: 2008-07-21 12:15:18 -0400 (Mon, 21 Jul 2008)
New Revision: 23094
Modified:
trunk/debathena/NOTES
Log:
Document the maintenance of autodebathenify.
Modified: trunk/debathena/NOTES
===================================================================
--- trunk/debathena/NOTES 2008-07-17 17:36:11 UTC (rev 23093)
+++ trunk/debathena/NOTES 2008-07-21 16:15:18 UTC (rev 23094)
@@ -481,6 +481,69 @@
The newly created third/openafs/meta directories should be
chmodded 777 to work around a perl/AFS permissions issue.
+Release engineer: Maintaining autodebathenify
+---------------------------------------------
+
+autodebathenify is a cron job which runs hourly on the builder account
+and keeps the OpenAFS modules and modified packages under
+debathena/third up to date when there are upstream changes. It relies
+on the following:
+
+ * builder@ATHENA.MIT.EDU has access to a local account named
+ debuildsvn on svn.mit.edu with read access to the athena
+ repository.
+
+ * builder@ATHENA.MIT.EDU has write access to the canonical build
+ area and apt repository in the dev cell.
+
+ * The builder account on the build machine has a copy of the signing
+ private key for the apt repository.
+
+The cron job will silently exit if it detects that it is already
+running. If it fails for any other reason, it will send mail to
+source-wash@mit.edu and touch a file named autodebathenify.suppress
+which will prevent it from running again until manual intervention.
+It is important to get autodebathenify running smoothly or the apt
+repository will become out of date with respect to third-party
+packages, which in turn will compromise the user experience.
+
+Even if you don't notice failure mail, it's good to check on the
+status of autodebathenify from time to time. To do this, get tickets
+as builder and ssh to linux-build-10 as builder. Run "ls -l logs" to
+see what's been going on. A logfile with size around 48K indicates
+that autodebathenify ran normally but didn't find any new work to do.
+A logfile with size around 60 means that autodebathenify.suppress
+exists and the cron job has stopped running. A longer logfile
+indicates that autodebathenify attempted to build and upload a
+package.
+
+Possible failure cases include:
+
+ * One of the upstream apt repositories timed out during an "apt-get
+ update" of a chroot. If this happens, you can just remove the
+ autodebathenify.suppress file to get the cron job to start running
+ again.
+
+ * autodebathenify tried to build an upstream version which already
+ exists. If this happens, the build will fail at upload time. If
+ this happens, there is a bug in the part of the debathenify-*
+ script which checks whether our apt repository already has the
+ expected version of the built package.
+
+ * Debian and Ubuntu have .orig files with the same name but
+ different contexts for a particular third-party package. This has
+ only happened once, with bash (which is currently not configured
+ into autodebathenify for that reason). We do not have a general
+ mechanism for resolving such issues at this time.
+
+ * The new upstream version of the package is sufficiently different
+ to cause our modifications to fail to apply, and our debathenify-*
+ script needs to be adapted appropriately.
+
+The cron job is run out of builder's home directory, but its canonical
+source location is in debathena/scripts/build-server in this
+repository, should it need to be modified.
+
Release engineer: apt repository HTTP server setup
--------------------------------------------------