debian-updates-20060323
authorDerrick Brashear <shadow@dementia.org>
Thu, 23 Mar 2006 21:06:18 +0000 (21:06 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 23 Mar 2006 21:06:18 +0000 (21:06 +0000)
from russ and sam

51 files changed:
src/packaging/Debian/CellServDB [new file with mode: 0644]
src/packaging/Debian/ConfigUtils.pm
src/packaging/Debian/README.Debian
src/packaging/Debian/README.modules
src/packaging/Debian/README.servers
src/packaging/Debian/TODO
src/packaging/Debian/afs-newcell
src/packaging/Debian/afs-rootvol
src/packaging/Debian/afs.conf [new file with mode: 0644]
src/packaging/Debian/changelog
src/packaging/Debian/compat [new file with mode: 0644]
src/packaging/Debian/control
src/packaging/Debian/control.module
src/packaging/Debian/copyright
src/packaging/Debian/doc/build-man [new file with mode: 0644]
src/packaging/Debian/genchanges.sh
src/packaging/Debian/kern-sysname
src/packaging/Debian/kernel-version [new file with mode: 0644]
src/packaging/Debian/libopenafs-dev.dirs [new file with mode: 0644]
src/packaging/Debian/libopenafs-dev.install [new file with mode: 0644]
src/packaging/Debian/libpam-openafs-kaserver.dirs [new file with mode: 0644]
src/packaging/Debian/openafs-client.config
src/packaging/Debian/openafs-client.docs
src/packaging/Debian/openafs-client.install [new file with mode: 0644]
src/packaging/Debian/openafs-client.lintian
src/packaging/Debian/openafs-client.postinst
src/packaging/Debian/openafs-client.templates
src/packaging/Debian/openafs-dbserver.dirs
src/packaging/Debian/openafs-dbserver.install [new file with mode: 0644]
src/packaging/Debian/openafs-dbserver.lintian [new file with mode: 0644]
src/packaging/Debian/openafs-fileserver.init
src/packaging/Debian/openafs-fileserver.install [new file with mode: 0644]
src/packaging/Debian/openafs-fileserver.lintian
src/packaging/Debian/openafs-fileserver.postinst
src/packaging/Debian/openafs-fileserver.postrm
src/packaging/Debian/openafs-fileserver.templates
src/packaging/Debian/openafs-kpasswd.install [new file with mode: 0644]
src/packaging/Debian/openafs-modules-source.docs
src/packaging/Debian/patches/README [new file with mode: 0644]
src/packaging/Debian/patches/module-name [new file with mode: 0644]
src/packaging/Debian/patches/pam [new file with mode: 0644]
src/packaging/Debian/po/POTFILES.in [new file with mode: 0644]
src/packaging/Debian/po/cs.po [new file with mode: 0644]
src/packaging/Debian/po/de.po [new file with mode: 0644]
src/packaging/Debian/po/fr.po [new file with mode: 0644]
src/packaging/Debian/po/pt_BR.po [new file with mode: 0644]
src/packaging/Debian/po/vi.po [new file with mode: 0644]
src/packaging/Debian/prep-modules
src/packaging/Debian/pt_util.sgml
src/packaging/Debian/rules
src/packaging/Debian/sysname

diff --git a/src/packaging/Debian/CellServDB b/src/packaging/Debian/CellServDB
new file mode 100644 (file)
index 0000000..2740b39
--- /dev/null
@@ -0,0 +1,559 @@
+>grand.central.org      #GCO Public CellServDB 15 Oct 2005
+18.7.14.88                      #grand-opening.mit.edu
+128.2.191.224                   #penn.central.org
+130.237.48.87                   #andrew.e.kth.se
+>wu-wien.ac.at          #University of Economics, Vienna, Austria
+137.208.3.33                    #afsdb1.wu-wien.ac.at
+137.208.8.12                    #caesar.wu-wien.ac.at
+137.208.127.33                  #buddy.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
+>itp.tugraz.at          #Institute for Theoretical Physics, TU Graz, Austria
+129.27.157.6                    #fubphsv2.tu-graz.ac.at
+129.27.161.7                    #faepsv01.tu-graz.ac.at
+129.27.161.15                   #faepsv02.tu-graz.ac.at
+>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.206.77                  #pcamsf2.cern.ch
+137.138.206.123                 #pcamsf4.cern.ch
+>epfl.ch                #Swiss Federal Institute of Technology at Lausanne
+128.178.2.6                     #kd1.epfl.ch
+128.178.2.7                     #kd2.epfl.ch
+128.178.2.8                     #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
+>mekinok.com            #Mekinok, Inc.
+4.36.43.98                      #loggerhead.mekinok.com
+>membrain.com           #membrain.com
+66.93.118.125                   #stormy
+130.85.24.11                    #weasel
+130.85.24.13                    #straykitten
+>midnightlinux.com      #Midnight Linux, Pittsburgh PA
+208.10.142.82                   #outpost.midnightlinux.com
+>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
+>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.160                    #lc00.rz.uni-jena.de
+141.35.7.9                      #fsuj01.rz.uni-jena.de
+141.35.7.10                     #zaphod.rz.uni-jena
+>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.30                    #fileserv3.rrz.uni-koeln.de
+134.95.67.97                    #afs.thp.uni-koeln.de
+134.95.140.190                  #rzkbserv.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
+>hep.caltech.edu        #CalTech High Energy Physics
+131.215.126.150                 #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.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.194.178                   #cherry.srv.cs.cmu.edu
+128.2.194.179                   #pumpkin.srv.cs.cmu.edu
+128.2.194.180                   #strawberry.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 Campus Cell
+204.194.25.7                    #afs1.qatar.cmu.edu
+204.194.25.8                    #afs2.qatar.cmu.edu
+>sbp.ri.cmu.edu         #Carnegie Mellon University - Sensor Based Planning Lab
+128.2.56.129                    #nihao.sbp.ri.cmu.edu
+128.2.56.136                    #youtheman.sbp.ri.cmu.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
+>eecs.harvard.edu       #Harvard - EECS
+140.247.60.61                   #zermelo.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.7.15.89                      #rattle.mit.edu.
+18.7.15.93                      #hum.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
+>cats.ucsc.edu          #UC Santa Cruz, Comm. and Tech. Services, California U.S.A
+128.114.129.14                  #elan.ucsc.edu
+128.114.129.15                  #ichabod.ucsc.edu
+128.114.129.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
+>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.106                  #linat06.grid.umich.edu
+141.211.43.109                  #atgrid.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
+>umr.edu                #University of Missouri - Rolla
+131.151.1.59                    #afsdb1.umr.edu
+131.151.1.70                    #afsdb3.umr.edu
+131.151.1.146                   #afsdb2.umr.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.13.7                     #as-sm2.uncc.edu
+152.15.30.27                    #fs-kenn3.uncc.edu
+>eng.utah.edu           #University of Utah - Engineering
+155.99.222.9                    #lenny.eng.utah.edu
+155.99.222.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
+>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
+>anl.gov                #Argonne National Laboratory
+146.137.96.33                   #arteus.ctd.anl.gov
+146.137.162.88                  #agamemnon.ctd.anl.gov
+146.137.194.80                  #antenor.ctd.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
+>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.92.236.139                   #afs.sinenomine.net
+>slackers.net           #The Slackers' Network
+63.201.48.27                    #alexandria.slackers.net
+>tproa.net              #The People's Republic of Ames
+209.234.76.70                   #service-3.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
+4.36.43.102                     #dol-guldur.1ts.org
+69.25.196.51                    #pancake.1ts.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
+>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
+>openafs.org            #OpenAFS Project
+18.7.14.88                      #grand-opening.mit.edu
+128.2.191.224                   #penn.central.org
+130.237.48.87                   #andrew.e.kth.se
+>e.kth.se               #Royal Institute of Technology, Elektro
+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.141                  #rasmus13.hallf.kth.se
+130.237.24.152                  #rasmus3.hallf.kth.se
+130.237.24.177                  #rasmus29.hallf.kth.se
+>isk.kth.se             #Royal Institute of Technology, ISK
+130.237.202.12                  #afsdb2.isk.kth.se
+130.237.206.13                  #afsdb1.isk.kth.se
+130.237.209.141                 #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.237.230                 #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
+>phy.bris.ac.uk         #Bristol University - phyics
+137.222.58.9                    #afs1.phy.bris.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
+openafs-fileserver: non-standard-dir-perm
+openafs-fileserver: non-standard-dir-perm
+openafs-fileserver: non-standard-dir-perm
+openafs-fileserver: non-standard-dir-perm
+openafs-fileserver: non-standard-dir-perm
+openafs-fileserver: non-standard-dir-perm
+openafs-fileserver: non-standard-dir-perm
+openafs-fileserver: non-standard-dir-perm
index 4d35047..ee49144 100644 (file)
@@ -24,3 +24,11 @@ sub run ($) {
         }
 
 1;
+openafs-dbserver: non-standard-dir-perm
+openafs-dbserver: non-standard-dir-perm
+openafs-dbserver: non-standard-dir-perm
+openafs-dbserver: non-standard-dir-perm
+openafs-dbserver: non-standard-dir-perm
+openafs-dbserver: non-standard-dir-perm
+openafs-dbserver: non-standard-dir-perm
+openafs-dbserver: non-standard-dir-perm
index 884fad6..755fa84 100644 (file)
-openafs for Debian
-----------------------
+                            OpenAFS for Debian
 
-* No manual pages are included.  I need to find out if versions exist
-  that are OK for copyright reasons.
+Introduction
 
-* Documentation can be found at http://www.openafs.org.  If want to
-set up a new cell, read the docs there and then look at the example
-session in configuration-transcript.txt.gz in this directory.  You
-should also read README.servers.  The procedure outlined in these two
-files is much simpler and more secure than the one in the Openafs
-documentation, but the Openafs documentation provides useful
-background.
+  For an OpenAFS client system, install openafs-client and a kernel
+  module.  See README.modules for information on how to build the kernel
+  module for your system.  Then, read /etc/openafs/afs.conf to understand
+  the client configuration options.  The openafs-client package will
+  attempt to guess at a good cache configuration based on the size of your
+  cache, but you may want to tune it further.  There are also other
+  options configured in that file you may want to consider.
 
-*  AFS users may be confused by the directory layout.  The files that
-   normally go in /usr/vice/etc go in /etc/openafs.  The cache should
-   be mounted on /var/cache/openafs.
+  The AFS client cache must be on an ext2 or ext3 partition.  Other file
+  systems often do not support the semantics required by the AFS kernel
+  module and will cause afsd to abort (to avoid kernel panics).  In
+  particular, XFS, ReiserFS, and tmpfs will NOT work.  If you are using
+  one of those file systems and don't have a spare partition for a
+  separate file system for the cache, you need to use the -memcache option
+  to afsd (although this is not always stable) or create a large file with
+  dd, create an ext2 file system in it with mkfs, and then mount it with
+  mount -o loop for use as a cache partition.
 
-* The libopenafs-dev package only includes static libraries because
-  AFS does not build shared libs.
+  FAM does not work correctly with AFS except for directories that are
+  world-readable since it does not run in the user's security context and
+  therefore doesn't have the user's AFS tokens.  If you are using FAM,
+  you'll encounter errors from file managers such as Nautilus that use it
+  if you browse restricted AFS directories.  Instead of FAM, install
+  gamin, which runs in the user's security context and works correctly
+  with AFS.
 
+  For information on how to set up an OpenAFS server, read README.servers.
+  You will want the openafs-fileserver package for a file server and,
+  additionally, the openafs-dbserver package for a database server.
 
+Documentation
 
+  For the complete OpenAFS manual, install openafs-doc.  This is the same
+  documentation as found at <http://www.openafs.org/>, and is
+  unfortunately outdated in several respects, but it's the best that we
+  have at present.
 
- -- Sam Hartman <hartmans@mit.edu>, Fri,  3 Nov 2000 23:41:41 -0500
+  If want to set up a new cell, read README.servers and then look at the
+  example session in configuration-transcript.txt.gz in this directory.
+  The procedure outlined in these two files is much simpler and more
+  secure than the one in the OpenAFS documentation, but the OpenAFS
+  documentation provides useful background.
+
+Changes Relative to Stock OpenAFS
+
+  Long-time AFS users may be confused by the directory layout.  The files
+  that normally go in /usr/vice/etc go in /etc/openafs.  The cache should
+  be mounted on /var/cache/openafs.  The server files have been moved
+  around even more; see README.servers for the details.
+
+  The OpenAFS kernel module is named openafs, not libafs, to better match
+  normal Linux kernel module naming standards.  The Debian source package
+  only builds one kernel module that matches the kernel source tree it is
+  built against and does not attempt to build separate SMP and non-SMP
+  modules against the same tree.  Doing so does not work on all platforms.
+  To distinguish between an SMP and a non-SMP kernel module package, use
+  --append_to_version; see README.modules for more information.
+
+  The AFS up utility is installed as afs-up, since the standard name is
+  rather generic.
+
+  The libopenafs-dev package only includes static libraries and there are
+  no shared library packages.  The shared libraries built by AFS are not
+  compatible with Debian policy.  They do not have a stable ABI or an
+  appropriate SONAME.
+
+  kaserver is not included.  New AFS cells should use Kerberos v5 rather
+  than the old K4-based kaserver KDC.
+
+  The OpenAFS PAM modules have been built with pthreads rather than the
+  standard LWP AFS libraries for compatibility with a threaded sshd.
+
+PAM Authentication
+
+  Any new OpenAFS cell is strongly encouraged to use Kerberos v5 for
+  authentication.  If you want PAM to automatically obtain AFS credentials
+  and you are using Kerberos v5, you will want to install the libpam-krb5
+  and libpam-openafs-session packages and then put something like the
+  following in /etc/pam.d/common-auth:
+
+      auth    [success=ok default=1]  pam_krb5.so ignore_root
+      auth    [default=done]          pam_openafs_session.so
+      auth    required                pam_unix.so nullok_secure try_first_pass
+
+  and something like the following in /etc/pam.d/common-session:
+
+      session optional        pam_krb5.so ignore_root
+      session optional        pam_openafs_session.so
+      session required        pam_unix.so
+
+  You'll probably also want the following in /etc/pam.d/common-account:
+
+      account required        pam_krb5.so ignore_root
+      account required        pam_unix.so
+
+  There are, of course, many variations depending on what different
+  mechanism you want to use and how you want to handle fallbacks.
+
+  If you are still using Kerberos v4 and the OpenAFS kaserver (or a KDC
+  that understands the same protocol) for authentication, you can instead
+  use the libpam-openafs-kaserver package and a configuration like:
+
+      auth    sufficient      pam_afs.so ignore_root
+      auth    required        pam_unix.so nullok_secure try_first_pass
+
+  in /etc/pam.d/common-auth and:
+
+      session optional        pam_afs.so
+      session required        pam_unix.so
+
+  in /etc/pam.d/common-session.  Use pam_afs.krb.so instead of pam_afs.so
+  if you also want the PAM module to acquire a ticket cache for you.  If
+  using this configuration with sshd, you may need to disable privilege
+  separation to get everything working properly.  I've had mixed results
+  with that.  Obviously, converting to Kerberos v5 authentication is
+  strongly preferred.
+
+  If you are using the kaserver as your KDC, you may also want to install
+  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
index d2c8e01..63f2c35 100644 (file)
@@ -1,35 +1,93 @@
-                      Building Kernel Modules
-----------------------------------------
+                         Building Kernel Modules
 
+Introduction
 
- The easiest way to get AFS modules is to install prebuilt modules.
-Fore example if you are running kernel 2.2.18 you might try
+  The easiest way to get AFS modules is to install prebuilt modules.  For
+  example, if you are running kernel 2.4.27-2-686-smp, you might try:
 
-apt-get install openafs-modules-2.2.18
+      apt-get install openafs-modules-2.4.27-2-686-smp
 
-If this doesn't work, then you will need to build your own modules.
-This means having kernel sources available.  You should install a
-kernel sources package and untar it in /usr/src.  Then, install
-openafs-modules-source.
+  Pre-built modules are not provided with Debian (building and maintaining
+  them in Debian proper poses too many problems), but many organizations
+  that use OpenAFS build their own and provide them locally.
 
-apt-get install openafs-modules-source
+  If this doesn't work, you will need to build your own modules.  There
+  are two methods for doing this.
 
-Next, unpack openafs-modules-source
+  When following either method, be aware that the Debian package creates a
+  module named openafs, not libafs as is used by upstream.  It also
+  prefers not to add the .mp extension for modules built for SMP kernels;
+  the indication of whether the module is for an SMP kernel should go into
+  the package name via something like --append_to_version, not into the
+  file name of the module.
 
-cd /usr/src
-tar xzf openafs.tar.gz
+module-assistant
 
-Now, change into your kernel source tree.  You should then create a
-.config file; the easiest way to do this is to run make menuconfig or
-to copy in a kernel configuration from the same version of the kernel.
-Debian kernel packages store a copy of their kernel configuration in
-/boot/config.version_number.  Finally build the modules
+  This method is the best one to use when using the kernels that come with
+  Debian, since module-assistant knows how to get the right header files
+  to build modules for your currently running kernel.
 
-make-kpkg configure
-make-kpkg modules_image
+  First, install module-assistant and then prepare the kernel headers and
+  install openafs-modules-source:
 
-You may need to use the --append_to_version switch to add version suffixes
-like -686 if your modules install into /lib/modules/version-686.
-Ignore any errors about genchanges.sh failing.  An openafs-modules deb
-should be created.  Use dpkg -i to install this version.
+      apt-get install module-assistant
+      module-assistant prepare openafs-modules
 
+  (If you want to build modules for a different kernel than your currently
+  running one, pass the -l flag to module-assistant.  See the man page.)
+  module-assistant may be able to find the right packages itself or it may
+  tell you to install particular packages.  Once you've finished with
+  that, build the module with:
+
+      module-assistant auto-build openafs-modules
+
+  You may prefer to pass module-assistant the -t flag to get more
+  conventional output.  If everything works correctly, the openafs-modules
+  deb should be created in /usr/src.  You can use dpkg -i to install it.
+
+  module-assistant will take care of naming the openafs-modules package
+  correctly so that it matches the name of the kernel-image package and
+  installs its modules into the correct directory.
+
+make-kpkg
+
+  This method works well when you're also building your own kernel, rather
+  than using the pre-packaged Debian one.
+
+  Install a kernel source package and untar it in /usr/src.  Then, install
+  openafs-modules-source.
+
+      apt-get install openafs-modules-source
+
+  Next, unpack openafs-modules-source:
+
+      cd /usr/src
+      tar xzf openafs.tar.gz
+
+  Now, change into your kernel source tree.  You should then create a
+  .config file; the easiest way to do this is to run make menuconfig or to
+  copy in a kernel configuration from the same version of the kernel.
+  Debian kernel packages store a copy of their kernel configuration in
+  /boot/config.version_number.
+
+  The kernel configuration needs to be identical to the configuration that
+  produced the kernel that you're using.  Ideally, you would build the
+  kernel image you're going to use with make-kpkg kernel_image and install
+  that along with the module image, although as long as the configuration
+  is identical, you may be able to get away with using a pre-built kernel.
+  (A better approach, if you're using pre-built kernels, may be to use
+  module-assistant as described above.)
+
+  Finally, build the modules:
+
+      make-kpkg modules_image
+
+  You may need to use the --append_to_version switch to add version
+  suffixes like -686 or -smp to match your kernel and install the OpenAFS
+  module into a directory like /lib/modules/version-686.  Be aware that
+  the Debian OpenAFS packages build either a regular module or an SMP
+  module, not both, so the generated package will only work with a kernel
+  with the same SMP configuration.
+
+  An openafs-modules deb should be created in /usr/src.  Use dpkg -i to
+  install this package.
index 8bbae59..d323215 100644 (file)
-                Setting up a Debian OpenAFS Server
+                    Setting up a Debian OpenAFS Server
 
-These packages include binaries with FHS-compatible path names.  Here
-is a map from AFS paths to FHS paths:
+Introduction
 
-/usr/afs/etc           /etc/openafs/server
-/usr/afs/local         /etc/openafs/server-local
-/usr/afs/db            /var/lib/openafs/db
-/usr/afs/logs          /var/log/openafs
-/usr/afs/bin           /usr/lib/openafs
+  This document describes how to set up an OpenAFS server using the Debian
+  packages.  If you are not already familiar with the basic concepts of
+  OpenAFS, you should review the documentation at:
 
+      <http://www.openafs.org/doc/index.htm>
 
-Scripts are provided to configure a single database/file server.  The
-afs-newcell script sets up the initial databases and configures
-bosserver.  After running this script, get tokens in the cell and run
-the afs-rootvol script to populate the root volume and root.cell.  A
-sample transcript of configuring an AFS cell can be found in
-/usr/share/doc/openafs-dbserver/configuration-transcript.txt.gz.  This
-transcript assumes you are using MIT Kerberos and the openafs-krb5
-package.  Similar steps could be taken with Heimdal.
+  particularly the AFS Administrator's Guide.  This documentation is
+  somewhat out of date (it doesn't talk about how to use a Kerberos v5 KDC
+  instead of the AFS kaserver, for example), but it's a good introduction
+  to the basic concepts and servers you will need to run.
 
-Another issue is upgrades.  It is likely that future versions of this
-package will install for example /usr/lib/openafs/fileserver.package
-instead of /usr/lib/openafs/fileserver.  The postinst script will
-create links the actual binaries.  Upgrades will not replace the old
-binaries, but a script will be provided to roll the links forward to
-the new versions.  The intent is that people could install the new
-package on all their servers and then quickly move the links before
-restarting the bosserver.
+  The Debian OpenAFS packages follow the FHS and therefore use different
+  paths than the standard AFS documentation or the paths that experienced
+  AFS administrators may be used to.  In the first column below are the
+  traditional paths, and in the second column, the Debian paths:
 
-                     Adding Additional Servers
+      /usr/afs/etc        /etc/openafs/server
+      /usr/afs/local      /etc/openafs/server-local
+      /usr/afs/db         /var/lib/openafs/db
+      /usr/afs/logs       /var/log/openafs
+      /usr/afs/bin        /usr/lib/openafs
+      /usr/vice/etc       /etc/openafs
 
-If you decide one server is not enough, here is roughly what needs to
-happen:
+  The AFS kaserver (a Kerberos v4 KDC) is not packaged for Debian.  Any
+  new OpenAFS installation should use Kerberos v5 for authentication in
+  conjunction with either the tools packaged in the openafs-krb5 package
+  or the Heimdal KDC.  When setting up a new cell, you should therefore
+  not set up a kaserver as described in the AFS Administrator's Guide, and
+  you will need to follow a slightly different method of setting the cell
+  key.
 
-1) Copy securely (using scp , encrypted Kerberized rcp or some other
-   secure method) /etc/openafs/server to the new server.
+Creating a New Cell
 
-2) Start a bosserver.
+  For documentation on adding a server to an existing cell, see below.
 
