debian-packaging-update-20080220
authorDerrick Brashear <shadow@dementia.org>
Wed, 20 Feb 2008 21:31:02 +0000 (21:31 +0000)
committerDerrick Brashear <shadow@dementia.org>
Wed, 20 Feb 2008 21:31:02 +0000 (21:31 +0000)
LICENSE IPL10

Russ' metadata, repacked into our tree

95 files changed:
Makefile.in
configure.in
src/packaging/Debian/CellServDB [new file with mode: 0644]
src/packaging/Debian/ConfigUtils.pm
src/packaging/Debian/README.Debian
src/packaging/Debian/README.servers
src/packaging/Debian/TODO
src/packaging/Debian/afs-newcell
src/packaging/Debian/afs.conf
src/packaging/Debian/changelog
src/packaging/Debian/compat
src/packaging/Debian/configuration-transcript.txt
src/packaging/Debian/control
src/packaging/Debian/control.module-image [deleted file]
src/packaging/Debian/copyright
src/packaging/Debian/doc/build-man [deleted file]
src/packaging/Debian/filelist [deleted file]
src/packaging/Debian/libopenafs-dev.install
src/packaging/Debian/make-links [deleted file]
src/packaging/Debian/module/compat [new file with mode: 0644]
src/packaging/Debian/module/control [new file with mode: 0644]
src/packaging/Debian/module/control.in [moved from src/packaging/Debian/control.module with 89% similarity]
src/packaging/Debian/module/genchanges [moved from src/packaging/Debian/genchanges.sh with 86% similarity]
src/packaging/Debian/module/kernel-version [moved from src/packaging/Debian/kernel-version with 69% similarity]
src/packaging/Debian/module/prep-modules [moved from src/packaging/Debian/prep-modules with 98% similarity]
src/packaging/Debian/module/rules [new file with mode: 0644]
src/packaging/Debian/module/sysname [moved from src/packaging/Debian/kern-sysname with 69% similarity]
src/packaging/Debian/movefiles [deleted file]
src/packaging/Debian/openafs-client.NEWS [new file with mode: 0644]
src/packaging/Debian/openafs-client.conffiles [deleted file]
src/packaging/Debian/openafs-client.init [new file with mode: 0644]
src/packaging/Debian/openafs-client.install
src/packaging/Debian/openafs-client.postinst
src/packaging/Debian/openafs-client.postrm
src/packaging/Debian/openafs-client.templates
src/packaging/Debian/openafs-client.undocumented [deleted file]
src/packaging/Debian/openafs-dbserver.dirs
src/packaging/Debian/openafs-dbserver.install
src/packaging/Debian/openafs-dbserver.postrm [new file with mode: 0644]
src/packaging/Debian/openafs-doc.README.Debian [new file with mode: 0644]
src/packaging/Debian/openafs-doc.doc-base.openafs-admin [new file with mode: 0644]
src/packaging/Debian/openafs-doc.doc-base.openafs-quick [new file with mode: 0644]
src/packaging/Debian/openafs-doc.doc-base.openafs-user [new file with mode: 0644]
src/packaging/Debian/openafs-doc.docs [new file with mode: 0644]
src/packaging/Debian/openafs-doc.examples [new file with mode: 0644]
src/packaging/Debian/openafs-fileserver.NEWS [new file with mode: 0644]
src/packaging/Debian/openafs-fileserver.conffiles [deleted file]
src/packaging/Debian/openafs-fileserver.dirs
src/packaging/Debian/openafs-fileserver.init
src/packaging/Debian/openafs-fileserver.install
src/packaging/Debian/openafs-fileserver.postinst
src/packaging/Debian/openafs-fileserver.postrm
src/packaging/Debian/openafs-fileserver.preinst [deleted file]
src/packaging/Debian/openafs-fileserver.templates
src/packaging/Debian/openafs-fileserver.undocumented [deleted file]
src/packaging/Debian/openafs-kpasswd.install
src/packaging/Debian/openafs-kpasswd.undocumented [deleted file]
src/packaging/Debian/openafs-krb5.install [new file with mode: 0644]
src/packaging/Debian/patch.001_libafs_destination_name [deleted file]
src/packaging/Debian/patch.002_sketchy_hpux_process_c [deleted file]
src/packaging/Debian/patch.004_bozo_permissions [deleted file]
src/packaging/Debian/patch.006_more_bozo_permissions [deleted file]
src/packaging/Debian/patches/README [deleted file]
src/packaging/Debian/patches/afs-man-name [new file with mode: 0644]
src/packaging/Debian/patches/alloc-vnode [new file with mode: 0644]
src/packaging/Debian/patches/bos-permissions [new file with mode: 0644]
src/packaging/Debian/patches/compiler-flags [new file with mode: 0644]
src/packaging/Debian/patches/dfsg [new file with mode: 0644]
src/packaging/Debian/patches/find-core-files [new file with mode: 0644]
src/packaging/Debian/patches/fstrace-paths [new file with mode: 0644]
src/packaging/Debian/patches/ktc-prototypes [new file with mode: 0644]
src/packaging/Debian/patches/linux-2.6.24 [new file with mode: 0644]
src/packaging/Debian/patches/module-name
src/packaging/Debian/patches/multiple-local-realms [new file with mode: 0644]
src/packaging/Debian/patches/no-admin-reference [new file with mode: 0644]
src/packaging/Debian/patches/pam [deleted file]
src/packaging/Debian/patches/pam-build [new file with mode: 0644]
src/packaging/Debian/patches/paths [new file with mode: 0644]
src/packaging/Debian/patches/series [new file with mode: 0644]
src/packaging/Debian/patches/ucontext-everywhere [new file with mode: 0644]
src/packaging/Debian/po/cs.po
src/packaging/Debian/po/de.po
src/packaging/Debian/po/fr.po
src/packaging/Debian/po/nl.po [new file with mode: 0644]
src/packaging/Debian/po/pt.po [new file with mode: 0644]
src/packaging/Debian/po/pt_BR.po
src/packaging/Debian/po/templates.pot [new file with mode: 0644]
src/packaging/Debian/po/vi.po
src/packaging/Debian/po/zh_CN.po [new file with mode: 0644]
src/packaging/Debian/postinst.mod [deleted file]
src/packaging/Debian/prerm.mod [deleted file]
src/packaging/Debian/pt_util.sgml [deleted file]
src/packaging/Debian/rules.in [moved from src/packaging/Debian/rules with 52% similarity, mode: 0644]
src/packaging/Debian/sysname
src/packaging/Debian/watch [new file with mode: 0644]

index b94a3de..89466ea 100644 (file)
@@ -63,6 +63,10 @@ dest_only_libafs: only_libafs dest_dirs
        $(MAKE) build TARGET=libafs COMPILE_PART2B=dest
        -${INSTALL_DATA} ${srcdir}/src/LICENSE ${DEST}/LICENSE
 
+dpkg: dest
+       ln -fs ${srcdir}/src/packaging/Debian debian
+       dpkg-buildpackage -rfakeroot -us -uc
+
 packages: dest
        @case ${SYS_NAME} in \
        *_darwin_* ) \
index 1be45f2..bf283e1 100644 (file)
@@ -80,6 +80,7 @@ src/log/Makefile \
 src/log/test/Makefile \
 src/lwp/Makefile \
 src/lwp/test/Makefile \
+src/packaging/Debian/rules \
 src/packaging/MacOS/OpenAFS.Info.plist \
 src/packaging/MacOS/OpenAFS.info \
 src/packaging/MacOS/buildpkg.sh \
diff --git a/src/packaging/Debian/CellServDB b/src/packaging/Debian/CellServDB
new file mode 100644 (file)
index 0000000..79a2c23
--- /dev/null
@@ -0,0 +1,607 @@
+>grand.central.org      #GCO Public CellServDB 25 Oct 2007
+18.92.0.108                     #grand-opening.mit.edu
+128.2.203.61                    #penn.central.org
+130.237.48.87                   #andrew.e.kth.se
+>wu-wien.ac.at          #University of Economics, Vienna, Austria
+137.208.3.33                    #goya.wu-wien.ac.at
+137.208.7.57                    #caravaggio.wu-wien.ac.at
+137.208.127.57                  #vermeer.wu-wien.ac.at
+>hephy.at               #hephy-vienna
+193.170.243.10                  #mowgli.oeaw.ac.at
+193.170.243.12                  #baloo.oeaw.ac.at
+193.170.243.14                  #akela.oeaw.ac.at
+>cgv.tugraz.at          #CGV cell
+129.27.224.133                  #phobos.cgv.tugraz.at
+129.27.224.134                  #deimos.cgv.tugraz.at
+129.27.224.210                  #trinculo.cgv.tugraz.at
+>itp.tugraz.at          #Institute of Theoretical and Computational Physics, TU Graz, Aus
+129.27.161.7                    #faepafs1.tu-graz.ac.at
+129.27.161.15                   #faepafs2.tu-graz.ac.at
+129.27.161.114                  #faepafs3.tu-graz.ac.at
+>sums.math.mcgill.ca    #Society of Undergraduate Mathematics Students of McGill Universi
+132.216.24.122                  #germain.sums.math.mcgill.ca
+132.216.24.125                  #turing.sums.math.mcgill.ca
+>cern.ch                #European Laboratory for Particle Physics, Geneva
+137.138.128.148                 #afsdb1.cern.ch
+137.138.246.50                  #afsdb3.cern.ch
+137.138.246.51                  #afsdb2.cern.ch
+>ams.cern.ch            #AMS Experiment
+137.138.188.185                 #ams.cern.ch
+137.138.199.58                  #pcamsf4.cern.ch
+>epfl.ch                #Swiss Federal Institute of Technology at Lausanne
+128.178.109.111                 #kd1.epfl.ch
+128.178.109.112                 #kd2.epfl.ch
+128.178.109.113                 #kd3.epfl.ch
+>ethz.ch                #Swiss Federal Inst. of Tech. - Zurich, Switzerland
+129.132.97.19                   #amalthea.ethz.ch
+129.132.97.27                   #nethzafs-001.ethz.ch
+129.132.115.3                   #himalia.ethz.ch
+129.132.115.37                  #nethzafs-005.ethz.ch
+129.132.115.38                  #nethzafs-006.ethz.ch
+>psi.ch                 #Paul Scherrer Institut - Villigen, Switzerland
+129.129.190.140                 #afs00.psi.ch
+129.129.190.141                 #afs01.psi.ch
+129.129.190.142                 #afs02.psi.ch
+>extundo.com            #Simon Josefsson's cell
+195.42.214.241                  #slipsten.extundo.com
+>membrain.com           #membrain.com
+66.93.118.125                   #stormy
+130.85.24.11                    #weasel
+130.85.24.13                    #straykitten
+>setfilepointer.com     #SetFilePointer.com
+63.224.10.2                     #hamlet.SetFilePointer.com
+63.224.10.4                     #troilus.SetFilePointer.com
+>sodre.cx               #Sodre.cx
+128.8.140.165                   #greed.sodre.cx
+>desy.de                #Deutsches Elektronen-Synchrotron
+131.169.40.62                   #vayu.desy.de
+131.169.244.60                  #solar00.desy.de
+>gppc.de                #GPP Chemnitz mbH
+213.187.92.33                   #gpp1.gppc.de
+213.187.92.34                   #paulchen.gppc.de
+213.187.92.35                   #lotus.gppc.de
+>cms.hu-berlin.de       #Humboldt University Berlin
+141.20.1.65                     #commodus.cms.hu-berlin.de
+141.20.1.66                     #faustinus.cms.hu-berlin.de
+141.20.1.67                     #marcellus.cms.hu-berlin.de
+>ifh.de                 #DESY Zeuthen
+141.34.22.10                    #romulus.ifh.de
+141.34.22.11                    #remus.ifh.de
+141.34.22.29                    #hekate.ifh.de
+>lrz-muenchen.de        #Leibniz Computing Centre, Germany
+129.187.10.36                   #afs1.lrz-muenchen.de
+129.187.10.56                   #afs3.lrz-muenchen.de
+129.187.10.57                   #afs2.lrz-muenchen.de
+>ipp-garching.mpg.de    #Institut fuer Plasmaphysik
+130.183.9.5                     #afs-db1.rzg.mpg.de
+130.183.100.10                  #afs-db2.aug.ipp-garching.mpg.de
+130.183.100.23                  #afs-db3.aug.ipp-garching.mpg.de
+>mpe.mpg.de             #MPE cell
+130.183.130.7                   #irafs1.mpe-garching.mpg.de
+130.183.134.20                  #irafs2.mpe-garching.mpg.de
+>i1.informatik.rwth-aachen.de #Informatik I, RWTH Aachen
+137.226.244.79                  #remus.informatik.rwth-aachen.de
+>tu-bs.de               #Technical University of Braunschweig, Germany
+134.169.1.1                     #rzafs1.rz.tu-bs.de
+134.169.1.5                     #rzafs2.rz.tu-bs.de
+134.169.1.6                     #rzafs3.rz.tu-bs.de
+>tu-chemnitz.de         #Technische Universitaet Chemnitz, Germany
+134.109.2.1                     #zuse.hrz.tu-chemnitz.de
+134.109.2.15                    #phoenix.hrz.tu-chemnitz.de
+134.109.200.7                   #aetius.hrz.tu-chemnitz.de
+>e18.ph.tum.de          #Experimental Physics, TU Munich, Germany
+129.187.154.223                 #hamlet.e18.physik.tu-muenchen.de
+>uni-bonn.de            #University of Bonn, Computing Center
+131.220.14.198                  #work15-eth.rhrz.uni-bonn.de
+131.220.14.205                  #node05.rhrz.uni-bonn.de
+131.220.15.197                  #afs-db1.rhrz.uni-bonn.de
+>atlass01.physik.uni-bonn.de #Bonn ATLAS
+131.220.165.43                  #atlass01.physik.uni-bonn.de
+>uni-freiburg.de        #Albert-Ludwigs-Universitat Freiburg
+132.230.6.235                   #sv6.ruf.uni-freiburg.de
+132.230.6.236                   #sv7.ruf.uni-freiburg.de
+132.230.6.237                   #sv8.ruf.uni-freiburg.de
+>physik.uni-freiburg.de #institute of physics, university Freiburg, Germany
+132.230.77.16                   #hepafs.physik.uni-freiburg.de
+>urz.uni-heidelberg.de  #Uni Heidelberg (Rechenzentrum)
+129.206.119.10                  #afsdb.urz.uni-heidelberg.de
+129.206.119.16                  #afsdb1.urz.uni-heidelberg.de
+129.206.119.17                  #afsdb2.urz.uni-heidelberg.de
+>uni-hohenheim.de       #University of Hohenheim
+144.41.2.2                      #rs13.serv.uni-hohenheim.de
+144.41.2.3                      #rs14.serv.uni-hohenheim.de
+144.41.2.4                      #rs15.serv.uni-hohenheim.de
+>rz.uni-jena.de         #Rechenzentrum University of Jena, Germany
+141.35.2.180                    #afs00.rz.uni-jena.de
+141.35.2.181                    #afs01.rz.uni-jena.de
+141.35.2.182                    #afs02.rz.uni-jena.de
+>impetus.uni-koeln.de   #Univ. of Cologne - Geophysics/Meteorology Inst.
+134.95.80.39                    #forano.meteo.uni-koeln.de
+>meteo.uni-koeln.de     #Univ. of Cologne - Inst. for Geophysics & Meteorology
+134.95.144.22                   #afs1.meteo.uni-koeln.de
+134.95.144.24                   #afs2.meteo.uni-koeln.de
+>rrz.uni-koeln.de       #University of Cologne - Reg Comp Center
+134.95.19.3                     #afsdb1.rrz.uni-koeln.de
+134.95.19.10                    #lyra.rrz.uni-koeln.de
+134.95.67.97                    #afs.thp.uni-koeln.de
+134.95.141.243                  #agrippina.rrz.uni-koeln.de
+>physik.uni-mainz.de    #institute of physics, university Mainz, Germany
+134.93.130.93                   #hardy.physik.uni-mainz.de
+>uni-mannheim.de        #Uni Mannheim (Rechenzentrum)
+134.155.97.204                  #afsdb1.uni-mannheim.de
+134.155.97.205                  #afsdb2.uni-mannheim.de
+134.155.97.206                  #afsdb3.uni-mannheim.de
+>uni-paderborn.de       #University of Paderborn, Germany
+131.234.137.10                  #afsdb1.uni-paderborn.de
+131.234.137.11                  #afsdb2.uni-paderborn.de
+131.234.137.12                  #afsdb3.uni-paderborn.de
+>physik.uni-wuppertal.de #Physics department of Bergische Universität Wuppertal
+132.195.104.3                   #afs1.physik.uni-wuppertal.de
+132.195.104.230                 #afs2.physik.uni-wuppertal.de
+>s-et.aau.dk            #Aalborg Univ., The Student Society, Denmark
+130.225.196.22                  #afs.s-et.aau.dk
+>ies.auc.dk             #Aalborg Univ., Inst. of Electronic Systems, Denmark
+130.225.51.73                   #afsdb1.kom.auc.dk
+130.225.51.74                   #afsdb2.kom.auc.dk
+130.225.51.85                   #afsdb3.kom.auc.dk
+>asu.edu                #Arizona State University
+129.219.10.69                   #authen2.asu.edu
+129.219.10.70                   #authen1.asu.edu
+129.219.10.72                   #authen3.asu.edu
+129.219.100.16                  #authen4.asu.edu
+>eecs.berkeley.edu      #University of California, Berkeley - EECS Dept.
+128.32.139.34                   #greed.eecs.berkeley.edu
+128.32.139.35                   #gluttony.eecs.berkeley.edu
+169.229.60.112                  #envy.eecs.berkeley.edu
+>hep.caltech.edu        #Caltech High Energy Physics
+131.215.116.20                  #afs.hep.caltech.edu
+>clarkson.edu           #Clarkson University, Potsdam, New York USA
+128.153.1.111                   #arthur.clarkson.edu
+128.153.9.111                   #lancelot.clarkson.edu
+128.153.17.111                  #uther.clarkson.edu
+>andrew.cmu.edu         #Carnegie Mellon University - Computing Services Cell
+128.2.10.2                      #vice2.fs.andrew.cmu.edu
+128.2.10.7                      #vice7.fs.andrew.cmu.edu
+128.2.10.11                     #vice11.fs.andrew.cmu.edu
+128.2.10.28                     #vice28.fs.andrew.cmu.edu
+128.2.32.44                     #new-vice12.fs.andrew.cmu.edu
+>club.cc.cmu.edu        #Carnegie Mellon University Computer Club
+128.2.204.149                   #barium.club.cc.cmu.edu
+128.237.157.11                  #sodium.club.cc.cmu.edu
+128.237.157.13                  #potassium.club.cc.cmu.edu
+>chem.cmu.edu           #Carnegie Mellon University - Chemistry Dept.
+128.2.40.134                    #afs.chem.cmu.edu
+128.2.40.140                    #afs2.chem.cmu.edu
+>cs.cmu.edu             #Carnegie Mellon University - School of Comp. Sci.
+128.2.184.215                   #pumpkin.srv.cs.cmu.edu
+128.2.201.46                    #strawberry.srv.cs.cmu.edu
+128.2.201.48                    #cherry.srv.cs.cmu.edu
+>ece.cmu.edu            #Carnegie Mellon University - Elec. Comp. Eng. Dept.
+128.2.129.7                     #porok.ece.cmu.edu
+128.2.129.8                     #vicio.ece.cmu.edu
+128.2.129.9                     #e-xing.ece.cmu.edu
+>scotch.ece.cmu.edu     #CMU ECE CALCM research group
+128.2.134.82                    #lagavulin.ece.cmu.edu
+>qatar.cmu.edu          #Carnegie Mellon University - Qatar
+86.36.46.6                      #afs1.qatar.cmu.edu
+86.36.46.7                      #afs2.qatar.cmu.edu
+>sbp.ri.cmu.edu         #Carnegie Mellon University - Sensor Based Planning Lab
+128.2.179.12                    #nihao.sbp.ri.cmu.edu
+128.2.179.113                   #youtheman.sbp.ri.cmu.edu
+>cnf.cornell.edu        #CNF
+128.253.198.9                   #hole.cnf.cornell.edu
+128.253.198.27                  #smoke.cnf.cornell.edu
+>msc.cornell.edu        #Cornell University Materials Science Center
+128.84.231.242                  #miranda.ccmr.cornell.edu
+128.84.241.35                   #co.ccmr.cornell.edu
+128.84.249.78                   #dax.ccmr.cornell.edu
+>dbic.dartmouth.edu     #Dartmouth Brain Imaging Center
+129.170.30.143                  #dbicafs1.dartmouth.edu
+129.170.30.144                  #dbicafs2.dartmouth.edu
+129.170.30.145                  #dbicafs3.dartmouth.edu
+>northstar.dartmouth.edu #Dartmouth College Research Computing
+129.170.16.22                   #halley.dartmouth.edu
+129.170.16.42                   #oort.dartmouth.edu
+129.170.16.43                   #cygnusx1.dartmouth.edu
+>cs.fhm.edu             #Department Computer Science Munich University Of Applied Science
+129.187.208.2                   #srv1.informatik.fh-muenchen.de
+>eecs.harvard.edu       #Harvard - EECS
+140.247.60.64                   #lefkada.eecs.harvard.edu
+140.247.60.83                   #corfu.eecs.harvard.edu
+>iastate.edu            #Iowa State University
+129.186.1.243                   #afsdb-1.iastate.edu
+129.186.6.243                   #afsdb-2.iastate.edu
+129.186.142.243                 #afsdb-3.iastate.edu
+>athena.mit.edu         #MIT/Athena cell
+18.7.1.66                       #paris.mit.edu.
+18.7.1.74                       #chimera.mit.edu.
+18.158.0.37                     #prill.mit.edu.
+>dev.mit.edu            #MIT/IS Development cell
+18.7.1.70                       #wham.mit.edu.
+18.92.1.219                     #click.mit.edu.
+18.92.1.220                     #whirr.mit.edu.
+>net.mit.edu            #MIT/Network Group cell
+18.7.7.73                       #gracie.mit.edu
+18.7.21.95                      #george.mit.edu
+>sipb.mit.edu           #MIT/SIPB cell
+18.181.0.19                     #reynelda.mit.edu.
+18.181.0.22                     #rosebud.mit.edu.
+18.181.0.23                     #ronald-ann.mit.edu.
+>soap.mit.edu           #MIT School Of Architecture & Planning
+18.89.1.204                     #crypt.mit.edu
+18.89.1.209                     #grotto.mit.edu
+18.89.2.156                     #ac.mit.edu
+>msu.edu                #Michigan State University Main Cell
+35.9.7.10                       #afsdb0.cl.msu.edu
+>nd.edu                 #University of Notre Dame
+129.74.223.17                   #john.helios.nd.edu
+129.74.223.33                   #lizardo.helios.nd.edu
+129.74.223.65                   #buckaroo.helios.nd.edu
+>pitt.edu               #University of Pittsburgh
+136.142.8.15                    #afs09.srv.cis.pitt.edu
+136.142.8.20                    #afs10.srv.cis.pitt.edu
+136.142.8.21                    #afs11.srv.cis.pitt.edu
+>cs.pitt.edu            #University of Pittsburgh - Computer Science
+130.49.220.11                   #afs01.cs.pitt.edu
+130.49.220.12                   #afs02.cs.pitt.edu
+130.49.220.13                   #afs03.cs.pitt.edu
+>psc.edu                #PSC (Pittsburgh Supercomputing Center)
+128.182.59.182                  #shaggy.psc.edu
+128.182.66.184                  #velma.psc.edu
+128.182.66.185                  #daphne.psc.edu
+>scoobydoo.psc.edu      #PSC Test Cell
+128.182.59.181                  #scooby.psc.edu
+>cede.psu.edu           #Penn State - Center for Engr. Design & Entrepeneurship
+146.186.218.10                  #greenly.cede.psu.edu
+146.186.218.60                  #b50.cede.psu.edu
+146.186.218.246                 #stalin.cede.psu.edu
+>rose-hulman.edu        #Rose-Hulman Institute of Technology
+137.112.7.11                    #afs1.rose-hulman.edu
+137.112.7.12                    #afs2.rose-hulman.edu
+137.112.7.13                    #afs3.rose-hulman.edu
+>cs.rose-hulman.edu     #Rose-Hulman CS Department
+137.112.40.10                   #galaxy.cs.rose-hulman.edu
+>rpi.edu                #Rensselaer Polytechnic Institute
+128.113.22.11                   #saul.server.rpi.edu
+128.113.22.12                   #joab.server.rpi.edu
+128.113.22.13                   #korah.server.rpi.edu
+128.113.22.14                   #achan.server.rpi.edu
+>hep.sc.edu             #University of South Carolina, Dept. of Physics
+129.252.78.77                   #cpeven.physics.sc.edu
+>cs.stanford.edu        #Stanford University Computer Science Department
+171.64.64.10                    #cs-afs-1.Stanford.EDU
+171.64.64.66                    #cs-afs-2.stanford.edu
+171.64.64.69                    #cs-afs-3.stanford.edu
+>ir.stanford.edu        #Stanford University
+171.64.7.222                    #afsdb1.stanford.edu
+171.64.7.234                    #afsdb2.stanford.edu
+171.64.7.246                    #afsdb3.stanford.edu
+>slac.stanford.edu      #Stanford Linear Accelerator Center
+134.79.18.25                    #afsdb1.slac.stanford.edu
+134.79.18.26                    #afsdb2.slac.stanford.edu
+134.79.18.27                    #afsdb3.slac.stanford.edu
+>ucdavis.edu            #University of California at Davis
+169.237.104.100                 #afs1.ucdavis.edu
+169.237.235.176                 #afs2.ucdavis.edu
+169.237.247.91                  #afs3.ucdavis.edu
+>home.ucdavis.edu       #University of California at Davis home directories
+169.237.105.91                  #home1.ucdavis.edu
+169.237.105.92                  #home2.ucdavis.edu
+169.237.105.93                  #home3.ucdavis.edu
+>physics.ucsb.edu       #UC Santa Barbara, Physics Dept
+128.111.18.161                  #ledzeppelin.physics.ucsb.edu
+>cats.ucsc.edu          #UC Santa Cruz, Comp and Tech Services, California U.S.A
+128.114.123.14                  #elan.ucsc.edu
+128.114.123.15                  #ichabod.ucsc.edu
+128.114.123.18                  #maneki.ucsc.edu
+>acm.uiuc.edu           #ACM at the University of Illinois
+128.174.251.8                   #alnitak.acm.uiuc.edu
+128.174.251.9                   #alnilam.acm.uiuc.edu
+128.174.251.10                  #mintaka.acm.uiuc.edu
+>illigal.uiuc.edu       #Illinois Genetic Algorithms Labaratory
+128.174.193.200                 #ial.illigal.uiuc.edu
+128.174.193.201                 #cac.illigal.uiuc.edu
+128.174.193.202                 #gcs.illigal.uiuc.edu
+>ncsa.uiuc.edu          #University of Illinois
+141.142.3.5                     #congo.ncsa.uiuc.edu
+141.142.3.8                     #nile.ncsa.uiuc.edu
+141.142.3.9                     #kaskaskia.ncsa.uiuc.edu
+>umbc.edu               #University of Maryland, Baltimore County
+130.85.24.23                    #db2.afs.umbc.edu
+130.85.24.87                    #db3.afs.umbc.edu
+130.85.24.101                   #db1.afs.umbc.edu
+>glue.umd.edu           #University of Maryland - Project Glue
+128.8.70.11                     #olmec.umd.edu
+128.8.236.4                     #egypt.umd.edu
+128.8.236.230                   #babylon.umd.edu
+>wam.umd.edu            #University of Maryland Network WAM Project
+128.8.70.9                      #csc-srv.wam.umd.edu
+128.8.236.5                     #avw-srv.wam.umd.edu
+128.8.236.231                   #ptx-srv.wam.umd.edu
+>umich.edu              #University of Michigan - Campus
+141.211.1.32                    #fear.ifs.umich.edu
+141.211.1.33                    #surprise.ifs.umich.edu
+141.211.1.34                    #ruthless.ifs.umich.edu
+>atlas.umich.edu        #ATLAS group cell in physics at University of Michigan
+141.211.43.102                  #linat02.grid.umich.edu
+141.211.43.103                  #linat03.grid.umich.edu
+141.211.43.104                  #linat04.grid.umich.edu
+>citi.umich.edu         #Center for Information Technology Integration
+141.211.133.5                   #babylon.citi.umich.edu
+>lsa.umich.edu          #University of Michigan - College of LS&A
+141.211.211.53                  #gerow.lsa.umich.edu
+141.211.211.72                  #collines.lsa.umich.edu
+141.211.211.153                 #hodges.lsa.umich.edu
+>sph.umich.edu          #University of Michigan -- School of Public  Health
+141.211.51.137                  #afssph7.sph.umich.edu
+141.211.51.139                  #afssph0.sph.umich.edu
+141.211.51.142                  #afssph6.sph.umich.edu
+>isis.unc.edu           #Univ. of NC at Chapel Hill - ITS
+152.2.1.5                       #db0.isis.unc.edu
+152.2.1.6                       #db1.isis.unc.edu
+152.2.1.7                       #db2.isis.unc.edu
+>physics.unc.edu        #Univ. of NC at Chapel Hill, Dept. of Physics
+152.2.4.1                       #who.physics.unc.edu
+152.2.4.3                       #what.physics.unc.edu
+152.2.4.5                       #when.physics.unc.edu
+>uncc.edu               #University of NC at Charlotte Mosaic AFS Cell
+152.15.10.70                    #as-sm1.uncc.edu
+152.15.93.186                   #as-ece1.uncc.edu
+152.15.181.175                  #as-me1.uncc.edu
+>eng.utah.edu           #University of Utah - Engineering
+155.98.111.9                    #lenny.eng.utah.edu
+155.98.111.10                   #carl.eng.utah.edu
+>cs.uwm.edu             #University of Wisconsin--Milwaukee
+129.89.38.124                   #solomons.cs.uwm.edu
+>cs.wisc.edu            #Univ. of Wisconsin-Madison, Computer Sciences Dept.
+128.105.132.14                  #timon.cs.wisc.edu
+128.105.132.15                  #pumbaa.cs.wisc.edu
+128.105.132.16                  #zazu.cs.wisc.edu
+>engr.wisc.edu          #University of Wisconsin-Madison, College of Engineering
+144.92.13.14                    #larry.cae.wisc.edu
+144.92.13.15                    #curly.cae.wisc.edu
+144.92.13.16                    #moe.cae.wisc.edu
+>hep.wisc.edu           #University of Wisconsin -- High Energy Physics
+128.104.28.219                  #anise.hep.wisc.edu
+>physics.wisc.edu       #Univ. of Wisconsin-Madison, Physics Department
+128.104.160.13                  #kendra.physics.wisc.edu
+128.104.160.14                  #fray.physics.wisc.edu
+128.104.160.15                  #buffy.physics.wisc.edu
+>ciemat.es              #Ciemat, Madrid, Spain
+130.206.11.42                   #afsdb1.ciemat.es
+130.206.11.217                  #afsdb2.ciemat.es
+130.206.11.247                  #afsdb3.ciemat.es
+>ifca.unican.es         #Instituto de Fisica de Cantabria (IFCA), Santander, Spain
+193.144.209.20                  #gridwall.ifca.unican.es
+>ific.uv.es             #Instituto de Fisica Corpuscular, Valencia, Spain
+147.156.163.11                  #alpha.ific.uv.es
+>biocenter.helsinki.fi  #University of Helsinki, Institute of Biotechnology
+128.214.58.174                  #afsdb1.biocenter.helsinki.fi
+128.214.88.114                  #afsdb2.biocenter.helsinki.fi
+>dapnia.saclay.cea.fr   #CEA DAPNIA
+132.166.32.7                    #dphrsg.saclay.cea.fr
+132.166.32.12                   #dphrsl.saclay.cea.fr
+>grif.fr                #GRIF cell
+192.54.208.18                   #node03.datagrid.cea.fr
+>in2p3.fr               #IN2P3 production cell
+134.158.232.11                  #ccafsdb1.in2p3.fr
+134.158.232.12                  #ccafsdb2.in2p3.fr
+134.158.232.13                  #ccafsdb3.in2p3.fr
+>mcc.ac.gb              #University of Manchester
+130.88.203.41                   #nevis.mc.man.ac.uk
+130.88.203.144                  #eryri.mc.man.ac.uk
+130.88.203.145                  #scafell.mc.man.ac.uk
+>anl.gov                #Argonne National Laboratory
+146.137.96.33                   #arteus.it.anl.gov
+146.137.162.88                  #agamemnon.it.anl.gov
+146.137.194.80                  #antenor.it.anl.gov
+>rhic.bnl.gov           #Relativistic Heavy Ion Collider
+130.199.6.51                    #rafs03.rcf.bnl.gov
+130.199.6.52                    #rafs02.rcf.bnl.gov
+130.199.6.69                    #rafs01.rcf.bnl.gov
+>usatlas.bnl.gov        #US Atlas Tier 1 Facility at BNL
+130.199.48.32                   #aafs01.usatlas.bnl.gov
+130.199.48.33                   #aafs02.usatlas.bnl.gov
+130.199.48.34                   #aafs03.usatlas.bnl.gov
+>fnal.gov               #Fermi National Acclerator Laboratory
+131.225.68.1                    #fsus01.fnal.gov
+131.225.68.4                    #fsus03.fnal.gov
+131.225.68.14                   #fsus04.fnal.gov
+>ic-afs.arc.nasa.gov    #Code IC, Ames Research Center
+128.102.105.62                  #udanax.arc.nasa.gov
+>jpl.nasa.gov           #Jet Propulsion Laboratory
+137.78.160.21                   #afsdb08.jpl.nasa.gov
+137.78.160.22                   #afsdb09.jpl.nasa.gov
+137.78.160.23                   #afsdb10.jpl.nasa.gov
+>nersc.gov              #National Energy Research Supercomputer Center
+128.55.128.250                  #mars.nersc.gov
+128.55.128.252                  #alfred.nersc.gov
+128.55.128.254                  #lurch.nersc.gov
+>bme.hu                 #Budapest University of Technology and Economics
+152.66.241.6                    #afs.iit.bme.hu
+>kfki.hu                #Research Institute for Nuclear and Particle Physics - Budapest,H
+148.6.8.14                      #afs.kfki.hu
+>caspur.it              #CASPUR Inter-University Computing Consortium, Rome
+193.204.5.45                    #pomodoro.caspur.it
+193.204.5.46                    #banana.caspur.it
+193.204.5.50                    #maslo.caspur.it
+>enea.it                #ENEA New Tech. Energy & Environment Agency, Italy
+192.107.54.5                    #aixfs.frascati.enea.it
+192.107.54.11                   #rs2ced.frascati.enea.it
+192.107.54.12                   #43p.frascati.enea.it
+192.107.61.235                  #serverinfo02.bologna.enea.it
+192.107.71.6                    #glauco.casaccia.enea.it
+192.107.96.233                  #riscdb.trisaia.enea.it
+>fusione.it             #Assoz. FUSIONE/Euratom, ENEA, Frascati-Italy
+192.107.90.2                    #fusafs1.frascati.enea.it
+192.107.90.3                    #fusafs2.frascati.enea.it
+192.107.90.4                    #fusafs3.frascati.enea.it
+>icemb.it               #ICEMB, Universita' La Sapienza - Rome - Italy
+193.204.6.130                   #icembfs.caspur.it
+>infn.it                #Istituto Nazionale di Fisica Nucleare (INFN), Italia
+131.154.1.7                     #afscnaf.infn.it
+141.108.26.75                   #afsrm1.roma1.infn.it
+192.84.134.75                   #afsna.na.infn.it
+>ba.infn.it             #INFN, Sezione di Bari
+193.206.185.235                 #baafsserver.ba.infn.it
+193.206.185.236                 #debsrv.ba.infn.it
+>kloe.infn.it           #INFN, KLOE experiment at Laboratori di Frascati
+192.135.25.111                  #kloeafs1.lnf.infn.it
+192.135.25.112                  #kloeafs2.lnf.infn.it
+>le.infn.it             #INFN, Sezione di Lecce
+192.84.152.40                   #afs01.le.infn.it
+192.84.152.148                  #afs02.le.infn.it
+>lnf.infn.it            #INFN, Laboratori Nazionali di Frascati
+193.206.84.121                  #afs1.lnf.infn.it
+193.206.84.122                  #afs2.lnf.infn.it
+193.206.84.123                  #afs3.lnf.infn.it
+>lngs.infn.it           #INFN, Laboratori Nazionali di Gran Sasso
+192.84.135.21                   #rsgs05.lngs.infn.it
+>pi.infn.it             #INFN, Sezione di Pisa
+131.114.134.26                  #unknownhost.pi.infn.it
+192.84.133.50                   #aix1.pi.infn.it
+>psm.it                 #Progetto San Marco, Universita' di Roma-1
+151.100.1.65                    #atlante.psm.uniroma1.it
+>tgrid.it               #CASPUR-CILEA-CINECA Grid Cell
+193.204.5.33                    #cccgrid.caspur.it
+>ictp.trieste.it        #The Abdus Salam International Centre for Theoretical Physics (IC
+140.105.16.8                    #fs1.ictp.trieste.it
+140.105.16.9                    #fs2.ictp.trieste.it
+>math.unifi.it          #math.unifi.it
+150.217.34.182                  #xeno.math.unifi.it
+>ing.uniroma1.it        #Universita' La Sapienza, Fac. Ingeneria
+151.100.85.253                  #alfa.ing.uniroma1.it
+>dia.uniroma3.it        #University Roma Tre - DIA
+193.204.161.79                  #plm.dia.uniroma3.it
+193.204.161.118                 #afs.dia.uniroma3.it
+>vn.uniroma3.it         #University of Rome 3, Area Vasca Navale
+193.204.161.136                 #alfa.dia.uniroma3.it
+193.204.161.137                 #beta.dia.uniroma3.it
+193.204.161.138                 #gamma.dia.uniroma3.it
+>italia                 #Italian public AFS cell
+193.204.5.9                     #afs.caspur.it
+>cmf.nrl.navy.mil       #Naval Research Lab - CCS
+134.207.10.68                   #picard.cmf.nrl.navy.mil
+134.207.10.69                   #riker.cmf.nrl.navy.mil
+134.207.10.70                   #kirk.cmf.nrl.navy.mil
+>lcp.nrl.navy.mil       #Naval Research Lab - Lab for Computational Physics
+132.250.114.2                   #afs1.lcp.nrl.navy.mil
+132.250.114.4                   #afs2.lcp.nrl.navy.mil
+132.250.114.6                   #afs3.lcp.nrl.navy.mil
+>es.net                 #Energy Sciences Net
+198.128.3.21                    #fs1.es.net
+198.128.3.22                    #fs2.es.net
+198.128.3.23                    #fs3.es.net
+>laroia.net             #Laroia Networks
+66.66.102.254                   #supercore.laroia.net
+>sinenomine.net         #Sine Nomine Associates
+66.135.48.108                   #tx2srv03.sinenomine.net
+72.73.30.42                     #va.sinenomine.net
+>slackers.net           #The Slackers' Network
+199.4.150.159                   #alexandria.slackers.net
+>tproa.net              #The People's Republic of Ames
+72.13.4.23                      #service-3.tproa.net
+72.13.4.24                      #service-4.tproa.net
+72.13.4.25                      #service-5.tproa.net
+>nikhef.nl              #The Dutch National Institute for High Energy Physics
+192.16.185.26                   #afs1.nikhef.nl
+192.16.185.27                   #afs2.nikhef.nl
+>1ts.org                #1TS.ORG, Cambridge, MA
+69.25.196.51                    #pancake.1ts.org
+>acm-csuf.org           #California State Univerisity Fullerton ACM
+137.151.29.193                  #afs1.acm-csuf.org
+>bazquux.org            #Baz Quux Organization
+66.207.142.196                  #baxquux.org
+>coed.org               #Adam Pennington's Cell
+66.93.61.184                    #vice1.coed.org
+128.237.157.35                  #vice3.coed.org
+>dementia.org           #Dementia Unlimited
+128.2.12.45                     #alycia.dementia.org
+128.2.120.216                   #meredith.dementia.org
+>dsrw.org               #The DSRW
+65.103.82.83                    #straylight.dsrw.org
+65.103.82.84                    #chiba.dsrw.org
+65.103.82.85                    #freeside.dsrw.org
+>hackish.org            #Hackish.org
+24.167.65.213                   #avatar.sys.hackish.org
+128.2.120.138                   #kurma.sys.hackish.org
+>idahofuturetruck.org   #University of Idaho hybrid vehicle development
+12.18.238.210                   #dsle210.fsr.net
+>nimlabs.org            #Nimlabs, Ink. Cell.
+18.238.1.103                    #olfin.nimlabs.org
+18.238.1.105                    #caerbanog.nimlabs.org
+>nomh.org               #nomh.org
+204.29.154.12                   #iota.nomh.org
+204.29.154.32                   #adversity.xi.nomh.org
+>oc7.org                #The OC7 Project
+128.2.122.140                   #knife.oc7.org
+207.22.77.170                   #spoon.oc7.org
+>kth.se                 #Royal Institute of Technology, Stockholm, Sweden
+130.237.32.145                  #sonen.e.kth.se
+130.237.48.7                    #anden.e.kth.se
+130.237.48.244                  #fadern.e.kth.se
+>hallf.kth.se           #Royal Institute of Technology, HALLF
+130.237.24.11                   #afs1.hallf.kth.se
+130.237.24.104                  #afs2.hallf.kth.se
+>isk.kth.se             #Royal Institute of Technology, ISK
+130.237.202.3                   #afsdb1.isk.kth.se
+130.237.209.5                   #afsdb2.isk.kth.se
+130.237.209.9                   #afsdb3.isk.kth.se
+>it.kth.se              #Royal Institute of Technology, IT
+130.237.212.15                  #ptah.it.kth.se
+130.237.212.16                  #toth.it.kth.se
+130.237.215.7                   #isis.it.kth.se
+>md.kth.se              #Royal Institute of Technology, MMK
+130.237.57.68                   #trinity.md.kth.se
+130.237.57.72                   #morpheus.md.kth.se
+130.237.67.230                  #neo.speech.kth.se
+>mech.kth.se            #Royal Institute of Technology, MECH
+130.237.233.142                 #matterhorn.mech.kth.se
+130.237.233.143                 #castor.mech.kth.se
+130.237.233.144                 #pollux.mech.kth.se
+>nada.kth.se            #Royal Institute of Technology, NADA
+130.237.222.20                  #kosmos.nada.kth.se
+130.237.223.12                  #sputnik.nada.kth.se
+130.237.224.78                  #mir.nada.kth.se
+130.237.227.23                  #gagarin.nada.kth.se
+130.237.228.28                  #laika.nada.kth.se
+>pdc.kth.se             #Royal Institute of Technology, PDC
+130.237.232.29                  #crab.pdc.kth.se
+130.237.232.112                 #anna.pdc.kth.se
+130.237.232.114                 #hokkigai.pdc.kth.se
+>stacken.kth.se         #Stacken Computer Club
+130.237.234.3                   #milko.stacken.kth.se
+130.237.234.43                  #hot.stacken.kth.se
+130.237.234.101                 #fishburger.stacken.kth.se
+>syd.kth.se             #Royal Institute of Technology, KTH-Syd
+130.237.83.23                   #afs.haninge.kth.se
+>physto.se              #Physics department Stockholm University
+130.237.205.36                  #sysafs1.physto.se
+130.237.205.72                  #sysafs2.physto.se
+>sanchin.se             #Sanchin Consulting AB, Sweden
+192.195.148.10                  #sesan.sanchin.se
+>su.se                  #Stockholm University
+130.237.162.81                  #afsdb1.su.se
+130.237.162.82                  #afsdb2.su.se
+130.237.162.230                 #afsdb3.su.se
+>f9.ijs.si              #F9, Jozef Stefan Institue
+194.249.156.1                   #brenta.ijs.si
+>p-ng.si                #Nova Gorica Polytechnic
+193.2.120.2                     #solkan.p-ng.si
+>hep-ex.physics.metu.edu.tr #METU Department of Physics, Experimental HEP group, Ankara/Turke
+144.122.31.131                  #neutrino.physics.metu.edu.tr
+>phy.bris.ac.uk         #Bristol University - phyics
+137.222.58.9                    #afs1.phy.bris.ac.uk
+>inf.ed.ac.uk           #School of Informatics, University of Edinburgh
+129.215.64.16                   #afsdb0.inf.ed.ac.uk
+129.215.64.17                   #afsdb1.inf.ed.ac.uk
+129.215.64.18                   #afsdb2.inf.ed.ac.uk
+>ic.ac.uk               #Imperial College London
+155.198.63.148                  #icafs2.cc.ic.ac.uk
+155.198.63.149                  #icafs1.cc.ic.ac.uk
+>hep.man.ac.uk          #Manchester HEP
+194.36.2.3                      #afs1.hep.man.ac.uk
+194.36.2.4                      #afs2.hep.man.ac.uk
+194.36.2.5                      #afs3.hep.man.ac.uk
+>rl.ac.uk               #Rutherford Appleton Lab, England
+130.246.183.164                 #wallace.cc.rl.ac.uk
index ee49144..4d35047 100644 (file)
@@ -24,11 +24,3 @@ sub run ($) {
         }
 
 1;
