$(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_* ) \
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 \
--- /dev/null
+>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
}
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
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
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.
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
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
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
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
-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:
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.
-
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
# 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");
# 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
+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.
* Initial Release.
-- unknown <hartmans@snorklewacker.mit.edu> Fri, 3 Nov 2000 23:41:41 -0500
-
-[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
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
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=
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:/#
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
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
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
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
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
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
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
.
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.
+++ /dev/null
-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
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
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
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.
*
* 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.
+++ /dev/null
-#!/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 ..
+++ /dev/null
-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
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
+++ /dev/null
-#!/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
--- /dev/null
+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
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)
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/.." \
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;
# 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
--- /dev/null
+#!/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
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*)
;;
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
+++ /dev/null
-#!/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
--- /dev/null
+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
+
+++ /dev/null
-/etc/openafs/afs.conf
-/etc/init.d/openafs-client
--- /dev/null
+#! /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
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
#! /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 \
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
;;
esac
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
#DEBHELPER#
exit 0
#! /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#
-
-
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
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.
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
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
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
+++ /dev/null
-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
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
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
--- /dev/null
+#! /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#
--- /dev/null
+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
--- /dev/null
+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/*
--- /dev/null
+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/*
--- /dev/null
+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/*
--- /dev/null
+doc/html
+doc/pdf
+doc/txt
--- /dev/null
+doc/examples/CellAlias
--- /dev/null
+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
+
+++ /dev/null
-/etc/init.d/openafs-fileserver
usr/share/doc
var/log/openafs
etc/openafs/server
-etc/openafs/server-local
-var/lib/openafs/cores
-
+var/lib/openafs/local
#! /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
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
-#!/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
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
#! /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#
-
+++ /dev/null
-#!/bin/sh
-set -e
-
-if [ upgrade = $1 ] ; then
- . /usr/share/debconf/confmodule
-fi
-#DEBHELPER#
-
-exit 0
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.
+++ /dev/null
-bosserver.8
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
+++ /dev/null
-kpasswd.1
-kas.1
--- /dev/null
+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
+++ /dev/null
-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)
+++ /dev/null
-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
+++ /dev/null
-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 */
+++ /dev/null
-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 =
+++ /dev/null
-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.
--- /dev/null
+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
+
--- /dev/null
+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;
+ }
+
--- /dev/null
+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 */
--- /dev/null
+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"
--- /dev/null
+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 \
--- /dev/null
+--- 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
--- /dev/null
+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)
--- /dev/null
+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 */
+
--- /dev/null
+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)])
++
-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.
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}
libafs: $(LIBAFS)
-@@ -245,11 +243,11 @@
+@@ -251,11 +249,11 @@
echo BM Build Complete
<linux26 linux_26 umlinux26>
--- /dev/null
+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");
--- /dev/null
+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>
+++ /dev/null
-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} ;; \
- *) \
--- /dev/null
+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) ;;\
--- /dev/null
+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;
--- /dev/null
+dfsg
+paths
+fstrace-paths
+module-name
+pam-build
+bos-permissions
+compiler-flags
+no-admin-reference
+find-core-files
+ktc-prototypes
+multiple-local-realms
--- /dev/null
+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) */
#
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"
#. 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
#. 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
#. Type: string
#. Description
#: ../openafs-client.templates:24
-msgid "How large is your AFS cache (kB)?"
-msgstr&nbs