-3) If the machine is to be a file server, create an fs instance using
-   bos create.  For file servers this is all you need to do.
+  These instructions assume that you are using MIT Kerberos and the
+  openafs-krb5 package.  If you are using Heimdal instead, some of the
+  steps will be slightly different (Heimdal can write the AFS KeyFile
+  directly, for example, so you don't have to use asetkey).  The
+  afs-newcell and afs-rootvol scripts are the same, however.
 
-4) For database servers, you also need to do a bos addhost on all
-   servers (including the new server) to add the new server to
-   /etc/openafs/server/CellServDB.  Then create ptserver and vlserver
-   instances.
+  /usr/share/doc/openafs-dbserver/configuration-transcript.txt.gz has a
+  transcript of the results of these directions, which you may want to
+  follow along with as you do this.
+
+  1.  If you do not already have a Kerberos KDC (Key Distribution Center,
+      the daemon that handles Kerberos authentication) configured, do so.
+      You can run the KDC on the same system as your OpenAFS db server,
+      although if you plan on using Kerberos for other things, you may
+      eventually want to use separate systems.  If you do not have a
+      Kerberos realm set up already, you can do so in Debian with:
+
+          apt-get install krb5-admin-server
+          krb5_newrealm
+
+      This will install a KDC and kadmind server (the server that handles
+      password changes and account creations) on the local system.  Please
+      be aware that the security of everything that uses Kerberos for
+      authentication, including AFS, depends on the security of the KDC.
+
+      The name of your Kerberos realm should, for various reasons, be in
+      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
+      to use for privileged actions.  This is similar to the distinction
+      between a regular user and the root user in Unix, except that
+      everyone can have their own separate root identity.  Kerberos
+      recommends username/admin as the admin principal for username, and
+      this will work for AFS as well.
+
+      If you have not already created such an admin principal for yourself
+      in your Kerberos realm, do so now (using kadmin.local on your KDC,
+      unless you have a local method that you prefer).  Also create a
+      regular (non-admin) principal for yourself if you have not already;
+      this is the identity that you'll use for regular operations, like
+      storing files or reading mail.  To do this with kadmin.local, run
+      that program and then run the commands:
+
+          addprinc username/admin
+          addprinc username
+
+      at the kadmin prompt.  You'll be prompted for passwords for both
+      accounts.
+
+      If the KDC is not on the same system that the OpenAFS db server will
+      be on, you will also need to give your admin principal the rights to
+      download the afs keytab in /etc/krb5kdc/kadm5.acl by adding a lines
+      like:
+
+          username/admin@REALM    *
+
+      where REALM is your Kerberos realm and username/admin is the admin
+      principal that you created.  That line gives you full admin access
+      to the Kerberos v5 realm.  You can be more restrictive if you want;
+      see the kadmind man page for the syntax.
+
+  3.  Install the OpenAFS db server package on an appropriate system with:
+
+          apt-get install openafs-dbserver openafs-krb5
+
+      The openafs-krb5 package will be used to create the AFS KeyFile.
+
+      As part of this installation, you will need to configure
+      openafs-client with the cell you are creating as the local cell name
+      and the server on which you're working as the db server.  This name
+      is technically arbitrary but should, for various reasons, be a valid
+      domain name that you control; unlike Kerberos realms, it should be
+      in all lowercase.  Enter the name of the local system when prompted
+      for the names of your OpenAFS db servers.  Don't start the client;
+      that will happen below.  For right now, say that you don't want it
+      to start at boot.  You can change that later with dpkg-reconfigure
+      openafs-client.
+
+      If you have already installed openafs-client and configured it for
+      some other cell, you do need to configure it to point to your new
+      cell for these instructions to work.  Stop the AFS client on the
+      system with /etc/init.d/openafs-client stop and then run:
+
+           dpkg-reconfigure openafs-client
+
+      pointing it to the new cell you're about to create instead.
+      Remember, your cell name should be in lowercase.  If you have had to
+      do this several times, double-check /etc/openafs/CellServDB when
+      you're done and make sure that there is only one entry for your new
+      cell at the top of that file and that it lists the correct IP
+      address for your new db server.
+
+      In order to complete the AFS installation, you will also need a
+      working AFS client installed on that system, which means that you
+      need to install an OpenAFS kernel module.  Please see:
+
+          /usr/share/doc/openafs-client/README.modules
+
+      for information on how to do that.
+
+  4.  Create an AFS principal in Kerberos.  This is the AFS service
+      principal, used by clients to authenticate to AFS and for AFS
+      servers to authenticate to each other.  It *must* be a DES key; AFS
+      does not support any other encryption type.  Run kadmin.local on
+      your KDC and then, at the kadmin.local prompt, run:
+
+          addprinc -randkey -e des-cbc-crc:v4 afs
+
+      If your Kerberos realm name does not match your AFS cell name (if,
+      for instance, you have one Kerberos realm with multiple AFS cells),
+      use "afs/cell.name" as the name of the principal above instead of
+      just "afs", where cell.name is the name of your new AFS cell.
+
+  5.  On the db server, download this key into a keytab.  If this is the
+      same system as the KDC, you can use kadmin.local again.  If not, you
+      should use kadmin (make sure that krb5-user is installed), and you
+      may need to pass -p username/admin to kadmin to tell it what
+      principal to authenticate as.  Whichever way you get into kadmin,
+      run:
+
+          ktadd -k /tmp/afs.keytab -e des-cbc-crc:v4 afs
+
+      (or afs/cell.name if you used that instead).  In the message that
+      results, note the kvno number reported, since you'll need it later
+      (it will normally be 3).
+
+      Don't forget the -e des-cbc-crc:v4 to force the afs key to be DES.
+      You can verify this with:
+
+          getprinc afs
+
+      and checking to be sure that the only key listed is a DES key.  If
+      there are multiple keys listed, delprinc the afs principal, delete
+      the /tmp/afs.keytab file, and then start over with addprinc, making
+      sure not to forget the -e option.
+
+  6.  Create the AFS KeyFile with:
+
+          asetkey add <kvno> /tmp/afs.keytab afs
+
+      (or afs/cell.name if you used that instead).  <kvno> should be
+      replaced by the kvno number reported by kadmin.  This tells AFS the
+      Kerberos key that it should use, making it match the key in the
+      Kerberos KDC.
+
+  7.  If the name of your Kerberos realm does not match the name of your
+      AFS cell, tell AFS what Kerberos realm to use with:
+
+          echo REALM > /etc/openafs/server/krb.conf
+
+      where REALM is the name of your Kerberos realm.  If your AFS cell
+      and Kerberos realm have the same name, this is unnecessary.
+
+  8.  Create some space to use for AFS volumes.  You can set up a separate
+      AFS file server on a different system from the Kerberos KDC and AFS
+      db server, and for a larger cell you will want to do so, but when
+      getting started you can make the db server a file server as well.
+      For a production cell, you will want to create a separate partition
+      devoted to AFS and mount it as /vicepa (and may want to make
+      multiple partitions mounted as /vicepb, /vicepc, etc.), but for
+      testing purposes, you can use the commands below to create a
+      zero-filled file, create a file system in it, and then mount it:
+
+          dd if=/dev/zero of=/var/lib/openafs/vicepa bs=1024k count=32
+          mke2fs /var/lib/openafs/vicepa
+          mkdir /vicepa
+          mount -oloop /var/lib/openafs/vicepa /vicepa
+
+      mke2fs will ask you if you're sure you want to create a file system
+      on a non-block device; say yes.
+
+  9.  Run afs-newcell.  This will prompt you to be sure that the above
+      steps have been complete and will ask you for the Kerberos principal
+      to use for AFS administrative access.  You should use the
+      username/admin principal discussed above.  afs-newcell sets up the
+      initial protection database (which stores users and groups),
+      configures the AFS database and file server daemons, and creates the
+      root volume for AFS clients.
+
+      At the completion of this step, you should see bosserver and several
+      other AFS server processes running, and you should be able to see
+      the status of those processes with:
+
+          bos status localhost -local
+
+      bosserver is a master server that starts and monitors all the
+      individual AFS servers, and bos is the program used to send it
+      commands.
+
+      Now, you should be able to run:
+
+          kinit username/admin@REALM
+          aklog cell.name -k REALM
+
+      where username/admin is the admin principal discussed above, REALM
+      is the name of your Kerberos realm, and cell.name is the name of
+      your AFS cell.  This will obtain Kerberos tickets and AFS tokens in
+      your Kerberos realm and new AFS cell.  You should be able to see
+      your AFS tokens by running:
+
+          tokens
+
+      Finally, you should be able to see the status of the AFS server
+      processes with:
+
+          bos status <hostname>
+
+      where <hostname> is the hostname of the local system, once you've
+      done the above.  This tests authenticated bos access as your admin
+      principal (rather than using the local KeyFile to authenticate).
+
+  10. Run afs-rootvol.  This creates the basic AFS volume structure for
+      your new cell, including the top-level volume, the mount point for
+      your cell in the AFS root volume, and the mount points for all known
+      public cells.  It will prompt you to be sure that the above steps
+      are complete and then will ask you what file server and partition to
+      create the volume on.  If you were following the above instructions,
+      use the local hostname and "a" as the partition (without the
+      quotes), which will use /vicepa.
+
+      After this command completes, you should be able to /bin/ls /afs and
+      see your local cell (and, if you aren't using dynroot, mount points
+      for several other cells).  Note that if you're not using fakestat,
+      run /bin/ls rather than just ls to be sure that ls isn't aliased to
+      ls -F, ls --color, or some other option that would stat each file in
+      /afs, since this would require contacting lots of foreign cells and
+      could take a very long time.
+
+      You should now be able to cd to /afs/cell.name where cell.name is
+      the AFS cell name that you used.  Currently, there isn't anything in
+      your cell except two volumes, user and service, created by
+      afs-rootvol.  To make modifications, cd to /afs/.cell.name (note the
+      leading period) and make changes there.  To make those changes show
+      up at /afs/cell.name, run vos release root.cell.  For more details
+      on what you can do now, see the AFS Administrator's Reference.
+
+  11. While this is optional, you probably want to add AFSDB records to
+      DNS for your new AFS cell.  These special DNS records let AFS
+      clients find the db servers for your cell without requiring local
+      configuration.  To do this, create a DNS record like:
+
+          <cell>.        3600    IN      AFSDB   1 <server>.
+
+      where <cell> is the name of your AFS cell and <server> is the name
+      of your db server.  Note the trailing periods to prevent the DNS
+      server from appending the origin.  You can, of course, choose what
+      you prefer for the lifetime.  The 1 is not a priority; it's a
+      special indicator saying that this record is for an AFS database
+      server.
+
+      If you have multiple db servers (see below for adding new ones), you
+      should create multiple records of this type, one per db server.
+
+  Congratulations!  You now have an AFS cell.  If any of the above steps
+  failed, please check the steps carefully and make sure that you've done
+  them all in order.  If that doesn't reveal the cause of the problem,
+  please feel free to submit a bug report with reportbug.  Include as many
+  details as possible on exactly what you typed and exactly what you saw
+  as a result, particularly any error messages.
+
+Adding Additional Servers
+
+  If you decide one server is not enough, or if you're adding a server to
+  an existing cell, here is roughly what you should do:
+
+  1.  Copy securely (using scp, encrypted Kerberos rcp, or some other
+      secure method) all of /etc/openafs/server to the new server.
+
+  2.  Install the openafs-fileserver package on the new server.
+
+  3.  If the machine is to be a file server, create an fs instance using
+      bos create:
+
+          bos create <host> fs fs -cmd /usr/lib/openafs/fileserver \
+              -cmd /usr/lib/openafs/volserver \
+              -cmd /usr/lib/openafs/salvager -localauth
+
+      For a file server, this is all you have to do.
+
+  4.  For database servers, also install openafs-dbserver and then use bos
+      addhost to add the new server to /etc/openafs/server/CellServDB:
+
+          bos addhost <server> <new-server>
+
+      for each db server <server> in your cell (including the new one).
+      Then, restart the ptserver and vlserver instances on each of your
+      existing servers with:
+
+          bos restart <server> ptserver
+          bos restart <server> vlserver
+
+      It's best to wait a few seconds after doing this for each server
+      before doing the next server so that voting finishes and you never
+      lose a quorum.
+
+      Only after ptserver and vlserver have been restarted on each of your
+      existing servers, create ptserver and vlserver instances on the new
+      server:
+
+          bos create <host> ptserver simple /usr/lib/openafs/ptserver \
+              -localauth
+          bos create <host> vlserver simple /usr/lib/openafs/vlserver \
+              -localauth
+
+      The existing servers should then propagate the database to the new
+      server.  If you are using buserver, you will need to do the same
+      thing for it as with ptserver and vlserver.
+
+      Note that you do not need to run a file server on a db server if you
+      don't want to (and larger sites probably will not want to), but you
+      always need to have the openafs-fileserver package installed on db
+      servers.  It contains the bosserver binary and some of the shared
+      infrastructure.
+
+  5.  If you added a new db server, configure your clients to use it.  If
+      you are using AFSDB records in DNS, you can just add a new record
+      (see point 10 in the instructions for creating a new cell).
+      Otherwise, clients will need to have the new server IP address added
+      to their /etc/openafs/CellServDB file (or /usr/vice/etc/CellServDB
+      for non-Debian clients using the standard AFS paths), and the client
+      will have to be restarted before it will know about the new db
+      server.
+
+  The standard rule of thumb is that all of your database servers and file
+  servers should ideally be running the same version of OpenAFS.  However,
+  in practice OpenAFS is fairly good at backward compatibility and you can
+  generally mix and match different versions.  Be careful, though, to
+  ensure that all of your database servers are built the same when it
+  comes to options like --enable-supergroups (enabled in the Debian
+  packages).
+
+Upgrades
+
+  Currently, during an upgrade of the openafs-fileserver package, all
+  services will be stopped and restarted.  If openafs-dbserver is upgraded
+  without upgrading openafs-fileserver, those server binaries will not be
+  stopped and restarted; that restart will have to be done by hand.
+
+  It is possible that future versions of this package will install for
+  example /usr/lib/openafs/fileserver.package instead of
+  /usr/lib/openafs/fileserver and then create links to the actual binaries
+  in postinst.  Upgrades would then not replace the old binaries, but
+  instead a script will be provided to roll the links forward to the new
+  versions.  The intent is that people could install the new package on
+  all their servers and then quickly move the links before restarting the
+  bosserver.  This has not yet been implemented.
index dbbd37d..cec5dbc 100644 (file)
@@ -1 +1,13 @@
-* Get bos restrict working
+* Get bos restrict working.
+
+* The configuration transcript and the README.servers file would be best
+  read together, but preferrably with some nicer formatting (such as HTML
+  with a style sheet to set off the transcript in a different background
+  color).
+
+* Consider including the kdump executable in the kernel module package.
+  openafs-client would have to provide a wrapper script to run the
+  appropriate kdump and the kernel module package would need to install
+  the kdump executable, maybe in /usr/lib/openafs, named after the kernel
+  image installed.
+
index b896f00..725d526 100644 (file)
@@ -1,19 +1,20 @@
 #!/usr/bin/perl -w
 # Copyright (C) 2000 by Sam Hartman
-# This file may be copied either under the terms of the GNU GPL or the IBM Public License
-# either version 2 or later of the GPL or version 1.0 or later of the IPL.
+# This file may be copied either under the terms of the GNU GPL or the IBM
+# Public License either version 2 or later of the GPL or version 1.0 or later
+# of the IPL.
 
 use Term::ReadLine;
 use strict;
 use Debian::OpenAFS::ConfigUtils;
 use Getopt::Long;
-use vars qw($admin $server
-          $requirements_met  $shutdown_needed);
+use Socket qw(inet_ntoa);
+use vars qw($admin $server $requirements_met $shutdown_needed);
 my $rl = new Term::ReadLine('afs-newcell');
 
 =head1  NAME
 
-   afs-newcell - Set up initial database server for AFS cell.
+afs-newcell - Set up initial database server for AFS cell
 
 =head1 SYNOPSIS
 
@@ -21,17 +22,15 @@ B<afs-newcell> [B<--requirements-met>] [B<--admin> admin_user]
 
 =head1 DESCRIPTION
 
-
 This script sets up the initial AFS database and configures the first
 database/file server.
 
-The B<requirements-met> option specifies that the initial requirements
-have been met and that the script can proceed without displaying the
-initial banner or asking for confirmation.
+The B<--requirements-met> option specifies that the initial requirements have
+been met and that the script can proceed without displaying the initial
+banner or asking for confirmation.
 
-The B<admin> option specifies the name of the administrative user.
-This user will be given system:administrators and susers permission in
-the cell.
+The B<--admin> option specifies the name of the administrative user.  This
+user will be given system:administrators and susers permission in the cell.
 
 =head1 AUTHOR
 
@@ -39,21 +38,20 @@ Sam Hartman <hartmans@debian.org>
 
 =cut
 
-# main script
+# Flush all output immediately.
+$| = 1;
 
-GetOptions (
-           "requirements-met" => \$requirements_met, 
-           "admin=s" => \$admin);
+GetOptions ("requirements-met" => \$requirements_met, "admin=s" => \$admin);
 
 unless ($requirements_met) {
-  print <<eoreqs;
-                           Prerequisites
+    print <<eoreqs;
+                            Prerequisites
 
 In order to set up a new AFS cell, you must meet the following:
 
 1) You need a working Kerberos realm with Kerberos4 support.  You
-   should install Heimdal with Kth-kerberos compatibility or MIT
-   Kerberos5.
+   should install Heimdal with KTH Kerberos compatibility or MIT
+   Kerberos 5.
 
 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
@@ -66,126 +64,216 @@ In order to set up a new AFS cell, you must meet the following:
 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.  
+   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/admin (or jruser/root) 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.
 
 eoreqs
-
-  $_ = $rl->readline("Do you meet these requirements? [y/n] ");
-  unless (/^y/i ) {
-    print "Run this script again when you meet the requirements\n";
-    exit(1);
-  }
-       
-               if ($> != 0) {
-die "This script should almost always be run as root.  Use the --requirements-met option to run as non-root.\n";
-}
+#'# cperl-mode
+
+    $_ = $rl->readline("Do you meet these requirements? [y/n] ");
+    unless (/^y/i ) {
+        print "Run this script again when you meet the requirements\n";
+        exit(1);
+    }
+
+    if ($> != 0) {
+        die "This script should almost always be run as root.  Use the\n"
+            . "--requirements-met option to run as non-root.\n";
+    }
 }
+
+# Make sure the AFS client is not already running.
 open(MOUNT, "mount |") or die "Failed to run mount: $!\n";
 while(<MOUNT>) {
-if(m:^AFS:) {
-print "The AFS client is currently running on this workstation.\n";
-print "Please restart this script after running /etc/init.d/openafs-client stop\n";
-exit(1);
-}
+    if (m:^AFS:) {
+        print "The AFS client is currently running on this workstation.\n";
+        print "Please restart this script after running"
+            . " /etc/init.d/openafs-client stop\n";
+        exit(1);
+    }
 }
 close MOUNT;
 
+# Make sure there is a keyfile.
 unless ( -f "/etc/openafs/server/KeyFile") {
-  print "You do not have an AFS keyfile.  Please create this using asetkey from openafs-krb5 or 
-the bos addkey command";
-  exit(1);
+    print "You do not have an AFS keyfile.  Please create this using\n";
+    print "asetkey from openafs-krb5 or the bos addkey command\n";
+    exit(1);
 }
 
+# Stop the file server.
 print "If the fileserver is not running, this may hang for 30 seconds.\n";
 run("/etc/init.d/openafs-fileserver stop");
-$server = `hostname`;
+
+# Get the local hostname.  Use the fully-qualified hostname to be safer.
+$server = `hostname -f`;
 chomp $server;
-$admin = $rl->readline("What administrative principal should be used? ") unless $admin;
- die "Please specify an administrative user\n" unless $admin;
-$admin =~ s:/:.:g;
-if($admin =~ /@/) {
-die "The administrative user must be in the same realm as the cell and no realm may be specified.\n";
+my $ip = gethostbyname $server;
+if (inet_ntoa($ip) eq '127.0.0.1') {
+    print "\n";
+    print "Your hostname $server resolves to 127.0.0.1, which AFS cannot\n";
+    print "cope with.  Make sure your hostname resolves to a non-loopback\n";
+    print "IP address.  (Check /etc/hosts and make sure that your hostname\n";
+    print "isn't listed on the 127.0.0.1 line.  If it is, removing it from\n";
+    print "that line will probably solve this problem.)\n";
+    exit(1);
+}
+
+# Determine the admin principal.
+$admin = $rl->readline("What administrative principal should be used? ")
+    unless $admin;
+print "\n";
+die "Please specify an administrative user\n" unless $admin;
+my $afs_admin = $admin;
+$afs_admin =~ s:/:.:g;
+if ($afs_admin =~ /@/) {
+    die "The administrative user must be in the same realm as the cell and\n"
+        . "no realm may be specified.\n";
 }
-open(CELL, "/etc/openafs/server/ThisCell") 
-  or die "Cannot open /etc/openafs/server/ThisCell: $!\n";
+
+# Determine the local cell.  This should be configured via debconf, from the
+# openafs-client configuration, when openafs-fileserver is installed.
+open(CELL, "/etc/openafs/server/ThisCell")
+    or die "Cannot open /etc/openafs/server/ThisCell: $!\n";
 my $cell = <CELL>;
 chomp $cell;
 
-run( "echo \\>$cell >/etc/openafs/server/CellServDB");
+# Make sure the new cell is configured in the client CellServDB.
+open(CELLSERVDB, "/etc/openafs/CellServDB")
+    or die "Cannot open /etc/openafs/CellServDB: $!\n";
+my $found = 0;
+while (<CELLSERVDB>) {
+    next unless /^>\Q$cell\E\s/;
+    while (<CELLSERVDB>) {
+        last if /^>/;
+        my ($dbserver) = split ' ';
+        if ($dbserver eq inet_ntoa($ip)) {
+            $found = 1;
+            last;
+        }
+    }
+    last;
+}
+unless ($found) {
+    print "\n";
+    print "The new cell $cell is not configured in /etc/openafs/CellServDB\n";
+    print "Add configuration like:\n\n";
+    print ">$cell\n";
+    print inet_ntoa($ip), "\n\n";
+    print "to that file before continuing.\n";
+    exit(1);
+}
+
+# Write out a new CellServDB for the local cell containing only this server.
+if (-f "/etc/openafs/server/CellServDB") {
+    print "/etc/openafs/server/CellServDB already exists, renaming to .old\n";
+    rename("/etc/openafs/server/CellServDB",
+           "/etc/openafs/server/CellServDB.old")
+        or die "Cannot rename /etc/openafs/server/CellServDB: $!\n";
+}
+open(CELLSERVDB, "> /etc/openafs/server/CellServDB")
+    or die "Cannot create /etc/openafs/server/CellServDB: $!\n";
+print CELLSERVDB ">$cell\n";
+print CELLSERVDB inet_ntoa($ip), "\t\t\t#$server\n";
+close CELLSERVDB or die "Cannot write to /etc/openafs/server/CellServDB: $!\n";
+
+# Now, we should be able to start bos and add the admin user.
 run("/etc/init.d/openafs-fileserver start");
 $shutdown_needed = 1;
-run ("bos addhost $server $server -localauth ||true");
-run("bos adduser $server $admin -localauth");
-unwind("bos removeuser $server $admin -localauth");
-if ( -f "/var/lib/openafs/db/prdb.DB0" ) {
-  die "Protection database already exists; cell already partially created\n";
- }
-open(PRDB, "|pt_util -p /var/lib/openafs/db/prdb.DB0 -w ")
-or die "Unable to start pt_util: $!\n";
-print PRDB "$admin 128/20 1 -204 -204\n";
+run("bos adduser $server $afs_admin -localauth");
+unwind("bos removeuser $server $afs_admin -localauth");
+
+# Create the initial protection database using pt_util.  This is safer than
+# the standard mechanism of starting the cell in noauth mode until the first
+# user has been created.
+if (-f "/var/lib/openafs/db/prdb.DB0") {
+    warn "ERROR: Protection database already exists; cell already partially\n";
+    warn "ERROR: created.   If you do not want the current database, remove\n";
+    warn "ERROR: all files in /var/lib/openafs/db and then run this program\n";
+    warn "ERROR: again.\n";
+    exit(1);
+}
+print "\nCreating initial protection database.  This will print some errors\n";
+print "about an id already existing and a bad ubik magic.  These errors can\n";
+print "be safely ignored.\n\n";
+open(PRDB, "| pt_util -p /var/lib/openafs/db/prdb.DB0 -w")
+    or die "Unable to start pt_util: $!\n";
+print PRDB "$afs_admin 128/20 1 -204 -204\n";
 print PRDB "system:administrators 130/20 -204 -204 -204\n";
-print PRDB" $admin 1\n";
+print PRDB " $afs_admin 1\n";
 close PRDB;
-unwind( "rm /var/lib/openafs/db/prdb* ");
-# Start up ptserver and vlserver
+unwind("rm /var/lib/openafs/db/prdb*");
+print "\n";
+
+# We should now be able to start ptserver and vlserver.
 run("bos create $server ptserver simple /usr/lib/openafs/ptserver -localauth");
 unwind("bos delete $server ptserver -localauth");
-
 run("bos create $server vlserver simple /usr/lib/openafs/vlserver -localauth");
 unwind("bos delete $server vlserver -localauth");
 
-run( "bos create $server fs fs ".
-     "-cmd /usr/lib/openafs/fileserver ".
-     "-cmd /usr/lib/openafs/volserver ".
-     "-cmd /usr/lib/openafs/salvager -localauth");
-unwind( "bos delete $server fs -localauth ");
+# Create a file server as well.
+run("bos create $server fs fs"
+    . " -cmd /usr/lib/openafs/fileserver"
+    . " -cmd /usr/lib/openafs/volserver"
+    . " -cmd /usr/lib/openafs/salvager -localauth");
+unwind("bos delete $server fs -localauth");
 
+# Pause for a while for ubik to catch up.
 print "Waiting for database elections: ";
 sleep(30);
 print "done.\n";
-# Past this point we want to control when bos shutdown happens
+
+# Past this point we want to control when bos shutdown happens.
 $shutdown_needed = 0;
-unwind( "bos shutdown $server -localauth ");
+unwind("bos shutdown $server -localauth -wait");
 run("vos create $server a root.afs -localauth");
-# bring up client
-run("echo $cell >/etc/openafs/ThisCell");
+unwind("vos remove $server a root.afs -localauth");
+
+# We should now be able to bring up the client (it may need root.afs to exist
+# if not using dynroot).  We override whatever default cell was configured for
+# the client, just in case it was pointing to some other cell.
+open(THIS, "> /etc/openafs/ThisCell")
+    or die "ERROR: Cannot create /etc/openafs/ThisCell: $!\n";
+print THIS "$cell\n";
+close THIS or die "ERROR: Cannot write to /etc/openafs/ThisCell: $!\n";
 run("/etc/init.d/openafs-client force-start");
+
+# Verify that AFS has managed to start.
 my $afs_running = 0;
-open(MOUNT, "mount |") or die "Failed to run mount: $!\n";
+open(MOUNT, "mount |") or die "ERROR: Failed to run mount: $!\n";
 while(<MOUNT>) {
-if(m:^AFS:) {
-       $afs_running = 1;
+    if (m:^AFS:) {
+        $afs_running = 1;
+    }
 }
-       }
 unless ($afs_running) {
-print "*** The AFS client failed to start.\n";
-print  "Please fix whatever problem kept it from running.\n";
-       exit(1);
+    print "ERROR: The AFS client failed to start.\n";
+    print "ERROR: Please fix whatever problem kept it from running.\n";
+    exit(1);
 }
+print "\n";
+print "Now, get tokens as $admin in the $cell cell.\n";
+print "Then, run afs-rootvol.\n";
 
-print <<eomsg; 
-Now, get tokens as $admin in the $cell cell.  Then, run
-afs-rootvol.
-eomsg
-
-
-
-
+# Success, so clear the unwind commands.
 @unwinds = ();
+
+# If we fail before all the instances are created, we need to back out of
+# everything we did as much as possible.
 END {
-# If we fail before all the instances are created, we need to perform 
-# our own bos shutdown
-    system("bos shutdown $server -localauth") if $shutdown_needed;
-  run(pop @unwinds) while @unwinds;
-  }
+    if ($shutdown_needed || @unwinds) {
+        print "\nCell setup failed, ABORTING\n";
+    }
+    system("bos shutdown $server -localauth -wait") if $shutdown_needed;
+    run(pop @unwinds) while @unwinds;
+}
index 2f37890..9a8da2f 100644 (file)
 #!/usr/bin/perl -w
 # Copyright (C) 2000 by Sam Hartman
-# This file may be copied either under the terms of the GNU GPL or the IBM Public License
-# either version 2 or later of the GPL or version 1.0 or later of the IPL.
+# This file may be copied either under the terms of the GNU GPL or the IBM
+# Public License either version 2 or later of the GPL or version 1.0 or later
+# of the IPL.
 
 use strict;
+use Debian::OpenAFS::ConfigUtils;
 use Term::ReadLine;
 use Getopt::Long;
+use vars qw($rl $server $part $requirements_met);
 
-=head1  NAME
+=head1 NAME
 
-   afs-rootvol - Generate and populate root volumes for new AFS cells.
+afs-rootvol - Generate and populate root volumes for new AFS cells.
 
 =head1 SYNOPSIS
 
-B<afs-rootvol> [B<--requirements-met>] [B<--server> server-name] [B<--partition> partition-letter]
+B<afs-rootvol> [B<--requirements-met>] [B<--server> I<server-name>]
+[B<--partition> I<partition-letter>]
 
 =head1 DESCRIPTION
 
-This script sets up an AFS cell's root volumes.  It assumes that you
-already have a fileserver and database servers.  The fileserver should
-have an empty root.afs.
-  This script creates root.cell, user, service and populates root.afs.  
+This script sets up an AFS cell's root volumes.  It assumes that you already
+have a fileserver and database servers.  The fileserver should have an empty
+root.afs.  This script creates root.cell, user, and service and populates
+root.afs.
 
 =head1 AUTHOR
 
 Sam Hartman <hartmans@debian.org>
 
 =cut
-
-use vars qw($rl $server  $part $requirements_met);
-use vars qw( @unwinds);
-use Debian::OpenAFS::ConfigUtils;
-
+#'# cperl-mode
 
 # This subroutine creates a volume, mounts it and then sets the access
 # to allow read by anyuser.  The volume is scheduled for deletion in
 # case of error.
-# mkvol(volume, mount)
-                   sub mkvol($$) {
-                     my ($vol, $mnt) = @_;
-                     run("vos create $server $part $vol -localauth");
-                     unwind("vos remove $server $part $vol -localauth");
-                     run("fs mkm $mnt $vol ");
-                     run("fs sa $mnt system:anyuser rl");
-                   }
-
-# main script
-$rl = new Term::ReadLine('AFS');
-
+sub mkvol($$) {
+    my ($vol, $mnt) = @_;
+    run("vos create $server $part $vol -localauth");
+    unwind("vos remove $server $part $vol -localauth");
+    run("fs mkm $mnt $vol ");
+    run("fs sa $mnt system:anyuser rl");
+}
 
-GetOptions (
-           "requirements-met" => \$requirements_met, 
-           "server=s" => \$server,
-           "partition=s" => \$part
-           );
+# Main script.  Flush all output immediately.
+$| = 1;
+$rl = new Term::ReadLine('AFS');
+GetOptions ("requirements-met" => \$requirements_met,
+            "server=s" => \$server,
+            "partition=s" => \$part);
 unless ($requirements_met) {
-      print <<eotext;
-                           Prerequisites
+    print <<eotext;
+                            Prerequisites
 
-In order to set up the root.afs volume, you must meet the following pre-conditions:
+In order to set up the root.afs volume, you must meet the following
+pre-conditions:
 
 1) The cell must be configured, running a database server with a
    volume location and protection server.  The afs-newcell script will
    set up these services.
 
-2)  You must be logged into the cell with  tokens in
-   system:administrators and with a principal that is in the susers
+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,
+   root.afs volume created.  Presumably, it has no volumes on it,
    although the script will work so long as nothing besides root.afs
    exists.  The afs-newcell script will set up the file server.
 
 4) The AFS client must be running pointed at the new cell.
 eotext
+
     $_ = $rl->readline("Do you meet these conditions? (y/n) ");
     unless (/^y/i ) {
-       print "Please restart the script when you meet these conditions.\n";
-       exit(1);
+        print "Please restart the script when you meet these conditions.\n";
+        exit(1);
+    }
+    if ($> != 0) {
+        die "This script should almost always be run as root.  Use the\n"
+            . "--requirements-met option to run as non-root.\n";
     }
-       
-               if ($> != 0) {
-die "This script should almost always be run as root.  Use the --requirements-met option to run as non-root.\n";
 }
 
-}
-# Get configuration information we need
+# Get configuration information we need.
 open(CELL, "/etc/openafs/server/ThisCell")
-or die "Unable to find out what cell this machine serves: $!\n";
+    or die "Unable to find out what cell this machine serves: $!\n";
 my $cell = <CELL>;
 close CELL;
 chomp $cell;
 
 unless ($server) {
-  print <<eotext; 
-You will need to select a server (hostname) and AFS
-partition on which to create the root volumes.
+    print <<eotext;
+
+You will need to select a server (hostname) and AFS partition on which to
+create the root volumes.
+
 eotext
 
-  $server = $rl->readline("What AFS Server should volumes be placed on? ");
-  die "Please select a server.\n" unless $server;
+    $server = $rl->readline("What AFS Server should volumes be placed on? ");
+    die "Please select a server.\n" unless $server;
 }
 unless ($part) {
-  $part = $rl    ->readline("What partition? [a] ");
-$part = "a" unless $part;
+    $part = $rl->readline("What partition? [a] ");
+    $part = "a" unless $part;
 }