-openafs-dbserver: non-standard-dir-perm
-openafs-dbserver: non-standard-dir-perm
-openafs-dbserver: non-standard-dir-perm
-openafs-dbserver: non-standard-dir-perm
-openafs-dbserver: non-standard-dir-perm
-openafs-dbserver: non-standard-dir-perm
-openafs-dbserver: non-standard-dir-perm
-openafs-dbserver: non-standard-dir-perm
index 755fa84..f7b69a9 100644 (file)
@@ -45,6 +45,21 @@ Documentation
   secure than the one in the OpenAFS documentation, but the OpenAFS
   documentation provides useful background.
 
+Build Options
+
+  The OpenAFS servers have been built with --enable-supergroups, which
+  permits nesting of PTS groups.  Be aware that the PT database created by
+  these packages is not compatible with servers not built with
+  --enable-supergroups if nested PTS groups are used.  In other words, if
+  you need the openafs-dbserver package to interoperate with ptservers
+  that aren't built with this option, don't use this capability.
+
+  bosserver is built with --enable-bos-new-config.  If
+  /etc/openafs/BosConfig.new exists when bosserver starts, it will be
+  renamed to /etc/openafs/BosConfig before the configuration file is
+  read.  This allows queuing of changes to the configuration that will
+  take effect at the next restart.
+
 Changes Relative to Stock OpenAFS
 
   Long-time AFS users may be confused by the directory layout.  The files
@@ -60,6 +75,14 @@ Changes Relative to Stock OpenAFS
   To distinguish between an SMP and a non-SMP kernel module package, use
   --append_to_version; see README.modules for more information.
 
+  The OpenAFS servers have been patched to support listing up to four
+  realms in /etc/openafs/server/krb.conf.  Any realms listed in that file
+  (all on one line, space-separated) will be treated as local for
+  authorization decisions (in other words, the relam will be stripped off
+  and the unqualified principal name checked against AFS ACLs, UserList,
+  PTS groups, and so forth).  The default OpenAFS server only supports
+  listing one realm in this file.
+
   The AFS up utility is installed as afs-up, since the standard name is
   rather generic.
 
@@ -74,6 +97,42 @@ Changes Relative to Stock OpenAFS
   The OpenAFS PAM modules have been built with pthreads rather than the
   standard LWP AFS libraries for compatibility with a threaded sshd.
 
+Debugging and Bug Reporting
+
+  The current OpenAFS installation process installs fileserver and
+  volserver unstripped, since backtraces and other debugging information
+  for those binaries are necessary to track down file server problems.
+  For the Debian packages, the fileserver and volserver binaries in the
+  openafs-fileserver package are stripped, but the debugging information
+  is available in the openafs-dbg package, which can be installed
+  separately.  If it is installed, gdb will find that debugging
+  information automatically.
+
+  Eventually the openafs-dbg package will contain debugging information
+  for all OpenAFS binaries.  This is pending upstream changes to the stock
+  OpenAFS installation rules.
+
+  When reporting a bug in the OpenAFS client, please include your exact
+  kernel version and architecture (reportbug will do this for you).  Also,
+  if the client caused a kernel oops or BUG, be sure to include the
+  complete kernel output, including the lines before the oops.  That's
+  where the OpenAFS error message, if any, will be.
+
+  When reporting a bug in the OpenAFS file server, please include
+  backtrace information from a core dump, if any.  If the file server is
+  deadlocked, you can capture a core dump using the gcore script that
+  comes with the gdb package.  The file server is threaded, so use the
+  command "thread apply all backtrace" in gdb to get a complete backtrace.
+  It's also often useful to have the output of rxdebug <server> 7000 at
+  the time of the problem and the FileLog from the file server.  You can
+  increase the logging level of the file server with kill -TSTP (and reset
+  it to 0 with kill -HUP).
+
+  You can report any bug in OpenAFS against the Debian package with
+  reportbug and the OpenAFS package maintainers will forward the bug
+  upstream as necessary.  If you do want to report a bug directly
+  upstream, see http://www.openafs.org/ for bug reporting instructions.
+
 PAM Authentication
 
   Any new OpenAFS cell is strongly encouraged to use Kerberos v5 for
@@ -123,4 +182,4 @@ PAM Authentication
   the openafs-kpasswd package to get the administrative utilities for
   managing those Kerberos accounts.
 
- -- Russ Allbery <rra@debian.org>, Tue Dec 27 15:53:28 2005
+ -- Russ Allbery <rra@debian.org>, Mon, 17 Dec 2007 18:29:42 -0800
index d323215..d92a2ae 100644 (file)
@@ -19,7 +19,7 @@ Introduction
   traditional paths, and in the second column, the Debian paths:
 
       /usr/afs/etc        /etc/openafs/server
-      /usr/afs/local      /etc/openafs/server-local
+      /usr/afs/local      /var/lib/openafs/local
       /usr/afs/db         /var/lib/openafs/db
       /usr/afs/logs       /var/log/openafs
       /usr/afs/bin        /usr/lib/openafs
@@ -66,10 +66,6 @@ Creating a New Cell
       all uppercase and be a domain name that you control, although
       neither is technically required.
 
-      Right now, for the aklog from openafs-krb5 to work, you need to
-      enable krb4 support (either full or nopreauth) and run krb524d.
-      Eventually this will no longer be necessary.
-
   2.  It is traditional (and recommended) in AFS (and for Kerberos) to
       give administrators two separate Kerberos principals, one regular
       principal to use for regular purposes and a separate admin principal
@@ -321,7 +317,17 @@ Adding Additional Servers
               -cmd /usr/lib/openafs/volserver \
               -cmd /usr/lib/openafs/salvager -localauth
 
-      For a file server, this is all you have to do.
+      For a file server, this is all you have to do.  The above uses the
+      default fileserver options, however, which are not particularly
+      well-tuned for modern systems.  afs-newcell uses the following
+      parameters from Harald Barth:
+
+          -p 23 -busyat 600 -rxpck 400 -s 1200 -l 1200 -cb 65535
+          -b 240 -vc 1200
+
+      If you want to add any additional fileserver options, enclose
+      /usr/lib/openafs/fileserver and the following options in double
+      quotes when giving the bos create command.
 
   4.  For database servers, also install openafs-dbserver and then use bos
       addhost to add the new server to /etc/openafs/server/CellServDB:
index cec5dbc..f5850de 100644 (file)
@@ -10,4 +10,3 @@
   appropriate kdump and the kernel module package would need to install
   the kdump executable, maybe in /usr/lib/openafs, named after the kernel
   image installed.
-
index 725d526..3aee647 100644 (file)
@@ -12,6 +12,12 @@ use Socket qw(inet_ntoa);
 use vars qw($admin $server $requirements_met $shutdown_needed);
 my $rl = new Term::ReadLine('afs-newcell');
 
+# The default file server options are poor.  Until they've been updated, use
+# the following from Harald Barth; it should be an improvement for most
+# people.
+my $fs_options = '-p 23 -busyat 600 -rxpck 400 -s 1200 -l 1200 -cb 65535'
+    . ' -b 240 -vc 1200';
+
 =head1  NAME
 
 afs-newcell - Set up initial database server for AFS cell
@@ -223,7 +229,7 @@ unwind("bos delete $server vlserver -localauth");
 
 # Create a file server as well.
 run("bos create $server fs fs"
-    . " -cmd /usr/lib/openafs/fileserver"
+    . " -cmd '/usr/lib/openafs/fileserver $fs_options'"
     . " -cmd /usr/lib/openafs/volserver"
     . " -cmd /usr/lib/openafs/salvager -localauth");
 unwind("bos delete $server fs -localauth");
index 64490a1..f3eeb76 100644 (file)
@@ -56,25 +56,12 @@ VERBOSE=
 # Using the memory cache is not recommended.  It's less stable than the disk
 # cache and doesn't improve performance as much as it might sound.
 #
-# The default behavior is to pick one of the following option sets based on
-# the size of the AFS cache, as follows:
+# The default behavior is to let afsd automatically choose an apporpriate set
+# of flags.  This should produce reasonable behavior for most working sets
+# provided that one is using a modern AFS client (1.4.2 or later).
 #
-#           cache < 128MB       $SMALL
-#   128MB < cache < 512MB       $MEDIUM
-#   512MB < cache < 1GB         $LARGE
-#     1GB < cache < 2GB         $XLARGE
-#     2GB < cache               $XXLARGE
-#
-# You can override that default behavior by setting OPTIONS below.
-XXLARGE="-chunksize 20 -files 80000 -dcache 10000 -stat 15000 -daemons 6 -volumes 500"
-XLARGE="-chunksize 20 -files 50000 -dcache 10000 -stat 15000 -daemons 5 -volumes 250"
-LARGE="-chunksize 18 -files 25000 -dcache 10000 -stat 15000 -daemons 5 -volumes 200"
-MEDIUM="-chunksize 18 -files 10000 -dcache 5000 -stat 7500 -daemons 3 -volumes 200"
-SMALL="-chunksize 18 -files 2500 -dcache 2000 -stat 3000 -daemons 2 -volumes 200"
-
-# The default behavior is to pick one of the above settings as described
-# above.  You can override this by setting OPTIONS explicitly to either one of
-# the above variables or to any set of flags that you prefer.
+# You can override that default behavior by setting OPTIONS to a specific set
+# of flags.
 OPTIONS=AUTOMATIC
 
 # The default value for the client sysname (as returned by fs sysname) is
