debian-packagings-20020826
authorSam Hartman <hartmans@mit.edu>
Mon, 26 Aug 2002 21:52:02 +0000 (21:52 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 26 Aug 2002 21:52:02 +0000 (21:52 +0000)
packagings for debian.

52 files changed:
src/packaging/Debian/ConfigUtils.pm [new file with mode: 0644]
src/packaging/Debian/README.Debian [new file with mode: 0644]
src/packaging/Debian/README.modules [new file with mode: 0644]
src/packaging/Debian/README.servers [new file with mode: 0644]
src/packaging/Debian/TODO [new file with mode: 0644]
src/packaging/Debian/afs-newcell [new file with mode: 0644]
src/packaging/Debian/afs-rootvol [new file with mode: 0644]
src/packaging/Debian/changelog [new file with mode: 0644]
src/packaging/Debian/configuration-transcript.txt [new file with mode: 0644]
src/packaging/Debian/control [new file with mode: 0644]
src/packaging/Debian/control.module [new file with mode: 0644]
src/packaging/Debian/control.module-image [new file with mode: 0644]
src/packaging/Debian/copyright [new file with mode: 0644]
src/packaging/Debian/filelist [new file with mode: 0644]
src/packaging/Debian/genchanges.sh [new file with mode: 0644]
src/packaging/Debian/kern-sysname [new file with mode: 0644]
src/packaging/Debian/make-links [new file with mode: 0644]
src/packaging/Debian/movefiles [new file with mode: 0755]
src/packaging/Debian/openafs-client.conffiles [new file with mode: 0644]
src/packaging/Debian/openafs-client.config [new file with mode: 0644]
src/packaging/Debian/openafs-client.dirs [new file with mode: 0644]
src/packaging/Debian/openafs-client.docs [new file with mode: 0644]
src/packaging/Debian/openafs-client.lintian [new file with mode: 0644]
src/packaging/Debian/openafs-client.postinst [new file with mode: 0644]
src/packaging/Debian/openafs-client.postrm [new file with mode: 0644]
src/packaging/Debian/openafs-client.prerm [new file with mode: 0644]
src/packaging/Debian/openafs-client.templates [new file with mode: 0644]
src/packaging/Debian/openafs-client.undocumented [new file with mode: 0644]
src/packaging/Debian/openafs-dbserver.dirs [new file with mode: 0644]
src/packaging/Debian/openafs-fileserver.conffiles [new file with mode: 0644]
src/packaging/Debian/openafs-fileserver.config [new file with mode: 0644]
src/packaging/Debian/openafs-fileserver.dirs [new file with mode: 0644]
src/packaging/Debian/openafs-fileserver.init [new file with mode: 0755]
src/packaging/Debian/openafs-fileserver.lintian [new file with mode: 0644]
src/packaging/Debian/openafs-fileserver.postinst [new file with mode: 0644]
src/packaging/Debian/openafs-fileserver.postrm [new file with mode: 0644]
src/packaging/Debian/openafs-fileserver.preinst [new file with mode: 0644]
src/packaging/Debian/openafs-fileserver.templates [new file with mode: 0644]
src/packaging/Debian/openafs-fileserver.undocumented [new file with mode: 0644]
src/packaging/Debian/openafs-kpasswd.dirs [new file with mode: 0644]
src/packaging/Debian/openafs-kpasswd.undocumented [new file with mode: 0644]
src/packaging/Debian/openafs-modules-source.docs [new file with mode: 0644]
src/packaging/Debian/patch.001_libafs_destination_name [new file with mode: 0644]
src/packaging/Debian/patch.002_sketchy_hpux_process_c [new file with mode: 0644]
src/packaging/Debian/patch.004_bozo_permissions [new file with mode: 0644]
src/packaging/Debian/patch.006_more_bozo_permissions [new file with mode: 0644]
src/packaging/Debian/postinst.mod [new file with mode: 0644]
src/packaging/Debian/prep-modules [new file with mode: 0644]
src/packaging/Debian/prerm.mod [new file with mode: 0644]
src/packaging/Debian/pt_util.sgml [new file with mode: 0644]
src/packaging/Debian/rules [new file with mode: 0755]
src/packaging/Debian/sysname [new file with mode: 0755]

diff --git a/src/packaging/Debian/ConfigUtils.pm b/src/packaging/Debian/ConfigUtils.pm
new file mode 100644 (file)
index 0000000..4d35047
--- /dev/null
@@ -0,0 +1,26 @@
+# This is -*- perl -*-
+
+package Debian::OpenAFS::ConfigUtils;
+
+use strict;
+use vars qw( @ISA @EXPORT @unwinds);
+@ISA = qw(Exporter);
+require Exporter;
+@EXPORT = qw(@unwinds run unwind);
+
+sub run ($) {
+  print join(' ', @_);
+  print "\n";
+  system (@_)  == 0
+    or die "Failed: $?\n";
+}
+
+# This subroutine takes a command to run in case of failure.  After
+# each succesful step, this routine should be run with a command to
+# undo the successful step.
+
+        sub unwind($) {
+          push @unwinds, $_[0];
+        }
+
+1;
diff --git a/src/packaging/Debian/README.Debian b/src/packaging/Debian/README.Debian
new file mode 100644 (file)
index 0000000..884fad6
--- /dev/null
@@ -0,0 +1,25 @@
+openafs for Debian
+----------------------
+
+* No manual pages are included.  I need to find out if versions exist
+  that are OK for copyright reasons.
+
+* Documentation can be found at http://www.openafs.org.  If want to
+set up a new cell, read the docs there and then look at the example
+session in configuration-transcript.txt.gz in this directory.  You
+should also read README.servers.  The procedure outlined in these two
+files is much simpler and more secure than the one in the Openafs
+documentation, but the Openafs documentation provides useful
+background.
+
+*  AFS users may be confused by the directory layout.  The files that
+   normally go in /usr/vice/etc go in /etc/openafs.  The cache should
+   be mounted on /var/cache/openafs.
+
+* The libopenafs-dev package only includes static libraries because
+  AFS does not build shared libs.
+
+
+
+
+ -- Sam Hartman <hartmans@mit.edu>, Fri,  3 Nov 2000 23:41:41 -0500
diff --git a/src/packaging/Debian/README.modules b/src/packaging/Debian/README.modules
new file mode 100644 (file)
index 0000000..d2c8e01
--- /dev/null
@@ -0,0 +1,35 @@
+                      Building Kernel Modules
+----------------------------------------
+
+
+ The easiest way to get AFS modules is to install prebuilt modules.
+Fore example if you are running kernel 2.2.18 you might try
+
+apt-get install openafs-modules-2.2.18
+
+If this doesn't work, then you will need to build your own modules.
+This means having kernel sources available.  You should install a
+kernel sources package and untar it in /usr/src.  Then, install
+openafs-modules-source.
+
+apt-get install openafs-modules-source
+
+Next, unpack openafs-modules-source
+
+cd /usr/src
+tar xzf openafs.tar.gz
+
+Now, change into your kernel source tree.  You should then create a
+.config file; the easiest way to do this is to run make menuconfig or
+to copy in a kernel configuration from the same version of the kernel.
+Debian kernel packages store a copy of their kernel configuration in
+/boot/config.version_number.  Finally build the modules
+
+make-kpkg configure
+make-kpkg modules_image
+
+You may need to use the --append_to_version switch to add version suffixes
+like -686 if your modules install into /lib/modules/version-686.
+Ignore any errors about genchanges.sh failing.  An openafs-modules deb
+should be created.  Use dpkg -i to install this version.
+
diff --git a/src/packaging/Debian/README.servers b/src/packaging/Debian/README.servers
new file mode 100644 (file)
index 0000000..8bbae59
--- /dev/null
@@ -0,0 +1,47 @@
+                Setting up a Debian OpenAFS Server
+
+These packages include binaries with FHS-compatible path names.  Here
+is a map from AFS paths to FHS paths:
+
+/usr/afs/etc           /etc/openafs/server
+/usr/afs/local         /etc/openafs/server-local
+/usr/afs/db            /var/lib/openafs/db
+/usr/afs/logs          /var/log/openafs
+/usr/afs/bin           /usr/lib/openafs
+
+
+Scripts are provided to configure a single database/file server.  The
+afs-newcell script sets up the initial databases and configures
+bosserver.  After running this script, get tokens in the cell and run
+the afs-rootvol script to populate the root volume and root.cell.  A
+sample transcript of configuring an AFS cell can be found in
+/usr/share/doc/openafs-dbserver/configuration-transcript.txt.gz.  This
+transcript assumes you are using MIT Kerberos and the openafs-krb5
+package.  Similar steps could be taken with Heimdal.
+
+Another issue is upgrades.  It is likely that future versions of this
+package will install for example /usr/lib/openafs/fileserver.package
+instead of /usr/lib/openafs/fileserver.  The postinst script will
+create links the actual binaries.  Upgrades will not replace the old
+binaries, but a script will be provided to roll the links forward to
+the new versions.  The intent is that people could install the new
+package on all their servers and then quickly move the links before
+restarting the bosserver.
+
+                     Adding Additional Servers
+
+If you decide one server is not enough, here is roughly what needs to
+happen:
+
+1) Copy securely (using scp , encrypted Kerberized rcp or some other
+   secure method) /etc/openafs/server to the new server.
+
+2) Start a bosserver.
+
+3) If the machine is to be a file server, create an fs instance using
+   bos create.  For file servers this is all you need to do.
+
+4) For database servers, you also need to do a bos addhost on all
+   servers (including the new server) to add the new server to
+   /etc/openafs/server/CellServDB.  Then create ptserver and vlserver
+   instances.
diff --git a/src/packaging/Debian/TODO b/src/packaging/Debian/TODO
new file mode 100644 (file)
index 0000000..dbbd37d
--- /dev/null
@@ -0,0 +1 @@
+* Get bos restrict working
diff --git a/src/packaging/Debian/afs-newcell b/src/packaging/Debian/afs-newcell
new file mode 100644 (file)
index 0000000..b896f00
--- /dev/null
@@ -0,0 +1,191 @@
+#!/usr/bin/perl -w
+# Copyright (C) 2000 by Sam Hartman
+# This file may be copied either under the terms of the GNU GPL or the IBM Public License
+# either version 2 or later of the GPL or version 1.0 or later of the IPL.
+
+use Term::ReadLine;
+use strict;
+use Debian::OpenAFS::ConfigUtils;
+use Getopt::Long;
+use vars qw($admin $server
+          $requirements_met  $shutdown_needed);
+my $rl = new Term::ReadLine('afs-newcell');
+
+=head1  NAME
+
+   afs-newcell - Set up initial database server for AFS cell.
+
+=head1 SYNOPSIS
+
+B<afs-newcell> [B<--requirements-met>] [B<--admin> admin_user]
+
+=head1 DESCRIPTION
+
+
+This script sets up the initial AFS database and configures the first
+database/file server.
+
+The B<requirements-met> option specifies that the initial requirements
+have been met and that the script can proceed without displaying the
+initial banner or asking for confirmation.
+
+The B<admin> option specifies the name of the administrative user.
+This user will be given system:administrators and susers permission in
+the cell.
+
+=head1 AUTHOR
+
+Sam Hartman <hartmans@debian.org>
+
+=cut
+
+# main script
+
+GetOptions (
+           "requirements-met" => \$requirements_met, 
+           "admin=s" => \$admin);
+
+unless ($requirements_met) {
+  print <<eoreqs;
+                           Prerequisites
+
+In order to set up a new AFS cell, you must meet the following:
+
+1) You need a working Kerberos realm with Kerberos4 support.  You
+   should install Heimdal with Kth-kerberos compatibility or MIT
+   Kerberos5.
+
+2) You need to create the single-DES AFS key and load it into
+   /etc/openafs/server/KeyFile.  If your cell's name is the same as
+   your Kerberos realm then create a principal called afs.  Otherwise,
+   create a principal called afs/cellname in your realm.  The cell
+   name should be all lower case, unlike Kerberos realms which are all
+   upper case.  You can use asetkey from the openafs-krb5 package, or
+   if you used AFS3 salt to create the key, the bos addkey command.
+
+3) This machine should have a filesystem mounted on /vicepa.  If you
+   do not have a free partition, then create a large file by using dd
+   to extract bytes from /dev/zero.  Create a filesystem on this file
+   and mount it using -oloop.  
+
+4) You will need an administrative principal created in a Kerberos
+realm.  This principal will be added to susers and
+system:administrators and thus will be able to run administrative
+commands.  Generally the user is a root instance of some administravie
+user.  For example if jruser is an administrator then it would be
+reasonable to create jruser/root and specify jruser/root as the user
+to be added in this script.
+
+5) The AFS client must not be running on this workstation.  It will be
+at the end of this script.
+
+eoreqs
+
+  $_ = $rl->readline("Do you meet these requirements? [y/n] ");
+  unless (/^y/i ) {
+    print "Run this script again when you meet the requirements\n";
+    exit(1);
+  }
+       
+               if ($> != 0) {
+die "This script should almost always be run as root.  Use the --requirements-met option to run as non-root.\n";
+}
+}
+open(MOUNT, "mount |") or die "Failed to run mount: $!\n";
+while(<MOUNT>) {
+if(m:^AFS:) {
+print "The AFS client is currently running on this workstation.\n";
+print "Please restart this script after running /etc/init.d/openafs-client stop\n";
+exit(1);
+}
+}
+close MOUNT;
+
+unless ( -f "/etc/openafs/server/KeyFile") {
+  print "You do not have an AFS keyfile.  Please create this using asetkey from openafs-krb5 or 
+the bos addkey command";
+  exit(1);
+}
+
+print "If the fileserver is not running, this may hang for 30 seconds.\n";
+run("/etc/init.d/openafs-fileserver stop");
+$server = `hostname`;
+chomp $server;
+$admin = $rl->readline("What administrative principal should be used? ") unless $admin;
+ die "Please specify an administrative user\n" unless $admin;
+$admin =~ s:/:.:g;
+if($admin =~ /@/) {
+die "The administrative user must be in the same realm as the cell and no realm may be specified.\n";
+}
+open(CELL, "/etc/openafs/server/ThisCell") 
+  or die "Cannot open /etc/openafs/server/ThisCell: $!\n";
+my $cell = <CELL>;
+chomp $cell;
+
+run( "echo \\>$cell >/etc/openafs/server/CellServDB");
+run("/etc/init.d/openafs-fileserver start");
+$shutdown_needed = 1;
+run ("bos addhost $server $server -localauth ||true");
+run("bos adduser $server $admin -localauth");
+unwind("bos removeuser $server $admin -localauth");
+if ( -f "/var/lib/openafs/db/prdb.DB0" ) {
+  die "Protection database already exists; cell already partially created\n";
+ }
+open(PRDB, "|pt_util -p /var/lib/openafs/db/prdb.DB0 -w ")
+or die "Unable to start pt_util: $!\n";
+print PRDB "$admin 128/20 1 -204 -204\n";
+print PRDB "system:administrators 130/20 -204 -204 -204\n";
+print PRDB" $admin 1\n";
+close PRDB;
+unwind( "rm /var/lib/openafs/db/prdb* ");
+# Start up ptserver and vlserver
+run("bos create $server ptserver simple /usr/lib/openafs/ptserver -localauth");
+unwind("bos delete $server ptserver -localauth");
+
+run("bos create $server vlserver simple /usr/lib/openafs/vlserver -localauth");
+unwind("bos delete $server vlserver -localauth");
+
+run( "bos create $server fs fs ".
+     "-cmd /usr/lib/openafs/fileserver ".
+     "-cmd /usr/lib/openafs/volserver ".
+     "-cmd /usr/lib/openafs/salvager -localauth");
+unwind( "bos delete $server fs -localauth ");
+
+print "Waiting for database elections: ";
+sleep(30);
+print "done.\n";
+# Past this point we want to control when bos shutdown happens
+$shutdown_needed = 0;
+unwind( "bos shutdown $server -localauth ");
+run("vos create $server a root.afs -localauth");
+# bring up client
+run("echo $cell >/etc/openafs/ThisCell");
+run("/etc/init.d/openafs-client force-start");
+my $afs_running = 0;
+open(MOUNT, "mount |") or die "Failed to run mount: $!\n";
+while(<MOUNT>) {
+if(m:^AFS:) {
+       $afs_running = 1;
+}
+       }
+unless ($afs_running) {
+print "*** The AFS client failed to start.\n";
+print  "Please fix whatever problem kept it from running.\n";
+       exit(1);
+}
+
+print <<eomsg; 
+Now, get tokens as $admin in the $cell cell.  Then, run
+afs-rootvol.
+eomsg
+
+
+
+
+@unwinds = ();
+END {
+# If we fail before all the instances are created, we need to perform 
+# our own bos shutdown
+    system("bos shutdown $server -localauth") if $shutdown_needed;
+  run(pop @unwinds) while @unwinds;
+  }
diff --git a/src/packaging/Debian/afs-rootvol b/src/packaging/Debian/afs-rootvol
new file mode 100644 (file)
index 0000000..2f37890
--- /dev/null
@@ -0,0 +1,157 @@
+#!/usr/bin/perl -w
+# Copyright (C) 2000 by Sam Hartman
+# This file may be copied either under the terms of the GNU GPL or the IBM Public License
+# either version 2 or later of the GPL or version 1.0 or later of the IPL.
+
+use strict;
+use Term::ReadLine;
+use Getopt::Long;
+
+=head1  NAME
+
+   afs-rootvol - Generate and populate root volumes for new AFS cells.
+
+=head1 SYNOPSIS
+
+B<afs-rootvol> [B<--requirements-met>] [B<--server> server-name] [B<--partition> partition-letter]
+
+=head1 DESCRIPTION
+
+This script sets up an AFS cell's root volumes.  It assumes that you
+already have a fileserver and database servers.  The fileserver should
+have an empty root.afs.
+  This script creates root.cell, user, service and populates root.afs.  
+
+=head1 AUTHOR
+
+Sam Hartman <hartmans@debian.org>
+
+=cut
+
+use vars qw($rl $server  $part $requirements_met);
+use vars qw( @unwinds);
+use Debian::OpenAFS::ConfigUtils;
+
+
+# This subroutine creates a volume, mounts it and then sets the access
+# to allow read by anyuser.  The volume is scheduled for deletion in
+# case of error.
+# mkvol(volume, mount)
+                   sub mkvol($$) {
+                     my ($vol, $mnt) = @_;
+                     run("vos create $server $part $vol -localauth");
+                     unwind("vos remove $server $part $vol -localauth");
+                     run("fs mkm $mnt $vol ");
+                     run("fs sa $mnt system:anyuser rl");
+                   }
+
+# main script
+$rl = new Term::ReadLine('AFS');
+
+
+GetOptions (
+           "requirements-met" => \$requirements_met, 
+           "server=s" => \$server,
+           "partition=s" => \$part
+           );
+unless ($requirements_met) {
+      print <<eotext;
+                           Prerequisites
+
+In order to set up the root.afs volume, you must meet the following pre-conditions:
+
+1) The cell must be configured, running a database server with a
+   volume location and protection server.  The afs-newcell script will
+   set up these services.
+
+2)  You must be logged into the cell with  tokens in
+   system:administrators and with a principal that is in the susers
+   file of the servers in the cell.
+
+3) You need a fileserver in the cell with partitions mounted and a
+   root.afs volume created.   Presumably, it has no volumes on it,
+   although the script will work so long as nothing besides root.afs
+   exists.  The afs-newcell script will set up the file server.
+
+4) The AFS client must be running pointed at the new cell.
+eotext
+    $_ = $rl->readline("Do you meet these conditions? (y/n) ");
+    unless (/^y/i ) {
+       print "Please restart the script when you meet these conditions.\n";
+       exit(1);
+    }
+       
+               if ($> != 0) {
+die "This script should almost always be run as root.  Use the --requirements-met option to run as non-root.\n";
+}
+
+}
+# Get configuration information we need
+open(CELL, "/etc/openafs/server/ThisCell")
+or die "Unable to find out what cell this machine serves: $!\n";
+my $cell = <CELL>;
+close CELL;
+chomp $cell;
+
+unless ($server) {
+  print <<eotext; 
+You will need to select a server (hostname) and AFS
+partition on which to create the root volumes.
+eotext
+
+  $server = $rl->readline("What AFS Server should volumes be placed on? ");
+  die "Please select a server.\n" unless $server;
+}
+unless ($part) {
+  $part = $rl    ->readline("What partition? [a] ");
+$part = "a" unless $part;
+}
+
+
+run("fs sa /afs system:anyuser rl");
+
+run("vos create $server $part root.cell -localauth");
+unwind("vos remove $server $part root.cell -localauth");
+# We make root.cell s:anyuser readable after we mount in the next
+# loop.
+
+
+open(CELLSERVDB, "/etc/openafs/CellServDB")
+    or die "Unable to open /etc/openafs/CellServDB: $!\n";
+while(<CELLSERVDB>) {
+    chomp;
+    if (/^>\s*([a-z0-9_\-.]+)/ ) {
+       run("fs mkm /afs/$1 root.cell -cell $1  -fast");
+       unwind ("fs rmm /afs/$1");
+    }
+}
+
+run("fs sa /afs/$cell system:anyuser rl");
+run ("fs mkm /afs/.$cell root.cell -cell $cell -rw");
+unwind ("fs rmm /afs/.$cell");
+run("fs mkm /afs/.root.afs root.afs -rw");
+unwind ("fs rmm /afs/.root.afs");
+
+mkvol( "user", "/afs/$cell/user" );
+mkvol( "service", "/afs/$cell/service" );
+
+$cell =~ /^([^.]*)/;
+my $cellpart = $1;
+run("ln -s /afs/$cell /afs/$cellpart");
+unwind ("rm /afs/$cellpart");
+run( "ln -s /afs/.$cell /afs/.$cellpart" );
+unwind ("rm /afs/.$cellpart");
+
+run( "vos addsite $server $part root.afs -localauth" );
+run( "vos addsite $server $part root.cell -localauth" );
+run( "vos release root.afs -localauth" );
+run( "vos release root.cell -localauth" );
+unwind( "vos remove $server $part root.cell.readonly -localauth ");
+unwind( "vos remove $server $part root.afs.readonly -localauth ");
+
+@unwinds = ();
+
+END {
+  run(pop @unwinds) while @unwinds;
+  }
+
diff --git a/src/packaging/Debian/changelog b/src/packaging/Debian/changelog
new file mode 100644 (file)
index 0000000..eb3c91a
--- /dev/null
@@ -0,0 +1,440 @@
+openafs (1.2.6-1) unstable; urgency=low
+
+
+  * New upstream version
+  * Update CellServDB, Closes: #154893
+  * Add debconf support for fakestat
+  * Patch from Sergio Gelato to avoid use of host, Closes: #144264
+  * Install sys because it was requested
+  * Fix version string, Closes: #153136
+ -- Sam Hartman <hartmans@debian.org>  Fri,  2 Aug 2002 17:33:11 -0400
+
+openafs (1.2.5-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Sam Hartman <hartmans@debian.org>  Mon, 10 Jun 2002 08:09:05 -0400
+
+openafs (1.2.4-1) unstable; urgency=low
+
+  * New upstream version
+  * Now builds for ia64, closes: #142287
+  * Now works again with 2.2 kernels, thanks to upstream fix, closes: #140187
+  * openafs-modules-source depends on kernel-package, Closes: #137169
+  * Fix typo in readme.modules, Closes: #148155
+
+ -- Sam Hartman <hartmans@debian.org>  Sun,  2 Jun 2002 17:54:42 -0400
+
+openafs (1.2.3final2-5) unstable; urgency=medium
+
+  * Fix subarch handling, closes: #139662
+  * Update module control files to use  net not non-us
+
+ -- Sam Hartman <hartmans@debian.org>  Thu, 18 Apr 2002 13:13:16 -0400
+
+openafs (1.2.3final2-4) unstable; urgency=low
+
+  * Move from non-us to main.
+  * Fix ultrasparc 2.4 build to actually work.
+
+ -- Sam Hartman <hartmans@debian.org>  Sat, 16 Mar 2002 15:33:33 -0500
+
+openafs (1.2.3final2-3) unstable; urgency=medium
+
+  * Oops, install backup
+
+ -- Sam Hartman <hartmans@debian.org>  Thu,  7 Mar 2002 08:12:34 -0500
+
+openafs (1.2.3final2-2) unstable; urgency=low
+
+  * Add dynroot support to debconf; currently no support for creating
+    CellAliases  automatically
+  * Don't call depmod since we call update-modules, closes: #132851
+  * Add hppa to debian/sysname, process.c patch from Lamont, closes: #134173
+
+ -- Sam Hartman <hartmans@debian.org>  Mon, 25 Feb 2002 15:45:32 -0500
+
+openafs (1.2.3final2-1) unstable; urgency=low
+
+  * Upstream released a new version that they call 1.2.3 after things were
+    tagged  in the Debian repository.
+
+ -- Sam Hartman <hartmans@debian.org>  Wed, 30 Jan 2002 16:59:04 -0500
+
+openafs (1.2.3final-1) unstable; urgency=low
+
+  * New upstream release
+  * Add support for fs setcrypt in debconf; by default traffic is encrypted.
+
+ -- Sam Hartman <hartmans@debian.org>  Wed, 30 Jan 2002 10:46:46 -0500
+
+openafs (1.2.3candidate3-1) unstable; urgency=low
+
+  *  New  upstream release candidate
+  * Use different version number format; people who installed rc1 will
+    need to upgrade manually.  Sorry, but rc1 was never uploaded to Debian.
+  * Support sparc_linux24
+
+ -- Sam Hartman <hartmans@debian.org>  Sun, 27 Jan 2002 19:57:04 -0500
+
+openafs (1.2.3.candidate1-1) unstable; urgency=low
+
+  *  New upstream release candidate
+  * Add ia64 as a potential architecture
+
+ -- Sam Hartman <hartmans@debian.org>  Tue, 22 Jan 2002 19:00:51 -0500
+
+openafs (1.2.2-3) unstable; urgency=low
+
+  * Support s390, closes: #123540
+  * Support update-alternatives for pagsh, closes: #122144
+  * Note that alpha port doesn't work for fileservers, closes: #127387
+  * Implement subarch, closes: #126192
+
+ -- Sam Hartman <hartmans@debian.org>  Mon,  7 Jan 2002 05:26:03 -0500
+
+openafs (1.2.2-2) unstable; urgency=low
+
+  * Don't declare lseek in auth/ktc.c; sent upstream
+  * Allow /etc/openafs/server to be mode 700 and /var/lib/openafs to be
+    755, closes: #120072
+  *  Don't try to shut down during afs-newcell until we've done enough
+    that works, closes: #119452
+  * Fix message  output on server failed to start, closes: #119461
+  * Fix openafs to deal if /etc/openafs/server/ThisCell has a newline,
+    closes: #118086 
+
+ -- Sam Hartman <hartmans@debian.org>  Sun, 25 Nov 2001 20:03:01 -0500
+
+openafs (1.2.2-1) unstable; urgency=low
+
+  * New upstream release.
+  * We now require openafs-modules1 and conflict with openafs-modules.
+  Our modules packages now provide openafs-modules1.  This is because
+  upstream made a forward and backward incompatible change in the modules
+  interface.
+   * Include buserver in openafs-dbserver, butc and fms in openafs-client.c
+    butc and fms may move, but they are there for now, closes: #114313
+
+ -- Sam Hartman <hartmans@debian.org>  Sun, 14 Oct 2001 15:07:10 -0400
+
+openafs (1.2.1-1) unstable; urgency=low
+
+  * New upstream version.
+  * Document that you may need to append a version for newer kernels,
+    closes: #112246 
+
+ -- Sam Hartman <hartmans@debian.org>  Thu, 20 Sep 2001 03:10:54 -0400
+
+openafs (1.2.0-3) unstable; urgency=high
+
+  * High until we get this into testing.
+  * Fix dependency on ncurses, closes: #112244
+  * Fix typo in German template added in last version, closes: #112289
+
+ -- Sam Hartman <hartmans@debian.org>  Fri, 14 Sep 2001 23:40:25 -0400
+
+openafs (1.2.0-2) unstable; urgency=high
+
+  * Fix PPC makefile so that it finds install; this time actually
+    submitted upstream. 
+  * Have openafs-modules-source depend on libpam0g-dev because upstream
+    seems to need it.  Bug opened upstream asking if this is really necessary.
+  * Include German template, closes: #110087
+
+ -- Sam Hartman <hartmans@debian.org>  Thu, 13 Sep 2001 16:58:53 -0400
+
+openafs (1.2.0-1) unstable; urgency=high
+
+  * Fix typo in  README.servers; thanks to mdz@debian.org, closes: #109199
+  * Upstream patch for configure-style path handling accepted, closes: #88897
+  * New upstream version.
+  * Update upstream changelog
+
+ -- Sam Hartman <hartmans@debian.org>  Tue, 11 Sep 2001 16:21:35 -0400
+
+openafs (1.1.1-3) unstable; urgency=low
+
+  * Oops, that last upstream patch for rx debug and version didn't work on
+    Linux.  Since some Debian users may run Linux, let's try again.
+
+ -- Sam Hartman <hartmans@debian.org>  Sat, 21 Jul 2001 12:48:00 -0400
+
+openafs (1.1.1-2) unstable; urgency=medium
+
+  * Swallow before vomiting, for it is the Debconf way, closes: #106030
+  * Fix setting of INSTALL macro on powerpc, closes: #106019
+  * Support AFSDB in debconf.  By default now (assuming you take the new
+    /etc/openafs/afs.conf), AFS will look up cells  it doesn't know
+    about in DNS.
+  * Include upstream patch to prevent potential DOS with two RX servers
+    looping rxdebug and version amongst each other.
+  * Install rxdebug (oops)
+  * Fix lintian overrides to get Lintian to stop complaining about
+    non-problems. 
+
+ -- Sam Hartman <hartmans@debian.org>  Sat, 21 Jul 2001 08:53:10 -0400
+
+openafs (1.1.1-1) unstable; urgency=low
+
+  * New upstream release to fix readlink sometimes giving permission
+    denied when it shouldn't.
+  * Bring back the upstream changelog, now with change descriptions
+  * Patch to give better error messages when  copyonwrite fails in the
+    fileserver (contributed upstream)
+  * New CellServDB
+  
+ -- Sam Hartman <hartmans@debian.org>  Fri, 20 Jul 2001 08:12:24 -0400
+
+openafs (1.1.0-1) unstable; urgency=low
+
+  * New Upstream release.
+  * Warn if not running as root for afs-newcell|rootvol, closes: #103532
+  * Work around upstream make clean target not working correctly.
+ -- Sam Hartman <hartmans@debian.org>  Mon, 16 Jul 2001 06:13:41 -0400
+
+openafs (1.0.90.20010710.snapshot-1) experimental; urgency=low
+
+  *  New upstream snapshot
+  * Fix module package to not have build cruft
+  * Use --disable-kernel-module option except for module sources
+  * Attempt to build modules correctly, although still not in right place
+  * Pretend we build for alpha. This is mostly not a fiction, although I
+    don't really know that much more than the kernel module and afsd
+    work.  The pointer cast warnings are frightening.
+
+ -- Sam Hartman <hartmans@debian.org>  Wed, 11 Jul 2001 11:41:22 -0400
+
+openafs (1.0.90.20010704.snapshot-1) experimental; urgency=low
+
+  * New upstream snapshot.  Support AFSDB records and many other
+    features.  Not at all stable yet.  This is packaged so I and others
+    can try it out.
+
+ -- Sam Hartman <hartmans@debian.org>  Thu,  5 Jul 2001 04:04:20 -0400
+
+openafs (1.0.4-3) unstable; urgency=medium
+
+  * Fix patch introduced in -2 to be consistent with what is sent upstream.
+  * openafs-modules-source depends on debhelper
+
+ -- Sam Hartman <hartmans@debian.org>  Wed,  4 Jul 2001 03:52:37 -0400
+
+openafs (1.0.4-2) unstable; urgency=low
+
+  * Fix modversions and athlon memcpy mmx bug, closes: #91925
+  * Fix openafs-client to fail rather than starting a useless afsd if we don't have any db servers
+  * If AFS client fails to start for afs-newcell, then complain, closes: #98303
+  * New CellServDB
+  * Fix module builds on non-i386, closes: #100939
+
+ -- Sam Hartman <hartmans@debian.org>  Sun, 17 Jun 2001 01:22:37 -0400
+
+openafs (1.0.4-1) unstable; urgency=low
+
+  * New upstream version, closes: #92776
+  * Allow openafs-client to depend on openafs-modules-source not just
+    openafs-modules.  This allows us to be installable on testing even
+    without binary modules which may become a necessity given the current
+    kernel image mess.
+  *  implement target for modules_clean, closes: #95049
+
+ -- Sam Hartman <hartmans@debian.org>  Tue, 24 Apr 2001 14:56:57 -0400
+
+openafs (1.0.3-2) unstable; urgency=low
+
+  * Fix  direntry type to be DT_UNKNOWN not DT_DIR on Linux (contributed upstream)
+  * Return ENOTEMPTY not ENOTDIR for rmdir of non-empty directory, closes: #82589
+  * Include build instructions in modules, closes: #92032
+  * Don't grep a file for a potentially null string, closes: #89967
+
+ -- Sam Hartman <hartmans@debian.org>  Thu, 29 Mar 2001 22:09:29 -0500
+
+openafs (1.0.3-1) unstable; urgency=low
+
+  * New upstream version
+  * Allow host to be used instead of dnsutils, closes: #87915
+  * Document kernel module build.
+  * Include upstream changelog
+
+ -- Sam Hartman <hartmans@debian.org>  Thu,  8 Mar 2001 14:35:57 -0500
+
+openafs (1.0.2-3) unstable; urgency=low
+
+  * Apply patch from  Stefan Kluth  <skluth@mppmu.mpg.de> for ppc_linux22
+  * Back out architecture change from last version; no good way to
+    actually solve that problem apparently. 
+
+
+ -- Sam Hartman <hartmans@debian.org>  Sat, 17 Feb 2001 23:45:06 -0500
+
+openafs (1.0.2-2) unstable; urgency=low
+
+  * Provide openafs-ptutil in hope that apt will deal better with upgrade,
+    closes: #84303
+  * Make thiscell default to dnsdomainname so things don't break quite as
+    bad if you don't enter it, closes: #81149 
+  * Include source architecture line, Closes: #84530
+  * Rebuild with new debhelper to fix dh_installinit not shutting down on
+    removal (Thanks Joey) (now requires debhelper 2.2.20)
+  * Move CellServDB to /usr/share/openafs  so we comply with policy 3.5
+
+ -- Sam Hartman <hartmans@debian.org>  Mon,  5 Feb 2001 13:23:51 -0500
+
+openafs (1.0.2-1) unstable; urgency=low
+
+  * Add support for ppc and sparc, closes: #80835
+  * Update maintainer address for modules.
+  * Support for 2.4.0 final (and not just prereleases as before), closes: #82751
+  * New upstream version.
+  * Conflict with openafs-ptutil since it is now included
+  * Fix message in RC script, closes: #82489
+  * Attempt to avoid using pinstall  in kernel module build
+
+ -- Sam Hartman <hartmans@debian.org>  Fri, 19 Jan 2001 22:38:32 -0500
+
+openafs (1.0.1-3) unstable; urgency=low
+
+  * Add support for Linux Kernel 2.4.x.
+  * Note that administration scripts are released under the GPL.
+
+ -- Sam Hartman <hartmans@debian.org>  Mon,  18 Dec 2000 19:06:00 -0500
+
+
+openafs (1.0.1-2) unstable; urgency=medium
+
+  * New maintainer address.
+  * Depend on debhelper 2.1.16 for /usr/share/doc symlinks.
+  * Only run init script once; confusion with DH_OPTIONS
+  * Fix bosserver to look in /usr/openafs/lib so it restarts correctly every Sunday.
+  * Upload to Debian (Gloses: BUG#69336)
+ -- Sam Hartman <hartmans@debian.org>  Wed,  6 Dec 2000 11:21:53 -0500
+
+Do not generate .map file for module; depmod complains.  * 
+
+ --
+
+openafs (1.0.1-1) unstable; urgency=low
+
+  * New upstream version
+  * Fix typo in openafs-client templates.
+  * Clarify that afs-newcell sets up for afs-rootvol 
+
+ -- Sam Hartman <hartmans@mit.edu>  Sun,  3 Dec 2000 02:04:50 -0500
+
+openafs (1.0.snap20001106-10) unstable; urgency=low
+
+  * Release (Closes: BUG#69336)
+  * Fix typo and afs-rootvol and test from CLI
+
+ -- Sam Hartman <hartmans@mit.edu>  Sat,  2 Dec 2000 00:44:37 -0500
+
+openafs (1.0.snap20001106-9) unstable; urgency=medium
+
+  * Fix openafs-fileserver restart to do a bos restart
+  * Document that AFS key must be single-DES.
+  * afs-rootvol: use the -fast option so we do not hang forever on bad cells or firewalls.
+  * Fix priority on openafs-client rc script to run after server starts.
+
+ -- Sam Hartman <hartmans@mit.edu>  Wed, 29 Nov 2000 20:43:59 -0500
+
+openafs (1.0.snap20001106-8) unstable; urgency=low
+
+  * Modules no longer depend on the tlient; client depends on modules.
+    This works better for AFS, even though it is not the way packages like
+    alsa-base work.
+  * Fix several typos in configuration scripts.
+  * Clarify that it starts the client just after debconf.
+
+ -- Sam Hartman <hartmans@mit.edu>  Wed, 29 Nov 2000 13:10:43 -0500
+
+openafs (1.0.snap20001106-7) unstable; urgency=low
+
+  * Add command line options to afs-newcell
+  * Fix control.module for real this time.
+  * Add kpasswd and kas to the openafs-kpasswd package.
+  * Add manpage for afs-newcell and many undocumented links.
+  * Remove PAM module from libopenafs-dev.
+  * Instal udebug, pagsh, cmdebug.
+  * Remove execute bit from some includes in /usr/include.
+
+ --  Sam Hartman <hartmans@mit.edu>  Mon, 27 Nov 2000 03:02:57 -0500
+
+openafs (1.0.snap20001106-6) unstable; urgency=medium
+
+  * Add config option to disable  client on boot
+  * Create rc.d links
+  * Make CellServDB handled by postinst not a conffile.  Sadly AFSDB
+    records will be a while in the future.
+  * New script: afs-newcell to configure a dbserver
+  * Use the native Debian install instead of afs install while building;
+    works  under fakeroot.  Important for modules package.
+  * Fix purge to delete configuration files
+
+ --  <Sam Hartman <hartmans@mit.edu>  Sat, 25 Nov 2000 01:09:55 -0500
+
+openafs (1.0.snap20001106-5) unstable; urgency=low
+
+  * Make change so kdump builds on potato
+
+ --  Sam Hartman <hartmans@mit.edu>  Sun, 19 Nov 2000 19:27:01 -0500
+
+openafs (1.0.snap20001106-4) unstable; urgency=low
+
+  * Fix so dpkg-buildpackage works.  Oops.
+
+ --  Sam Hartman <hartmans@mit.edu>  Sun, 19 Nov 2000 02:18:05 -0500
+
+openafs (1.0.snap20001106-3) unstable; urgency=low
+
+  * Increase stacksize for server processes so they don't dump core.
+  * New script: afs-rootvol--creates the root.afs and root.cell.  Works
+    fairly well except that it is overly verbose and that it has my test
+    cell hardcoded.  This script will evolve into part of a new cell
+    config tool. 
+
+
+  --
+  * Support removing module for smP
+  * Prune build directories out of modules sources--oops
+  * Fix bogus depends for module sources--note that it really does want
+    bison and flex at least for now.
+
+ --  Sam Hartman <hartmans@mit.edu>  Thu, 16 Nov 2000 01:39:48 -0500
+
+openafs (1.0.snap20001106-2) unstable; urgency=low
+
+  * Fix directories for servers to be FHS-reasonable
+  * Fix init.d script to actually work for stop this time--tested and works
+  * Add server packages; fairly useless right now but at least we
+      ship the binaries
+  * Check to make sure home cell exists and warn user if not
+  * Fix purge for openafs-client
+
+ --  Sam Hartman <hartmans@mit.edu>  Fri, 10 Nov 2000 23:35:30 -0500
+
+openafs (1.0.snap20001106-1) unstable; urgency=low
+
+  * New Upstream version
+  * Fix init.d script to properly remove openafs.o
+
+ --  Sam Hartman <hartmans@mit.edu>  Tue,  7 Nov 2000 13:55:47 -0500
+
+openafs (1.0.snap20001104-1) unstable; urgency=low
+
+  * New upstream snapshot
+  * Fix path to afsd in /etc/init.d/openafs-client
+  * Build openafs module packages
+
+ --  Sam Hartman <hartmans@mit.edu>  Mon,  6 Nov 2000 09:39:11 -0500
+
+openafs (1.0.snap20001103-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- unknown <hartmans@snorklewacker.mit.edu>  Fri,  3 Nov 2000 23:41:41 -0500
+
+Local variables:
+mode: debian-changelog
+add-log-mailing-address "hartmans@snorklewacker.mit.edu"
+End:
diff --git a/src/packaging/Debian/configuration-transcript.txt b/src/packaging/Debian/configuration-transcript.txt
new file mode 100644 (file)
index 0000000..b9403e2
--- /dev/null
@@ -0,0 +1,418 @@
+[This transcript includes creation of a loopback mount on /vicepa
+using file full of zeros.  This is useful to know how to do because it
+allows you to test an AFS server without repartitioning.  However, for
+production cells, you should repartition and create a /vicepa
+partition.]
+
+snorklewacker:/# apt-get -q install openafs-dbserver openafs-krb5 krb5-admin-server
+Reading Package Lists...
+Building Dependency Tree...
+The following extra packages will be installed:
+  krb5-kdc krb5-user libkrb53 openafs-client openafs-fileserver openafs-ptutil 
+The following NEW packages will be installed:
+  krb5-admin-server krb5-kdc krb5-user libkrb53 openafs-client openafs-dbserver
+  openafs-fileserver openafs-krb5 openafs-ptutil 
+0 packages upgraded, 9 newly installed, 0 to remove and 22 not upgraded.
+Need to get 2264kB of archives. After unpacking 5939kB will be used.
+Do you want to continue? [Y/n] y
+Get:1 http://www.mit.edu packages/ krb5-admin-server 1.2.1-5 [174kB]
+Get:2 http://www.mit.edu packages/ krb5-kdc 1.2.1-5 [173kB]
+Get:3 http://www.mit.edu packages/ krb5-user 1.2.1-5 [154kB]
+Get:4 http://www.mit.edu packages/ libkrb53 1.2.1-5 [337kB]
+Get:5 http://www.mit.edu packages/ openafs-client 1.0.snap20001106-6 [662kB]
+Get:6 http://www.mit.edu packages/ openafs-dbserver 1.0.snap20001106-6 [211kB]
+Get:7 http://www.mit.edu packages/ openafs-fileserver 1.0.snap20001106-6 [427kB]
+Get:8 http://www.mit.edu packages/ openafs-krb5 1.3-3 [96.5kB]
+Get:9 http://www.mit.edu packages/ openafs-ptutil 0.0.snap20001123-1 [30.3kB]
+Fetched 2264kB in 8s (253kB/s)
+Preconfiguring packages ..
+Configuring Libkrb53
+--------------------
+
+
+  When users attempt to use Kerberos and specify a principal or user
+  name without specifying what administrative Kerberos realm that
+  principal belongs to, the system appends the default realm.
+  Normally default realm is the upper case version of the local DNS
+  domain.
+
+What is the default Kerberos realm? [ATHENA.MIT.EDU] SNORKLEWACKER.MIT.EDU
+
+Configuring Krb5-kdc
+--------------------
+
+By default, Kerberos4 requests are allowed from principals that do not require
+preauthentication.  This allows Kerberos4 services to exist while requiring
+most users to use Kerberos5 clients to get their initial tickets.  These
+tickets can then be converted to Kerberos4 tickets.  Alternatively, the mode
+can be set to full, allowing Kerberos4 to get initial tickets even when
+preauthentication would normally be required, or to disable, which will
+disable all Kerberos4 support. 
+
+  d. disable  f. full  n. nopreauth
+
+What Kerberos4 compatibility mode should be used? [n] 
+
+Configuring Krb5-admin-server
+-----------------------------
+
+Setting up a Kerberos Realm
+
+ This package contains the administrative tools necessary to run on
+ the Kerberos master server.  However, installing this package does
+ not automatically set up a Kerberos realm.  Doing so requires
+ entering passwords and as such is not well-suited for package
+ installation. To create the realm, run the krb5_newrealm command.
+ You may also wish to read /usr/share/doc/krb5-kdc/README.KDC and the
+ administration guide found in the krb5-doc package.
+ .
+ Don't forget to set up DNS information so your clients can find your
+ KDC and admin servers.  Doing so is documented in the administration
+ guide.
+
+Configuring Openafs-client
+--------------------------
+
+
+  AFS filespace is organized into cells or administrative domains.
+[More] 
+  Each workstation belongs to one cell.  Usually the cell is the DNS
+  domain name of the workstation.
+
+What AFS cell does this workstation belong to? snorklewacker.mit.edu
+
+
+  AFS uses a  area of the disk to cache remote files for faster
+  access.  This cache will be mounted on /var/cache/openafs.  It is
+  important that the cache not overfill the partition it is located
+  on.  Often, people find it useful to dedicate a partition to their
+  AFS cache.
+
+How large is your AFS cache (kb)? [50000] 95000
+
+Configuring Openafs-fileserver
+------------------------------
+
+Selecting previously deselected package libkrb53.
+(Reading database ... 28342 files and directories currently installed.)
+Unpacking libkrb53 (from .../libkrb53_1.2.1-5_i386.deb) ...
+Selecting previously deselected package krb5-user.
+Unpacking krb5-user (from .../krb5-user_1.2.1-5_i386.deb) ...
+Selecting previously deselected package krb5-kdc.
+Unpacking krb5-kdc (from .../krb5-kdc_1.2.1-5_i386.deb) ...
+Selecting previously deselected package krb5-admin-server.
+Unpacking krb5-admin-server (from .../krb5-admin-server_1.2.1-5_i386.deb) ...
+Selecting previously deselected package openafs-client.
+Unpacking openafs-client (from .../openafs-client_1.0.snap20001106-6_i386.deb) ...
+Selecting previously deselected package openafs-fileserver.
+Unpacking openafs-fileserver (from .../openafs-fileserver_1.0.snap20001106-6_i386.deb) ...
+Selecting previously deselected package openafs-ptutil.
+Unpacking openafs-ptutil (from .../openafs-ptutil_0.0.snap20001123-1_i386.deb) ...
+Selecting previously deselected package openafs-dbserver.
+Unpacking openafs-dbserver (from .../openafs-dbserver_1.0.snap20001106-6_i386.deb) ...
+Selecting previously deselected package openafs-krb5.
+Unpacking openafs-krb5 (from .../openafs-krb5_1.3-3_i386.deb) ...
+Setting up openafs-client (1.0.snap20001106-6) ...
+Configuring Openafs-client
+--------------------------
+
+AFS uses the file /etc/openafs/CellServDB to hold the list of servers that
+should be contacted to find parts of a cell.  The cell you claim this
+workstation belongs to is not in that file.  Enter the host names of the
+database servers separated by spaces. IMPORTANT: If you are creating a new
+cell and this machine is to be a database server in that cell, only enter this
+machine's name; add the other servers later after they are functioning. Also,
+do not enable the AFS client to start at boot on this server until the cell is
+configured.  When you are ready you can edit /etc/openafs/afs.conf.client to
+enable the client. 
+
+What hosts are DB servers for your home cell?snorklewacker.mit.edu
+
+Should the Openafs filesystem be started and mounted at boot? Normally, most
+users who install the openafs-client package expect to run it at boot. 
+However, if you are planning on setting up a new cell or are on a laptop, you
+may not want it started at boot time. If you answer no to this question, run
+/etc/init.d/openafs-client force-start to run. 
+
+Run Openafs client at boot? [yes] n
+
+Starting AFS services: 
+Setting up openafs-fileserver (1.0.snap20001106-6) ...
+Starting AFS Server: ===================== U.S. Government Restricted Rights ======================
+If you are licensing the Software on behalf of the U.S. Government
+("Government"), the following provisions apply to you.  If the Software is
+supplied to the Department of Defense ("DoD"), it is classified as "Commercial
+Computer Software" under paragraph 252.227-7014 of the DoD Supplement to the
+Federal Acquisition Regulations ("DFARS") (or any successor regulations)
+and the Government is acquiring only the license rights granted herein (the
+license rights customarily provided to non-Government users).  If the Software
+is supplied to any unit or agency of the Government other than DoD, it is
+classified as "Restricted Computer Software" and the Government's rights in
+the Software are defined in paragraph 52.227-19 of the Federal Acquisition
+Regulations ("FAR") (or any successor regulations) or, in the case of NASA,
+in paragraph 18.52.227-86 of the NASA Supplement in the FAR (or any successor
+regulations).
+bosserver.
+
+Setting up openafs-ptutil (0.0.snap20001123-1) ...
+
+Setting up openafs-dbserver (1.0.snap20001106-6) ...
+
+Setting up libkrb53 (1.2.1-5) ...
+
+Setting up krb5-user (1.2.1-5) ...
+
+Setting up krb5-kdc (1.2.1-5) ...
+
+Setting up krb5-admin-server (1.2.1-5) ...
+
+Setting up openafs-krb5 (1.3-3) ...
+
+snorklewacker:/# krb5_newrealm
+This script should be run on the master KDC/admin server to initialize
+a Kerberos realm.  It will ask you to type in a master key password.
+This password will be used to generate a key that is stored in
+/etc/krb5kdc/stash.  You should try to remember this password, but it
+is much more important that it be a strong password than that it be
+remembered.  However, if you lose the password and /etc/krb5kdc/stash,
+you cannot decrypt your Kerberos database.
+Initializing database '/var/lib/krb5kdc/principal' for realm 'SNORKLEWACKER.MIT.EDU',
+master key name 'K/M@SNORKLEWACKER.MIT.EDU'
+You will be prompted for the database Master Password.
+It is important that you NOT FORGET this password.
+Enter KDC database master key:foo
+
+Re-enter KDC database master key to verify:foo
+
+Authenticating as principal hartmans/admin@ATHENA.MIT.EDU with password.
+Entry for principal kadmin/admin with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5kdc/kadm5.keytab.
+Entry for principal kadmin/admin with kvno 3, encryption type DES cbc mode with CRC-32 added to keytab WRFILE:/etc/krb5kdc/kadm5.keytab.
+Authenticating as principal hartmans/admin@ATHENA.MIT.EDU with password.
+Entry for principal kadmin/changepw with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5kdc/kadm5.keytab.
+Entry for principal kadmin/changepw with kvno 3, encryption type DES cbc mode with CRC-32 added to keytab WRFILE:/etc/krb5kdc/kadm5.keytab.
+Starting Kerberos KDC: krb5kdc krb524d.
+Starting Kerberos Administration Servers: kadmind.
+
+
+Now that your realm is set up you may wish to create an administrative
+principal using the addprinc subcommand of the kadmin.local program.
+Then, this principal can be added to /etc/krb5kdc/kadm5.acl so that
+you can use the kadmin program on other computers.  Kerberos admin
+principals usually belong to a single user and end in /admin.  For
+example, if jruser is a Kerberos administrator, then in addition to
+the normal jruser principal, a jruser/admin principal should be
+created.
+
+Don't forget to set up DNS information so your clients can find your
+KDC and admin servers.  Doing so is documented in the administration
+guide.
+snorklewacker:/# kadmin.local -e des-cbc-crc:v4
+Authenticating as principal hartmans/admin@ATHENA.MIT.EDU with password.
+kadmin.local:  addprinc -randkey afs
+addprinc -randkey afs
+WARNING: no policy specified for afs@SNORKLEWACKER.MIT.EDU; defaulting to no policy
+Principal "afs@SNORKLEWACKER.MIT.EDU" created.
+kadmin.local:  ktadd -k /tmp/snork.keytab afs
+ktadd -k /tmp/snork.keytab afs
+Entry for principal afs with kvno 3, encryption type DES cbc mode with CRC-32 added to keytab WRFILE:/tmp/snork.keytab.
+kadmin.local:  quit
+quit
+snorklewacker:/# kadmin.local
+kadmin.local
+Authenticating as principal hartmans/admin@ATHENA.MIT.EDU with password.
+kadmin.local:  addprinc hartmans
+addprinc hartmans
+WARNING: no policy specified for hartmans@SNORKLEWACKER.MIT.EDU; defaulting to no policy
+Enter password for principal "hartmans@SNORKLEWACKER.MIT.EDU": foo
+
+Re-enter password for principal "hartmans@SNORKLEWACKER.MIT.EDU": foo
+
+Principal "hartmans@SNORKLEWACKER.MIT.EDU" created.
+kadmin.local:  quit
+quit
+snorklewacker:/# asetkey add 3 /tmp/snork.keytab afs
+asetkey add 3 /tmp/snork.keytab afs
+snorklewacker:/# snorklewacker:/# dd if=/dev/zero of=/var/lib/openafs/vicepa bs=1024k count=32
+32+0 records in
+32+0 records out
+snorklewacker:/# mke2fs /var/lib/openafs/vicepa
+mke2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
+/var/lib/openafs/vicepa is not a block special device.
+Proceed anyway? (y,n) y
+Filesystem label=
+OS type: Linux
+Block size=1024 (log=0)
+Fragment size=1024 (log=0)
+8192 inodes, 32768 blocks
+1638 blocks (5.00%) reserved for the super user
+First data block=1
+4 block groups
+8192 blocks per group, 8192 fragments per group
+2048 inodes per group
+Superblock backups stored on blocks: 
+       8193, 24577
+
+Writing inode tables: 0/4\b\b\b1/4\b\b\b2/4\b\b\b3/4\b\b\bdone                            
+Writing superblocks and filesystem accounting information: done
+snorklewacker:/# mount -oloop /var/lib/openafs/vicepa /vicepa
+
+snorklewacker:/# afs-newcell
+                           Prerequisites
+
+In order to set up a new AFS cell, you must meet the following:
+
+1) You need a working Kerberos realm with Kerberos4 support.  You
+   should install Heimdal with Kth-kerberos compatibility or MIT
+   Kerberos5.
+
+2) You need to create the AFS key and load it into
+   /etc/openafs/server/KeyFile.  If your cell's name is the same as
+   your Kerberos realm then create a principal called afs.  Otherwise,
+   create a principal called afs/cellname in your realm.  The cell
+   name should be all lower case, unlike Kerberos realms which are all
+   upper case.  You can use asetkey from the openafs-krb5 package, or
+   if you used AFS3 salt to create the key, the bos addkey command.
+
+3) This machine should have a filesystem mounted on /vicepa.  If you
+   do not have a free partition, then create a large file by using dd
+   to extract bytes from /dev/zero.  Create a filesystem on this file
+   and mount it using -oloop.  
+
+4) You will need an administrative principal created in a Kerberos
+realm.  This principal will be added to susers and
+system:administrators and thus will be able to run administrative
+commands.  Generally the user is a root instance of some administravie
+user.  For example if jruser is an administrator then it would be
+reasonable to create jruser/root and specify jruser/root as the user
+to be added in this script.
+
+5) The AFS client must not be running on this workstation.  It will be
+at the end of this script.
+
+Do you meet these requirements? [y/n] y
+If the fileserver is not running, this may hang for 30 seconds.
+/etc/init.d/openafs-fileserver stop
+Stopping AFS Server: bosserver.
+What administrative principal should be used?hartmans
+echo \>snorklewacker.mit.edu >/etc/openafs/server/CellServDB
+/etc/init.d/openafs-fileserver start
+Starting AFS Server: ===================== U.S. Government Restricted Rights ======================
+If you are licensing the Software on behalf of the U.S. Government
+("Government"), the following provisions apply to you.  If the Software is
+supplied to the Department of Defense ("DoD"), it is classified as "Commercial
+Computer Software" under paragraph 252.227-7014 of the DoD Supplement to the
+Federal Acquisition Regulations ("DFARS") (or any successor regulations)
+and the Government is acquiring only the license rights granted herein (the
+license rights customarily provided to non-Government users).  If the Software
+is supplied to any unit or agency of the Government other than DoD, it is
+classified as "Restricted Computer Software" and the Government's rights in
+the Software are defined in paragraph 52.227-19 of the Federal Acquisition
+Regulations ("FAR") (or any successor regulations) or, in the case of NASA,
+in paragraph 18.52.227-86 of the NASA Supplement in the FAR (or any successor
+regulations).
+bosserver.
+bos addhost snorklewacker snorklewacker -localauth ||true
+bos adduser snorklewacker hartmans -localauth
+pt_util: /var/lib/openafs/db/prdb.DB0: Bad UBIK_MAGIC. Is 0 should be 354545
+Ubik Version is: 2.0
+Error while creating system:administrators: Entry for id already exists
+pt_util: Ubik Version number changed during execution.
+Old Version = 2.0, new version = 33554432.0
+bos create snorklewacker ptserver simple /usr/lib/openafs/ptserver -localauth
+bos create snorklewacker vlserver simple /usr/lib/openafs/vlserver -localauth
+bos create snorklewacker fs fs -cmd /usr/lib/openafs/fileserver -cmd /usr/lib/openafs/volserver -cmd /usr/lib/openafs/salvager -localauth
+Waiting for database elections: done.
+vos create snorklewacker a root.afs -localauth
+Volume 536870924 created on partition /vicepa of snorklewacker
+echo snorklewacker.mit.edu >/etc/openafs/ThisCell
+/etc/init.d/openafs-client force-start
+Starting AFS services: ===================== U.S. Government Restricted Rights ======================
+If you are licensing the Software on behalf of the U.S. Government
+("Government"), the following provisions apply to you.  If the Software is
+supplied to the Department of Defense ("DoD"), it is classified as "Commercial
+Computer Software" under paragraph 252.227-7014 of the DoD Supplement to the
+Federal Acquisition Regulations ("DFARS") (or any successor regulations)
+and the Government is acquiring only the license rights granted herein (the
+license rights customarily provided to non-Government users).  If the Software
+is supplied to any unit or agency of the Government other than DoD, it is
+classified as "Restricted Computer Software" and the Government's rights in
+the Software are defined in paragraph 52.227-19 of the Federal Acquisition
+Regulations ("FAR") (or any successor regulations) or, in the case of NASA,
+in paragraph 18.52.227-86 of the NASA Supplement in the FAR (or any successor
+regulations).
+afsd: All AFS daemons started.
+ afsd.
+Now, get tokens as hartmans in the snorklewacker.mit.edu cell.  Then, run
+afs-rootvol.
+snorklewacker:/# 
+snorklewacker:/# kinit hartmans
+Password for hartmans@SNORKLEWACKER.MIT.EDU: foo
+
+snorklewacker:/# aklog snorklewacker.mit.edu -k SNORKLEWACKER.MIT.EDU
+snorklewacker:/# afs-rootvol
+                           Prerequisites
+
+In order to set up the root.afs volume, you must meet the following pre-conditions:
+
+1) The cell must be configured, running a database server with a
+   volume location and protection server.
+
+2)  You must be logged into the cell with  tokens in
+    system:administrators and with a principal that is in the susers
+    file of the servers in the cell.
+
+3) You need a fileserver in the cell with partitions mounted and a root.afs volume created.
+   Presumably, it has no volumes on it, although the script will work
+   so long as nothing besides root.afs exists.
+
+4) The AFS client must be running pointed at the new cell.
+Do you meet these conditions? (Y/n) y
+You will need to select a server (hostname) and AFS
+partition on which to create the root volumes.
+What AFS Server should volumes be placed on? snorklewacker
+What partition? [a] 
+fs sa /afs system:anyuser rl
+vos create snorklewacker a root.cell -localauth
+Volume 536870927 created on partition /vicepa of snorklewacker
+fs mkm /afs/snorklewacker.mit.edu root.cell -cell snorklewacker.mit.edu 
+fs mkm /afs/andrew.cmu.edu root.cell -cell andrew.cmu.edu 
+fs mkm /afs/cs.cmu.edu root.cell -cell cs.cmu.edu 
+fs mkm /afs/ece.cmu.edu root.cell -cell ece.cmu.edu 
+fs mkm /afs/athena.mit.edu root.cell -cell athena.mit.edu 
+fs mkm /afs/dev.mit.edu root.cell -cell dev.mit.edu 
+fs mkm /afs/net.mit.edu root.cell -cell net.mit.edu 
+fs mkm /afs/sipb.mit.edu root.cell -cell sipb.mit.edu 
+fs mkm /afs/ir.stanford.edu root.cell -cell ir.stanford.edu 
+fs mkm /afs/umr.edu root.cell -cell umr.edu 
+fs mkm /afs/dementia.org root.cell -cell dementia.org 
+fs sa /afs/snorklewacker.mit.edu system:anyuser rl
+fs mkm /afs/.snorklewacker.mit.edu root.cell -cell snorklewacker.mit.edu -rw
+fs mkm /afs/.root.afs root.afs -rw
+vos create snorklewacker a user -localauth
+Volume 536870930 created on partition /vicepa of snorklewacker
+fs mkm /afs/snorklewacker.mit.edu/user user 
+fs sa /afs/snorklewacker.mit.edu/user system:anyuser rl
+vos create snorklewacker a service -localauth
+Volume 536870933 created on partition /vicepa of snorklewacker
+fs mkm /afs/snorklewacker.mit.edu/service service 
+fs sa /afs/snorklewacker.mit.edu/service system:anyuser rl
+ln -s /afs/snorklewacker.mit.edu /afs/snorklewacker
+ln -s /afs/.snorklewacker.mit.edu /afs/.snorklewacker
+vos addsite snorklewacker a root.afs -localauth
+Added replication site snorklewacker /vicepa for volume root.afs
+vos addsite snorklewacker a root.cell -localauth
+Added replication site snorklewacker /vicepa for volume root.cell
+vos release root.afs -localauth
+Released volume root.afs successfully
+vos release root.cell -localauth
+Released volume root.cell successfully
+snorklewacker:/# ls /afs
+andrew.cmu.edu dementia.org  ir.stanford.edu  snorklewacker
+athena.mit.edu dev.mit.edu   net.mit.edu      snorklewacker.mit.edu
+cs.cmu.edu     ece.cmu.edu   sipb.mit.edu     umr.edu
+snorklewacker:/# ls /afs/athena.mit.edu
+activity  contrib  dept  project    service   system
+astaff   course   org   reference  software  user
+snorklewacker:/# ls /afs/snorklewacker
+service  user
+snorklewacker:/# 
diff --git a/src/packaging/Debian/control b/src/packaging/Debian/control
new file mode 100644 (file)
index 0000000..0b81a1e
--- /dev/null
@@ -0,0 +1,84 @@
+Source: openafs
+Section: net
+Priority: optional
+Maintainer: Sam Hartman <hartmans@debian.org>
+Build-Depends: debhelper (>= 2.2.20), libncurses5-dev, libpam0g-dev, bison, docbook-to-man, flex, autoconf, automake, perl
+Standards-Version: 3.5.0
+
+Package: openafs-client
+Architecture: i386 powerpc sparc alpha s390 ia64
+Depends: ${shlibs:Depends}, debconf,  openafs-modules-source|openafs-modules1
+Conflicts: arla, openafs-modules
+Description: The AFS distributed filesystem- client support
+ AFS is a distributed filesystem allowing cross-platform sharing of
+ files among multiple computers.  Facilities are provided for access
+ control, authentication, backup and administrative management.
+ .
+ This package provides basic client support to mount and manipulate
+ AFS.
+
+Package: openafs-kpasswd
+Priority: extra
+Architecture: i386 powerpc sparc alpha  s390 ia64
+Depends: ${shlibs:Depends}, openafs-client (= ${Source-Version})
+Conflicts: krb5-user, heimdal-clients
+Description: The AFS distributed filesystem- old password changing
+ AFS is a distributed filesystem allowing cross-platform sharing of
+ files among multiple computers.  Facilities are provided for access
+ control, authentication, backup and administrative management.
+ .
+ This package provides kpasswd and kas, utilities needed by the 
+ Transarc kaserver to create users and change passwords.  Only install
+ this package if you are already using kaserver; generally you should
+ not install this package for new cells or for cells using Kerberos5.
+
+Package: openafs-fileserver
+Architecture: i386 powerpc sparc alpha s390 ia64
+Depends: ${shlibs:Depends}, debconf, openafs-client (= ${Source-Version})
+Recommends: ntp
+Description: The AFS distributed filesystem- file server
+ AFS is a distributed filesystem allowing cross-platform sharing of
+ files among multiple computers.  Facilities are provided for access
+ control, authentication, backup and administrative management.
+ .
+ This package provides the AFS fileserver binaries.  It should be
+ installed on any machine that will export files into AFS.
+
+Package: openafs-dbserver
+Architecture: i386 powerpc sparc alpha s390 ia64
+Depends: ${shlibs:Depends}, debconf, openafs-fileserver (= ${Source-Version}), openafs-client (= ${Source-Version}), perl5
+Conflicts: openafs-ptutil
+Replaces: openafs-ptutil
+Provides: openafs-ptutil
+Description: The AFS distributed filesystem- database server
+ AFS is a distributed filesystem allowing cross-platform sharing of
+ files among multiple computers.  Facilities are provided for access
+ control, authentication, backup and administrative management.
+ .
+ This package provides AFS database server binaries.  It should be
+ installed on the servers that will act as volume location and
+ protection servers.
+
+Package: libopenafs-dev
+Section: devel
+Architecture: i386 powerpc sparc alpha s390 ia64
+Priority: extra
+Description: The AFS distributed filesystem- development libraries
+ AFS is a distributed filesystem allowing cross-platform sharing of
+ files among multiple computers.  Facilities are provided for access
+ control, authentication, backup and administrative management.
+ .
+ This package provides static development libraries and headers
+ needed to compile AFS applications.
+
+Package: openafs-modules-source
+Priority: extra
+Depends: bison, flex, debhelper, libpam0g-dev, libncurses5-dev, kernel-package
+Architecture: all
+Description: The AFS distributed filesystem- Module Sources
+ AFS is a distributed filesystem allowing cross-platform sharing of
+ files among multiple computers.  Facilities are provided for access
+ control, authentication, backup and administrative management.
+ .
+ This package provides source to the AFS kernel modules.
+
diff --git a/src/packaging/Debian/control.module b/src/packaging/Debian/control.module
new file mode 100644 (file)
index 0000000..7ceb277
--- /dev/null
@@ -0,0 +1,16 @@
+Source: openafs
+Section: net
+Priority: optional
+Maintainer: Sam Hartman <hartmans@debian.org>
+Standards-Version: 3.1.1
+
+Package: openafs-modules-=KVERS
+Conflicts: openafs-client (<< 1.2.2-0)
+Provides: openafs-modules1
+Architecture: any
+Description: The AFS distributed filesystem- Kernel Module
+ AFS is a distributed filesystem allowing cross-platform sharing of
+ files among multiple computers.  Facilities are provided for access
+ control, authentication, backup and administrative management.
+ .
+ This package provides the kernel module for the filesystem
diff --git a/src/packaging/Debian/control.module-image b/src/packaging/Debian/control.module-image
new file mode 100644 (file)
index 0000000..7d38b40
--- /dev/null
@@ -0,0 +1,17 @@
+Source: openafs
+Section: net
+Priority: optional
+Maintainer: Sam Hartman <hartmans@debian.org>
+Standards-Version: 3.1.1
+
+Package: openafs-modules-=KVERS
+Conflicts: openafs-client (<< 1.2.2-0)
+Provides: openafs-modules1
+Architecture: any
+Recommends: kernel-image-=KVERS (= =KREVS)
+Description: The AFS distributed filesystem- Kernel Module
+ AFS is a distributed filesystem allowing cross-platform sharing of
+ files among multiple computers.  Facilities are provided for access
+ control, authentication, backup and administrative management.
+ .
+ This package provides the kernel module for the filesystem
diff --git a/src/packaging/Debian/copyright b/src/packaging/Debian/copyright
new file mode 100644 (file)
index 0000000..a68b88b
--- /dev/null
@@ -0,0 +1,242 @@
+This package was debianized by Sam Hartman <hartmans@debian.org> on
+Fri,  3 Nov 2000 23:41:41 -0500.
+
+It was downloaded from the Openafs CVS repository.
+
+Upstream Maintainers(s):openafs-gatekeepers@openafs.org
+
+Copyright:
+
+   IBM Public License Version 1.0
+   
+   THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM
+   PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF
+   THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+   
+   1. DEFINITIONS
+   
+   "Contribution" means:
+   a) in the case of International Business Machines Corporation ("IBM"),
+       the Original Program, and
+       
+   b) in the case of each Contributor,
+       
+   i) changes to the Program, and
+       
+   ii) additions to the Program;
+       
+   where such changes and/or additions to the Program originate from and
+       are distributed by that particular Contributor. A Contribution
+       'originates' from a Contributor if it was added to the Program by
+       such Contributor itself or anyone acting on such Contributor's
+       behalf. Contributions do not include additions to the Program
+       which: (i) are separate modules of software distributed in
+       conjunction with the Program under their own license agreement,
+       and (ii) are not derivative works of the Program.
+       
+   "Contributor" means IBM and any other entity that distributes the
+   Program.
+   
+   "Licensed Patents " mean patent claims licensable by a Contributor
+   which are necessarily infringed by the use or sale of its Contribution
+   alone or when combined with the Program.
+   
+   "Original Program" means the original version of the software
+   accompanying this Agreement as released by IBM, including source code,
+   object code and documentation, if any.
+   
+   "Program" means the Original Program and Contributions.
+   
+   "Recipient" means anyone who receives the Program under this
+   Agreement, including all Contributors.
+   
+   2. GRANT OF RIGHTS
+   a) Subject to the terms of this Agreement, each Contributor hereby
+       grants Recipient a non-exclusive, worldwide, royalty-free
+       copyright license to reproduce, prepare derivative works of,
+       publicly display, publicly perform, distribute and sublicense the
+       Contribution of such Contributor, if any, and such derivative
+       works, in source code and object code form.
+       
+   b) Subject to the terms of this Agreement, each Contributor hereby
+       grants Recipient a non-exclusive, worldwide, royalty-free patent
+       license under Licensed Patents to make, use, sell, offer to sell,
+       import and otherwise transfer the Contribution of such
+       Contributor, if any, in source code and object code form. This
+       patent license shall apply to the combination of the Contribution
+       and the Program if, at the time the Contribution is added by the
+       Contributor, such addition of the Contribution causes such
+       combination to be covered by the Licensed Patents. The patent
+       license shall not apply to any other combinations which include
+       the Contribution. No hardware per se is licensed hereunder.
+       
+   c) Recipient understands that although each Contributor grants the
+       licenses to its Contributions set forth herein, no assurances are
+       provided by any Contributor that the Program does not infringe the
+       patent or other intellectual property rights of any other entity.
+       Each Contributor disclaims any liability to Recipient for claims
+       brought by any other entity based on infringement of intellectual
+       property rights or otherwise. As a condition to exercising the
+       rights and licenses granted hereunder, each Recipient hereby
+       assumes sole responsibility to secure any other intellectual
+       property rights needed, if any. For example, if a third party
+       patent license is required to allow Recipient to distribute the
+       Program, it is Recipient's responsibility to acquire that license
+       before distributing the Program.
+       
+   d) Each Contributor represents that to its knowledge it has sufficient
+       copyright rights in its Contribution, if any, to grant the
+       copyright license set forth in this Agreement.
+       
+   3. REQUIREMENTS
+   
+   A Contributor may choose to distribute the Program in object code form
+   under its own license agreement, provided that:
+   a) it complies with the terms and conditions of this Agreement; and
+       
+   b) its license agreement:
+       
+   i) effectively disclaims on behalf of all Contributors all warranties
+       and conditions, express and implied, including warranties or
+       conditions of title and non-infringement, and implied warranties
+       or conditions of merchantability and fitness for a particular
+       purpose;
+       
+   ii) effectively excludes on behalf of all Contributors all liability
+       for damages, including direct, indirect, special, incidental and
+       consequential damages, such as lost profits;
+       
+   iii) states that any provisions which differ from this Agreement are
+       offered by that Contributor alone and not by any other party; and
+       
+   iv) states that source code for the Program is available from such
+       Contributor, and informs licensees how to obtain it in a
+       reasonable manner on or through a medium customarily used for
+       software exchange.
+       
+   When the Program is made available in source code form:
+   a) it must be made available under this Agreement; and
+       
+   b) a copy of this Agreement must be included with each copy of the
+       Program.
+       
+   Each Contributor must include the following in a conspicuous location
+   in the Program:
+   
+   Copyright Â© {date here}, International Business Machines Corporation
+       and others. All Rights Reserved.
+       
+   In addition, each Contributor must identify itself as the originator
+   of its Contribution, if any, in a manner that reasonably allows
+   subsequent Recipients to identify the originator of the Contribution.
+   
+   4. COMMERCIAL DISTRIBUTION
+   
+   Commercial distributors of software may accept certain
+   responsibilities with respect to end users, business partners and the
+   like. While this license is intended to facilitate the commercial use
+   of the Program, the Contributor who includes the Program in a
+   commercial product offering should do so in a manner which does not
+   create potential liability for other Contributors. Therefore, if a
+   Contributor includes the Program in a commercial product offering,
+   such Contributor ("Commercial Contributor") hereby agrees to defend
+   and indemnify every other Contributor ("Indemnified Contributor")
+   against any losses, damages and costs (collectively "Losses") arising
+   from claims, lawsuits and other legal actions brought by a third party
+   against the Indemnified Contributor to the extent caused by the acts
+   or omissions of such Commercial Contributor in connection with its
+   distribution of the Program in a commercial product offering. The
+   obligations in this section do not apply to any claims or Losses
+   relating to any actual or alleged intellectual property infringement.
+   In order to qualify, an Indemnified Contributor must: a) promptly
+   notify the Commercial Contributor in writing of such claim, and b)
+   allow the Commercial Contributor to control, and cooperate with the
+   Commercial Contributor in, the defense and any related settlement
+   negotiations. The Indemnified Contributor may participate in any such
+   claim at its own expense.
+   
+   For example, a Contributor might include the Program in a commercial
+   product offering, Product X. That Contributor is then a Commercial
+   Contributor. If that Commercial Contributor then makes performance
+   claims, or offers warranties related to Product X, those performance
+   claims and warranties are such Commercial Contributor's responsibility
+   alone. Under this section, the Commercial Contributor would have to
+   defend claims against the other Contributors related to those
+   performance claims and warranties, and if a court requires any other
+   Contributor to pay any damages as a result, the Commercial Contributor
+   must pay those damages.
+   
+   5. NO WARRANTY
+   
+   EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+   PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
+   WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+   OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+   responsible for determining the appropriateness of using and
+   distributing the Program and assumes all risks associated with its
+   exercise of rights under this Agreement, including but not limited to
+   the risks and costs of program errors, compliance with applicable
+   laws, damage to or loss of data, programs or equipment, and
+   unavailability or interruption of operations.
+   
+   6. DISCLAIMER OF LIABILITY
+   
+   EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
+   ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+   WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+   DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+   HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+   
+   7. GENERAL
+   
+   If any provision of this Agreement is invalid or unenforceable under
+   applicable law, it shall not affect the validity or enforceability of
+   the remainder of the terms of this Agreement, and without further
+   action by the parties hereto, such provision shall be reformed to the
+   minimum extent necessary to make such provision valid and enforceable.
+   
+   If Recipient institutes patent litigation against a Contributor with
+   respect to a patent applicable to software (including a cross-claim or
+   counterclaim in a lawsuit), then any patent licenses granted by that
+   Contributor to such Recipient under this Agreement shall terminate as
+   of the date such litigation is filed. In addition, If Recipient
+   institutes patent litigation against any entity (including a
+   cross-claim or counterclaim in a lawsuit) alleging that the Program
+   itself (excluding combinations of the Program with other software or
+   hardware) infringes such Recipient's patent(s), then such Recipient's
+   rights granted under Section 2(b) shall terminate as of the date such
+   litigation is filed.
+   
+   All Recipient's rights under this Agreement shall terminate if it
+   fails to comply with any of the material terms or conditions of this
+   Agreement and does not cure such failure in a reasonable period of
+   time after becoming aware of such noncompliance. If all Recipient's
+   rights under this Agreement terminate, Recipient agrees to cease use
+   and distribution of the Program as soon as reasonably practicable.
+   However, Recipient's obligations under this Agreement and any licenses
+   granted by Recipient relating to the Program shall continue and
+   survive.
+   
+   IBM may publish new versions (including revisions) of this Agreement
+   from time to time. Each new version of the Agreement will be given a
+   distinguishing version number. The Program (including Contributions)
+   may always be distributed subject to the version of the Agreement
+   under which it was received. In addition, after a new version of the
+   Agreement is published, Contributor may elect to distribute the
+   Program (including its Contributions) under the new version. No one
+   other than IBM has the right to modify this Agreement. Except as
+   expressly stated in Sections 2(a) and 2(b) above, Recipient receives
+   no rights or licenses to the intellectual property of any Contributor
+   under this Agreement, whether expressly, by implication, estoppel or
+   otherwise. All rights in the Program not expressly granted under this
+   Agreement are reserved.
+   
+   This Agreement is governed by the laws of the State of New York and
+   the intellectual property laws of the United States of America. No
+   party to this Agreement will bring a legal action under this Agreement
+   more than one year after the cause of action arose. Each party waives
+   its rights to a jury trial in any resulting litigation.
diff --git a/src/packaging/Debian/filelist b/src/packaging/Debian/filelist
new file mode 100644 (file)
index 0000000..bb3a06a
--- /dev/null
@@ -0,0 +1,15 @@
+openafs-client/usr/sbin etc/fms etc/butc etc/backup
+openafs-client/usr/bin bin/fs bin/pts bin/bos etc/vos bin/tokens bin/sys
+openafs-client/usr/bin bin/udebug bin/cmdebug bin/pagsh etc/rxdebug
+openafs-client/usr/sbin root.client/usr/vice/etc/afsd
+openafs-client/usr/bin bin/klog  bin/kpwvalid bin/unlog
+openafs-fileserver/usr/lib/openafs  root.server/usr/afs/bin/fileserver root.server/usr/afs/bin/volserver
+openafs-kpasswd/usr/bin bin/kpasswd etc/kas
+openafs-fileserver/usr/sbin    root.server/usr/afs/bin/bosserver
+openafs-fileserver/usr/lib/openafs root.server/usr/afs/bin/salvager 
+openafs-dbserver/usr/sbin root.server/usr/afs/bin/pt_util
+openafs-dbserver/usr/lib/openafs root.server/usr/afs/bin/buserver
+openafs-dbserver/usr/lib/openafs       root.server/usr/afs/bin/vlserver 
+openafs-dbserver/usr/lib/openafs root.server/usr/afs/bin/ptserver
+libopenafs-dev/usr     lib
+libopenafs-dev/usr include
diff --git a/src/packaging/Debian/genchanges.sh b/src/packaging/Debian/genchanges.sh
new file mode 100644 (file)
index 0000000..5d50cd5
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+# genchanges.sh - generate a changes file for a deb file generated via
+#      the make-kpkg utility
+
+# KSRC KMAINT and KEMAIL are expected to be passed through the environment
+
+set -e
+umask 022
+
+#KVERS=`cat debian/KVERS`
+MODVERS=`cat debian/VERSION | sed s/:/\+/`
+ARCH=`dpkg --print-architecture`
+
+mprefix=`grep Package: debian/control.module | cut -d' ' -f 2 | cut -d= -f 1`
+
+# the changes file's name
+chfile="$KSRC/../$mprefix${KVERS}${INT_SUBARCH}_${MODVERS}_${ARCH}.changes"
+
+dpkg-genchanges -b ${KMAINT:+-m"$KMAINT <$KEMAIL>"} -u"$KSRC/.." \
+       -cdebian/control > "$chfile"
+#pgp -fast ${KMAINT:+-u"$KMAINT"} < "$chfile.pt" > "$chfile"
+rm "$chfile.pt"
diff --git a/src/packaging/Debian/kern-sysname b/src/packaging/Debian/kern-sysname
new file mode 100644 (file)
index 0000000..6c51c9b
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/sh
+case `arch` in
+i[3456]86)
+       case $KVERS in
+           2.2*)
+               echo i386_linux22
+               ;;
+           2.4*)
+               echo i386_linux24
+               ;;
+           esac
+;;
+    ia64)
+    echo ia64_linux24
+;;
+    alpha)
+       case $KVERS in
+           2.2*)
+               echo alpha_linux_22
+               ;;
+           2.4*)
+               echo alpha_linux_24
+               ;;
+           esac
+;;
+    sparc)
+       case $KVERS in
+           2.2*)
+               echo sparc_linux22
+               ;;
+           2.4*)
+               echo sparc_linux24
+               ;;
+           esac
+       ;;
+    sparc64)
+        case $KVERS in
+           2.2*)
+               echo sparc64_linux22
+               ;;
+           2.4*)
+               echo sparc64_linux24
+               ;;
+           esac
+       ;;
+           
+    ppc)
+       case $KVERS in
+           2.2*)
+               echo ppc_linux22
+               ;;
+           2.4*)
+               echo ppc_linux24
+               ;;
+           esac
+           ;;
+       *)
+       echo ERROr:  sysname not yet known
+       exit 1
+
+esac
diff --git a/src/packaging/Debian/make-links b/src/packaging/Debian/make-links
new file mode 100644 (file)
index 0000000..78ddaec
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh -e
+mkdir -p /usr/afs 2>/dev/null || true
+cd /usr/afs
+ln -s /etc/openafs/server etc
+ln -s /etc/openafs/server-local local
+ln -s /var/lib/openafs/db db
+ln -s /var/log/openafs logs
+ln -s /var/lib/openafs/cores cores
+ln -s /usr/lib/openafs bin
diff --git a/src/packaging/Debian/movefiles b/src/packaging/Debian/movefiles
new file mode 100755 (executable)
index 0000000..11aed29
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+
+# This script reads in  a set of lines in the form
+# destination sources
+# andmoves sources to destination
+# destination is relative to the debian directory
+
+while read dest srcs ; do
+    mkdir -p debian/$dest ||true
+    for foo in $srcs; do
+       cp -rp  dest/$foo debian/$dest
+           done
+done
diff --git a/src/packaging/Debian/openafs-client.conffiles b/src/packaging/Debian/openafs-client.conffiles
new file mode 100644 (file)
index 0000000..5f74788
--- /dev/null
@@ -0,0 +1,2 @@
+/etc/openafs/afs.conf
+/etc/init.d/openafs-client
diff --git a/src/packaging/Debian/openafs-client.config b/src/packaging/Debian/openafs-client.config
new file mode 100644 (file)
index 0000000..68a7e61
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/sh -e
+
+. /usr/share/debconf/confmodule ||exit
+
+db_version 2.0
+if [ -r /etc/openafs/ThisCell ] ; then
+    read cell </etc/openafs/ThisCell
+    db_set openafs-client/thiscell $cell
+    fi
+db_get openafs-client/thiscell || true
+if [ "x$RET" = "x" ] ; then
+       db_set openafs-client/thiscell `dnsdomainname | tr 'A-Z' 'a-z'`
+       fi
+if [ -r /etc/openafs/cacheinfo ] ; then
+    IFS=: read mountpoint cachedir cachesize  </etc/openafs/cacheinfo
+    db_set openafs-client/cachesize $cachesize
+    fi
+db_input medium openafs-client/thiscell ||true
+db_input critical openafs-client/cachesize ||true
+db_go
+test -f /etc/openafs/afs.conf &&. /etc/openafs/afs.conf
+if [ "x$AFS_CLIENT" != "x" ] ; then
+    db_set openafs-client/run-client  $AFS_CLIENT
+    fi
+db_input low openafs-client/run-client || true
+if [ "x$AFS_AFSDB" != "x" ] ;then
+    db_set openafs-client/afsdb $AFS_AFSDB
+    fi
+if [ "x$AFS_DYNROOT" != "x" ] ; then
+    db_set openafs-client/dynroot $AFS_DYNROOT
+    fi
+if [ x$AFS_FAKESTAT != "x" ] ; then
+    db_set openafs-client/fakestat $AFS_FAKESTAT
+fi
+
+db_beginblock
+db_input low openafs-client/afsdb ||true
+db_input low openafs-client/crypt || true
+db_input medium openafs-client/dynroot || true
+db_input low openafs-client/fakestat ||true
+db_endblock
+db_go
diff --git a/src/packaging/Debian/openafs-client.dirs b/src/packaging/Debian/openafs-client.dirs
new file mode 100644 (file)
index 0000000..d846dab
--- /dev/null
@@ -0,0 +1,4 @@
+var/cache/openafs
+etc/openafs
+etc/init.d
+usr/share/openafs
diff --git a/src/packaging/Debian/openafs-client.docs b/src/packaging/Debian/openafs-client.docs
new file mode 100644 (file)
index 0000000..169a038
--- /dev/null
@@ -0,0 +1,6 @@
+README
+debian/README.servers
+debian/configuration-transcript.txt
+debian/README.modules
+NEWS
+RELNOTES-1.2.6
diff --git a/src/packaging/Debian/openafs-client.lintian b/src/packaging/Debian/openafs-client.lintian
new file mode 100644 (file)
index 0000000..e3b8ac2
--- /dev/null
@@ -0,0 +1,3 @@
+openafs-client: link-to-undocumented-manpage
+openafs-client: non-standard-dir-perm
+openafs-client: postinst-uses-db-input
diff --git a/src/packaging/Debian/openafs-client.postinst b/src/packaging/Debian/openafs-client.postinst
new file mode 100644 (file)
index 0000000..fec5338
--- /dev/null
@@ -0,0 +1,90 @@
+#! /bin/sh
+# postinst script for openafs
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+
+case "$1" in
+    configure)
+
+    update-alternatives --install /usr/bin/pagsh pagsh /usr/bin/pagsh.openafs 100 \
+    --slave /usr/share/man/man1/pagsh.1.gz pagsh.1.gz /usr/share/man/man1/pagsh.openafs.1.gz
+
+       test -d /afs || mkdir /afs
+    . /usr/share/debconf/confmodule
+
+       db_version 2.0
+
+       db_get openafs-client/thiscell
+       echo $RET >/etc/openafs/ThisCell
+       THISCELL=$RET
+
+       if test -f /etc/openafs/CellServDB; then :
+           else cp /usr/share/openafs/CellServDB \
+             /etc/openafs
+           fi
+       if grep  -q -F "$RET" /etc/openafs/CellServDB&& [ "x$RET" != "x" ]  ; then :
+               else db_input critical  openafs-client/cell-info || true
+           db_input high openafs-client/run-client ||true
+           db_go
+           db_get openafs-client/cell-info
+           if [ "x$RET" != "x" ] ; then
+               echo \>$THISCELL >/etc/openafs/CellServDB.new
+               perl -MSocket -e 'foreach (@ARGV) {' \
+                       -e '@a=gethostbyname($_) and ' \
+                       -e 'printf("%s\t\t# %s\n",inet_ntoa($a[4]),$a[0]) }' $RET \
+                   >>/etc/openafs/CellServDB.new
+                       if [ `wc -l </etc/openafs/CellServDB.new` -eq 1 ] ; then
+                           echo None of the hostnames resolved to an address 2>&1
+                           db_reset openafs-client/cell-info ||true
+                           exit 1
+                        fi
+                   cat /etc/openafs/CellServDB.new \
+                     /etc/openafs/CellServDB  >/etc/openafs/CellServDB.tmp
+                   mv /etc/openafs/CellServDB.tmp \
+                     /etc/openafs/CellServDB
+                   rm /etc/openafs/CellServDB.new
+               fi
+           fi
+                   
+       db_get openafs-client/cachesize
+       echo /afs:/var/cache/openafs:$RET >/etc/openafs/cacheinfo
+
+       db_get openafs-client/run-client
+       echo AFS_CLIENT=$RET >/etc/openafs/afs.conf.client
+       db_get openafs-client/afsdb
+       echo AFS_AFSDB=$RET >>/etc/openafs/afs.conf.client
+       db_get openafs-client/crypt
+       echo AFS_CRYPT=$RET >>/etc/openafs/afs.conf.client
+db_get openafs-client/dynroot
+echo AFS_DYNROOT=$RET >>/etc/openafs/afs.conf.client
+db_get openafs-client/fakestat
+echo AFS_FAKESTAT=$RET >>/etc/openafs/afs.conf.client
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 0
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/src/packaging/Debian/openafs-client.postrm b/src/packaging/Debian/openafs-client.postrm
new file mode 100644 (file)
index 0000000..08fa0b5
--- /dev/null
@@ -0,0 +1,43 @@
+#! /bin/sh
+# postrm script for openafs
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
+# for details, see /usr/share/doc/packaging-manual/
+
+case "$1" in
+purge)
+    rmdir /afs 2>/dev/null || true
+    rm /etc/openafs/cacheinfo 2>/dev/null ||true
+    rm /etc/openafs/CellServDB 2>/dev/null ||true
+    rm /etc/openafs/ThisCell 2>/dev/null ||true
+    rm /etc/openafs/afs.conf.client 2>/dev/null || true
+    ;;
+       remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+
+
+        ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 0
+
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+
diff --git a/src/packaging/Debian/openafs-client.prerm b/src/packaging/Debian/openafs-client.prerm
new file mode 100644 (file)
index 0000000..0c9a913
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/sh -e
+
+
+# summary of how this script can be called:
+#        * <prerm> `remove'
+#        * <old-prerm> `upgrade' <new-version>
+#        * <new-prerm> `failed-upgrade' <old-version>
+#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+#        * <deconfigured's-prerm> `deconfigure' `in-favour'
+#          <package-being-installed> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see /usr/share/doc/packaging-manual/
+
+case "$1" in
+    remove|upgrade|deconfigure)
+       update-alternatives --remove pagsh /usr/bin/pagsh.openafs
+        ;;
+    failed-upgrade)
+        ;;
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 0
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
diff --git a/src/packaging/Debian/openafs-client.templates b/src/packaging/Debian/openafs-client.templates
new file mode 100644 (file)
index 0000000..0dabd8c
--- /dev/null
@@ -0,0 +1,85 @@
+Template: openafs-client/cell-info
+Type: string
+Description: What hosts are DB servers for your home cell?
+ AFS uses the file /etc/openafs/CellServDB to hold the list of servers
+ that should be contacted to find parts of a cell.  The cell you claim
+ this workstation belongs to is not in that file.  Enter the host
+ names of the database servers separated by spaces.
+ IMPORTANT: If you are creating a new cell and this machine is to be
+ a database server in that cell, only enter this machine's name; add
+ the other servers later after they are functioning. Also, do not
+ enable the AFS client to start at boot on this server until the cell
+ is configured.  When you are ready you can edit
+ /etc/openafs/afs.conf.client to enable the client.
+
+Template: openafs-client/thiscell
+Type: string
+Description:  What AFS cell does this workstation belong to?
+   AFS filespace is organized into cells or administrative domains.
+   Each workstation belongs to one cell.  Usually the cell is the DNS
+   domain name of the site.
+
+Template: openafs-client/cachesize
+Type: string
+Default: 50000
+Description:  How large is your AFS cache (kb)? 
+   AFS uses a  area of the disk to cache remote files for faster
+   access.  This cache will be mounted on /var/cache/openafs.  It is
+   important that the cache not overfill the partition it is located
+   on.  Often, people find it useful to dedicate a partition to their
+   AFS cache.
+
+Template: openafs-client/run-client
+Type: boolean
+Default: true
+Description: Run Openafs client now and at boot?
+ Should the Openafs filesystem be started and mounted at boot?
+ Normally, most users who install the openafs-client package expect to
+ run it at boot.  However, if you are planning on setting up a new
+ cell or are on a laptop, you may not want it started at boot time.
+ If you answer no to this question, run /etc/init.d/openafs-client
+ force-start to run.
+
+Template: openafs-client/afsdb
+Type: boolean
+Default: true
+Description: Look up AFS cells in DNS?
+ In order to contact an AFS cell, you need the IP addresses of the
+ cell's database servers.  Normally, this information is read from
+ /etc/openafs/CellServDB.  However, if Openafs cannot find a cell in
+ that file it can use DNS to look for AFSDB records that contain the
+ information.
+
+Template: openafs-client/crypt
+Type: boolean
+Default: true
+Description: ENcrypt authenticated traffic with AFS fileserver? 
+ AFS provides a weak form of encryption that can optionally be used
+ between a client and the fileservers.  While this encryption is weaker
+ than DES and thus is not sufficient for highly confidential data, it
+ does provide some confidentiality and is likely to make the job of a
+ casual attacker significantly more difficult.
+
+Template: openafs-client/dynroot
+Type: boolean
+Default: false
+Description: Dynamically generate the contents of /afs?
+ /afs generally contains an entry for each cell that a client can talk to.  
+ Traditionally, these entries were generated by servers in the client's
+ home cell.  However, OpenAFS clients can generate the contents of /afs
+ dynamically based on the contents of /etc/openafs/CellServDB and DNS.
+ .
+ If you generate /afs dynamically, you may need to create 
+ /etc/openafs/CellAliases to include aliases for common cells.
+ DO NOT SELECT THIS OPTION IF YOU ARE CREATING A NEW CELL.
+
+Template: openafs-client/fakestat
+type: boolean
+default: true
+Description: Use fakestat to avoid hangs when listing /afs?
+ Because AFS is a global file space, operations on the /afs directory
+ can generate significant network traffic.  If some AFS cells are
+ unavailable then looking at /afs using ls or a graphical file browser
+ may hang your machine for minutes.  AFS has an option to simulate
+ answers to these operations locally to avoid these hangs.  You want
+ this option under most circumstances.
diff --git a/src/packaging/Debian/openafs-client.undocumented b/src/packaging/Debian/openafs-client.undocumented
new file mode 100644 (file)
index 0000000..f9cfb93
--- /dev/null
@@ -0,0 +1,13 @@
+afsd.8
+bos.1
+cmdebug.1
+fs.1
+klog.1
+kpwvalid.1
+pagsh.openafs.1
+pts.1
+tokens.1
+rxdebug.1
+udebug.1
+unlog.1
+vos.1
diff --git a/src/packaging/Debian/openafs-dbserver.dirs b/src/packaging/Debian/openafs-dbserver.dirs
new file mode 100644 (file)
index 0000000..8d53566
--- /dev/null
@@ -0,0 +1,4 @@
+usr/share/doc
+var/lib/openafs/db
+usr/share/man/man8
+usr/sbin
diff --git a/src/packaging/Debian/openafs-fileserver.conffiles b/src/packaging/Debian/openafs-fileserver.conffiles
new file mode 100644 (file)
index 0000000..154a613
--- /dev/null
@@ -0,0 +1 @@
+/etc/init.d/openafs-fileserver
diff --git a/src/packaging/Debian/openafs-fileserver.config b/src/packaging/Debian/openafs-fileserver.config
new file mode 100644 (file)
index 0000000..524c4c3
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh -e
+
+. /usr/share/debconf/confmodule || exit
+
+db_version 2.0
+
+arch=`dpkg --print-installation-architecture`
+case $arch in
+    alpha)
+    db_input high openafs-fileserver/alpha-broken ||true
+;;
+esac
+
+if [ -r /etc/openafs/server/ThisCell ] ; then
+    read cell </etc/openafs/server/ThisCell || true # error if no newline is ignore
+    db_set openafs-fileserver/thiscell $cell
+    fi
+
+db_get openafs-fileserver/thiscell || true
+if [ "x$RET" = "x" ] ; then
+       db_get openafs-client/thiscell ||true
+       db_set openafs-fileserver/thiscell "$RET"
+       fi
+
+db_input low openafs-fileserver/thiscell || true
+if [ "x$2" != "x" ] ; then
+    if dpkg --compare-versions $2 lt 1.2.0-1 ; then
+       db_input high openafs-fileserver/bosconfig_moved ||true
+       fi
+fi
+
+db_go
+
+db_get openafs-fileserver/bosconfig_moved
+if [ $RET = "false" ] ; then
+    db_reset openafs-fileserver/bosconfig_moved
+    exit 2
+fi
diff --git a/src/packaging/Debian/openafs-fileserver.dirs b/src/packaging/Debian/openafs-fileserver.dirs
new file mode 100644 (file)
index 0000000..719aa3c
--- /dev/null
@@ -0,0 +1,6 @@
+usr/share/doc
+var/log/openafs
+etc/openafs/server
+etc/openafs/server-local
+var/lib/openafs/cores
+
diff --git a/src/packaging/Debian/openafs-fileserver.init b/src/packaging/Debian/openafs-fileserver.init
new file mode 100755 (executable)
index 0000000..8835856
--- /dev/null
@@ -0,0 +1,71 @@
+#! /bin/sh
+#
+# skeleton     example file to build /etc/init.d/ scripts.
+#              This file should be used to construct scripts for /etc/init.d.
+#
+#              Written by Miquel van Smoorenburg <miquels@cistron.nl>.
+#              Modified for Debian GNU/Linux
+#              by Ian Murdock <imurdock@gnu.ai.mit.edu>.
+#
+# Version:     @(#)skeleton  1.8  03-Mar-1998  miquels@cistron.nl
+#
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/bosserver
+NAME=bosserver
+DESC="AFS Server"
+
+
+exec 3>/dev/null
+exec </dev/null
+
+test -f $DAEMON || exit 0
+
+
+
+case "$1" in
+  start)
+       echo -n "Starting $DESC: "
+       start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
+               --exec $DAEMON
+       echo "$NAME."
+       ;;
+  stop)
+       echo -n "Stopping $DESC: "
+    bos shutdown localhost -wait -localauth
+       start-stop-daemon --stop --quiet  \
+               --exec $DAEMON
+       echo "$NAME."
+       ;;
+  #reload)
+       #
+       #       If the daemon can reload its config files on the fly
+       #       for example by sending it SIGHUP, do it here.
+       #
+       #       If the daemon responds to changes in its config file
+       #       directly anyway, make this a do-nothing entry.
+       #
+       # echo "Reloading $DESC configuration files."
+       # start-stop-daemon --stop --signal 1 --quiet --pidfile \
+       #       /var/run/$NAME.pid --exec $DAEMON
+  #;;
+  restart|force-reload)
+       #
+       #       If the "reload" option is implemented, move the "force-reload"
+       #       option to the "reload" entry above. If not, "force-reload" is
+       #       just the same as "restart".
+       #
+       echo -n "Restarting $DESC: "
+    bos restart localhost -localauth -bos
+       sleep 1
+       echo "$NAME."
+       ;;
+  *)
+       N=/etc/init.d/$NAME
+       # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+       echo "Usage: $N {start|stop|restart|force-reload}" >&2
+       exit 1
+       ;;
+esac
+
+exit 0
diff --git a/src/packaging/Debian/openafs-fileserver.lintian b/src/packaging/Debian/openafs-fileserver.lintian
new file mode 100644 (file)
index 0000000..87d699b
--- /dev/null
@@ -0,0 +1,2 @@
+openafs-fileserver: link-to-undocumented-manpage
+openafs-fileserver: non-standard-dir-perm
diff --git a/src/packaging/Debian/openafs-fileserver.postinst b/src/packaging/Debian/openafs-fileserver.postinst
new file mode 100644 (file)
index 0000000..a63e6c4
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/sh -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+
+case "$1" in
+    configure)
+
+       . /usr/share/debconf/confmodule
+
+       db_version 2.0
+
+       db_get openafs-fileserver/thiscell
+       echo $RET >/etc/openafs/server/ThisCell
+       if [ -f /etc/openafs/server/CellServDB ] ; then :
+           else echo \>$RET >/etc/openafs/server/CellServDB
+           fi
+           if [ "x$2" != "x" ] ; then
+               if dpkg --compare-versions $2 lt 1.2.0-1 ; then
+                   mv /etc/openafs/server-local/BosConfig /etc/openafs/BosConfig ||true
+                   mv /etc/openafs/server-local/sysid /var/lib/openafs ||true
+                   fi
+               fi
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 0
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+#DEBHELPER#
+
+exit 0
diff --git a/src/packaging/Debian/openafs-fileserver.postrm b/src/packaging/Debian/openafs-fileserver.postrm
new file mode 100644 (file)
index 0000000..b84bf8c
--- /dev/null
@@ -0,0 +1,41 @@
+#! /bin/sh
+# postrm script for openafs
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
+# for details, see /usr/share/doc/packaging-manual/
+
+case "$1" in
+purge)
+    rm /etc/openafs/server/ThisCell 2>/dev/null || true
+    (cd /etc/openafs/server && rm CellServDB UserList) 2>/dev/null ||true
+    (cd /etc/openafs/server-local && rm BosConfig) 2>/dev/null ||true
+    ;;
+       remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+
+
+        ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 0
+
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+
diff --git a/src/packaging/Debian/openafs-fileserver.preinst b/src/packaging/Debian/openafs-fileserver.preinst
new file mode 100644 (file)
index 0000000..6536fc0
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+set -e
+
+if [ upgrade = $1 ] ; then
+       . /usr/share/debconf/confmodule
+fi
+#DEBHELPER#
+
+exit 0
diff --git a/src/packaging/Debian/openafs-fileserver.templates b/src/packaging/Debian/openafs-fileserver.templates
new file mode 100644 (file)
index 0000000..c43683a
--- /dev/null
@@ -0,0 +1,31 @@
+Template: openafs-fileserver/thiscell
+Type: string
+Description: What cell does this server serve files for?
+ AFS fileservers belong to a cell.  They have the key for that cell's
+ Kerberos service and serve volumes into that cell.  Normally, this
+ cell is the same cell as the workstation's client belongs to.
+Description-de: Für welche Zelle liefert der Server Dateien?
+ AFS-Dateiserver gehören zu einer Zelle. Die Server haben den Schlüssel
+ für den Kerberos-Service der Zelle und stellen Volumes für die Zelle
+ bereit. Normalerweise ist die Zelle identisch mit der des Clients
+
+template: openafs-fileserver/bosconfig_moved
+Type: boolean
+default: true
+Description: Upgrading will move files to new locations; continue? 
+ Between Openafs 1.1 and Openafs 1.2, several files moved.  In
+ particular,  files in /etc/openafs/server-local have been distributed
+ to other locations.  The BosConfig file is now located in
+ /etc/openafs and the other files are located in /var/lib/openafs.  If
+ you continue with this upgrade, these files will be moved. You should
+ use the bos restart command to  reload your servers.  Any
+ configuration changes made before you do so will be lost.
+
+template: openafs-fileserver/alpha-broken
+Type: note
+Description: OpenAFS Fileserv Probably does not work!
+ You are running the OpenAFS file server package on an alpha.  This
+ probably doesn't work; the DES code is flaky on the alpha, along with
+ the threaded file server.  Likely, the fileserver will simply fail to
+ start, but if it does load, data corruption may result.  You have been
+ warned.
diff --git a/src/packaging/Debian/openafs-fileserver.undocumented b/src/packaging/Debian/openafs-fileserver.undocumented
new file mode 100644 (file)
index 0000000..49eaaa4
--- /dev/null
@@ -0,0 +1 @@
+bosserver.8
diff --git a/src/packaging/Debian/openafs-kpasswd.dirs b/src/packaging/Debian/openafs-kpasswd.dirs
new file mode 100644 (file)
index 0000000..7276ecd
--- /dev/null
@@ -0,0 +1 @@
+usr/share/doc
diff --git a/src/packaging/Debian/openafs-kpasswd.undocumented b/src/packaging/Debian/openafs-kpasswd.undocumented
new file mode 100644 (file)
index 0000000..bee593a
--- /dev/null
@@ -0,0 +1,2 @@
+kpasswd.1
+kas.1
diff --git a/src/packaging/Debian/openafs-modules-source.docs b/src/packaging/Debian/openafs-modules-source.docs
new file mode 100644 (file)
index 0000000..79b2a31
--- /dev/null
@@ -0,0 +1,5 @@
+README
+debian/README.servers
+debian/configuration-transcript.txt
+debian/README.modules
+NEWS
diff --git a/src/packaging/Debian/patch.001_libafs_destination_name b/src/packaging/Debian/patch.001_libafs_destination_name
new file mode 100644 (file)
index 0000000..728f03a
--- /dev/null
@@ -0,0 +1,18 @@
+Index: src/libafs/MakefileProto.LINUX.in
+===================================================================
+RCS file: /afs/sipb.mit.edu/project/openafs/debian/cvs/openafs/src/libafs/MakefileProto.LINUX.in,v
+retrieving revision 1.1.1.3
+diff -u -r1.1.1.3 MakefileProto.LINUX.in
+--- src/libafs/MakefileProto.LINUX.in  14 Jul 2001 22:22:46 -0000      1.1.1.3
++++ src/libafs/MakefileProto.LINUX.in  16 Jul 2001 09:40:24 -0000
+@@ -143,8 +143,8 @@
+ LIBAFS = libafs-${CLIENT}.o
+ LIBAFS_MP = libafs-${CLIENT}.mp.o
+-DEST_LIBAFS = ${DESTDIR}/root.client/usr/vice/etc/modload/${LIBAFS}
+-DEST_LIBAFS_MP = ${DESTDIR}/root.client/usr/vice/etc/modload/${LIBAFS_MP}
++DEST_LIBAFS = ${DESTDIR}/root.client/usr/vice/etc/modload/openafs.o
++DEST_LIBAFS_MP = ${DESTDIR}/root.client/usr/vice/etc/modload/openafs.mp.o
+ libafs:       $(DEST_LIBAFS) 
diff --git a/src/packaging/Debian/patch.002_sketchy_hpux_process_c b/src/packaging/Debian/patch.002_sketchy_hpux_process_c
new file mode 100644 (file)
index 0000000..2d247c6
--- /dev/null
@@ -0,0 +1,18 @@
+Index: src/lwp//process.c
+===================================================================
+RCS file: /afs/sipb/project/openafs/debian/cvs/openafs/src/lwp/process.c,v
+retrieving revision 1.8
+diff -u -r1.8 process.c
+--- src/lwp//process.c 11 Sep 2001 15:48:27 -0000      1.8
++++ src/lwp//process.c 25 Feb 2002 19:42:17 -0000
+@@ -92,7 +92,9 @@
+ #elif defined(AFS_HPUX_ENV)
+ #define       LWP_SP  1
+ #elif defined(AFS_LINUX20_ENV)
+-#if defined(AFS_PPC_LINUX20_ENV)
++#if defined(AFS_PARISC_LINUX24_ENV )
++#define       LWP_SP  1
++#elif defined(AFS_PPC_LINUX20_ENV)
+ #define LWP_SP 0
+ #elif   defined(AFS_I386_LINUX20_ENV)
+ #define LWP_SP 4
diff --git a/src/packaging/Debian/patch.004_bozo_permissions b/src/packaging/Debian/patch.004_bozo_permissions
new file mode 100644 (file)
index 0000000..9ddcff5
--- /dev/null
@@ -0,0 +1,16 @@
+Index: src/bozo//bosoprocs.c
+===================================================================
+RCS file: /afs/sipb.mit.edu/project/openafs/debian/cvs/openafs/src/bozo/bosoprocs.c,v
+retrieving revision 1.1.1.8
+diff -u -r1.1.1.8 bosoprocs.c
+--- bosoprocs.c        2001/10/14 18:04:05     1.1.1.8
++++ bosoprocs.c        2001/11/25 22:57:19
+@@ -1160,7 +1160,7 @@
+ struct bozo_bosEntryStats bozo_bosEntryStats[] = {
+     {NULL, 1,1, 0755, 02}, /* AFSDIR_SERVER_AFS_DIRPATH    */
+-    {NULL, 1,1, 0755, 02}, /* AFSDIR_SERVER_ETC_DIRPATH    */
++    {NULL, 1,1, 0700, 02}, /* AFSDIR_SERVER_ETC_DIRPATH    */
+     {NULL, 1,1, 0755, 02}, /* AFSDIR_SERVER_BIN_DIRPATH    */
+     {NULL, 1,1, 0755, 02}, /* AFSDIR_SERVER_LOGS_DIRPATH   */
+     {NULL, 1,0, 0700, 07}, /* AFSDIR_SERVER_BACKUP_DIRPATH */
diff --git a/src/packaging/Debian/patch.006_more_bozo_permissions b/src/packaging/Debian/patch.006_more_bozo_permissions
new file mode 100644 (file)
index 0000000..5263b23
--- /dev/null
@@ -0,0 +1,16 @@
+Index: src/bozo//bosoprocs.c
+===================================================================
+RCS file: /afs/sipb.mit.edu/project/openafs/debian/cvs/openafs/src/bozo/bosoprocs.c,v
+retrieving revision 1.2
+diff -u -r1.2 bosoprocs.c
+--- bosoprocs.c        2001/11/25 23:06:38     1.2
++++ bosoprocs.c        2001/11/25 23:19:53
+@@ -1165,7 +1165,7 @@
+     {NULL, 1,1, 0755, 02}, /* AFSDIR_SERVER_LOGS_DIRPATH   */
+     {NULL, 1,0, 0700, 07}, /* AFSDIR_SERVER_BACKUP_DIRPATH */
+     {NULL, 1,1, 0700, 07}, /* AFSDIR_SERVER_DB_DIRPATH     */
+-    {NULL, 1,1, 0700, 07}, /* AFSDIR_SERVER_LOCAL_DIRPATH  */
++    {NULL, 1,1, 0700, 02}, /* AFSDIR_SERVER_LOCAL_DIRPATH  */
+     {NULL, 0,1, 0600, 07}, /* AFSDIR_SERVER_KEY_FILEPATH   */
+     {NULL, 0,1, 0600, 03}};/* AFSDIR_SERVER_ULIST_FILEPATH */
+ int bozo_nbosEntryStats =
diff --git a/src/packaging/Debian/postinst.mod b/src/packaging/Debian/postinst.mod
new file mode 100644 (file)
index 0000000..cfb292b
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh -e
+
+update-modules
+
+exit 0
diff --git a/src/packaging/Debian/prep-modules b/src/packaging/Debian/prep-modules
new file mode 100644 (file)
index 0000000..ed05703
--- /dev/null
@@ -0,0 +1,55 @@
+#! /bin/sh
+
+set -e
+
+if [ $# -ne 2 ]; then
+       echo Usage: $0 kernelsource-location control-template
+       exit 1
+fi
+
+
+changelog="$1/debian/changelog"
+if [ -n "$KVERS" ] && [ -n "$KDREV" ]; then
+  linuxversion=$KVERS${INT_SUBARCH}
+  kernversion=$KDREV
+
+elif [ ! -f $changelog ]; then
+        linuxversion=`awk '{ if (NR==1) v=$3; else if (NR==2) p=$3; else if (NR==3) s=$3; \
+                else if (NR==4) { e=$3; exit; } } \
+                END { printf("%s.%s.%s%s\n",v,p,s,e); }' $1/Makefile`
+
+        if [ -z "$KDREV" ]; then
+          kernversion=$linuxversion-0
+        else
+           linuxversion=${linuxversion}${INT_SUBARCH}
+          kernversion=$KDREV
+        fi
+
+else
+        linuxversion=`head -1 $changelog | \
+                sed -e 's/.*source-\([^ ]*\) (\([^)]*\)).*/\1/'`
+        kernversion=`head -1 $changelog | \
+                sed -e 's/.*source-\([^ ]*\) (\([^)]*\)).*/\2/'`
+fi
+
+pkgversion=`head -1 debian/changelog | \
+       sed -e 's/.*(\([^)]*\)).*/\1/'`
+
+pkgupversion=`echo $pkgversion | cut -d- -f 1`
+pkgupversion2=`perl -e "\"$pkgupversion\" =~ /(.*?)(\d+)\D*$/;"'printf $1 . ($2+1);'`
+
+sed -e s/=KVERS/$linuxversion/g -e s/=KREVS/$kernversion/g -e s/=AVERS/$pkgupversion/g -e s/=2AVERS/$pkgupversion2/g $2
+
+mprefix=`grep Package: $2 | cut -d' ' -f 2 | cut -d= -f 1`
+
+rm -f debian/tmp/usr/share/doc/$mprefix$linuxversion
+
+
+epochversion=`echo $kernversion | sed -n -e 's/^\([0-9]*\):.*/\1/p' -e 's/.*//'`
+kernversion="$pkgversion+`echo $kernversion | sed -e 's/^[0-9]*://'`"
+
+if [ -n "$epochversion" ]; then
+  kernversion=$epochversion:$kernversion
+fi
+echo "$kernversion" > debian/VERSION
+echo "$linuxversion" > debian/KVERS
diff --git a/src/packaging/Debian/prerm.mod b/src/packaging/Debian/prerm.mod
new file mode 100644 (file)
index 0000000..f11f4e1
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh -e
+exit 0
diff --git a/src/packaging/Debian/pt_util.sgml b/src/packaging/Debian/pt_util.sgml
new file mode 100644 (file)
index 0000000..9d93e91
--- /dev/null
@@ -0,0 +1,185 @@
+<!doctype refentry PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>Sam</firstname>">
+  <!ENTITY dhsurname   "<surname>Hartman</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>November 23, 2000</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>8</manvolnum>">
+  <!ENTITY dhemail     "<email>hartmans@mit.edu</email>">
+  <!ENTITY dhusername  "Sam Hartman">
+  <!ENTITY dhucpackage "<refentrytitle>OPENAFS-PTUTIL</refentrytitle>">
+  <!ENTITY dhpackage   "openafs-ptutil">
+
+  <!ENTITY debian      "<productname>Debian GNU/Linux</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+]>
+
+<refentry>
+  <docinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2000</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </docinfo>
+  <refmeta>
+
+    <refentrytitle>pt_util</refentrytitle>
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>pt_util</refname>
+
+    <refpurpose>Utility to load/dump AFS protection database</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>pt_util</command>
+         <arg><option>-w</option></arg>
+         <arg><option>-u</option></arg>
+         <arg><option>-g</option></arg>
+         <arg><option>-m</option></arg>
+         <arg><option>-n</option></arg>
+         <arg><option>-s</option></arg>
+         <arg><option>-x</option></arg>
+         <arg><option>-d <replaceable>datafile</replaceable></option></arg>
+         <arg><option>-p <replaceable>prdb</replaceable></option></arg>
+
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+       <para>This manual page documents <command>pt_util</command>, a
+       utility for dumping, loading and creating AFS protection
+       databases.  The protection database is normally made available
+       by the <command>ptserver</command> daemon running on the AFS
+       database servers.  However, <command>pt_util</command>
+       provides a mechanism for manipulating the database when
+       <command>ptserver</command> is unavailable.  This is useful to
+       create an initial database, to effect large batch changes or
+       when the database has a damaged
+       <literal>system:administrators</literal> group.</para>
+
+       <para>By default, <command>pt_util</command> opens the
+       database and prints the version.  Options allow extraction of
+       information from the database or writing new entries into the
+       database.</para>
+
+
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <variablelist>
+      <varlistentry>
+        <term><option>-h</option>
+        </term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+         <varlistentry>
+           <term><option>-w</option></term>
+           <listitem>
+             <para>Update PRDB with contents of data file or standard input if the <option>-d</option> is not used</para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term><option>-u</option></term>
+           <listitem>
+             <para>List users in the database.</para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term><option>-g</option></term>
+           <listitem>
+             <para>List groups in the database.</para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term><option>-m</option></term>
+           <listitem>
+             <para>List group members.</para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term><option>-n</option></term>
+           <listitem>
+             <para>Follow name hash chains instead of ID hashes.</para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term><option>-s</option></term>
+           <listitem>
+             <para>List only <literal>system:</literal> groups.  Used by MIT's Moira.</para>
+           </listitem>
+         </varlistentry>
+      <varlistentry>
+       <term><option>-d <replaceable>datafile</replaceable></option></term>
+       <listitem>
+         <para>Read from or write printable representation of the
+         database from <replaceable>datafile</replaceable>.</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term><option>-p <replaceable>prdb</replaceable></option></term>
+       <listitem>
+         <para>Manipulate the protection database
+         <replaceable>prdb</replaceable>.  The running protection
+         database is
+         <filename>/var/lib/openafs/db/prdb.DB0</filename></para>
+       </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+
+       <para>ptserver(8)</para>
+
+
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was written by &dhusername; &dhemail; for
+      the &debian; system (but may be used by others).</para>
+
+    <!-- <para>Permission is granted to copy, distribute and/or modify
+      this document under the terms of the <acronym>GNU</acronym> Free
+      Documentation License, Version 1.1 or any later version
+      published by the Free Software Foundation; with no Invariant
+      Sections, no Front-Cover Texts and no Back-Cover Texts.  A copy
+      of the license can be found under
+      <filename>/usr/share/common-licenses/FDL</filename>.</para> -->
+
+  </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
diff --git a/src/packaging/Debian/rules b/src/packaging/Debian/rules
new file mode 100755 (executable)
index 0000000..1fcc19f
--- /dev/null
@@ -0,0 +1,276 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper. 
+# GNU copyright 1997 by Joey Hess.
+#
+# This version is for a hypothetical package that builds an
+# architecture-dependant package, as well as an architecture-independent
+# package.
+
+# Uncomment this to turn on verbose mode. 
+#export DH_VERBOSE=1
+
+# This is the debhelper compatability version to use.
+export DH_COMPAT=2
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+# The AFS sysname is determined by a script
+KVERS=`awk '{ if (NR==1) v=$$3; else if (NR==2) p=$$3; else if (NR==3) s=$$3; \
+       else if (NR==4) { e=$$3; exit; } } \
+       END { printf("%s.%s.%s%s\n",v,p,s,e); }' $(KSRC)/Makefile`
+SYS_NAME=$(shell KVERS=$(KVERS) sh debian/sysname)
+package=openafs
+srcpkg = openafs-modules-source
+modulepkg=$(shell echo openafs-modules-$(KVERS)${INT_SUBARCH})
+ifndef KSRC
+KSRC=/usr/src/linux
+endif
+MODDIR=..
+LINTIAN_PACKAGES= openafs-client openafs-fileserver
+export KSRC 
+export KVERS
+
+
+configure: configure-stamp
+configure-stamp:
+       dh_testdir
+       -ln -s @sys/dest dest
+       -ln -s $(SYS_NAME) @sys
+#      sh regen.sh
+        afslogsdir=/var/log/openafs sh configure --with-afs-sysname=$(SYS_NAME) --disable-kernel-module \
+       --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
+       --localstatedir=/var/lib 
+       install -d $(SYS_NAME)/dest/root.client/usr/vice/etc
+       install -d dest/root.server/usr/afs/bin
+
+       touch configure-stamp
+
+build: configure-stamp build-stamp
+build-stamp:
+       dh_testdir
+
+       $(MAKE) dest 
+       -rm $(SYS_NAME)/dest/include/crypt.h
+       touch build-stamp
+
+clean:
+       dh_testdir
+       dh_testroot
+       rm -f build-stamp configure-stamp build-modules-stamp
+       # Add here commands to clean up after the build process.
+       -$(MAKE) -ki distclean
+       -rm -rf obj dest $(SYS_NAME) @sys Makefile debian/openafs-client.init
+       -rm -rf config.status config.cache lib include
+       dh_clean
+
+install: DH_OPTIONS=
+install: build
+       dh_testdir
+       dh_testroot
+       dh_clean -k
+       dh_installdirs
+       mkdir -p debian/openafs-dbserver/usr/share/man/man8
+               /usr/bin/docbook-to-man debian/pt_util.sgml >debian/openafs-dbserver/usr/share/man/man8/pt_util.8
+       for foo in $(LINTIAN_PACKAGES) ; do \
+               install -d debian/$$foo/usr/share/lintian/overrides; \
+               cp debian/$$foo.lintian debian/$$foo/usr/share/lintian/overrides/$$foo; \
+               done
+       for pkg in openafs-dbserver openafs-fileserver openafs-kpasswd; do \
+               ln -s openafs-client debian/$$pkg/usr/share/doc/$$pkg; \
+               done
+       # Add here commands to install the package into debian/tmp.
+       cat debian/filelist |sh debian/movefiles
+       mv debian/openafs-client/usr/bin/pagsh  \
+       debian/openafs-client/usr/bin/pagsh.openafs
+
+       cp debian/CellServDB debian/openafs-client/usr/share/openafs
+       cp dest/root.client/usr/vice/etc/afs.rc debian/openafs-client.init
+       cp dest/root.client/usr/vice/etc/afs.conf debian/openafs-client/etc/openafs/afs.conf
+       install -m 755 -o root -g root debian/afs-rootvol debian/openafs-dbserver/usr/sbin
+       install -g root -o root -m 755 debian/afs-newcell \
+               debian/openafs-dbserver/usr/sbin
+       install -D -m 644 debian/ConfigUtils.pm \
+               debian/openafs-dbserver/usr/lib/perl5/Debian/OpenAFS/ConfigUtils.pm
+       (cd debian&&pod2man --section 8 --center "Debian GNU/Linux"  \
+               afs-rootvol ) >debian/openafs-dbserver/usr/share/man/man8/afs-rootvol.8
+       (cd debian&&pod2man --section 8 --center "Debian GNU/Linux"  \
+               afs-newcell ) >debian/openafs-dbserver/usr/share/man/man8/afs-newcell.8
+       # No, includes should not have the x bit set
+       find debian/libopenafs-dev/usr/include -type f -print | \
+               xargs chmod a-x
+       # And drop the pam modules
+       rm debian/libopenafs-dev/usr/lib/*pam*
+
+# Build architecture-independent files here.
+# Pass -i to all debhelper commands in this target to reduce clutter.
+binary-indep: DH_OPTIONS=-i
+binary-indep: build install binary-source
+       # Need this version of debhelper for DH_OPTIONS to work.
+       dh_testversion 1.1.17
+       dh_testdir
+       dh_testroot
+#      dh_installdebconf
+       dh_installdocs
+       dh_installexamples
+       dh_installmenu
+#      dh_installemacsen
+#      dh_installpam
+#      dh_installinit
+       dh_installcron
+#      dh_installmanpages
+       dh_installinfo
+       dh_undocumented
+       dh_installchangelogs   ChangeLog
+       dh_link
+       dh_compress
+       dh_fixperms
+       # You may want to make some executables suid here.
+       dh_suidregister
+       dh_installdeb
+#      dh_perl
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+# Build architecture-dependent files here.
+# Pass -a to all debhelper commands in this target to reduce clutter.
+binary-arch: DH_OPTIONS=-a
+binary-arch: build install
+       # Need this version of debhelper for DH_OPTIONS to work.
+       dh_testversion 1.1.17
+       dh_testdir
+       dh_testroot
+       dh_installdebconf
+       dh_installdocs
+       dh_installexamples
+       dh_installmenu
+#      dh_installemacsen
+#      dh_installpam
+       DH_OPTIONS= dh_installinit -popenafs-client -r -- defaults 25 18
+       DH_OPTIONS= dh_installinit -popenafs-fileserver -r
+       dh_installcron
+#      dh_installmanpages
+       dh_installinfo
+       dh_undocumented
+       dh_installchangelogs   ChangeLog
+       dh_strip
+       dh_link
+       dh_compress
+       dh_fixperms
+       # You may want to make some executables suid here.
+       chmod 700 debian/openafs-client/var/cache/openafs
+       chmod 700 debian/openafs-fileserver/etc/openafs/server
+       chmod 700 debian/openafs-dbserver/var/lib/openafs/db
+       chmod 700 debian/openafs-fileserver/var/lib/openafs/cores
+       dh_suidregister
+       dh_installdeb
+#      dh_makeshlibs
+#      dh_perl
+       dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+binary:   binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
+
+############################Module package support
+kdist_image:  build-modules
+       $(MAKE) $(MFLAGS) -f debian/rules MODDIR=$(KSRC)/.. binary-modules
+       $(MAKE) $(MFLAGS) -f debian/rules MODDIR=$(KSRC)/.. clean
+
+kdist:  build-modules
+       $(MAKE) $(MFLAGS) -f debian/rules MODDIR=$(KSRC)/.. KERNEL_DEPENDS=y binary-modules
+       KSRC="$(KSRC)" KMAINT="$(KMAINT)" KEMAIL="$(KEMAIL)" \
+               sh -v debian/genchanges.sh
+       $(MAKE) $(MFLAGS) -f debian/rules MODDIR=$(KSRC)/.. clean
+
+
+
+kdist_config: configure
+
+kdist_clean: clean
+
+############################ source stuff #################################
+binary-source:
+# Perform some tests
+       test -f debian/rules
+       test `id -u` = "0"
+
+
+# Setup everything first
+       -rm -rf debian/$(srcpkg) debian/substvars
+       install -d debian/$(srcpkg)
+# Clean up the sources 
+       install -d debian/$(srcpkg)/usr/src/modules/$(package)
+       find . \( -name \*.o -o -path ./debian/$(srcpkg) -o -path \*/CVS -o -path ./src/WINNT  \
+               -o -path ./obj -o -path ./$(SYS_NAME)  \
+       -o \( -path ./debian/\* -type d \) \
+       -o -path ./debian/\*debhelper \) -prune -o -print | \
+               cpio -admp debian/$(srcpkg)/usr/src/modules/$(package)
+       ( cd debian/$(srcpkg)/usr/src/modules/$(package)&& \
+               $(MAKE) -f debian/rules clean && \
+       rm -rf src/libafs/rx src/libafs/afs src/libafs/afsint; \
+               mv debian/kern-sysname debian/sysname)
+       chown -R root.root debian/$(srcpkg)
+       find debian/$(srcpkg) -type d | xargs chmod 755
+       find debian/$(srcpkg) -type f -perm -100 | xargs chmod 755
+       find debian/$(srcpkg) -type f -not -perm -100 | xargs chmod 644
+       cd debian/$(srcpkg)/usr/src && \
+         tar cf $(package).tar modules && \
+         $(RM) -r modules/$(package)
+       gzip -9 debian/$(srcpkg)/usr/src/$(package).tar
+       chmod 644 debian/$(srcpkg)/usr/src/$(package).tar.gz
+############################ modules stuff #################################
+
+build-modules: build-modules-stamp
+
+build-modules-stamp: 
+       -ln -s @sys/dest dest
+       -ln -s $(SYS_NAME) @sys
+       sh configure --with-afs-sysname=$(SYS_NAME) --with-linux-kernel-headers=$(KSRC)
+       make dest_only_libafs
+       touch build-modules-stamp
+
+binary-modules: build-modules
+# Perform some tests
+       test -f debian/rules
+       test `id -u` = "0"
+
+# Setup everything first
+       -rm -rf debian/$(modulepkg) debian/substvars
+       install -d debian/$(modulepkg)
+
+# Install the software
+       install -d -g root -o root -m 755 debian/$(modulepkg)/lib/modules/$(KVERS)/fs
+       install -g root -o root -m 755  dest/root.client/usr/vice/etc/modload/*.o \
+               debian/$(modulepkg)/lib/modules/$(KVERS)/fs
+# Fix some stuff up
+       install -d -o root -g root -m 755 debian/$(modulepkg)/usr/share/doc
+       ln -s openafs-client debian/$(modulepkg)/usr/share/doc/$(modulepkg)
+       rm -rf debian/$(modulepkg)/usr/include
+ifeq ($(KERNEL_DEPENDS),y)
+       sh debian/prep-modules $(KSRC) debian/control.module > debian/control
+else
+       sh debian/prep-modules $(KSRC) debian/control.module-image > debian/control
+endif
+
+# Install control files
+       install -d -o root -g root -m 755 debian/$(modulepkg)/DEBIAN
+       install -p -o root -g root -m 755 debian/prerm.mod \
+               debian/$(modulepkg)/DEBIAN/prerm
+       install -p -o root -g root -m 755 debian/postinst.mod \
+               debian/$(modulepkg)/DEBIAN/postinst
+
+# And now.. for the final packaging!
+       find debian/$(modulepkg) -type f | grep -v "./DEBIAN" | xargs md5sum | \
+               sed -e 's#debian/$(modulepkg)/##' > debian/$(modulepkg)/DEBIAN/md5sums
+
+       dpkg-gencontrol -isp \
+               -p$(modulepkg) \
+               -v`cat debian/VERSION` \
+               -Pdebian/$(modulepkg)
+       chown -R root.root debian/$(modulepkg)
+       chmod -R go=rX debian/$(modulepkg)
+       dpkg --build debian/$(modulepkg) $(MODDIR)
diff --git a/src/packaging/Debian/sysname b/src/packaging/Debian/sysname
new file mode 100755 (executable)
index 0000000..6d3c9d1
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+case `arch` in
+    alpha)
+       echo alpha_linux_22
+       ;;
+i[3456]86)
+       echo i386_linux22
+;;
+    ia64)
+    echo ia64_linux24
+;;
+    parisc*)
+       echo parisc_linux24
+       ;;
+    ppc)
+       echo ppc_linux22
+       ;;
+    sparc|sparc64)
+       echo sparc_linux22
+       ;;
+    s390)
+    echo s390_linux22
+    ;;
+       *)
+       echo ERROr:  sysname not yet known
+       exit 1
+
+esac