+print "\n";
 
+# Make sure the user has tokens.  Forgetting to do this is a common error.
+my $status = system("tokens | grep Expires > /dev/null");
+if ($status != 0) {
+    die "You appear to not have AFS tokens.  Obtain tokens (with aklog,\n"
+        . "for example) and then run this script again.\n";
+}
 
-run("fs sa /afs system:anyuser rl");
-
+# Figure out where root.afs is.  There are two possibilities: either we aren't
+# running with dynroot, and root.afs is therefore accessible as /afs, or we
+# are running with dynroot, in which case we have to create root.cell first
+# and then mount root.afs under it.
+#
+# Always create root.cell first; we may need it if running with dynroot, and
+# it doesn't hurt to do it now regardless.
+my $rootmnt = "/afs";
 run("vos create $server $part root.cell -localauth");
 unwind("vos remove $server $part root.cell -localauth");
-# We make root.cell s:anyuser readable after we mount in the next
-# loop.
-
+my $dynroot = (-d "$rootmnt/$cell/.");
+if ($dynroot) {
+    run("fs mkm /afs/$cell/.root.afs root.afs -rw");
+    unwind("fs rmm /afs/$cell/.root.afs");
+    $rootmnt = "/afs/$cell/.root.afs";
+}
+run("fs sa $rootmnt system:anyuser rl");
 
+# Scan CellServDB and create the cell mount points for every cell found there.
+# Force these commands to succeed, since it's possible to end up with
+# duplicate entries in CellServDB (and the second fs mkm will fail).
 open(CELLSERVDB, "/etc/openafs/CellServDB")
     or die "Unable to open /etc/openafs/CellServDB: $!\n";
