[284] in athena10
autodebathenify
daemon@ATHENA.MIT.EDU (ghudson@MIT.EDU)
Sat Jun 28 01:25:40 2008
Date: Sat, 28 Jun 2008 01:24:55 -0400 (EDT)
From: ghudson@MIT.EDU
Message-Id: <200806280524.m5S5OtfY027387@outgoing.mit.edu>
To: athena10@mit.edu
I've committed a script called autodebathenify which does automatic
builds and uploads of debathenify packages (including openafs, since
that now follows the same interface). This will help to keep the
Athena 10 test apt repository up to date, since I have other
responsibilities and often don't pay attention to the project for a
week or two at a time.
The job runs once an hour as currently configured by
autodebathenify.cron; that may be a little aggressive, but it means
OpenAFS modules will follow kernel upgrades pretty closely. If the
previous invocation is still running, it will exit. If it fails (or
sees a runfile indicating a previous invocation which is stale), it
will send mail to a configured email address and then suppress future
invocations until a human intervenes. All runs are logged to a file
in the build account's homedir.
bash is not included, since we have an unresolved problem which causes
it to fail to debathenify on lenny right now.
For this script to work efficiently, it's important that debathenify
scripts do not repeat builds after completing successfully. I fixed a
couple of bugs in debathenify scripts which were causing them to
repeat builds.
Tim and Anders expressed a preference for starting with automatic
builds and notifications, but manual uploads. Obviously SIPB can
choose this approach even if Athena 10 doesn't, but:
1. From my perspective that would only be minimally helpful in
keeping the repository up to date.
2. I haven't yet seen a case of a debathenify script succeeding
while producing a regression.
3. debathenify scripts currently do not make it easy to detect
whether or not they concluded there was something new to build;
that would have to change to make notification of new builds
possible.
4. debathenify scripts currently repeat work if you tell them to
"binary" multiple times without doing an "upload". That would
have to change to prevent the cron job from performing large
amounts of work on repeated invocations before a human does the
upload.