index a1a6bc0..bbfa5e4 100644 (file)
@@ -1,3 +1,423 @@
+openafs (1.4.6.dfsg1-3) unstable; urgency=low
+
+  * Fix FTBFS caused by a change in dh_strip behavior.  It no longer
+    creates empty files for already stripped binaries, so we should no
+    longer remove them.  Thanks, Lucas Nussbaum.  (Closes: #464274)
+  * Include debugging symbols for libpam-openafs-kaserver in openafs-dbg.
+  * Do not stop daemons in run-level S.  This isn't a real run-level and
+    hence there's no reason to create the links.
+
+ -- Russ Allbery <rra@debian.org>  Wed, 06 Feb 2008 11:24:19 -0800
+
+openafs (1.4.6.dfsg1-2) unstable; urgency=low
+
+  * Apply additional upstream patches to the 2.6.24 support to fix
+    builds with older kernels.  Thanks to Felix Koop for the testing.
+    (Closes: #458331)
+  * Remove old /etc/openafs/server-local files from older versions when
+    purging openafs-fileserver.
+  * Minor reformatting of openafs-client's postrm.
+  * Remove databases on purge of openafs-dbserver.
+  * Remove log files when purging openafs-fileserver or openafs-dbserver
+    per Policy 10.8.
+
+ -- Russ Allbery <rra@debian.org>  Sun, 30 Dec 2007 15:08:04 -0800
+
+openafs (1.4.6.dfsg1-1) unstable; urgency=low
+
+  * New upstream release.
+    - Fixes multiple serious problems with the file server.
+  * Apply upstream patch for Linux 2.6.24 support.  Thanks to Anders
+    Kaseorg for researching the necessary deltas.  (Closes: #456258)
+  * Apply upstream patch to allocate vnodes from the malloc pool rather
+    than off the stack, fixing file server problems on SPARC.  Thanks to
+    Barney Sowood for tracking down the patch.  (Closes: #448380)
+  * Apply upstream patch from the 1.5 series to allow multiple realms to
+    be listed in the server krb.conf and hence treated as local.
+  * Build bosserver with --enable-bos-new-config.  On startup, if
+    BosConfig.new exists, it will be renamed to BosConfig before the
+    configuration is read.  (Closes: #453398)
+  * Add a comment to /etc/openafs/afs.conf.client that the file is managed
+    by debconf.  (Closes: #447183)
+  * Add more debugging and bug reporting instructions to README.Debian.
+  * Mention in README.Debian that the server is built with supergroups
+    enabled and with the multiple local realm patch.  (Closes: #453399)
+  * Support reconfigure in postinst.
+  * Recode debian/copyright to UTF-8.
+  * Update to standards version 3.7.3 (no changes required).
+
+ -- Russ Allbery <rra@debian.org>  Mon, 17 Dec 2007 20:19:13 -0800
+
+openafs (1.4.5.dfsg1-1) unstable; urgency=low
+
+  * New upstream release.
+    - Even with a new enough Linux kernel to support keyrings, we still
+      may have found the system call table and need to clean it up when
+      unloading the module.  (Closes: #448793)
+  * Use uname -m rather than dpkg --print-architecture to determine the
+    sysname for kernel module builds.  Otherwise, builds with a different
+    kernel architecture than userspace (amd64 kernels with i386 userspace,
+    for example) don't work.  Thanks, Anders Kaseorg.  (Closes: #448452)
+  * Fix signing the generated the changes file on a kernel module build.
+    The module build file reorganization required an additional change to
+    genchanges.  Thanks, Anders Kaseorg.  (Closes: #448449)
+  * Expose prototypes for the ktc_* functions.  (Closes: #449432)
+  * Fix man pages for subcommands to use an underscore in the NAME section
+    instead of a space so that they'll be indexed properly by the current
+    groff and man-db.
+  * Update CellServDB to 2007-10-25 GCO release.
+  * Add Homepage to the package control fields.
+
+ -- Russ Allbery <rra@debian.org>  Sun, 11 Nov 2007 15:54:59 -0800
+
+openafs (1.4.5~pre2.dfsg1-1) unstable; urgency=low
+
+  * New upstream release candidate.
+    - Fix errors when compiled with gcc 4.2.  (Closes: #443937)
+    - Add a frightening hack to work around the lack of getcontext and
+      savecontext for 32-bit SPARc.  (Closes: #415952, #446837)
+    - Add support for Linux 2.6.23.
+    - Multiple bug fixes for client tracking in the file server.
+    - Prevent one client from consuming all file server threads.
+  * Remove the workaround added for 2.6.20 and 2.6.21 kernels with
+    CONFIG_PARAVIRT enabled.  The mistaken GPL-labelling of core
+    interfaces was fixed in 2.6.22, which has now migrated to testing.
+  * Scan /var/log/openafs for core files with a PID appended when a server
+    run by bosserver exits with a signal.  bosserver was unable to
+    correctly handle core files for multithreaded servers since it
+    expected a filename of core and Linux always appends a PID to core
+    dumps by multithreaded processes.
+  * Fix make kdist in openafs-modules-source, inadvertently broken by a
+    missing genchanges script.
+  * Stop creating /var/lib/openafs/cores.  Nothing actually uses it.
+
+ -- Russ Allbery <rra@debian.org>  Tue, 16 Oct 2007 17:01:33 -0700
+
+openafs (1.4.4.dfsg1-7) unstable; urgency=low
+
+  * Switch to quilt for managing patches to the upstream source.
+  * Stop installing the Administrator's Reference.  All of the useful
+    information in here has been converted to man pages.
+  * Use the upstream man page for pt_util, which lets us remove the
+    docbook-to-man build dependency.
+  * Update to the latest CellServDB from grand.central.org.
+  * Trim additional unuseful debug information from openafs-dbg.
+  * Restructure the source for the module package.  The build files for
+    the module build are now in debian/module in the source package and
+    there is a completely separate rules file.  This way, the module build
+    rules don't have to depend on quilt and the structure is clearer.
+  * Fix debhelper dependencies for the module build.
+  * Update module standards version to 3.7.2 (no changes required).
+
+ -- Russ Allbery <rra@debian.org>  Mon, 20 Aug 2007 17:54:00 -0700
+
+openafs (1.4.4.dfsg1-6) unstable; urgency=low
+
+  * Apply upstream patch for the OpenAFS file server to treat clients that
+    have an all-zero UUID as if they don't have UUID support, working
+    around bugs in various client versions that can cause multiple hosts
+    to use all-zero UUIDs and conflict with each other.
+  * Use dpkg --print-architecture to determine the AFS sysname for both
+    regular builds (avoiding --print-installation-architecture, which is
+    deprecated) and kernel builds (avoiding arch, which is temporarily not
+    in unstable and which wouldn't do the right thing for cross-compiles).
+    Thanks, Chris Hanson.  (Closes: #435765)
+  * Add hppa as a recognized architecture for kernel module builds,
+    although OpenAFS currently only supports 2.4 kernels on HPPA so this
+    isn't that useful.
+
+ -- Russ Allbery <rra@debian.org>  Thu, 02 Aug 2007 19:54:00 -0700
+
+openafs (1.4.4.dfsg1-5) unstable; urgency=low
+
+  * Apply upstream patch from Jeffrey Hutzelman to fix syscall probing on
+    AMD64 with Linux 2.6.22 kernels.  (Closes: #430179)
+  * Add a union to des_ks_struct and reorder includes to get the correct
+    alignment for DES code on SPARC.  Thanks, Chaskiel Grundman.  Partly
+    addresses #415952.
+  * Fix a typo in debian/kern-sysname that caused openafs-modules-source
+    to still assume all ia64 systems used Linux 2.4.  Thanks, Jakob
+    Haufe.  (Closes: #432344)
+  * Use LSB logging functions for openafs-fileserver and support passing
+    arguments to bosserver in /etc/default/openafs-fileserver by setting
+    DAEMON_ARGS.
+  * Clean up more completely after a purge of openafs-fileserver.  Remove
+    the files created by the server in /var/lib/openafs/local, remove
+    KeyFile and CellServDB.old from /etc/openafs/server, and remove
+    BosConfig from /etc/openafs.
+
+ -- Russ Allbery <rra@debian.org>  Tue, 17 Jul 2007 09:25:03 -0700
+
+openafs (1.4.4.dfsg1-4) unstable; urgency=low
+
+  * Apply upstream patch from Jeffrey Hutzelman to fix kernel module
+    builds on ppc64.  (Closes: #427555)
+  * Apply upstream patches for Linux 2.6.22 support.  (Closes: #428401)
+  * Apply upstream patch to fix the AFS /proc structure under Linux
+    2.6.22.1 and later.
+  * Move /etc/openafs/server-local to /var/lib/openafs/local.  Most of the
+    files here are automatically generated and hence not configuration
+    files, and the file server has to write to this directory to start (so
+    having it in /etc breaks read-only / file systems).  Thanks, Alexei
+    Sheplyakov.  (Closes: #405697)
+  * Move upserver and upclient to /usr/lib/openafs (from /usr/sbin) to
+    match upstream's layout and for consistency with the other servers run
+    via bosserver.
+  * Use --name instead of --exec in the openafs-fileserver init script and
+    drop the --pidfile option (bosserver doesn't create a PID file) so
+    that we don't start a second bosserver on upgrades.
+  * Go back to using krb5-config.  The dependency problem has now been
+    fixed on all platforms in the krb5 package and this is the preferred
+    upstream method.
+
+ -- Russ Allbery <rra@debian.org>  Thu, 21 Jun 2007 03:02:32 -0700
+
+openafs (1.4.4.dfsg1-3) unstable; urgency=low
+
+  * Always generate a UUID on client startup even if for some reason we
+    don't think we have any network interfaces.  Otherwise, the client
+    will use an all-zeroes UUID, which will collide with every other
+    client with the same problem.
+  * When afsd is started with -rmtsys, it starts another process that afsd
+    -shutdown doesn't kill.  Update the init script to kill this process
+    on stop.  (Closes: #405982)
+  * Don't use krb5-config to get a library list.  It runs the risk of
+    encoding unnecessary library dependencies.  Instead, hard-code the
+    flags and libraries we actually need.  (Closes: #424448)
+  * When loading a module using the upstream naming convention, don't
+    append the .mp to the module name for modprobe.  (Closes: #420597)
+
+ -- Russ Allbery <rra@debian.org>  Wed, 16 May 2007 18:16:12 -0700
+
+openafs (1.4.4.dfsg1-2) unstable; urgency=low
+
+  * Debian kernels as of 2.6.20 enable CONFIG_PARAVIRT, which redefines
+    several core kernel calls as redirects through a paravirt.ops table
+    that's marked GPL-only.  This breaks all non-GPL modules that used
+    those (previously generally exported) calls even indirectly.  Apply a
+    hack to switch from spin_lock_irq to spin_lock_irqsave to avoid the
+    paravirt redirection so that the module will build.
+  * Enable ucontext for all Linux builds with glibc 2.4 or later, not just
+    with i386 and amd64, and (following an upstream patch) always use
+    ucontext on ia64.  Newer versions of glibc change internal structures
+    in ways that cause the old LWP code to have stack overflows.
+    (Closes: #419903) 
+  * Apply upstream patch to crashes on contention in afs_xuser when a
+    process in a PAG exits.  Thanks, Chaskiel Grundman.
+  * When determining the AFS sysname for kernel module builds, add
+    explicit cases for 2.6 kernels for all architectures that support them
+    (everything except non-64-bit sparc_linux).  Fixes build problems with
+    ia64 and probably other architectures.  Thanks to Ippokratis Pandis
+    for the debugging help.  (Closes: #411818)
+  * Prefer alpha_linux_26 to alpha_linux_24 for the non-kernel build on
+    Alpha, now that the source supports it.
+  * Add support for the s390x architecture.  Upstream supports it and
+    there's no reason not to.
+  * Fix the watch file to remove .dfsg\d+ when comparing versions.
+
+ -- Russ Allbery <rra@debian.org>  Thu, 19 Apr 2007 13:26:33 -0700
+
+openafs (1.4.4.dfsg1-1) unstable; urgency=low
+
+  * Repackage upstream source to remove two additional files covered under
+    the APSL.  (Closes: #416685)
+  * Build-depend on Automake since we run aclocal during the build.  Not
+    having aclocal caused local patches to osconf.m4 to not be effective,
+    leading to the wrong compiler flags for shared libraries.  Thanks to
+    Frank Lichtenheld for the report.  (Closes: #416398, #416497, #418966)
+
+ -- Russ Allbery <rra@debian.org>  Thu, 12 Apr 2007 21:19:00 -0700
+
+openafs (1.4.4-1) experimental; urgency=low
+
+  * New upstream release.  (Closes: #415699)
+    - Support newer Linux kernels.  (Closes: #409797, #410120)
+    - Add aklog fallbacks for null realms to support the referral
+      capability in MIT Kerberos 1.6 and later.  (Closes: #410314)
+  * Apply patch from Thomas Sesselmann to support setting options to pass
+    to bosserver in /etc/default/openafs-fileserver.  (Closes: #409357)
+  * Remove the rx_Init calls in the PAM module.  The internal counters
+    that had to be initialized that way have been removed.
+  * Now that we're running regen.sh as part of the build process, only
+    patch the Autoconf source files and not the generated output to make
+    the diff easier to audit.
+
+ -- Russ Allbery <rra@debian.org>  Mon, 26 Mar 2007 18:56:55 -0700
+
+openafs (1.4.2-6) unstable; urgency=medium
+
+  * SECURITY: Apply upstream patch to disable setuid status on all cells
+    by default.  Prior versions of AFS defaulted to honoring setuid bits
+    in the local cell, but since unauthenticated file access in AFS is
+    unencrypted, an attacker could forge packets from an AFS file server
+    to synthesize a setuid binary in AFS.
+  * Apply upstream fix to use a single high-numbered group for the PAG on
+    2.6 kernels and sort the group properly.  Fixes AFS-caused group
+    ordering problems that could lead the kernel to ignore some group
+    membership for users.  (Closes: #414911)
+  * Apply upstream fix for segfaults in pts rename.  (Closes: #409184)
+  * Apply upstream fix to show reasonable free space numbers for AFS in
+    df.  Without this fix, some programs which use df to check free space
+    may think that directories in AFS are full and prevent the user from
+    attempting to write files.  (Closes: #415294)
+  * Translation updates:
+    - Dutch, thanks cobaco.  (Closes: #413701)
+    - Portuguese, thanks Miguel Figueiredo.  (Closes: #414800)
+
+ -- Russ Allbery <rra@debian.org>  Wed, 14 Mar 2007 18:37:12 -0700
+
+openafs (1.4.2-5) unstable; urgency=low
+
+  * Translation updates:
+    - Chinese, thanks Chun Tian (binghe).  (Closes: #406063)
+
+ -- Russ Allbery <rra@debian.org>  Sun, 28 Jan 2007 13:43:16 -0800
+
+openafs (1.4.2-4) unstable; urgency=low
+
+  * Update documentation to note that enabling v4 support or running
+    krb524d is no longer required for aklog to work.
+  * Translation updates:
+    - German, thanks Henrik Kroeger.  (Closes: #400800)
+
+ -- Russ Allbery <rra@debian.org>  Sun, 17 Dec 2006 17:09:41 -0800
+
+openafs (1.4.2-3) unstable; urgency=low
+
+  * No longer pass explicit cache tuning options to afsd and instead let
+    OpenAFS automatically choose tuning based on the cache size.
+  * Accept trailing whitespace in ThisCell.
+  * Fix path canonicalization on the server, enabling bos getlog with a
+    simple log name to work properly against a Debian bosserver.
+  * Change the documentation of afsd -shutdown to be less dire and more
+    accurate.  Thanks, Daniel J. Priem.  (Closes: #394990)
+  * Document (at least partially) AFS's mapping of Kerberos v5 principal
+    names to Kerberos v4 format in the aklog man page.  Thanks, Daniel
+    J. Priem.  (Closes: #394832)
+  * Document that aklog -setpag may not always work.
+
+ -- Russ Allbery <rra@debian.org>  Mon, 20 Nov 2006 17:29:46 -0800
+
+openafs (1.4.2-2) unstable; urgency=low
+
+  * Upstream fix to prevent butc segfaulting.
+
+ -- Sam Hartman <hartmans@debian.org>  Sat, 21 Oct 2006 20:57:09 -0400
+
+openafs (1.4.2-1) unstable; urgency=medium
+
+  * New upstream release, fixes amd64 kernel issues
+  * Update CellServDB
+
+ -- Sam Hartman <hartmans@debian.org>  Fri, 20 Oct 2006 06:44:45 -0400
+
+openafs (1.4.2~fc4-3) unstable; urgency=low
+
+  * Apply patch from Chaskiel Grundman to fix kernel panics when loading
+    the kernel module into AMD64 2.6.18 kernels.  (Closes: #390653)
+  * Apply upstream patch to fix klog segfaults.  (Closes: #390940)
+  * The UTS_RELEASE string is no longer found in linux/version.h in
+    2.6.18, so fall back on looking in config/kernel.release.  Thanks to
+    Marcus Watts for the patch.
+
+ -- Russ Allbery <rra@debian.org>  Thu,  5 Oct 2006 13:02:50 -0700
+
+openafs (1.4.2~fc4-2) unstable; urgency=low
+
+  * Apply additional upstream patch for AMD64 2.6.18 kernel module build
+    issues.  (Closes: #389729)
+
+ -- Russ Allbery <rra@debian.org>  Sat, 30 Sep 2006 00:34:33 -0700
+
+openafs (1.4.2~fc4-1) unstable; urgency=low
+
+  * New upstream release candidate.
+    - Builds with 2.6.18 on AMD64.  (Closes: #389729)
+  * Build an openafs-dbg package with debugging information for the
+    OpenAFS fileserver and volserver.
+  * Add LSB comments to the openafs-client and openafs-fileserver init
+    scripts.
+  * Update to debhelper compatibility level V5.
+
+ -- Russ Allbery <rra@debian.org>  Wed, 27 Sep 2006 11:06:48 -0700
+
+openafs (1.4.2~fc2-1) unstable; urgency=low
+
+  * New upstream release candidate.
+    - Supports new Linux kernel versions.  (Closes: #383028)
+  * Translation updates:
+    - German, thanks Henrik Kroeger.  (Closes: #384803)
+
+ -- Russ Allbery <rra@debian.org>  Sun,  3 Sep 2006 12:42:59 -0700
+
+openafs (1.4.1-4) unstable; urgency=low
+
+  * Apply upstream fix from Derek Atkins for compilation with kernel
+    versions prior to 2.6.10.  (Closes: #376576)
+
+ -- Russ Allbery <rra@debian.org>  Sun,  9 Jul 2006 12:35:44 -0700
+
+openafs (1.4.1-3) unstable; urgency=low
+
+  * Include all of AFS's local XDR implementation in the build for
+    shlibafsrpc, fixing problems with undefined symbols in the PAM module
+    on AMD64.
+  * When creating a new file server in afs-newcell, use a set of tuning
+    flags from Harald Barth rather than relying on the defaults.  This
+    doesn't help with general bos create; long term, the defaults need to
+    be fixed.  (Closes: #364100)
+  * Add a note in README.servers about fileserver tuning options.
+  * Update debconf templates to follow the best practice recommendations
+    from the Developer's Reference.
+  * Regenerate the man pages on build since the pre-generated ones were
+    done with a very old version of pod2man.
+  * Update standards version to 3.7.2 (no changes required).
+  * Use a better method of optionally running make distclean.
+  * Add build-arch and build-indep targets, just in case.
+  * Translation updates:
+    - Czech, thanks Martin Šín.
+    - Portuguese (Brazil), thanks André Luís Lopes.
+    - French, thanks Christian Perrier.
+    - Vietnamese, thanks Clytie Siddall.
+
+ -- Russ Allbery <rra@debian.org>  Sun, 18 Jun 2006 11:22:11 -0700
+
+openafs (1.4.1-2) unstable; urgency=low
+
+  * Exit successfully in the openafs-client init script if no module is
+    installed, since otherwise openafs-client will fail to install until
+    one builds a module.  This restores previous accidental behavior due
+    to a bug in debhelper.  (Closes: #362695)
+  * libopenafs-dev must conflict with liblwp-dev since they both provide
+    liblwp.a.  Thanks, Justin Pryzby.  (Closes: #362842)
+  * openafs-client recommends lsof, since the init script uses it for
+    cleaner shutdown.
+
+ -- Russ Allbery <rra@debian.org>  Sat, 15 Apr 2006 15:47:04 -0700
+
+openafs (1.4.1-1) unstable; urgency=low
+
+  * New upstream release.
+    - Supports Linux 2.6.16.  (Closes: #358203)
+    - Suspend should work with newer kernels.  (Closes: #341588)
+    - Safer cache size calculation.  (Closes: #360176)
+    - Upstream now includes man pages, so remove our backport.
+  * Subsume openafs-krb5 into this source package.
+    - Acknowledge NMU.  (Closes: #304933)
+    - Update to the OpenAFS aklog and asetkey.  (Closes: #196094)
+    - Backport asetkey from upstream CVS.
+    - Include ka-forwarder from the old migration toolkit.
+    - Add man pages for asetkey and ka-forwarder.
+  * Subsume openafs-doc into this source package.
+  * Since 2.6 is the supported kernel for etch, build the userspace with
+    a sysname of *_linux26 where supported.  This only affects the sys
+    command.  (Using livesys instead is better.)  (Closes: #358118)
+  * Always pass the system type into Autoconf, following autotools-dev
+    best practices.
+  * Add an explicit copyright statement to debian/copyright.
+
+ -- Russ Allbery <rra@debian.org>  Fri, 14 Apr 2006 15:04:45 -0700
+
 openafs (1.4.0-4) unstable; urgency=low
 
   * Hopefully fix sparc64 kernel support.  Thanks, Troy Benjegerdes.
@@ -1005,4 +1425,3 @@ openafs (1.0.snap20001103-1) unstable; urgency=low
   * Initial Release.
 
  -- unknown <hartmans@snorklewacker.mit.edu>  Fri,  3 Nov 2000 23:41:41 -0500
-
index b9403e2..57cc3ba 100644 (file)
-[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...
+This is a transcript of a user following the instructions in
+README.servers.  It is best read side-by-side with that documentation
+while you are setting up your cell.
+
+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.
+
+Thanks to Faheem Mitha for the transcript.
+
+##########################################################################
+
+riverside:/home/faheem# apt-get install krb5-admin-server
+...
 The following extra packages will be installed:
-  krb5-kdc krb5-user libkrb53 openafs-client openafs-fileserver openafs-ptutil 
+   krb5-config krb5-kdc krb5-user
 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
---------------------
+   krb5-admin-server krb5-config krb5-kdc krb5-user
+0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
+Need to get 348kB of archives.
+After unpacking 889kB of additional disk space will be used.
+Do you want to continue? [Y/n] 
+...
+Configuring krb5-config
+-----------------------
 
+   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.
 
-  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 version 5 realm? DULCI.BIOSTAT.DUKE.EDU
 
-What is the default Kerberos realm? [ATHENA.MIT.EDU] SNORKLEWACKER.MIT.EDU
 
-Configuring Krb5-kdc
+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. 
+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
+   1. disable  2. full  3. nopreauth  4. none
 
-What Kerberos4 compatibility mode should be used? [n] 
+Kerberos4 compatibility mode to use: 3
 
-Configuring Krb5-admin-server
+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
---------------------------
-
+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.
 
-  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
-------------------------------
+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.
 
-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-config.
+(Reading database ... 81199 files and directories currently installed.)
+Unpacking krb5-config (from .../krb5-config_1.6_all.deb) ...
 Selecting previously deselected package krb5-user.
-Unpacking krb5-user (from .../krb5-user_1.2.1-5_i386.deb) ...
+Unpacking krb5-user (from .../krb5-user_1.3.6-2sarge2_i386.deb) ...
 Selecting previously deselected package krb5-kdc.
-Unpacking krb5-kdc (from .../krb5-kdc_1.2.1-5_i386.deb) ...
+Unpacking krb5-kdc (from .../krb5-kdc_1.3.6-2sarge2_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) ...
+Unpacking krb5-admin-server (from .../krb5-admin-server_1.3.6-2sarge2_i386.deb) ...
+Setting up krb5-config (1.6) ...
+Configuring krb5-config
+-----------------------
 
-Setting up krb5-user (1.2.1-5) ...
+Enter the hostnames of Kerberos servers in the DULCI.BIOSTAT.DUKE.EDU Kerberos realm separated by spaces.
 
-Setting up krb5-kdc (1.2.1-5) ...
+What are the Kerberos servers for your realm? riverside.dulci.biostat.duke.edu
 
-Setting up krb5-admin-server (1.2.1-5) ...
+Enter the hostname of the administrative (password changing) server
+for the DULCI.BIOSTAT.DUKE.EDU Kerberos realm.
 
-Setting up openafs-krb5 (1.3-3) ...
+What is the administrative  server for your Kerberos realm? riverside.dulci.biostat.duke.edu
+Setting up krb5-user (1.3.6-2sarge2) ...
+Setting up krb5-kdc (1.3.6-2sarge2) ...
+Setting up krb5-admin-server (1.3.6-2sarge2) ...
+Starting Kerberos Administration Servers: kadmind: No such file or directory while initializing, aborting
+kadmind.
 
-snorklewacker:/# krb5_newrealm
+riverside:/home/faheem# 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
@@ -176,24 +102,16 @@ This password will be used to generate a key that is stored in
 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'
+Loading random data
+Initializing database '/var/lib/krb5kdc/principal' for realm 'DULCI.BIOSTAT.DUKE.EDU',
+master key name 'K/M@DULCI.BIOSTAT.DUKE.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.
+Enter KDC database master key: 
+Re-enter KDC database master key to verify: 
 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
@@ -206,37 +124,128 @@ 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
+riverside:/home/faheem# kadmin.local 
+Authenticating as principal root/admin@DULCI.BIOSTAT.DUKE.EDU with password.
+kadmin.local:  addprinc faheem/admin
+WARNING: no policy specified for faheem/admin@DULCI.BIOSTAT.DUKE.EDU; defaulting to no policy
+Enter password for principal "faheem/admin@DULCI.BIOSTAT.DUKE.EDU": 
+Re-enter password for principal "faheem/admin@DULCI.BIOSTAT.DUKE.EDU": 
+Principal "faheem/admin@DULCI.BIOSTAT.DUKE.EDU" created.
+kadmin.local:  addprinc faheem
+WARNING: no policy specified for faheem@DULCI.BIOSTAT.DUKE.EDU; defaulting to no policy
+Enter password for principal "faheem@DULCI.BIOSTAT.DUKE.EDU": 
+Re-enter password for principal "faheem@DULCI.BIOSTAT.DUKE.EDU": 
+Principal "faheem@DULCI.BIOSTAT.DUKE.EDU" created.
+kadmin.local:  exit
+riverside:/home/faheem# apt-get install openafs-dbserver openafs-krb5
+...
+The following extra packages will be installed:
+   openafs-client openafs-fileserver
+The following NEW packages will be installed:
+   openafs-client openafs-dbserver openafs-fileserver openafs-krb5
+0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
+Need to get 2927kB of archives.
+After unpacking 6898kB of additional disk space will be used.
+Do you want to continue? [Y/n] 
+...
+Configuring openafs-client
+--------------------------
+
+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.
+
+What AFS cell does this workstation belong to? dulci.biostat.duke.edu
+
+AFS uses an 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
+
+/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/CellAlias to include aliases for common cells. DO NOT
+SELECT THIS OPTION IF THIS MACHINE IS THE FIRST DATABASE SERVER IN A
+NEW CELL .
+
+Dynamically generate the contents of /afs? no
+
+Selecting previously deselected package openafs-client.
+(Reading database ... 81267 files and directories currently installed.)
+Unpacking openafs-client (from .../openafs-client_1.3.81-3sarge1_i386.deb) ...
+Selecting previously deselected package openafs-fileserver.
+Unpacking openafs-fileserver (from .../openafs-fileserver_1.3.81-3sarge1_i386.deb) ...
+Selecting previously deselected package openafs-dbserver.
+Unpacking openafs-dbserver (from .../openafs-dbserver_1.3.81-3sarge1_i386.deb) ...
+Selecting previously deselected package openafs-krb5.
+Unpacking openafs-krb5 (from .../openafs-krb5_1.3-10.1_i386.deb) ...
+Setting up openafs-client (1.3.81-3sarge1) ...
+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? riverside.dulci.biostat.duke.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
+choose not to start AFS at boot , run /etc/init.d/openafs-client
+force-start to start the client when you wish to run it.
+
+Run Openafs client now and at boot? no
+Setting up openafs-fileserver (1.3.81-3sarge1) ...
+Starting AFS Server: bosserver.
+
+Setting up openafs-dbserver (1.3.81-3sarge1) ...
+Setting up openafs-krb5 (1.3-10.1) ...
+riverside:/home/faheem# kadmin.local
+Authenticating as principal root/admin@DULCI.BIOSTAT.DUKE.EDU with password.
+kadmin.local:  addprinc -randkey -e des-cbc-crc:v4 afs
+WARNING: no policy specified for afs@DULCI.BIOSTAT.DUKE.EDU; defaulting to no policy
+Principal "afs@DULCI.BIOSTAT.DUKE.EDU" created.
+kadmin.local:   ktadd -k /tmp/afs.keytab -e des-cbc-crc:v4 afs
+Entry for principal afs with kvno 3, encryption type DES cbc mode with CRC-32 added to keytab WRFILE:/tmp/afs.keytab.
+kadmin.local:  getprinc afs
+Principal: afs@DULCI.BIOSTAT.DUKE.EDU
+Expiration date: [never]
+Last password change: Wed Aug 24 03:09:42 EDT 2005
+Password expiration date: [none]
+Maximum ticket life: 0 days 10:00:00
+Maximum renewable life: 7 days 00:00:00
+Last modified: Wed Aug 24 03:09:42 EDT 2005 (root/admin@DULCI.BIOSTAT.DUKE.EDU)
+Last successful authentication: [never]
+Last failed authentication: [never]
+Failed password attempts: 0
+Number of keys: 1
+Key: vno 3, DES cbc mode with CRC-32, no salt
+Attributes:
+Policy: [none]
+kadmin.local:  exit
+riverside:/home/faheem# asetkey add <kvno> /tmp/afs.keytab afs
+riverside:/home/faheem# 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
+33554432 bytes transferred in 0.093776 seconds (357814258 bytes/sec)
+riverside:/home/faheem# mke2fs /var/lib/openafs/vicepa
+mke2fs 1.37 (21-Mar-2005)
 /var/lib/openafs/vicepa is not a block special device.
 Proceed anyway? (y,n) y
 Filesystem label=
@@ -249,170 +258,304 @@ 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
+Superblock backups stored on blocks:
+       8193, 24577
 
-Writing inode tables: 0/4\b\b\b1/4\b\b\b2/4\b\b\b3/4\b\b\bdone                            
+Writing inode tables: done 
 Writing superblocks and filesystem accounting information: done
-snorklewacker:/# mount -oloop /var/lib/openafs/vicepa /vicepa
 
-snorklewacker:/# afs-newcell
-                           Prerequisites
+This filesystem will be automatically checked every 20 mounts or
+180 days, whichever comes first.  Use tune2fs -c or -i to override.
+riverside:/home/faheem# mkdir /vicepa
+riverside:/home/faheem# mount -oloop /var/lib/openafs/vicepa /vicepa
+riverside:/home/faheem# 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.
+    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.
+2) You need to create the single-DES AFS key and load it into
+    /etc/openafs/server/KeyFile.  If your cell's name is the same as
+    your Kerberos realm then create a principal called afs.  Otherwise,
+    create a principal called afs/cellname in your realm.  The cell
+    name should be all lower case, unlike Kerberos realms which are all
+    upper case.  You can use asetkey from the openafs-krb5 package, or
+    if you used AFS3 salt to create the key, the bos addkey command.
 
 3) This machine should have a filesystem mounted on /vicepa.  If you
-   do not have a free partition, then create a large file by using dd
-   to extract bytes from /dev/zero.  Create a filesystem on this file
-   and mount it using -oloop.  
+    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.
+    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 or admin instance of some
+    administrative user.  For example if jruser is an administrator then
+    it would be reasonable to create jruser/root (or jruser/admin) and
+    specify that 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.
+    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).
+Stopping AFS Server: bos: could not find entry (can't find cell '<default>' in cell database)
 bosserver.
-bos addhost snorklewacker snorklewacker -localauth ||true
-bos adduser snorklewacker hartmans -localauth
+What administrative principal should be used? faheem/admin
+
+/etc/openafs/server/CellServDB already exists, renaming to .old
+/etc/init.d/openafs-fileserver start
+Starting AFS Server: bosserver.
+bos adduser riverside.dulci.biostat.duke.edu faheem.admin -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
+bos create riverside.dulci.biostat.duke.edu ptserver simple /usr/lib/openafs/ptserver -localauth
+bos create riverside.dulci.biostat.duke.edu vlserver simple /usr/lib/openafs/vlserver -localauth
+bos create riverside.dulci.biostat.duke.edu 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
+vos create riverside.dulci.biostat.duke.edu a root.afs -localauth
+Volume 536870912 created on partition /vicepa of riverside.dulci.biostat.duke.edu
 /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:
+Starting AFS services: afsd: All AFS daemons started.
+  afsd.
+
+Now, get tokens as faheem/admin in the dulci.biostat.duke.edu cell.
+Then, run afs-rootvol.
+riverside:/home/faheem# bos status localhost -local
+Instance ptserver, currently running normally.
+Instance vlserver, currently running normally.
+Instance fs, currently running normally.
+     Auxiliary status is: file server running.
+riverside:/home/faheem# kinit faheem/admin@DULCI.BIOSTAT.DUKE.EDU
+Password for faheem/admin@DULCI.BIOSTAT.DUKE.EDU: 
+riverside:/home/faheem# aklog dulci.biostat.duke.edu -k DULCI.BIOSTAT.DUKE.EDU
+riverside:/home/faheem# tokens
+
+Tokens held by the Cache Manager:
+
+User's (AFS ID 1) tokens for afs@dulci.biostat.duke.edu [Expires Aug 24 13:22]
+    --End of list--
+riverside:/home/faheem# boss status riverside
+Instance ptserver, currently running normally.
+Instance vlserver, currently running normally.
+Instance fs, currently running normally.
+     Auxiliary status is: file server running.
+riverside:/home/faheem# 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.
+    volume location and protection server.  The afs-newcell script will
+    set up these services.
 
-2)  You must be logged into the cell with  tokens in
-    system:administrators and with a principal that is in the susers
+2) You must be logged into the cell with tokens in for a user in
+    system:administrators and with a principal that is in the UserList
     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.
+3) You need a fileserver in the cell with partitions mounted and a
+    root.afs volume created.  Presumably, it has no volumes on it,
+    although the script will work so long as nothing besides root.afs
+    exists.  The afs-newcell script will set up the file server.
 
 4) The AFS client must be running pointed at the new cell.
-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
+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? riverside.dulci.biostat.duke.edu
 What partition? [a] 
+vos create riverside.dulci.biostat.duke.edu a root.cell -localauth
+Volume 536870915 created on partition /vicepa of riverside.dulci.biostat.duke.edu
 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/dulci.biostat.duke.edu root.cell -cell dulci.biostat.duke.edu -fast || true
+fs mkm /afs/grand.central.org root.cell -cell grand.central.org -fast || true
+fs mkm /afs/wu-wien.ac.at root.cell -cell wu-wien.ac.at -fast || true
+fs mkm /afs/hephy.at root.cell -cell hephy.at -fast || true
+fs mkm /afs/itp.tugraz.at root.cell -cell itp.tugraz.at -fast || true
+fs mkm /afs/cern.ch root.cell -cell cern.ch -fast || true
+fs mkm /afs/ams.cern.ch root.cell -cell ams.cern.ch -fast || true
+fs mkm /afs/ethz.ch root.cell -cell ethz.ch -fast || true
+fs mkm /afs/psi.ch root.cell -cell psi.ch -fast || true
+fs mkm /afs/extundo.com root.cell -cell extundo.com -fast || true
+fs mkm /afs/mekinok.com root.cell -cell mekinok.com -fast || true
+fs mkm /afs/membrain.com root.cell -cell membrain.com -fast || true
+fs mkm /afs/midnightlinux.com root.cell -cell midnightlinux.com -fast || true
+fs mkm /afs/setfilepointer.com root.cell -cell setfilepointer.com -fast || true
+fs mkm /afs/sodre.cx root.cell -cell sodre.cx -fast || true
+fs mkm /afs/desy.de root.cell -cell desy.de -fast || true
+fs mkm /afs/gppc.de root.cell -cell gppc.de -fast || true
+fs mkm /afs/ifh.de root.cell -cell ifh.de -fast || true
+fs mkm /afs/lrz-muenchen.de root.cell -cell lrz-muenchen.de -fast || true
+fs mkm /afs/ipp-garching.mpg.de root.cell -cell ipp-garching.mpg.de -fast || true
+fs mkm /afs/mpe.mpg.de root.cell -cell mpe.mpg.de -fast || true
+fs mkm /afs/i1.informatik.rwth-aachen.de root.cell -cell i1.informatik.rwth-aachen.de -fast || true
+fs mkm /afs/tu-bs.de root.cell -cell tu-bs.de -fast || true
+fs mkm /afs/tu-chemnitz.de root.cell -cell tu-chemnitz.de -fast || true
+fs mkm /afs/e18.ph.tum.de root.cell -cell e18.ph.tum.de -fast || true
+fs mkm /afs/uni-bonn.de root.cell -cell uni-bonn.de -fast || true
+fs mkm /afs/atlass01.physik.uni-bonn.de root.cell -cell atlass01.physik.uni-bonn.de -fast || true
+fs mkm /afs/uni-freiburg.de root.cell -cell uni-freiburg.de -fast || true
+fs mkm /afs/physik.uni-freiburg.de root.cell -cell physik.uni-freiburg.de -fast || true
+fs mkm /afs/urz.uni-heidelberg.de root.cell -cell urz.uni-heidelberg.de -fast || true
+fs mkm /afs/uni-hohenheim.de root.cell -cell uni-hohenheim.de -fast || true
+fs mkm /afs/rz.uni-jena.de root.cell -cell rz.uni-jena.de -fast || true
+fs mkm /afs/meteo.uni-koeln.de root.cell -cell meteo.uni-koeln.de -fast || true
+fs mkm /afs/rrz.uni-koeln.de root.cell -cell rrz.uni-koeln.de -fast || true
+fs mkm /afs/physik.uni-mainz.de root.cell -cell physik.uni-mainz.de -fast || true
+fs mkm /afs/uni-mannheim.de root.cell -cell uni-mannheim.de -fast || true
+fs mkm /afs/physik.uni-wuppertal.de root.cell -cell physik.uni-wuppertal.de -fast || true
+fs mkm /afs/s-et.aau.dk root.cell -cell s-et.aau.dk -fast || true
+fs mkm /afs/ies.auc.dk root.cell -cell ies.auc.dk -fast || true
+fs mkm /afs/asu.edu root.cell -cell asu.edu -fast || true
+fs mkm /afs/hep.caltech.edu root.cell -cell hep.caltech.edu -fast || true
+fs mkm /afs/clarkson.edu root.cell -cell clarkson.edu -fast || true
+fs mkm /afs/andrew.cmu.edu root.cell -cell andrew.cmu.edu -fast || true
+fs mkm /afs/club.cc.cmu.edu root.cell -cell club.cc.cmu.edu -fast || true
+fs mkm /afs/chem.cmu.edu root.cell -cell chem.cmu.edu -fast || true
+fs mkm /afs/cs.cmu.edu root.cell -cell cs.cmu.edu -fast || true
+fs mkm /afs/ece.cmu.edu root.cell -cell ece.cmu.edu -fast || true
+fs mkm /afs/scotch.ece.cmu.edu root.cell -cell scotch.ece.cmu.edu -fast || true
+fs mkm /afs/qatar.cmu.edu root.cell -cell qatar.cmu.edu -fast || true
+fs mkm /afs/sbp.ri.cmu.edu root.cell -cell sbp.ri.cmu.edu -fast || true
+fs mkm /afs/msc.cornell.edu root.cell -cell msc.cornell.edu -fast || true
+fs mkm /afs/dbic.dartmouth.edu root.cell -cell dbic.dartmouth.edu -fast || true
+fs mkm /afs/northstar.dartmouth.edu root.cell -cell northstar.dartmouth.edu -fast || true
+fs mkm /afs/eecs.harvard.edu root.cell -cell eecs.harvard.edu -fast || true
+fs mkm /afs/iastate.edu root.cell -cell iastate.edu -fast || true
+fs mkm /afs/athena.mit.edu root.cell -cell athena.mit.edu -fast || true
+fs mkm /afs/dev.mit.edu root.cell -cell dev.mit.edu -fast || true
+fs mkm /afs/net.mit.edu root.cell -cell net.mit.edu -fast || true
+fs mkm /afs/sipb.mit.edu root.cell -cell sipb.mit.edu -fast || true
+fs mkm /afs/msu.edu root.cell -cell msu.edu -fast || true
+fs mkm /afs/nd.edu root.cell -cell nd.edu -fast || true
+fs mkm /afs/pitt.edu root.cell -cell pitt.edu -fast || true
+fs mkm /afs/cs.pitt.edu root.cell -cell cs.pitt.edu -fast || true
+fs mkm /afs/psc.edu root.cell -cell psc.edu -fast || true
+fs mkm /afs/scoobydoo.psc.edu root.cell -cell scoobydoo.psc.edu -fast || true
+fs mkm /afs/cede.psu.edu root.cell -cell cede.psu.edu -fast || true
+fs mkm /afs/rose-hulman.edu root.cell -cell rose-hulman.edu -fast || true
+fs mkm /afs/cs.rose-hulman.edu root.cell -cell cs.rose-hulman.edu -fast || true
+fs mkm /afs/rpi.edu root.cell -cell rpi.edu -fast || true
+fs mkm /afs/hep.sc.edu root.cell -cell hep.sc.edu -fast || true
+fs mkm /afs/cs.stanford.edu root.cell -cell cs.stanford.edu -fast || true
+fs mkm /afs/ir.stanford.edu root.cell -cell ir.stanford.edu -fast || true
+fs mkm /afs/slac.stanford.edu root.cell -cell slac.stanford.edu -fast || true
+fs mkm /afs/cats.ucsc.edu root.cell -cell cats.ucsc.edu -fast || true
+fs mkm /afs/acm.uiuc.edu root.cell -cell acm.uiuc.edu -fast || true
+fs mkm /afs/ncsa.uiuc.edu root.cell -cell ncsa.uiuc.edu -fast || true
+fs mkm /afs/umbc.edu root.cell -cell umbc.edu -fast || true
+fs mkm /afs/glue.umd.edu root.cell -cell glue.umd.edu -fast || true
+fs mkm /afs/wam.umd.edu root.cell -cell wam.umd.edu -fast || true
+fs mkm /afs/umich.edu root.cell -cell umich.edu -fast || true
+fs mkm /afs/atlas.umich.edu root.cell -cell atlas.umich.edu -fast || true
+fs mkm /afs/citi.umich.edu root.cell -cell citi.umich.edu -fast || true
+fs mkm /afs/lsa.umich.edu root.cell -cell lsa.umich.edu -fast || true
+fs mkm /afs/math.lsa.umich.edu root.cell -cell math.lsa.umich.edu -fast || true
+fs mkm /afs/umr.edu root.cell -cell umr.edu -fast || true
+fs mkm /afs/physics.unc.edu root.cell -cell physics.unc.edu -fast || true
+fs mkm /afs/uncc.edu root.cell -cell uncc.edu -fast || true
+fs mkm /afs/eng.utah.edu root.cell -cell eng.utah.edu -fast || true
+fs mkm /afs/cs.uwm.edu root.cell -cell cs.uwm.edu -fast || true
+fs mkm /afs/cs.wisc.edu root.cell -cell cs.wisc.edu -fast || true
+fs mkm /afs/engr.wisc.edu root.cell -cell engr.wisc.edu -fast || true
+fs mkm /afs/hep.wisc.edu root.cell -cell hep.wisc.edu -fast || true
+fs mkm /afs/physics.wisc.edu root.cell -cell physics.wisc.edu -fast || true
+fs mkm /afs/ifca.unican.es root.cell -cell ifca.unican.es -fast || true
+fs mkm /afs/ific.uv.es root.cell -cell ific.uv.es -fast || true
+fs mkm /afs/biocenter.helsinki.fi root.cell -cell biocenter.helsinki.fi -fast || true
+fs mkm /afs/dapnia.saclay.cea.fr root.cell -cell dapnia.saclay.cea.fr -fast || true
+fs mkm /afs/in2p3.fr root.cell -cell in2p3.fr -fast || true
+fs mkm /afs/anl.gov root.cell -cell anl.gov -fast || true
+fs mkm /afs/rhic.bnl.gov root.cell -cell rhic.bnl.gov -fast || true
+fs mkm /afs/usatlas.bnl.gov root.cell -cell usatlas.bnl.gov -fast || true
+fs mkm /afs/fnal.gov root.cell -cell fnal.gov -fast || true
+fs mkm /afs/ic-afs.arc.nasa.gov root.cell -cell ic-afs.arc.nasa.gov -fast || true
+fs mkm /afs/jpl.nasa.gov root.cell -cell jpl.nasa.gov -fast || true
+fs mkm /afs/nersc.gov root.cell -cell nersc.gov -fast || true
+fs mkm /afs/bme.hu root.cell -cell bme.hu -fast || true
+fs mkm /afs/caspur.it root.cell -cell caspur.it -fast || true
+fs mkm /afs/fusione.it root.cell -cell fusione.it -fast || true
+fs mkm /afs/icemb.it root.cell -cell icemb.it -fast || true
+fs mkm /afs/infn.it root.cell -cell infn.it -fast || true
+fs mkm /afs/kloe.infn.it root.cell -cell kloe.infn.it -fast || true
+fs mkm /afs/le.infn.it root.cell -cell le.infn.it -fast || true
+fs mkm /afs/lnf.infn.it root.cell -cell lnf.infn.it -fast || true
+fs mkm /afs/lngs.infn.it root.cell -cell lngs.infn.it -fast || true
+fs mkm /afs/pi.infn.it root.cell -cell pi.infn.it -fast || true
+fs mkm /afs/psm.it root.cell -cell psm.it -fast || true
+fs mkm /afs/tgrid.it root.cell -cell tgrid.it -fast || true
+fs mkm /afs/ictp.trieste.it root.cell -cell ictp.trieste.it -fast || true
+fs mkm /afs/ing.uniroma1.it root.cell -cell ing.uniroma1.it -fast || true
+fs mkm /afs/vn.uniroma3.it root.cell -cell vn.uniroma3.it -fast || true
+fs mkm /afs/italia root.cell -cell italia -fast || true
+fs mkm /afs/cmf.nrl.navy.mil root.cell -cell cmf.nrl.navy.mil -fast || true
+fs mkm /afs/lcp.nrl.navy.mil root.cell -cell lcp.nrl.navy.mil -fast || true
+fs mkm /afs/es.net root.cell -cell es.net -fast || true
+fs mkm /afs/laroia.net root.cell -cell laroia.net -fast || true
+fs mkm /afs/sinenomine.net root.cell -cell sinenomine.net -fast || true
+fs mkm /afs/slackers.net root.cell -cell slackers.net -fast || true
+fs mkm /afs/nikhef.nl root.cell -cell nikhef.nl -fast || true
+fs mkm /afs/1ts.org root.cell -cell 1ts.org -fast || true
+fs mkm /afs/bazquux.org root.cell -cell bazquux.org -fast || true
+fs mkm /afs/coed.org root.cell -cell coed.org -fast || true
+fs mkm /afs/dementia.org root.cell -cell dementia.org -fast || true
+fs mkm /afs/firelion.org root.cell -cell firelion.org -fast || true
+fs mkm /afs/hackish.org root.cell -cell hackish.org -fast || true
+fs mkm /afs/idahofuturetruck.org root.cell -cell idahofuturetruck.org -fast || true
+fs mkm /afs/nimlabs.org root.cell -cell nimlabs.org -fast || true
+fs mkm /afs/nomh.org root.cell -cell nomh.org -fast || true
+fs mkm /afs/oc7.org root.cell -cell oc7.org -fast || true
+fs mkm /afs/openafs.org root.cell -cell openafs.org -fast || true
+fs mkm /afs/e.kth.se root.cell -cell e.kth.se -fast || true
+fs mkm /afs/hallf.kth.se root.cell -cell hallf.kth.se -fast || true
+fs mkm /afs/isk.kth.se root.cell -cell isk.kth.se -fast || true
+fs mkm /afs/it.kth.se root.cell -cell it.kth.se -fast || true
+fs mkm /afs/md.kth.se root.cell -cell md.kth.se -fast || true
+fs mkm /afs/mech.kth.se root.cell -cell mech.kth.se -fast || true
+fs mkm /afs/nada.kth.se root.cell -cell nada.kth.se -fast || true
+fs mkm /afs/pdc.kth.se root.cell -cell pdc.kth.se -fast || true
+fs mkm /afs/stacken.kth.se root.cell -cell stacken.kth.se -fast || true
+fs mkm /afs/syd.kth.se root.cell -cell syd.kth.se -fast || true
+fs mkm /afs/physto.se root.cell -cell physto.se -fast || true
+fs mkm /afs/sanchin.se root.cell -cell sanchin.se -fast || true
+fs mkm /afs/su.se root.cell -cell su.se -fast || true
+fs mkm /afs/f9.ijs.si root.cell -cell f9.ijs.si -fast || true
+fs mkm /afs/p-ng.si root.cell -cell p-ng.si -fast || true
+fs mkm /afs/phy.bris.ac.uk root.cell -cell phy.bris.ac.uk -fast || true
+fs mkm /afs/hep.man.ac.uk root.cell -cell hep.man.ac.uk -fast || true
+fs mkm /afs/rl.ac.uk root.cell -cell rl.ac.uk -fast || true
+fs sa /afs/dulci.biostat.duke.edu system:anyuser rl
+fs mkm /afs/.dulci.biostat.duke.edu root.cell -cell dulci.biostat.duke.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 create riverside.dulci.biostat.duke.edu a user -localauth
+Volume 536870918 created on partition /vicepa of riverside.dulci.biostat.duke.edu
+fs mkm /afs/dulci.biostat.duke.edu/user user 
+fs sa /afs/dulci.biostat.duke.edu/user system:anyuser rl
+vos create riverside.dulci.biostat.duke.edu a service -localauth
+Volume 536870921 created on partition /vicepa of riverside.dulci.biostat.duke.edu
+fs mkm /afs/dulci.biostat.duke.edu/service service 
+fs sa /afs/dulci.biostat.duke.edu/service system:anyuser rl
+ln -s dulci.biostat.duke.edu /afs/dulci
+ln -s .dulci.biostat.duke.edu /afs/.dulci
+vos addsite riverside.dulci.biostat.duke.edu a root.afs -localauth
+Added replication site riverside.dulci.biostat.duke.edu /vicepa for volume root.afs
+vos addsite riverside.dulci.biostat.duke.edu a root.cell -localauth
+Added replication site riverside.dulci.biostat.duke.edu /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
+riverside:/home/faheem# cd /afs/dulci.biostat.duke.edu/
+riverside:/afs/dulci.biostat.duke.edu# ls
 service  user
-snorklewacker:/# 
index ec2ec1c..d72177d 100644 (file)
@@ -3,13 +3,15 @@ Section: net
 Priority: optional
 Maintainer: Sam Hartman <hartmans@debian.org>
 Uploaders: Russ Allbery <rra@debian.org>
-Build-Depends: debhelper (>= 4.1.16), libncurses5-dev, libpam0g-dev, bison, docbook-to-man, flex, perl, comerr-dev
-Standards-Version: 3.6.2
+Build-Depends: debhelper (>= 5), libncurses5-dev, libpam0g-dev, bison,
+ flex, perl, comerr-dev, libkrb5-dev, autoconf, automake, quilt (>= 0.40)
+Standards-Version: 3.7.3
+Homepage: http://www.openafs.org/
 
 Package: openafs-client
-Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64 s390x
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Recommends: openafs-modules-source (>= 1.2.9) | openafs-modules2
+Recommends: openafs-modules-source (>= 1.2.9) | openafs-modules2, lsof
 Suggests: openafs-doc
 Conflicts: arla, openafs-modules1
 Description: AFS distributed filesystem client support
@@ -22,7 +24,7 @@ Description: AFS distributed filesystem client support
 
 Package: openafs-kpasswd
 Priority: extra
-Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64 s390x
 Depends: ${shlibs:Depends}, openafs-client
 Conflicts: krb5-user, heimdal-clients, kerberos4kth-clients
 Description: AFS distributed filesystem old password changing
@@ -36,8 +38,8 @@ Description: AFS distributed filesystem old password changing
  package for new cells or for cells using Kerberos v5.
 
 Package: openafs-fileserver
-Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64
-Depends: ${shlibs:Depends}, ${misc:Depends}, openafs-client
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64 s390x
+Depends: ${shlibs:Depends}, ${misc:Depends}, openafs-client, lsb-base
 Recommends: ntp
 Suggests: openafs-doc
 Description: AFS distributed filesystem file server
@@ -49,7 +51,7 @@ Description: AFS distributed filesystem file server
  installed on any machine that will export files into AFS.
 
 Package: openafs-dbserver
-Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64 s390x
 Depends: ${shlibs:Depends}, ${perl:Depends}, openafs-fileserver, openafs-client
 Suggests: openafs-doc
 Conflicts: openafs-ptutil
@@ -64,13 +66,37 @@ Description: AFS distributed filesystem database server
  installed on the servers that will act as volume location and
  protection servers.
 
+Package: openafs-doc
+Section: doc
+Architecture: all
+Description: AFS distributed filesystem documentation
+ 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 contains the OpenAFS user's and reference manuals, some
+ protocol documentation, and other OpenAFS documentation.
+
+Package: openafs-krb5
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64 s390x
+Depends: ${shlibs:Depends}
+Description: AFS distributed filesystem Kerberos 5 integration
+ 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 aklog, a utility for authenticating to AFS using
+ Kerberos 5.  It also provides asetkey, a utility to set AFS server keys
+ from a Kerberos keytab, and ka-forwarder, a utility to forward kaserver
+ requests to a KDC using fakeka.
+
 Package: libopenafs-dev
 Section: libdevel
-Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64 s390x
 Priority: extra
 Depends: ${shlibs:Depends}
 Suggests: openafs-doc
-Conflicts: arla-dev
+Conflicts: arla-dev, liblwp-dev
 Description: AFS distributed filesystem development libraries
  AFS is a distributed filesystem allowing cross-platform sharing of
  files among multiple computers.  Facilities are provided for access
@@ -81,7 +107,7 @@ Description: AFS distributed filesystem development libraries
 
 Package: openafs-modules-source
 Priority: extra
-Depends: bison, flex, debhelper (>= 4.0.0), kernel-package | module-assistant
+Depends: bison, flex, debhelper (>= 5), kernel-package | module-assistant
 Architecture: all
 Description: AFS distributed filesystem kernel module source
  AFS is a distributed filesystem allowing cross-platform sharing of
@@ -93,7 +119,7 @@ Description: AFS distributed filesystem kernel module source
 Package: libpam-openafs-kaserver
 Priority: extra
 Depends: ${shlibs:Depends}, openafs-client
-Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64 s390x
 Description: AFS distributed filesystem kaserver PAM module
  AFS is a distributed filesystem allowing cross-platform sharing of
  files among multiple computers.  Facilities are provided for access
@@ -101,3 +127,18 @@ Description: AFS distributed filesystem kaserver PAM module
  .
  This package provides a PAM module for existing  sites using the AFS
  kaserver for authentication.  New sites should use a Kerberos v5
+ implementation, a Kerberos v5 PAM module, and libpam-openafs-session.
+
+Package: openafs-dbg
+Priority: extra
+Depends: openafs-fileserver (= ${binary:Version})
+ | libpam-openafs-kaserver (= ${binary:Version})
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64 s390x
+Section: libdevel
+Description: AFS distributed filesystem debugging information
+ 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 contains the debugging information for the OpenAFS
+ fileserver and volserver and for libpam-openafs-kaserver.
diff --git a/src/packaging/Debian/control.module-image b/src/packaging/Debian/control.module-image
deleted file mode 100644 (file)
index 7d38b40..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-Source: openafs
-Section: net
-Priority: optional
-Maintainer: Sam Hartman <hartmans@debian.org>
-Standards-Version: 3.1.1
-
-Package: openafs-modules-=KVERS
-Conflicts: openafs-client (<< 1.2.2-0)
-Provides: openafs-modules1
-Architecture: any
-Recommends: kernel-image-=KVERS (= =KREVS)
-Description: The AFS distributed filesystem- Kernel Module
- AFS is a distributed filesystem allowing cross-platform sharing of
- files among multiple computers.  Facilities are provided for access
- control, authentication, backup and administrative management.
- .
- This package provides the kernel module for the filesystem
index 0bed00b..ee56891 100644 (file)
@@ -11,13 +11,38 @@ Upstream Maintainers:
     openafs-gatekeepers@openafs.org
 
 The upstream source has been repackaged to remove the src/packaging/MacOS
-directory, which contained a file (afssettings.m) that was covered under
-the Apple Public Source License 2.0.  This license is not considered
-DFSG-free.  Since the repackaging was needed anyway, the WINNT directory
-was also dropped, reducing the size of the upstream tarball by 8MB.
+and src/platform/DARWIN directories and the files src/afs/sysctl.h and
+src/util/fstab.c.  These directories and files are only used for building
+on MacOS X and contained content covered by the Apple Public Source
+License 2.0.  This license is not considered DFSG-free.  Since the
+repackaging was needed anyway, the WINNT directory was also dropped,
+reducing the size of the upstream tarball by 8MB.
+
+The upstream openafs-src and openafs-doc tarballs have been combined into
+one source tarball.
+
+The openafs-doc package contains the OpenAFS documentation as distributed
+by the OpenAFS project, which does not include the original source.  These
+documents were originally created using TeX internally by Transarc, the
+original authors of AFS.  By the time that AFS was released as free
+software by IBM after acquiring Transarc, the original source could no
+longer be found.  It has apparently been lost over the years.
+
+Although these HTML and PDF files would not normally be considered source,
+they're all that's available until they can be rewritten and updated in
+some better format.  They have been released under the IBM Public License
+Version 1.0 (included below), the same license as the rest of OpenAFS.
+
+Normally, this documentation could not be included in Debian without being
+accompanied by the original TeX source and build tools under DFSG#2, but
+under the circumstances, these files essentially are the source, as
+they're all that anyone has.
 
 Copyright:
 
+   Copyright 2000, International Business Machines Corporation and others.
+   All Rights Reserved.
+
    IBM Public License Version 1.0
    
    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM
@@ -134,7 +159,7 @@ Copyright:
    Each Contributor must include the following in a conspicuous location
    in the Program:
    
-   Copyright © {date here}, International Business Machines Corporation
+   Copyright © {date here}, International Business Machines Corporation
        and others. All Rights Reserved.
        
    In addition, each Contributor must identify itself as the originator
@@ -254,7 +279,7 @@ Copyright:
 
 Kerberos 5 ticket support in rxkad is subject to the following copyright:
 /*
- * Copyright (c) 1995, 1996, 1997, 2002 Kungliga Tekniska Högskolan
+ * Copyright (c) 1995, 1996, 1997, 2002 Kungliga Tekniska Högskolan
  * (Royal Institute of Technology, Stockholm, Sweden).
  * All rights reserved.
  * 
@@ -341,3 +366,34 @@ Some portions of Rx are subject to the following license:
  * 2550 Garcia Avenue
  * Mountain View, California  94043
  */
+
+ka-forwarder was taken from the AFS/Kerberos 5 Migration Kit, to which it
+was donated by Jeffrey T. Hutzelman.  It is covered under the following
+license:
+/*
+ * Copyright (c) 1993 Carnegie Mellon University
+ * All Rights Reserved.
+ * 
+ * Permission to use, copy, modify and distribute this software and its
+ * documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ *  Software Distribution Coordinator  or  Software_Distribution@CS.CMU.EDU
+ *  School of Computer Science
+ *  Carnegie Mellon University
+ *  Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie Mellon
+ * the rights to redistribute these changes.
+ */
+
+src/afs/LINUX/osi_flush.s included code under IBM Public License with
+permission of the author, Paul MacKerras.
diff --git a/src/packaging/Debian/doc/build-man b/src/packaging/Debian/doc/build-man
deleted file mode 100644 (file)
index 1274495..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/sh
-#
-# Install man pages, but fixing up paths as we go.  All of the man pages
-# are written to use the Transarc paths, and this script fixes those paths to
-# be correct for the chosen configure options as the man pages are installed.
-
-set -e
-
-manpage="$1"
-dest="$2"
-
-afsbackupdir=/var/lib/openafs/backup
-afsbosconfigdir=/etc/openafs
-afsconfdir=/etc/openafs/server
-afsdbdir=/var/lib/openafs/db
-afslocaldir=/etc/openafs/server-local
-afslogsdir=/var/log/openafs
-afssrvlibexecdir=/usr/lib/openafs
-viceetcdir=/etc/openafs
-
-# Build a particular man page.  Takes the section title, the section number,
-# the filename of the POD page, and the output file.
-buildpage () {
-    pod2man -c "$1" -r OpenAFS -s "$2" "$3" | \
-        sed -e "s%/usr/afs/local/BosConfig%${afsbosconfigdir}/BosConfig%g" \
-            -e "s%/usr/afs/etc%${afsconfdir}%g" \
-            -e "s%/usr/afs/backup%${afsbackupdir}%g" \
-            -e "s%/usr/afs/bin%${afssrvlibexecdir}%g" \
-            -e "s%/usr/afs/db%${afsdbdir}%g" \
-            -e "s%/usr/afs/local%${afslocaldir}%g" \
-            -e "s%/usr/afs/logs%${afslogsdir}%g" \
-            -e "s%/usr/vice/etc%${viceetcdir}%g" > "$4"
-}
-
-# Create the output directories.
-mkdir -p man1 man5 man8
-
-# Do the work with lots of calls to buildpage.
-cd pod1
-for f in *.pod ; do
-    buildpage 'AFS Command Reference' 1 "$f" \
-        ../man1/`echo "$f" | sed 's/\.pod$//'`.1
-done
-cd ..
-cd pod5
-for f in *.pod ; do
-    buildpage 'AFS File Reference' 5 "$f" \
-        ../man5/`echo "$f" | sed 's/\.pod$//'`.5
-done
-cd ..
-cd pod8
-for f in *.pod ; do
-    buildpage 'AFS Command Reference' 8 "$f" \
-        ../man8/`echo "$f" | sed 's/\.pod$//'`.8
-done
-cd ..
diff --git a/src/packaging/Debian/filelist b/src/packaging/Debian/filelist
deleted file mode 100644 (file)
index bb3a06a..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-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
index 74bdd5a..80b2528 100644 (file)
@@ -5,4 +5,4 @@ debian/tmp/usr/include                  usr
 debian/tmp/usr/lib/*.a                  usr/lib
 debian/tmp/usr/lib/afs                  usr/lib
 
-debian/doc/man1/rxgen.1                 usr/share/man/man1
+debian/tmp/usr/share/man/man1/rxgen.1   usr/share/man/man1
diff --git a/src/packaging/Debian/make-links b/src/packaging/Debian/make-links
deleted file mode 100644 (file)
index 78ddaec..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/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/module/compat b/src/packaging/Debian/module/compat
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/src/packaging/Debian/module/control b/src/packaging/Debian/module/control
new file mode 100644 (file)
index 0000000..f1394bb
--- /dev/null
@@ -0,0 +1,7 @@
+Source: openafs
+Section: net
+Priority: optional
+Maintainer: Sam Hartman <hartmans@debian.org>
+Uploaders: Russ Allbery <rra@debian.org>
+Build-Depends: debhelper (>= 5), flex, bison
+Standards-Version: 3.7.2
similarity index 89%
rename from src/packaging/Debian/control.module
rename to src/packaging/Debian/module/control.in
index 66aaad4..31c8aab 100644 (file)
@@ -3,8 +3,8 @@ Section: net
 Priority: optional
 Maintainer: Sam Hartman <hartmans@debian.org>
 Uploaders: Russ Allbery <rra@debian.org>
-Build-Depends: debhelper (>= 4.1.16), flex, bison
-Standards-Version: 3.6.2
+Build-Depends: debhelper (>= 5), flex, bison
+Standards-Version: 3.7.2
 
 Package: openafs-modules-=KVERS
 Conflicts: openafs-client (<< 1.2.9)
similarity index 86%
rename from src/packaging/Debian/genchanges.sh
rename to src/packaging/Debian/module/genchanges
index e38781b..5aa47cc 100644 (file)
@@ -11,7 +11,7 @@ umask 022
 MODVERS=`cat debian/VERSION | sed s/:/\+/`
 ARCH=`dpkg --print-architecture`
 
-mprefix=`grep Package: debian/control.module | cut -d' ' -f 2 | cut -d= -f 1`
+mprefix=`grep Package: debian/control.in | cut -d' ' -f 2 | cut -d= -f 1`
 chfile="$KSRC/../$mprefix${KVERS}${INT_SUBARCH}_${MODVERS}_${ARCH}.changes"
 
 dpkg-genchanges -b ${KMAINT:+-m"$KMAINT <$KEMAIL>"} -u"$KSRC/.." \
similarity index 69%
rename from src/packaging/Debian/kernel-version
rename to src/packaging/Debian/module/kernel-version
index 093e7d9..a1985a2 100644 (file)
@@ -8,8 +8,17 @@ my $ksrc = shift;
 unless ($ksrc && open (VERSION, "$ksrc/include/linux/version.h")) {
     exit 0;
 }
+my $found;
 my $line = <VERSION>;
 if ($line =~ /"(.+)"/) {
     print "$1\n";
+    $found = 1;
+}
+exit 0 if $found;
+unless (open (VERSION, "$ksrc/include/config/kernel.release")) {
+    exit 0;
+}
+if ($line = <VERSION>) {
+    print "$line";
 }
 exit 0;
similarity index 98%
rename from src/packaging/Debian/prep-modules
rename to src/packaging/Debian/module/prep-modules
index 0ab5d5c..03c37d8 100644 (file)
@@ -86,7 +86,7 @@ fi
 # Generate the control file from the template.
 
 sed -e "s/=KVERS/${afs_kvers}/g" -e "s/=IMG/${afs_image}/g" \
-    debian/control.module > debian/control
+    debian/control.in > debian/control
 
 # Now, calcuate the binary package version.  Extract the epoch from the kernel
 # package revision and add it to the beginning of the binary package version
diff --git a/src/packaging/Debian/module/rules b/src/packaging/Debian/module/rules
new file mode 100644 (file)
index 0000000..620210d
--- /dev/null
@@ -0,0 +1,125 @@
+#!/usr/bin/make -f
+# Based on sample debian/rules that uses debhelper. 
+# GNU copyright 1997 by Joey Hess.
+#
+# The rules file for the OpenAFS module build.
+
+# Uncomment this to turn on verbose mode. 
+#export DH_VERBOSE=1
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+# Tell Autoconf the correct system types.
+DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
+    SYSTEM = --build $(DEB_HOST_GNU_TYPE)
+else
+    SYSTEM = --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
+endif
+
+# Determine whether we're building with optimization.  This doesn't really
+# work at the moment due to upstream problems.
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+    DEBIAN_OPT_FLAGS = --disable-optimize --disable-lwp-optimize
+    DEBIAN_KERN_FLAGS = --disable-kernel-optimize
+else
+    DEBIAN_OPT_FLAGS =
+    DEBIAN_KERN_FLAGS =
+endif
+
+# Find kernel build information.
+ifndef KSRC
+    KSRC = /usr/src/linux
+endif
+ifndef KPKG_DEST_DIR
+    KPKG_DEST_DIR = ..
+endif
+KVERS := $(shell perl debian/kernel-version $(KSRC))
+export KSRC 
+export KVERS
+export KPKG_DEST_DIR
+
+SYS_NAME  := $(shell KSRC="$(KSRC)" KVERS="$(KVERS)" sh debian/sysname)
+
+package    = openafs
+modulepkg := openafs-modules-$(KVERS)${INT_SUBARCH}
+moduledir := debian/$(modulepkg)/lib/modules/$(KVERS)/fs
+
+configure: configure-modules-stamp
+configure-stamp:
+       @if test x"$(SYS_NAME)" = x"UNKNOWN" ; then exit 1 ; fi
+       @if test x"$(KVERS)" = x ; then \
+           echo 'No version in $(KSRC)/include/linux/version.h' >&2 ; \
+           exit 1 ; \
+       fi
+       sh debian/prep-modules $(KSRC)
+       sh configure --with-afs-sysname=$(SYS_NAME) \
+           --with-linux-kernel-headers=$(KSRC) --prefix=`pwd`/debian/tmp \
+           --enable-debug --enable-lwp-debug --enable-kernel-debug \
+           $(DEBIAN_OPT_FLAGS) $(DEBIAN_KERN_FLAGS)
+       touch configure-stamp
+
+build: build-arch build-indep
+build-arch: build-arch-stamp
+build-indep:
+build-arch-stamp: configure-stamp
+       make only_libafs
+       touch build-arch-stamp
+
+clean:
+       dh_testdir
+       dh_testroot
+       rm -f build-arch-stamp configure-stamp
+       [ ! -f Makefile ] || $(MAKE) distclean
+       dh_clean
+
+install: build-arch-stamp
+       dh_testdir
+       dh_testroot
+       dh_clean -k
+       cd src/libafs && make install
+       install -d -g root -o root -m 755 $(moduledir)
+       install -g root -o root -m 755 debian/tmp/lib/openafs/*o $(moduledir)/
+       if test -f $(moduledir)/openafs.o \
+               -a ! -f $(moduledir)/openafs.mp.o ; then \
+           ln $(moduledir)/openafs.o $(moduledir)/openafs.mp.o || exit 1 ; \
+       fi
+
+binary: binary-arch binary-indep
+binary-indep:
+binary-arch: install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs NEWS
+       dh_installdocs
+       dh_installmodules
+       dh_strip
+       dh_link
+       dh_compress
+       dh_fixperms
+       dh_installdeb
+       dh_gencontrol -- -v`cat debian/VERSION`
+       dh_md5sums
+       dh_builddeb --destdir="$(KPKG_DEST_DIR)"
+
+####################  Module package support (make-kpkg)  ####################
+
+kdist_configure: configure-stamp
+
+kdist_image: build-arch-stamp
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules binary-arch
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules clean
+
+kdist: build-arch-stamp
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules binary-arch
+       KSRC="$(KSRC)" KMAINT="$(KMAINT)" KEMAIL="$(KEMAIL)" \
+           sh -v debian/genchanges
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules clean
+
+kdist_clean:
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules clean
+
+.PHONY: binary binary-arch binary-indep build build-arch build-indep clean
+.PHONY: configure install kdist kdist_clean kdist_configure kdist_image
similarity index 69%
rename from src/packaging/Debian/kern-sysname
rename to src/packaging/Debian/module/sysname
index 1aa0293..d551c89 100644 (file)
@@ -7,7 +7,27 @@ if [ x"$KVERS" = x ] ; then
     exit 1
 fi
 
-case `arch` in
+case `uname -m` in
+alpha)
+    case $KVERS in
+    2.2*)
+        echo alpha_linux_22
+        ;;
+    2.4*)
+        echo alpha_linux_24
+        ;;
+    2.6*)
+        echo alpha_linux_26
+        ;;
+    esac
+    ;;
+hppa)
+    case $KVERS in
+    2.4*)
+        echo parisc_linux24
+        ;;
+    esac
+    ;;
 i[3456]86)
     case $KVERS in
     2.2*)
@@ -21,75 +41,92 @@ i[3456]86)
         ;;
     esac
     ;;
-x86_64)
+ia64)
     case $KVERS in
     2.4*)
-        echo amd64_linux24
+        echo ia64_linux24
         ;;
     2.6*)
-        echo amd64_linux26
+        echo ia64_linux26
         ;;
     esac
     ;;
-ia64)
-    echo ia64_linux24
-    ;;
-alpha)
+ppc)
     case $KVERS in
     2.2*)
-        echo alpha_linux_22
+        echo ppc_linux22
         ;;
     2.4*)
-        echo alpha_linux_24
+        echo ppc_linux24
+        ;;
+    2.6)
+        echo ppc_linux26
         ;;
     esac
     ;;
-sparc)
+ppc64)
     case $KVERS in
-    2.2*)
-        echo sparc_linux22
+    2.4*)
+        echo ppc64_linux24
+        ;;
+    2.6*)
+        echo ppc64_linux26
         ;;
+    esac
+    ;;
+s390)
+    case $KVERS in
     2.4*)
-        echo sparc_linux24
+        echo s390_linux24
+        ;;
+    2.6*)
+        echo s390_linux26
         ;;
     esac
     ;;
-sparc64)
+s390x)
+    case $KVERS in
+    2.4*)
+        echo s390x_linux24
+        ;;
+    2.6*)
+        echo s390x_linux26
+        ;;
+    esac
+    ;;
+sparc)
     case $KVERS in
     2.2*)
-        echo sparc64_linux22
+        echo sparc_linux22
         ;;
     2.4*)
-        echo sparc64_linux24
+        echo sparc_linux24
         ;;
     esac
     ;;
-ppc)
+sparc64)
     case $KVERS in
     2.2*)
-        echo ppc_linux22
+        echo sparc64_linux22
         ;;
     2.4*)
-        echo ppc_linux24
+        echo sparc64_linux24
         ;;
-    2.6)
-        echo ppc_linux26
+    2.6*)
+        echo sparc64_linux26
         ;;
     esac
     ;;
-ppc64)
+x86_64)
     case $KVERS in
     2.4*)
-        echo ppc64_linux24
+        echo amd64_linux24
         ;;
     2.6*)
-        echo ppc64_linux26
+        echo amd64_linux26
         ;;
     esac
     ;;
-s390)
-    echo s390_linux24
-    ;;
 *)
     echo "ERROR: unsupported architecture" >&2
     echo UNKNOWN
diff --git a/src/packaging/Debian/movefiles b/src/packaging/Debian/movefiles
deleted file mode 100755 (executable)
index 11aed29..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/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.NEWS b/src/packaging/Debian/openafs-client.NEWS
new file mode 100644 (file)
index 0000000..a78507f
--- /dev/null
@@ -0,0 +1,24 @@
+openafs (1.4.2-6) unstable; urgency=medium
+
+  As of this release of the OpenAFS kernel module, all cells, including
+  the local cell, have setuid support turned off by default due to the
+  possibility of an attacker forging AFS fileserver responses to create a
+  fake setuid binary.  Prior releases enabled setuid support for the local
+  cell.  Those binaries will now run with normal permissions by default.
+
+  This security fix will only take effect once you've installed a kernel
+  module from openafs-modules-source 1.4.2-6 or later.  Doing so is highly
+  recommended.  In the meantime, you can disable setuid support by
+  running:
+
+      fs setcell -cell <localcell> -nosuid
+
+  as root (where <localcell> is your local cell, the one listed in
+  /etc/openafs/ThisCell).
+
+  If you are certain there is no security risk of an attacker forging AFS
+  fileserver responses, you can enable setuid status selectively using the
+  fs setcell command.
+
+ -- Russ Allbery <rra@debian.org>  Sun, 11 Mar 2007 22:28:07 -0700
+
diff --git a/src/packaging/Debian/openafs-client.conffiles b/src/packaging/Debian/openafs-client.conffiles
deleted file mode 100644 (file)
index 5f74788..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/etc/openafs/afs.conf
-/etc/init.d/openafs-client
diff --git a/src/packaging/Debian/openafs-client.init b/src/packaging/Debian/openafs-client.init
new file mode 100644 (file)
index 0000000..81e5b5d
--- /dev/null
@@ -0,0 +1,248 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:             openafs-client
+# Required-Start:       $network $time
+# Required-Stop:        $local_fs $remote_fs $network
+# Should-Start:         $local_fs $remote_fs
+# Default-Start:        2 3 4 5
+# Default-Stop:         0 1 6
+# Short-Description:    OpenAFS client
+# Description:          Starts or stops the OpenAFS client, loading the
+#                       OpenAFS kernel module as necessary.
+### END INIT INFO
+#
+# Modified by Sam Hartman <hartmans@mit.edu> for Debian
+# Copyright 2000, International Business Machines Corporation and others.
+# All Rights Reserved.
+# 
+# This software has been released under the terms of the IBM Public
+# License.  For details, see the LICENSE file in the top-level source
+# directory or online at http://www.openafs.org/dl/license10.html
+
+# This init script bears little resemblence to the regular upstream init
+# script at this point and is therefore maintained as a Debian-specific file.
+# The upstream init script assumes Red Hat paths and uses insmod to load the
+# module directly rather than using modprobe.
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+CACHEINFO=${CACHEINFO:-/etc/openafs/cacheinfo}
+MODULEDIR=${MODULEDIR:-/lib/modules/`uname -r`/fs}
+
+exec 3>/dev/null
+exec </dev/null
+
+# Gather up options and post startup script name, if present
+if [ -f /etc/openafs/afs.conf ]; then
+    . /etc/openafs/afs.conf
+fi
+
+# Return 1 if the argument is "true".
+is_on() {
+    if [ x"$1" = x"true" ] ; then
+        return 0
+    else
+        return 1
+    fi
+}
+
+# If choose_client can't correctly determine which client to use, set
+# LIBAFS manually.
+choose_client() {
+    # Use the second field of the uname -v output instead of just doing a
+    # match on the whole thing to protect against matching a timezone named
+    # SMP -- I don't know of one, but let's be paranoid.
+    set X `uname -v`; shift
+    case $2 in
+    SMP) MP=.mp ;;      # MP system
+    *)   MP=    ;;      # SP system
+    esac
+
+    # The Debian OpenAFS packages do not add the .mp by default as of 1.3, but
+    # modules obtained from other sources may.  If a module with the .mp
+    # exists and this is an SMP system, use it; otherwise, use the default
+    # value.  Unset $MP if not using it so that we can use it later in the
+    # call to modprobe.
+    if [ -n "$MP" -a -f "$MODULEDIR/openafs${MP}.o" ] ; then
+        LIBAFS=openafs${MP}.o
+    elif [ -n "$MP" -a -f "$MODULEDIR/openafs${MP}.ko" ] ; then
+        LIBAFS=openafs${MP}.ko
+    elif [ -f "$MODULEDIR/openafs.ko" ] ; then
+        MP=
+        LIBAFS=openafs.ko
+    else
+        MP=
+        LIBAFS=openafs.o
+    fi
+}
+
+# Load the AFS client module if it's not already loaded.  Set $MODULEDIR and
+# $LIBAFS to override the default location and module name.
+load_client() {
+    if [ -z "$LIBAFS" ] ; then
+        choose_client
+    fi
+    if [ ! -f "$MODULEDIR/$LIBAFS" ] ; then
+        echo ""
+        cat <<EOF >&2
+AFS module $MODULEDIR/$LIBAFS does not exist.
+Not starting AFS.  Please consider building kernel modules using
+instructions in /usr/share/doc/openafs-client/README.modules
+EOF
+        # We must exit successfully here or openafs-client will fail on
+        # installation unless a module is installed.
+        exit 0
+    fi
+    LOADED=`/sbin/lsmod | fgrep openafs`
+    if [ -z "$LOADED" ] ; then
+        modprobe openafs
+        status=$?
+        if [ $status = 0 ] ; then
+            echo -n " openafs"
+        fi
+        return $status
+    fi
+    return 0
+}
+
+# Determine which afsd options to use.  /etc/openafs/afs.conf contains the
+# settings that are checked here.
+choose_afsd_options() {
+    if [ -z "$OPTIONS" ] || [ "$OPTIONS" = "AUTOMATIC" ] ; then
+        AFSD_OPTIONS="$VERBOSE"
+    else
+        AFSD_OPTIONS="$OPTIONS $VERBOSE"
+    fi
+
+    # These variables are from /etc/openafs/afs.conf.client and are managed
+    # automatically by debconf.
+    if is_on $AFS_AFSDB ; then
+        AFSD_OPTIONS="$AFSD_OPTIONS -afsdb"
+    fi
+    if is_on $AFS_DYNROOT ; then
+        AFSD_OPTIONS="$AFSD_OPTIONS -dynroot"
+    fi
+    if is_on $AFS_FAKESTAT ; then
+        AFSD_OPTIONS="$AFSD_OPTIONS -fakestat"
+    fi
+}
+
+# Start afsd.  Be careful not to start it if another one is already running,
+# as that has a bad tendency to hang the system.  Earlier versions of the
+# openafs-client package put afsd in /usr/sbin.
+start_client() {
+    if pidof /sbin/afsd >/dev/null || pidof /usr/sbin/afsd >/dev/null ; then
+        echo "."
+    else
+        choose_afsd_options
+        echo " afsd."
+        start-stop-daemon --start --quiet --exec /sbin/afsd -- $AFSD_OPTIONS
+    fi
+
+    # From /etc/openafs/afs.conf.client, whether to enable fcrypt encryption.
+    if is_on $AFS_CRYPT ; then
+        fs setcrypt on
+    fi
+
+    # From /etc/openafs/afs.conf, set a sysname list if one was configured.
+    if [ -n "$AFS_SYSNAME" ] ; then
+        fs sysname $AFS_SYSNAME
+    fi
+}
+
+# Kill all processes that are accessing AFS.  Not enabled by default, and
+# normally called via kill_all_afs.  Warns and does nothing if lsof is not
+# installed.
+kill_afs() {
+    signal=$1
+    pids=`/usr/bin/lsof -Fp /afs | sed 's/p//'`
+    if [ -n "$pids" ] ; then
+        kill -$signal $pids > /dev/null 2>&1
+        sleep 1
+    fi
+}
+
+# Repeatedly call kill_afs for a series of signals to give AFS-using processes
+# a hope of shutting down cleanly if the system is shutting down.  Not enabled
+# by default.  Enable this in /etc/openafs/afs.conf.
+kill_all_afs() {
+    runlevel=`runlevel | sed 's/^. //'`
+    if [ "$runlevel" -eq 0 ] || [ "$runlevel" -eq 6 ] ; then
+        if [ -x /usr/bin/lsof ] ; then
+            echo -n "Killing processes with AFS files open: "
+            kill_afs HUP
+            kill_afs TERM
+            kill_afs ABRT
+            kill_afs KILL
+            echo "done."
+        else
+            echo '/usr/bin/lsof not found, not killing processes' >&2
+        fi
+    fi
+}
+
+
+case "$1" in 
+start)
+    if is_on $AFS_CLIENT && test -x /sbin/afsd ; then
+        echo -n "Starting AFS services:"
+        if load_client ; then
+            start_client
+            $AFS_POST_INIT
+        else
+            echo ""
+            echo "Failed to load AFS kernel module, not starting AFS" >&2
+            exit 1
+        fi
+    fi
+    ;;
+
+force-start)
+    if test -x /sbin/afsd ; then
+        echo -n "Starting AFS services:"
+        if load_client ; then
+            start_client
+            $AFS_POST_INIT
+        else
+            echo ""
+            echo "Failed to load AFS kernel module, not starting AFS" >&2
+            exit 1
+        fi
+    fi
+    ;;
+
+stop|force-stop)
+    $AFS_PRE_SHUTDOWN
+    echo -n "Stopping AFS services:"
+    if mount | grep -q '^AFS' ; then
+        umount /afs
+        echo -n " afsd"
+    fi
+    if pidof /usr/sbin/afsd >/dev/null || pidof /sbin/afsd >/dev/null ; then
+         afsd -shutdown
+    fi
+
+    # If running with the -rmtsys option, afsd doesn't kill the rmtsys helper
+    # on afsd -shutdown.  Run start-stop-daemon to make sure that everything
+    # is dead.
+    start-stop-daemon --stop --quiet --name afsd
+
+    LIBAFS=`/sbin/lsmod | awk 'BEGIN { FS = " " } /openafs/ { print $1 }'`
+    if [ -n "$LIBAFS" ] ; then
+        /sbin/rmmod $LIBAFS
+        echo -n " openafs"
+    fi
+    echo "."
+    ;;
+
+restart|force-reload)
+    "$0" stop
+    "$0" start
+    ;;
+
+*)
+    echo Usage: \
+        'openafs-client {start|force-start|stop|restart|force-reload}' >&2
+    exit 1
+
+esac
index 52428d4..4d4a068 100644 (file)
@@ -32,193 +32,193 @@ src/afs/afszcm.cat                      usr/share/openafs
 
 debian/CellServDB                       usr/share/openafs
 
-debian/doc/man1/afs.1                   usr/share/man/man1
-debian/doc/man1/afsmonitor.1            usr/share/man/man1
-debian/doc/man1/bos.1                   usr/share/man/man1
-debian/doc/man1/bos_addhost.1           usr/share/man/man1
-debian/doc/man1/bos_addkey.1            usr/share/man/man1
-debian/doc/man1/bos_adduser.1           usr/share/man/man1
-debian/doc/man1/bos_apropos.1           usr/share/man/man1
-debian/doc/man1/bos_create.1            usr/share/man/man1
-debian/doc/man1/bos_delete.1            usr/share/man/man1
-debian/doc/man1/bos_exec.1              usr/share/man/man1
-debian/doc/man1/bos_getdate.1           usr/share/man/man1
-debian/doc/man1/bos_getlog.1            usr/share/man/man1
-debian/doc/man1/bos_getrestart.1        usr/share/man/man1
-debian/doc/man1/bos_help.1              usr/share/man/man1
-debian/doc/man1/bos_install.1           usr/share/man/man1
-debian/doc/man1/bos_listhosts.1         usr/share/man/man1
-debian/doc/man1/bos_listkeys.1          usr/share/man/man1
-debian/doc/man1/bos_listusers.1         usr/share/man/man1
-debian/doc/man1/bos_prune.1             usr/share/man/man1
-debian/doc/man1/bos_removehost.1        usr/share/man/man1
-debian/doc/man1/bos_removekey.1         usr/share/man/man1
-debian/doc/man1/bos_removeuser.1        usr/share/man/man1
-debian/doc/man1/bos_restart.1           usr/share/man/man1
-debian/doc/man1/bos_salvage.1           usr/share/man/man1
-debian/doc/man1/bos_setauth.1           usr/share/man/man1
-debian/doc/man1/bos_setcellname.1       usr/share/man/man1
-debian/doc/man1/bos_setrestart.1        usr/share/man/man1
-debian/doc/man1/bos_shutdown.1          usr/share/man/man1
-debian/doc/man1/bos_start.1             usr/share/man/man1
-debian/doc/man1/bos_startup.1           usr/share/man/man1
-debian/doc/man1/bos_status.1            usr/share/man/man1
-debian/doc/man1/bos_stop.1              usr/share/man/man1
-debian/doc/man1/bos_uninstall.1         usr/share/man/man1
-debian/doc/man1/cmdebug.1               usr/share/man/man1
-debian/doc/man1/fs.1                    usr/share/man/man1
-debian/doc/man1/fs_apropos.1            usr/share/man/man1
-debian/doc/man1/fs_checkservers.1       usr/share/man/man1
-debian/doc/man1/fs_checkvolumes.1       usr/share/man/man1
-debian/doc/man1/fs_cleanacl.1           usr/share/man/man1
-debian/doc/man1/fs_copyacl.1            usr/share/man/man1
-debian/doc/man1/fs_diskfree.1           usr/share/man/man1
-debian/doc/man1/fs_examine.1            usr/share/man/man1
-debian/doc/man1/fs_exportafs.1          usr/share/man/man1
-debian/doc/man1/fs_flush.1              usr/share/man/man1
-debian/doc/man1/fs_flushmount.1         usr/share/man/man1
-debian/doc/man1/fs_flushvolume.1        usr/share/man/man1
-debian/doc/man1/fs_getcacheparms.1      usr/share/man/man1
-debian/doc/man1/fs_getcellstatus.1      usr/share/man/man1
-debian/doc/man1/fs_getclientaddrs.1     usr/share/man/man1
-debian/doc/man1/fs_getserverprefs.1     usr/share/man/man1
-debian/doc/man1/fs_help.1               usr/share/man/man1
-debian/doc/man1/fs_listacl.1            usr/share/man/man1
-debian/doc/man1/fs_listcells.1          usr/share/man/man1
-debian/doc/man1/fs_listquota.1          usr/share/man/man1
-debian/doc/man1/fs_lsmount.1            usr/share/man/man1
-debian/doc/man1/fs_messages.1           usr/share/man/man1
-debian/doc/man1/fs_mkmount.1            usr/share/man/man1
-debian/doc/man1/fs_newcell.1            usr/share/man/man1
-debian/doc/man1/fs_quota.1              usr/share/man/man1
-debian/doc/man1/fs_rmmount.1            usr/share/man/man1
-debian/doc/man1/fs_setacl.1             usr/share/man/man1
-debian/doc/man1/fs_setcachesize.1       usr/share/man/man1
-debian/doc/man1/fs_setcell.1            usr/share/man/man1
-debian/doc/man1/fs_setclientaddrs.1     usr/share/man/man1
-debian/doc/man1/fs_setquota.1           usr/share/man/man1
-debian/doc/man1/fs_setserverprefs.1     usr/share/man/man1
-debian/doc/man1/fs_setvol.1             usr/share/man/man1
-debian/doc/man1/fs_storebehind.1        usr/share/man/man1
-debian/doc/man1/fs_sysname.1            usr/share/man/man1
-debian/doc/man1/fs_whereis.1            usr/share/man/man1
-debian/doc/man1/fs_whichcell.1          usr/share/man/man1
-debian/doc/man1/fs_wscell.1             usr/share/man/man1
-debian/doc/man1/klog.1                  usr/share/man/man1
-debian/doc/man1/livesys.1               usr/share/man/man1
-debian/doc/man1/pagsh.1                 usr/share/man/man1
-debian/doc/man1/pts.1                   usr/share/man/man1
-debian/doc/man1/pts_adduser.1           usr/share/man/man1
-debian/doc/man1/pts_apropos.1           usr/share/man/man1
-debian/doc/man1/pts_chown.1             usr/share/man/man1
-debian/doc/man1/pts_creategroup.1       usr/share/man/man1
-debian/doc/man1/pts_createuser.1        usr/share/man/man1
-debian/doc/man1/pts_delete.1            usr/share/man/man1
-debian/doc/man1/pts_examine.1           usr/share/man/man1
-debian/doc/man1/pts_help.1              usr/share/man/man1
-debian/doc/man1/pts_listentries.1       usr/share/man/man1
-debian/doc/man1/pts_listmax.1           usr/share/man/man1
-debian/doc/man1/pts_listowned.1         usr/share/man/man1
-debian/doc/man1/pts_membership.1        usr/share/man/man1
-debian/doc/man1/pts_removeuser.1        usr/share/man/man1
-debian/doc/man1/pts_rename.1            usr/share/man/man1
-debian/doc/man1/pts_setfields.1         usr/share/man/man1
-debian/doc/man1/pts_setmax.1            usr/share/man/man1
-debian/doc/man1/rxdebug.1               usr/share/man/man1
-debian/doc/man1/scout.1                 usr/share/man/man1
-debian/doc/man1/sys.1                   usr/share/man/man1
-debian/doc/man1/tokens.1                usr/share/man/man1
-debian/doc/man1/translate_et.1          usr/share/man/man1
-debian/doc/man1/udebug.1                usr/share/man/man1
-debian/doc/man1/unlog.1                 usr/share/man/man1
-debian/doc/man1/up.1                    usr/share/man/man1
-debian/doc/man1/vos.1                   usr/share/man/man1
-debian/doc/man1/vos_addsite.1           usr/share/man/man1
-debian/doc/man1/vos_apropos.1           usr/share/man/man1
-debian/doc/man1/vos_backup.1            usr/share/man/man1
-debian/doc/man1/vos_backupsys.1         usr/share/man/man1
-debian/doc/man1/vos_changeaddr.1        usr/share/man/man1
-debian/doc/man1/vos_create.1            usr/share/man/man1
-debian/doc/man1/vos_delentry.1          usr/share/man/man1
-debian/doc/man1/vos_dump.1              usr/share/man/man1
-debian/doc/man1/vos_examine.1           usr/share/man/man1
-debian/doc/man1/vos_help.1              usr/share/man/man1
-debian/doc/man1/vos_listaddrs.1         usr/share/man/man1
-debian/doc/man1/vos_listpart.1          usr/share/man/man1
-debian/doc/man1/vos_listvldb.1          usr/share/man/man1
-debian/doc/man1/vos_listvol.1           usr/share/man/man1
-debian/doc/man1/vos_lock.1              usr/share/man/man1
-debian/doc/man1/vos_move.1              usr/share/man/man1
-debian/doc/man1/vos_partinfo.1          usr/share/man/man1
-debian/doc/man1/vos_release.1           usr/share/man/man1
-debian/doc/man1/vos_remove.1            usr/share/man/man1
-debian/doc/man1/vos_remsite.1           usr/share/man/man1
-debian/doc/man1/vos_rename.1            usr/share/man/man1
-debian/doc/man1/vos_restore.1           usr/share/man/man1
-debian/doc/man1/vos_status.1            usr/share/man/man1
-debian/doc/man1/vos_syncserv.1          usr/share/man/man1
-debian/doc/man1/vos_syncvldb.1          usr/share/man/man1
-debian/doc/man1/vos_unlock.1            usr/share/man/man1
-debian/doc/man1/vos_unlockvldb.1        usr/share/man/man1
-debian/doc/man1/vos_zap.1               usr/share/man/man1
-debian/doc/man1/xstat_cm_test.1         usr/share/man/man1
-debian/doc/man1/xstat_fs_test.1         usr/share/man/man1
+debian/tmp/usr/share/man/man1/afs.1                   usr/share/man/man1
+debian/tmp/usr/share/man/man1/afsmonitor.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/cmdebug.1               usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs.1                    usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_apropos.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_checkservers.1       usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_checkvolumes.1       usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_cleanacl.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_copyacl.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_diskfree.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_examine.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_exportafs.1          usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_flush.1              usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_flushmount.1         usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_flushvolume.1        usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_getcacheparms.1      usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_getcellstatus.1      usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_getclientaddrs.1     usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_getserverprefs.1     usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_help.1               usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_listacl.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_listcells.1          usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_listquota.1          usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_lsmount.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_messages.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_mkmount.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_newcell.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_quota.1              usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_rmmount.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_setacl.1             usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_setcachesize.1       usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_setcell.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_setclientaddrs.1     usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_setquota.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_setserverprefs.1     usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_setvol.1             usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_storebehind.1        usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_sysname.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_whereis.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_whichcell.1          usr/share/man/man1
+debian/tmp/usr/share/man/man1/fs_wscell.1             usr/share/man/man1
+debian/tmp/usr/share/man/man1/klog.1                  usr/share/man/man1
+debian/tmp/usr/share/man/man1/livesys.1               usr/share/man/man1
+debian/tmp/usr/share/man/man1/pagsh.1                 usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts.1                   usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_adduser.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_apropos.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_chown.1             usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_creategroup.1       usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_createuser.1        usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_delete.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_examine.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_help.1              usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_listentries.1       usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_listmax.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_listowned.1         usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_membership.1        usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_removeuser.1        usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_rename.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_setfields.1         usr/share/man/man1
+debian/tmp/usr/share/man/man1/pts_setmax.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/rxdebug.1               usr/share/man/man1
+debian/tmp/usr/share/man/man1/scout.1                 usr/share/man/man1
+debian/tmp/usr/share/man/man1/sys.1                   usr/share/man/man1
+debian/tmp/usr/share/man/man1/tokens.1                usr/share/man/man1
+debian/tmp/usr/share/man/man1/translate_et.1          usr/share/man/man1
+debian/tmp/usr/share/man/man1/udebug.1                usr/share/man/man1
+debian/tmp/usr/share/man/man1/unlog.1                 usr/share/man/man1
+debian/tmp/usr/share/man/man1/up.1                    usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos.1                   usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_addsite.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_apropos.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_backup.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_backupsys.1         usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_changeaddr.1        usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_create.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_delentry.1          usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_dump.1              usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_examine.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_help.1              usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_listaddrs.1         usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_listpart.1          usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_listvldb.1          usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_listvol.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_lock.1              usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_move.1              usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_partinfo.1          usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_release.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_remove.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_remsite.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_rename.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_restore.1           usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_status.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_syncserv.1          usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_syncvldb.1          usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_unlock.1            usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_unlockvldb.1        usr/share/man/man1
+debian/tmp/usr/share/man/man1/vos_zap.1               usr/share/man/man1
+debian/tmp/usr/share/man/man1/xstat_cm_test.1         usr/share/man/man1
+debian/tmp/usr/share/man/man1/xstat_fs_test.1         usr/share/man/man1
 
-debian/doc/man5/CellServDB.5            usr/share/man/man5
-debian/doc/man5/NetInfo.5               usr/share/man/man5
-debian/doc/man5/NetRestrict.5           usr/share/man/man5
-debian/doc/man5/ThisCell.5              usr/share/man/man5
-debian/doc/man5/afs.5                   usr/share/man/man5
-debian/doc/man5/afs_cache.5             usr/share/man/man5
-debian/doc/man5/afsmonitor.5            usr/share/man/man5
-debian/doc/man5/afszcm.cat.5            usr/share/man/man5
-debian/doc/man5/butc.5                  usr/share/man/man5
-debian/doc/man5/butc_logs.5             usr/share/man/man5
-debian/doc/man5/cacheinfo.5             usr/share/man/man5
-debian/doc/man5/tapeconfig.5            usr/share/man/man5
+debian/tmp/usr/share/man/man5/CellServDB.5            usr/share/man/man5
+debian/tmp/usr/share/man/man5/NetInfo.5               usr/share/man/man5
+debian/tmp/usr/share/man/man5/NetRestrict.5           usr/share/man/man5
+debian/tmp/usr/share/man/man5/ThisCell.5              usr/share/man/man5
+debian/tmp/usr/share/man/man5/afs.5                   usr/share/man/man5
+debian/tmp/usr/share/man/man5/afs_cache.5             usr/share/man/man5
+debian/tmp/usr/share/man/man5/afsmonitor.5            usr/share/man/man5
+debian/tmp/usr/share/man/man5/afszcm.cat.5            usr/share/man/man5
+debian/tmp/usr/share/man/man5/butc.5                  usr/share/man/man5
+debian/tmp/usr/share/man/man5/butc_logs.5             usr/share/man/man5
+debian/tmp/usr/share/man/man5/cacheinfo.5             usr/share/man/man5
+debian/tmp/usr/share/man/man5/tapeconfig.5            usr/share/man/man5
 
-debian/doc/man8/afsd.8                  usr/share/man/man8
-debian/doc/man8/backup.8                usr/share/man/man8
-debian/doc/man8/backup_adddump.8        usr/share/man/man8
-debian/doc/man8/backup_addhost.8        usr/share/man/man8
-debian/doc/man8/backup_addvolentry.8    usr/share/man/man8
-debian/doc/man8/backup_addvolset.8      usr/share/man/man8
-debian/doc/man8/backup_apropos.8        usr/share/man/man8
-debian/doc/man8/backup_dbverify.8       usr/share/man/man8
-debian/doc/man8/backup_deldump.8        usr/share/man/man8
-debian/doc/man8/backup_deletedump.8     usr/share/man/man8
-debian/doc/man8/backup_delhost.8        usr/share/man/man8
-debian/doc/man8/backup_delvolentry.8    usr/share/man/man8
-debian/doc/man8/backup_delvolset.8      usr/share/man/man8
-debian/doc/man8/backup_diskrestore.8    usr/share/man/man8
-debian/doc/man8/backup_dump.8           usr/share/man/man8
-debian/doc/man8/backup_dumpinfo.8       usr/share/man/man8
-debian/doc/man8/backup_help.8           usr/share/man/man8
-debian/doc/man8/backup_interactive.8    usr/share/man/man8
-debian/doc/man8/backup_jobs.8           usr/share/man/man8
-debian/doc/man8/backup_kill.8           usr/share/man/man8
-debian/doc/man8/backup_labeltape.8      usr/share/man/man8
-debian/doc/man8/backup_listdumps.8      usr/share/man/man8
-debian/doc/man8/backup_listhosts.8      usr/share/man/man8
-debian/doc/man8/backup_listvolsets.8    usr/share/man/man8
-debian/doc/man8/backup_quit.8           usr/share/man/man8
-debian/doc/man8/backup_readlabel.8      usr/share/man/man8
-debian/doc/man8/backup_restoredb.8      usr/share/man/man8
-debian/doc/man8/backup_savedb.8         usr/share/man/man8
-debian/doc/man8/backup_scantape.8       usr/share/man/man8
-debian/doc/man8/backup_setexp.8         usr/share/man/man8
-debian/doc/man8/backup_status.8         usr/share/man/man8
-debian/doc/man8/backup_volinfo.8        usr/share/man/man8
-debian/doc/man8/backup_volrestore.8     usr/share/man/man8
-debian/doc/man8/backup_volsetrestore.8  usr/share/man/man8
-debian/doc/man8/butc.8                  usr/share/man/man8
-debian/doc/man8/fms.8                   usr/share/man/man8
-debian/doc/man8/fstrace.8               usr/share/man/man8
-debian/doc/man8/fstrace_apropos.8       usr/share/man/man8
-debian/doc/man8/fstrace_clear.8         usr/share/man/man8
-debian/doc/man8/fstrace_dump.8          usr/share/man/man8
-debian/doc/man8/fstrace_help.8          usr/share/man/man8
-debian/doc/man8/fstrace_lslog.8         usr/share/man/man8
-debian/doc/man8/fstrace_lsset.8         usr/share/man/man8
-debian/doc/man8/fstrace_setlog.8        usr/share/man/man8
-debian/doc/man8/fstrace_setset.8        usr/share/man/man8
+debian/tmp/usr/share/man/man8/afsd.8                  usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup.8                usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_adddump.8        usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_addhost.8        usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_addvolentry.8    usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_addvolset.8      usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_apropos.8        usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_dbverify.8       usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_deldump.8        usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_deletedump.8     usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_delhost.8        usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_delvolentry.8    usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_delvolset.8      usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_diskrestore.8    usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_dump.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_dumpinfo.8       usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_help.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_interactive.8    usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_jobs.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_kill.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_labeltape.8      usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_listdumps.8      usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_listhosts.8      usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_listvolsets.8    usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_quit.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_readlabel.8      usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_restoredb.8      usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_savedb.8         usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_scantape.8       usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_setexp.8         usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_status.8         usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_volinfo.8        usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_volrestore.8     usr/share/man/man8
+debian/tmp/usr/share/man/man8/backup_volsetrestore.8  usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos.8                   usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_addhost.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_addkey.8            usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_adduser.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_apropos.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_create.8            usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_delete.8            usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_exec.8              usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_getdate.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_getlog.8            usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_getrestart.8        usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_help.8              usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_install.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_listhosts.8         usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_listkeys.8          usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_listusers.8         usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_prune.8             usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_removehost.8        usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_removekey.8         usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_removeuser.8        usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_restart.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_salvage.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_setauth.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_setcellname.8       usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_setrestart.8        usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_shutdown.8          usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_start.8             usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_startup.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_status.8            usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_stop.8              usr/share/man/man8
+debian/tmp/usr/share/man/man8/bos_uninstall.8         usr/share/man/man8
+debian/tmp/usr/share/man/man8/butc.8                  usr/share/man/man8
+debian/tmp/usr/share/man/man8/fms.8                   usr/share/man/man8
+debian/tmp/usr/share/man/man8/fstrace.8               usr/share/man/man8
+debian/tmp/usr/share/man/man8/fstrace_apropos.8       usr/share/man/man8
+debian/tmp/usr/share/man/man8/fstrace_clear.8         usr/share/man/man8
+debian/tmp/usr/share/man/man8/fstrace_dump.8          usr/share/man/man8
+debian/tmp/usr/share/man/man8/fstrace_help.8          usr/share/man/man8
+debian/tmp/usr/share/man/man8/fstrace_lslog.8         usr/share/man/man8
+debian/tmp/usr/share/man/man8/fstrace_lsset.8         usr/share/man/man8
+debian/tmp/usr/share/man/man8/fstrace_setlog.8        usr/share/man/man8
+debian/tmp/usr/share/man/man8/fstrace_setset.8        usr/share/man/man8
index a12cbdb..7ead85c 100644 (file)
@@ -1,19 +1,9 @@
 #! /bin/sh
-#
-# Summary of how this script can be called:
-#
-#  * <postinst> `configure' <most-recently-configured-version>
-#  * <old-postinst> `abort-upgrade' <new version>
-#  * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-#    <new-version>
-#  * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-#    <failed-install-package> <version> `removing'
-#    <conflicting-package> <version>
 
 set -e
 
 case "$1" in
-configure)
+configure|reconfigure)
     update-alternatives --install /usr/bin/pagsh pagsh \
         /usr/bin/pagsh.openafs 100  \
         --slave /usr/share/man/man1/pagsh.1.gz pagsh.1.gz \
@@ -67,6 +57,12 @@ configure)
     db_get openafs-client/cachesize
     echo /afs:/var/cache/openafs:$RET >/etc/openafs/cacheinfo
 
+    echo <<'EOF' > /etc/openafs/afs.conf.client
+# This file is managed by debconf.  Do not edit directly.  To modify these
+# settings, run dpkg-reconfigure openafs-client.
+
+EOF
+
     db_get openafs-client/run-client
     echo AFS_CLIENT=$RET >/etc/openafs/afs.conf.client
     db_get openafs-client/afsdb
@@ -88,9 +84,6 @@ abort-upgrade|abort-remove|abort-deconfigure)
     ;;
 esac
 
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
 #DEBHELPER#
 
 exit 0
index 08fa0b5..789c1ed 100644 (file)
@@ -1,43 +1,21 @@
 #! /bin/sh
-# postrm script for openafs
-#
-# see: dh_installdeb(1)
 
 set -e
 
-# summary of how this script can be called:
-#        * <postrm> `remove'
-#        * <postrm> `purge'
-#        * <old-postrm> `upgrade' <new-version>
-#        * <new-postrm> `failed-upgrade' <old-version>
-#        * <new-postrm> `abort-install'
-#        * <new-postrm> `abort-install' <old-version>
-#        * <new-postrm> `abort-upgrade' <old-version>
-#        * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
-# for details, see /usr/share/doc/packaging-manual/
-
 case "$1" in
 purge)
     rmdir /afs 2>/dev/null || true
-    rm /etc/openafs/cacheinfo 2>/dev/null ||true
-    rm /etc/openafs/CellServDB 2>/dev/null ||true
-    rm /etc/openafs/ThisCell 2>/dev/null ||true
-    rm /etc/openafs/afs.conf.client 2>/dev/null || true
+    for file in cacheinfo CellServDB ThisCell afs.conf.client ; do
+        rm -f "/etc/openafs/$file"
+    done
     ;;
-       remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
-
 
-        ;;
-
-    *)
-        echo "postrm called with unknown argument \`$1'" >&2
-        exit 0
+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#
-
-
index 9688c2b..8b8172b 100644 (file)
@@ -1,6 +1,6 @@
 Template: openafs-client/cell-info
 Type: string
-_Description: What hosts are DB servers for your home cell?
+_Description: DB server host names 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
@@ -13,7 +13,7 @@ _Description: What hosts are DB servers for your home cell?
 
 Template: openafs-client/thiscell
 Type: string
-_Description:  What AFS cell does this workstation belong to?
+_Description: AFS cell this workstation belongs 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.
@@ -21,7 +21,7 @@ _Description:  What AFS cell does this workstation belong to?
 Template: openafs-client/cachesize
 Type: string
 Default: 50000
-_Description:  How large is your AFS cache (kB)?
+_Description: Size of AFS cache in kB:
  AFS uses an 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
@@ -32,12 +32,12 @@ 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 choose not
- to start AFS at boot, run /etc/init.d/openafs-client force-start to
- start the client when you wish to run it.
+ Normally, most users who install the openafs-client package expect AFS to
+ be mounted automatically 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 choose not to start AFS at boot, run
+ /etc/init.d/openafs-client force-start to start the client when you wish
+ to run it.
 
 Template: openafs-client/afsdb
 Type: boolean
@@ -83,11 +83,3 @@ _Description: Use fakestat to avoid hangs when listing /afs?
  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.
-4
-4
-4
-4
-4
-4
-4
-4
diff --git a/src/packaging/Debian/openafs-client.undocumented b/src/packaging/Debian/openafs-client.undocumented
deleted file mode 100644 (file)
index f9cfb93..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-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
index 1e6dd00..8d53566 100644 (file)
@@ -2,11 +2,3 @@ usr/share/doc
 var/lib/openafs/db
 usr/share/man/man8
 usr/sbin
-usr/share/doc
-usr/share/doc
-usr/share/doc
-usr/share/doc
-usr/share/doc
-usr/share/doc
-usr/share/doc
-usr/share/doc
index bd6d4b7..dc1a856 100644 (file)
@@ -11,14 +11,15 @@ debian/tmp/usr/lib/openafs/vlserver     usr/lib/openafs
 
 debian/ConfigUtils.pm                   usr/share/perl5/Debian/OpenAFS
 
-debian/doc/man5/BackupLog.5             usr/share/man/man5
-debian/doc/man5/VLLog.5                 usr/share/man/man5
-debian/doc/man5/bdb.DB0.5               usr/share/man/man5
-debian/doc/man5/prdb.DB0.5              usr/share/man/man5
-debian/doc/man5/vldb.DB0.5              usr/share/man/man5
+debian/tmp/usr/share/man/man5/BackupLog.5             usr/share/man/man5
+debian/tmp/usr/share/man/man5/VLLog.5                 usr/share/man/man5
+debian/tmp/usr/share/man/man5/bdb.DB0.5               usr/share/man/man5
+debian/tmp/usr/share/man/man5/prdb.DB0.5              usr/share/man/man5
+debian/tmp/usr/share/man/man5/vldb.DB0.5              usr/share/man/man5
 
-debian/doc/man8/buserver.8              usr/share/man/man8
-debian/doc/man8/prdb_check.8            usr/share/man/man8
-debian/doc/man8/ptserver.8              usr/share/man/man8
-debian/doc/man8/vldb_check.8            usr/share/man/man8
-debian/doc/man8/vlserver.8              usr/share/man/man8
+debian/tmp/usr/share/man/man8/buserver.8              usr/share/man/man8
+debian/tmp/usr/share/man/man8/prdb_check.8            usr/share/man/man8
+debian/tmp/usr/share/man/man8/pt_util.8               usr/share/man/man8
+debian/tmp/usr/share/man/man8/ptserver.8              usr/share/man/man8
+debian/tmp/usr/share/man/man8/vldb_check.8            usr/share/man/man8
+debian/tmp/usr/share/man/man8/vlserver.8              usr/share/man/man8
diff --git a/src/packaging/Debian/openafs-dbserver.postrm b/src/packaging/Debian/openafs-dbserver.postrm
new file mode 100644 (file)
index 0000000..6107679
--- /dev/null
@@ -0,0 +1,28 @@
+#! /bin/sh
+# postrm script for openafs-dbserver
+#
+# Purges the database and log files created by the package.  We assume that
+# it's safe to do this for database files since they're normally transferred
+# via Ubik to other hosts.
+
+set -e
+
+case "$1" in
+purge)
+    for file in prdb.DB0 prdb.DBSYS1 vldb.DB0 vldb.DBSYS1 ; do
+        rm -f "/var/lib/openafs/db/$file"
+    done
+    for file in PtLog PtLog.old VLLog VLLog.old ; do
+        rm -f "/var/log/openafs/$file"
+    done
+    ;;
+
+remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+*)
+    echo "postrm called with unknown argument $1" >&2
+    exit 0
+esac
+
+#DEBHELPER#
diff --git a/src/packaging/Debian/openafs-doc.README.Debian b/src/packaging/Debian/openafs-doc.README.Debian
new file mode 100644 (file)
index 0000000..830381a
--- /dev/null
@@ -0,0 +1,23 @@
+OpenAFS Documentation for Debian
+--------------------------------
+
+Included in this package are the original Transarc AFS manuals with small
+modifications.  This is the best available comprehensive documentation for
+OpenAFS, but please be aware that this documentation has not been updated
+to reflect the changes made to OpenAFS since the original public release.
+Work on this is ongoing upstream, and newer documentation will be packaged
+as soon as it is available.
+
+All of the manuals are included because, even including significant
+portions that are not relevant to Debian, because they all do contain some
+valuable information.  Debian users should ignore the installation
+information and much of the Quick Start Guide in favor of the
+documentation that comes with the Debian OpenAFS packages, and should be
+aware that the IBM AFS 3.6 Release Notes are for the IBM release
+immediately prior to OpenAFS 1.0 (and are therefore rather dated).
+
+The AFS protocol information included here is dated and may not be
+accurate in all details, but is the best protocol information currently
+available.
+
+ -- Russ Allbery <rra@debian.org>, Sat Nov 19 12:45:55 2005
diff --git a/src/packaging/Debian/openafs-doc.doc-base.openafs-admin b/src/packaging/Debian/openafs-doc.doc-base.openafs-admin
new file mode 100644 (file)
index 0000000..92ae212
--- /dev/null
@@ -0,0 +1,11 @@
+Document: openafs-admin
+Title: AFS Administrator's Guide
+Author: IBM
+Abstract: Describes concepts and procedures for an AFS cell administrator.
+ This is a somewhat outdated guide to configuring and administering an AFS
+ cell and an introduction to AFS for those considering running it.
+Section: Apps/Net
+
+Format: HTML
+Index: /usr/share/doc/openafs-doc/html/AdminGuide/auagd000.htm
+Files: /usr/share/doc/openafs-doc/html/AdminGuide/*
diff --git a/src/packaging/Debian/openafs-doc.doc-base.openafs-quick b/src/packaging/Debian/openafs-doc.doc-base.openafs-quick
new file mode 100644 (file)
index 0000000..1973f16
--- /dev/null
@@ -0,0 +1,11 @@
+Document: openafs-quick
+Title: AFS Quick Start Guide for UNIX
+Author: IBM
+Abstract: Initial setup and configuration documentation for AFS on Unix
+ platforms.  Debian users can ignore most of the installation information,
+ but the configuration information is still useful.
+Section: Apps/Net
+
+Format: HTML
+Index: /usr/share/doc/openafs-doc/html/QuickStartUnix/auqbg000.htm
+Files: /usr/share/doc/openafs-doc/html/QuickStartUnix/*
diff --git a/src/packaging/Debian/openafs-doc.doc-base.openafs-user b/src/packaging/Debian/openafs-doc.doc-base.openafs-user
new file mode 100644 (file)
index 0000000..2108ed8
--- /dev/null
@@ -0,0 +1,10 @@
+Document: openafs-user
+Title: AFS User's Guide
+Author: IBM
+Abstract: Introduction and documentation of AFS for the end-user.  This is
+ the best document for people who will be using but not administering AFS.
+Section: Apps/Net
+
+Format: HTML
+Index: /usr/share/doc/openafs-doc/html/UserGuide/auusg000.htm
+Files: /usr/share/doc/openafs-doc/html/UserGuide/*
diff --git a/src/packaging/Debian/openafs-doc.docs b/src/packaging/Debian/openafs-doc.docs
new file mode 100644 (file)
index 0000000..a02509e
--- /dev/null
@@ -0,0 +1,3 @@
+doc/html
+doc/pdf
+doc/txt
diff --git a/src/packaging/Debian/openafs-doc.examples b/src/packaging/Debian/openafs-doc.examples
new file mode 100644 (file)
index 0000000..646ecf6
--- /dev/null
@@ -0,0 +1 @@
+doc/examples/CellAlias
diff --git a/src/packaging/Debian/openafs-fileserver.NEWS b/src/packaging/Debian/openafs-fileserver.NEWS
new file mode 100644 (file)
index 0000000..f552366
--- /dev/null
@@ -0,0 +1,24 @@
+openafs (1.4.4.dfsg1-4) unstable; urgency=low
+
+  The files previously located in /etc/openafs/server-local have been
+  moved to /var/lib/openafs/local.  The OpenAFS fileserver and bosserver
+  write files to this directory on startup which are not configuration
+  files and therefore, per the File Hierarchy Standard, should not be in
+  /etc.  Any sysid, sysid.old, NetInfo, and NetRestrict files in
+  /etc/openafs/server-local have been copied to /var/lib/openafs/local.
+
+  upserver and upclient have moved to /usr/lib/openafs (from /usr/sbin) to
+  match the other programs intended to be run by the bosserver and to
+  match upstream's layout.  If you're running upserver or upclient from
+  bosserver, BosConfig has been updated with the new path, but the
+  services have not been restarted.
+
+  At your convenience, you should restart your servers with:
+
+      bos restart -all -bosserver
+
+  so that the running servers will look at the new locations.  After doing
+  so, you may remove /etc/openafs/server-local if you wish.
+
+ -- Russ Allbery <rra@debian.org>  Tue, 19 Jun 2007 03:51:58 -0700
+
diff --git a/src/packaging/Debian/openafs-fileserver.conffiles b/src/packaging/Debian/openafs-fileserver.conffiles
deleted file mode 100644 (file)
index 154a613..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/etc/init.d/openafs-fileserver
index 719aa3c..e49f64f 100644 (file)
@@ -1,6 +1,4 @@
 usr/share/doc
 var/log/openafs
 etc/openafs/server
-etc/openafs/server-local
-var/lib/openafs/cores
-
+var/lib/openafs/local
index d0172c3..5db0463 100755 (executable)
 #! /bin/sh
+### BEGIN INIT INFO
+# Provides:             openafs-fileserver
+# Required-Start:       $local_fs $remote_fs $network $time
+# Required-Stop:        $local_fs $remote_fs $network
+# Default-Start:        2 3 4 5
+# Default-Stop:         0 1 6
+# Short-Description:    OpenAFS file and database server manager
+# Description:          Starts, stops, or restarts the OpenAFS bosserver,
+#                       which is the process that starts and manages the
+#                       OpenAFS file server or database servers depending on
+#                       its configuration.
+### END INIT INFO
+
+# Author: Sam Hartman <hartmans@mit.edu>
+# Author: Russ Allbery <rra@debian.org>
 #
-# skeleton     example file to build /etc/init.d/ scripts.
-#              This file should be used to construct scripts for /etc/init.d.
-#
-#              Written by Miquel van Smoorenburg <miquels@cistron.nl>.
-#              Modified for Debian GNU/Linux
-#              by Ian Murdock <imurdock@gnu.ai.mit.edu>.
-#
-# Version:     @(#)skeleton  1.8  03-Mar-1998  miquels@cistron.nl
-#
+# Based on the /etc/init.d/skeleton template as found in initscripts version
+# 2.86.ds1-15.
 
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/usr/sbin/bosserver
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DESC="OpenAFS BOS server"
 NAME=bosserver
-DESC="AFS Server"
+DAEMON=/usr/sbin/bosserver
+DAEMON_ARGS=""
+SCRIPTNAME=/etc/init.d/openafs-fileserver
+
+# Exit if the package is not installed.
+[ -x "$DAEMON" ] || exit 0
 
+# Read configuration if it is present.
+[ -r /etc/default/openafs-fileserver ] && . /etc/default/openafs-fileserver
 
+# Get the setting of VERBOSE and other rcS variables.
+[ -f /etc/default/rcS ] && . /etc/default/rcS
+
+# Define LSB log functions (requires lsb-base >= 3.0-6).
+. /lib/lsb/init-functions
+
+# Make sure we don't leave file descriptors open.
 exec 3>/dev/null
 exec </dev/null
 
-test -f $DAEMON || exit 0
-
+# Return
+#   0 if daemon has been started
+#   1 if daemon was already running
+#   2 if daemon could not be started
+do_start()
+{
+    start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \
+        > /dev/null || return 1
+    start-stop-daemon --start --quiet --startas $DAEMON --name $NAME \
+        -- $DAEMON_ARGS || return 2
+}
 
+# Return
+#   0 if daemon has been stopped
+#   1 if daemon was already stopped
+#   2 if daemon could not be stopped
+#   other if a failure occurred
+do_stop()
+{
+    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME
+}
 
-case "$1" in
+case "$1" in 
   start)
-       echo -n "Starting $DESC: "
-       start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
-               --exec $DAEMON
-       echo "$NAME."
-       ;;
+    [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+    do_start
+    case "$?" in
+      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+      2)   [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+    esac
+    ;;
+
   stop)
-       echo -n "Stopping $DESC: "
+    [ "$VERBOSE" != no ] && log_action_msg "Stopping OpenAFS services"
     bos shutdown localhost -wait -localauth
-       start-stop-daemon --stop --quiet  \
-               --user root --name bosserver
-       echo "$NAME."
-       ;;
-  #reload)
-       #
-       #       If the daemon can reload its config files on the fly
-       #       for example by sending it SIGHUP, do it here.
-       #
-       #       If the daemon responds to changes in its config file
-       #       directly anyway, make this a do-nothing entry.
-       #
-       # echo "Reloading $DESC configuration files."
-       # start-stop-daemon --stop --signal 1 --quiet --pidfile \
-       #       /var/run/$NAME.pid --exec $DAEMON
-  #;;
+    [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+    do_stop
+    case "$?" in
+      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+      2)   [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+    esac
+    ;;
+
   restart|force-reload)
-       #
-       #       If the "reload" option is implemented, move the "force-reload"
-       #       option to the "reload" entry above. If not, "force-reload" is
-       #       just the same as "restart".
-       #
-       echo -n "Restarting $DESC: "
-        if pidof $DAEMON > /dev/null ; then
-            bos restart localhost -localauth -bos
-        else
-            start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
-                --exec $DAEMON
-        fi
-       sleep 1
-       echo "$NAME."
-       ;;
+    [ "$VERBOSE" != no ] && log_daemon_msg "Restarting $DESC" "$NAME"
+    start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \
+        > /dev/null
+    case "$?" in
+      0)
+        do_start
+        case "$?" in
+          0) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+          *) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+        esac
+        ;;
+      1)
+        bos restart localhost -all -bosserver -localauth
+        case "$?" in
+          0) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+          *) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+        esac
+        ;;
+      *)
+        log_end_msg 1
+        ;;
+    esac
+    ;;
+
   *)
-       N=/etc/init.d/$NAME
-       # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
-       echo "Usage: $N {start|stop|restart|force-reload}" >&2
-       exit 1
-       ;;
+    echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
+    exit 3
+    ;;
 esac
 
 exit 0
index e52fb52..3fe61b9 100644 (file)
@@ -2,30 +2,30 @@ debian/tmp/usr/sbin/bosserver           usr/sbin
 debian/tmp/usr/sbin/voldump             usr/sbin
 debian/tmp/usr/sbin/volinfo             usr/sbin
 
-debian/tmp/usr/lib/openafs/up*          usr/sbin
-
 debian/tmp/usr/lib/openafs/fileserver   usr/lib/openafs
 debian/tmp/usr/lib/openafs/salvager     usr/lib/openafs
+debian/tmp/usr/lib/openafs/upclient     usr/lib/openafs
+debian/tmp/usr/lib/openafs/upserver     usr/lib/openafs
 debian/tmp/usr/lib/openafs/volserver    usr/lib/openafs
 
-debian/doc/man5/BosConfig.5             usr/share/man/man5
-debian/doc/man5/BosLog.5                usr/share/man/man5
-debian/doc/man5/FORCESALVAGE.5          usr/share/man/man5
-debian/doc/man5/FileLog.5               usr/share/man/man5
-debian/doc/man5/KeyFile.5               usr/share/man/man5
-debian/doc/man5/NoAuth.5                usr/share/man/man5
-debian/doc/man5/SALVAGE.fs.5            usr/share/man/man5
-debian/doc/man5/SalvageLog.5            usr/share/man/man5
-debian/doc/man5/VolserLog.5             usr/share/man/man5
-debian/doc/man5/afs_volume_header.5     usr/share/man/man5
-debian/doc/man5/salvage.lock.5          usr/share/man/man5
-debian/doc/man5/sysid.5                 usr/share/man/man5
+debian/tmp/usr/share/man/man5/BosConfig.5             usr/share/man/man5
+debian/tmp/usr/share/man/man5/BosLog.5                usr/share/man/man5
+debian/tmp/usr/share/man/man5/FORCESALVAGE.5          usr/share/man/man5
+debian/tmp/usr/share/man/man5/FileLog.5               usr/share/man/man5
+debian/tmp/usr/share/man/man5/KeyFile.5               usr/share/man/man5
+debian/tmp/usr/share/man/man5/NoAuth.5                usr/share/man/man5
+debian/tmp/usr/share/man/man5/SALVAGE.fs.5            usr/share/man/man5
+debian/tmp/usr/share/man/man5/SalvageLog.5            usr/share/man/man5
+debian/tmp/usr/share/man/man5/VolserLog.5             usr/share/man/man5
+debian/tmp/usr/share/man/man5/afs_volume_header.5     usr/share/man/man5
+debian/tmp/usr/share/man/man5/salvage.lock.5          usr/share/man/man5
+debian/tmp/usr/share/man/man5/sysid.5                 usr/share/man/man5
 
-debian/doc/man8/bosserver.8             usr/share/man/man8
-debian/doc/man8/fileserver.8            usr/share/man/man8
-debian/doc/man8/salvager.8              usr/share/man/man8
-debian/doc/man8/upclient.8              usr/share/man/man8
-debian/doc/man8/upserver.8              usr/share/man/man8
-debian/doc/man8/voldump.8               usr/share/man/man8
-debian/doc/man8/volinfo.8               usr/share/man/man8
-debian/doc/man8/volserver.8             usr/share/man/man8
+debian/tmp/usr/share/man/man8/bosserver.8             usr/share/man/man8
+debian/tmp/usr/share/man/man8/fileserver.8            usr/share/man/man8
+debian/tmp/usr/share/man/man8/salvager.8              usr/share/man/man8
+debian/tmp/usr/share/man/man8/upclient.8              usr/share/man/man8
+debian/tmp/usr/share/man/man8/upserver.8              usr/share/man/man8
+debian/tmp/usr/share/man/man8/voldump.8               usr/share/man/man8
+debian/tmp/usr/share/man/man8/volinfo.8               usr/share/man/man8
+debian/tmp/usr/share/man/man8/volserver.8             usr/share/man/man8
index 2c49fc3..8531915 100644 (file)
@@ -1,14 +1,4 @@
-#!/bin/sh -e
-#
-# Summary of how this script can be called:
-#
-#  * <postinst> `configure' <most-recently-configured-version>
-#  * <old-postinst> `abort-upgrade' <new version>
-#  * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-#    <new-version>
-#  * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-#    <failed-install-package> <version> `removing'
-#    <conflicting-package> <version>
+#!/bin/sh
 
 set -e
 
@@ -20,20 +10,30 @@ configure)
     db_get openafs-fileserver/thiscell
     echo $RET >/etc/openafs/server/ThisCell
 
-    if [ -f /etc/openafs/server/CellServDB ] ; then
-        :
-    else
+    if [ ! -f /etc/openafs/server/CellServDB ] ; then
         sed -n "/^>$RET/,/^>/p" /etc/openafs/CellServDB | sed '$d' \
             >/etc/openafs/server/CellServDB
         if [ ! -s /etc/openafs/server/CellServDB ] ; then
             echo ">$RET" >/etc/openafs/server/CellServDB
         fi
     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
+
+    # Move the contents of the old /etc/openafs/server-local directory into
+    # /var/lib/openafs/local.  Most of the files in this directory are
+    # automatically generated, so it didn't belong in /etc.
+    #
+    # Change the paths to upserver and upclient in BosConfig from older
+    # versions that had the binaries in /usr/sbin.
+    if [ "x$2" != "x" ] && dpkg --compare-versions $2 lt 1.4.4.dfsg1-4 ; then
+        for f in sysid sysid.old NetInfo NetRestrict ; do
+            if [ -e "/etc/openafs/server-local/$f" ] ; then
+                cp "/etc/openafs/server-local/$f" "/var/lib/openafs/local/$f"
+            fi
+        done
+        if [ -e /etc/openafs/BosConfig ] ; then
+            sed -i -e 's,/usr/sbin/upserver,/usr/lib/openafs/upserver,' \
+                   -e 's,/usr/sbin/upclient,/usr/lib/openafs/upclient,' \
+                       /etc/openafs/BosConfig
         fi
     fi
     db_stop
index 9ce96e5..ce57844 100644 (file)
@@ -1,40 +1,46 @@
 #! /bin/sh
-# postrm script for openafs
+# postrm script for openafs-fileserver
 #
-# see: dh_installdeb(1)
+# Purges various extra configuration files and data files created by the
+# package.  Whether to purge KeyFile is a bit iffy since the user created it
+# with asetkey or with bos addkey, but it always exists for any running server
+# and we shouldn't be losing any critical data.
+#
+# We intentionally don't remove NetInfo and NetRestrict in
+# /var/lib/openafs/local since those are created separately by the user and
+# may contain information not stored elsewhere.
 
 set -e
 
-# summary of how this script can be called:
-#        * <postrm> `remove'
-#        * <postrm> `purge'
-#        * <old-postrm> `upgrade' <new-version>
-#        * <new-postrm> `failed-upgrade' <old-version>
-#        * <new-postrm> `abort-install'
-#        * <new-postrm> `abort-install' <old-version>
-#        * <new-postrm> `abort-upgrade' <old-version>
-#        * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
-# for details, see /usr/share/doc/packaging-manual/
-
 case "$1" in
 purge)
-    rm /etc/openafs/server/ThisCell 2>/dev/null || true
-    (cd /etc/openafs/server && rm CellServDB UserList) 2>/dev/null ||true
-    (cd /etc/openafs/server-local && rm BosConfig) 2>/dev/null ||true
+    for file in CellServDB CellServDB.old KeyFile ThisCell UserList ; do
+        rm -f "/etc/openafs/server/$file"
+    done
+    for file in SALVAGE.fs fssync.sock salvage.lock sysid sysid.old ; do
+        rm -f "/var/lib/openafs/local/$file"
+    done
+    rm -f /etc/openafs/BosConfig
+    for file in BosLog FileLog SalvageLog VolserLog ; do
+        rm -f "/var/log/openafs/$file"
+        rm -f "/var/log/openafs/$file.old"
+    done
+
+    # Clean up after files left behind from older versions of the package.
+    if [ -d /etc/openafs/server-local ] ; then
+        for file in SALVAGE.fs fssync.sock salvage.lock sysid sysid.old ; do
+            rm -f "/etc/openafs/server-local/$file"
+        done
+        rmdir --ignore-fail-on-non-empty /etc/openafs/server-local
+    fi
     ;;
-       remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
-
-
-        ;;
 
-    *)
-        echo "postrm called with unknown argument \`$1'" >&2
-        exit 0
+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
deleted file mode 100644 (file)
index 6536fc0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-if [ upgrade = $1 ] ; then
-       . /usr/share/debconf/confmodule
-fi
-#DEBHELPER#
-
-exit 0
index e0776b8..46a10b9 100644 (file)
@@ -1,6 +1,6 @@
 Template: openafs-fileserver/thiscell
 Type: string
-_Description: What cell does this server serve files for?
+_Description: Cell this server serves 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.
diff --git a/src/packaging/Debian/openafs-fileserver.undocumented b/src/packaging/Debian/openafs-fileserver.undocumented
deleted file mode 100644 (file)
index 49eaaa4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-bosserver.8
index 6889bed..2c7652d 100644 (file)
@@ -2,22 +2,22 @@ debian/tmp/usr/bin/kpasswd              usr/bin
 
 debian/tmp/usr/sbin/kas                 usr/bin
 
-debian/doc/man1/kpasswd.1               usr/share/man/man1
+debian/tmp/usr/share/man/man1/kpasswd.1               usr/share/man/man1
 
-debian/doc/man8/kas.8                   usr/share/man/man8
-debian/doc/man8/kas_apropos.8           usr/share/man/man8
-debian/doc/man8/kas_create.8            usr/share/man/man8
-debian/doc/man8/kas_delete.8            usr/share/man/man8
-debian/doc/man8/kas_examine.8           usr/share/man/man8
-debian/doc/man8/kas_forgetticket.8      usr/share/man/man8
-debian/doc/man8/kas_help.8              usr/share/man/man8
-debian/doc/man8/kas_interactive.8       usr/share/man/man8
-debian/doc/man8/kas_list.8              usr/share/man/man8
-debian/doc/man8/kas_listtickets.8       usr/share/man/man8
-debian/doc/man8/kas_noauthentication.8  usr/share/man/man8
-debian/doc/man8/kas_quit.8              usr/share/man/man8
-debian/doc/man8/kas_setfields.8         usr/share/man/man8
-debian/doc/man8/kas_setpassword.8       usr/share/man/man8
-debian/doc/man8/kas_statistics.8        usr/share/man/man8
-debian/doc/man8/kas_stringtokey.8       usr/share/man/man8
-debian/doc/man8/kas_unlock.8            usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas.8                   usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_apropos.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_create.8            usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_delete.8            usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_examine.8           usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_forgetticket.8      usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_help.8              usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_interactive.8       usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_list.8              usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_listtickets.8       usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_noauthentication.8  usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_quit.8              usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_setfields.8         usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_setpassword.8       usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_statistics.8        usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_stringtokey.8       usr/share/man/man8
+debian/tmp/usr/share/man/man8/kas_unlock.8            usr/share/man/man8
diff --git a/src/packaging/Debian/openafs-kpasswd.undocumented b/src/packaging/Debian/openafs-kpasswd.undocumented
deleted file mode 100644 (file)
index bee593a..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-kpasswd.1
-kas.1
diff --git a/src/packaging/Debian/openafs-krb5.install b/src/packaging/Debian/openafs-krb5.install
new file mode 100644 (file)
index 0000000..006e461
--- /dev/null
@@ -0,0 +1,9 @@
+debian/tmp/usr/bin/aklog                usr/bin
+
+debian/tmp/usr/bin/asetkey              usr/sbin
+debian/tmp/usr/sbin/ka-forwarder        usr/sbin
+
+debian/tmp/usr/share/man/man1/aklog.1           usr/share/man/man1
+
+debian/tmp/usr/share/man/man8/asetkey.8         usr/share/man/man8
+debian/tmp/usr/share/man/man8/ka-forwarder.8    usr/share/man/man8
diff --git a/src/packaging/Debian/patch.001_libafs_destination_name b/src/packaging/Debian/patch.001_libafs_destination_name
deleted file mode 100644 (file)
index 728f03a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644 (file)
index 2d247c6..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644 (file)
index 9ddcff5..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-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
deleted file mode 100644 (file)
index 5263b23..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-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/patches/README b/src/packaging/Debian/patches/README
deleted file mode 100644 (file)
index d337dfa..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-This directory contains patches relative to the upstream OpenAFS source.
-It is not used automatically as part of the build process and is not
-guaranteed to be completely up-to-date; it is intended as documentation of
-significant divergences, a place to store patches that should be sent
-upstream, and a place to document the current status of patches.
-
-Simple Debian-specific changes that aren't of interest to upstream will
-not be included here, such as updating config.{guess,sub} or changing
-paths to fit with the FHS.
diff --git a/src/packaging/Debian/patches/afs-man-name b/src/packaging/Debian/patches/afs-man-name
new file mode 100644 (file)
index 0000000..88fc4c0
--- /dev/null
@@ -0,0 +1,1888 @@
+Current groff can't deal with NAME sections with a space on the left
+side of the -.  This patch has also been applied upstream and will be
+in the next release after 1.4.5.
+
+--- openafs.orig/doc/man-pages/README
++++ openafs/doc/man-pages/README
+@@ -78,7 +78,10 @@
+   documents common options, and discusses the general use of the suite.
+   Then, each operation code in the suite should have a separate man page,
+   named after the command with the space between the command suite and the
+-  operation code replaced with an underscore.
++  operation code replaced with an underscore.  The NAME section of the
++  operation man page must also use an underscore (fs_listacl, not fs
++  listacl) for compatibility with some man programs.  The SYNOPSIS section
++  should, of course, use a space, since that's what the user must type.
+   All man pages must follow the standard layout for man page sections and
+   formatting.  The best general reference is the pod2man man page,
+--- openafs.orig/doc/man-pages/pod1/fs_checkservers.pod
++++ openafs/doc/man-pages/pod1/fs_checkservers.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs checkservers - Displays the status of server machines
++fs_checkservers - Displays the status of server machines
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_checkvolumes.pod
++++ openafs/doc/man-pages/pod1/fs_checkvolumes.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs checkvolumes - Forces the Cache Manager to update volume information
++fs_checkvolumes - Forces the Cache Manager to update volume information
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_cleanacl.pod
++++ openafs/doc/man-pages/pod1/fs_cleanacl.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs cleanacl - Remove obsolete entries from an ACL
++fs_cleanacl - Remove obsolete entries from an ACL
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_copyacl.pod
++++ openafs/doc/man-pages/pod1/fs_copyacl.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs copyacl - Copies an ACL from a directory to one or more other directories
++fs_copyacl - Copies an ACL from a directory to one or more other directories
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_diskfree.pod
++++ openafs/doc/man-pages/pod1/fs_diskfree.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs diskfree - Shows data about the partition housing a directory or file
++fs_diskfree - Shows data about the partition housing a directory or file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_examine.pod
++++ openafs/doc/man-pages/pod1/fs_examine.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs examine - Shows data about the volume containing a directory or file
++fs_examine - Shows data about the volume containing a directory or file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_exportafs.pod
++++ openafs/doc/man-pages/pod1/fs_exportafs.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs exportafs - Configures export of AFS to clients of other file systems
++fs_exportafs - Configures export of AFS to clients of other file systems
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_flush.pod
++++ openafs/doc/man-pages/pod1/fs_flush.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs flush - Forces the Cache Manager to discard a cached file or directory
++fs_flush - Forces the Cache Manager to discard a cached file or directory
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_flushall.pod
++++ openafs/doc/man-pages/pod1/fs_flushall.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs flushall - Force the AFS Cache Manager to discard all data
++fs_flushall - Force the AFS Cache Manager to discard all data
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_flushmount.pod
++++ openafs/doc/man-pages/pod1/fs_flushmount.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs flushmount - Forces the Cache Manager to discard a mount point
++fs_flushmount - Forces the Cache Manager to discard a mount point
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_flushvolume.pod
++++ openafs/doc/man-pages/pod1/fs_flushvolume.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs flushvolume - Forces the Cache Manager to discard cached data from a volume
++fs_flushvolume - Forces the Cache Manager to discard cached data from a volume
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_getcacheparms.pod
++++ openafs/doc/man-pages/pod1/fs_getcacheparms.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs getcacheparms - Displays the current size and usage of the cache
++fs_getcacheparms - Displays the current size and usage of the cache
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_getcalleraccess.pod
++++ openafs/doc/man-pages/pod1/fs_getcalleraccess.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs getcalleraccess - Show the current user's access to a file or directory
++fs_getcalleraccess - Show the current user's access to a file or directory
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_getcellstatus.pod
++++ openafs/doc/man-pages/pod1/fs_getcellstatus.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs getcellstatus - Reports whether setuid programs are honored in a cell
++fs_getcellstatus - Reports whether setuid programs are honored in a cell
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_getclientaddrs.pod
++++ openafs/doc/man-pages/pod1/fs_getclientaddrs.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs getclientaddrs - Displays the client interfaces to register
++fs_getclientaddrs - Displays the client interfaces to register
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_getcrypt.pod
++++ openafs/doc/man-pages/pod1/fs_getcrypt.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs getcrypt - Displays the state of encryption for AFS file transfers
++fs_getcrypt - Displays the state of encryption for AFS file transfers
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_getserverprefs.pod
++++ openafs/doc/man-pages/pod1/fs_getserverprefs.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs getserverprefs - Displays preference ranks for file servers or VL servers
++fs_getserverprefs - Displays preference ranks for file servers or VL servers
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_help.pod
++++ openafs/doc/man-pages/pod1/fs_help.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs help - Displays help for fs commands
++fs_help - Displays help for fs commands
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_listacl.pod
++++ openafs/doc/man-pages/pod1/fs_listacl.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs listacl - Displays ACLs
++fs_listacl - Displays ACLs
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_listaliases.pod
++++ openafs/doc/man-pages/pod1/fs_listaliases.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs listaliases - Displays the current list of aliases for AFS cells
++fs_listaliases - Displays the current list of aliases for AFS cells
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_listcells.pod
++++ openafs/doc/man-pages/pod1/fs_listcells.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs listcells - Displays the database server machines known to the Cache Manager
++fs_listcells - Displays the database server machines known to the Cache Manager
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_listquota.pod
++++ openafs/doc/man-pages/pod1/fs_listquota.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs listquota - Displays quota information for a volume
++fs_listquota - Displays quota information for a volume
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_lsmount.pod
++++ openafs/doc/man-pages/pod1/fs_lsmount.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs lsmount - Reports the volume for which a directory is the mount point.
++fs_lsmount - Reports the volume for which a directory is the mount point.
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_messages.pod
++++ openafs/doc/man-pages/pod1/fs_messages.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs messages - Sets whether the Cache Manager writes log messages
++fs_messages - Sets whether the Cache Manager writes log messages
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_mkmount.pod
++++ openafs/doc/man-pages/pod1/fs_mkmount.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs mkmount - Creates a mount point for a volume
++fs_mkmount - Creates a mount point for a volume
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_newalias.pod
++++ openafs/doc/man-pages/pod1/fs_newalias.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs newalias - Creates a new alias for a cell
++fs_newalias - Creates a new alias for a cell
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_newcell.pod
++++ openafs/doc/man-pages/pod1/fs_newcell.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs newcell - Changes the kernel-resident list of a cell's database servers
++fs_newcell - Changes the kernel-resident list of a cell's database servers
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_quota.pod
++++ openafs/doc/man-pages/pod1/fs_quota.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs quota - Displays the quota used in the volume containing a directory or file
++fs_quota - Displays the quota used in the volume containing a directory or file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_rmmount.pod
++++ openafs/doc/man-pages/pod1/fs_rmmount.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs rmmount - Removes a mount point
++fs_rmmount - Removes a mount point
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_setacl.pod
++++ openafs/doc/man-pages/pod1/fs_setacl.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs setacl - Sets the ACL for a directory
++fs_setacl - Sets the ACL for a directory
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_setcachesize.pod
++++ openafs/doc/man-pages/pod1/fs_setcachesize.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs setcachesize - Sets the size of the disk cache
++fs_setcachesize - Sets the size of the disk cache
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_setcell.pod
++++ openafs/doc/man-pages/pod1/fs_setcell.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs setcell - Configures permissions for setuid programs from specified cells
++fs_setcell - Configures permissions for setuid programs from specified cells
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_setclientaddrs.pod
++++ openafs/doc/man-pages/pod1/fs_setclientaddrs.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs setclientaddrs - Sets the client interfaces to register with the File Server
++fs_setclientaddrs - Sets the client interfaces to register with the File Server
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_setcrypt.pod
++++ openafs/doc/man-pages/pod1/fs_setcrypt.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs setcrypt - Enables of disables the encryption of AFS file transfers
++fs_setcrypt - Enables of disables the encryption of AFS file transfers
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_setquota.pod
++++ openafs/doc/man-pages/pod1/fs_setquota.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs setquota - Sets the quota for the volume containing a file or directory
++fs_setquota - Sets the quota for the volume containing a file or directory
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_setserverprefs.pod
++++ openafs/doc/man-pages/pod1/fs_setserverprefs.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs setserverprefs - Sets the preference ranks for file servers or VL servers
++fs_setserverprefs - Sets the preference ranks for file servers or VL servers
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_setvol.pod
++++ openafs/doc/man-pages/pod1/fs_setvol.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs setvol - Set quota and messages for a volume containing a file or directory
++fs_setvol - Set quota and messages for a volume containing a file or directory
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_storebehind.pod
++++ openafs/doc/man-pages/pod1/fs_storebehind.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs storebehind - Enables asynchronous writes to the file server
++fs_storebehind - Enables asynchronous writes to the file server
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_sysname.pod
++++ openafs/doc/man-pages/pod1/fs_sysname.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs sysname - Reports or sets the CPU/operating system type
++fs_sysname - Reports or sets the CPU/operating system type
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_uuid.pod
++++ openafs/doc/man-pages/pod1/fs_uuid.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs uuid - Prints the uuid of the client or generates a new one
++fs_uuid - Prints the uuid of the client or generates a new one
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_whereis.pod
++++ openafs/doc/man-pages/pod1/fs_whereis.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs whereis - Reports each file server housing a file or directory
++fs_whereis - Reports each file server housing a file or directory
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_whichcell.pod
++++ openafs/doc/man-pages/pod1/fs_whichcell.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs whichcell - Returns the cell to which a file or directory belongs
++fs_whichcell - Returns the cell to which a file or directory belongs
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_wscell.pod
++++ openafs/doc/man-pages/pod1/fs_wscell.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs wscell - Returns the name of the cell to which a machine belongs
++fs_wscell - Returns the name of the cell to which a machine belongs
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_adduser.pod
++++ openafs/doc/man-pages/pod1/pts_adduser.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts adduser - Adds a user or machine to a Protection Database group
++pts_adduser - Adds a user or machine to a Protection Database group
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_apropos.pod
++++ openafs/doc/man-pages/pod1/pts_apropos.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts apropos - Displays each help entry containing a keyword string
++pts_apropos - Displays each help entry containing a keyword string
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_chown.pod
++++ openafs/doc/man-pages/pod1/pts_chown.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts chown - Changes the owner of a Protection Database entry
++pts_chown - Changes the owner of a Protection Database entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_creategroup.pod
++++ openafs/doc/man-pages/pod1/pts_creategroup.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts creategroup - Creates an (empty) Protection Database group entry
++pts_creategroup - Creates an (empty) Protection Database group entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_createuser.pod
++++ openafs/doc/man-pages/pod1/pts_createuser.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts createuser - Creates a user or machine entry in the Protection Database
++pts_createuser - Creates a user or machine entry in the Protection Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_delete.pod
++++ openafs/doc/man-pages/pod1/pts_delete.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts delete - Deletes a Protection Database entry
++pts_delete - Deletes a Protection Database entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_examine.pod
++++ openafs/doc/man-pages/pod1/pts_examine.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts examine - Displays a Protection Database entry
++pts_examine - Displays a Protection Database entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_help.pod
++++ openafs/doc/man-pages/pod1/pts_help.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts help - Displays help for pts commands
++pts_help - Displays help for pts commands
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_interactive.pod
++++ openafs/doc/man-pages/pod1/pts_interactive.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts interactive - Enters interactive mode
++pts_interactive - Enters interactive mode
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_listentries.pod
++++ openafs/doc/man-pages/pod1/pts_listentries.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts listentries - Displays all users or groups in the Protection Database
++pts_listentries - Displays all users or groups in the Protection Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_listmax.pod
++++ openafs/doc/man-pages/pod1/pts_listmax.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts listmax - Displays the max user id and max group id counters
++pts_listmax - Displays the max user id and max group id counters
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_listowned.pod
++++ openafs/doc/man-pages/pod1/pts_listowned.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts listowned - Show the Protection Database groups owned by a user or group
++pts_listowned - Show the Protection Database groups owned by a user or group
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_membership.pod
++++ openafs/doc/man-pages/pod1/pts_membership.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts membership - Displays the membership list for a user or group
++pts_membership - Displays the membership list for a user or group
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_quit.pod
++++ openafs/doc/man-pages/pod1/pts_quit.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts quit - Exit from pts interactive mode
++pts_quit - Exit from pts interactive mode
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_removeuser.pod
++++ openafs/doc/man-pages/pod1/pts_removeuser.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts removeuser - Removes a user from a Protection Database group
++pts_removeuser - Removes a user from a Protection Database group
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_rename.pod
++++ openafs/doc/man-pages/pod1/pts_rename.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts rename - Changes the name of a Protection Database entry
++pts_rename - Changes the name of a Protection Database entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_setfields.pod
++++ openafs/doc/man-pages/pod1/pts_setfields.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts setfields - Sets privacy flags or quota for a Protection Database entry
++pts_setfields - Sets privacy flags or quota for a Protection Database entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_setmax.pod
++++ openafs/doc/man-pages/pod1/pts_setmax.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts setmax - Sets the value of the max group id or max user id counter
++pts_setmax - Sets the value of the max group id or max user id counter
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_sleep.pod
++++ openafs/doc/man-pages/pod1/pts_sleep.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts sleep - Pauses for a few seconds
++pts_sleep - Pauses for a few seconds
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/pts_source.pod
++++ openafs/doc/man-pages/pod1/pts_source.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-pts source - Read pts commands from a file
++pts_source - Read pts commands from a file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_addsite.pod
++++ openafs/doc/man-pages/pod1/vos_addsite.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos addsite - Adds a read-only site definition to a volume's VLDB entry
++vos_addsite - Adds a read-only site definition to a volume's VLDB entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_apropos.pod
++++ openafs/doc/man-pages/pod1/vos_apropos.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos apropos - Displays each help entry containing a keyword string
++vos_apropos - Displays each help entry containing a keyword string
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_backup.pod
++++ openafs/doc/man-pages/pod1/vos_backup.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos backup - Creates a backup volume for a single read/write volume
++vos_backup - Creates a backup volume for a single read/write volume
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_backupsys.pod
++++ openafs/doc/man-pages/pod1/vos_backupsys.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos backupsys - Creates a backup volume for several read/write volumes
++vos_backupsys - Creates a backup volume for several read/write volumes
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_changeaddr.pod
++++ openafs/doc/man-pages/pod1/vos_changeaddr.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos changeaddr - Changes or removes a file server machine's entry in the VLDB
++vos_changeaddr - Changes or removes a file server machine's entry in the VLDB
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_changeloc.pod
++++ openafs/doc/man-pages/pod1/vos_changeloc.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos changeloc - Change a volume's entry in the VLDB
++vos_changeloc - Change a volume's entry in the VLDB
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_create.pod
++++ openafs/doc/man-pages/pod1/vos_create.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos create - Creates a read/write volume and associated VLDB entry
++vos_create - Creates a read/write volume and associated VLDB entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_delentry.pod
++++ openafs/doc/man-pages/pod1/vos_delentry.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos delentry - Removes a volume entry from the VLDB.
++vos_delentry - Removes a volume entry from the VLDB.
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_dump.pod
++++ openafs/doc/man-pages/pod1/vos_dump.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos dump - Converts a volume into ASCII format and writes it to a file
++vos_dump - Converts a volume into ASCII format and writes it to a file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_examine.pod
++++ openafs/doc/man-pages/pod1/vos_examine.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos examine - Shows volume header and VLDB entry information for a volume
++vos_examine - Shows volume header and VLDB entry information for a volume
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_help.pod
++++ openafs/doc/man-pages/pod1/vos_help.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos help - Displays help for vos commands
++vos_help - Displays help for vos commands
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_listaddrs.pod
++++ openafs/doc/man-pages/pod1/vos_listaddrs.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos listaddrs - Displays all VLDB server entries
++vos_listaddrs - Displays all VLDB server entries
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_listpart.pod
++++ openafs/doc/man-pages/pod1/vos_listpart.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos listpart - Displays all AFS partitions on a file server machine
++vos_listpart - Displays all AFS partitions on a file server machine
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_listvldb.pod
++++ openafs/doc/man-pages/pod1/vos_listvldb.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos listvldb - Displays a volume's VLDB entry
++vos_listvldb - Displays a volume's VLDB entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_listvol.pod
++++ openafs/doc/man-pages/pod1/vos_listvol.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos listvol - Displays information from a volume header
++vos_listvol - Displays information from a volume header
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_lock.pod
++++ openafs/doc/man-pages/pod1/vos_lock.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos lock - Locks a VLDB volume entry
++vos_lock - Locks a VLDB volume entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_move.pod
++++ openafs/doc/man-pages/pod1/vos_move.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos move - Moves a read/write volume to another site
++vos_move - Moves a read/write volume to another site
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_offline.pod
++++ openafs/doc/man-pages/pod1/vos_offline.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos offline - Takes a volume offline
++vos_offline - Takes a volume offline
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_online.pod
++++ openafs/doc/man-pages/pod1/vos_online.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos online - Brings a volume online
++vos_online - Brings a volume online
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_partinfo.pod
++++ openafs/doc/man-pages/pod1/vos_partinfo.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos partinfo - Reports the available and total space on a partition
++vos_partinfo - Reports the available and total space on a partition
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_release.pod
++++ openafs/doc/man-pages/pod1/vos_release.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos release - Updates read-only volumes to match the read/write source volume
++vos_release - Updates read-only volumes to match the read/write source volume
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_remove.pod
++++ openafs/doc/man-pages/pod1/vos_remove.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos remove - Removes a volume from a site
++vos_remove - Removes a volume from a site
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_remsite.pod
++++ openafs/doc/man-pages/pod1/vos_remsite.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos remsite - Removes a read-only site definition from a VLDB entry
++vos_remsite - Removes a read-only site definition from a VLDB entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_rename.pod
++++ openafs/doc/man-pages/pod1/vos_rename.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos rename - Renames a volume
++vos_rename - Renames a volume
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_restore.pod
++++ openafs/doc/man-pages/pod1/vos_restore.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos restore - Converts an ASCII dump file into an AFS volume
++vos_restore - Converts an ASCII dump file into an AFS volume
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_size.pod
++++ openafs/doc/man-pages/pod1/vos_size.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos size - Computes the size of a volume dump
++vos_size - Computes the size of a volume dump
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_status.pod
++++ openafs/doc/man-pages/pod1/vos_status.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos status - Reports a Volume Server's status
++vos_status - Reports a Volume Server's status
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_syncserv.pod
++++ openafs/doc/man-pages/pod1/vos_syncserv.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos syncserv - Verifies VLDB entries that mention a specified site
++vos_syncserv - Verifies VLDB entries that mention a specified site
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_syncvldb.pod
++++ openafs/doc/man-pages/pod1/vos_syncvldb.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos syncvldb - Verifies VLDB entries for volumes residing at specified site
++vos_syncvldb - Verifies VLDB entries for volumes residing at specified site
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_unlock.pod
++++ openafs/doc/man-pages/pod1/vos_unlock.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos unlock - Unlocks a single VLDB entry
++vos_unlock - Unlocks a single VLDB entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_unlockvldb.pod
++++ openafs/doc/man-pages/pod1/vos_unlockvldb.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos unlockvldb - Unlocks several locked VLDB entries
++vos_unlockvldb - Unlocks several locked VLDB entries
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/vos_zap.pod
++++ openafs/doc/man-pages/pod1/vos_zap.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-vos zap - Removes a volume from its site without writing to the VLDB
++vos_zap - Removes a volume from its site without writing to the VLDB
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_adddump.pod
++++ openafs/doc/man-pages/pod8/backup_adddump.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup adddump - Defines a dump level in the dump hierarchy
++backup_adddump - Defines a dump level in the dump hierarchy
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_addhost.pod
++++ openafs/doc/man-pages/pod8/backup_addhost.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup addhost - Adds a Tape Coordinator entry to the Backup Database
++backup_addhost - Adds a Tape Coordinator entry to the Backup Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_addvolentry.pod
++++ openafs/doc/man-pages/pod8/backup_addvolentry.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup addvolentry - Defines a volume entry in a volume set
++backup_addvolentry - Defines a volume entry in a volume set
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_addvolset.pod
++++ openafs/doc/man-pages/pod8/backup_addvolset.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup addvolset - Creates a new (empty) volume set
++backup_addvolset - Creates a new (empty) volume set
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_apropos.pod
++++ openafs/doc/man-pages/pod8/backup_apropos.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup apropos - Displays each help entry containing a keyword string
++backup_apropos - Displays each help entry containing a keyword string
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_dbverify.pod
++++ openafs/doc/man-pages/pod8/backup_dbverify.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup dbverify - Checks the integrity of the Backup Database
++backup_dbverify - Checks the integrity of the Backup Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_deldump.pod
++++ openafs/doc/man-pages/pod8/backup_deldump.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup deldump - Deletes a dump level from the Backup Database
++backup_deldump - Deletes a dump level from the Backup Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_deletedump.pod
++++ openafs/doc/man-pages/pod8/backup_deletedump.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup deletedump - Deletes one or more dump records from the Backup Database
++backup_deletedump - Deletes one or more dump records from the Backup Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_delhost.pod
++++ openafs/doc/man-pages/pod8/backup_delhost.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup delhost - Deletes a Tape Coordinator entry from the Backup Database
++backup_delhost - Deletes a Tape Coordinator entry from the Backup Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_delvolentry.pod
++++ openafs/doc/man-pages/pod8/backup_delvolentry.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup delvolentry - Deletes a volume entry from a volume set
++backup_delvolentry - Deletes a volume entry from a volume set
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_delvolset.pod
++++ openafs/doc/man-pages/pod8/backup_delvolset.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup delvolset - Deletes one or more volume sets from the Backup Database
++backup_delvolset - Deletes one or more volume sets from the Backup Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_diskrestore.pod
++++ openafs/doc/man-pages/pod8/backup_diskrestore.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup diskrestore - Restores the entire contents of a partition
++backup_diskrestore - Restores the entire contents of a partition
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_dump.pod
++++ openafs/doc/man-pages/pod8/backup_dump.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup dump - Creates a dump (dumps a volume set at a particular dump level)
++backup_dump - Creates a dump (dumps a volume set at a particular dump level)
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_dumpinfo.pod
++++ openafs/doc/man-pages/pod8/backup_dumpinfo.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup dumpinfo - Displays a dump record from the Backup Database
++backup_dumpinfo - Displays a dump record from the Backup Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_help.pod
++++ openafs/doc/man-pages/pod8/backup_help.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup help - Displays help for backup commands
++backup_help - Displays help for backup commands
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_interactive.pod
++++ openafs/doc/man-pages/pod8/backup_interactive.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup interactive - Enters interactive mode
++backup_interactive - Enters interactive mode
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_jobs.pod
++++ openafs/doc/man-pages/pod8/backup_jobs.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup jobs - Lists pending and running operations in interactive mode
++backup_jobs - Lists pending and running operations in interactive mode
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_kill.pod
++++ openafs/doc/man-pages/pod8/backup_kill.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup kill - Terminates a pending or running operation
++backup_kill - Terminates a pending or running operation
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_labeltape.pod
++++ openafs/doc/man-pages/pod8/backup_labeltape.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup labeltape - Creates the magnetic label on a tape
++backup_labeltape - Creates the magnetic label on a tape
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_listdumps.pod
++++ openafs/doc/man-pages/pod8/backup_listdumps.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup listdumps - Displays the dump hierarchy from the Backup Database
++backup_listdumps - Displays the dump hierarchy from the Backup Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_listhosts.pod
++++ openafs/doc/man-pages/pod8/backup_listhosts.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup listhosts - Lists Tape Coordinators registered in the Backup Database
++backup_listhosts - Lists Tape Coordinators registered in the Backup Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_listvolsets.pod
++++ openafs/doc/man-pages/pod8/backup_listvolsets.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup listvolsets - Lists volume set entries from the Backup Database
++backup_listvolsets - Lists volume set entries from the Backup Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_quit.pod
++++ openafs/doc/man-pages/pod8/backup_quit.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup quit - Leaves interactive mode
++backup_quit - Leaves interactive mode
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_readlabel.pod
++++ openafs/doc/man-pages/pod8/backup_readlabel.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup readlabel - Reads and displays a tape's label
++backup_readlabel - Reads and displays a tape's label
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_restoredb.pod
++++ openafs/doc/man-pages/pod8/backup_restoredb.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup restoredb - Restores a saved copy of the Backup Database
++backup_restoredb - Restores a saved copy of the Backup Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_savedb.pod
++++ openafs/doc/man-pages/pod8/backup_savedb.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup savedb - Creates a saved copy of the Backup Database
++backup_savedb - Creates a saved copy of the Backup Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_scantape.pod
++++ openafs/doc/man-pages/pod8/backup_scantape.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup scantape - Extracts dump information from a tape
++backup_scantape - Extracts dump information from a tape
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_setexp.pod
++++ openafs/doc/man-pages/pod8/backup_setexp.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup setexp - Sets the expiration date for existing dump levels.
++backup_setexp - Sets the expiration date for existing dump levels.
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_status.pod
++++ openafs/doc/man-pages/pod8/backup_status.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup status - Reports a Tape Coordinator's status
++backup_status - Reports a Tape Coordinator's status
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_volinfo.pod
++++ openafs/doc/man-pages/pod8/backup_volinfo.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup volinfo - Displays a volume's dump history from the Backup Database
++backup_volinfo - Displays a volume's dump history from the Backup Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_volrestore.pod
++++ openafs/doc/man-pages/pod8/backup_volrestore.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup volrestore - Restores one or more volumes
++backup_volrestore - Restores one or more volumes
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/backup_volsetrestore.pod
++++ openafs/doc/man-pages/pod8/backup_volsetrestore.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-backup volsetrestore - Restores all volumes in a volume set
++backup_volsetrestore - Restores all volumes in a volume set
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_addhost.pod
++++ openafs/doc/man-pages/pod8/bos_addhost.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos addhost - Adds a database server machine to the CellServDB file
++bos_addhost - Adds a database server machine to the CellServDB file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_addkey.pod
++++ openafs/doc/man-pages/pod8/bos_addkey.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos addkey - Adds a new server encryption key to the KeyFile file
++bos_addkey - Adds a new server encryption key to the KeyFile file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_adduser.pod
++++ openafs/doc/man-pages/pod8/bos_adduser.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos adduser - Adds a privileged user to the UserList file
++bos_adduser - Adds a privileged user to the UserList file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_apropos.pod
++++ openafs/doc/man-pages/pod8/bos_apropos.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos apropos - Displays each help entry containing a keyword string
++bos_apropos - Displays each help entry containing a keyword string
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_create.pod
++++ openafs/doc/man-pages/pod8/bos_create.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos create - Defines a new process in the BosConfig file and starts it
++bos_create - Defines a new process in the BosConfig file and starts it
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_delete.pod
++++ openafs/doc/man-pages/pod8/bos_delete.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos delete - Deletes a server process from the BosConfig file
++bos_delete - Deletes a server process from the BosConfig file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_exec.pod
++++ openafs/doc/man-pages/pod8/bos_exec.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos exec - Executes a command on a remote server machine
++bos_exec - Executes a command on a remote server machine
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_getdate.pod
++++ openafs/doc/man-pages/pod8/bos_getdate.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos getdate - Displays the time stamps on an AFS binary file
++bos_getdate - Displays the time stamps on an AFS binary file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_getlog.pod
++++ openafs/doc/man-pages/pod8/bos_getlog.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos getlog - Prints a server process's log file
++bos_getlog - Prints a server process's log file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_getrestart.pod
++++ openafs/doc/man-pages/pod8/bos_getrestart.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos getrestart - Displays the automatic restart times for server processes
++bos_getrestart - Displays the automatic restart times for server processes
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_help.pod
++++ openafs/doc/man-pages/pod8/bos_help.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos help - Displays help for bos commands
++bos_help - Displays help for bos commands
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_install.pod
++++ openafs/doc/man-pages/pod8/bos_install.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos install - Installs a new version of a binary file
++bos_install - Installs a new version of a binary file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_listhosts.pod
++++ openafs/doc/man-pages/pod8/bos_listhosts.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos listhosts - Displays the contents of the CellServDB file
++bos_listhosts - Displays the contents of the CellServDB file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_listkeys.pod
++++ openafs/doc/man-pages/pod8/bos_listkeys.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos listkeys - Displays the server encryption keys from the KeyFile file
++bos_listkeys - Displays the server encryption keys from the KeyFile file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_listusers.pod
++++ openafs/doc/man-pages/pod8/bos_listusers.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos listusers - Lists the privileged users from the UserList file
++bos_listusers - Lists the privileged users from the UserList file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_prune.pod
++++ openafs/doc/man-pages/pod8/bos_prune.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos prune - Removes obsolete files from /usr/afs/bin and /usr/afs/logs
++bos_prune - Removes obsolete files from /usr/afs/bin and /usr/afs/logs
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_removehost.pod
++++ openafs/doc/man-pages/pod8/bos_removehost.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos removehost - Removes a database server machine from the CellServDB file
++bos_removehost - Removes a database server machine from the CellServDB file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_removekey.pod
++++ openafs/doc/man-pages/pod8/bos_removekey.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos removekey - Removes a server encryption key from the KeyFile file
++bos_removekey - Removes a server encryption key from the KeyFile file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_removeuser.pod
++++ openafs/doc/man-pages/pod8/bos_removeuser.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos removeuser - Removes a privileged user from the UserList file
++bos_removeuser - Removes a privileged user from the UserList file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_restart.pod
++++ openafs/doc/man-pages/pod8/bos_restart.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos restart - Restarts a server process
++bos_restart - Restarts a server process
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_salvage.pod
++++ openafs/doc/man-pages/pod8/bos_salvage.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos salvage - Restores internal consistency to a file system or volume
++bos_salvage - Restores internal consistency to a file system or volume
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_setauth.pod
++++ openafs/doc/man-pages/pod8/bos_setauth.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos setauth - Sets authorization checking requirements for all server processes
++bos_setauth - Sets authorization checking requirements for all server processes
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_setcellname.pod
++++ openafs/doc/man-pages/pod8/bos_setcellname.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos setcellname - Sets the cell's name in ThisCell and CellServDB
++bos_setcellname - Sets the cell's name in ThisCell and CellServDB
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_setrestart.pod
++++ openafs/doc/man-pages/pod8/bos_setrestart.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos setrestart - Sets when the BOS Server restarts processes
++bos_setrestart - Sets when the BOS Server restarts processes
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_shutdown.pod
++++ openafs/doc/man-pages/pod8/bos_shutdown.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos shutdown - Stops a process without changing its status flag
++bos_shutdown - Stops a process without changing its status flag
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_start.pod
++++ openafs/doc/man-pages/pod8/bos_start.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos start - Starts a process after setting its status flag
++bos_start - Starts a process after setting its status flag
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_startup.pod
++++ openafs/doc/man-pages/pod8/bos_startup.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos startup - Starts a process without changing its status flag
++bos_startup - Starts a process without changing its status flag
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_status.pod
++++ openafs/doc/man-pages/pod8/bos_status.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos status - Displays the status of server processes
++bos_status - Displays the status of server processes
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_stop.pod
++++ openafs/doc/man-pages/pod8/bos_stop.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos stop - Stops a process after changing its status flag
++bos_stop - Stops a process after changing its status flag
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/bos_uninstall.pod
++++ openafs/doc/man-pages/pod8/bos_uninstall.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-bos uninstall - Reverts to the former version of a process's binary file
++bos_uninstall - Reverts to the former version of a process's binary file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/fstrace_apropos.pod
++++ openafs/doc/man-pages/pod8/fstrace_apropos.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fstrace apropos - Displays each help entry containing a keyword string
++fstrace_apropos - Displays each help entry containing a keyword string
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/fstrace_clear.pod
++++ openafs/doc/man-pages/pod8/fstrace_clear.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fstrace clear - Clears the trace log
++fstrace_clear - Clears the trace log
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/fstrace_dump.pod
++++ openafs/doc/man-pages/pod8/fstrace_dump.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fstrace dump - Dumps a trace log
++fstrace_dump - Dumps a trace log
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/fstrace_help.pod
++++ openafs/doc/man-pages/pod8/fstrace_help.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fstrace help - Displays help for fstrace commands
++fstrace_help - Displays help for fstrace commands
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/fstrace_lslog.pod
++++ openafs/doc/man-pages/pod8/fstrace_lslog.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fstrace lslog - Displays information about a log
++fstrace_lslog - Displays information about a log
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/fstrace_lsset.pod
++++ openafs/doc/man-pages/pod8/fstrace_lsset.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fstrace lsset - Reports the status of an event set
++fstrace_lsset - Reports the status of an event set
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/fstrace_setlog.pod
++++ openafs/doc/man-pages/pod8/fstrace_setlog.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fstrace setlog - Sets the size of a trace log
++fstrace_setlog - Sets the size of a trace log
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/fstrace_setset.pod
++++ openafs/doc/man-pages/pod8/fstrace_setset.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fstrace setset - Sets the status of an event set
++fstrace_setset - Sets the status of an event set
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_apropos.pod
++++ openafs/doc/man-pages/pod8/kas_apropos.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas apropos - Displays each help entry containing a keyword string
++kas_apropos - Displays each help entry containing a keyword string
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_create.pod
++++ openafs/doc/man-pages/pod8/kas_create.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas create - Creates an entry in the Authentication Database
++kas_create - Creates an entry in the Authentication Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_delete.pod
++++ openafs/doc/man-pages/pod8/kas_delete.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas delete - Deletes an entry from the Authentication Database
++kas_delete - Deletes an entry from the Authentication Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_examine.pod
++++ openafs/doc/man-pages/pod8/kas_examine.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas examine - Displays information from an Authentication Database entry
++kas_examine - Displays information from an Authentication Database entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_forgetticket.pod
++++ openafs/doc/man-pages/pod8/kas_forgetticket.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas forgetticket - Discards all tickets for the issuer
++kas_forgetticket - Discards all tickets for the issuer
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_help.pod
++++ openafs/doc/man-pages/pod8/kas_help.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas help - Displays help for kas commands
++kas_help - Displays help for kas commands
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_interactive.pod
++++ openafs/doc/man-pages/pod8/kas_interactive.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas interactive - Enters interactive mode
++kas_interactive - Enters interactive mode
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_list.pod
++++ openafs/doc/man-pages/pod8/kas_list.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas list - Displays all entries in the Authentication Database
++kas_list - Displays all entries in the Authentication Database
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_listtickets.pod
++++ openafs/doc/man-pages/pod8/kas_listtickets.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas listtickets - Displays all of the issuer's tickets (tokens)
++kas_listtickets - Displays all of the issuer's tickets (tokens)
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_noauthentication.pod
++++ openafs/doc/man-pages/pod8/kas_noauthentication.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas noauthentication - Discards an authenticated identity in interactive mode
++kas_noauthentication - Discards an authenticated identity in interactive mode
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_quit.pod
++++ openafs/doc/man-pages/pod8/kas_quit.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas quit - Leaves interactive mode
++kas_quit - Leaves interactive mode
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_setfields.pod
++++ openafs/doc/man-pages/pod8/kas_setfields.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas setfields - Sets fields in an Authentication Database entry
++kas_setfields - Sets fields in an Authentication Database entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_setpassword.pod
++++ openafs/doc/man-pages/pod8/kas_setpassword.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas setpassword - Changes the key field in an Authentication Database entry
++kas_setpassword - Changes the key field in an Authentication Database entry
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_statistics.pod
++++ openafs/doc/man-pages/pod8/kas_statistics.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas statistics - Displays statistics from an Authentication Server process
++kas_statistics - Displays statistics from an Authentication Server process
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_stringtokey.pod
++++ openafs/doc/man-pages/pod8/kas_stringtokey.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas stringtokey - Converts a character string into an octal key
++kas_stringtokey - Converts a character string into an octal key
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/kas_unlock.pod
++++ openafs/doc/man-pages/pod8/kas_unlock.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-kas unlock - Unlocks a locked user account
++kas_unlock - Unlocks a locked user account
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/uss_add.pod
++++ openafs/doc/man-pages/pod8/uss_add.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-uss add - Creates a user account
++uss_add - Creates a user account
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/uss_apropos.pod
++++ openafs/doc/man-pages/pod8/uss_apropos.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-uss apropos - Displays each help entry containing a keyword string.
++uss_apropos - Displays each help entry containing a keyword string.
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/uss_bulk.pod
++++ openafs/doc/man-pages/pod8/uss_bulk.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-uss bulk - Executes multiple uss commands listed in a file
++uss_bulk - Executes multiple uss commands listed in a file
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/uss_delete.pod
++++ openafs/doc/man-pages/pod8/uss_delete.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-uss delete - Deletes a user account
++uss_delete - Deletes a user account
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod8/uss_help.pod
++++ openafs/doc/man-pages/pod8/uss_help.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-uss help - Displays help for uss commands
++uss_help - Displays help for uss commands
+ =head1 SYNOPSIS
+--- openafs.orig/doc/man-pages/pod1/fs_apropos.pod
++++ openafs/doc/man-pages/pod1/fs_apropos.pod
+@@ -1,6 +1,6 @@
+ =head1 NAME
+-fs apropos - Displays each help entry containing a keyword string
++fs_apropos - Displays each help entry containing a keyword string
+ =head1 SYNOPSIS
diff --git a/src/packaging/Debian/patches/alloc-vnode b/src/packaging/Debian/patches/alloc-vnode
new file mode 100644 (file)
index 0000000..9c4d535
--- /dev/null
@@ -0,0 +1,34 @@
+Allocate vnodes rather than using the stack, which fixes file server
+problems on SPARC.  Upstream delta:
+
+STABLE14-volprocs-alloc-vnode-instead-of-using-stack-20071126
+
+Debian Bug#448380
+
+--- openafs.orig/src/volser/volprocs.c
++++ openafs/src/volser/volprocs.c
+@@ -210,14 +210,14 @@
+     struct acl_accessList *ACL;
+     ViceFid did;
+     Inode inodeNumber, nearInode;
+-    char buf[SIZEOF_LARGEDISKVNODE];
+-    struct VnodeDiskObject *vnode = (struct VnodeDiskObject *)buf;
++    struct VnodeDiskObject *vnode;
+     struct VnodeClassInfo *vcp = &VnodeClassInfo[vLarge];
+     IHandle_t *h;
+     FdHandle_t *fdP;
+     int code;
+     afs_fsize_t length;
++    vnode = (struct VnodeDiskObject *)malloc(SIZEOF_LARGEDISKVNODE);
+     memset(vnode, 0, SIZEOF_LARGEDISKVNODE);
+     V_pref(vp, nearInode);
+@@ -282,6 +282,7 @@
+     VNDISK_GET_LEN(length, vnode);
+     V_diskused(vp) = nBlocks(length);
++    free(vnode);
+     return 1;
+ }
diff --git a/src/packaging/Debian/patches/bos-permissions b/src/packaging/Debian/patches/bos-permissions
new file mode 100644 (file)
index 0000000..cae2297
--- /dev/null
@@ -0,0 +1,24 @@
+Expect the server directory to be mode 0700 since that's where the AFS
+KeyFile is stored.  Allow the local directory to be mode 0755, since
+there's no reason for it to be more restrictive.  Allowing the server
+directory to be mode 0700 causes problems upstream if people symlink the
+client configuration to the server directory, which is recommended by
+some documentation.
+
+--- openafs.orig/src/bozo/bosoprocs.c
++++ openafs/src/bozo/bosoprocs.c
+@@ -1324,12 +1324,12 @@
+ 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 */
+     {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 */
diff --git a/src/packaging/Debian/patches/compiler-flags b/src/packaging/Debian/patches/compiler-flags
new file mode 100644 (file)
index 0000000..eddf6d4
--- /dev/null
@@ -0,0 +1,213 @@
+Use $CC for the compiler instead of forcing cc or gcc and add -fPIC in
+a few more places.  The latter should be committed upstream.  The former
+is waiting for upstream work to separate the kernel compiler from the
+userspace compiler, since $CC should only be used for the latter on other
+platforms.
+
+Also combines the sparc sysnames together, which is suitable upstream.
+
+--- openafs.orig/src/cf/osconf.m4
++++ openafs/src/cf/osconf.m4
+@@ -4,9 +4,8 @@
+ dnl defaults, override in case below as needed
+ XCFLAGS='${DBG} ${OPTMZ}'
+ SHLIB_SUFFIX="so"
+-CC="cc"
+-CCOBJ="cc"
+-MT_CC="cc"
++CCOBJ=$CC
++MT_CC=$CC
+ XLIBS="${LIB_AFSDB}"
+ dnl debugging and optimization flag defaults
+@@ -244,6 +243,7 @@
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -G0"
+@@ -271,6 +271,7 @@
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
++              SHLIB_CFLAGS="-fPIC"
+               TXLIBS="/usr/lib64/libncurses.so"
+               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+               SHLIB_LINKER="${MT_CC} -shared"
+@@ -291,14 +292,14 @@
+               ;;
+       i386_umlinux22)
+-              CC="gcc -pipe"
+-              CCOBJ="gcc -pipe"
+-              MT_CC="gcc -pipe"
++              CCOBJ="${CC} -pipe"
++              MT_CC="${CC} -pipe"
+               KERN_OPTMZ=-O2
+               LEX="flex -l"
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+@@ -307,9 +308,8 @@
+               ;;
+       i386_linux*)
+-              CC="gcc -pipe"
+-              CCOBJ="gcc -pipe"
+-              MT_CC="gcc -pipe"
++              CCOBJ="${CC} -pipe"
++              MT_CC="${CC} -pipe"
+               KERN_OPTMZ=-O2
+               LEX="flex -l"
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+@@ -320,6 +320,7 @@
+               LWP_OPTMZ=-O2
+               OPTMZ=-O2
+               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+@@ -327,9 +328,8 @@
+               ;;
+       i386_umlinux24)
+-              CC="gcc -pipe"
+-              CCOBJ="gcc -pipe"
+-              MT_CC="gcc -pipe"
++              CCOBJ="${CC} -pipe"
++              MT_CC="${CC} -pipe"
+               KERN_OPTMZ=-O2
+               LEX="flex -l"
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+@@ -340,6 +340,7 @@
+               LWP_OPTMZ=-O2
+               OPTMZ=-O2
+               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+@@ -347,9 +348,8 @@
+               ;;
+       i386_umlinux26)
+-              CC="gcc -pipe"
+-              CCOBJ="gcc -pipe"
+-              MT_CC="gcc -pipe"
++              CCOBJ="${CC} -pipe"
++              MT_CC="${CC} -pipe"
+               KERN_OPTMZ=-O2
+               LEX="flex -l"
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+@@ -360,6 +360,7 @@
+               LWP_OPTMZ=-O2
+               OPTMZ=-O2
+               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+@@ -385,6 +386,7 @@
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+@@ -557,8 +559,7 @@
+               ;;
+       s390_linux22)
+-              CC="gcc"
+-              CCOBJ="gcc"
++              CCOBJ="$CC"
+               LD="ld"
+               KERN_OPTMZ=-O2
+               LEX="flex -l"
+@@ -566,6 +567,7 @@
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-O -g -D_LARGEFILE64_SOURCE"
+@@ -574,8 +576,7 @@
+               ;;
+       s390_linux24|s390_linux26)
+-              CC="gcc"
+-              CCOBJ="gcc"
++              CCOBJ="$CC"
+               LD="ld"
+               KERN_OPTMZ=-O2
+               LEX="flex -l"
+@@ -583,6 +584,7 @@
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-O -g -D_LARGEFILE64_SOURCE"
+@@ -591,8 +593,7 @@
+               ;;
+       s390x_linux24|s390x_linux26)
+-              CC="gcc"
+-              CCOBJ="gcc -fPIC"
++              CCOBJ="$CC"
+               LD="ld"
+               KERN_OPTMZ=-O2
+               LEX="flex -l"
+@@ -600,6 +601,7 @@
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic"
+               TXLIBS="-lncurses"
+               XCFLAGS="-O -g -D_LARGEFILE64_SOURCE -D__s390x__"
+@@ -669,12 +671,13 @@
+               SHLIB_LINKER="${CC} -shared"
+               ;;
+-      sparc64_linux*)
++      sparc*_linux*)
+               KERN_OPTMZ=-O2
+               LEX="flex -l"
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_LIBS="-lpthread"
+               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
++              SHLIB_CFLAGS="-fPIC"
+               SHLIB_LDFLAGS="-shared -Xlinker -x"
+               TXLIBS="-lncurses"
+               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+@@ -684,19 +687,6 @@
+               SHLIB_LINKER="${MT_CC} -shared"
+               ;;
+-      sparc_linux22)
+-              KERN_OPTMZ=-O2
+-              LEX="flex -l"
+-              MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+-              MT_LIBS="-lpthread"
+-              PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+-              SHLIB_LDFLAGS="-shared -Xlinker -x"
+-              TXLIBS="-lncurses"
+-              XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+-              YACC="bison -y"
+-              SHLIB_LINKER="${MT_CC} -shared"
+-              ;;
+-
+       sun4_413)
+               CCXPG2="/usr/xpg2bin/cc"
+               CC="gcc"
diff --git a/src/packaging/Debian/patches/dfsg b/src/packaging/Debian/patches/dfsg
new file mode 100644 (file)
index 0000000..4604db1
--- /dev/null
@@ -0,0 +1,73 @@
+Patch upstream Makefiles to remove references to files that had to be
+removed from the source package for DFSG freeness reasons.  Not suitable
+upstream for obvious reasons.
+
+--- openafs.orig/src/afs/Makefile.in
++++ openafs/src/afs/Makefile.in
+@@ -13,7 +13,7 @@
+ all: depinstall
+ depinstall: ${TOP_INCDIR}/afs/afs.h ${TOP_INCDIR}/afs/osi_inode.h ${TOP_INCDIR}/afs/afs_stats.h \
+-      ${TOP_INCDIR}/afs/exporter.h ${TOP_INCDIR}/afs/nfsclient.h afszcm.cat AFS_component_version_number.c ${TOP_INCDIR}/afs/unified_afs.h ${TOP_INCDIR}/afs/sysctl.h
++      ${TOP_INCDIR}/afs/exporter.h ${TOP_INCDIR}/afs/nfsclient.h afszcm.cat AFS_component_version_number.c ${TOP_INCDIR}/afs/unified_afs.h
+       case ${SYS_NAME} in \
+               pmax_ul43 | pmax_ul43a) \
+                       ${INSTALL} longc_procs.h ${TOP_INCDIR}/afs ;; \
+@@ -43,7 +43,7 @@
+                       gencat afszcm.cat afs_trace.msf ;; \
+       esac
+-install:   ${DESTDIR}${includedir}/afs/afs.h  ${DESTDIR}${includedir}/afs/osi_inode.h ${DESTDIR}${includedir}/afs/afs_stats.h ${DESTDIR}${includedir}/afs/exporter.h ${DESTDIR}${includedir}/afs/nfsclient.h ${DESTDIR}${includedir}/afs/unified_afs.h ${DESTDIR}${includedir}/afs/sysctl.h
++install:   ${DESTDIR}${includedir}/afs/afs.h  ${DESTDIR}${includedir}/afs/osi_inode.h ${DESTDIR}${includedir}/afs/afs_stats.h ${DESTDIR}${includedir}/afs/exporter.h ${DESTDIR}${includedir}/afs/nfsclient.h ${DESTDIR}${includedir}/afs/unified_afs.h
+       case ${SYS_NAME} in \
+               pmax_ul43 | pmax_ul43a) \
+                       ${INSTALL} longc_procs.h ${DESTDIR}${includedir}/afs ;; \
+@@ -131,7 +131,7 @@
+       ${INSTALL} $? $@
+-dest:   ${DEST}/include/afs/afs.h ${DEST}/include/afs/osi_inode.h ${DEST}/include/afs/afs_stats.h ${DEST}/include/afs/exporter.h ${DEST}/include/afs/nfsclient.h ${DEST}/include/afs/unified_afs.h ${DEST}/include/afs/sysctl.h
++dest:   ${DEST}/include/afs/afs.h ${DEST}/include/afs/osi_inode.h ${DEST}/include/afs/afs_stats.h ${DEST}/include/afs/exporter.h ${DEST}/include/afs/nfsclient.h ${DEST}/include/afs/unified_afs.h
+       case ${SYS_NAME} in \
+               pmax_ul43 | pmax_ul43a) \
+                       ${INSTALL} longc_procs.h ${DEST}/include/afs ;; \
+--- openafs.orig/src/tviced/Makefile.in
++++ openafs/src/tviced/Makefile.in
+@@ -38,8 +38,7 @@
+ DIROBJS=buffer.o dir.o salvage.o
+ VOLOBJS= vnode.o volume.o vutil.o partition.o fssync.o purge.o \
+-       clone.o devname.o common.o ihandle.o listinodes.o namei_ops.o \
+-       fstab.o
++       clone.o devname.o common.o ihandle.o listinodes.o namei_ops.o
+ FSINTOBJS= afsaux.o afscbint.cs.o afsint.ss.o afsint.xdr.o
+--- openafs.orig/src/util/Makefile.in
++++ openafs/src/util/Makefile.in
+@@ -12,7 +12,7 @@
+ objects = assert.o base64.o casestrcpy.o ktime.o volparse.o hostparse.o \
+        hputil.o kreltime.o isathing.o get_krbrlm.o uuid.o serverLog.o \
+-       dirpath.o fileutil.o netutils.o flipbase64.o fstab.o \
++       dirpath.o fileutil.o netutils.o flipbase64.o \
+        afs_atomlist.o afs_lhash.o snprintf.o strlcat.o strlcpy.o \
+        daemon.o rxkstats.o ${REGEX_OBJ}
+@@ -392,4 +392,4 @@
+           assert.c base64.c casestrcpy.c ktime.c volparse.c hostparse.c \
+           hputil.c kreltime.c isathing.c get_krbrlm.c uuid.c serverLog.c \
+           dirpath.c fileutil.c netutils.c flipbase64.c \
+-          afs_atomlist.c afs_lhash.c snprintf.c fstab.c
++          afs_atomlist.c afs_lhash.c snprintf.c
+--- openafs.orig/configure.in
++++ openafs/configure.in
+@@ -82,8 +82,6 @@
+ src/mpp/Makefile \
+ src/null/Makefile \
+ src/package/Makefile \
+-src/packaging/MacOS/OpenAFS.Info.plist \
+-src/packaging/MacOS/OpenAFS.info \
+ src/packaging/RedHat/openafs.spec \
+ src/pam/Makefile \
+ src/pinstall/Makefile \
diff --git a/src/packaging/Debian/patches/find-core-files b/src/packaging/Debian/patches/find-core-files
new file mode 100644 (file)
index 0000000..d8c292e
--- /dev/null
@@ -0,0 +1,70 @@
+--- openafs.orig/src/bozo/bnode.c
++++ openafs/src/bozo/bnode.c
+@@ -28,6 +28,7 @@
+ #include <time.h>
+ #endif
+ #include <sys/stat.h>
++#include <dirent.h>
+ #ifdef HAVE_STRING_H
+ #include <string.h>
+@@ -105,13 +106,45 @@
+     char tbuffer[256];
+     struct stat tstat;
+     register afs_int32 code;
++    char *corefile = NULL;
+ #ifdef BOZO_SAVE_CORES
+     struct timeval Start;
+     struct tm *TimeFields;
+     char FileName[256];
+ #endif
++    /* Linux always appends the PID to core dumps from threaded processes, so
++     * we have to scan the directory to find core files under another name. */
+     code = stat(AFSDIR_SERVER_CORELOG_FILEPATH, &tstat);
++    if (code) {
++        DIR *logdir;
++        struct dirent *file;
++        char *p;
++        size_t length;
++        unsigned long pid;
++
++        logdir = opendir(AFSDIR_LOGS_DIR);
++        if (logdir == NULL)
++            return;
++        while ((file = readdir(logdir)) != NULL) {
++            if (strncmp(file->d_name, "core.", 5) != 0)
++                continue;
++            pid = atol(file->d_name + 5);
++            if (pid == aproc->pid) {
++                length = strlen(AFSDIR_LOGS_DIR) + strlen(file->d_name) + 2;
++                corefile = malloc(length);
++                if (corefile == NULL) {
++                    closedir(logdir);
++                    return;
++                }
++                snprintf(corefile, length, "%s/%s", AFSDIR_LOGS_DIR,
++                         file->d_name);
++                code = 0;
++                break;
++            }
++        }
++        closedir(logdir);
++    }
+     if (code)
+       return;
+@@ -124,7 +157,12 @@
+           TimeFields->tm_hour, TimeFields->tm_min, TimeFields->tm_sec);
+     strcpy(tbuffer, FileName);
+ #endif
+-    code = renamefile(AFSDIR_SERVER_CORELOG_FILEPATH, tbuffer);
++    if (corefile == NULL)
++        code = renamefile(AFSDIR_SERVER_CORELOG_FILEPATH, tbuffer);
++    else {
++        code = renamefile(corefile, tbuffer);
++        free(corefile);
++    }
+ }
+ int
diff --git a/src/packaging/Debian/patches/fstrace-paths b/src/packaging/Debian/patches/fstrace-paths
new file mode 100644 (file)
index 0000000..bdc45ba
--- /dev/null
@@ -0,0 +1,27 @@
+fstrace uses the NLS functions to do message translation and needs a
+message catalog installed.  The default paths are rather broken.  Patch
+the source to look for it in /usr/share/openafs instead.  Not suitable
+upstream with the hard-coded paths, but something more sophisticated
+would be appropriate.
+
+--- openafs.orig/src/venus/fstrace.c
++++ openafs/src/venus/fstrace.c
+@@ -1471,7 +1471,7 @@
+  */
+ #ifndef RPC_NLS_FORMAT
+-#define RPC_NLS_FORMAT "%s.cat"
++#define RPC_NLS_FORMAT "/usr/share/openafs/%s.cat"
+ #endif
+ dce1_error_inq_text(status_to_convert, error_text, status)
+@@ -1488,7 +1488,8 @@
+     char component_name[4];
+     char *facility_name;
+     char filename_prefix[7];
+-    char nls_filename[11];
++    /* strlen("/usr/share/openafs/") + 6 + strlen(".cat") + 1 */
++    char nls_filename[19 + 6 + 4 + 1];
+     char alt_filename[80];
+     char *message;
+ #if defined(AFS_64BITPOINTER_ENV)
diff --git a/src/packaging/Debian/patches/ktc-prototypes b/src/packaging/Debian/patches/ktc-prototypes
new file mode 100644 (file)
index 0000000..5e59a45
--- /dev/null
@@ -0,0 +1,24 @@
+Expose prototypes for the ktc_* functions on platforms other than Windows.
+Fixed upstream in a different way, but only on the 1.5 branch.
+
+Debian Bug#449432
+
+--- openafs.orig/src/auth/auth.p.h
++++ openafs/src/auth/auth.p.h
+@@ -24,7 +24,6 @@
+     char ticket[MAXKTCTICKETLEN];
+ };
+-#ifdef AFS_NT40_ENV
+ extern int ktc_SetToken(struct ktc_principal *server, struct ktc_token *token,
+                       struct ktc_principal *client, afs_int32 flags);
+@@ -38,6 +37,8 @@
+ extern int ktc_ForgetAllTokens(void);
++#ifdef AFS_NT40_ENV
++
+ /* Flags for the flag word sent along with a token */
+ #define PIOCTL_LOGON          0x1     /* invoked from integrated logon */
diff --git a/src/packaging/Debian/patches/linux-2.6.24 b/src/packaging/Debian/patches/linux-2.6.24
new file mode 100644 (file)
index 0000000..6b41e38
--- /dev/null
@@ -0,0 +1,421 @@
+Add support for Linux 2.6.24.  This patch combines the upstream deltas:
+
+STABLE14-linux-afs-unlinked-file-dentry-flagging-20071031
+STABLE14-linux-nsec-timestamp-zero-20071106
+STABLE14-linux-splice-support-20071106
+STABLE14-linux-2624-20071123
+STABLE14-linux-try-kbuild-deal-with-old-modpost-20071127
+STABLE14-linux24-kernel-configure-test-20071208
+
+Debian Bug#456258, Bug#458331
+
+--- openafs.orig/acinclude.m4
++++ openafs/acinclude.m4
+@@ -582,6 +582,9 @@
+                )
+                LINUX_KERNEL_COMPILE_WORKS
++                 LINUX_KBUILD_USES_EXTRA_CFLAGS
++                 LINUX_HAVE_CURRENT_KERNEL_TIME
++                 LINUX_KMEM_CACHE_INIT
+                LINUX_HAVE_KMEM_CACHE_T
+                LINUX_KMEM_CACHE_CREATE_TAKES_DTOR
+                LINUX_CONFIG_H_EXISTS
+@@ -614,12 +617,14 @@
+                LINUX_AOP_WRITEBACK_CONTROL
+                LINUX_FS_STRUCT_FOP_HAS_FLOCK
+                LINUX_FS_STRUCT_FOP_HAS_SENDFILE
++               LINUX_FS_STRUCT_FOP_HAS_SPLICE
+                LINUX_KERNEL_LINUX_SYSCALL_H
+                LINUX_KERNEL_LINUX_SEQ_FILE_H
+                LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG
+                LINUX_KERNEL_SELINUX
+                LINUX_KERNEL_SOCK_CREATE
+                LINUX_KERNEL_PAGE_FOLLOW_LINK
++                 LINUX_KEY_TYPE_H_EXISTS
+                LINUX_NEED_RHCONFIG
+                LINUX_RECALC_SIGPENDING_ARG_TYPE
+                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_PARENT
+@@ -647,6 +652,7 @@
+                LINUX_GENERIC_FILE_AIO_READ
+                LINUX_INIT_WORK_HAS_DATA
+                LINUX_REGISTER_SYSCTL_TABLE_NOFLAG
++               LINUX_SYSCTL_TABLE_CHECKING
+                  LINUX_EXPORTS_SYS_CHDIR
+                  LINUX_EXPORTS_SYS_CLOSE
+                  LINUX_EXPORTS_SYS_OPEN
+@@ -720,6 +726,9 @@
+                if test "x$ac_cv_linux_config_h_exists" = "xyes" ; then
+                 AC_DEFINE(CONFIG_H_EXISTS, 1, [define if config.h exists])
+                fi
++               if test "x$ac_cv_linux_key_type_h_exists" = "xyes" ; then
++                AC_DEFINE(KEY_TYPE_H_EXISTS, 1, [define if key-type.h exists])
++               fi
+                if test "x$ac_cv_linux_defines_for_each_process" = "xyes" ; then
+                 AC_DEFINE(DEFINED_FOR_EACH_PROCESS, 1, [define if for_each_process defined])
+                fi
+@@ -861,15 +870,27 @@
+                if test "x$ac_cv_linux_fs_struct_fop_has_sendfile" = "xyes" ; then
+                 AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SENDFILE, 1, [define if your struct file_operations has sendfile])
+                fi
++               if test "x$ac_cv_linux_fs_struct_fop_has_splice" = "xyes" ; then
++                AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SPLICE, 1, [define if your struct file_operations has splice_write and splice_read])
++               fi
+                if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then
+                 AC_DEFINE(REGISTER_SYSCTL_TABLE_NOFLAG, 1, [define if register_sysctl_table has no insert_at head flag])
+                fi
++               if test "x$ac_cv_linux_sysctl_table_checking" = "xyes" ; then
++                AC_DEFINE(SYSCTL_TABLE_CHECKING, 1, [define if your kernel has sysctl table checking])
++               fi
+                if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then
+                 AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if tasklist_lock exported])
+                fi
+                if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
+                 AC_DEFINE(HAVE_KMEM_CACHE_T, 1, [define if kmem_cache_t exists])
+                fi
++               if test "x$ac_cv_linux_kmem_cache_init" = "xyes" ; then
++                AC_DEFINE(KMEM_CACHE_INIT, 1, [define for new kmem_cache init function parameters])
++               fi
++               if test "x$ac_cv_linux_have_current_kernel_time" = "xyes" ; then
++                AC_DEFINE(HAVE_CURRENT_KERNEL_TIME, 1, [define if current_kernel_time() exists])
++               fi
+                if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
+                 AC_DEFINE(KMEM_CACHE_TAKES_DTOR, 1, [define if kmem_cache_create takes a destructor argument])
+                fi
+--- openafs.orig/src/afs/LINUX/osi_machdep.h
++++ openafs/src/afs/LINUX/osi_machdep.h
+@@ -76,7 +76,18 @@
+ #define afs_hz HZ
+ #include "h/sched.h"
++#if defined(HAVE_CURRENT_KERNEL_TIME)
++static inline time_t osi_Time(void) { 
++    struct timespec xtime;
++    xtime = current_kernel_time();
++    return xtime.tv_sec;
++}
++#else
+ #define osi_Time() (xtime.tv_sec)
++#endif
++
++
++
+ #ifdef AFS_LINUX_64BIT_KERNEL
+ #define osi_GetTime(V)                                 \
+     do {                                               \
+--- openafs.orig/src/afs/LINUX/osi_sysctl.c
++++ openafs/src/afs/LINUX/osi_sysctl.c
+@@ -1,7 +1,7 @@
+ /*
+  * osi_sysctl.c: Linux sysctl interface to OpenAFS
+  *
+- * $Id$
++ * $Id$
+  *
+  * Written Jan 30, 2002 by Kris Van Hees (Sine Nomine Associates)
+  */
+@@ -28,7 +28,11 @@
+ static ctl_table afs_sysctl_table[] = {
+     {
++#if defined(SYSCTL_TABLE_CHECKING)
++      .ctl_name       = CTL_UNNUMBERED, 
++#else
+       .ctl_name       = 1, 
++#endif
+       .procname       = "hm_retry_RO",
+       .data           = &hm_retry_RO, 
+       .maxlen         = sizeof(afs_int32), 
+@@ -36,7 +40,11 @@
+       .proc_handler   = &proc_dointvec
+     },
+     {
++#if defined(SYSCTL_TABLE_CHECKING)
++      .ctl_name       = CTL_UNNUMBERED, 
++#else
+         .ctl_name     = 2, 
++#endif
+         .procname     = "hm_retry_RW",
+         .data         = &hm_retry_RW,
+       .maxlen         = sizeof(afs_int32), 
+@@ -44,7 +52,11 @@
+       .proc_handler   = &proc_dointvec
+     },
+     {
++#if defined(SYSCTL_TABLE_CHECKING)
++      .ctl_name       = CTL_UNNUMBERED, 
++#else
+       .ctl_name       = 3, 
++#endif
+       .procname       = "hm_retry_int",
+       .data           = &hm_retry_int, 
+       .maxlen         = sizeof(afs_int32), 
+@@ -52,7 +64,11 @@
+       .proc_handler   = &proc_dointvec
+     },
+     {
++#if defined(SYSCTL_TABLE_CHECKING)
++      .ctl_name       = CTL_UNNUMBERED, 
++#else
+       .ctl_name       = 4, 
++#endif
+       .procname       = "GCPAGs",
+       .data           = &afs_gcpags, 
+       .maxlen         = sizeof(afs_int32), 
+@@ -60,7 +76,11 @@
+       .proc_handler   = &proc_dointvec
+     },
+     {
++#if defined(SYSCTL_TABLE_CHECKING)
++      .ctl_name       = CTL_UNNUMBERED, 
++#else
+       .ctl_name       = 5, 
++#endif
+       .procname       = "rx_deadtime",
+       .data           = &afs_rx_deadtime, 
+       .maxlen         = sizeof(afs_int32), 
+@@ -68,7 +88,11 @@
+       .proc_handler   = &proc_dointvec
+     },
+     {
++#if defined(SYSCTL_TABLE_CHECKING)
++      .ctl_name       = CTL_UNNUMBERED, 
++#else
+       .ctl_name       = 6, 
++#endif
+       .procname       = "bkVolPref",
+       .data           = &afs_bkvolpref, 
+       .maxlen         = sizeof(afs_int32), 
+@@ -80,7 +104,11 @@
+ static ctl_table fs_sysctl_table[] = {
+     {
++#if defined(SYSCTL_TABLE_CHECKING)
++      .ctl_name       = CTL_UNNUMBERED, 
++#else
+       .ctl_name       = 1, 
++#endif
+       .procname       = "afs", 
+       .mode           = 0555, 
+       .child          = afs_sysctl_table
+--- openafs.orig/src/afs/LINUX/osi_vfsops.c
++++ openafs/src/afs/LINUX/osi_vfsops.c
+@@ -16,7 +16,7 @@
+ #include "afs/param.h"
+ RCSID
+-    ("$Header$");
++    ("$Header$");
+ #define __NO_VERSION__                /* don't define kernel_version in module.h */
+ #include <linux/module.h> /* early to avoid printf->printk mapping */
+@@ -295,8 +295,12 @@
+ #if defined(HAVE_KMEM_CACHE_T)
+ init_once(void * foo, kmem_cache_t * cachep, unsigned long flags)
+ #else
++#if defined(KMEM_CACHE_INIT)
++init_once(struct kmem_cache * cachep, void * foo)
++#else
+ init_once(void * foo, struct kmem_cache * cachep, unsigned long flags)
+ #endif
++#endif
+ {
+     struct vcache *vcp = (struct vcache *) foo;
+@@ -531,8 +535,11 @@
+     ip->i_size = vp->va_size;
+ #if defined(AFS_LINUX26_ENV)
+     ip->i_atime.tv_sec = vp->va_atime.tv_sec;
++    ip->i_atime.tv_nsec = 0;
+     ip->i_mtime.tv_sec = vp->va_mtime.tv_sec;
++    ip->i_mtime.tv_nsec = 0;
+     ip->i_ctime.tv_sec = vp->va_ctime.tv_sec;
++    ip->i_ctime.tv_nsec = 0;
+ #else
+     ip->i_atime = vp->va_atime.tv_sec;
+     ip->i_mtime = vp->va_mtime.tv_sec;
+--- openafs.orig/src/afs/LINUX/osi_vnodeops.c
++++ openafs/src/afs/LINUX/osi_vnodeops.c
+@@ -22,7 +22,7 @@
+ #include "afs/param.h"
+ RCSID
+-    ("$Header$");
++    ("$Header$");
+ #include "afs/sysincludes.h"
+ #include "afsincludes.h"
+@@ -643,6 +643,10 @@
+ #if defined(AFS_LINUX26_ENV) && defined(STRUCT_FILE_OPERATIONS_HAS_SENDFILE)
+   .sendfile =   generic_file_sendfile,
+ #endif
++#if defined(AFS_LINUX26_ENV) && defined(STRUCT_FILE_OPERATIONS_HAS_SPLICE)
++  .splice_write = generic_file_splice_write,
++  .splice_read = generic_file_splice_read,
++#endif
+   .release =  afs_linux_release,
+   .fsync =    afs_linux_fsync,
+   .lock =     afs_linux_lock,
+@@ -878,6 +882,15 @@
+     AFS_GLOCK();
+     (void) afs_InactiveVCache(vcp, NULL);
+     AFS_GUNLOCK();
++#ifdef DCACHE_NFSFS_RENAMED
++#ifdef AFS_LINUX26_ENV
++    spin_lock(&dp->d_lock);
++#endif
++    dp->d_flags &= ~DCACHE_NFSFS_RENAMED;   
++#ifdef AFS_LINUX26_ENV
++    spin_unlock(&dp->d_lock);
++#endif
++#endif
+     iput(ip);
+ }
+@@ -1095,6 +1108,15 @@
+             }
+             tvc->uncred = credp;
+           tvc->states |= CUnlinked;
++#ifdef DCACHE_NFSFS_RENAMED
++#ifdef AFS_LINUX26_ENV
++          spin_lock(&dp->d_lock);
++#endif
++          dp->d_flags |= DCACHE_NFSFS_RENAMED;   
++#ifdef AFS_LINUX26_ENV
++          spin_unlock(&dp->d_lock);
++#endif
++#endif
+       } else {
+           osi_FreeSmallSpace(__name); 
+       }
+--- openafs.orig/src/afs/sysincludes.h
++++ openafs/src/afs/sysincludes.h
+@@ -75,6 +75,9 @@
+ #if defined(LINUX_KEYRING_SUPPORT)
+ #include <linux/rwsem.h>
+ #include <linux/key.h>
++#if defined(KEY_TYPE_H_EXISTS)
++#include <linux/key-type.h>
++#endif
+ #ifndef KEY_ALLOC_IN_QUOTA
+ #define KEY_ALLOC_IN_QUOTA 1
+ #endif
+--- openafs.orig/src/cf/linux-test1.m4
++++ openafs/src/cf/linux-test1.m4
+@@ -2,9 +2,12 @@
+ #                 [ACTION-IF-SUCCESS], [ACTION-IF-FAILURE])
+ #
+ AC_DEFUN([AC_TRY_KBUILD26],[  rm -fr conftest.dir
++  if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
++    CFLAGS_PREFIX='EXTRA_'
++  fi
+   if mkdir conftest.dir &&
+     cat >conftest.dir/Makefile <<_ACEOF &&
+-CFLAGS += $CPPFLAGS
++${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+ obj-m += conftest.o
+ _ACEOF
+@@ -24,8 +27,9 @@
+ MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+ _ACEOF
+-    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD
+-    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD 2>conftest.err
++    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD &&
++    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD 2>conftest.err &&
++    ! grep "^WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+     then [$3]
+     else
+       sed '/^ *+/d' conftest.err >&AS_MESSAGE_LOG_FD
+@@ -42,8 +46,10 @@
+ #
+ AC_DEFUN([AC_TRY_KBUILD24], [
+   ac_save_CPPFLAGS="$CPPFLAGS"
+-  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+-  AC_TRY_COMPILE([$1], [$2], [$3], [$4])
++  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
++  AC_TRY_COMPILE([
++#include <linux/kernel.h>
++$1], [$2], [$3], [$4])
+   CPPFLAGS="$ac_save_CPPFLAGS"])
+@@ -65,3 +71,16 @@
+     [],:,AC_MSG_RESULT(no)
+     AC_MSG_FAILURE([Fix problem or use --disable-kernel-module...]))
+   AC_MSG_RESULT(yes)])
++
++AC_DEFUN([LINUX_KBUILD_USES_EXTRA_CFLAGS], [
++  AC_MSG_CHECKING([if linux kbuild requires EXTRA_CFLAGS])
++  save_CPPFLAGS="$CPPFLAGS"
++  CPPFLAGS=-Wall
++  AC_TRY_KBUILD(
++[#include <linux/sched.h>
++#include <linux/fs.h>],
++    [],
++    ac_linux_kbuild_requires_extra_cflags=no,
++    ac_linux_kbuild_requires_extra_cflags=yes)
++    CPPFLAGS="$save_CPPFLAGS"
++    AC_MSG_RESULT($ac_linux_kbuild_requires_extra_cflags)])
+--- openafs.orig/src/cf/linux-test4.m4
++++ openafs/src/cf/linux-test4.m4
+@@ -894,3 +894,58 @@
+       ac_cv_linux_fs_struct_fop_has_sendfile=no)])
+   AC_MSG_RESULT($ac_cv_linux_fs_struct_fop_has_sendfile)])
++AC_DEFUN([LINUX_FS_STRUCT_FOP_HAS_SPLICE], [
++  AC_MSG_CHECKING([for splice_write and splice_read in struct file_operations])
++  AC_CACHE_VAL([ac_cv_linux_fs_struct_fop_has_splice], [
++    AC_TRY_KBUILD(
++[#include <linux/fs.h>],
++[struct file_operations _fop;
++_fop.splice_write(NULL, NULL, NULL, 0, 0);
++_fop.splice_read(NULL, NULL, NULL, 0, 0);],
++      ac_cv_linux_fs_struct_fop_has_splice=yes,
++      ac_cv_linux_fs_struct_fop_has_splice=no)])
++  AC_MSG_RESULT($ac_cv_linux_fs_struct_fop_has_splice)])
++
++AC_DEFUN([LINUX_KEY_TYPE_H_EXISTS], [
++  AC_MSG_CHECKING([whether linux/key-type.h exists])
++  AC_CACHE_VAL([ac_cv_linux_key_type_h_exists], [
++    AC_TRY_KBUILD(
++[#include <linux/key-type.h>],
++[return;],
++      ac_cv_linux_key_type_h_exists=yes,
++      ac_cv_linux_key_type_h_exists=no)])
++  AC_MSG_RESULT($ac_cv_linux_key_type_h_exists)])
++
++AC_DEFUN([LINUX_HAVE_CURRENT_KERNEL_TIME], [
++  AC_MSG_CHECKING([for current_kernel_time()])
++  AC_CACHE_VAL([ac_cv_linux_have_current_kernel_time], [
++    AC_TRY_KBUILD(
++[#include <linux/time.h>],
++[struct timespec s = current_kernel_time();],
++      ac_cv_linux_have_current_kernel_time=yes,
++      ac_cv_linux_have_current_kernel_time=no)])
++  AC_MSG_RESULT($ac_cv_linux_have_current_kernel_time)])
++
++AC_DEFUN([LINUX_KMEM_CACHE_INIT], [
++  AC_MSG_CHECKING([for new kmem_cache init function parameters])
++  AC_CACHE_VAL([ac_cv_linux_kmem_cache_init], [
++    AC_TRY_KBUILD(
++[#include <linux/slab.h>],
++[extern struct kmem_cache *kmem_cache_create(const char *, size_t, size_t,
++                        unsigned long,
++                        void (*)(struct kmem_cache *, void *));
++return;],
++      ac_cv_linux_kmem_cache_init=yes,
++      ac_cv_linux_kmem_cache_init=no)])
++  AC_MSG_RESULT($ac_cv_linux_kmem_cache_init)])
++
++AC_DEFUN([LINUX_SYSCTL_TABLE_CHECKING], [
++  AC_MSG_CHECKING([for sysctl table checking])
++  AC_CACHE_VAL([ac_cv_linux_sysctl_table_checking], [
++    AC_TRY_KBUILD(
++[#include <linux/sysctl.h>],
++[ sysctl_check_table(NULL);],
++      ac_cv_linux_sysctl_table_checking=yes,
++      ac_cv_linux_sysctl_table_checking=no)])
++  AC_MSG_RESULT($ac_cv_linux_sysctl_table_checking)])
++
index 148d2d8..8f13bcb 100644 (file)
@@ -1,14 +1,31 @@
-Upstream uses libafs as the module name, mostly for historic reasons.  It
-also uses a different module name depending on whether the module is built
-for SMP systems, something that Debian deals with by creating separate
-packages.  This patch changes the name of the module to openafs and
-removes the separate name for the SMP version.
+Build the kernel module as openafs.ko instead of libafs.ko.  This should
+really be done upstream as well, but it poses backwards compatibility
+problems and it's always been called libafs on other platforms, so it's
+controversial.
 
-Probably not acceptable upstream.
-
---- openafs-1.3.87.orig/src/libafs/MakefileProto.LINUX.in
-+++ openafs-1.3.87/src/libafs/MakefileProto.LINUX.in
-@@ -216,8 +216,8 @@
+--- openafs.orig/src/config/linux-version
++++ openafs/src/config/linux-version
+@@ -38,7 +38,7 @@
+ CAN_BUILD=""
+ for VERS in $LINUX_VERS ; do
+-      dir=$LINUX_SRCDIR$VERS
++      dir=$LINUX_SRCDIR
+       if [ ! -d $dir ] ; then
+           dir=$LINUX_SRCDIR
+           if [ ! -d $dir ] ; then
+@@ -47,7 +47,7 @@
+               continue
+                   fi
+       fi
+-      header=$LINUX_SRCDIR$VERS/include/linux/version.h
++      header=$LINUX_SRCDIR/include/linux/version.h
+       if [ ! -f $header ] ; then
+           header=$LINUX_SRCDIR/include/linux/version.h
+           if [ ! -f $header ] ; then
+--- openafs.orig/src/libafs/MakefileProto.LINUX.in
++++ openafs/src/libafs/MakefileProto.LINUX.in
+@@ -222,8 +222,8 @@
  
  # Below this line are targets when in the COMMON directory:
  # For Linux there is no kernel NFS server.
@@ -19,7 +36,7 @@ Probably not acceptable upstream.
  LIBAFS_EP = libafs-${CLIENT}.ep.${LINUX_MODULE_EXT}
  LIBAFS_BM = libafs-${CLIENT}.bm.${LINUX_MODULE_EXT}
  
-@@ -226,10 +226,8 @@
+@@ -232,10 +232,8 @@
  INST_LIBAFS_EP = ${DESTDIR}${afskerneldir}/${LIBAFS_EP}
  INST_LIBAFS_BM = ${DESTDIR}${afskerneldir}/${LIBAFS_BM}
  
@@ -32,7 +49,7 @@ Probably not acceptable upstream.
  
  
  libafs:       $(LIBAFS) 
-@@ -245,11 +243,11 @@
+@@ -251,11 +249,11 @@
        echo BM Build Complete
  
  <linux26 linux_26 umlinux26>
diff --git a/src/packaging/Debian/patches/multiple-local-realms b/src/packaging/Debian/patches/multiple-local-realms
new file mode 100644 (file)
index 0000000..c265561
--- /dev/null
@@ -0,0 +1,578 @@
+Enable listing multiple realms in the server krb.conf file.  Up to four
+realms may be treated as local in that fashion for authorization
+purposes (instead of the single realm supported without this patch).
+
+This upstream patch is in the 1.5 series but not in 1.4.  However, it
+has been working in production at Stanford University for some time.
+
+--- openafs.orig/src/audit/audit.c
++++ openafs/src/audit/audit.c
+@@ -447,12 +447,43 @@
+                     }
+                     if ((clen = strlen(tcell))) {
+ #if defined(AFS_ATHENA_STDENV) || defined(AFS_KERBREALM_ENV)
+-                        static char local_realm[AFS_REALM_SZ] = "";
+-                        if (!local_realm[0]) {
+-                            if (afs_krb_get_lrealm(local_realm, 0) != 0 /*KSUCCESS*/)
+-                                strncpy(local_realm, "UNKNOWN.LOCAL.REALM", AFS_REALM_SZ);
++                        static char local_realms[AFS_NUM_LREALMS][AFS_REALM_SZ];
++                      static int  num_lrealms = -1;
++                      int i, lrealm_match;
++
++                      if (num_lrealms == -1) {
++                          for (i=0; i<AFS_NUM_LREALMS; i++) {
++                              if (afs_krb_get_lrealm(local_realms[i], i) != 0 /*KSUCCESS*/)
++                                  break;
++                          }
++
++                          if (i == 0)
++                              strncpy(local_realms[0], "UNKNOWN.LOCAL.REALM", AFS_REALM_SZ);
++                          num_lrealms = i;
+                         }
+-                        if (strcasecmp(local_realm, tcell)) {
++
++                      /* Check to see if the ticket cell matches one of the local realms */
++                      lrealm_match = 0;
++                      for ( i=0;i<num_lrealms;i++ ) {
++                          if (!strcasecmp(local_realms[i], tcell)) {
++                              lrealm_match = 1;
++                              break;
++                          }
++                      }
++                      /* If yes, then make sure that the name is not present in
++                       * an exclusion list */
++                      if (lrealm_match) {
++                          char uname[256];
++                          if (inst[0])
++                              snprintf(uname,sizeof(uname),"%s.%s@%s",name,inst,tcell);
++                          else
++                              snprintf(uname,sizeof(uname),"%s@%s",name,tcell);
++
++                          if (afs_krb_exclusion(uname))
++                              lrealm_match = 0;
++                      }
++
++                      if (!lrealm_match) {
+                             if (strlen(vname) + 1 + clen >= sizeof(vname))
+                                 goto done;
+                             strcat(vname, "@");
+--- openafs.orig/src/auth/userok.c
++++ openafs/src/auth/userok.c
+@@ -403,7 +403,9 @@
+       afs_uint32 exp;
+       static char lcell[MAXCELLCHARS] = "";
+-      static char lrealm[AFS_REALM_SZ] = "";
++      static char lrealms[AFS_NUM_LREALMS][AFS_REALM_SZ];
++      static int  num_lrealms = -1;
++      int lrealm_match = 0, i;
+       /* get auth details from server connection */
+       code =
+@@ -440,11 +442,40 @@
+       /* if running a krb environment, also get the local realm */
+       /* note - this assumes AFS_REALM_SZ <= MAXCELLCHARS */
+       /* just set it to lcell if it fails */
+-      if (!lrealm[0]) {
+-          if (afs_krb_get_lrealm(lrealm, 0) != 0)     /* KSUCCESS */
+-              strncpy(lrealm, lcell, AFS_REALM_SZ);
++      if (num_lrealms == -1) {
++          for (i=0; i<AFS_NUM_LREALMS; i++) {
++              if (afs_krb_get_lrealm(lrealms[i], i) != 0 /*KSUCCESS*/)
++                  break;
++          }
++
++          if (i == 0) {
++              strncpy(lrealms[0], lcell, AFS_REALM_SZ);
++              num_lrealms = 1;
++          } else {
++              num_lrealms = i;
++          }
+       }
++      /* See if the ticket cell matches one of the local realms */
++      lrealm_match = 0;
++      for ( i=0;i<num_lrealms;i++ ) {
++          if (!strcasecmp(lrealms[i], tcell)) {
++              lrealm_match = 1;
++              break;
++          }
++      }
++
++      /* If yes, then make sure that the name is not present in
++       * an exclusion list */
++      if (lrealm_match) {
++          if (tinst[0])
++              snprintf(uname,sizeof(uname),"%s.%s@%s",tname,tinst,tcell);
++          else
++              snprintf(uname,sizeof(uname),"%s@%s",tname,tcell);
++
++          if (afs_krb_exclusion(uname))
++              lrealm_match = 0;
++      }
+       /* start with no uname and no authorization */
+       strcpy(uname, "");
+@@ -456,8 +487,8 @@
+           strcpy(uname, "<LocalAuth>");
+           flag = 1;
+-          /* cell of connection matches local cell or krb4 realm */
+-      } else if (!strcasecmp(tcell, lcell) || !strcasecmp(tcell, lrealm)) {
++          /* cell of connection matches local cell or one of the realms */
++      } else if (!strcasecmp(tcell, lcell) || lrealm_match) {
+           if ((tmp = CompFindUser(adir, tname, ".", tinst, NULL))) {
+               strcpy(uname, tmp);
+               flag = 1;
+@@ -467,7 +498,6 @@
+               flag = 1;
+ #endif
+           }
+-
+           /* cell of conn doesn't match local cell or realm */
+       } else {
+           if ((tmp = CompFindUser(adir, tname, ".", tinst, tcell))) {
+--- openafs.orig/src/config/afs_sysnames.h
++++ openafs/src/config/afs_sysnames.h
+@@ -286,4 +286,6 @@
+ #ifdef        AFS_KERBREALM_ENV
+ #define       AFS_REALM_SZ            64
+ #endif
++/* Specifies the number of equivalent local realm names */
++#define AFS_NUM_LREALMS         4
+ #endif /* __AFS_SYSNAMES_INCL_ENV_ */
+--- openafs.orig/src/ptserver/ptprocs.c
++++ openafs/src/ptserver/ptprocs.c
+@@ -93,6 +93,7 @@
+ extern afs_int32 Initdb();
+ extern int pr_noAuth;
+ extern afs_int32 initd;
++extern char *pr_realmName;
+ afs_int32 iNewEntry(), newEntry(), whereIsIt(), dumpEntry(), addToGroup(),
+ nameToID(), Delete(), removeFromGroup();
+ afs_int32 getCPS(), getCPS2(), getHostCPS(), listMax(), setMax(), listEntry();
+@@ -178,22 +179,9 @@
+       if (exp < FT_ApproxTime())
+           goto done;
+ #endif
+-      if (strlen(tcell)) {
+-          extern char *pr_realmName;
+-#if   defined(AFS_ATHENA_STDENV) || defined(AFS_KERBREALM_ENV)
+-          static char local_realm[AFS_REALM_SZ] = "";
+-          if (!local_realm[0]) {
+-              if (afs_krb_get_lrealm(local_realm, 0) != 0 /*KSUCCESS*/)
+-                  strncpy(local_realm, pr_realmName, AFS_REALM_SZ);
+-          }
+-#endif
+-          if (
+-#if   defined(AFS_ATHENA_STDENV) || defined(AFS_KERBREALM_ENV)
+-                 strcasecmp(local_realm, tcell) &&
+-#endif
+-                 strcasecmp(pr_realmName, tcell))
+-              foreign = 1;
+-      }
++      if (tcell[0])
++          foreign = afs_is_foreign_ticket_name(name,inst,tcell,pr_realmName);
++
+       strncpy(vname, name, sizeof(vname));
+       if (ilen = strlen(inst)) {
+           if (strlen(vname) + 1 + ilen >= sizeof(vname))
+@@ -640,7 +628,24 @@
+       ABORT_WITH(tt, code);
+     for (i = 0; i < aname->namelist_len; i++) {
+-      code = NameToID(tt, aname->namelist_val[i], &aid->idlist_val[i]);
++      char vname[256];
++      char *nameinst, *cell;
++
++      strncpy(vname, aname->namelist_val[i], sizeof(vname));
++      vname[sizeof(vname)-1] ='\0';
++
++      nameinst = vname;
++      cell = strchr(vname, '@');
++      if (cell) {
++          *cell = '\0';
++          cell++;
++      }
++
++      if (cell && afs_is_foreign_ticket_name(nameinst,NULL,cell,pr_realmName))
++          code = NameToID(tt, aname->namelist_val[i], &aid->idlist_val[i]);
++      else
++          code = NameToID(tt, nameinst, &aid->idlist_val[i]);
++
+       if (code != PRSUCCESS)
+           aid->idlist_val[i] = ANONYMOUSID;
+         osi_audit(PTS_NmToIdEvent, code, AUD_STR,
+@@ -2281,7 +2286,6 @@
+ }
+ #endif /* IP_WILDCARDS */
+-
+ afs_int32
+ WhoIsThisWithName(acall, at, aid, aname)
+      struct rx_call *acall;
+@@ -2309,11 +2313,12 @@
+     } else if (code == 2) {   /* kad class */
+       int clen;
+-      extern char *pr_realmName;
+       if ((code = rxkad_GetServerInfo(acall->conn, NULL, 0 /*was &exp */ ,
+                                       name, inst, tcell, NULL)))
+           goto done;
++
++
+       strncpy(vname, name, sizeof(vname));
+       if ((ilen = strlen(inst))) {
+           if (strlen(vname) + 1 + ilen >= sizeof(vname))
+@@ -2322,19 +2327,9 @@
+           strcat(vname, inst);
+       }
+       if ((clen = strlen(tcell))) {
++          int foreign = afs_is_foreign_ticket_name(name,inst,tcell,pr_realmName);
+-#if   defined(AFS_ATHENA_STDENV) || defined(AFS_KERBREALM_ENV)
+-          static char local_realm[AFS_REALM_SZ] = "";
+-          if (!local_realm[0]) {
+-              if (afs_krb_get_lrealm(local_realm, 0) != 0 /*KSUCCESS*/)
+-                  strncpy(local_realm, pr_realmName, AFS_REALM_SZ);
+-          }
+-#endif
+-          if (
+-#if   defined(AFS_ATHENA_STDENV) || defined(AFS_KERBREALM_ENV)
+-                 strcasecmp(local_realm, tcell) &&
+-#endif
+-                 strcasecmp(pr_realmName, tcell)) {
++          if (foreign) {
+               if (strlen(vname) + 1 + clen >= sizeof(vname))
+                   goto done;
+               strcat(vname, "@");
+--- openafs.orig/src/util/afsutil_prototypes.h
++++ openafs/src/util/afsutil_prototypes.h
+@@ -74,7 +74,8 @@
+ /* get_krbrlm.c */
+ extern int afs_krb_get_lrealm(char *r, int n);
+-
++extern int afs_krb_exclusion(char *name);
++extern int afs_is_foreign_ticket_name(char *tname, char *tinst, char * tcell, char *localrealm);
+ /* hostparse.c */
+ extern struct hostent *hostutil_GetHostByName(register char *ahost);
+ extern char *hostutil_GetNameByINet(afs_uint32 addr);
+--- openafs.orig/src/util/dirpath.c
++++ openafs/src/util/dirpath.c
+@@ -365,6 +365,8 @@
+     pathp = dirPathArray[AFSDIR_SERVER_MIGRATELOG_FILEPATH_ID];
+     AFSDIR_SERVER_FILEPATH(pathp, AFSDIR_MIGR_DIR, AFSDIR_MIGRATE_LOGNAME);
++    pathp = dirPathArray[AFSDIR_SERVER_KRB_EXCL_FILEPATH_ID];
++    AFSDIR_SERVER_FILEPATH(pathp, AFSDIR_SERVER_ETC_DIR, AFSDIR_KRB_EXCL_FILE);
+     /* client file paths */
+ #ifdef AFS_NT40_ENV
+--- openafs.orig/src/util/dirpath.hin
++++ openafs/src/util/dirpath.hin
+@@ -144,6 +144,7 @@
+ #define AFSDIR_BOSVR_FILE       "bosserver"
+ #define AFSDIR_VOLSERLOG_FILE   "VolserLog"
+ #define AFSDIR_AUDIT_FILE       "Audit"
++#define AFSDIR_KRB_EXCL_FILE    "krb.excl"
+ #define AFSDIR_ROOTVOL_FILE     "RootVolume"
+ #define AFSDIR_HOSTDUMP_FILE    "hosts.dump"
+@@ -262,6 +263,7 @@
+       AFSDIR_SERVER_MIGRATELOG_FILEPATH_ID,
+       AFSDIR_SERVER_BIN_FILE_DIRPATH_ID,
+       AFSDIR_CLIENT_CELLALIAS_FILEPATH_ID,
++      AFSDIR_SERVER_KRB_EXCL_FILEPATH_ID,
+       AFSDIR_PATHSTRING_MAX } afsdir_id_t;
+ /* getDirPath() returns a pointer to a string from an internal array of path strings 
+@@ -329,6 +331,7 @@
+ #define AFSDIR_SERVER_WEIGHTING_CONSTANTS_FILEPATH getDirPath(AFSDIR_SERVER_WEIGHTING_CONSTANTS_FILEPATH_ID)
+ #define AFSDIR_SERVER_THRESHOLD_CONSTANTS_FILEPATH getDirPath(AFSDIR_SERVER_THRESHOLD_CONSTANTS_FILEPATH_ID)
+ #define AFSDIR_SERVER_MIGRATELOG_FILEPATH getDirPath(AFSDIR_SERVER_MIGRATELOG_FILEPATH_ID)
++#define AFSDIR_SERVER_KRB_EXCL_FILEPATH getDirPath(AFSDIR_SERVER_KRB_EXCL_FILEPATH_ID)
+ /* client file paths */
+ #define AFSDIR_CLIENT_THISCELL_FILEPATH getDirPath(AFSDIR_CLIENT_THISCELL_FILEPATH_ID)
+--- openafs.orig/src/util/dirpath_nt.h
++++ openafs/src/util/dirpath_nt.h
+@@ -135,6 +135,7 @@
+ #define AFSDIR_BOSVR_FILE       "bosserver"
+ #define AFSDIR_VOLSERLOG_FILE   "VolserLog"
+ #define AFSDIR_AUDIT_FILE       "Audit"
++#define AFSDIR_KRB_EXCL_FILE    "krb.excl"
+ #define AFSDIR_ROOTVOL_FILE     "RootVolume"
+ #define AFSDIR_HOSTDUMP_FILE    "hosts.dump"
+@@ -257,6 +258,7 @@
+     AFSDIR_SERVER_MIGRATELOG_FILEPATH_ID,
+     AFSDIR_SERVER_BIN_FILE_DIRPATH_ID,
+     AFSDIR_CLIENT_CELLALIAS_FILEPATH_ID,
++    AFSDIR_SERVER_KRB_EXCL_FILEPATH_ID,
+     AFSDIR_PATHSTRING_MAX
+ } afsdir_id_t;
+@@ -325,6 +327,7 @@
+ #define AFSDIR_SERVER_WEIGHTING_CONSTANTS_FILEPATH getDirPath(AFSDIR_SERVER_WEIGHTING_CONSTANTS_FILEPATH_ID)
+ #define AFSDIR_SERVER_THRESHOLD_CONSTANTS_FILEPATH getDirPath(AFSDIR_SERVER_THRESHOLD_CONSTANTS_FILEPATH_ID)
+ #define AFSDIR_SERVER_MIGRATELOG_FILEPATH getDirPath(AFSDIR_SERVER_MIGRATELOG_FILEPATH_ID)
++#define AFSDIR_SERVER_KRB_EXCL_FILEPATH getDirPath(AFSDIR_SERVER_KRB_EXCL_FILEPATH_ID)
+ /* client file paths */
+ #define AFSDIR_CLIENT_THISCELL_FILEPATH getDirPath(AFSDIR_CLIENT_THISCELL_FILEPATH_ID)
+--- openafs.orig/src/util/get_krbrlm.c
++++ openafs/src/util/get_krbrlm.c
+@@ -26,21 +26,148 @@
+ #define       KSUCCESS        0
+ #define       KFAILURE        (-1)
++static char *
++parse_str(char *buffer, char *result, int size)
++{
++    int n=0;
++
++    if (!buffer)
++        goto cleanup;
++
++    while (*buffer && isspace(*buffer))
++        buffer++;
++    while (*buffer && !isspace(*buffer)) {
++      if (n < size - 1) {
++          *result++=*buffer++;
++          n++;
++      } else {
++          buffer++;
++      }
++    }
++
++  cleanup:
++    *result='\0';
++    return buffer;
++}
++
++
+ int
+ afs_krb_get_lrealm(char *r, int n)
+ {
++    char linebuf[2048];
++    char tr[AFS_REALM_SZ] = "";
++    char *p;
+     FILE *cnffile/*, *fopen()*/;
++    int i;
++    int rv = KFAILURE;
+-    if (n > 1)
+-      return (KFAILURE);      /* Temporary restriction */
++    *r = '\0';
+     if ((cnffile = fopen(AFSDIR_SERVER_KCONF_FILEPATH, "r")) == NULL) {
+       return (KFAILURE);
+     }
+-    if (fscanf(cnffile, "%s", r) != 1) {
+-      (void)fclose(cnffile);
+-      return (KFAILURE);
++    if (fgets(linebuf, sizeof(linebuf)-1, cnffile) == NULL) {
++      goto cleanup;
++    }
++    linebuf[sizeof(linebuf)-1] = '\0';
++    for (i=0, p=linebuf; i<=n && *p; i++) {
++        p = parse_str(p, tr, AFS_REALM_SZ);
++    }
++
++    if (*tr) {
++      strcpy(r,tr);
++      rv = KSUCCESS;
++    }
++
++  cleanup:
++    (void)fclose(cnffile);
++    return rv;
++}
++
++int
++afs_krb_exclusion(char * name)
++{
++    char linebuf[2048];
++    char excl_name[256] = "";
++    FILE *cnffile/*, *fopen()*/;
++    int exclude = 0;
++
++    if ((cnffile = fopen(AFSDIR_SERVER_KRB_EXCL_FILEPATH, "r")) == NULL)
++      return exclude;
++
++    for (;;) {
++      if (fgets(linebuf, sizeof(linebuf)-1, cnffile) == NULL) {
++          goto cleanup;
++      }
++      linebuf[sizeof(linebuf)-1] = '\0';
++        parse_str(linebuf, excl_name, sizeof(excl_name));
++
++      if (!strcmp(name,excl_name)) {
++          exclude = 1;
++          break;
++      }
+     }
++
++  cleanup:
+     (void)fclose(cnffile);
+-    return (KSUCCESS);
++    return exclude;
++}
++
++int
++afs_is_foreign_ticket_name(char *tname, char *tinst, char * tcell, char *localrealm)
++{
++    int foreign = 0;
++
++    if (localrealm && strcasecmp(localrealm, tcell))
++      foreign = 1;
++
++#if   defined(AFS_ATHENA_STDENV) || defined(AFS_KERBREALM_ENV)
++    if (foreign) {
++      static char local_realms[AFS_NUM_LREALMS][AFS_REALM_SZ];
++      static int  num_lrealms = -1;
++      int lrealm_match, i;
++      char uname[256];
++
++      if (num_lrealms == -1) {
++          for (i=0; i<AFS_NUM_LREALMS; i++) {
++              if (afs_krb_get_lrealm(local_realms[i], i) != 0 /*KSUCCESS*/)
++                  break;
++          }
++
++          if (i==0 && localrealm) {
++              strncpy(local_realms[0], localrealm, AFS_REALM_SZ);
++              num_lrealms = 1;
++          } else {
++              num_lrealms = i;
++          }
++      }
++
++      /* See if the ticket cell matches one of the local realms */
++      lrealm_match = 0;
++      for ( i=0;i<num_lrealms;i++ ) {
++          if (!strcasecmp(local_realms[i], tcell)) {
++              lrealm_match = 1;
++              break;
++          }
++      }
++
++      /* If yes, then make sure that the name is not present in
++       * an exclusion list */
++      if (lrealm_match) {
++          if (tinst && tinst[0])
++              snprintf(uname,sizeof(uname),"%s.%s@%s",tname,tinst,tcell);
++          else
++              snprintf(uname,sizeof(uname),"%s@%s",tname,tcell);
++
++          if (afs_krb_exclusion(uname))
++              lrealm_match = 0;
++      }
++
++      foreign = !lrealm_match;
++    }
++#endif
++    return foreign;
+ }
++
++
++
+--- openafs.orig/src/util/test/dirpath_test.c
++++ openafs/src/util/test/dirpath_test.c
+@@ -124,6 +124,8 @@
+          AFSDIR_SERVER_FILELOG_FILEPATH);
+     printf("AFSDIR_SERVER_AUDIT_FILEPATH = %s\n",
+          AFSDIR_SERVER_AUDIT_FILEPATH);
++    printf("AFSDIR_SERVER_KRB_EXCL_FILEPATH  = %s\n",
++         AFSDIR_SERVER_KRB_EXCL_FILEPATH);
+     printf("\n");
+     printf("\n");
+     printf("AFSDIR_CLIENT_THISCELL_FILEPATH = %s\n",
+--- openafs.orig/src/viced/host.c
++++ openafs/src/viced/host.c
+@@ -1793,7 +1793,8 @@
+ static char localcellname[PR_MAXNAMELEN + 1];
+-char local_realm[AFS_REALM_SZ] = "";
++char local_realms[AFS_NUM_LREALMS][AFS_REALM_SZ];
++int  num_lrealms = -1;
+ /* not reentrant */
+ void
+@@ -1801,13 +1802,26 @@
+ {
+     memset(&nulluuid, 0, sizeof(afsUUID));
+     afsconf_GetLocalCell(confDir, localcellname, PR_MAXNAMELEN);
+-    if (!local_realm[0]) {
+-      if (afs_krb_get_lrealm(local_realm, 0) != 0 /*KSUCCESS*/) {
++    if (num_lrealms == -1) {
++       int i;
++       for (i=0; i<AFS_NUM_LREALMS; i++) {
++         if (afs_krb_get_lrealm(local_realms[i], i) != 0 /*KSUCCESS*/)
++             break;
++       }
++
++       if (i == 0) {
+           ViceLog(0,
+                   ("afs_krb_get_lrealm failed, using %s.\n",
+                    localcellname));
+-          strcpy(local_realm, localcellname);
++          strncpy(local_realms[0], localcellname, AFS_REALM_SZ);
++          num_lrealms = i =1;
++      } else {
++          num_lrealms = i;
+       }
++
++      /* initialize the rest of the local realms to nullstring for debugging */
++      for (; i<AFS_NUM_LREALMS; i++)
++          local_realms[i][0] = '\0';
+     }
+     rxcon_ident_key = rx_KeyCreate((rx_destructor_t) free);
+     rxcon_client_key = rx_KeyCreate((rx_destructor_t) 0);
+@@ -1837,11 +1851,10 @@
+     cnamelen = strlen(acell);
+     if (cnamelen) {
+-      if (strcasecmp(local_realm, acell)
+-          && strcasecmp(localcellname, acell)) {
++      if (afs_is_foreign_ticket_name(aname, NULL, acell, localcellname)) {
+           ViceLog(2,
+-                  ("MapName: cell is foreign.  cell=%s, localcell=%s, localrealm=%s\n",
+-                   acell, localcellname, local_realm));
++                  ("MapName: cell is foreign.  cell=%s, localcell=%s, localrealms={%s,%s,%s,%s}\n",
++                  acell, localcellname, local_realms[0],local_realms[1],local_realms[2],local_realms[3]));
+           if ((anamelen + cnamelen + 1) >= PR_MAXNAMELEN) {
+               ViceLog(2,
+                       ("MapName: Name too long, using AnonymousID for %s@%s\n",
+--- openafs.orig/src/viced/viced.c
++++ openafs/src/viced/viced.c
+@@ -1077,7 +1077,8 @@
+               return -1;
+           }
+       } else if (!strcmp(argv[i], "-realm")) {
+-          extern char local_realm[AFS_REALM_SZ];
++          extern char local_realms[AFS_NUM_LREALMS][AFS_REALM_SZ];
++          extern int  num_lrealms;
+           if ((i + 1) >= argc) {
+               fprintf(stderr, "missing argument for -realm\n"); 
+               return -1; 
+@@ -1088,7 +1089,15 @@
+                    AFS_REALM_SZ);
+               return -1;
+           }
+-          strncpy(local_realm, argv[i], AFS_REALM_SZ);
++          if (num_lrealms == -1)
++              num_lrealms = 0;
++          if (num_lrealms >= AFS_NUM_LREALMS) {
++              printf
++                  ("a maximum of %d -realm arguments can be specified.\n",
++                   AFS_NUM_LREALMS);
++              return -1;
++          }
++          strncpy(local_realms[num_lrealms++], argv[i], AFS_REALM_SZ);
+       } else if (!strcmp(argv[i], "-udpsize")) {
+           if ((i + 1) >= argc) {
+               printf("You have to specify -udpsize <integer value>\n");
diff --git a/src/packaging/Debian/patches/no-admin-reference b/src/packaging/Debian/patches/no-admin-reference
new file mode 100644 (file)
index 0000000..5a3df4b
--- /dev/null
@@ -0,0 +1,13 @@
+The Admin Reference has now been completely replaced by the man pages, so
+don't refer to it since we'll no longer bother to install it.
+
+--- openafs.orig/doc/html/index.htm
++++ openafs/doc/html/index.htm
+@@ -24,7 +24,6 @@
+ <P>Included:
+ <DL COMPACT>
+ <DD><A HREF="AdminGuide/auagd000.htm">AFS Administrator's Guide</A>
+-<DD><A HREF="AdminReference/auarf000.htm">AFS Administration Reference</A>
+ <DD><A HREF="QuickStartUnix/auqbg000.htm">AFS Quick Start Guide for UNIX</A>
+ <DD><A HREF="QuickStartWindows/awqbg000.htm">AFS Quick Start Guide for Windows NT/2000</A>
+ <DD><A HREF="UserGuide/auusg000.htm">AFS User's Guide</A>
diff --git a/src/packaging/Debian/patches/pam b/src/packaging/Debian/patches/pam
deleted file mode 100644 (file)
index c0f00b0..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-The standard upstream source builds the PAM modules against static
-libraries, which means they contain non-PIC code.  This isn't allowed by
-Debian Policy and doesn't work on some supported platforms.
-
-Two approaches for fixing this have been tried.  One is to rebuild the
-various object files that are part of the libraries PIC and then link with
-those object files.  The other, which this implements, is to link with the
-object files used to create the libafsauthent and libafsrpc shared
-libraries (which can't be shipped since they don't have a stable API or
-correct SONAME).  The latter means that the PAM modules must also be
-linked with libpthread, but that's a feature since that means they'll work
-with sshd built threaded.
-
-Not submitted upstream yet.  The call to rx_Init should be submitted
-upstream and would probably be accepted.  Upstream would probably rather
-link the PAM modules against the shared libraries rather than accepting
-this hack, which is unsuitable for Debian until the shared libraries are
-handled more consistently.
-
---- openafs-1.3.87.orig/src/pam/Makefile.in
-+++ openafs-1.3.87/src/pam/Makefile.in
-@@ -25,7 +25,17 @@
-         afs_pam_msg.o afs_message.o AFS_component_version_number.o
-    OBJS = $(SHOBJS) test_pam.o
- INCLUDES=-I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} 
--CFLAGS =  ${DEBUG} ${INCLUDES} ${PAM_CFLAGS}
-+CFLAGS =  ${DEBUG} ${INCLUDES} ${PAM_CFLAGS} ${MT_CFLAGS}
-+
-+# For Debian, we link directly with the object files that would have gone
-+# into the libafsrpc and libafsauthent shared libraries.  The shared libraries
-+# themselves cannot be used because the interface isn't stable and they have
-+# no SONAME, but this is the easiest way of getting PIC objects built with the
-+# pthread API.
-+SHLIB_OBJS    := `ls ../shlibafsauthent/*.o | grep -v version_num` \
-+                 `ls ../shlibafsrpc/*.o | grep -v version_num`
-+KRB_SHLIB_OBJS        := `ls ../shlibafsauthent/*.o | egrep -v 'version_num|ktc.o'` \
-+                 `ls ../shlibafsrpc/*.o | grep -v version_num`
- all: test_pam ${TOP_LIBDIR}/pam_afs.so.1 ${TOP_LIBDIR}/pam_afs.krb.so.1
-@@ -39,14 +49,18 @@
-       ${CC} ${CFLAGS} -c ${srcdir}/afs_auth.c -o afs_auth.o
- afs_auth_krb.o: afs_auth.c afs_pam_msg.h afs_message.h afs_util.h
--      ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_auth.c -o afs_auth_krb.o
-+      ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV  -c ${srcdir}/afs_auth.c -o afs_auth_krb.o
- afs_util.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
-       ${CC} ${CFLAGS} -c ${srcdir}/afs_util.c -o afs_util.o
-+
- afs_util_krb.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
-       ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_util.c -o afs_util_krb.o
-+ktc.o: ${srcdir}/../auth/ktc.c
-+      ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/../auth/ktc.c
-+
- pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o
-       set -x; \
-       case "$(SYS_NAME)" in \
-@@ -59,8 +73,9 @@
-                       afs_setcred.o afs_auth.o afs_util.o \
-                       $(SHOBJS) $(LIBS) ;; \
-       *linux*) \
--              $(CC) $(LDFLAGS) -o $@ afs_setcred.o \
--                      afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;;\
-+              $(CC) $(LDFLAGS) $(PAM_CFLAGS) -o $@ afs_setcred.o \
-+                      afs_auth.o afs_util.o $(SHOBJS) $(SHLIB_OBJS) \
-+                      $(MT_LIBS) -lpam -lresolv;;\
-       *fbsd*| *nbsd*) \
-               $(CC) $(LDFLAGS) -o $@ afs_setcred.o \
-                       afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;;\
-@@ -68,7 +83,7 @@
-               echo No link line for system $(SYS_NAME). ;; \
-       esac
--pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o
-+pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o ktc.o
-       set -x; \
-       case "$(SYS_NAME)" in \
-       hp_ux* | ia64_hpux*) \
-@@ -81,7 +96,8 @@
-                       $(SHOBJS) $(LDFLAGS) $(KLIBS) ;; \
-       *linux*) \
-               $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \
--                      afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\
-+                      afs_auth_krb.o afs_util_krb.o ktc.o $(SHOBJS) \
-+                      $(KRB_SHLIB_OBJS) $(MT_LIBS) -lpam -lresolv;;\
-       *fbsd*| *nbsd*) \
-               $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \
-                       afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\
---- openafs-1.3.87.orig/src/pam/afs_setcred.c
-+++ openafs-1.3.87/src/pam/afs_setcred.c
-@@ -52,7 +52,7 @@
-     int refresh_token = 0;
-     int set_expires = 0;      /* the default is to not to set the env variable */
-     int use_klog = 0;
--    int i;
-+    int i, code;
-     struct pam_conv *pam_convp = NULL;
-     char my_password_buf[256];
-     char *cell_ptr = NULL;
-@@ -281,6 +281,11 @@
- #endif
-       }
-+      if ((code = rx_Init(0)) != 0) {
-+          pam_afs_syslog(LOG_ERR, PAMAFS_KAERROR, code);
-+          RET(PAM_AUTH_ERR);
-+      }
-+
-       if (flags & PAM_REFRESH_CRED) {
-           if (use_klog) {
-               auth_ok = !do_klog(user, password, "00:00:01", cell_ptr);
---- openafs-1.3.87.orig/src/pam/afs_auth.c
-+++ openafs-1.3.87/src/pam/afs_auth.c
-@@ -314,6 +314,10 @@
-           if (cpid <= 0) {    /* The child process */
-               if (logmask && LOG_MASK(LOG_DEBUG))
-                   syslog(LOG_DEBUG, "in child");
-+              if ((code = rx_Init(0)) != 0) {
-+                  pam_afs_syslog(LOG_ERR, PAMAFS_KAERROR, code);
-+                  exit(0);
-+              }
-               if (refresh_token || set_token)
-                   code = ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION, user,        /* kerberos name */
-                                                     NULL,     /* instance */
-@@ -363,6 +367,10 @@
-           pam_afs_syslog(LOG_ERR, PAMAFS_PAMERROR, errno);
-       }
-     } else {                  /* dont_fork, used by httpd */
-+      if ((code = rx_Init(0)) != 0) {
-+          pam_afs_syslog(LOG_ERR, PAMAFS_KAERROR, code);
-+          RET(PAM_AUTH_ERR);
-+      }
-       if (logmask && LOG_MASK(LOG_DEBUG))
-           syslog(LOG_DEBUG, "dont_fork");
-       if (refresh_token || set_token)
---- openafs-1.3.87.orig/Makefile.in
-+++ openafs-1.3.87/Makefile.in
-@@ -507,8 +507,6 @@
- # pthread based user space RX library
- shlibafsrpc: rx rxkad des
-       case ${SYS_NAME} in \
--      amd64_linux24) \
--              echo Skipping shlibafsrpc for amd64_linux24 ;; \
-       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
-       ${COMPILE_PART1} shlibafsrpc ${COMPILE_PART2} ;; \
-       *) \
-@@ -517,8 +515,6 @@
- shlibafsauthent: ubik auth kauth shlibafsrpc
-       case ${SYS_NAME} in \
--      amd64_linux24) \
--              echo Skipping shlibafsauthent for amd64_linux24 ;; \
-       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
-       ${COMPILE_PART1} shlibafsauthent ${COMPILE_PART2} ;; \
-       *) \
diff --git a/src/packaging/Debian/patches/pam-build b/src/packaging/Debian/patches/pam-build
new file mode 100644 (file)
index 0000000..9000aab
--- /dev/null
@@ -0,0 +1,88 @@
+Apply an incredibly ugly hack to build the PAM modules against the shared
+objects generated for the shared libraries.  Not suitable upstream in its
+current form.  The right upstream solution is to standardize the shared
+library ABI and install it with a real SONAME, and then link the PAM
+modules against it.
+
+--- openafs.orig/Makefile.in
++++ openafs/Makefile.in
+@@ -515,8 +515,6 @@
+ # pthread based user space RX library
+ shlibafsrpc: rx rxkad des
+       case ${SYS_NAME} in \
+-      amd64_linux24) \
+-              echo Skipping shlibafsrpc for amd64_linux24 ;; \
+       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
+       ${COMPILE_PART1} shlibafsrpc ${COMPILE_PART2} ;; \
+       *) \
+@@ -525,8 +523,6 @@
+ shlibafsauthent: ubik auth kauth shlibafsrpc
+       case ${SYS_NAME} in \
+-      amd64_linux24) \
+-              echo Skipping shlibafsauthent for amd64_linux24 ;; \
+       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
+       ${COMPILE_PART1} shlibafsauthent ${COMPILE_PART2} ;; \
+       *) \
+--- openafs.orig/src/pam/Makefile.in
++++ openafs/src/pam/Makefile.in
+@@ -25,7 +25,17 @@
+         afs_pam_msg.o afs_message.o AFS_component_version_number.o
+    OBJS = $(SHOBJS) test_pam.o
+ INCLUDES=-I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} 
+-CFLAGS =  ${DEBUG} ${INCLUDES} ${PAM_CFLAGS}
++CFLAGS =  ${DEBUG} ${INCLUDES} ${PAM_CFLAGS} ${MT_CFLAGS}
++
++# For Debian, we link directly with the object files that would have gone
++# into the libafsrpc and libafsauthent shared libraries.  The shared libraries
++# themselves cannot be used because the interface isn't stable and they have
++# no SONAME, but this is the easiest way of getting PIC objects built with the
++# pthread API.
++SHLIB_OBJS    := `ls ../shlibafsauthent/*.o | grep -v version_num` \
++                 `ls ../shlibafsrpc/*.o | grep -v version_num`
++KRB_SHLIB_OBJS        := `ls ../shlibafsauthent/*.o | egrep -v 'version_num|ktc.o'` \
++                 `ls ../shlibafsrpc/*.o | grep -v version_num`
+ all: test_pam ${TOP_LIBDIR}/pam_afs.so.1 ${TOP_LIBDIR}/pam_afs.krb.so.1
+@@ -47,6 +57,9 @@
+ afs_util_krb.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
+       ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_util.c -o afs_util_krb.o
++ktc.o: ${srcdir}/../auth/ktc.c
++      ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/../auth/ktc.c
++
+ pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o
+       set -x; \
+       case "$(SYS_NAME)" in \
+@@ -59,8 +72,9 @@
+                       afs_setcred.o afs_auth.o afs_util.o \
+                       $(SHOBJS) $(LIBS) ;; \
+       *linux*) \
+-              $(CC) $(LDFLAGS) -o $@ afs_setcred.o \
+-                      afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;;\
++              $(CC) $(LDFLAGS) $(PAM_CFLAGS) -o $@ afs_setcred.o \
++                      afs_auth.o afs_util.o $(SHOBJS) $(SHLIB_OBJS) \
++                      $(MT_LIBS) -lpam -lresolv;;\
+       *fbsd*| *nbsd*) \
+               $(CC) $(LDFLAGS) -o $@ afs_setcred.o \
+                       afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;;\
+@@ -68,7 +82,7 @@
+               echo No link line for system $(SYS_NAME). ;; \
+       esac
+-pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o
++pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o ktc.o
+       set -x; \
+       case "$(SYS_NAME)" in \
+       hp_ux* | ia64_hpux*) \
+@@ -81,7 +95,8 @@
+                       $(SHOBJS) $(LDFLAGS) $(KLIBS) ;; \
+       *linux*) \
+               $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \
+-                      afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\
++                      afs_auth_krb.o afs_util_krb.o ktc.o $(SHOBJS) \
++                      $(KRB_SHLIB_OBJS) $(MT_LIBS) -lpam -lresolv;;\
+       *fbsd*| *nbsd*) \
+               $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \
+                       afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\
diff --git a/src/packaging/Debian/patches/paths b/src/packaging/Debian/patches/paths
new file mode 100644 (file)
index 0000000..4d9a27c
--- /dev/null
@@ -0,0 +1,16 @@
+Patch pt_util to use the correct Debian patch for the Protection Server
+database.  Not suitable upstream in its current form, but will be
+obsolete if upstream uses the standard functions to figure out the
+database path.
+
+--- openafs.orig/src/ptserver/pt_util.c
++++ openafs/src/ptserver/pt_util.c
+@@ -136,7 +136,7 @@
+     struct prentry uentry, gentry;
+     struct ubik_hdr *uh;
+     char *dfile = 0;
+-    char *pfile = "/usr/afs/db/prdb.DB0";
++    char *pfile = "/var/lib/openafs/db/prdb.DB0";
+     struct cmd_parmdesc *tparm;
+     tparm = a_as->parms;
diff --git a/src/packaging/Debian/patches/series b/src/packaging/Debian/patches/series
new file mode 100644 (file)
index 0000000..24b452d
--- /dev/null
@@ -0,0 +1,11 @@
+dfsg
+paths
+fstrace-paths
+module-name
+pam-build
+bos-permissions
+compiler-flags
+no-admin-reference
+find-core-files
+ktc-prototypes
+multiple-local-realms
diff --git a/src/packaging/Debian/patches/ucontext-everywhere b/src/packaging/Debian/patches/ucontext-everywhere
new file mode 100644 (file)
index 0000000..5e1e53f
--- /dev/null
@@ -0,0 +1,59 @@
+Build with UCONTEXT everywhere for current glibc.  Patch pulled from
+upstream stable branch, will be in 1.4.5.
+
+--- openafs.orig/src/config/param.alpha_linux_26.h
++++ openafs/src/config/param.alpha_linux_26.h
+@@ -81,6 +81,11 @@
+ #define SYS_NAME_ID    SYS_NAME_ID_alpha_linux_26
++#ifdef __GLIBC__
++#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 3)
++#define USE_UCONTEXT
++#endif
++#endif
+ #endif /* AFS_PARAM_H */
+                                    
+ #else /* !defined(UKERNEL) */
+--- openafs.orig/src/config/param.parisc_linux24.h
++++ openafs/src/config/param.parisc_linux24.h
+@@ -70,6 +70,11 @@
+ #endif
+ #endif /* KERNEL */
++#ifdef __GLIBC__
++#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 3)
++#define USE_UCONTEXT
++#endif
++#endif
+ #endif /* AFS_PARAM_H */
+ #else /* !defined(UKERNEL) */
+--- openafs.orig/src/config/param.s390_linux26.h
++++ openafs/src/config/param.s390_linux26.h
+@@ -86,6 +86,11 @@
+ #endif
+ #endif /* KERNEL */
++#ifdef __GLIBC__
++#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 3)
++#define USE_UCONTEXT
++#endif
++#endif
+ #endif /* AFS_PARAM_H */
+ #else /* !defined(UKERNEL) */
+--- openafs.orig/src/config/param.s390x_linux26.h
++++ openafs/src/config/param.s390x_linux26.h
+@@ -89,6 +89,11 @@
+ #endif
+ #endif /* KERNEL */
++#ifdef __GLIBC__
++#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 3)
++#define USE_UCONTEXT
++#endif
++#endif
+ #endif /* AFS_PARAM_H */
+ #else /* !defined(UKERNEL) */
index 1901ea7..88a481c 100644 (file)
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: openafs 1.4rc1-1\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-08-18 12:47-0700\n"
-"PO-Revision-Date: 2005-08-19 08:01+0200\n"
+"Project-Id-Version: openafs 1.4.1-3\n"
+"Report-Msgid-Bugs-To: hartmans@debian.org\n"
+"POT-Creation-Date: 2006-06-07 12:06-0700\n"
+"PO-Revision-Date: 2006-06-07 21:47+0200\n"
 "Last-Translator: Martin Sin <martin.sin@seznam.cz>\n"
 "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
@@ -26,8 +26,8 @@ msgstr ""
 #. Type: string
 #. Description
 #: ../openafs-client.templates:3
-msgid "What hosts are DB servers for your home cell?"
-msgstr "Které počítače jsou DB servery pro vaši domovskou buňku?"
+msgid "DB server host names for your home cell:"
+msgstr "Jména počítačů s DB serverem vaší domovské buňky:"
 
 #. Type: string
 #. Description
@@ -56,8 +56,8 @@ msgstr ""
 #. Type: string
 #. Description
 #: ../openafs-client.templates:16
-msgid "What AFS cell does this workstation belong to?"
-msgstr "Ke které buňce AFS bude tento počítač náležet?"
+msgid "AFS cell this workstation belongs to:"
+msgstr "Buňka AFS, ke které náleží tento počítač:"
 
 #. Type: string
 #. Description
@@ -74,8 +74,8 @@ msgstr ""
 #. Type: string
 #. Description
 #: ../openafs-client.templates:24
-msgid "How large is your AFS cache (kB)?"
-msgstr&nbs