-while(<CELLSERVDB>) {
+while (<CELLSERVDB>) {
     chomp;
-    if (/^>\s*([a-z0-9_\-.]+)/ ) {
-       run("fs mkm /afs/$1 root.cell -cell $1  -fast");
-       unwind ("fs rmm /afs/$1");
+    if (/^>\s*([a-z0-9_\-.]+)/) {
+        run("fs mkm $rootmnt/$1 root.cell -cell $1 -fast || true");
+        unwind("fs rmm $rootmnt/$1 || true");
     }
 }
 
+# Now, create the read/write mount points for root.cell and root.afs and set
+# root.cell system:anyuser read.
 run("fs sa /afs/$cell system:anyuser rl");
-run ("fs mkm /afs/.$cell root.cell -cell $cell -rw");
-unwind ("fs rmm /afs/.$cell");
-run("fs mkm /afs/.root.afs root.afs -rw");
-unwind ("fs rmm /afs/.root.afs");
-
-mkvol( "user", "/afs/$cell/user" );
-mkvol( "service", "/afs/$cell/service" );
-
-$cell =~ /^([^.]*)/;
+run("fs mkm $rootmnt/.$cell root.cell -cell $cell -rw");
+unwind("fs rmm $rootmnt/.$cell");
+run("fs mkm $rootmnt/.root.afs root.afs -rw");
+unwind("fs rmm $rootmnt/.root.afs");
+
+# Create the user and service mount point volumes to fit the semi-standard AFS
+# cell layout.
+mkvol("user", "/afs/$cell/user");
+mkvol("service", "/afs/$cell/service");
+
+# Strip the domain off of the cell name and create the short symlinks.
+$cell =~ /^([^.]+)/;
 my $cellpart = $1;
-run("ln -s /afs/$cell /afs/$cellpart");
-unwind ("rm /afs/$cellpart");
-run( "ln -s /afs/.$cell /afs/.$cellpart" );
-unwind ("rm /afs/.$cellpart");
-
-run( "vos addsite $server $part root.afs -localauth" );
-run( "vos addsite $server $part root.cell -localauth" );
-run( "vos release root.afs -localauth" );
-run( "vos release root.cell -localauth" );
-unwind( "vos remove $server $part root.cell.readonly -localauth ");
-unwind( "vos remove $server $part root.afs.readonly -localauth ");
+if ($cellpart && $cellpart ne $cell) {
+    run("ln -s $cell $rootmnt/$cellpart");
+    unwind("rm $rootmnt/$cellpart");
+    run("ln -s .$cell $rootmnt/.$cellpart");
+    unwind("rm $rootmnt/.$cellpart");
+}
+if ($dynroot) {
+    run("fs rmm /afs/$cell/.root.afs");
+    unwind("fs mkm /afs/$cell/.root.afs root.afs -rw");
+}
+
+# Now, replicate the infrastructure volumes.
+run("vos addsite $server $part root.afs -localauth");
+run("vos addsite $server $part root.cell -localauth");
+run("vos release root.afs -localauth");
+run("vos release root.cell -localauth");
+unwind("vos remove $server $part root.cell.readonly -localauth");
+unwind("vos remove $server $part root.afs.readonly -localauth");
 
+# Success, so clear the unwind commands.
 @unwinds = ();
 
+# If we fail before all the instances are created, we need to back out of
+# everything we did as much as possible.
 END {
-  run(pop @unwinds) while @unwinds;
-  }
-
+    if (@unwinds) {
+        print "\nRoot volume setup failed, ABORTING\n";
+    }
+    run(pop @unwinds) while @unwinds;
+}
diff --git a/src/packaging/Debian/afs.conf b/src/packaging/Debian/afs.conf
new file mode 100644 (file)
index 0000000..64490a1
--- /dev/null
@@ -0,0 +1,129 @@
+# -*- sh -*-
+# 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
+
+# Configuration information for AFS client.
+
+# The following options are maintained by debconf.  To change them, run
+# dpkg-reconfigure openafs-client.
+#
+#   AFS_CLIENT          Whether to start the AFS client at boot
+#   AFS_AFSDB           Whether to use AFSDB DNS records to find VLDB servers
+#   AFS_CRYPT           Whether to enable fcrypt encryption
+#   AFS_DYNROOT         Whether to use a dynamic /afs directory
+#   AFS_FAKESTAT        Whether to fake stat data for mount points
+
+test -f /etc/openafs/afs.conf.client && . /etc/openafs/afs.conf.client
+
+# Set to "-verbose" for a lot of debugging information from afsd.  Only useful
+# for debugging as it prints a LOT of information.
+VERBOSE=
+
+# AFS client configuration options.
+#
+# Here is a (mostly) complete list of flags that afsd accepts and that are
+# useful here:
+#
+#   -blocks     The number of blocks available in the workstation cache.
+#   -files      The target number of files in the workstation cache (Default:
+#               1000).
+#   -rootvol    The name of the root volume to use.
+#   -stat       The number of stat cache entries.
+#   -hosts      List of servers to check for volume location info FOR THE
+#               HOME CELL.
+#   -memcache   Use an in-memory cache rather than disk.
+#   -cachedir   The base directory for the workstation cache.
+#   -mountdir   The directory on which the AFS is to be mounted.
+#   -confdir    The configuration directory.
+#   -nosettime  Don't keep checking the time to avoid drift (default).
+#   -settime    Keep checking the time to avoid drift.
+#   -verbose    Be chatty.
+#   -debug      Print out additional debugging info.
+#   -daemons    The number of background daemons to start (Default: 2).
+#   -rmtsys     Also fires up an afs remote sys call (e.g. pioctl, setpag)
+#               support daemon 
+#   -chunksize  2^n is the chunksize to be used (Default: use a kernel
+#               module default).
+#   -dcache     The number of data cache entries.
+#   -prealloc   Number of preallocated "small" memory blocks
+#   -waitclose  Make close calls always synchronous (slows them down, though)
+#   -files_per_subdir   Number of files per cache subdir (Default: 2048).
+#
+# 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:
+#
+#           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.
+OPTIONS=AUTOMATIC
+
+# The default value for the client sysname (as returned by fs sysname) is
+# determined during the kernel module build and is taken from the architecture
+# and the major Linux kernel version.  Accesses to directories named "@sys" in
+# AFS will be internally redirected to a directory by this name by the AFS
+# client, allowing a single path to resolve to different directories depending
+# on the client architecture.
+#
+# If you would like to override the client sysname, uncomment this line and
+# set the variable to a space-separated list of sysnames.  The AFS client will
+# attempt to resolve @sys to each directory name in the order given.
+#AFS_SYSNAME=""
+
+# If you want to prefer particular servers for replicated volumes, you can
+# configure that by defining an afs_server_prefs function here and then
+# uncommenting the setting of AFS_POST_INIT below.  For more information, see
+# fs help setserverprefs and fs getserverprefs (for the current values).
+
+#afs_server_prefs() {
+#    fs setserverprefs <host> <rank>
+#}
+
+# If you want to always run some command after starting OpenAFS, you can put
+# it here.  Note that you cannot run multiple commands, even combined with &&
+# or ; or similar shell meta-characters.  If you want to run multiple
+# commands, define a shell function instead and put the name of the shell
+# function here.
+AFS_POST_INIT=
+
+# Uncomment this line if you defined an afs_server_prefs function.  (If you
+# have other commands that you also want to run, you'll have to put them in
+# that function, as you can only run one function.)
+#AFS_POST_INIT=afs_server_prefs
+
+# If you want to always run some command before shutting down OpenAFS, you can
+# put it here.  The same caveat applies about multiple commands.
+AFS_PRE_SHUTDOWN=
+
+# If you are having problems with AFS shutting down cleanly or the system not
+# rebooting because the partition the AFS cache was on could not be unmounted,
+# try installing lsof and uncommenting this.  This will cause all processes
+# with open AFS files to be killed before unmounting AFS if the runlevel being
+# switched to is 0 or 6.
+#
+# Warning: This means /etc/init.d/openafs-client stop will kill all processes
+# with files open in AFS rather than returning an error saying the file system
+# is busy.  This is probably what you want when the whole system is shutting
+# down, but often *not* what you want when just stopping and restarting the
+# client.  The code doesn't run unless the runlevel is 0 or 6, but still, be
+# sure that this is what you want before enabling it.
+#AFS_PRE_SHUTDOWN=kill_all_afs
index eb3c91a..a1a6bc0 100644 (file)
@@ -1,3 +1,577 @@
+openafs (1.4.0-4) unstable; urgency=low
+
+  * Hopefully fix sparc64 kernel support.  Thanks, Troy Benjegerdes.
+    (Closes: #219429)
+  * Document the need to restart ptserver and vlserver on the existing
+    database servers when adding a new one.  Thanks, Niklas Edmundsson.
+    (Closes: #349659)
+  * Include xstat_cm_test and xstat_fs_test in openafs-client, as they're
+    quite useful for debugging.
+
+ -- Russ Allbery <rra@debian.org>  Tue, 14 Mar 2006 21:07:07 -0800
+
+openafs (1.4.0-3) unstable; urgency=low
+
+  * Apply upstream patch from Chas Williams to be more careful about what
+    dentry is used in renames, avoiding a kernel fault when renaming
+    dentries accessed through multiple paths (such as RO and RW).
+  * Apply patch to allow the module to build with the Ubuntu kernel.
+    Thanks, Björn Torkelsson.  (Closes: #342607)
+  * Stop unconditionally forcing the compiler to cc or gcc in configure,
+    allowing, among other things, building the kernel module with a
+    compiler other than the default system compiler.  (Closes: #338306)
+  * Call kernel-version correctly from prep-modules, which fixes build
+    issues with manually-built kernels.  (Closes: #344851)
+  * Backport man pages from upstream CVS.  (Closes: #79763)
+  * Include afsmonitor and livesys in openafs-client.
+  * Include volinfo in openafs-fileserver.
+  * Document FAM's lack of support for AFS's security model and recommend
+    gamin instead.  (Closes: #343246)
+  * Add a hint to README.Debian on what to do about the cache partition if
+    running ReiserFS or XFS without a spare partition.
+  * Use make install into debian/tmp rather than make dest.  make dest is
+    mostly for Transarc compatibility and make install looks more like a
+    typical package and makes it easier to evaluate differences in FHS
+    location between upstream and Debian.  As a side effect, there's no
+    need to mess with the @sys link.  (Closes: #165909)
+  * Install more files with dh_install rather than install commands in
+    debian/rules so that *.install shows a more complete picture of what
+    goes into each package.
+  * Don't ignore make distclean errors.
+
+ -- Russ Allbery <rra@debian.org>  Tue, 27 Dec 2005 15:34:16 -0800
+
+openafs (1.4.0-2) unstable; urgency=low
+
+  * Install more of the standard OpenAFS utilities.  (Closes: #138851)
+    - openafs-dbserver: Install prdb_check and vldb_check.
+    - openafs-fileserver: Install voldump.
+    - openafs-client: Install fstrace, scout, and up (as afs-up).
+    - Modify fstrace to load its catalog from /usr/share/openafs.
+  * Do not install kpwvalid.  The default version does little useful and
+    the kpwvalid binary must be in AFS for it to take effect.
+  * Overhaul the way kernel modules are built.
+    - Recommend linux-image rather than kernel-image for newer kernels.
+    - Always recommend the kernel package; since it's only a recommends,
+      there's no need to special-case the hand-built kernel case.
+    - Be less fragile about how the kernel version is used in prep-modules
+      to support other ways kernel modules are built.  (Closes: #341836)
+    - Add Build-Depends and Uploaders to the openafs-modules-source
+      control file.
+    - Remove unused parts of prep-modules and heavily comment it.
+  * openafs-client should only recommend the AFS kernel module.  Many of
+    the client programs will work in unauthenticated mode without it, and
+    openafs-fileserver depends on it (but doesn't require the kernel
+    module).  (Closes: #342095)
+  * openafs-modules-source no longer has to depend on as many libraries.
+  * Suggest the same PAM settings for pam_krb5 that libpam-krb5 does.
+  * Update uploader address.
+
+ -- Russ Allbery <rra@debian.org>  Tue,  6 Dec 2005 23:34:18 -0800
+
+openafs (1.4.0-1) unstable; urgency=low
+
+  * New upstream version.
+    - Builds correctly with 2.6.13 kernels and software suspend.
+    - Builds correctly with 2.6.12-10.  (Closes: #337883)
+  * Install afsd in /sbin rather than /usr/sbin.  While putting /usr in
+    AFS isn't as common as it once was, no reason to make it harder than
+    it needs to be.
+  * Update CellServDB to the 2005-10-15 grand.central.org version.
+  * Install NEWS as an upstream changelog.
+  * Add a watch file.
+  * Remove the unused and uninstalled make-links script.
+
+ -- Russ Allbery <rra@stanford.edu>  Sun,  6 Nov 2005 21:37:40 -0800
+
+openafs (1.4rc4-1) unstable; urgency=low
+
+  * New upstream version.
+    - Correctly handle root.afs becoming replicated after the client
+      starts.  This should resolve the problems with AFS eventually
+      failing on the first system using a new cell.  (Closes: #88906)
+  * When kill_all_afs is enabled in /etc/openafs/afs.conf, only kill AFS
+    processes if the runlevel is 0 or 6.  You really only want this when
+    the system is shutting down.  (Closes: #325347)
+  * Remove the init script check of the cache file system and instead
+    improve the check in afsd.  The init script check used stat, which is
+    in /usr/bin and therefore not fair game for init scripts.
+  * Set PATH in the init script, just in case.
+  * libpam-openafs-kaserver must depend on openafs-client, not just
+    recommend it, since acquiring tokens requires that the client be
+    running.
+  * Expand README.Debian and include information about PAM configuration.
+  * Link libpam-openafs-kaserver's doc directory to openafs-client.
+  * Make the short descriptions shorter.
+  * Translation updates.
+    - Portuguese (Brazil), thanks André Luís Lopes.
+
+ -- Russ Allbery <rra@stanford.edu>  Wed, 21 Sep 2005 13:36:34 -0700
+
+openafs (1.4rc1-1) unstable; urgency=low
+
+  * New upstream version.
+  * Install pam_afs.krb.so on hppa.  I believe the new PAM module build
+    process fixes the issue that was being worked around before.
+  * Improve the documentation and scripts for setting up new servers or a
+    new cell.  afs-rootvol can now be run from a client configured to use
+    dynroot.  afs-newcell generates the server CellServDB directly to work
+    around oddities with bos addhost.  There are many other, more minor
+    improvements as well.  Thanks to Faheem Mitha and Sergio Gelato for
+    analysis and patches.  (Closes: #322638)
+  * Update the configuration transcript to reflect the current packages,
+    messages, and instructions.  Thanks, Faheem Mitha.
+  * Fill in the server CellServDB with information about the local cell,
+    if available in the client CellServDB, rather than always initializing
+    it to contain just the name of the cell.
+  * Detect AFS caches on non-ext2/ext3 file systems and abort AFS client
+    initialization.  (Closes: #249315)
+  * Provide a way of setting sysname in afs.conf.  (Closes: #324694)
+  * Don't create the unused /etc/openafs/AFSLog file.  (Closes: #120097)
+  * Redo how library object files are found for the PAM module build to
+    avoid assuming C locale character set behavior.  (Closes: #323582)
+  * Remove the openafs-client warning against dynroot for the first system
+    in a cell now that afs-rootvol can cope.  Provide some basic
+    documentation of the CellAlias syntax in that message until we have a
+    real man page.
+  * Suggest openafs-doc.
+  * Update standards version to 3.6.2 for the kernel module packages (no
+    changes required).
+  * Translation updates.
+    - Czech, thanks Martin Sin.
+    - Vietnamese, thanks Clytie Siddall.
+    - French, thanks Christian Perrier.
+
+ -- Russ Allbery <rra@stanford.edu>  Fri, 26 Aug 2005 01:30:21 -0700
+
+openafs (1.3.87-1) unstable; urgency=low
+
+  * New upstream version.
+    - Fixes build problems with 2.6.12.3 and later.  (Closes: #320099)
+  * Add support for ppc64, thanks Andreas Jochens.  (Closes: #322020)
+  * Improve the openafs-client init script.
+    - Update the default client options based on the cache tuning synopsis
+      by Jeffrey Hutzelman, including setting a larger chunksize for all
+      default option sets.  (Closes: #303944)
+    - Choose the client options based on the cache size by default.
+    - Move the code to build the options string to the init script from
+      afs.conf so that afs.conf is pure configuration.
+    - Add an AFS_PRE_SHUTDOWN hook called before shutting down the client.
+    - Provide a shutdown hook, disabled by default, that kills all
+      processes with files open in /afs.  Enabling this ensures a more
+      reliable clean shutdown and umounting of the cache partition, but
+      may not always be what the admin wants.
+    - Improve the readability of the output on start.
+    - Significantly improve the comments in afs.conf.
+    - Remove the code to set -nosettime as it's now the default.
+  * Move the openafs-client init script and afs.conf file we use into the
+    debian directory rather than patching the upstream version.  We've
+    diverged so much that there's no point in continuing to merge changes.
+  * Diagnose unsupported architectures earlier and with a clearer error.
+  * Suppress error messages from a missing kernel version header since
+    they occur normally when doing the regular package build and are just
+    confusing.  Instead, print an error in kern-sysname and abort if the
+    kernel version could not be determined.
+  * Rework how PAM modules are handled.
+    - Build against the pthread-aware libraries.  (Closes: #297804)
+    - Use the shared library objects instead of building separate PIC
+      objects, eliminating the need for many Makefile modifications.
+    - Include pam_afs.krb.so as well.  (Closes: #165972)
+  * Don't include the empty /usr/src/modules directory in
+    openafs-modules-source, only the tarball, to match how other kernel
+    module source packages behave.  (Closes: #244685)
+  * Update config.guess and config.sub.
+  * Translation updates.
+    - French, thanks Christian Perrier.  (Closes: #318807)
+    - Vietnamese, thanks Clytie Siddall.  (Closes: #319705)
+    - Czech, thanks Martin Sin.  (Closes: #319940)
+
+ -- Russ Allbery <rra@stanford.edu>  Sun, 14 Aug 2005 14:41:48 -0700
+
+openafs (1.3.82-2) unstable; urgency=low
+
+  * Output error messages from heredocs in the init script with cat rather
+    than echo.  Thanks, Reid Barton.  (Closes: #311729)
+  * Make bosserver less picky about permissions and remove the attempt to
+    set /etc/openafs/server-local not-world-readable since dh_fixperms was
+    overridding it anyway.  (Closes: #312921)
+  * Fix some spacing and capitalization errors in the debconf templates.
+    Thanks, Clytie Siddall.  (Closes: #316597)
+  * Initial Czech translation, thanks Martin Sin.  (Closes: #310699)
+  * New Vietnamese translation, thanks Clytie Siddall.  (Closes: #316598)
+  * Update standards version to 3.6.2 (no changes required).
+
+ -- Russ Allbery <rra@stanford.edu>  Mon, 11 Jul 2005 17:34:13 -0700
+
+openafs (1.3.82-1) unstable; urgency=medium
+
+  * New upstream version.  (Closes: #307699)
+    - Proper locking for preempt kernels.  This bug manifested as an
+      inability to shut down AFS cleanly.  (Closes: #308399, #304040)
+    - Correctly handle the inotify semaphore.  (Closes: #303495)
+  * Repackage upstream to remove MacOS-specific files covered by the APSL.
+    Remove the WINNT directory to save space since we have to repackage
+    anyway.  Provide a get-orig-source target to do the repackaging.
+  * libpam-openafs-kaserver: Fix compilation so that the PAM module isn't
+    missing symbols and therefore unusable.  (Closes: #308844)
+  * Apply patch from Chas Williams to fix stale cache data from deleted
+    files, a bug introduced in 1.3.82.
+  * In all cases, only build the module appropriate to the kernel we're
+    building against.  Building an SMP module against a non-SMP kernel
+    fails due to missing defines.  (Closes: #225907)
+  * README.modules: Add documentation for module-assistant and recommend
+    it when using Debian kernels.  Mention divergences from upstream in
+    module naming.  (Closes: #253168)  Emphasize that the kernel source
+    tree used for make-kpkg must be identically configured to the kernel
+    the module will be used with.
+  * Update copyright with more complete information from upstream
+    src/LICENSE.
+  * Simplify clean target.  Upstream make distclean is now better.
+
+ -- Russ Allbery <rra@stanford.edu>  Tue, 10 May 2005 21:09:55 -0700
+
+openafs (1.3.81-5) unstable; urgency=low
+
+  * Handle modules named either with or without the .mp extension on SMP
+    hosts.  (Closes: #305389, #307280, #307797)
+  * README.Debian: Document that the client cache partition must be ext2
+    or ext3 and that XFS and ReiserFS will not work.  upserver and
+    upclient are now provided.  Provide some information about why
+    kaserver is not provided.  (Closes: #249315)
+  * Overhaul the module build rules.
+    - Use debhelper to build the module binary package.
+    - Let debhelper handle the module postinst and prerm control scripts.
+    - Properly support modules_config and modules_clean.
+    - Break the build process into configure, build, install, and binary
+      rules, paralleling the regular build rules and making it easier to
+      maintain the make-kpkg build targets.
+    - Include the kernel version in the long description.
+    - Update standards version of module packages to 3.6.1.
+    - Include the copyright and basic documentation in the module binary
+      package.  Otherwise, policy requires an exact versioned dependency
+      on the package containing the copyright file.
+  * Update standards version to 3.6.1.
+    - Install Debian::OpenAFS::ConfigUtils in /usr/share, not /usr/lib.
+    - Always enable debugging symbols and disable optimization if noopt is
+      set in DEB_BUILD_OPTIONS.  (Alas, this doesn't entirely work; the
+      upstream makefiles don't always honor the configure options.)
+    - /etc/init.d/openafs-fileserver restart starts bosserver if it's not
+      already running.
+  * Update debhelper compatibility level to V4.
+    - Remove all *.conffiles control files.  They're no longer needed.
+    - Use misc:Depends to get debconf dependencies.
+    - Use dh_install rather than the movefiles script.
+  * openafs-dbserver doesn't need to depend on debconf.
+  * Use dh_perl to get the correct Perl dependency for openafs-dbserver.
+  * Remove unnecessary build dependencies.
+  * Depend on comerr-dev rather than e2fslibs-dev.
+  * Remove unnecessary preinst for openafs-fileserver.
+  * Clean up and reformat package build rules.
+  * Update lintian overrides.
+
+ -- Russ Allbery <rra@stanford.edu>  Sat,  7 May 2005 20:57:12 -0700
+
+openafs (1.3.81-4) unstable; urgency=low
+
+  * make-kpkg doesn't run fakeroot for us but instead expects the module
+    rules file to use $(ROOT_CMD) appropriately.  (Closes: #237861)
+  * Put the compiled modules into KPKG_DEST_DIR if set.  This appears to
+    be preferred over DEB_DEST by the make-kpkg documentation.  Thanks,
+    Jonas Smedegaard.  (Closes: #206403)
+  * Add a check to afs-newcell to ensure the local hostname doesn't
+    resolve to 127.0.0.1.  (Closes: #163751)
+  * Exclude .svn directories from the modules source tarball.
+  * Fix genchanges for module builds to not fail when trying to remove a
+    nonexistent file.
+    * New French translations from Christian Perrier, Closes: #305780
+
+ -- Russ Allbery <rra@stanford.edu>  Sun, 17 Apr 2005 00:00:27 -0700
+
+openafs (1.3.81-3) unstable; urgency=low
+
+  * Patch from kcr to fix osconf.m4 so that sparc defines afs_pthread_env
+    and thus builds.
+
+ -- Sam Hartman <hartmans@debian.org>  Wed,  6 Apr 2005 19:54:24 -0400
+
+openafs (1.3.81-2) unstable; urgency=low
+
+  * Oops, update debian/sysname because hppa is hppa not parisc-*-linux-*
+    since we now use dpkg --print-installation-architecture
+
+ -- Sam Hartman <hartmans@debian.org>  Wed,  6 Apr 2005 11:10:14 -0400
+
+openafs (1.3.81-1) unstable; urgency=low
+
+  * New Upstream version
+  * Use Linux 2.4 as the claimed userspace OS for alpha; hopefully this
+    resolves the  largefile issue and allows us to build again, Closes: #271923
+
+ -- Sam Hartman <hartmans@debian.org>  Wed,  6 Apr 2005 08:08:29 -0400
+
+openafs (1.3.80-1) UNRELEASED; urgency=low
+
+  *  New upstream version, Closes: #297781
+  * I think this works on sparc better and definitely works on 2.6.10, Closes: #283488
+  * Make thiscell a high debconf value, Closes: #302939
+  * New upstream version (1.3.79)
+        - Works with 2.6.10, Closes: #296835
+  * Use amd64 not x86_64 for sysname script, Closes: #296855
+  * Patches from kcr
+      - Loosen dependencies for client and modules
+      - Enable debugging
+      - Some callbacks later stuff and fix short bitfield
+      - Fix permissions on /etc/openafs/server-local, Closes: #271460
+  
+  * Versions 1.3.79 an newer work on amd64, Closes: #262382
+
+ -- Sam Hartman <hartmans@debian.org>  Mon,  4 Apr 2005 00:32:42 -0400
+
+openafs (1.3.77-1) unstable; urgency=low
+
+  * New upstream version
+  * Target for unstable not experimental
+  * New CellServDB
+  * OpenAFS seems not to have a changelog available, so stop shipping it.
+  * Build openafs.ko not libafs.ko so the right name appears in lsmod
+
+ -- Sam Hartman <hartmans@debian.org>  Sat,  8 Jan 2005 20:02:23 -0500
+
+openafs (1.3.74-1) experimental; urgency=low
+
+  * New upstream version
+
+ -- Sam Hartman <hartmans@mit.edu>  Mon, 15 Nov 2004 16:58:02 -0500
+
+openafs (1.3.73-1) experimental; urgency=low
+
+  * New upstream version
+    -  Works with 2.6.8 and 2.6.9, Closes: #277521
+  * Remove call to dh_suidregister
+  * Update sysname to prefer 2.4 on more arches for largefile issues
+  * Patch from pnelson@ANDREW.CMU.EDU to add x86_64 support to sysname scripts
+  * debian/sysname: Use installation architecture 
+
+ -- Sam Hartman <hartmans@debian.org>  Wed, 27 Oct 2004 20:42:12 -0400
+
+openafs (1.3.71-1) experimental; urgency=low
+
+  * New upstream version
+
+ -- Sam Hartman <hartmans@mit.edu>  Tue, 31 Aug 2004 09:45:59 -0400
+
+openafs (1.3.70-1) experimental; urgency=low
+
+  * New upstream version
+  * debian/kern-sysname: 2.6* not 2.6
+  * Enable supergroups and largefile-fileserver
+
+ -- Sam Hartman <hartmans@debian.org>  Sun, 15 Aug 2004 18:56:48 -0400
+
+openafs (1.3.65-1) experimental; urgency=low
+
+  * New upstream Version, Closes: #256580
+
+ -- Sam Hartman <hartmans@debian.org>  Mon, 28 Jun 2004 19:40:30 -0400
+
+openafs (1.3.64-2) experimental; urgency=low
+
+  * Allow loading of a .ko file not just .o
+
+ -- Sam Hartman <hartmans@debian.org>  Mon, 31 May 2004 13:46:05 -0400
+
+openafs (1.3.64-1) experimental; urgency=low
+
+  * New upstream version
+  * Add 2.6 to kern-sysname for i386
+  * Apply patch from
+    /afs/cs.cmu.edu/user/jhutz/junk/openafs-patches/openafs-build-on-linux26  which correctly generates 2.6 modules, Closes: #234284
+  * use make only_libafs not dest_only_libafs
+    - AS a result, build times are much faster, Closes: #144781
+  * Correct module build scripts to install module package from new location
+  * Fix afslocaldir to be /etc/openafs/server-local, Closes: #237154
+
+ -- Sam Hartman <hartmans@debian.org>  Sun, 30 May 2004 18:12:54 -0400
+
+openafs (1.2.12-1) unstable; urgency=medium
+
+  * New upstream version
+  * Medium urgency because this version fixes a significant server crash
+    bug.  Windows clients, particularly greater than version 1.3.70 tend
+    to crash openafs servers.
+  * Cause openafs-kpasswd to conflict  with kerberos4kth-clients, Closes:
+    #277844 
+  * Conflict between libopenafs-dev and arla-dev, Closes: #274788
+
+ -- Sam Hartman <hartmans@debian.org>  Fri, 22 Oct 2004 16:21:29 -0400
+
+openafs (1.2.11-3) unstable; urgency=high
+
+  * Now that libopenafs-dev contains binaries, it should have shared
+    library dependencies, Closes: #267509
+  * New fr.po from Christian Perrier, Closes: #237098
+
+ -- Sam Hartman <hartmans@debian.org>  Tue, 24 Aug 2004 12:10:02 -0400
+
+openafs (1.2.11-2) unstable; urgency=low
+
+  * Install rxgen
+  * Install upserver and upclient
+  * Mark as version 1.2.11, Closes: #255883
+
+ -- Sam Hartman <hartmans@debian.org>  Thu, 12 Aug 2004 14:27:39 -0400
+
+openafs (1.2.11-1) unstable; urgency=high
+
+  * Versions prior to 1.2.10 stopped working with multiple servers in a
+    cell because of a ubik bug prompting the 1.2.11 release.
+  * Fix afs startup script not to start afsd if already running; really
+    fixed in 1.2.10-3, but not documented, Closes: #219702
+
+ -- Sam Hartman <hartmans@debian.org>  Sat, 10 Jan 2004 16:37:33 -0500
+
+openafs (1.2.10-3) unstable; urgency=low
+
+  * Fix Openafs not to include kernel headers from /usr/include,
+  Closes: #220600 
+  * Fix typo in openafs templates, Closes: #215714
+  * New French translations, Closes: #216158
+  * Build-depend on e2fslibs-dev to get appropriate headers
+
+ -- Sam Hartman <hartmans@debian.org>  Thu, 20 Nov 2003 16:02:45 -0500
+
+openafs (1.2.10-2) unstable; urgency=low
+
+  * New Brazilian Portuguese (pt_BR) translations, Closes: #208035
+  * Don't conflict with ircd, Closes: #204865
+  * Fix wording of question about using dynroot, Closes: #209332
+  * New French debconf translations, sorry about the delay in including these, Closes: #203608
+  * Avoid yes/no construction in openafs-client templates, Closes: #198476
+  * Fix libpam-openafs-kaserver to include the symbols it needs, patch
+    from Daniel Joseph Barnhart Clark , Closes: #194818
+
+ -- Sam Hartman <hartmans@debian.org>  Mon, 13 Oct 2003 00:38:42 -0400
+
+openafs (1.2.10-1) unstable; urgency=low
+
+  * New upstream version
+  * net/*.h included properly by kernel module, Closes: #204642
+  * Don't build libafsrpc or libafsauthent, as we can't exactly use them
+    because they contain non-pic code, Closes: #203456
+  * I think I finally build the PAM module on hppa, Closes: #179679
+  * Decnet includes should work now because of the change of the net
+    symlink, Closes: #204486
+  * Escape $ in debian/rules, Closes: #204185
+
+ -- Sam Hartman <hartmans@debian.org>  Sun, 24 Aug 2003 18:03:21 -0400
+
+openafs (1.2.9-3) unstable; urgency=low
+
+  * Add support for kernel headers, thanks to Patrick Sodre, 
+    Closes: #173137 
+  * Add patch to support the Debian 2.4.21 Kernel sources, thanks to amu,
+    Closes: #198774
+  * Add chronyd to list of programs we assume set the clock, thanks RISKO
+    Gergely, Closes: #201725
+  * Fix template formatting (extra leading spaces), Closes: #198477
+  * New French translations, thanks Christian Perrier, Closes: #198719
+  * Fix PAM problem on hppa, Closes: #179679
+  * Don't translate defaults: Closes: #198384
+  * Fix movefiles error handling and errors exposed by this change.  The
+    contents of libopenafs-dev  were somewhat wrong because of this.
+  * Make /usr/src/modules root.src 775, Closes: #201733
+
+ -- Sam Hartman <hartmans@debian.org>  Sat, 26 Jul 2003 18:03:31 -0400
+
+openafs (1.2.9-2) unstable; urgency=low
+
+  * Fix   to not build PAM krb since we don't install it and it breaks alpha, Closes: #189548
+  * Don't install pagsh man page symlink since we no longer link to
+    undocumented, Closes: #189860
+
+ -- Sam Hartman <hartmans@debian.org>  Mon, 21 Apr 2003 21:05:51 -0400
+
+openafs (1.2.9-1) unstable; urgency=low
+
+  * Literal newline fixes, Closes: #175627
+  * Require new kernel modules per upstream change.
+  * New upstream version
+  * Fix section of libopenafs-dev to libdevel
+  * openafs-client stop should shut down afsd if it is running even if afs
+    not mounted, Closes: #188000
+      * Fix to build on alpha again; PAM patch was broken
+  * Report i386_linux24 not linux22 on i386, Closes: #187789
+  * Convert to po-debconf, patch from Andre Luis Lopes, CLoses: #187901
+  * Fix from Lamont to build on hppa, Closes: #179679
+
+ -- Sam Hartman <hartmans@debian.org>  Sun, 13 Apr 2003 17:21:54 -0400
+
+openafs (1.2.8-4) unstable; urgency=low
+
+  * Fix from Eduard Bloch to compile on kernels with variable numbers of
+    CPUs; he is not sure it actually works yet though, Closes: #178505
+  * Patch that might possibly fix the fails to build on recent unstable;
+    definitely fixes a bug in include path handling, but I am not sure it
+    is a correct patch since I cannot reproduce the problem, Closes: #178154
+
+ -- Sam Hartman <hartmans@debian.org>  Sun,  2 Feb 2003 14:08:14 -0500
+
+openafs (1.2.8-3) unstable; urgency=medium
+
+  * Patch from Eduard Bloch <blade@debian.org> to build the PAM module for
+    kaserver users; the main thing this patch does in create a bunch of
+    PIC object files so it is a policy-conformant shared library, Closes:
+    #174668 
+  * Do not include -I/usr/include and especially -I/usr/include/sys in the
+    PAM Makefile so gcc 3.2 works; already fixed upstream, Closes: #176538
+
+ -- Sam Hartman <hartmans@debian.org>  Sun, 19 Jan 2003 17:44:53 -0500
+
+openafs (1.2.8-2) unstable; urgency=low
+
+  * Convert v5 principal names to v4 style names in rxkad 2b.  Especially
+    important for rcmd vs host
+  * Fix debian/rules clean to remove  generated files, Closes: #174625
+  * Fix AFS not to declare errno, Closes: #174059
+
+ -- Sam Hartman <hartmans@debian.org>  Fri,  3 Jan 2003 15:28:30 -0500
+
+openafs (1.2.8-1) unstable; urgency=low
+
+  * New upstream version
+
+ -- Sam Hartman <hartmans@debian.org>  Tue, 10 Dec 2002 23:43:46 -0500
+
+openafs (1.2.7-3) unstable; urgency=low
+
+  * Apparently OpenAFS and  ircd conflict on a UDP port, so you can't use
+    both at once, Closes: #150242
+  * Patch from seph to add -nosettime when ntp is installed, Closes: #155123
+  * Fix bosserver  shutdown on restart after upgrade, Closes :#155586
+  * Install translate_et, Closes: #138672
+  * Allow byacc instead of bison
+  
+ -- Sam Hartman <hartmans@debian.org>  Tue,  3 Dec 2002 22:30:44 -0500
+
+openafs (1.2.7-2) unstable; urgency=low
+
+  * Fix uss to build with bison 1.50 and 1.75 so we can throw away the
+    resulting binaries, Closes: #164366
+  * Evaluate all limited range of comparison warnings; a warning in
+    rxkad_client.c remains but is harmless, other warnings pointed to
+    potential problems that were fixed, Closes: #162754
+  * Fix s390 modules to actually build, Closes: #162772
+
+ -- Sam Hartman <hartmans@debian.org>  Sun, 20 Oct 2002 15:20:19 -0400
+
+openafs (1.2.7-1) unstable; urgency=low
+
+  * Fix typo in templates, Closes: #150356
+  
+  * New upstream version
+
+ -- Sam Hartman <hartmans@debian.org>  Thu, 26 Sep 2002 16:11:25 -0400
+
 openafs (1.2.6-1) unstable; urgency=low
 
 
@@ -308,11 +882,9 @@ openafs (1.0.1-2) unstable; urgency=medium
   * Only run init script once; confusion with DH_OPTIONS
   * Fix bosserver to look in /usr/openafs/lib so it restarts correctly every Sunday.
   * Upload to Debian (Gloses: BUG#69336)
- -- Sam Hartman <hartmans@debian.org>  Wed,  6 Dec 2000 11:21:53 -0500
-
-Do not generate .map file for module; depmod complains.  * 
+  * Do not generate .map file for module; depmod complains.
 
- --
+ -- Sam Hartman <hartmans@debian.org>  Wed,  6 Dec 2000 11:21:53 -0500
 
 openafs (1.0.1-1) unstable; urgency=low
 
@@ -434,7 +1006,3 @@ openafs (1.0.snap20001103-1) unstable; urgency=low
 
  -- unknown <hartmans@snorklewacker.mit.edu>  Fri,  3 Nov 2000 23:41:41 -0500
 
-Local variables:
-mode: debian-changelog
-add-log-mailing-address "hartmans@snorklewacker.mit.edu"
-End:
diff --git a/src/packaging/Debian/compat b/src/packaging/Debian/compat
new file mode 100644 (file)
index 0000000..b8626c4
--- /dev/null
@@ -0,0 +1 @@
+4
index 0b81a1e..ec2ec1c 100644 (file)
@@ -2,14 +2,17 @@ Source: openafs
 Section: net
 Priority: optional
 Maintainer: Sam Hartman <hartmans@debian.org>
-Build-Depends: debhelper (>= 2.2.20), libncurses5-dev, libpam0g-dev, bison, docbook-to-man, flex, autoconf, automake, perl
-Standards-Version: 3.5.0
+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
 
 Package: openafs-client
-Architecture: i386 powerpc sparc alpha s390 ia64
-Depends: ${shlibs:Depends}, debconf,  openafs-modules-source|openafs-modules1
-Conflicts: arla, openafs-modules
-Description: The AFS distributed filesystem- client support
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Recommends: openafs-modules-source (>= 1.2.9) | openafs-modules2
+Suggests: openafs-doc
+Conflicts: arla, openafs-modules1
+Description: AFS distributed filesystem client support
  AFS is a distributed filesystem allowing cross-platform sharing of
  files among multiple computers.  Facilities are provided for access
  control, authentication, backup and administrative management.
@@ -19,24 +22,25 @@ Description: The AFS distributed filesystem- client support
 
 Package: openafs-kpasswd
 Priority: extra
-Architecture: i386 powerpc sparc alpha  s390 ia64
-Depends: ${shlibs:Depends}, openafs-client (= ${Source-Version})
-Conflicts: krb5-user, heimdal-clients
-Description: The AFS distributed filesystem- old password changing
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64
+Depends: ${shlibs:Depends}, openafs-client
+Conflicts: krb5-user, heimdal-clients, kerberos4kth-clients
+Description: AFS distributed filesystem old password changing
  AFS is a distributed filesystem allowing cross-platform sharing of
  files among multiple computers.  Facilities are provided for access
  control, authentication, backup and administrative management.
  .
- This package provides kpasswd and kas, utilities needed by the 
- Transarc kaserver to create users and change passwords.  Only install
- this package if you are already using kaserver; generally you should
- not install this package for new cells or for cells using Kerberos5.
+ This package provides kpasswd and kas, utilities needed by the OpenAFS
+ kaserver to create users and change passwords.  Only install this package
+ if you are already using kaserver; generally you should not install this
+ package for new cells or for cells using Kerberos v5.
 
 Package: openafs-fileserver
-Architecture: i386 powerpc sparc alpha s390 ia64
-Depends: ${shlibs:Depends}, debconf, openafs-client (= ${Source-Version})
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64
+Depends: ${shlibs:Depends}, ${misc:Depends}, openafs-client
 Recommends: ntp
-Description: The AFS distributed filesystem- file server
+Suggests: openafs-doc
+Description: AFS distributed filesystem file server
  AFS is a distributed filesystem allowing cross-platform sharing of
  files among multiple computers.  Facilities are provided for access
  control, authentication, backup and administrative management.
@@ -45,12 +49,13 @@ Description: The 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
-Depends: ${shlibs:Depends}, debconf, openafs-fileserver (= ${Source-Version}), openafs-client (= ${Source-Version}), perl5
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64
+Depends: ${shlibs:Depends}, ${perl:Depends}, openafs-fileserver, openafs-client
+Suggests: openafs-doc
 Conflicts: openafs-ptutil
 Replaces: openafs-ptutil
 Provides: openafs-ptutil
-Description: The AFS distributed filesystem- database server
+Description: AFS distributed filesystem database server
  AFS is a distributed filesystem allowing cross-platform sharing of
  files among multiple computers.  Facilities are provided for access
  control, authentication, backup and administrative management.
@@ -60,10 +65,13 @@ Description: The AFS distributed filesystem- database server
  protection servers.
 
 Package: libopenafs-dev
-Section: devel
-Architecture: i386 powerpc sparc alpha s390 ia64
+Section: libdevel
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64
 Priority: extra
-Description: The AFS distributed filesystem- development libraries
+Depends: ${shlibs:Depends}
+Suggests: openafs-doc
+Conflicts: arla-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
  control, authentication, backup and administrative management.
@@ -73,12 +81,23 @@ Description: The AFS distributed filesystem- development libraries
 
 Package: openafs-modules-source
 Priority: extra
-Depends: bison, flex, debhelper, libpam0g-dev, libncurses5-dev, kernel-package
+Depends: bison, flex, debhelper (>= 4.0.0), kernel-package | module-assistant
 Architecture: all
-Description: The AFS distributed filesystem- Module Sources
+Description: AFS distributed filesystem kernel module source
  AFS is a distributed filesystem allowing cross-platform sharing of
  files among multiple computers.  Facilities are provided for access
  control, authentication, backup and administrative management.
  .
  This package provides source to the AFS kernel modules.
 
+Package: libpam-openafs-kaserver
+Priority: extra
+Depends: ${shlibs:Depends}, openafs-client
+Architecture: i386 powerpc sparc alpha s390 ia64 hppa amd64 ppc64
+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
+ control, authentication, backup and administrative management.
+ .
+ This package provides a PAM module for existing  sites using the AFS
+ kaserver for authentication.  New sites should use a Kerberos v5
index 7ceb277..66aaad4 100644 (file)
@@ -2,15 +2,19 @@ Source: openafs
 Section: net
 Priority: optional
 Maintainer: Sam Hartman <hartmans@debian.org>
-Standards-Version: 3.1.1
+Uploaders: Russ Allbery <rra@debian.org>
+Build-Depends: debhelper (>= 4.1.16), flex, bison
+Standards-Version: 3.6.2
 
 Package: openafs-modules-=KVERS
-Conflicts: openafs-client (<< 1.2.2-0)
-Provides: openafs-modules1
+Conflicts: openafs-client (<< 1.2.9)
+Provides: openafs-modules2
 Architecture: any
-Description: The AFS distributed filesystem- Kernel Module
+Recommends: =IMG-=KVERS
+Description: 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
+ This package provides the compiled AFS kernel module for kernel
+ version =KVERS.
index a68b88b..0bed00b 100644 (file)
@@ -1,9 +1,20 @@
 This package was debianized by Sam Hartman <hartmans@debian.org> on
 Fri,  3 Nov 2000 23:41:41 -0500.
 
-It was downloaded from the Openafs CVS repository.
+It was downloaded from either:
 
-Upstream Maintainers(s):openafs-gatekeepers@openafs.org
+    http://www.openafs.org/release/
+    /afs/grand.central.org/software/openafs/
+
+Upstream Maintainers:
+
+    openafs-gatekeepers@openafs.org
+
+The upstream source has been repackaged to remove the src/packaging/MacOS
+directory, which contained a file (afssettings.m) that was covered under
+the Apple Public Source License 2.0.  This license is not considered
+DFSG-free.  Since the repackaging was needed anyway, the WINNT directory
+was also dropped, reducing the size of the upstream tarball by 8MB.
 
 Copyright:
 
@@ -240,3 +251,93 @@ Copyright:
    party to this Agreement will bring a legal action under this Agreement
    more than one year after the cause of action arose. Each party waives
    its rights to a jury trial in any resulting litigation.
+
+Kerberos 5 ticket support in rxkad is subject to the following copyright:
+/*
+ * Copyright (c) 1995, 1996, 1997, 2002 Kungliga Tekniska Högskolan
+ * (Royal Institute of Technology, Stockholm, Sweden).
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ * 3. Neither the name of the Institute nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+Some code in rxkad/ticket5.c is subject to the following copyright:
+/*
+ * Copyright 1992, 2002 by the Massachusetts Institute of Technology.
+ * All Rights Reserved.
+ *
+ * Export of this software from the United States of America may
+ *   require a specific license from the United States Government.
+ *   It is the responsibility of any person or organization contemplating
+ *   export to obtain such a license before exporting.
+ * 
+ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ * distribute this software and its documentation for any purpose and
+ * without fee is hereby granted, provided that the above copyright
+ * notice appear in all copies and that both that copyright notice and
+ * this permission notice appear in supporting documentation, and that
+ * the name of M.I.T. not be used in advertising or publicity pertaining
+ * to distribution of the software without specific, written prior
+ * permission.  Furthermore if you modify this software you must label
+ * your software as modified software and not distribute it in such a
+ * fashion that it might be confused with the original M.I.T. software.
+ * M.I.T. makes no representations about the suitability of
+ * this software for any purpose.  It is provided "as is" without express
+ * or implied warranty.
+ */
+
+Some portions of Rx are subject to the following license:
+/*
+ * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
+ * unrestricted use provided that this legend is included on all tape
+ * media and as a part of the software program in whole or part.  Users
+ * may copy or modify Sun RPC without charge, but are not authorized
+ * to license or distribute it to anyone else except as part of a product or
+ * program developed by the user or with the express written consent of
+ * Sun Microsystems, Inc.
+ *
+ * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
+ * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
+ *
+ * Sun RPC is provided with no support and without any obligation on the
+ * part of Sun Microsystems, Inc. to assist in its use, correction,
+ * modification or enhancement.
+ *
+ * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
+ * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
+ * OR ANY PART THEREOF.
+ *
+ * In no event will Sun Microsystems, Inc. be liable for any lost revenue
+ * or profits or other special, indirect and consequential damages, even if
+ * Sun has been advised of the possibility of such damages.
+ *
+ * Sun Microsystems, Inc.
+ * 2550 Garcia Avenue
+ * Mountain View, California  94043
+ */
diff --git a/src/packaging/Debian/doc/build-man b/src/packaging/Debian/doc/build-man
new file mode 100644 (file)
index 0000000..1274495
--- /dev/null
@@ -0,0 +1,56 @@
+#!/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 ..
index 5d50cd5..e38781b 100644 (file)
@@ -2,21 +2,18 @@
 # genchanges.sh - generate a changes file for a deb file generated via
 #      the make-kpkg utility
 
-# KSRC KMAINT and KEMAIL are expected to be passed through the environment
+# KSRC, KVERS, KMAINT, and KEMAIL are expected to be passed through the
+# environment.
 
 set -e
 umask 022
 
-#KVERS=`cat debian/KVERS`
 MODVERS=`cat debian/VERSION | sed s/:/\+/`
 ARCH=`dpkg --print-architecture`
 
 mprefix=`grep Package: debian/control.module | cut -d' ' -f 2 | cut -d= -f 1`
-
-# the changes file's name
 chfile="$KSRC/../$mprefix${KVERS}${INT_SUBARCH}_${MODVERS}_${ARCH}.changes"
 
 dpkg-genchanges -b ${KMAINT:+-m"$KMAINT <$KEMAIL>"} -u"$KSRC/.." \
-       -cdebian/control > "$chfile"
-#pgp -fast ${KMAINT:+-u"$KMAINT"} < "$chfile.pt" > "$chfile"
-rm "$chfile.pt"
+    -cdebian/control > "$chfile"
+#debsign "$chfile"
index 00964eb..1aa0293 100644 (file)
@@ -1,68 +1,97 @@
 #!/bin/sh
+
+if [ x"$KVERS" = x ] ; then
+    echo "ERROR: no kernel version" >&2
+    echo "  ($KSRC/include/linux/version.h not found?)" >&2
+    echo UNKNOWN
+    exit 1
+fi
+
 case `arch` in
 i[3456]86)
-       case $KVERS in
-           2.2*)
-               echo i386_linux22
-               ;;
-           2.4*)
-               echo i386_linux24
-               ;;
-           esac
-;;
-    ia64)
-       case $KVERS in
-           2.4*)
-               echo ia64_linux24
-               ;;
-           2.6*)
-               echo ia64_linux26
-               ;;
-           esac
-       ;;
-    alpha)
-       case $KVERS in
-           2.2*)
-               echo alpha_linux_22
-               ;;
-           2.4*)
-               echo alpha_linux_24
-               ;;
-           esac
-;;
-    sparc)
-       case $KVERS in
-           2.2*)
-               echo sparc_linux22
-               ;;
-           2.4*)
-               echo sparc_linux24
-               ;;
-           esac
-       ;;
-    sparc64)
-        case $KVERS in
-           2.2*)
-               echo sparc64_linux22
-               ;;
-           2.4*)
-               echo sparc64_linux24
-               ;;
-           esac
-       ;;
-           
-    ppc)
-       case $KVERS in
-           2.2*)
-               echo ppc_linux22
-               ;;
-           2.4*)
-               echo ppc_linux24
-               ;;
-           esac
-           ;;
-       *)
-       echo ERROr:  sysname not yet known
-       exit 1
-
+    case $KVERS in
+    2.2*)
+        echo i386_linux22
+        ;;
+    2.4*)
+        echo i386_linux24
+        ;;
+    2.6*)
+        echo i386_linux26
+        ;;
+    esac
+    ;;
+x86_64)
+    case $KVERS in
+    2.4*)
+        echo amd64_linux24
+        ;;
+    2.6*)
+        echo amd64_linux26
+        ;;
+    esac
+    ;;
+ia64)
+    echo ia64_linux24
+    ;;
+alpha)
+    case $KVERS in
+    2.2*)
+        echo alpha_linux_22
+        ;;
+    2.4*)
+        echo alpha_linux_24
+        ;;
+    esac
+    ;;
+sparc)
+    case $KVERS in
+    2.2*)
+        echo sparc_linux22
+        ;;
+    2.4*)
+        echo sparc_linux24
+        ;;
+    esac
+    ;;
+sparc64)
+    case $KVERS in
+    2.2*)
+        echo sparc64_linux22
+        ;;
+    2.4*)
+        echo sparc64_linux24
+        ;;
+    esac
+    ;;
+ppc)
+    case $KVERS in
+    2.2*)
+        echo ppc_linux22
+        ;;
+    2.4*)
+        echo ppc_linux24
+        ;;
+    2.6)
+        echo ppc_linux26
+        ;;
+    esac
+    ;;
+ppc64)
+    case $KVERS in
+    2.4*)
+        echo ppc64_linux24
+        ;;
+    2.6*)
+        echo ppc64_linux26
+        ;;
+    esac
+    ;;
+s390)
+    echo s390_linux24
+    ;;
+*)
+    echo "ERROR: unsupported architecture" >&2
+    echo UNKNOWN
+    exit 1
 esac
diff --git a/src/packaging/Debian/kernel-version b/src/packaging/Debian/kernel-version
new file mode 100644 (file)
index 0000000..093e7d9
--- /dev/null
@@ -0,0 +1,15 @@
+#!/usr/bin/perl
+#
+# Extract the kernel version from the kernel version header file.  Takes the
+# kernel source path as its only argument.  If the version header couldn't be
+# found, print nothing and exit quietly.
+
+my $ksrc = shift;
+unless ($ksrc && open (VERSION, "$ksrc/include/linux/version.h")) {
+    exit 0;
+}
+my $line = <VERSION>;
+if ($line =~ /"(.+)"/) {
+    print "$1\n";
+}
+exit 0;
diff --git a/src/packaging/Debian/libopenafs-dev.dirs b/src/packaging/Debian/libopenafs-dev.dirs
new file mode 100644 (file)
index 0000000..6845771
--- /dev/null
@@ -0,0 +1 @@
+usr/lib
diff --git a/src/packaging/Debian/libopenafs-dev.install b/src/packaging/Debian/libopenafs-dev.install
new file mode 100644 (file)
index 0000000..74bdd5a
--- /dev/null
@@ -0,0 +1,8 @@
+debian/tmp/usr/bin/rxgen                usr/bin
+
+debian/tmp/usr/include                  usr
+
+debian/tmp/usr/lib/*.a                  usr/lib
+debian/tmp/usr/lib/afs                  usr/lib
+
+debian/doc/man1/rxgen.1                 usr/share/man/man1
diff --git a/src/packaging/Debian/libpam-openafs-kaserver.dirs b/src/packaging/Debian/libpam-openafs-kaserver.dirs
new file mode 100644 (file)
index 0000000..e721705
--- /dev/null
@@ -0,0 +1,2 @@
+lib/security
+usr/share/doc
index 68a7e61..0781a7e 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh -e
 
-. /usr/share/debconf/confmodule ||exit
+. /usr/share/debconf/confmodule || exit
 
 db_version 2.0
 if [ -r /etc/openafs/ThisCell ] ; then
@@ -15,7 +15,7 @@ if [ -r /etc/openafs/cacheinfo ] ; then
     IFS=: read mountpoint cachedir cachesize  </etc/openafs/cacheinfo
     db_set openafs-client/cachesize $cachesize
     fi
-db_input medium openafs-client/thiscell ||true
+db_input high openafs-client/thiscell ||true
 db_input critical openafs-client/cachesize ||true
 db_go
 test -f /etc/openafs/afs.conf &&. /etc/openafs/afs.conf
index 169a038..3d959f9 100644 (file)
@@ -2,5 +2,3 @@ README
 debian/README.servers
 debian/configuration-transcript.txt
 debian/README.modules
-NEWS
-RELNOTES-1.2.6
diff --git a/src/packaging/Debian/openafs-client.install b/src/packaging/Debian/openafs-client.install
new file mode 100644 (file)
index 0000000..52428d4
--- /dev/null
@@ -0,0 +1,224 @@
+debian/afs.conf                         etc/openafs
+
+debian/tmp/usr/bin/afsmonitor           usr/bin
+debian/tmp/usr/bin/bos                  usr/bin
+debian/tmp/usr/bin/cmdebug              usr/bin
+debian/tmp/usr/bin/fs                   usr/bin
+debian/tmp/usr/bin/klog                 usr/bin
+debian/tmp/usr/bin/livesys              usr/bin
+debian/tmp/usr/bin/pagsh                usr/bin
+debian/tmp/usr/bin/pts                  usr/bin
+debian/tmp/usr/bin/scout                usr/bin
+debian/tmp/usr/bin/sys                  usr/bin
+debian/tmp/usr/bin/tokens               usr/bin
+debian/tmp/usr/bin/translate_et         usr/bin
+debian/tmp/usr/bin/udebug               usr/bin
+debian/tmp/usr/bin/unlog                usr/bin
+debian/tmp/usr/bin/up                   usr/bin
+debian/tmp/usr/bin/xstat_cm_test        usr/bin
+debian/tmp/usr/bin/xstat_fs_test        usr/bin
+
+debian/tmp/usr/sbin/rxdebug             usr/bin
+debian/tmp/usr/sbin/vos                 usr/bin
+
+debian/tmp/usr/sbin/backup              usr/sbin
+debian/tmp/usr/sbin/butc                usr/sbin
+debian/tmp/usr/sbin/fms                 usr/sbin
+debian/tmp/usr/sbin/fstrace             usr/sbin
+
+debian/tmp/usr/sbin/afsd                sbin
+
+src/afs/afszcm.cat                      usr/share/openafs
+
+debian/CellServDB                       usr/share/openafs
+
+debian/doc/man1/afs.1                   usr/share/man/man1
+debian/doc/man1/afsmonitor.1            usr/share/man/man1
+debian/doc/man1/bos.1                   usr/share/man/man1
+debian/doc/man1/bos_addhost.1           usr/share/man/man1
+debian/doc/man1/bos_addkey.1            usr/share/man/man1
+debian/doc/man1/bos_adduser.1           usr/share/man/man1
+debian/doc/man1/bos_apropos.1           usr/share/man/man1
+debian/doc/man1/bos_create.1            usr/share/man/man1
+debian/doc/man1/bos_delete.1            usr/share/man/man1
+debian/doc/man1/bos_exec.1              usr/share/man/man1
+debian/doc/man1/bos_getdate.1           usr/share/man/man1
+debian/doc/man1/bos_getlog.1            usr/share/man/man1
+debian/doc/man1/bos_getrestart.1        usr/share/man/man1
+debian/doc/man1/bos_help.1              usr/share/man/man1
+debian/doc/man1/bos_install.1           usr/share/man/man1
+debian/doc/man1/bos_listhosts.1         usr/share/man/man1
+debian/doc/man1/bos_listkeys.1          usr/share/man/man1
+debian/doc/man1/bos_listusers.1         usr/share/man/man1
+debian/doc/man1/bos_prune.1             usr/share/man/man1
+debian/doc/man1/bos_removehost.1        usr/share/man/man1
+debian/doc/man1/bos_removekey.1         usr/share/man/man1
+debian/doc/man1/bos_removeuser.1        usr/share/man/man1
+debian/doc/man1/bos_restart.1           usr/share/man/man1
+debian/doc/man1/bos_salvage.1           usr/share/man/man1
+debian/doc/man1/bos_setauth.1           usr/share/man/man1
+debian/doc/man1/bos_setcellname.1       usr/share/man/man1
+debian/doc/man1/bos_setrestart.1        usr/share/man/man1
+debian/doc/man1/bos_shutdown.1          usr/share/man/man1
+debian/doc/man1/bos_start.1             usr/share/man/man1
+debian/doc/man1/bos_startup.1           usr/share/man/man1
+debian/doc/man1/bos_status.1            usr/share/man/man1
+debian/doc/man1/bos_stop.1              usr/share/man/man1
+debian/doc/man1/bos_uninstall.1         usr/share/man/man1
+debian/doc/man1/cmdebug.1               usr/share/man/man1
+debian/doc/man1/fs.1                    usr/share/man/man1
+debian/doc/man1/fs_apropos.1            usr/share/man/man1
+debian/doc/man1/fs_checkservers.1       usr/share/man/man1
+debian/doc/man1/fs_checkvolumes.1       usr/share/man/man1
+debian/doc/man1/fs_cleanacl.1           usr/share/man/man1
+debian/doc/man1/fs_copyacl.1            usr/share/man/man1
+debian/doc/man1/fs_diskfree.1           usr/share/man/man1
+debian/doc/man1/fs_examine.1            usr/share/man/man1
+debian/doc/man1/fs_exportafs.1          usr/share/man/man1
+debian/doc/man1/fs_flush.1              usr/share/man/man1
+debian/doc/man1/fs_flushmount.1         usr/share/man/man1
+debian/doc/man1/fs_flushvolume.1        usr/share/man/man1
+debian/doc/man1/fs_getcacheparms.1      usr/share/man/man1
+debian/doc/man1/fs_getcellstatus.1      usr/share/man/man1
+debian/doc/man1/fs_getclientaddrs.1     usr/share/man/man1
+debian/doc/man1/fs_getserverprefs.1     usr/share/man/man1
+debian/doc/man1/fs_help.1               usr/share/man/man1
+debian/doc/man1/fs_listacl.1            usr/share/man/man1
+debian/doc/man1/fs_listcells.1          usr/share/man/man1
+debian/doc/man1/fs_listquota.1          usr/share/man/man1
+debian/doc/man1/fs_lsmount.1            usr/share/man/man1
+debian/doc/man1/fs_messages.1           usr/share/man/man1
+debian/doc/man1/fs_mkmount.1            usr/share/man/man1
+debian/doc/man1/fs_newcell.1            usr/share/man/man1
+debian/doc/man1/fs_quota.1              usr/share/man/man1
+debian/doc/man1/fs_rmmount.1            usr/share/man/man1
+debian/doc/man1/fs_setacl.1             usr/share/man/man1
+debian/doc/man1/fs_setcachesize.1       usr/share/man/man1
+debian/doc/man1/fs_setcell.1            usr/share/man/man1
+debian/doc/man1/fs_setclientaddrs.1     usr/share/man/man1
+debian/doc/man1/fs_setquota.1           usr/share/man/man1
+debian/doc/man1/fs_setserverprefs.1     usr/share/man/man1
+debian/doc/man1/fs_setvol.1             usr/share/man/man1
+debian/doc/man1/fs_storebehind.1        usr/share/man/man1
+debian/doc/man1/fs_sysname.1            usr/share/man/man1
+debian/doc/man1/fs_whereis.1            usr/share/man/man1
+debian/doc/man1/fs_whichcell.1          usr/share/man/man1
+debian/doc/man1/fs_wscell.1             usr/share/man/man1
+debian/doc/man1/klog.1                  usr/share/man/man1
+debian/doc/man1/livesys.1               usr/share/man/man1
+debian/doc/man1/pagsh.1                 usr/share/man/man1
+debian/doc/man1/pts.1                   usr/share/man/man1
+debian/doc/man1/pts_adduser.1           usr/share/man/man1
+debian/doc/man1/pts_apropos.1           usr/share/man/man1
+debian/doc/man1/pts_chown.1             usr/share/man/man1
+debian/doc/man1/pts_creategroup.1       usr/share/man/man1
+debian/doc/man1/pts_createuser.1        usr/share/man/man1
+debian/doc/man1/pts_delete.1            usr/share/man/man1
+debian/doc/man1/pts_examine.1           usr/share/man/man1
+debian/doc/man1/pts_help.1              usr/share/man/man1
+debian/doc/man1/pts_listentries.1       usr/share/man/man1
+debian/doc/man1/pts_listmax.1           usr/share/man/man1
+debian/doc/man1/pts_listowned.1         usr/share/man/man1
+debian/doc/man1/pts_membership.1        usr/share/man/man1
+debian/doc/man1/pts_removeuser.1        usr/share/man/man1
+debian/doc/man1/pts_rename.1            usr/share/man/man1
+debian/doc/man1/pts_setfields.1         usr/share/man/man1
+debian/doc/man1/pts_setmax.1            usr/share/man/man1
+debian/doc/man1/rxdebug.1               usr/share/man/man1
+debian/doc/man1/scout.1                 usr/share/man/man1
+debian/doc/man1/sys.1                   usr/share/man/man1
+debian/doc/man1/tokens.1                usr/share/man/man1
+debian/doc/man1/translate_et.1          usr/share/man/man1
+debian/doc/man1/udebug.1                usr/share/man/man1
+debian/doc/man1/unlog.1                 usr/share/man/man1
+debian/doc/man1/up.1                    usr/share/man/man1
+debian/doc/man1/vos.1                   usr/share/man/man1
+debian/doc/man1/vos_addsite.1           usr/share/man/man1
+debian/doc/man1/vos_apropos.1           usr/share/man/man1
+debian/doc/man1/vos_backup.1            usr/share/man/man1
+debian/doc/man1/vos_backupsys.1         usr/share/man/man1
+debian/doc/man1/vos_changeaddr.1        usr/share/man/man1
+debian/doc/man1/vos_create.1            usr/share/man/man1
+debian/doc/man1/vos_delentry.1          usr/share/man/man1
+debian/doc/man1/vos_dump.1              usr/share/man/man1
+debian/doc/man1/vos_examine.1           usr/share/man/man1
+debian/doc/man1/vos_help.1              usr/share/man/man1
+debian/doc/man1/vos_listaddrs.1         usr/share/man/man1
+debian/doc/man1/vos_listpart.1          usr/share/man/man1
+debian/doc/man1/vos_listvldb.1          usr/share/man/man1
+debian/doc/man1/vos_listvol.1           usr/share/man/man1
+debian/doc/man1/vos_lock.1              usr/share/man/man1
+debian/doc/man1/vos_move.1              usr/share/man/man1
+debian/doc/man1/vos_partinfo.1          usr/share/man/man1
+debian/doc/man1/vos_release.1           usr/share/man/man1
+debian/doc/man1/vos_remove.1            usr/share/man/man1
+debian/doc/man1/vos_remsite.1           usr/share/man/man1
+debian/doc/man1/vos_rename.1            usr/share/man/man1
+debian/doc/man1/vos_restore.1           usr/share/man/man1
+debian/doc/man1/vos_status.1            usr/share/man/man1
+debian/doc/man1/vos_syncserv.1          usr/share/man/man1
+debian/doc/man1/vos_syncvldb.1          usr/share/man/man1
+debian/doc/man1/vos_unlock.1            usr/share/man/man1
+debian/doc/man1/vos_unlockvldb.1        usr/share/man/man1
+debian/doc/man1/vos_zap.1               usr/share/man/man1
+debian/doc/man1/xstat_cm_test.1         usr/share/man/man1
+debian/doc/man1/xstat_fs_test.1         usr/share/man/man1
+
+debian/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/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
index e3b8ac2..62b6d1c 100644 (file)
@@ -1,3 +1,2 @@
-openafs-client: link-to-undocumented-manpage
 openafs-client: non-standard-dir-perm
 openafs-client: postinst-uses-db-input
index fec5338..a12cbdb 100644 (file)
@@ -1,82 +1,90 @@
 #! /bin/sh
-# postinst script for openafs
+#
+# 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
 
-# summary of how this script can be called:
-#        * <postinst> `configure' <most-recently-configured-version>
-#        * <old-postinst> `abort-upgrade' <new version>
-#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-#          <new-version>
-#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-#          <failed-install-package> <version> `removing'
-#          <conflicting-package> <version>
-
 case "$1" in
-    configure)
+configure)
+    update-alternatives --install /usr/bin/pagsh pagsh \
+        /usr/bin/pagsh.openafs 100  \
+        --slave /usr/share/man/man1/pagsh.1.gz pagsh.1.gz \
+        /usr/share/man/man1/pagsh.openafs.1.gz
 
-    update-alternatives --install /usr/bin/pagsh pagsh /usr/bin/pagsh.openafs 100 \
-    --slave /usr/share/man/man1/pagsh.1.gz pagsh.1.gz /usr/share/man/man1/pagsh.openafs.1.gz
+    test -d /afs || mkdir /afs
 
-       test -d /afs || mkdir /afs
     . /usr/share/debconf/confmodule
-
-       db_version 2.0
-
-       db_get openafs-client/thiscell
-       echo $RET >/etc/openafs/ThisCell
-       THISCELL=$RET
-
-       if test -f /etc/openafs/CellServDB; then :
-           else cp /usr/share/openafs/CellServDB \
-             /etc/openafs
-           fi
-       if grep  -q -F "$RET" /etc/openafs/CellServDB&& [ "x$RET" != "x" ]  ; then :
-               else db_input critical  openafs-client/cell-info || true
-           db_input high openafs-client/run-client ||true
-           db_go
-           db_get openafs-client/cell-info
-           if [ "x$RET" != "x" ] ; then
-               echo \>$THISCELL >/etc/openafs/CellServDB.new
-               perl -MSocket -e 'foreach (@ARGV) {' \
-                       -e '@a=gethostbyname($_) and ' \
-                       -e 'printf("%s\t\t# %s\n",inet_ntoa($a[4]),$a[0]) }' $RET \
-                   >>/etc/openafs/CellServDB.new
-                       if [ `wc -l </etc/openafs/CellServDB.new` -eq 1 ] ; then
-                           echo None of the hostnames resolved to an address 2>&1
-                           db_reset openafs-client/cell-info ||true
-                           exit 1
-                        fi
-                   cat /etc/openafs/CellServDB.new \
-                     /etc/openafs/CellServDB  >/etc/openafs/CellServDB.tmp
-                   mv /etc/openafs/CellServDB.tmp \
-                     /etc/openafs/CellServDB
-                   rm /etc/openafs/CellServDB.new
-               fi
-           fi
-                   
-       db_get openafs-client/cachesize
-       echo /afs:/var/cache/openafs:$RET >/etc/openafs/cacheinfo
-
-       db_get openafs-client/run-client
-       echo AFS_CLIENT=$RET >/etc/openafs/afs.conf.client
-       db_get openafs-client/afsdb
-       echo AFS_AFSDB=$RET >>/etc/openafs/afs.conf.client
-       db_get openafs-client/crypt
-       echo AFS_CRYPT=$RET >>/etc/openafs/afs.conf.client
-db_get openafs-client/dynroot
-echo AFS_DYNROOT=$RET >>/etc/openafs/afs.conf.client
-db_get openafs-client/fakestat
-echo AFS_FAKESTAT=$RET >>/etc/openafs/afs.conf.client
+    db_version 2.0
+
+    db_get openafs-client/thiscell
+    echo $RET >/etc/openafs/ThisCell
+    THISCELL=$RET
+
+    if test -f /etc/openafs/CellServDB ; then
+        :
+    else
+        cp /usr/share/openafs/CellServDB /etc/openafs
+    fi
+
+    # If ThisCell is not in CellServDB, we have to prompt the user for the
+    # VLDB servers.  Unfortunately, we can't do this in config because we
+    # need the CellServDB file, which is part of the package.  We have to
+    # override a lintian warning for this since prompts at installation time
+    # are frowned upon.
+    if grep -q -F "$RET" /etc/openafs/CellServDB && [ "x$RET" != "x" ] ; then
+        :
+    else
+        db_input critical openafs-client/cell-info || true
+        db_input high openafs-client/run-client || true
+        db_go
+        db_get openafs-client/cell-info
+        if [ "x$RET" != "x" ] ; then
+            echo \>$THISCELL > /etc/openafs/CellServDB.new
+            perl -MSocket -e 'foreach (@ARGV) {' \
+                -e '@a=gethostbyname($_) and ' \
+                -e 'printf("%s\t\t# %s\n",inet_ntoa($a[4]),$a[0]) }' $RET \
+                    >>/etc/openafs/CellServDB.new
+            if [ `wc -l </etc/openafs/CellServDB.new` -eq 1 ] ; then
+                echo None of the hostnames resolved to an address 2>&1
+                db_reset openafs-client/cell-info || true
+                exit 1
+            fi
+            cat /etc/openafs/CellServDB.new /etc/openafs/CellServDB \
+                >/etc/openafs/CellServDB.tmp
+            mv /etc/openafs/CellServDB.tmp /etc/openafs/CellServDB
+            rm /etc/openafs/CellServDB.new
+        fi
+    fi
+                    
+    db_get openafs-client/cachesize
+    echo /afs:/var/cache/openafs:$RET >/etc/openafs/cacheinfo
+
+    db_get openafs-client/run-client
+    echo AFS_CLIENT=$RET >/etc/openafs/afs.conf.client
+    db_get openafs-client/afsdb
+    echo AFS_AFSDB=$RET >>/etc/openafs/afs.conf.client
+    db_get openafs-client/crypt
+    echo AFS_CRYPT=$RET >>/etc/openafs/afs.conf.client
+    db_get openafs-client/dynroot
+    echo AFS_DYNROOT=$RET >>/etc/openafs/afs.conf.client
+    db_get openafs-client/fakestat
+    echo AFS_FAKESTAT=$RET >>/etc/openafs/afs.conf.client
     ;;
 
-    abort-upgrade|abort-remove|abort-deconfigure)
-
+abort-upgrade|abort-remove|abort-deconfigure)
     ;;
 
-    *)
-        echo "postinst called with unknown argument \`$1'" >&2
-        exit 0
+*)
+    echo "postinst called with unknown argument '$1'" >&2
+    exit 0
     ;;
 esac
 
@@ -86,5 +94,3 @@ esac
 #DEBHELPER#
 
 exit 0
-
-
index 0dabd8c..9688c2b 100644 (file)
@@ -1,85 +1,93 @@
 Template: openafs-client/cell-info
 Type: string
-Description: What hosts are DB servers for your home cell?
- AFS uses the file /etc/openafs/CellServDB to hold the list of servers
- that should be contacted to find parts of a cell.  The cell you claim
- this workstation belongs to is not in that file.  Enter the host
- names of the database servers separated by spaces.
- IMPORTANT: If you are creating a new cell and this machine is to be
- a database server in that cell, only enter this machine's name; add
- the other servers later after they are functioning. Also, do not
- enable the AFS client to start at boot on this server until the cell
- is configured.  When you are ready you can edit
+_Description: What hosts are DB servers for your home cell?
+ AFS uses the file /etc/openafs/CellServDB to hold the list of servers that
+ should be contacted to find parts of a cell.  The cell you claim this
+ workstation belongs to is not in that file.  Enter the host names of the
+ database servers separated by spaces. IMPORTANT: If you are creating a new
+ cell and this machine is to be a database server in that cell, only enter
+ this machine's name; add the other servers later after they are
+ functioning. Also, do not enable the AFS client to start at boot on this
+ server until the cell is configured.  When you are ready you can edit
  /etc/openafs/afs.conf.client to enable the client.
 
 Template: openafs-client/thiscell
 Type: string
-Description:  What AFS cell does this workstation belong to?
-   AFS filespace is organized into cells or administrative domains.
-   Each workstation belongs to one cell.  Usually the cell is the DNS
-   domain name of the site.
+_Description:  What AFS cell does this workstation belong to?
+ AFS filespace is organized into cells or administrative domains.
+ Each workstation belongs to one cell.  Usually the cell is the DNS
+ domain name of the site.
 
 Template: openafs-client/cachesize
 Type: string
 Default: 50000
-Description:  How large is your AFS cache (kb)? 
-   AFS uses a  area of the disk to cache remote files for faster
-   access.  This cache will be mounted on /var/cache/openafs.  It is
-   important that the cache not overfill the partition it is located
-   on.  Often, people find it useful to dedicate a partition to their
-   AFS cache.
+_Description:  How large is your AFS cache (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
+ on.  Often, people find it useful to dedicate a partition to their
+ AFS cache.
 
 Template: openafs-client/run-client
 Type: boolean
 Default: true
-Description: Run Openafs client now and at boot?
- Should the Openafs filesystem be started and mounted at boot?
- Normally, most users who install the openafs-client package expect to
- run it at boot.  However, if you are planning on setting up a new
- cell or are on a laptop, you may not want it started at boot time.
- If you answer no to this question, run /etc/init.d/openafs-client
- force-start to run.
+_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.
 
 Template: openafs-client/afsdb
 Type: boolean
 Default: true
-Description: Look up AFS cells in DNS?
- In order to contact an AFS cell, you need the IP addresses of the
- cell's database servers.  Normally, this information is read from
- /etc/openafs/CellServDB.  However, if Openafs cannot find a cell in
- that file it can use DNS to look for AFSDB records that contain the
+_Description: Look up AFS cells in DNS?
+ In order to contact an AFS cell, you need the IP addresses of the cell's
+ database servers.  Normally, this information is read from
+ /etc/openafs/CellServDB.  However, if Openafs cannot find a cell in that
+ file, it can use DNS to look for AFSDB records that contain the
  information.
 
 Template: openafs-client/crypt
 Type: boolean
 Default: true
-Description: ENcrypt authenticated traffic with AFS fileserver? 
- AFS provides a weak form of encryption that can optionally be used
- between a client and the fileservers.  While this encryption is weaker
- than DES and thus is not sufficient for highly confidential data, it
- does provide some confidentiality and is likely to make the job of a
- casual attacker significantly more difficult.
+_Description: Encrypt authenticated traffic with AFS fileserver?
+ AFS provides a weak form of encryption that can optionally be used between
+ a client and the fileservers.  While this encryption is weaker than DES
+ and thus is not sufficient for highly confidential data, it does provide
+ some confidentiality and is likely to make the job of a casual attacker
+ significantly more difficult.
 
 Template: openafs-client/dynroot
 Type: boolean
 Default: false
-Description: Dynamically generate the contents of /afs?
- /afs generally contains an entry for each cell that a client can talk to.  
+_Description: Dynamically generate the contents of /afs?
+ /afs generally contains an entry for each cell that a client can talk to.
  Traditionally, these entries were generated by servers in the client's
  home cell.  However, OpenAFS clients can generate the contents of /afs
  dynamically based on the contents of /etc/openafs/CellServDB and DNS.
  .
- If you generate /afs dynamically, you may need to create 
- /etc/openafs/CellAliases to include aliases for common cells.
- DO NOT SELECT THIS OPTION IF YOU ARE CREATING A NEW CELL.
+ If you generate /afs dynamically, you may need to create
+ /etc/openafs/CellAlias to include aliases for common cells.  (The syntax
+ of this file is one line per alias, with the cell name, a space, and then
+ the alias for that cell.)
 
 Template: openafs-client/fakestat
-type: boolean
-default: true
-Description: Use fakestat to avoid hangs when listing /afs?
- Because AFS is a global file space, operations on the /afs directory
- can generate significant network traffic.  If some AFS cells are
- unavailable then looking at /afs using ls or a graphical file browser
- may hang your machine for minutes.  AFS has an option to simulate
- answers to these operations locally to avoid these hangs.  You want
- this option under most circumstances.
+Type: boolean
+Default: true
+_Description: Use fakestat to avoid hangs when listing /afs?
+ Because AFS is a global file space, operations on the /afs directory can
+ generate significant network traffic.  If some AFS cells are unavailable
+ then looking at /afs using ls or a graphical file browser may hang your
+ machine for minutes.  AFS has an option to simulate answers to these
+ operations locally to avoid these hangs.  You want this option under most
+ circumstances.
+4
+4
+4
+4
+4
+4
+4
+4
index 8d53566..1e6dd00 100644 (file)
@@ -2,3 +2,11 @@ usr/share/doc
 var/lib/openafs/db
 usr/share/man/man8
 usr/sbin
+usr/share/doc
+usr/share/doc
+usr/share/doc
+usr/share/doc
+usr/share/doc
+usr/share/doc
+usr/share/doc
+usr/share/doc
diff --git a/src/packaging/Debian/openafs-dbserver.install b/src/packaging/Debian/openafs-dbserver.install
new file mode 100644 (file)
index 0000000..bd6d4b7
--- /dev/null
@@ -0,0 +1,24 @@
+debian/tmp/usr/sbin/prdb_check          usr/sbin
+debian/tmp/usr/sbin/pt_util             usr/sbin
+debian/tmp/usr/sbin/vldb_check          usr/sbin
+
+debian/afs-rootvol                      usr/sbin
+debian/afs-newcell                      usr/sbin
+
+debian/tmp/usr/lib/openafs/buserver     usr/lib/openafs
+debian/tmp/usr/lib/openafs/ptserver     usr/lib/openafs
+debian/tmp/usr/lib/openafs/vlserver     usr/lib/openafs
+
+debian/ConfigUtils.pm                   usr/share/perl5/Debian/OpenAFS
+
+debian/doc/man5/BackupLog.5             usr/share/man/man5
+debian/doc/man5/VLLog.5                 usr/share/man/man5
+debian/doc/man5/bdb.DB0.5               usr/share/man/man5
+debian/doc/man5/prdb.DB0.5              usr/share/man/man5
+debian/doc/man5/vldb.DB0.5              usr/share/man/man5
+
+debian/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
diff --git a/src/packaging/Debian/openafs-dbserver.lintian b/src/packaging/Debian/openafs-dbserver.lintian
new file mode 100644 (file)
index 0000000..2afb85f
--- /dev/null
@@ -0,0 +1 @@
+openafs-dbserver: non-standard-dir-perm
index 8835856..d0172c3 100755 (executable)
@@ -34,7 +34,7 @@ case "$1" in
        echo -n "Stopping $DESC: "
     bos shutdown localhost -wait -localauth
        start-stop-daemon --stop --quiet  \
-               --exec $DAEMON
+               --user root --name bosserver
        echo "$NAME."
        ;;
   #reload)
@@ -56,7 +56,12 @@ case "$1" in
        #       just the same as "restart".
        #
        echo -n "Restarting $DESC: "
-    bos restart localhost -localauth -bos
+        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."
        ;;
diff --git a/src/packaging/Debian/openafs-fileserver.install b/src/packaging/Debian/openafs-fileserver.install
new file mode 100644 (file)
index 0000000..e52fb52
--- /dev/null
@@ -0,0 +1,31 @@
+debian/tmp/usr/sbin/bosserver           usr/sbin
+debian/tmp/usr/sbin/voldump             usr/sbin
+debian/tmp/usr/sbin/volinfo             usr/sbin
+
+debian/tmp/usr/lib/openafs/up*          usr/sbin
+
+debian/tmp/usr/lib/openafs/fileserver   usr/lib/openafs
+debian/tmp/usr/lib/openafs/salvager     usr/lib/openafs
+debian/tmp/usr/lib/openafs/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/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
index 87d699b..f2b3998 100644 (file)
@@ -1,2 +1 @@
-openafs-fileserver: link-to-undocumented-manpage
 openafs-fileserver: non-standard-dir-perm
index a63e6c4..2c49fc3 100644 (file)
@@ -1,46 +1,55 @@
 #!/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>
+#
+# 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)
-
-       . /usr/share/debconf/confmodule
-
-       db_version 2.0
-
-       db_get openafs-fileserver/thiscell
-       echo $RET >/etc/openafs/server/ThisCell
-       if [ -f /etc/openafs/server/CellServDB ] ; then :
-           else echo \>$RET >/etc/openafs/server/CellServDB
-           fi
-           if [ "x$2" != "x" ] ; then
-               if dpkg --compare-versions $2 lt 1.2.0-1 ; then
-                   mv /etc/openafs/server-local/BosConfig /etc/openafs/BosConfig ||true
-                   mv /etc/openafs/server-local/sysid /var/lib/openafs ||true
-                   fi
-               fi
+configure)
+    . /usr/share/debconf/confmodule
+    db_version 2.0
+
+    db_get openafs-fileserver/thiscell
+    echo $RET >/etc/openafs/server/ThisCell
+
+    if [ -f /etc/openafs/server/CellServDB ] ; then
+        :
+    else
+        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
+        fi
+    fi
+    db_stop
     ;;
 
-    abort-upgrade|abort-remove|abort-deconfigure)
-
+abort-upgrade|abort-remove|abort-deconfigure)
     ;;
 
-    *)
-        echo "postinst called with unknown argument \`$1'" >&2
-        exit 0
+*)
+    echo "postinst called with unknown argument \`$1'" >&2
+    exit 0
     ;;
 esac
 
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
+# dh_installdeb will replace this with shell code automatically generated by
+# other debhelper scripts.
 #DEBHELPER#
 
 exit 0
index c43683a..e0776b8 100644 (file)
@@ -1,31 +1,26 @@
 Template: openafs-fileserver/thiscell
 Type: string
-Description: What cell does this server serve files for?
+_Description: What cell does this server serve files for?
  AFS fileservers belong to a cell.  They have the key for that cell's
- Kerberos service and serve volumes into that cell.  Normally, this
- cell is the same cell as the workstation's client belongs to.
-Description-de: Für welche Zelle liefert der Server Dateien?
- AFS-Dateiserver gehören zu einer Zelle. Die Server haben den Schlüssel
- für den Kerberos-Service der Zelle und stellen Volumes für die Zelle
- bereit. Normalerweise ist die Zelle identisch mit der des Clients
+ Kerberos service and serve volumes into that cell.  Normally, this cell is
+ the same cell as the workstation's client belongs to.
 
-template: openafs-fileserver/bosconfig_moved
+Template: openafs-fileserver/bosconfig_moved
 Type: boolean
-default: true
-Description: Upgrading will move files to new locations; continue? 
- Between Openafs 1.1 and Openafs 1.2, several files moved.  In
- particular,  files in /etc/openafs/server-local have been distributed
- to other locations.  The BosConfig file is now located in
- /etc/openafs and the other files are located in /var/lib/openafs.  If
- you continue with this upgrade, these files will be moved. You should
- use the bos restart command to  reload your servers.  Any
- configuration changes made before you do so will be lost.
+Default: true
+_Description: Upgrading will move files to new locations; continue?
+ Between Openafs 1.1 and Openafs 1.2, several files moved.  In particular,
+ files in /etc/openafs/server-local have been distributed to other
+ locations.  The BosConfig file is now located in /etc/openafs and the
+ other files are located in /var/lib/openafs.  If you continue with this
+ upgrade, these files will be moved.  You should use the bos restart
+ command to reload your servers.  Any configuration changes made before
+ you do so will be lost.
 
-template: openafs-fileserver/alpha-broken
+Template: openafs-fileserver/alpha-broken
 Type: note
-Description: OpenAFS Fileserv Probably does not work!
+_Description: OpenAFS file server probably does not work!
  You are running the OpenAFS file server package on an alpha.  This
- probably doesn't work; the DES code is flaky on the alpha, along with
- the threaded file server.  Likely, the fileserver will simply fail to
- start, but if it does load, data corruption may result.  You have been
- warned.
+ probably doesn't work; the DES code is flaky on the alpha, along with the
+ threaded file server.  Likely, the fileserver will simply fail to start,
+ but if it does load, data corruption may result.  You have been warned.
diff --git a/src/packaging/Debian/openafs-kpasswd.install b/src/packaging/Debian/openafs-kpasswd.install
new file mode 100644 (file)
index 0000000..6889bed
--- /dev/null
@@ -0,0 +1,23 @@
+debian/tmp/usr/bin/kpasswd              usr/bin
+
+debian/tmp/usr/sbin/kas                 usr/bin
+
+debian/doc/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
index 79b2a31..3d959f9 100644 (file)
@@ -2,4 +2,3 @@ README
 debian/README.servers
 debian/configuration-transcript.txt
 debian/README.modules
-NEWS
diff --git a/src/packaging/Debian/patches/README b/src/packaging/Debian/patches/README
new file mode 100644 (file)
index 0000000..d337dfa
--- /dev/null
@@ -0,0 +1,9 @@
+This directory contains patches relative to the upstream OpenAFS source.
+It is not used automatically as part of the build process and is not
+guaranteed to be completely up-to-date; it is intended as documentation of
+significant divergences, a place to store patches that should be sent
+upstream, and a place to document the current status of patches.
+
+Simple Debian-specific changes that aren't of interest to upstream will
+not be included here, such as updating config.{guess,sub} or changing
+paths to fit with the FHS.
diff --git a/src/packaging/Debian/patches/module-name b/src/packaging/Debian/patches/module-name
new file mode 100644 (file)
index 0000000..148d2d8
--- /dev/null
@@ -0,0 +1,49 @@
+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.
+
+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 @@
+ # Below this line are targets when in the COMMON directory:
+ # For Linux there is no kernel NFS server.
+-LIBAFS = libafs-${CLIENT}.${LINUX_MODULE_EXT}
+-LIBAFS_MP = libafs-${CLIENT}.mp.${LINUX_MODULE_EXT}
++LIBAFS = openafs.${LINUX_MODULE_EXT}
++LIBAFS_MP = openafs.${LINUX_MODULE_EXT}
+ LIBAFS_EP = libafs-${CLIENT}.ep.${LINUX_MODULE_EXT}
+ LIBAFS_BM = libafs-${CLIENT}.bm.${LINUX_MODULE_EXT}
+@@ -226,10 +226,8 @@
+ INST_LIBAFS_EP = ${DESTDIR}${afskerneldir}/${LIBAFS_EP}
+ INST_LIBAFS_BM = ${DESTDIR}${afskerneldir}/${LIBAFS_BM}
+-DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFS}
+-DEST_LIBAFS_MP = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFS_MP}
+-DEST_LIBAFS_EP = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFS_EP}
+-DEST_LIBAFS_BM = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFS_BM}
++DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/modload/openafs.o
++DEST_LIBAFS_MP = ${DEST}/root.client/usr/vice/etc/modload/openafs.mp.o
+ libafs:       $(LIBAFS) 
+@@ -245,11 +243,11 @@
+       echo BM Build Complete
+ <linux26 linux_26 umlinux26>
+-${LIBAFS} ${LIBAFS_MP} ${LIBAFS_EP} ${LIBAFS_BM}: libafs.ko
+-      cp libafs.ko $@
++${LIBAFS} ${LIBAFS_MP} ${LIBAFS_EP} ${LIBAFS_BM}: openafs.ko
++      cp openafs.ko $@
+ .FORCE:
+-libafs.ko: .FORCE
++openafs.ko: .FORCE
+       env EXTRA_CFLAGS="${EXTRA_CFLAGS}" @TOP_SRCDIR@/libafs/make_kbuild_makefile.pl ${KDIR} $@ @TOP_OBJDIR@/src/config/Makefile.config Makefile.afs Makefile.common
+       env EXTRA_CFLAGS="${EXTRA_CFLAGS}" $(MAKE) -C ${LINUX_KERNEL_PATH} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules
+         
diff --git a/src/packaging/Debian/patches/pam b/src/packaging/Debian/patches/pam
new file mode 100644 (file)
index 0000000..c0f00b0
--- /dev/null
@@ -0,0 +1,158 @@
+The standard upstream source builds the PAM modules against static
+libraries, which means they contain non-PIC code.  This isn't allowed by
+Debian Policy and doesn't work on some supported platforms.
+
+Two approaches for fixing this have been tried.  One is to rebuild the
+various object files that are part of the libraries PIC and then link with
+those object files.  The other, which this implements, is to link with the
+object files used to create the libafsauthent and libafsrpc shared
+libraries (which can't be shipped since they don't have a stable API or
+correct SONAME).  The latter means that the PAM modules must also be
+linked with libpthread, but that's a feature since that means they'll work
+with sshd built threaded.
+
+Not submitted upstream yet.  The call to rx_Init should be submitted
+upstream and would probably be accepted.  Upstream would probably rather
+link the PAM modules against the shared libraries rather than accepting
+this hack, which is unsuitable for Debian until the shared libraries are
+handled more consistently.
+
+--- openafs-1.3.87.orig/src/pam/Makefile.in
++++ openafs-1.3.87/src/pam/Makefile.in
+@@ -25,7 +25,17 @@
+         afs_pam_msg.o afs_message.o AFS_component_version_number.o
+    OBJS = $(SHOBJS) test_pam.o
+ INCLUDES=-I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} 
+-CFLAGS =  ${DEBUG} ${INCLUDES} ${PAM_CFLAGS}
++CFLAGS =  ${DEBUG} ${INCLUDES} ${PAM_CFLAGS} ${MT_CFLAGS}
++
++# For Debian, we link directly with the object files that would have gone
++# into the libafsrpc and libafsauthent shared libraries.  The shared libraries
++# themselves cannot be used because the interface isn't stable and they have
++# no SONAME, but this is the easiest way of getting PIC objects built with the
++# pthread API.
++SHLIB_OBJS    := `ls ../shlibafsauthent/*.o | grep -v version_num` \
++                 `ls ../shlibafsrpc/*.o | grep -v version_num`
++KRB_SHLIB_OBJS        := `ls ../shlibafsauthent/*.o | egrep -v 'version_num|ktc.o'` \
++                 `ls ../shlibafsrpc/*.o | grep -v version_num`
+ all: test_pam ${TOP_LIBDIR}/pam_afs.so.1 ${TOP_LIBDIR}/pam_afs.krb.so.1
+@@ -39,14 +49,18 @@
+       ${CC} ${CFLAGS} -c ${srcdir}/afs_auth.c -o afs_auth.o
+ afs_auth_krb.o: afs_auth.c afs_pam_msg.h afs_message.h afs_util.h
+-      ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_auth.c -o afs_auth_krb.o
++      ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV  -c ${srcdir}/afs_auth.c -o afs_auth_krb.o
+ afs_util.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
+       ${CC} ${CFLAGS} -c ${srcdir}/afs_util.c -o afs_util.o
++
+ afs_util_krb.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
+       ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_util.c -o afs_util_krb.o
++ktc.o: ${srcdir}/../auth/ktc.c
++      ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/../auth/ktc.c
++
+ pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o
+       set -x; \
+       case "$(SYS_NAME)" in \
+@@ -59,8 +73,9 @@
+                       afs_setcred.o afs_auth.o afs_util.o \
+                       $(SHOBJS) $(LIBS) ;; \
+       *linux*) \
+-              $(CC) $(LDFLAGS) -o $@ afs_setcred.o \
+-                      afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;;\
++              $(CC) $(LDFLAGS) $(PAM_CFLAGS) -o $@ afs_setcred.o \
++                      afs_auth.o afs_util.o $(SHOBJS) $(SHLIB_OBJS) \
++                      $(MT_LIBS) -lpam -lresolv;;\
+       *fbsd*| *nbsd*) \
+               $(CC) $(LDFLAGS) -o $@ afs_setcred.o \
+                       afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;;\
+@@ -68,7 +83,7 @@
+               echo No link line for system $(SYS_NAME). ;; \
+       esac
+-pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o
++pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o ktc.o
+       set -x; \
+       case "$(SYS_NAME)" in \
+       hp_ux* | ia64_hpux*) \
+@@ -81,7 +96,8 @@
+                       $(SHOBJS) $(LDFLAGS) $(KLIBS) ;; \
+       *linux*) \
+               $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \
+-                      afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\
++                      afs_auth_krb.o afs_util_krb.o ktc.o $(SHOBJS) \
++                      $(KRB_SHLIB_OBJS) $(MT_LIBS) -lpam -lresolv;;\
+       *fbsd*| *nbsd*) \
+               $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \
+                       afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\
+--- openafs-1.3.87.orig/src/pam/afs_setcred.c
++++ openafs-1.3.87/src/pam/afs_setcred.c
+@@ -52,7 +52,7 @@
+     int refresh_token = 0;
+     int set_expires = 0;      /* the default is to not to set the env variable */
+     int use_klog = 0;
+-    int i;
++    int i, code;
+     struct pam_conv *pam_convp = NULL;
+     char my_password_buf[256];
+     char *cell_ptr = NULL;
+@@ -281,6 +281,11 @@
+ #endif
+       }
++      if ((code = rx_Init(0)) != 0) {
++          pam_afs_syslog(LOG_ERR, PAMAFS_KAERROR, code);
++          RET(PAM_AUTH_ERR);
++      }
++
+       if (flags & PAM_REFRESH_CRED) {
+           if (use_klog) {
+               auth_ok = !do_klog(user, password, "00:00:01", cell_ptr);
+--- openafs-1.3.87.orig/src/pam/afs_auth.c
++++ openafs-1.3.87/src/pam/afs_auth.c
+@@ -314,6 +314,10 @@
+           if (cpid <= 0) {    /* The child process */
+               if (logmask && LOG_MASK(LOG_DEBUG))
+                   syslog(LOG_DEBUG, "in child");
++              if ((code = rx_Init(0)) != 0) {
++                  pam_afs_syslog(LOG_ERR, PAMAFS_KAERROR, code);
++                  exit(0);
++              }
+               if (refresh_token || set_token)
+                   code = ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION, user,        /* kerberos name */
+                                                     NULL,     /* instance */
+@@ -363,6 +367,10 @@
+           pam_afs_syslog(LOG_ERR, PAMAFS_PAMERROR, errno);
+       }
+     } else {                  /* dont_fork, used by httpd */
++      if ((code = rx_Init(0)) != 0) {
++          pam_afs_syslog(LOG_ERR, PAMAFS_KAERROR, code);
++          RET(PAM_AUTH_ERR);
++      }
+       if (logmask && LOG_MASK(LOG_DEBUG))
+           syslog(LOG_DEBUG, "dont_fork");
+       if (refresh_token || set_token)
+--- openafs-1.3.87.orig/Makefile.in
++++ openafs-1.3.87/Makefile.in
+@@ -507,8 +507,6 @@
+ # pthread based user space RX library
+ shlibafsrpc: rx rxkad des
+       case ${SYS_NAME} in \
+-      amd64_linux24) \
+-              echo Skipping shlibafsrpc for amd64_linux24 ;; \
+       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
+       ${COMPILE_PART1} shlibafsrpc ${COMPILE_PART2} ;; \
+       *) \
+@@ -517,8 +515,6 @@
+ shlibafsauthent: ubik auth kauth shlibafsrpc
+       case ${SYS_NAME} in \
+-      amd64_linux24) \
+-              echo Skipping shlibafsauthent for amd64_linux24 ;; \
+       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
+       ${COMPILE_PART1} shlibafsauthent ${COMPILE_PART2} ;; \
+       *) \
diff --git a/src/packaging/Debian/po/POTFILES.in b/src/packaging/Debian/po/POTFILES.in
new file mode 100644 (file)
index 0000000..0ec8635
--- /dev/null
@@ -0,0 +1,2 @@
+[type: gettext/rfc822deb] openafs-client.templates
+[type: gettext/rfc822deb] openafs-fileserver.templates
diff --git a/src/packaging/Debian/po/cs.po b/src/packaging/Debian/po/cs.po
new file mode 100644 (file)
index 0000000..1901ea7
--- /dev/null
@@ -0,0 +1,279 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+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"
+"Last-Translator: Martin Sin <martin.sin@seznam.cz>\n"
+"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\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?"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:3
+msgid ""
+"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."
+msgstr ""
+"AFS používá k uchovávání seznamu serverů, které mají být kontaktovány při "
+"hledání částí buňky, soubor /etc/openafs/CellServDB. Buňka, do které tato "
+"stanice patří, není ve zmíněném souboru uvedena. Zadejte mezerami oddělená "
+"jména databázových serverů. DŮLEŽITÉ: pokud vytváříte novou buňku a tento "
+"počítač bude databázovým serverem této buňky, pak stačí pouze zadat jméno "
+"počítače; ostatní servery přidejte později až po jejich zprovoznění. Dokud "
+"nebude buňka nastavena, tak na tomto serveru nepovolujte spuštění AFS "
+"klienta při startu serveru. Až budete připraveni, můžete klienta povolit "
+"úpravou souboru /etc/openafs/afs.conf.client."
+
+#. 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?"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:16
+msgid ""
+"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."
+msgstr ""
+"Souborový prostor systému AFS je uspořádán do buněk nebo administrativních "
+"domén. Každá stanice patří jedné buňce. Obvykle je buňkou doménové jméno "
+"skupiny."
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:24
+msgid "How large is your AFS cache (kB)?"
+msgstr "Jak velká je vaše cache AFS (v kB)?"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:24
+msgid ""
+"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."
+msgstr ""
+"AFS používá určitý prostor na disku pro cachování vzdálených souborů, aby k "
+"nim měl rychlejší přístup. Tato cache bude připojena do /var/cache/openafs. "
+"Je důležité, aby cache nepřeplnila oblast na které je umístěna. Často je "
+"užitečné umístit cache AFS do své vlastní diskové oblasti."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:34
+msgid "Run Openafs client now and at boot?"
+msgstr "Spustit klienta Openafs nyní a při zavádění počítače?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:34
+msgid ""
+"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."
+msgstr ""
+"Má být souborový systém Openafs spuštěn a připojen při startu počítače? "
+"Většina uživatelů, kteří instalují balíček openafs-client, očekává, že se "
+"AFS spustí hned při startu počítače. Samozřejmě, pokud plánujete nastavení "
+"nové buňky, nebo pokud používáte laptop, pak byste zřejmě AFS při startu "
+"spouštět nechtěli. Zvolíte-li možnost nespouštět AFS při startu počítače, "
+"můžete klienta spustit ručně příkazem /etc/init.d/openafs-client force-start."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:45
+msgid "Look up AFS cells in DNS?"
+msgstr "Hledat buňky AFS v DNS?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:45
+msgid ""
+"In order to contact an AFS cell, you need the IP addresses of the cell's "
+"database servers.  Normally, this information is read from /etc/openafs/"
+"CellServDB.  However, if Openafs cannot find a cell in that file, it can use "
+"DNS to look for AFSDB records that contain the information."
+msgstr ""
+"Pro kontaktování buňky AFS potřebujete znát IP adresu databázového serveru "
+"buňky. Obvykle lze tuto informaci přečíst ze souboru /etc/openafs/"
+"CellServDB. Nicméně pokud Openafs nemůže najít buňku v tomto souboru, může "
+"použít DNS pro vyhledání AFSDB záznamů, které obsahují požadované informace."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:55
+msgid "Encrypt authenticated traffic with AFS fileserver?"
+msgstr "Šifrovat autentikovaný provoz se souborovým serverem AFS?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:55
+msgid ""
+"AFS provides a weak form of encryption that can optionally be used between a "
+"client and the fileservers.  While this encryption is weaker than DES and "
+"thus is not sufficient for highly confidential data, it does provide some "
+"confidentiality and is likely to make the job of a casual attacker "
+"significantly more difficult."
+msgstr ""
+"AFS poskytuje slabou formu šifrování, která může být nepovinně použita mezi "
+"klientem a souborovým serverem. Přestože je toto šifrování slabší než DES a "
+"tedy není dostatečné pro velmi důvěrná data, poskytuje určitou formu utajení "
+"a určitě tak ztíží práci náhodnému útočníkovi."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid "Dynamically generate the contents of /afs?"
+msgstr "Vygenerovat obsah /afs dynamicky?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid ""
+"/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."
+msgstr ""
+"/afs obvykle obsahuje záznam pro každou buňku, se kterou může klient "
+"hovořit. Tradičně jsou tyto záznamy vytvářeny servery v mateřské buňce "
+"klienta. Klienti OpenAFS však mohou generovat obsah adresáře /afs dynamicky "
+"na základě souboru /etc/openafs/CellServDB a systému DNS."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid ""
+"If you generate /afs dynamically, you may need to create /etc/openafs/"
+"CellAlias to include aliases for common cells.  (The syntax of this file is "
+"one line per alias, with the cell name, a space, and then the alias for that "
+"cell.)"
+msgstr ""
+"Pokud vytváříte /afs dynamicky, možná budete muset vytvořit /etc/openafs/"
+"CellAlias pro začlenění aliasů běžných buněk. (Syntaxe tohoto souboru je "
+"jeden řádek na alias, který se skládá ze jména buňky, mezery a pak následuje "
+"alias pro tuto buňku.)"
+
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:79
+msgid "Use fakestat to avoid hangs when listing /afs?"
+msgstr "Použít fakestat pro obejití zatuhnutí při výpisu /afs?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:79
+msgid ""
+"Because AFS is a global file space, operations on the /afs directory can "
+"generate significant network traffic.  If some AFS cells are unavailable "
+"then looking at /afs using ls or a graphical file browser may hang your "
+"machine for minutes.  AFS has an option to simulate answers to these "
+"operations locally to avoid these hangs.  You want this option under most "
+"circumstances."
+msgstr ""
+"Protože je AFS globální souborový prostor, mohou operace na adresáři /afs "
+"výzrazně zvýšit provoz na síti. Pokud jsou některé buňky AFS nedosažitelné, "
+"pak může prohlížení /afs pomocí příkazu ls nebo grafického prohlížeče "
+"způsobit zatuhnutí počítače na dobu několika minut. AFS má volbu, která "
+"simuluje odpovědi pro tyto operace a tak se snaží vyhnout popsaným výpadkům. "
+"Tuto volbu budete chtít použít ve většině případů."
+
+#. Type: string
+#. Description
+#: ../openafs-fileserver.templates:3
+msgid "What cell does this server serve files for?"
+msgstr "Kterým buňkám má tento server poskytovat soubory?"
+
+#. Type: string
+#. Description
+#: ../openafs-fileserver.templates:3
+msgid ""
+"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."
+msgstr ""
+"Souborové servery AFS náleží buňce. Servery mají klíč ke službě Kerberos "
+"dané buňky a v rámci buňky nabízejí souborové svazky. Tato buňka je obvykle "
+"shodná s buňkou, ke které patří klient na pracovní stanici."
+
+#. Type: boolean
+#. Description
+#: ../openafs-fileserver.templates:11
+msgid "Upgrading will move files to new locations; continue?"
+msgstr "Upgradování přesune soubory do nového umístění; pokračovat?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-fileserver.templates:11
+msgid ""
+"Between Openafs 1.1 and Openafs 1.2, several files moved.  In particular, "
+"files in /etc/openafs/server-local have been distributed to other "
+"locations.  The BosConfig file is now located in /etc/openafs and the other "
+"files are located in /var/lib/openafs.  If you continue with this upgrade, "
+"these files will be moved.  You should use the bos restart command to reload "
+"your servers.  Any configuration changes made before you do so will be lost."
+msgstr ""
+"Verze Openafs 1.1 a Openafs 1.2 mají přesunuty některé soubory. Přesněji "
+"řečeno: soubory z /etc/openafs/server-local byly přesunuty jinam. "
+"Konfigurační soubor BosConfig je nyní umístěn v /etc/openafs, ostatní "
+"soubory jsou uloženy v adresáři /var/lib/openafs. Pokud budete pokračovat v "
+"aktualizaci, budou tyto soubory přesunuty. K opětovnému načtení vašich "
+"serverů můžete použít přikaz bos, který provede restart. Jakákoliv změna "
+"konfigurace provedená před tímto restartem bude ztracena."
+
+#. Type: note
+#. Description
+#: ../openafs-fileserver.templates:22
+msgid "OpenAFS file server probably does not work!"
+msgstr "Souborový server OpenAFS pravděpodobně nepracuje!"
+
+#. Type: note
+#. Description
+#: ../openafs-fileserver.templates:22
+msgid ""
+"You are running the OpenAFS file server package on an alpha.  This probably "
+"doesn't work; the DES code is flaky on the alpha, along with the threaded "
+"file server.  Likely, the fileserver will simply fail to start, but if it "
+"does load, data corruption may result.  You have been warned."
+msgstr ""
+"Souborový server OpenAFS běží na Aplha systému, což pravděpodobně nebude "
+"fungovat; DES kód se ve spojení s vlákny na souborovém serveru chová "
+"podivně. Souborový server nejpravděpodobněji vůbec nespustí nespustí, ale "
+"pokud naběhne, může dojít ke ztrátě dat. Byli jste varováni."
diff --git a/src/packaging/Debian/po/de.po b/src/packaging/Debian/po/de.po
new file mode 100644 (file)
index 0000000..7e786a7
--- /dev/null
@@ -0,0 +1,225 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-08-18 12:47-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:3
+msgid "What hosts are DB servers for your home cell?"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:3
+msgid ""
+"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."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:16
+#, fuzzy
+msgid "What AFS cell does this workstation belong to?"
+msgstr "Für welche Zelle liefert der Server Dateien?"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:16
+msgid ""
+"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."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:24
+msgid "How large is your AFS cache (kB)?"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:24
+msgid ""
+"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."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:34
+msgid "Run Openafs client now and at boot?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:34
+msgid ""
+"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."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:45
+msgid "Look up AFS cells in DNS?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:45
+msgid ""
+"In order to contact an AFS cell, you need the IP addresses of the cell's "
+"database servers.  Normally, this information is read from /etc/openafs/"
+"CellServDB.  However, if Openafs cannot find a cell in that file, it can use "
+"DNS to look for AFSDB records that contain the information."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:55
+msgid "Encrypt authenticated traffic with AFS fileserver?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:55
+msgid ""
+"AFS provides a weak form of encryption that can optionally be used between a "
+"client and the fileservers.  While this encryption is weaker than DES and "
+"thus is not sufficient for highly confidential data, it does provide some "
+"confidentiality and is likely to make the job of a casual attacker "
+"significantly more difficult."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid "Dynamically generate the contents of /afs?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid ""
+"/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."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid ""
+"If you generate /afs dynamically, you may need to create /etc/openafs/"
+"CellAlias to include aliases for common cells.  (The syntax of this file is "
+"one line per alias, with the cell name, a space, and then the alias for that "
+"cell.)"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:79
+msgid "Use fakestat to avoid hangs when listing /afs?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:79
+msgid ""
+"Because AFS is a global file space, operations on the /afs directory can "
+"generate significant network traffic.  If some AFS cells are unavailable "
+"then looking at /afs using ls or a graphical file browser may hang your "
+"machine for minutes.  AFS has an option to simulate answers to these "
+"operations locally to avoid these hangs.  You want this option under most "
+"circumstances."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../openafs-fileserver.templates:3
+msgid "What cell does this server serve files for?"
+msgstr "Für welche Zelle liefert der Server Dateien?"
+
+#. Type: string
+#. Description
+#: ../openafs-fileserver.templates:3
+msgid ""
+"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."
+msgstr ""
+"AFS-Dateiserver gehören zu einer Zelle. Die Server haben den Schlüssel für "
+"den Kerberos-Service der Zelle und stellen Volumes für die Zelle bereit. "
+"Normalerweise ist die Zelle identisch mit der des Clients"
+
+#. Type: boolean
+#. Description
+#: ../openafs-fileserver.templates:11
+msgid "Upgrading will move files to new locations; continue?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../openafs-fileserver.templates:11
+msgid ""
+"Between Openafs 1.1 and Openafs 1.2, several files moved.  In particular, "
+"files in /etc/openafs/server-local have been distributed to other "
+"locations.  The BosConfig file is now located in /etc/openafs and the other "
+"files are located in /var/lib/openafs.  If you continue with this upgrade, "
+"these files will be moved.  You should use the bos restart command to reload "
+"your servers.  Any configuration changes made before you do so will be lost."
+msgstr ""
+
+#. Type: note
+#. Description
+#: ../openafs-fileserver.templates:22
+msgid "OpenAFS file server probably does not work!"
+msgstr ""
+
+#. Type: note
+#. Description
+#: ../openafs-fileserver.templates:22
+msgid ""
+"You are running the OpenAFS file server package on an alpha.  This probably "
+"doesn't work; the DES code is flaky on the alpha, along with the threaded "
+"file server.  Likely, the fileserver will simply fail to start, but if it "
+"does load, data corruption may result.  You have been warned."
+msgstr ""
diff --git a/src/packaging/Debian/po/fr.po b/src/packaging/Debian/po/fr.po
new file mode 100644 (file)
index 0000000..0e4c7df
--- /dev/null
@@ -0,0 +1,292 @@
+# translation of fr.po to French
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+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-22 15:11+0200\n"
+"Last-Translator: Christian Perrier <bubulle@debian.org>\n"
+"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:3
+msgid "What hosts are DB servers for your home cell?"
+msgstr ""
+"Hôtes serveurs de bases de données pour votre cellule locale (« home "
+"cell ») :"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:3
+msgid ""
+"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."
+msgstr ""
+"AFS utilise le fichier /etc/openafs/CellServDB pour conserver la liste des "
+"serveurs à contacter pour trouver les constituants d'une cellule. La cellule "
+"dont ce poste de travail est censé faire partie n'est pas indiquée dans ce "
+"fichier. Veuillez indiquer les noms des serveurs de bases de données, "
+"séparés par des espaces. IMPORTANT : si vous créez une nouvelle cellule et "
+"que cette machine doit être un serveur de bases de données dans cette "
+"cellule, veuillez seulement indiquer le nom de cette machine. N'ajoutez les "
+"autres serveurs que plus tard, lorsqu'ils seront opérationnels. Enfin, "
+"n'activez pas le client AFS au démarrage tant que cette cellule n'est pas "
+"configurée. Quand vous serez prêt, vous pourrez modifier /etc/openafs/afs."
+"conf.client pour mettre en service le client."
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:16
+msgid "What AFS cell does this workstation belong to?"
+msgstr "Cellule AFS dont ce poste de travail fait partie :"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:16
+msgid ""
+"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."
+msgstr ""
+"L'espace des fichiers AFS est organisé en cellules ou domaines "
+"administratifs. Chaque poste de travail appartient à une cellule. "
+"Habituellement, la cellule est le nom de domaine du site."
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:24
+msgid "How large is your AFS cache (kB)?"
+msgstr "Taille de votre cache pour AFS (en kilo-octets) :"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:24
+msgid ""
+"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."
+msgstr ""
+"AFS utilise une partie du disque pour mettre en cache des fichiers distants "
+"et accélérer les accès. Ce cache sera monté sur /var/cache/openafs. Il est "
+"important que le cache ne remplisse pas la partition sur laquelle il est "
+"situé. De nombreux utilisateurs choisissent de dédier une partition pour le "
+"cache d'AFS."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:34
+msgid "Run Openafs client now and at boot?"
+msgstr "Lancer le client AFS maintenant, puis à chaque démarrage ?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:34
+msgid ""
+"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."
+msgstr ""
+"Veuillez indiquer si le système de fichiers Openafs doit être mis en service "
+"et monté au démarrage. Normalement, la majorité des utilisateurs qui "
+"installent le paquet openafs-client s'attendent à ce qu'il soit lancé au "
+"démarrage. Cependant, si vous prévoyez de mettre en service une nouvelle "
+"cellule ou si vous utilisez un ordinateur portable, vous ne souhaitez peut-"
+"être pas le lancer au démarrage. Si vous préférez ne pas le lancer au "
+"démarrage, utilisez la commande « /etc/init.d/openafs-client force-start » "
+"pour le lancer quand vous en aurez besoin."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:45
+msgid "Look up AFS cells in DNS?"
+msgstr "Faut-il chercher les cellules AFS dans le DNS ?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:45
+msgid ""
+"In order to contact an AFS cell, you need the IP addresses of the cell's "
+"database servers.  Normally, this information is read from /etc/openafs/"
+"CellServDB.  However, if Openafs cannot find a cell in that file, it can use "
+"DNS to look for AFSDB records that contain the information."
+msgstr ""
+"Afin de contacter une cellule AFS, vous avez besoin des adresses IP de ses "
+"serveurs de bases de données. Cette information est normalement extraite de /"
+"etc/openafs/CellServDB. Cependant, si Openafs ne peut pas trouver de cellule "
+"dans ce fichier, il peut utiliser le DNS pour rechercher des enregistrements "
+"AFSDB qui fourniront cette information."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:55
+msgid "Encrypt authenticated traffic with AFS fileserver?"
+msgstr "Faut-il chiffrer le trafic authentifié avec le serveur de fichiers AFS ?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:55
+msgid ""
+"AFS provides a weak form of encryption that can optionally be used between a "
+"client and the fileservers.  While this encryption is weaker than DES and "
+"thus is not sufficient for highly confidential data, it does provide some "
+"confidentiality and is likely to make the job of a casual attacker "
+"significantly more difficult."
+msgstr ""
+"AFS offre un mode de chiffrement faible qu'il est possible d'utiliser entre "
+"un client et les serveurs de fichiers. Bien que ce chiffrement soit plus "
+"faible que DES, et donc insuffisant pour des données hautement "
+"confidentielles, il fournit une certaine forme de confidentialité et peut "
+"rendre une attaque non préparée nettement plus difficile."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid "Dynamically generate the contents of /afs?"
+msgstr "Faut-il gérer le contenu de /afs dynamiquement ?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid ""
+"/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."
+msgstr ""
+"Le répertoire /afs contient généralement une entrée par cellule accessible à "
+"un client donné. Traditionnellement, ces entrées ont été créées par les "
+"serveurs dans la cellule locale de chaque client. Cependant, OpenAFS peut "
+"gérer dynamiquement le contenu de /afs en se servant de /etc/openafs/"
+"CellServDB et du DNS."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid ""
+"If you generate /afs dynamically, you may need to create /etc/openafs/"
+"CellAlias to include aliases for common cells.  (The syntax of this file is "
+"one line per alias, with the cell name, a space, and then the alias for that "
+"cell.)"
+msgstr ""
+"Si vous créez /afs de manière dynamique, vous aurez peut-être à créer /etc/"
+"openafs/CellAlias pour inclure les alias des cellules communes. Ce fichier comporte une ligne par alias, avec le nom de la cellule, un espace et l'alias utilisé pour la cellule."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:79
+msgid "Use fakestat to avoid hangs when listing /afs?"
+msgstr "Utiliser fakestat pour éviter les erreurs à l'affichage du contenu de /afs ?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:79
+msgid ""
+"Because AFS is a global file space, operations on the /afs directory can "
+"generate significant network traffic.  If some AFS cells are unavailable "
+"then looking at /afs using ls or a graphical file browser may hang your "
+"machine for minutes.  AFS has an option to simulate answers to these "
+"operations locally to avoid these hangs.  You want this option under most "
+"circumstances."
+msgstr ""
+"Comme AFS est un espace global de fichiers, les opérations sur /afs peuvent "
+"générer un trafic réseau non négligeable. Si certaines cellules sont "
+"indisponibles, l'affichage de /afs avec ls ou avec un gestionnaire de "
+"fichiers graphique peut stopper votre machine pour quelques minutes. AFS "
+"comporte une option permettant de simuler les réponses à ces requêtes pour "
+"éviter ces plantages. Cette option est utile dans la plupart des cas."
+
+#. Type: string
+#. Description
+#: ../openafs-fileserver.templates:3
+msgid "What cell does this server serve files for?"
+msgstr "Cellule pour laquelle ce serveur est un serveur de fichiers :"
+
+#. Type: string
+#. Description
+#: ../openafs-fileserver.templates:3
+msgid ""
+"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."
+msgstr ""
+"Les serveurs de fichiers AFS appartiennent à une cellule. Ils possèdent la "
+"clé pour le service Kerberos de cette cellule et y mettent à disposition des "
+"volumes. Normalement, cette cellule est la même que celle à laquelle "
+"appartient le client."
+
+#. Type: boolean
+#. Description
+#: ../openafs-fileserver.templates:11
+msgid "Upgrading will move files to new locations; continue?"
+msgstr "Faut-il procéder au déplacement de fichiers requis pour la mise à jour ?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-fileserver.templates:11
+msgid ""
+"Between Openafs 1.1 and Openafs 1.2, several files moved.  In particular, "
+"files in /etc/openafs/server-local have been distributed to other "
+"locations.  The BosConfig file is now located in /etc/openafs and the other "
+"files are located in /var/lib/openafs.  If you continue with this upgrade, "
+"these files will be moved.  You should use the bos restart command to reload "
+"your servers.  Any configuration changes made before you do so will be lost."
+msgstr ""
+"Entre les versions 1.1 et 1.2 d'OpenAFS, de nombreux fichiers ont été "
+"déplacés. Les fichiers de /etc/openafs/server-local ont notamment été "
+"répartis sur d'autres emplacements. Le fichier BosConfig est désormais placé "
+"dans /etc/openafs et les autres fichiers sont dans /var/lib/openafs. Si vous "
+"poursuivez la mise à jour, ces fichiers seront déplacés. Vous devez utiliser "
+"la commande « bos restart » pour redémarrer vos serveurs. Toutes les "
+"modifications de configuration que vous ferez avant d'avoir effectué ces "
+"opérations seront perdues."
+
+#. Type: note
+#. Description
+#: ../openafs-fileserver.templates:22
+msgid "OpenAFS file server probably does not work!"
+msgstr "Le serveur de fichiers OpenAFS ne fonctionne probablement pas"
+
+#. Type: note
+#. Description
+#: ../openafs-fileserver.templates:22
+msgid ""
+"You are running the OpenAFS file server package on an alpha.  This probably "
+"doesn't work; the DES code is flaky on the alpha, along with the threaded "
+"file server.  Likely, the fileserver will simply fail to start, but if it "
+"does load, data corruption may result.  You have been warned."
+msgstr ""
+"Vous utilisez le paquet du serveur de fichier OpenAFS sur une plateforme "
+"alpha. Cela ne fonctionne probablement pas ; le code DES est défectueux sur "
+"ces plateformes de même que le serveur de fichiers à processus légers. Il "
+"est probable que le serveur refusera tout simplement de démarrer. Cependant, "
+"s'il démarre quand même, des corruptions de données peuvent avoir lieu."
+
diff --git a/src/packaging/Debian/po/pt_BR.po b/src/packaging/Debian/po/pt_BR.po
new file mode 100644 (file)
index 0000000..a89a2ef
--- /dev/null
@@ -0,0 +1,293 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openafs\n"
+"Report-Msgid-Bugs-To: debian-l10n-portuguese@lists.debian.org\n"
+"POT-Creation-Date: 2005-08-18 12:47-0700\n"
+"PO-Revision-Date: 2005-08-26 18:53-0300\n"
+"Last-Translator: André Luís Lopes <andrelop@debian.org>\n"
+"Language-Team: Debian-BR Project <debian-l10n-portuguese@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:3
+msgid "What hosts are DB servers for your home cell?"
+msgstr "Quais hosts são servidor DB para sua célula home ?"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:3
+msgid ""
+"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."
+msgstr ""
+"O AFS usa o arquivo /etc/openafs/CellServDB para armazenar a lista de "
+"servidores que deverão ser contactados para se encontrar partes de uma "
+"célula. A célula que você diz que essa estação de trabalho pertence não está "
+"nesse arquivo. Informe os nomes de hosts dos servidore de base de dados "
+"separados por espaços. IMPORTANTE : Caso você esteja criando uma nova célula "
+"e esta máquina será um servidor de base de dados na célula, somente informe "
+"o nome desta máquina. Adicione os outros servidores posteriormente depois "
+"que os mesmos estejam funcionando. Adicionalmente, não habilite o cliente "
+"AFS para inicialização em tempo de inicialização neste servidor até que a "
+"célula esteja configurada. Quando você estiver terminado você poderá editar "
+"o arquivo /etc/openafs/afs.conf.client para habilitar este cliente."
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:16
+msgid "What AFS cell does this workstation belong to?"
+msgstr "A qual célula AFS esta estação de trabalho pertence ?"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:16
+msgid ""
+"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."
+msgstr ""
+"O espaço de arquivo AFS é organizado em células ou domínios administrativos. "
+"Cada estação de trabalho pertence a uma célula. Normalmente a célula é o "
+"nome de domínio DNS do site."
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:24
+msgid "How large is your AFS cache (kB)?"
+msgstr "Qual o tamanho de seu cache AFS (KB) ?"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:24
+msgid ""
+"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."
+msgstr ""
+"O AFS usa uma àrea do disco para fazer cache de arquivos remotos para acesso "
+"mais rápido. Esse cache será montando em /var/cache/openafs. É importante "
+"que o cache não ocupe toda a partrição na qual está localizado. Geralmente, "
+"os usuários AFS acham útil dedicar uma partição para seus caches AFS."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:34
+msgid "Run Openafs client now and at boot?"
+msgstr "Executar o cliente OpenAFS agora e em tempo de inicialização ?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:34
+msgid ""
+"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."
+msgstr ""
+"O sistema de arquivos OpenAFS deverá ser iniciado e montando em tempo de "
+"inicialização ? Normalmente, a maioria dos usuários que instalam o pacote "
+"openafs-client esperam executá-lo em tempo de inicialização. Porém, caso "
+"você esteja planejando configurar uma nova célula ou esteja em um laptop, "
+"você pode não desejar iniciar o OpenAFS em tempo de inicialização. Caso você "
+"opte por não iniciar o AFS em tempo de inicialização, execute "
+"/etc/init.d/openafs-cliente force-start para iniciar o cliente quando "
+"desejar executá-lo."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:45
+msgid "Look up AFS cells in DNS?"
+msgstr "Procurar células AFS no DNS ?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:45
+msgid ""
+"In order to contact an AFS cell, you need the IP addresses of the cell's "
+"database servers.  Normally, this information is read from /etc/openafs/"
+"CellServDB.  However, if Openafs cannot find a cell in that file, it can use "
+"DNS to look for AFSDB records that contain the information."
+msgstr ""
+"Para poder contactar uma célula AFS, você precisa dos endereços IP dos "
+"servidores de base de dados da célula. Normalmente, esta informação é lida "
+"de /etc/openafs/CellServDB. Porém, caso o OpenAFS não possa encontrar uma "
+"célula nesse arquivo, o DNS poderá ser usado para pesquisar registros AFSDB "
+"que contenham a informação."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:55
+msgid "Encrypt authenticated traffic with AFS fileserver?"
+msgstr "Encriptar o tráfego autenticado com o servidor de arquivos AFS ?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:55
+msgid ""
+"AFS provides a weak form of encryption that can optionally be used between a "
+"client and the fileservers.  While this encryption is weaker than DES and "
+"thus is not sufficient for highly confidential data, it does provide some "
+"confidentiality and is likely to make the job of a casual attacker "
+"significantly more difficult."
+msgstr ""
+"O AFS fornece uma forma fraca de encriptação que pode ser opcionalmente "
+"usada entre o cliente e os servidor de arquivos. Enquanto esta encriptação é "
+"mais fraca do que DES e portanto não é suficiente para dados altamente "
+"confidenciais, essa encriptação fornece alguma confidencialidade e "
+"provavelmente torna o trabalho de um atacante casual mais difícil."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid "Dynamically generate the contents of /afs?"
+msgstr "Gerar dinamicamente o conteúdo de /afs ?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid ""
+"/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."
+msgstr ""
+"O /afs geralmente contém uma entrada para cada célula com a qual o cliente "
+"pode conversar. Tradicionalmente, essas entradas eram geradas por servidores "
+"no célula home do cliente. Porém, clientes OpenAFS podem gerar o conteúdo "
+"de /afs dinamicamente baseando-se no conteúdo de /etc/openafs/CellServDB e "
+"do DNS."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid ""
+"If you generate /afs dynamically, you may need to create /etc/openafs/"
+"CellAlias to include aliases for common cells.  (The syntax of this file is "
+"one line per alias, with the cell name, a space, and then the alias for that "
+"cell.)"
+msgstr ""
+"Caso você gere o /afs dinamicamente, você pode precisar criar o /etc/openafs/"
+"CellAlias para incluir apelidos (aliases) para células comuns. (A "
+"sintaxe desse arquivo é uma linha por apelido, com o nome da célula, "
+"um espaço e depois o apelido para a célula.)"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:79
+msgid "Use fakestat to avoid hangs when listing /afs?"
+msgstr "Usar fakestat para evitar travadas na listagem do /afs ?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:79
+msgid ""
+"Because AFS is a global file space, operations on the /afs directory can "
+"generate significant network traffic.  If some AFS cells are unavailable "
+"then looking at /afs using ls or a graphical file browser may hang your "
+"machine for minutes.  AFS has an option to simulate answers to these "
+"operations locally to avoid these hangs.  You want this option under most "
+"circumstances."
+msgstr ""
+"Devido ao AFS ser um espaço de arquivos global, operações no diretório /afs "
+"podem gerar um tráfego de rede significativo. Caso algumas células AFS não "
+"estejam disponíveis, pesquisar o /afs usando o comando \"ls\" ou um "
+"gerenciador de arquivos gráfico pode travar sua máquina por alguns minutos. "
+"O AFS possui uma opção para simular respostas para essas operações "
+"localmente para evitar essas travadas. Você irá desejar usar esta opção na "
+"maioria dos casos."
+
+#. Type: string
+#. Description
+#: ../openafs-fileserver.templates:3
+msgid "What cell does this server serve files for?"
+msgstr "Para qual célula este servidor serve arquivos ?"
+
+#. Type: string
+#. Description
+#: ../openafs-fileserver.templates:3
+msgid ""
+"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."
+msgstr ""
+"Servidor de arquivos AFS pertencem a uma célula. Eles possuem uma chave para "
+"cada serviço Kerberos da célula e servem volumes dentro da célula. "
+"Normalmente, essa célula é a mesma célula da qual a estação de trabalho faz "
+"parte."
+
+#. Type: boolean
+#. Description
+#: ../openafs-fileserver.templates:11
+msgid "Upgrading will move files to new locations; continue?"
+msgstr "Atualizar irá mover arquivo para novos locais. Continuar ?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-fileserver.templates:11
+msgid ""
+"Between Openafs 1.1 and Openafs 1.2, several files moved.  In particular, "
+"files in /etc/openafs/server-local have been distributed to other "
+"locations.  The BosConfig file is now located in /etc/openafs and the other "
+"files are located in /var/lib/openafs.  If you continue with this upgrade, "
+"these files will be moved.  You should use the bos restart command to reload "
+"your servers.  Any configuration changes made before you do so will be lost."
+msgstr ""
+"Entre as versões do OpenAFS 1.1 e do OpenAFS 1.2, diversos arquivos foram "
+"movidos. Em particular, aruivos em /etc/openafs/server-local foram "
+"distribuídos para outros locais. O arquivo BosConfig está agora localizado "
+"em /etc/openafs e os outros arquivos estão localizados em /var/lib/openafs. "
+"Caso você continue com esta atualização, esses arquivos serão movidos. Você "
+"deverá usar o comando \"bos restart\" para recarregar seus servidores. "
+"Quaisquer mudanças em configurações feitas antes que você tenha feito isso "
+"serão perdidas."
+
+#. Type: note
+#. Description
+#: ../openafs-fileserver.templates:22
+msgid "OpenAFS file server probably does not work!"
+msgstr "Servidor de Arquivos OpenAFS provavelmente não funciona !"
+
+#. Type: note
+#. Description
+#: ../openafs-fileserver.templates:22
+msgid ""
+"You are running the OpenAFS file server package on an alpha.  This probably "
+"doesn't work; the DES code is flaky on the alpha, along with the threaded "
+"file server.  Likely, the fileserver will simply fail to start, but if it "
+"does load, data corruption may result.  You have been warned."
+msgstr ""
+"Você está executando o pacote do servidor de arquivos OpenAFS em uma máquina "
+"Alpha. Isso provavelmente não funcionará. O código DES é em conjunto com o "
+"servidor de arquivos com suporte a threads é problemático em máquinas Alpha. "
+"Provavelmente, o servidor de arquivos irá simplesmente falhar ao iniciar. "
+"Caso consiga ser iniciado, poderá causar corrupção de dados. Você foi "
+"avisado."
+
+#~ msgid "50000"
+#~ msgstr "50000"
diff --git a/src/packaging/Debian/po/vi.po b/src/packaging/Debian/po/vi.po
new file mode 100644 (file)
index 0000000..1f92208
--- /dev/null
@@ -0,0 +1,278 @@
+# Vietnamese translation for openafs.
+# Copyright © 2005 Free Software Foundation, Inc.
+# Clytie Siddall <clytie@riverland.net.au>, 2005.
+# 
+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 16:26+0930\n"
+"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+"X-Generator: LocFactoryEditor 1.2.2\n"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:3
+msgid "What hosts are DB servers for your home cell?"
+msgstr "Máy nào chạy trình phục vụ cơ sở dữ liệu cho ô chính bạn?"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:3
+msgid ""
+"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."
+msgstr ""
+"AFS dùng tập tin « /etc/openafs/CellServDB » để chứa danh sách các máy phục vụ "
+"nên được liên hệ để tìm phần ô. Bạn đã tuyên bố máy trạm này thuộc một ô "
+"không phải trong tập tin ấy. Hãy nhập tên máy của những máy phục vụ cơ sở dữ "
+"liệu, định giới bằng dấu cách. QUAN TRỌNG: nếu bạn đang tạo một ô mới, và "
+"máy này sẽ là một máy phục vụ cơ sở dữ liệu trong ô ấy, thì bạn hãy nhập chỉ "
+"tên máy này thôi. Hãy thêm những máy phục vụ khác lần sau, sau khi chúng "
+"hoạt động. Hơn nữa, có thể hiệu lực trình khách AFS khởi chạy khi khởi động "
+"máy, chỉ sau khi cấu hình ô ấy. Khi bạn sẵn sàng thì có thể hiệu chỉnh tập "
+"tin « /etc/openafs/afs.conf.client » để hiệu lực trình khách ấy."
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:16
+msgid "What AFS cell does this workstation belong to?"
+msgstr "Máy trạm này thuộc ô AFS nào?"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:16
+msgid ""
+"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."
+msgstr ""
+"Khoảng cách tập tin loại AFS được tổ chức ra nhiều ô hay miền quản lý. Mỗi "
+"máy trạm thuộc một ô riêng lẻ. Thường ô ấy là tên miền DNS của nơi Mạng ấy."
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:24
+msgid "How large is your AFS cache (kB)?"
+msgstr "Bạn có bộ nhớ tạm AFS lớn bao nhiêu (theo kB)?"
+
+#. Type: string
+#. Description
+#: ../openafs-client.templates:24
+msgid ""
+"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."
+msgstr ""
+"AFS dùng một vùng trên đĩa để lưu tạm tập tin từ xa, mà cho phép truy cập "
+"nhanh hơn. Bộ nhớ tạm này sẽ được gắn vào « /var/cache/openafs ». Quan trọng "
+"là bộ nhớ tạm ấy không vượt quá phân vùng ở. Thường có ích khi dùng một phân "
+"vùng chỉ cho bộ nhớ tạm AFS thôi."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:34
+msgid "Run Openafs client now and at boot?"
+msgstr "Chạy trình khách Openafs ngay bây giờ và cũng khi khởi động máy không?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:34
+msgid ""
+"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."
+msgstr ""
+"Có nên khởi chạy và gắn hệ thống tập tin Openafs khi khởi động máy không? "
+"Bình thường, phần lớn người dùng cài đặt gói « openafs-client » thì định "
+"chạy nó khi khởi động máy. Tuy nhiên, nếu bạn định thiết lập một ô mới, hoặc "
+"có dùng một máy tính xách tay, trong trường hợp ấy có lẽ bạn không muốn hệ "
+"thống tập tin ấy khởi chạy khi khởi động máy. Nếu bạn chọn không khởi chạy "
+"AFS khi khởi động máy thì hãy chạy lệnh « /etc/init.d/openafs-client force-"
+"start » (buộc khởi chạy trình khách AFS) để khởi chạy trình khách khi mà bạn "
+"muốn chạy nó."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:45
+msgid "Look up AFS cells in DNS?"
+msgstr "Tra cứu ô AFS trong DNS không?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:45
+msgid ""
+"In order to contact an AFS cell, you need the IP addresses of the cell's "
+"database servers.  Normally, this information is read from /etc/openafs/"
+"CellServDB.  However, if Openafs cannot find a cell in that file, it can use "
+"DNS to look for AFSDB records that contain the information."
+msgstr ""
+"Để liên hệ một ô AFS, bạn cần có địa chỉ IP của mọi máy phục vụ cơ sở dữ "
+"liệu của nó. Bình thường, thông tin này được đọc từ tập tin « /etc/openafs/"
+"CellServDB ». Tuy nhiên, nếu trình Openafs không tìm thấy một ô nào đó trong "
+"tập tin ấy thì nó có thể dùng DNS (hệ thống tên miền) để tìm mục ghi AFSDB "
+"chứa thông tin ấy."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:55
+msgid "Encrypt authenticated traffic with AFS fileserver?"
+msgstr ""
+"Mật mã hóa các dữ liệu xác thực truyền với trình phục vụ tập tin AFS không?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:55
+msgid ""
+"AFS provides a weak form of encryption that can optionally be used between a "
+"client and the fileservers.  While this encryption is weaker than DES and "
+"thus is not sufficient for highly confidential data, it does provide some "
+"confidentiality and is likely to make the job of a casual attacker "
+"significantly more difficult."
+msgstr ""
+"AFS cung cấp một cách mật mã yếu mà tùy chọn có thể được dùng giữa một trình "
+"khách nào đó và những trình phục vụ tập tin khác. Dù cách mặt mã này yếu hơn "
+"DES, vì vậy không đủ cho dữ liệu quan trọng, nó có cung cấp một mức độ riêng "
+"tư, thì sẽ làm cho người tấn công gặp khó khăn một phần."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid "Dynamically generate the contents of /afs?"
+msgstr "Tạo ra nội dung « /afs » một cách động không?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid ""
+"/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."
+msgstr ""
+"Thư mục « /afs » thường chứa một mục ghi cho mỗi ô mà trình khách có thể liên "
+"hệ. Trước này, trình phục vụ trong ô chính của trình khác đã tạo ra mục ghi "
+"này. Tuy nhiên, trình khách loại OpenAFS có thể tạo ra nội dung « /afs » một "
+"cách động, đựa vào nội dung « /etc/openafs/CellServDB » và vào DNS."
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:65
+msgid ""
+"If you generate /afs dynamically, you may need to create /etc/openafs/"
+"CellAlias to include aliases for common cells.  (The syntax of this file is "
+"one line per alias, with the cell name, a space, and then the alias for that "
+"cell.)"
+msgstr ""
+"Nếu bạn chọn tạo ra « /afs » một cách động, có lẽ bạn sẽ cần phải tạo « etc/"
+"openafs/CellAlias » (bí danh ô) để gồm bí danh cho các ô chung. (Cú pháp của tập tin này là một dòng cho mỗi bí danh, mà chứa tên ô, rồi một dấu cách, rồi bí danh cho ô đó.)"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:79
+msgid "Use fakestat to avoid hangs when listing /afs?"
+msgstr ""
+"Dùng « fakestat » (thống kê giả) để tránh hệ thống treo cứng khi liệt kê « /"
+"afs » không?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-client.templates:79
+msgid ""
+"Because AFS is a global file space, operations on the /afs directory can "
+"generate significant network traffic.  If some AFS cells are unavailable "
+"then looking at /afs using ls or a graphical file browser may hang your "
+"machine for minutes.  AFS has an option to simulate answers to these "
+"operations locally to avoid these hangs.  You want this option under most "
+"circumstances."
+msgstr ""
+"Vì AFS là một khoảng cách toàn cục, thao tác trên thư mục « /afs » có thể tạo "
+"ra nhiều tải cho mạng. Nếu một số ô AFS không sẵn sàng thì việc xem « /afs » "
+"dùng lệnh « ls » (liệt kê) hoặc dùng một trình đồ họa duyệt tập tin thì có thể "
+"treo cứng máy bạn trong vòng nhiều phút. AFS tùy chọn có thể mô phỏng trả "
+"lời cho thao tác loại này một cách địa phương, để tránh treo cứng hệ thống "
+"như thế. Đệ nghi bạn sử dụng tùy chọn này: nó cần thiết trong phần lớn "
+"trường hợp."
+
+#. Type: string
+#. Description
+#: ../openafs-fileserver.templates:3
+msgid "What cell does this server serve files for?"
+msgstr "Trình phục vụ này phục vụ tập tin cho ô nào?"
+
+#. Type: string
+#. Description
+#: ../openafs-fileserver.templates:3
+msgid ""
+"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."
+msgstr ""
+"Mọi trình phục vụ tập tin AFS thuộc một ô nào đó. Trình ấy có khóa của dịch "
+"vụ Kerberos của ô này, và phục vụ khối đĩa vào ô này. Bình thường, ô này là "
+"cùng một ô với ô sở hữu trình khách của máy trạm này."
+
+#. Type: boolean
+#. Description
+#: ../openafs-fileserver.templates:11
+msgid "Upgrading will move files to new locations; continue?"
+msgstr ""
+"Nâng cấp sẽ di chuyển tập tin sang vị trí mới: bạn có muốn tiếp tục không?"
+
+#. Type: boolean
+#. Description
+#: ../openafs-fileserver.templates:11
+msgid ""
+"Between Openafs 1.1 and Openafs 1.2, several files moved.  In particular, "
+"files in /etc/openafs/server-local have been distributed to other "
+"locations.  The BosConfig file is now located in /etc/openafs and the other "
+"files are located in /var/lib/openafs.  If you continue with this upgrade, "
+"these files will be moved.  You should use the bos restart command to reload "
+"your servers.  Any configuration changes made before you do so will be lost."
+msgstr ""
+"Giữa Openafs phiên bản 1.1 và 1.2, vài tập tin đã được di chuyển. Đặc biệt, "
+"những tập tin trong « /etc/openafs/server-local » (trình phục vụ địa phương) "
+"đã được chia ra nhiều vị trí khác. Tập tin « BosConfig » lúc này trong « /etc/"
+"openafs », và những tập tin khác có trong « /var/lib/openafs ». Nếu bạn chọn "
+"tiếp tục nâng cấp, các tập tin ấy sẽ được di chuyển như thế. Bạn hãy sử dụng "
+"lệnh « bos restart » (khởi chạy lại) để khởi chạy lại các trình phục vụ của "
+"bạn. Mọi thay đổi cấu hình được tạo trước khi bạn khởi chạy lại thì sẽ bị "
+"mất."
+
+#. Type: note
+#. Description
+#: ../openafs-fileserver.templates:22
+msgid "OpenAFS file server probably does not work!"
+msgstr "Rất có thể là trình phục vụ tập tin OpenAFS không hoạt động."
+
+#. Type: note
+#. Description
+#: ../openafs-fileserver.templates:22
+msgid ""
+"You are running the OpenAFS file server package on an alpha.  This probably "
+"doesn't work; the DES code is flaky on the alpha, along with the threaded "
+"file server.  Likely, the fileserver will simply fail to start, but if it "
+"does load, data corruption may result.  You have been warned."
+msgstr ""
+"Bạn có chạy gói tin trình phục vụ tập tin OpenAFS trên một anfa. Rất có thể "
+"là nó không hoạt động vì mã DES bị lỗi trên anfa, cũng với trình phục vụ tập "
+"tin theo mạch. Rất có thể là trình phục vụ tập tin sẽ không khởi chạy, nhưng "
+"mà nếu nó có phải khởi chạy thì dữ liệu có thể bị hỏng. Bạn đã nhận một cảnh "
+"báo rồi."
index ed05703..0ab5d5c 100644 (file)
 #! /bin/sh
