[OpenAFS] Package Management in AFS

Todd Lewis utoddl@email.unc.edu
Mon, 20 Dec 2010 14:01:42 -0500


On 12/20/2010 12:46 PM, Dirk Heinrichs sent:
> Hi,
> 
> I'm currently thinking about a good way to deploy software packages in
> (eventually replicated) AFS volumes.

Probably not what you're looking for, but we have developed a tool in Perl
to help with the AFS-specific bits of building and deploying traditional
untar/configure/build/install packages into replicated AFS volumes across
multiple architectures. We use it to maintain a couple of hundred pieces
of software from source. Invocation with no parameters shows this:

> $ pkg
> 
> Usage: pkg create|delete|help|link|sys|split|unsplit|replicate|unreplicate [pkgname-ver]
> 
> where:
> 	create			create a package
> 	delete			delete a package
> 	help			print this message
> 	link			link to package source
> 	sys			setup @sys dirs/links
> 	split			split package volume
> 	unsplit			reverse of split
> 	replicate		replicate a package
> 	unreplicate		unreplicate a package

The idea here is that each package has a src tree, build trees linked back
to the source, and install trees for each architecture we support. It also
sets up appropriate PTS groups for maintainers of each package.

It undoubtedly has a few hard-coded bits specific to our site (build
machines for various architectures, file servers, etc.), but as it's one
file they shouldn't be hard to find/fix. If you want more detail, drop me
a line or read the source; it's here: /afs/isis.unc.edu/pkg/admin/bin/pkg

Cheers,
-- 
   +--------------------------------------------------------------+
  / Todd_Lewis@unc.edu  919-445-9302  http://www.unc.edu/~utoddl /
 /               Does the name Pavlov ring a bell?              /
+--------------------------------------------------------------+