[242] in athena10

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

OpenAFS modules metapackages

daemon@ATHENA.MIT.EDU (ghudson@MIT.EDU)
Fri Jun 13 15:30:55 2008

Date: Fri, 13 Jun 2008 15:30:09 -0400 (EDT)
From: ghudson@MIT.EDU
Message-Id: <200806131930.m5DJU9CX019348@outgoing.mit.edu>
To: athena10@mit.edu

Background: Debathena has a well-known problem where people update
their kernels and have no AFS until (1) we build new OpenAFS modules,
and (2) they manually "aptitude install openafs-modules-`uname -r`".
Anders had an idea for improving this situation by creating a
metapackage named openafs-modules-generic which depends on
openafs-modules-<version>-generic and linux-image-generic (=
<version>).  With this metapackage installed, kernel upgrades would be
blocked until our metapackage is updated.

I've begun implementing this proposal by creating a script
debathena/third/openafs/meta/update-metapackage.  It looks up the
current most recent kernel version, makes sure there is a matching
openafs module, generates an equivs file, builds it, and uploads it.
Here is an example of the equivs file it generates for Hardy:

-----
Section: openafs
Priority: extra
Standards-Version: 3.6.2

Package: openafs-modules-generic
Version: 2.6.24.18.20
Maintainer: Debian-Athena Project <debathena@mit.edu>
Depends: openafs-modules-2.6.24-18-generic, linux-image-generic (= 2.6.24.18.20)
Copyright: ../common/copyright
Readme: ../common/README.in
Description: Metapackage to enforce OpenAFS modules for kernel
 This package prevents automatic upgrades of the generic generic until
 there is a corresponding openafs-modules Debathena package available.
-----

The script is wrapped in a for loop and could be trivially changed to
generate modules for server and xen as well as generic, but I wasn't
sure if that was a good idea.

I don't think we can depend on this in debathena-clients since that
would be forcing all debathena-clients machines to use the -generic
kernel.  The best integration point is perhaps the installer, although
that doesn't help existing machines.  Anyway, I'm going to give people
a chance to review this before making further steps.

(Also, I just realized I can simplify the first part of the script's
logic; instead of getting a list of all linux-image-<version>-generic
packages and finding the maximum version, I can look at the
dependencies of the current version of linux-image-generic.)

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