+#
+# Prepares to build kernel modules.  This script figures out and munges
+# version strings.  The goal is:
+#
+#  * Set the package name to openafs-modules-$(KVERS) where $(KVERS) is the
+#    major kernel revision plus the debian subrevision and whatever
+#    architecture string is appropriate if building against the stock Debian
+#    kernels.  $(KVERS) should be identical to the version component contained
+#    in the Debian kernel package names.
+#
+#  * Make the package recommend either kernel-image-$(KVERS) or
+#    linux-image-$(KVERS) as appropriate for the kernel version that we're
+#    building against.  Use recommend rather than depends since the user may
+#    have built their own kernel outside of the Debian package infrastructure.
+#
+#  * Save the version number of the binary package in debian/VERSION for later
+#    use by dh_gencontrol.  This will be the version number of the source
+#    package followed by a + and the version number of the kernel package that
+#    we're building against.  If the kernel package version contains an epoch,
+#    try to hack our way into doing the right thing by using that epoch number
+#    as our own.  This isn't quite the right thing, but seems reasonably good.
+#
+# This script generates debian/control from debian/control.module using sed.
+# Unfortunately, substvars cannot be used since the name of the package is
+# modified and substvars happens too late.  It also outputs debian/VERSION,
+# containing the version of the binary package.
 
 set -e
 
