From 7ce0814d3098e43e7533acd9fcf7d0acad10f37e Mon Sep 17 00:00:00 2001 From: Sam Hartman Date: Mon, 26 Aug 2002 21:52:02 +0000 Subject: [PATCH] debian-packagings-20020826 packagings for debian. --- src/packaging/Debian/ConfigUtils.pm | 26 ++ src/packaging/Debian/README.Debian | 25 + src/packaging/Debian/README.modules | 35 ++ src/packaging/Debian/README.servers | 47 ++ src/packaging/Debian/TODO | 1 + src/packaging/Debian/afs-newcell | 191 ++++++++ src/packaging/Debian/afs-rootvol | 157 +++++++ src/packaging/Debian/changelog | 440 ++++++++++++++++++ .../Debian/configuration-transcript.txt | 418 +++++++++++++++++ src/packaging/Debian/control | 84 ++++ src/packaging/Debian/control.module | 16 + src/packaging/Debian/control.module-image | 17 + src/packaging/Debian/copyright | 242 ++++++++++ src/packaging/Debian/filelist | 15 + src/packaging/Debian/genchanges.sh | 22 + src/packaging/Debian/kern-sysname | 61 +++ src/packaging/Debian/make-links | 9 + src/packaging/Debian/movefiles | 14 + src/packaging/Debian/openafs-client.conffiles | 2 + src/packaging/Debian/openafs-client.config | 42 ++ src/packaging/Debian/openafs-client.dirs | 4 + src/packaging/Debian/openafs-client.docs | 6 + src/packaging/Debian/openafs-client.lintian | 3 + src/packaging/Debian/openafs-client.postinst | 90 ++++ src/packaging/Debian/openafs-client.postrm | 43 ++ src/packaging/Debian/openafs-client.prerm | 29 ++ src/packaging/Debian/openafs-client.templates | 85 ++++ .../Debian/openafs-client.undocumented | 13 + src/packaging/Debian/openafs-dbserver.dirs | 4 + .../Debian/openafs-fileserver.conffiles | 1 + .../Debian/openafs-fileserver.config | 38 ++ src/packaging/Debian/openafs-fileserver.dirs | 6 + src/packaging/Debian/openafs-fileserver.init | 71 +++ .../Debian/openafs-fileserver.lintian | 2 + .../Debian/openafs-fileserver.postinst | 46 ++ .../Debian/openafs-fileserver.postrm | 41 ++ .../Debian/openafs-fileserver.preinst | 9 + .../Debian/openafs-fileserver.templates | 31 ++ .../Debian/openafs-fileserver.undocumented | 1 + src/packaging/Debian/openafs-kpasswd.dirs | 1 + .../Debian/openafs-kpasswd.undocumented | 2 + .../Debian/openafs-modules-source.docs | 5 + .../Debian/patch.001_libafs_destination_name | 18 + .../Debian/patch.002_sketchy_hpux_process_c | 18 + .../Debian/patch.004_bozo_permissions | 16 + .../Debian/patch.006_more_bozo_permissions | 16 + src/packaging/Debian/postinst.mod | 5 + src/packaging/Debian/prep-modules | 55 +++ src/packaging/Debian/prerm.mod | 2 + src/packaging/Debian/pt_util.sgml | 185 ++++++++ src/packaging/Debian/rules | 276 +++++++++++ src/packaging/Debian/sysname | 28 ++ 52 files changed, 3014 insertions(+) create mode 100644 src/packaging/Debian/ConfigUtils.pm create mode 100644 src/packaging/Debian/README.Debian create mode 100644 src/packaging/Debian/README.modules create mode 100644 src/packaging/Debian/README.servers create mode 100644 src/packaging/Debian/TODO create mode 100644 src/packaging/Debian/afs-newcell create mode 100644 src/packaging/Debian/afs-rootvol create mode 100644 src/packaging/Debian/changelog create mode 100644 src/packaging/Debian/configuration-transcript.txt create mode 100644 src/packaging/Debian/control create mode 100644 src/packaging/Debian/control.module create mode 100644 src/packaging/Debian/control.module-image create mode 100644 src/packaging/Debian/copyright create mode 100644 src/packaging/Debian/filelist create mode 100644 src/packaging/Debian/genchanges.sh create mode 100644 src/packaging/Debian/kern-sysname create mode 100644 src/packaging/Debian/make-links create mode 100755 src/packaging/Debian/movefiles create mode 100644 src/packaging/Debian/openafs-client.conffiles create mode 100644 src/packaging/Debian/openafs-client.config create mode 100644 src/packaging/Debian/openafs-client.dirs create mode 100644 src/packaging/Debian/openafs-client.docs create mode 100644 src/packaging/Debian/openafs-client.lintian create mode 100644 src/packaging/Debian/openafs-client.postinst create mode 100644 src/packaging/Debian/openafs-client.postrm create mode 100644 src/packaging/Debian/openafs-client.prerm create mode 100644 src/packaging/Debian/openafs-client.templates create mode 100644 src/packaging/Debian/openafs-client.undocumented create mode 100644 src/packaging/Debian/openafs-dbserver.dirs create mode 100644 src/packaging/Debian/openafs-fileserver.conffiles create mode 100644 src/packaging/Debian/openafs-fileserver.config create mode 100644 src/packaging/Debian/openafs-fileserver.dirs create mode 100755 src/packaging/Debian/openafs-fileserver.init create mode 100644 src/packaging/Debian/openafs-fileserver.lintian create mode 100644 src/packaging/Debian/openafs-fileserver.postinst create mode 100644 src/packaging/Debian/openafs-fileserver.postrm create mode 100644 src/packaging/Debian/openafs-fileserver.preinst create mode 100644 src/packaging/Debian/openafs-fileserver.templates create mode 100644 src/packaging/Debian/openafs-fileserver.undocumented create mode 100644 src/packaging/Debian/openafs-kpasswd.dirs create mode 100644 src/packaging/Debian/openafs-kpasswd.undocumented create mode 100644 src/packaging/Debian/openafs-modules-source.docs create mode 100644 src/packaging/Debian/patch.001_libafs_destination_name create mode 100644 src/packaging/Debian/patch.002_sketchy_hpux_process_c create mode 100644 src/packaging/Debian/patch.004_bozo_permissions create mode 100644 src/packaging/Debian/patch.006_more_bozo_permissions create mode 100644 src/packaging/Debian/postinst.mod create mode 100644 src/packaging/Debian/prep-modules create mode 100644 src/packaging/Debian/prerm.mod create mode 100644 src/packaging/Debian/pt_util.sgml create mode 100755 src/packaging/Debian/rules create mode 100755 src/packaging/Debian/sysname diff --git a/src/packaging/Debian/ConfigUtils.pm b/src/packaging/Debian/ConfigUtils.pm new file mode 100644 index 000000000..4d35047bc --- /dev/null +++ b/src/packaging/Debian/ConfigUtils.pm @@ -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 index 000000000..884fad6a9 --- /dev/null +++ b/src/packaging/Debian/README.Debian @@ -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 , 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 index 000000000..d2c8e0168 --- /dev/null +++ b/src/packaging/Debian/README.modules @@ -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 index 000000000..8bbae5966 --- /dev/null +++ b/src/packaging/Debian/README.servers @@ -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 index 000000000..dbbd37de6 --- /dev/null +++ b/src/packaging/Debian/TODO @@ -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 index 000000000..b896f000d --- /dev/null +++ b/src/packaging/Debian/afs-newcell @@ -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 [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 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 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 + +=cut + +# main script + +GetOptions ( + "requirements-met" => \$requirements_met, + "admin=s" => \$admin); + +unless ($requirements_met) { + print <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() { +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 = ; +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() { +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 < [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 + +=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 <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 = ; +close CELL; +chomp $cell; + +unless ($server) { + print <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() { + 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 index 000000000..eb3c91a2d --- /dev/null +++ b/src/packaging/Debian/changelog @@ -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 Fri, 2 Aug 2002 17:33:11 -0400 + +openafs (1.2.5-1) unstable; urgency=low + + * New upstream version. + + -- Sam Hartman 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 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 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 Sat, 16 Mar 2002 15:33:33 -0500 + +openafs (1.2.3final2-3) unstable; urgency=medium + + * Oops, install backup + + -- Sam Hartman 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Thu, 8 Mar 2001 14:35:57 -0500 + +openafs (1.0.2-3) unstable; urgency=low + + * Apply patch from Stefan Kluth for ppc_linux22 + * Back out architecture change from last version; no good way to + actually solve that problem apparently. + + + -- Sam Hartman 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 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 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 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 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 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 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 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 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 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 + + -- 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 Sun, 19 Nov 2000 19:27:01 -0500 + +openafs (1.0.snap20001106-4) unstable; urgency=low + + * Fix so dpkg-buildpackage works. Oops. + + -- Sam Hartman 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 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 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 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 Mon, 6 Nov 2000 09:39:11 -0500 + +openafs (1.0.snap20001103-1) unstable; urgency=low + + * Initial Release. + + -- unknown 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 index 000000000..b9403e2c0 --- /dev/null +++ b/src/packaging/Debian/configuration-transcript.txt @@ -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/41/42/43/4done +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 index 000000000..0b81a1e20 --- /dev/null +++ b/src/packaging/Debian/control @@ -0,0 +1,84 @@ +Source: openafs +Section: net +Priority: optional +Maintainer: Sam Hartman +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 index 000000000..7ceb277b4 --- /dev/null +++ b/src/packaging/Debian/control.module @@ -0,0 +1,16 @@ +Source: openafs +Section: net +Priority: optional +Maintainer: Sam Hartman +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 index 000000000..7d38b409b --- /dev/null +++ b/src/packaging/Debian/control.module-image @@ -0,0 +1,17 @@ +Source: openafs +Section: net +Priority: optional +Maintainer: Sam Hartman +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 index 000000000..a68b88be0 --- /dev/null +++ b/src/packaging/Debian/copyright @@ -0,0 +1,242 @@ +This package was debianized by Sam Hartman 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 index 000000000..bb3a06a02 --- /dev/null +++ b/src/packaging/Debian/filelist @@ -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 index 000000000..5d50cd542 --- /dev/null +++ b/src/packaging/Debian/genchanges.sh @@ -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 index 000000000..6c51c9b31 --- /dev/null +++ b/src/packaging/Debian/kern-sysname @@ -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 index 000000000..78ddaecee --- /dev/null +++ b/src/packaging/Debian/make-links @@ -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 index 000000000..11aed2912 --- /dev/null +++ b/src/packaging/Debian/movefiles @@ -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 index 000000000..5f74788b0 --- /dev/null +++ b/src/packaging/Debian/openafs-client.conffiles @@ -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 index 000000000..68a7e61e0 --- /dev/null +++ b/src/packaging/Debian/openafs-client.config @@ -0,0 +1,42 @@ +#!/bin/sh -e + +. /usr/share/debconf/confmodule ||exit + +db_version 2.0 +if [ -r /etc/openafs/ThisCell ] ; then + read cell `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# + +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 &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 index 000000000..08fa0b564 --- /dev/null +++ b/src/packaging/Debian/openafs-client.postrm @@ -0,0 +1,43 @@ +#! /bin/sh +# postrm script for openafs +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# 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 index 000000000..0c9a91345 --- /dev/null +++ b/src/packaging/Debian/openafs-client.prerm @@ -0,0 +1,29 @@ +#!/bin/sh -e + + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# 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 index 000000000..0dabd8c08 --- /dev/null +++ b/src/packaging/Debian/openafs-client.templates @@ -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 index 000000000..f9cfb931c --- /dev/null +++ b/src/packaging/Debian/openafs-client.undocumented @@ -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 index 000000000..8d5356674 --- /dev/null +++ b/src/packaging/Debian/openafs-dbserver.dirs @@ -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 index 000000000..154a61367 --- /dev/null +++ b/src/packaging/Debian/openafs-fileserver.conffiles @@ -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 index 000000000..524c4c37a --- /dev/null +++ b/src/packaging/Debian/openafs-fileserver.config @@ -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 . +# Modified for Debian GNU/Linux +# by Ian Murdock . +# +# 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 &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 index 000000000..87d699bec --- /dev/null +++ b/src/packaging/Debian/openafs-fileserver.lintian @@ -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 index 000000000..a63e6c44e --- /dev/null +++ b/src/packaging/Debian/openafs-fileserver.postinst @@ -0,0 +1,46 @@ +#!/bin/sh -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# + +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 index 000000000..b84bf8c47 --- /dev/null +++ b/src/packaging/Debian/openafs-fileserver.postrm @@ -0,0 +1,41 @@ +#! /bin/sh +# postrm script for openafs +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# 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 index 000000000..6536fc0de --- /dev/null +++ b/src/packaging/Debian/openafs-fileserver.preinst @@ -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 index 000000000..c43683ad6 --- /dev/null +++ b/src/packaging/Debian/openafs-fileserver.templates @@ -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 index 000000000..49eaaa453 --- /dev/null +++ b/src/packaging/Debian/openafs-fileserver.undocumented @@ -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 index 000000000..7276ecdef --- /dev/null +++ b/src/packaging/Debian/openafs-kpasswd.dirs @@ -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 index 000000000..bee593a96 --- /dev/null +++ b/src/packaging/Debian/openafs-kpasswd.undocumented @@ -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 index 000000000..79b2a3161 --- /dev/null +++ b/src/packaging/Debian/openafs-modules-source.docs @@ -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 index 000000000..728f03a00 --- /dev/null +++ b/src/packaging/Debian/patch.001_libafs_destination_name @@ -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 index 000000000..2d247c617 --- /dev/null +++ b/src/packaging/Debian/patch.002_sketchy_hpux_process_c @@ -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 index 000000000..9ddcff544 --- /dev/null +++ b/src/packaging/Debian/patch.004_bozo_permissions @@ -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 index 000000000..5263b23b0 --- /dev/null +++ b/src/packaging/Debian/patch.006_more_bozo_permissions @@ -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 index 000000000..cfb292bfe --- /dev/null +++ b/src/packaging/Debian/postinst.mod @@ -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 index 000000000..ed0570304 --- /dev/null +++ b/src/packaging/Debian/prep-modules @@ -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 index 000000000..f11f4e184 --- /dev/null +++ b/src/packaging/Debian/prerm.mod @@ -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 index 000000000..9d93e91e1 --- /dev/null +++ b/src/packaging/Debian/pt_util.sgml @@ -0,0 +1,185 @@ + + Sam"> + Hartman"> + + November 23, 2000"> + + 8"> + hartmans@mit.edu"> + + OPENAFS-PTUTIL"> + + + Debian GNU/Linux"> + GNU"> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2000 + &dhusername; + + &dhdate; +
+ + + pt_util + &dhsection; + + + pt_util + + Utility to load/dump AFS protection database + + + + pt_util + + + + + + + + + + + + + + DESCRIPTION + + This manual page documents pt_util, a + utility for dumping, loading and creating AFS protection + databases. The protection database is normally made available + by the ptserver daemon running on the AFS + database servers. However, pt_util + provides a mechanism for manipulating the database when + ptserver is unavailable. This is useful to + create an initial database, to effect large batch changes or + when the database has a damaged + system:administrators group. + + By default, pt_util opens the + database and prints the version. Options allow extraction of + information from the database or writing new entries into the + database. + + + + + OPTIONS + + + + + + + Show summary of options. + + + + + + Update PRDB with contents of data file or standard input if the is not used + + + + + + List users in the database. + + + + + + List groups in the database. + + + + + + List group members. + + + + + + Follow name hash chains instead of ID hashes. + + + + + + List only system: groups. Used by MIT's Moira. + + + + + + Read from or write printable representation of the + database from datafile. + + + + + + Manipulate the protection database + prdb. The running protection + database is + /var/lib/openafs/db/prdb.DB0 + + + + + + SEE ALSO + + ptserver(8) + + + + + AUTHOR + + This manual page was written by &dhusername; &dhemail; for + the &debian; system (but may be used by others). + + + + +
+ + diff --git a/src/packaging/Debian/rules b/src/packaging/Debian/rules new file mode 100755 index 000000000..1fcc19f40 --- /dev/null +++ b/src/packaging/Debian/rules @@ -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 index 000000000..6d3c9d1a3 --- /dev/null +++ b/src/packaging/Debian/sysname @@ -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 -- 2.39.5