-if [ $# -ne 2 ]; then
-       echo Usage: $0 kernelsource-location control-template
-       exit 1
+if [ "$#" -ne 1 ]; then
+    echo Usage: $0 kernelsource-location
+    exit 1
 fi
 
+# We can get the kernel version from one of three places.  If KVERS and KDREV
+# are both already set in the environment (which will be the case when invoked
+# by make-kpkg or module-assistant), use them.  Otherwise, if we have a kernel
+# source directory that contains debian/changelog (generated by make-kpkg),
+# parse that file to find the version information.  Finally, if neither works,
+# extract the kernel version from the kernel headers, append INT_SUBARCH to
+# that version if it's available, and assume a kernel package revision of -0
+# if none is provided.
+#
+# Set the variables $afs_kvers, which will hold the revision of the kernel,
+# and $afs_kdrev, which will hold the version of the kernel package that we're
+# building against.
 
 changelog="$1/debian/changelog"
 if [ -n "$KVERS" ] && [ -n "$KDREV" ]; then
-  linuxversion=$KVERS${INT_SUBARCH}
-  kernversion=$KDREV
-
-elif [ ! -f $changelog ]; then
-        linuxversion=`awk '{ if (NR==1) v=$3; else if (NR==2) p=$3; else if (NR==3) s=$3; \
-                else if (NR==4) { e=$3; exit; } } \
-                END { printf("%s.%s.%s%s\n",v,p,s,e); }' $1/Makefile`
-
-        if [ -z "$KDREV" ]; then
-          kernversion=$linuxversion-0
-        else
-           linuxversion=${linuxversion}${INT_SUBARCH}
-          kernversion=$KDREV
-        fi
-
+    afs_kvers="${KVERS}${INT_SUBARCH}"
+    afs_kdrev="${KDREV}"
+elif [ ! -f "$changelog" ] ; then
+    if [ -n "$KVERS" ] ; then
+        afs_kvers="$KVERS"
+    else
+        afs_kvers=`perl debian/kernel-version "$1"`
+    fi
+    if [ -z "$KDREV" ] ; then
+        afs_kdrev="${afs_kvers}-0"
+    else
+        afs_kvers="${afs_kvers}${INT_SUBARCH}"
+        afs_kdrev="${KDREV}"
+    fi
 else
-        linuxversion=`head -1 $changelog | \
-                sed -e 's/.*source-\([^ ]*\) (\([^)]*\)).*/\1/'`
-        kernversion=`head -1 $changelog | \
-                sed -e 's/.*source-\([^ ]*\) (\([^)]*\)).*/\2/'`
+    if [ -n "$KVERS" ] ; then
+        afs_kvers="$KVERS"
+    else
+        afs_kvers=`head -1 "$changelog" \
+            | sed -e 's/.*source-\([^ ]*\) (\([^)]*\)).*/\1/'`
+    fi
+    afs_kdrev=`head -1 "$changelog" \
+        | sed -e 's/.*source-\([^ ]*\) (\([^)]*\)).*/\2/'`
 fi
 
-pkgversion=`head -1 debian/changelog | \
-       sed -e 's/.*(\([^)]*\)).*/\1/'`
-
-pkgupversion=`echo $pkgversion | cut -d- -f 1`
-pkgupversion2=`perl -e "\"$pkgupversion\" =~ /(.*?)(\d+)\D*$/;"'printf $1 . ($2+1);'`
+# Determine the kernel package name.  For right now, assume linux-image for
+# 2.6.12 and later, and kernel-image for anything earlier.  If this doesn't
+# work for someone, please submit a bug with the details.
 
-sed -e s/=KVERS/$linuxversion/g -e s/=KREVS/$kernversion/g -e s/=AVERS/$pkgupversion/g -e s/=2AVERS/$pkgupversion2/g $2
-
-mprefix=`grep Package: $2 | cut -d' ' -f 2 | cut -d= -f 1`
+if dpkg --compare-versions "$afs_kvers" ge "2.6.12" ; then
+    afs_image=linux-image
+else
+    afs_image=kernel-image
+fi
 
-rm -f debian/tmp/usr/share/doc/$mprefix$linuxversion
+# 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
 
-epochversion=`echo $kernversion | sed -n -e 's/^\([0-9]*\):.*/\1/p' -e 's/.*//'`
-kernversion="$pkgversion+`echo $kernversion | sed -e 's/^[0-9]*://'`"
+# 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
+# if present.  Then, concatenate the source version, '+', and the kernel
+# package revision without the epoch.
 
-if [ -n "$epochversion" ]; then
-  kernversion=$epochversion:$kernversion
+afs_version=`head -1 debian/changelog | sed -e 's/.*(\([^)]*\)).*/\1/'`
+afs_epoch=`echo ${afs_kdrev} | sed -n -e 's/^\([0-9]*\):.*/\1/p'`
+afs_version="${afs_version}+`echo ${afs_kdrev} | sed -e 's/^[0-9]*://'`"
+if [ -n "$afs_epoch" ] ; then
+    afs_version="${afs_epoch}:${afs_version}"
 fi
-echo "$kernversion" > debian/VERSION
-echo "$linuxversion" > debian/KVERS
+
+echo "$afs_version" > debian/VERSION
index 9d93e91..bdd4e1b 100644 (file)
@@ -182,4 +182,3 @@ sgml-exposed-tags:nil
 sgml-local-catalogs:nil
 sgml-local-ecat-files:nil
 End:
--->
index 1fcc19f..4de0775 100755 (executable)
 # Uncomment this to turn on verbose mode. 
 #export DH_VERBOSE=1
 
-# This is the debhelper compatability version to use.
-export DH_COMPAT=2
-
 # This has to be exported to make some magic below work.
 export DH_OPTIONS
 
-# The AFS sysname is determined by a script
-KVERS=`awk '{ if (NR==1) v=$$3; else if (NR==2) p=$$3; else if (NR==3) s=$$3; \
-       else if (NR==4) { e=$$3; exit; } } \
-       END { printf("%s.%s.%s%s\n",v,p,s,e); }' $(KSRC)/Makefile`
-SYS_NAME=$(shell KVERS=$(KVERS) sh debian/sysname)
-package=openafs
-srcpkg = openafs-modules-source
-modulepkg=$(shell echo openafs-modules-$(KVERS)${INT_SUBARCH})
+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
+
 ifndef KSRC
-KSRC=/usr/src/linux
+    KSRC = /usr/src/linux
+endif
+ifndef KPKG_DEST_DIR
+    KPKG_DEST_DIR = ..
 endif
-MODDIR=..
-LINTIAN_PACKAGES= openafs-client openafs-fileserver
+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
+srcpkg     = openafs-modules-source
+modulepkg := openafs-modules-$(KVERS)${INT_SUBARCH}
+moduledir := debian/$(modulepkg)/lib/modules/$(KVERS)/fs
+
+# These packages have lintian overrides.
+LINTIAN_PACKAGES = openafs-dbserver openafs-client openafs-fileserver
+
+# The /usr/share/doc directory for these packages should be a symlink to
+# /usr/share/doc/openafs-client.  Any package on this list must depend on
+# openafs-client.
+DOC_PACKAGES = libpam-openafs-kaserver openafs-dbserver openafs-fileserver \
+       openafs-kpasswd
+
+# These variable is used only by get-orig-source, which will normally only be
+# run by maintainers.
+VERSION   = 1.4.0
+UPSTREAM  = /afs/grand.central.org/software/openafs/$(VERSION)
+
+# Download the upstream source and do the repackaging that we have to do for
+# DFSG reasons.  This assumes AFS is mounted, as it's generally only used by
+# the package maintainers.
+get-orig-source:
+       cp $(UPSTREAM)/openafs-$(VERSION)-src.tar.bz2 .
+       tar xjf openafs-$(VERSION)-src.tar.bz2
+       rm openafs-$(VERSION)-src.tar.bz2
+       rm -r openafs-$(VERSION)/src/packaging/MacOS
+       rm -r openafs-$(VERSION)/src/WINNT
+       tar cf openafs_$(VERSION).orig.tar openafs-$(VERSION)
+       rm -r openafs-$(VERSION)
+       gzip -9 openafs_$(VERSION).orig.tar
 
 configure: configure-stamp
 configure-stamp:
+       @if test x"$(SYS_NAME)" = x"UNKNOWN" ; then exit 1 ; fi
        dh_testdir
-       -ln -s @sys/dest dest
-       -ln -s $(SYS_NAME) @sys
-#      sh regen.sh
-        afslogsdir=/var/log/openafs sh configure --with-afs-sysname=$(SYS_NAME) --disable-kernel-module \
-       --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
-       --localstatedir=/var/lib 
-       install -d $(SYS_NAME)/dest/root.client/usr/vice/etc
-       install -d dest/root.server/usr/afs/bin
-
+       afslogsdir=/var/log/openafs afslocaldir=/etc/openafs/server-local \
+           sh configure \
+           --with-afs-sysname=$(SYS_NAME) --disable-kernel-module \
+           --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
+           --localstatedir=/var/lib --enable-supergroups \
+           --enable-largefile-fileserver --enable-debug --enable-lwp-debug \
+           $(DEBIAN_OPT_FLAGS)
+       chmod a+x src/libafs/make_kbuild_makefile.pl         
        touch configure-stamp
 
 build: configure-stamp build-stamp
 build-stamp:
        dh_testdir
-
-       $(MAKE) dest 
-       -rm $(SYS_NAME)/dest/include/crypt.h
+       mkdir -p $(CURDIR)/debian/tmp
+       $(MAKE) install_nolibafs DESTDIR=$(CURDIR)/debian/tmp
+       chmod +x debian/afs-rootvol debian/afs-newcell debian/doc/build-man
+       cd debian/doc && ./build-man
        touch build-stamp
 
 clean:
        dh_testdir
        dh_testroot
-       rm -f build-stamp configure-stamp build-modules-stamp
-       # Add here commands to clean up after the build process.
-       -$(MAKE) -ki distclean
-       -rm -rf obj dest $(SYS_NAME) @sys Makefile debian/openafs-client.init
-       -rm -rf config.status config.cache lib include
+       rm -f build-stamp configure-stamp
+       rm -f build-modules-stamp configure-modules-stamp
+ifeq (Makefile,$(wildcard Makefile))
+       $(MAKE) distclean
+endif
+       rm -rf debian/doc/man1 debian/doc/man5 debian/doc/man8
        dh_clean
 
 install: DH_OPTIONS=
 install: build
        dh_testdir
        dh_testroot
-       dh_clean -k
        dh_installdirs
-       mkdir -p debian/openafs-dbserver/usr/share/man/man8
-               /usr/bin/docbook-to-man debian/pt_util.sgml >debian/openafs-dbserver/usr/share/man/man8/pt_util.8
-       for foo in $(LINTIAN_PACKAGES) ; do \
-               install -d debian/$$foo/usr/share/lintian/overrides; \
-               cp debian/$$foo.lintian debian/$$foo/usr/share/lintian/overrides/$$foo; \
-               done
-       for pkg in openafs-dbserver openafs-fileserver openafs-kpasswd; do \
-               ln -s openafs-client debian/$$pkg/usr/share/doc/$$pkg; \
-               done
-       # Add here commands to install the package into debian/tmp.
-       cat debian/filelist |sh debian/movefiles
-       mv debian/openafs-client/usr/bin/pagsh  \
-       debian/openafs-client/usr/bin/pagsh.openafs
-
-       cp debian/CellServDB debian/openafs-client/usr/share/openafs
-       cp dest/root.client/usr/vice/etc/afs.rc debian/openafs-client.init
-       cp dest/root.client/usr/vice/etc/afs.conf debian/openafs-client/etc/openafs/afs.conf
-       install -m 755 -o root -g root debian/afs-rootvol debian/openafs-dbserver/usr/sbin
-       install -g root -o root -m 755 debian/afs-newcell \
-               debian/openafs-dbserver/usr/sbin
-       install -D -m 644 debian/ConfigUtils.pm \
-               debian/openafs-dbserver/usr/lib/perl5/Debian/OpenAFS/ConfigUtils.pm
-       (cd debian&&pod2man --section 8 --center "Debian GNU/Linux"  \
-               afs-rootvol ) >debian/openafs-dbserver/usr/share/man/man8/afs-rootvol.8
-       (cd debian&&pod2man --section 8 --center "Debian GNU/Linux"  \
-               afs-newcell ) >debian/openafs-dbserver/usr/share/man/man8/afs-newcell.8
-       # No, includes should not have the x bit set
-       find debian/libopenafs-dev/usr/include -type f -print | \
-               xargs chmod a-x
-       # And drop the pam modules
-       rm debian/libopenafs-dev/usr/lib/*pam*
-
-# Build architecture-independent files here.
-# Pass -i to all debhelper commands in this target to reduce clutter.
+       dh_install
+
+       set -e; for pkg in $(LINTIAN_PACKAGES) ; do \
+           install -d debian/$$pkg/usr/share/lintian/overrides; \
+           install -m 644 -c debian/$$pkg.lintian \
+               debian/$$pkg/usr/share/lintian/overrides/$$pkg; \
+       done
+       set -e; for pkg in $(DOC_PACKAGES) ; do \
+           ln -s openafs-client debian/$$pkg/usr/share/doc/$$pkg; \
+       done
+
+       mv debian/openafs-client/usr/bin/pagsh \
+           debian/openafs-client/usr/bin/pagsh.openafs
+       mv debian/openafs-client/usr/share/man/man1/pagsh.1 \
+           debian/openafs-client/usr/share/man/man1/pagsh.openafs.1
+       mv debian/openafs-client/usr/bin/up \
+           debian/openafs-client/usr/bin/afs-up
+       mv debian/openafs-client/usr/share/man/man1/up.1 \
+           debian/openafs-client/usr/share/man/man1/afs-up.1
+
+       install -m 644 -c debian/tmp/usr/lib/pam_afs.so.1 \
+           debian/libpam-openafs-kaserver/lib/security/pam_afs.so
+       install -m 644 -c debian/tmp/usr/lib/pam_afs.krb.so.1 \
+           debian/libpam-openafs-kaserver/lib/security/pam_afs.krb.so
+
+       install -d debian/openafs-dbserver/usr/share/man/man8
+       /usr/bin/docbook-to-man debian/pt_util.sgml \
+           >debian/openafs-dbserver/usr/share/man/man8/pt_util.8
+       ( cd debian && pod2man --section 8 --center "Debian GNU/Linux" \
+           afs-rootvol ) \
+           >debian/openafs-dbserver/usr/share/man/man8/afs-rootvol.8
+       ( cd debian && pod2man --section 8 --center "Debian GNU/Linux" \
+           afs-newcell ) \
+           >debian/openafs-dbserver/usr/share/man/man8/afs-newcell.8
+
+# Build architecture-independent files here.  Pass -i to all debhelper
+# commands in this target to reduce clutter.
 binary-indep: DH_OPTIONS=-i
 binary-indep: build install binary-source
-       # Need this version of debhelper for DH_OPTIONS to work.
-       dh_testversion 1.1.17
        dh_testdir
        dh_testroot
-#      dh_installdebconf
+       dh_installchangelogs NEWS
        dh_installdocs
-       dh_installexamples
-       dh_installmenu
-#      dh_installemacsen
-#      dh_installpam
-#      dh_installinit
-       dh_installcron
-#      dh_installmanpages
-       dh_installinfo
-       dh_undocumented
-       dh_installchangelogs   ChangeLog
        dh_link
        dh_compress
        dh_fixperms
-       # You may want to make some executables suid here.
-       dh_suidregister
        dh_installdeb
-#      dh_perl
        dh_gencontrol
        dh_md5sums
        dh_builddeb
 
-# Build architecture-dependent files here.
-# Pass -a to all debhelper commands in this target to reduce clutter.
+# Build architecture-dependent files here.  Pass -a to all debhelper commands
+# in this target to reduce clutter.
 binary-arch: DH_OPTIONS=-a
 binary-arch: build install
-       # Need this version of debhelper for DH_OPTIONS to work.
-       dh_testversion 1.1.17
        dh_testdir
        dh_testroot
-       dh_installdebconf
+       dh_installchangelogs NEWS
        dh_installdocs
-       dh_installexamples
-       dh_installmenu
-#      dh_installemacsen
-#      dh_installpam
+       dh_installdebconf
        DH_OPTIONS= dh_installinit -popenafs-client -r -- defaults 25 18
        DH_OPTIONS= dh_installinit -popenafs-fileserver -r
-       dh_installcron
-#      dh_installmanpages
-       dh_installinfo
-       dh_undocumented
-       dh_installchangelogs   ChangeLog
-       dh_strip
        dh_link
+       dh_strip
        dh_compress
        dh_fixperms
-       # You may want to make some executables suid here.
        chmod 700 debian/openafs-client/var/cache/openafs
-       chmod 700 debian/openafs-fileserver/etc/openafs/server
        chmod 700 debian/openafs-dbserver/var/lib/openafs/db
+       chmod 700 debian/openafs-fileserver/etc/openafs/server
        chmod 700 debian/openafs-fileserver/var/lib/openafs/cores
-       dh_suidregister
+       dh_perl
        dh_installdeb
-#      dh_makeshlibs
-#      dh_perl
        dh_shlibdeps
        dh_gencontrol
        dh_md5sums
        dh_builddeb
 
-binary:   binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
-
-############################Module package support
-kdist_image:  build-modules
-       $(MAKE) $(MFLAGS) -f debian/rules MODDIR=$(KSRC)/.. binary-modules
-       $(MAKE) $(MFLAGS) -f debian/rules MODDIR=$(KSRC)/.. clean
-
-kdist:  build-modules
-       $(MAKE) $(MFLAGS) -f debian/rules MODDIR=$(KSRC)/.. KERNEL_DEPENDS=y binary-modules
-       KSRC="$(KSRC)" KMAINT="$(KMAINT)" KEMAIL="$(KEMAIL)" \
-               sh -v debian/genchanges.sh
-       $(MAKE) $(MFLAGS) -f debian/rules MODDIR=$(KSRC)/.. clean
-
+binary: binary-indep binary-arch
 
+#####################  Building openafs-modules-source  ######################
 
-kdist_config: configure
-
-kdist_clean: clean
-
-############################ source stuff #################################
 binary-source:
-# Perform some tests
-       test -f debian/rules
-       test `id -u` = "0"
-
-
-# Setup everything first
+       dh_testdir
+       dh_testroot
        -rm -rf debian/$(srcpkg) debian/substvars
-       install -d debian/$(srcpkg)
-# Clean up the sources 
        install -d debian/$(srcpkg)/usr/src/modules/$(package)
-       find . \( -name \*.o -o -path ./debian/$(srcpkg) -o -path \*/CVS -o -path ./src/WINNT  \
-               -o -path ./obj -o -path ./$(SYS_NAME)  \
-       -o \( -path ./debian/\* -type d \) \
-       -o -path ./debian/\*debhelper \) -prune -o -print | \
-               cpio -admp debian/$(srcpkg)/usr/src/modules/$(package)
-       ( cd debian/$(srcpkg)/usr/src/modules/$(package)&& \
-               $(MAKE) -f debian/rules clean && \
-       rm -rf src/libafs/rx src/libafs/afs src/libafs/afsint; \
-               mv debian/kern-sysname debian/sysname)
-       chown -R root.root debian/$(srcpkg)
+       find . \( -name \*.o -o -path ./debian/$(srcpkg) -o -path \*/CVS \
+           -o -path \*/.svn -o -path ./src/WINNT  \
+           -o -path ./obj -o -path ./$(SYS_NAME)  \
+           -o \( -path ./debian/\* -type d \) \
+           -o -path ./debian/\*debhelper \) -prune -o -print | \
+               cpio -admp debian/$(srcpkg)/usr/src/modules/$(package)
+       cd debian/$(srcpkg)/usr/src/modules/$(package) && \
+           $(MAKE) -f debian/rules clean && \
+           mv debian/kern-sysname debian/sysname
+       -cd debian/$(srcpkg)/usr/src/modules/$(package) && \
+           rm -rf src/libafs/rx src/libafs/afs src/libafs/afsint
+       chown -R root.src debian/$(srcpkg)
        find debian/$(srcpkg) -type d | xargs chmod 755
        find debian/$(srcpkg) -type f -perm -100 | xargs chmod 755
        find debian/$(srcpkg) -type f -not -perm -100 | xargs chmod 644
+       chmod 775 debian/$(srcpkg)/usr/src/modules
        cd debian/$(srcpkg)/usr/src && \
-         tar cf $(package).tar modules && \
-         $(RM) -r modules/$(package)
+           tar cf $(package).tar modules && \
+           rm -r modules
        gzip -9 debian/$(srcpkg)/usr/src/$(package).tar
        chmod 644 debian/$(srcpkg)/usr/src/$(package).tar.gz
-############################ modules stuff #################################
 
-build-modules: build-modules-stamp
+####################  Module package support (make-kpkg)  ####################
+
+kdist_configure: configure-modules-stamp
+
+kdist_image: build-modules-stamp
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules binary-modules
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules clean
 
-build-modules-stamp: 
-       -ln -s @sys/dest dest
-       -ln -s $(SYS_NAME) @sys
-       sh configure --with-afs-sysname=$(SYS_NAME) --with-linux-kernel-headers=$(KSRC)
-       make dest_only_libafs
+kdist: build-modules-stamp
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules binary-modules
+       KSRC="$(KSRC)" KMAINT="$(KMAINT)" KEMAIL="$(KEMAIL)" \
+           sh -v debian/genchanges.sh
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules clean
+
+kdist_clean:
+       $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules clean
+
+########################  Kernel module build rules  #########################
+
+configure-modules: configure-modules-stamp
+configure-modules-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-modules-stamp
+
+build-modules: build-modules-stamp
+build-modules-stamp: configure-modules-stamp
+       make only_libafs
        touch build-modules-stamp
 
-binary-modules: build-modules
-# Perform some tests
-       test -f debian/rules
-       test `id -u` = "0"
-
-# Setup everything first
-       -rm -rf debian/$(modulepkg) debian/substvars
-       install -d debian/$(modulepkg)
-
-# Install the software
-       install -d -g root -o root -m 755 debian/$(modulepkg)/lib/modules/$(KVERS)/fs
-       install -g root -o root -m 755  dest/root.client/usr/vice/etc/modload/*.o \
-               debian/$(modulepkg)/lib/modules/$(KVERS)/fs
-# Fix some stuff up
-       install -d -o root -g root -m 755 debian/$(modulepkg)/usr/share/doc
-       ln -s openafs-client debian/$(modulepkg)/usr/share/doc/$(modulepkg)
-       rm -rf debian/$(modulepkg)/usr/include
-ifeq ($(KERNEL_DEPENDS),y)
-       sh debian/prep-modules $(KSRC) debian/control.module > debian/control
-else
-       sh debian/prep-modules $(KSRC) debian/control.module-image > debian/control
-endif
+install-modules: build-modules-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-modules: install-modules
+       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)"
 
-# Install control files
-       install -d -o root -g root -m 755 debian/$(modulepkg)/DEBIAN
-       install -p -o root -g root -m 755 debian/prerm.mod \
-               debian/$(modulepkg)/DEBIAN/prerm
-       install -p -o root -g root -m 755 debian/postinst.mod \
-               debian/$(modulepkg)/DEBIAN/postinst
-
-# And now.. for the final packaging!
-       find debian/$(modulepkg) -type f | grep -v "./DEBIAN" | xargs md5sum | \
-               sed -e 's#debian/$(modulepkg)/##' > debian/$(modulepkg)/DEBIAN/md5sums
-
-       dpkg-gencontrol -isp \
-               -p$(modulepkg) \
-               -v`cat debian/VERSION` \
-               -Pdebian/$(modulepkg)
-       chown -R root.root debian/$(modulepkg)
-       chmod -R go=rX debian/$(modulepkg)
-       dpkg --build debian/$(modulepkg) $(MODDIR)
+.PHONY: build clean binary-indep binary-arch binary install configure
+.PHONY: kdist_configure kdist_image kdist kdist_clean binary-source
index 6d3c9d1..b47488d 100755 (executable)
@@ -1,28 +1,40 @@
 #!/bin/sh
-case `arch` in
-    alpha)
-       echo alpha_linux_22
-       ;;
+# Maps Debian architectures to AFS sysnames for building the clients and
+# libraries.  This doesn't worry about the kernel version; kern-sysname
+# does that when building the kernel module.
+#
+# Not all architectures are listed, only those that OpenAFS supports.
+
+case `dpkg --print-installation-architecture` in
+alpha)
+    echo alpha_linux_24
+    ;;
+amd64)
+    echo amd64_linux24
+    ;;
+hppa)
+    echo parisc_linux24
+    ;;
 i[3456]86)
-       echo i386_linux22
-;;
-    ia64)
+    echo i386_linux24
+    ;;
+ia64)
     echo ia64_linux24
-;;
-    parisc*)
-       echo parisc_linux24
-       ;;
-    ppc)
-       echo ppc_linux22
-       ;;
-    sparc|sparc64)
-       echo sparc_linux22
-       ;;
-    s390)
-    echo s390_linux22
-    ;;
-       *)
-       echo ERROr:  sysname not yet known
-       exit 1
-
+    ;;
+powerpc)
+    echo ppc_linux24
+    ;;
+ppc64)
+    echo ppc64_linux24
+    ;;
+s390)
+    echo s390_linux24
+    ;;
+sparc|sparc64)
+    echo sparc_linux24
+    ;;
+*)
+    echo "ERROR: unsupported architecture" >&2
+    echo UNKNOWN
+    exit 1
 esac