From 1db522b6ac7df1d5f569d4cd654ead4dcbea91b4 Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Thu, 23 Mar 2006 21:06:18 +0000 Subject: [PATCH] debian-updates-20060323 from russ and sam --- src/packaging/Debian/CellServDB | 559 +++++++++++++++++ src/packaging/Debian/ConfigUtils.pm | 8 + src/packaging/Debian/README.Debian | 135 +++- src/packaging/Debian/README.modules | 106 +++- src/packaging/Debian/README.servers | 417 +++++++++++-- src/packaging/Debian/TODO | 14 +- src/packaging/Debian/afs-newcell | 280 ++++++--- src/packaging/Debian/afs-rootvol | 199 +++--- src/packaging/Debian/afs.conf | 129 ++++ src/packaging/Debian/changelog | 584 +++++++++++++++++- src/packaging/Debian/compat | 1 + src/packaging/Debian/control | 69 ++- src/packaging/Debian/control.module | 14 +- src/packaging/Debian/copyright | 105 +++- src/packaging/Debian/doc/build-man | 56 ++ src/packaging/Debian/genchanges.sh | 11 +- src/packaging/Debian/kern-sysname | 157 +++-- src/packaging/Debian/kernel-version | 15 + src/packaging/Debian/libopenafs-dev.dirs | 1 + src/packaging/Debian/libopenafs-dev.install | 8 + .../Debian/libpam-openafs-kaserver.dirs | 2 + src/packaging/Debian/openafs-client.config | 4 +- src/packaging/Debian/openafs-client.docs | 2 - src/packaging/Debian/openafs-client.install | 224 +++++++ src/packaging/Debian/openafs-client.lintian | 1 - src/packaging/Debian/openafs-client.postinst | 136 ++-- src/packaging/Debian/openafs-client.templates | 112 ++-- src/packaging/Debian/openafs-dbserver.dirs | 8 + src/packaging/Debian/openafs-dbserver.install | 24 + src/packaging/Debian/openafs-dbserver.lintian | 1 + src/packaging/Debian/openafs-fileserver.init | 9 +- .../Debian/openafs-fileserver.install | 31 + .../Debian/openafs-fileserver.lintian | 1 - .../Debian/openafs-fileserver.postinst | 69 ++- .../Debian/openafs-fileserver.postrm | 1 - .../Debian/openafs-fileserver.templates | 41 +- src/packaging/Debian/openafs-kpasswd.install | 23 + .../Debian/openafs-modules-source.docs | 1 - src/packaging/Debian/patches/README | 9 + src/packaging/Debian/patches/module-name | 49 ++ src/packaging/Debian/patches/pam | 158 +++++ src/packaging/Debian/po/POTFILES.in | 2 + src/packaging/Debian/po/cs.po | 279 +++++++++ src/packaging/Debian/po/de.po | 225 +++++++ src/packaging/Debian/po/fr.po | 292 +++++++++ src/packaging/Debian/po/pt_BR.po | 293 +++++++++ src/packaging/Debian/po/vi.po | 278 +++++++++ src/packaging/Debian/prep-modules | 130 ++-- src/packaging/Debian/pt_util.sgml | 1 - src/packaging/Debian/rules | 377 +++++------ src/packaging/Debian/sysname | 62 +- 51 files changed, 4914 insertions(+), 799 deletions(-) create mode 100644 src/packaging/Debian/CellServDB create mode 100644 src/packaging/Debian/afs.conf create mode 100644 src/packaging/Debian/compat create mode 100644 src/packaging/Debian/doc/build-man create mode 100644 src/packaging/Debian/kernel-version create mode 100644 src/packaging/Debian/libopenafs-dev.dirs create mode 100644 src/packaging/Debian/libopenafs-dev.install create mode 100644 src/packaging/Debian/libpam-openafs-kaserver.dirs create mode 100644 src/packaging/Debian/openafs-client.install create mode 100644 src/packaging/Debian/openafs-dbserver.install create mode 100644 src/packaging/Debian/openafs-dbserver.lintian create mode 100644 src/packaging/Debian/openafs-fileserver.install create mode 100644 src/packaging/Debian/openafs-kpasswd.install create mode 100644 src/packaging/Debian/patches/README create mode 100644 src/packaging/Debian/patches/module-name create mode 100644 src/packaging/Debian/patches/pam create mode 100644 src/packaging/Debian/po/POTFILES.in create mode 100644 src/packaging/Debian/po/cs.po create mode 100644 src/packaging/Debian/po/de.po create mode 100644 src/packaging/Debian/po/fr.po create mode 100644 src/packaging/Debian/po/pt_BR.po create mode 100644 src/packaging/Debian/po/vi.po diff --git a/src/packaging/Debian/CellServDB b/src/packaging/Debian/CellServDB new file mode 100644 index 0000000000..2740b39e57 --- /dev/null +++ b/src/packaging/Debian/CellServDB @@ -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 diff --git a/src/packaging/Debian/ConfigUtils.pm b/src/packaging/Debian/ConfigUtils.pm index 4d35047bc9..ee49144f59 100644 --- a/src/packaging/Debian/ConfigUtils.pm +++ b/src/packaging/Debian/ConfigUtils.pm @@ -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 diff --git a/src/packaging/Debian/README.Debian b/src/packaging/Debian/README.Debian index 884fad6a9c..755fa84cb3 100644 --- a/src/packaging/Debian/README.Debian +++ b/src/packaging/Debian/README.Debian @@ -1,25 +1,126 @@ -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 , and is + unfortunately outdated in several respects, but it's the best that we + have at present. - -- Sam Hartman , 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 , Tue Dec 27 15:53:28 2005 diff --git a/src/packaging/Debian/README.modules b/src/packaging/Debian/README.modules index d2c8e0168c..63f2c353d8 100644 --- a/src/packaging/Debian/README.modules +++ b/src/packaging/Debian/README.modules @@ -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. diff --git a/src/packaging/Debian/README.servers b/src/packaging/Debian/README.servers index 8bbae59666..d323215afb 100644 --- a/src/packaging/Debian/README.servers +++ b/src/packaging/Debian/README.servers @@ -1,47 +1,392 @@ - 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: + -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 /tmp/afs.keytab afs + + (or afs/cell.name if you used that instead). 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 + + where 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: + + . 3600 IN AFSDB 1 . + + where is the name of your AFS cell and 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 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 + + for each db server in your cell (including the new one). + Then, restart the ptserver and vlserver instances on each of your + existing servers with: + + bos restart ptserver + bos restart 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 ptserver simple /usr/lib/openafs/ptserver \ + -localauth + bos create 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. diff --git a/src/packaging/Debian/TODO b/src/packaging/Debian/TODO index dbbd37de63..cec5dbcb30 100644 --- a/src/packaging/Debian/TODO +++ b/src/packaging/Debian/TODO @@ -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. + diff --git a/src/packaging/Debian/afs-newcell b/src/packaging/Debian/afs-newcell index b896f000dc..725d526b90 100644 --- a/src/packaging/Debian/afs-newcell +++ b/src/packaging/Debian/afs-newcell @@ -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 [B<--requirements-met>] [B<--admin> admin_user] =head1 DESCRIPTION - This script sets up the initial AFS database and configures the first database/file server. -The B option specifies that the initial requirements -have been met and that the script can proceed without displaying the -initial banner or asking for confirmation. +The B<--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 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 =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 <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"; -} + $_ = $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() { -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); } -open(CELL, "/etc/openafs/server/ThisCell") - or die "Cannot open /etc/openafs/server/ThisCell: $!\n"; + +# 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"; +} + +# 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 = ; 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 () { + next unless /^>\Q$cell\E\s/; + while () { + 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() { -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 < [B<--requirements-met>] [B<--server> server-name] [B<--partition> partition-letter] +B [B<--requirements-met>] [B<--server> I] +[B<--partition> I] =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 =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"); - } +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 +# Main script. Flush all output immediately. +$| = 1; $rl = new Term::ReadLine('AFS'); - - -GetOptions ( - "requirements-met" => \$requirements_met, - "server=s" => \$server, - "partition=s" => \$part - ); +GetOptions ("requirements-met" => \$requirements_met, + "server=s" => \$server, + "partition=s" => \$part); unless ($requirements_met) { - print <readline("Do you meet these conditions? (y/n) "); unless (/^y/i ) { - print "Please restart the script when you meet these conditions.\n"; - exit(1); + 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 = ; close CELL; chomp $cell; unless ($server) { - print <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() { +while () { 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"); +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"); -mkvol( "user", "/afs/$cell/user" ); -mkvol( "service", "/afs/$cell/service" ); +# 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"); -$cell =~ /^([^.]*)/; +# 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"); +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"); +} -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 "); +# 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 index 0000000000..64490a1bd9 --- /dev/null +++ b/src/packaging/Debian/afs.conf @@ -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 +#} + +# 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 diff --git a/src/packaging/Debian/changelog b/src/packaging/Debian/changelog index eb3c91a2db..a1a6bc02e1 100644 --- a/src/packaging/Debian/changelog +++ b/src/packaging/Debian/changelog @@ -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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Sat, 8 Jan 2005 20:02:23 -0500 + +openafs (1.3.74-1) experimental; urgency=low + + * New upstream version + + -- Sam Hartman 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 Wed, 27 Oct 2004 20:42:12 -0400 + +openafs (1.3.71-1) experimental; urgency=low + + * New upstream version + + -- Sam Hartman 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 Sun, 15 Aug 2004 18:56:48 -0400 + +openafs (1.3.65-1) experimental; urgency=low + + * New upstream Version, Closes: #256580 + + -- Sam Hartman 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 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 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 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 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 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 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 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 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 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 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 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 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 Sun, 2 Feb 2003 14:08:14 -0500 + +openafs (1.2.8-3) unstable; urgency=medium + + * Patch from Eduard Bloch 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 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 Fri, 3 Jan 2003 15:28:30 -0500 + +openafs (1.2.8-1) unstable; urgency=low + + * New upstream version + + -- Sam Hartman 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 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 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 Thu, 26 Sep 2002 16:11:25 -0400 + openafs (1.2.6-1) unstable; urgency=low @@ -308,12 +882,10 @@ 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) + * Do not generate .map file for module; depmod complains. + -- Sam Hartman Wed, 6 Dec 2000 11:21:53 -0500 -Do not generate .map file for module; depmod complains. * - - -- - openafs (1.0.1-1) unstable; urgency=low * New upstream version @@ -434,7 +1006,3 @@ openafs (1.0.snap20001103-1) unstable; urgency=low -- unknown Fri, 3 Nov 2000 23:41:41 -0500 -Local variables: -mode: debian-changelog -add-log-mailing-address "hartmans@snorklewacker.mit.edu" -End: diff --git a/src/packaging/Debian/compat b/src/packaging/Debian/compat new file mode 100644 index 0000000000..b8626c4cff --- /dev/null +++ b/src/packaging/Debian/compat @@ -0,0 +1 @@ +4 diff --git a/src/packaging/Debian/control b/src/packaging/Debian/control index 0b81a1e207..ec2ec1cb16 100644 --- a/src/packaging/Debian/control +++ b/src/packaging/Debian/control @@ -2,14 +2,17 @@ Source: openafs Section: net Priority: optional Maintainer: Sam Hartman -Build-Depends: debhelper (>= 2.2.20), libncurses5-dev, libpam0g-dev, bison, docbook-to-man, flex, autoconf, automake, perl -Standards-Version: 3.5.0 +Uploaders: Russ Allbery +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 diff --git a/src/packaging/Debian/control.module b/src/packaging/Debian/control.module index 7ceb277b4f..66aaad4ebb 100644 --- a/src/packaging/Debian/control.module +++ b/src/packaging/Debian/control.module @@ -2,15 +2,19 @@ Source: openafs Section: net Priority: optional Maintainer: Sam Hartman -Standards-Version: 3.1.1 +Uploaders: Russ Allbery +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. diff --git a/src/packaging/Debian/copyright b/src/packaging/Debian/copyright index a68b88be0f..0bed00b2f5 100644 --- a/src/packaging/Debian/copyright +++ b/src/packaging/Debian/copyright @@ -1,9 +1,20 @@ This package was debianized by Sam Hartman 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 index 0000000000..1274495167 --- /dev/null +++ b/src/packaging/Debian/doc/build-man @@ -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 .. diff --git a/src/packaging/Debian/genchanges.sh b/src/packaging/Debian/genchanges.sh index 5d50cd542f..e38781bccc 100644 --- a/src/packaging/Debian/genchanges.sh +++ b/src/packaging/Debian/genchanges.sh @@ -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" diff --git a/src/packaging/Debian/kern-sysname b/src/packaging/Debian/kern-sysname index 00964eb6d8..1aa0293a03 100644 --- a/src/packaging/Debian/kern-sysname +++ b/src/packaging/Debian/kern-sysname @@ -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 index 0000000000..093e7d91c2 --- /dev/null +++ b/src/packaging/Debian/kernel-version @@ -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 = ; +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 index 0000000000..68457717bd --- /dev/null +++ b/src/packaging/Debian/libopenafs-dev.dirs @@ -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 index 0000000000..74bdd5ae95 --- /dev/null +++ b/src/packaging/Debian/libopenafs-dev.install @@ -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 index 0000000000..e721705dae --- /dev/null +++ b/src/packaging/Debian/libpam-openafs-kaserver.dirs @@ -0,0 +1,2 @@ +lib/security +usr/share/doc diff --git a/src/packaging/Debian/openafs-client.config b/src/packaging/Debian/openafs-client.config index 68a7e61e02..0781a7eb85 100644 --- a/src/packaging/Debian/openafs-client.config +++ b/src/packaging/Debian/openafs-client.config @@ -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 `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# set -e -# summary of how this script can be called: -# * `configure' -# * `abort-upgrade' -# * `abort-remove' `in-favour' -# -# * `abort-deconfigure' `in-favour' -# `removing' -# - case "$1" in - configure) +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_version 2.0 + db_get openafs-client/thiscell + echo $RET >/etc/openafs/ThisCell + THISCELL=$RET - 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 test -f /etc/openafs/CellServDB; then : - else cp /usr/share/openafs/CellServDB \ - /etc/openafs - fi - if grep -q -F "$RET" /etc/openafs/CellServDB&& [ "x$RET" != "x" ] ; then : - else db_input critical openafs-client/cell-info || true - db_input high openafs-client/run-client ||true - db_go - db_get openafs-client/cell-info - if [ "x$RET" != "x" ] ; then - echo \>$THISCELL >/etc/openafs/CellServDB.new - perl -MSocket -e 'foreach (@ARGV) {' \ - -e '@a=gethostbyname($_) and ' \ - -e 'printf("%s\t\t# %s\n",inet_ntoa($a[4]),$a[0]) }' $RET \ - >>/etc/openafs/CellServDB.new - if [ `wc -l &1 - db_reset openafs-client/cell-info ||true - exit 1 - fi - cat /etc/openafs/CellServDB.new \ - /etc/openafs/CellServDB >/etc/openafs/CellServDB.tmp - mv /etc/openafs/CellServDB.tmp \ - /etc/openafs/CellServDB - rm /etc/openafs/CellServDB.new - fi - fi - - db_get openafs-client/cachesize - echo /afs:/var/cache/openafs:$RET >/etc/openafs/cacheinfo + # 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 &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_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 - - diff --git a/src/packaging/Debian/openafs-client.templates b/src/packaging/Debian/openafs-client.templates index 0dabd8c088..9688c2ba35 100644 --- a/src/packaging/Debian/openafs-client.templates +++ b/src/packaging/Debian/openafs-client.templates @@ -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 diff --git a/src/packaging/Debian/openafs-dbserver.dirs b/src/packaging/Debian/openafs-dbserver.dirs index 8d53566746..1e6dd00c89 100644 --- a/src/packaging/Debian/openafs-dbserver.dirs +++ b/src/packaging/Debian/openafs-dbserver.dirs @@ -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 index 0000000000..bd6d4b7561 --- /dev/null +++ b/src/packaging/Debian/openafs-dbserver.install @@ -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 index 0000000000..2afb85f5fc --- /dev/null +++ b/src/packaging/Debian/openafs-dbserver.lintian @@ -0,0 +1 @@ +openafs-dbserver: non-standard-dir-perm diff --git a/src/packaging/Debian/openafs-fileserver.init b/src/packaging/Debian/openafs-fileserver.init index 8835856f83..d0172c3858 100755 --- a/src/packaging/Debian/openafs-fileserver.init +++ b/src/packaging/Debian/openafs-fileserver.init @@ -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 index 0000000000..e52fb529b4 --- /dev/null +++ b/src/packaging/Debian/openafs-fileserver.install @@ -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 diff --git a/src/packaging/Debian/openafs-fileserver.lintian b/src/packaging/Debian/openafs-fileserver.lintian index 87d699becc..f2b3998a85 100644 --- a/src/packaging/Debian/openafs-fileserver.lintian +++ b/src/packaging/Debian/openafs-fileserver.lintian @@ -1,2 +1 @@ -openafs-fileserver: link-to-undocumented-manpage openafs-fileserver: non-standard-dir-perm diff --git a/src/packaging/Debian/openafs-fileserver.postinst b/src/packaging/Debian/openafs-fileserver.postinst index a63e6c44e4..2c49fc3208 100644 --- a/src/packaging/Debian/openafs-fileserver.postinst +++ b/src/packaging/Debian/openafs-fileserver.postinst @@ -1,46 +1,55 @@ #!/bin/sh -e +# +# Summary of how this script can be called: +# +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# -# summary of how this script can be called: -# * `configure' -# * `abort-upgrade' -# * `abort-remove' `in-favour' -# -# * `abort-deconfigure' `in-favour' -# `removing' -# +set -e case "$1" in - configure) +configure) + . /usr/share/debconf/confmodule + db_version 2.0 - . /usr/share/debconf/confmodule + db_get openafs-fileserver/thiscell + echo $RET >/etc/openafs/server/ThisCell - 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 + 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 diff --git a/src/packaging/Debian/openafs-fileserver.postrm b/src/packaging/Debian/openafs-fileserver.postrm index b84bf8c473..9ce96e5683 100644 --- a/src/packaging/Debian/openafs-fileserver.postrm +++ b/src/packaging/Debian/openafs-fileserver.postrm @@ -38,4 +38,3 @@ esac #DEBHELPER# - diff --git a/src/packaging/Debian/openafs-fileserver.templates b/src/packaging/Debian/openafs-fileserver.templates index c43683ad61..e0776b8bf0 100644 --- a/src/packaging/Debian/openafs-fileserver.templates +++ b/src/packaging/Debian/openafs-fileserver.templates @@ -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 index 0000000000..6889bed208 --- /dev/null +++ b/src/packaging/Debian/openafs-kpasswd.install @@ -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 diff --git a/src/packaging/Debian/openafs-modules-source.docs b/src/packaging/Debian/openafs-modules-source.docs index 79b2a31613..3d959f9506 100644 --- a/src/packaging/Debian/openafs-modules-source.docs +++ b/src/packaging/Debian/openafs-modules-source.docs @@ -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 index 0000000000..d337dfab99 --- /dev/null +++ b/src/packaging/Debian/patches/README @@ -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 index 0000000000..148d2d837f --- /dev/null +++ b/src/packaging/Debian/patches/module-name @@ -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 + + +-${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 index 0000000000..c0f00b0058 --- /dev/null +++ b/src/packaging/Debian/patches/pam @@ -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 index 0000000000..0ec8635f51 --- /dev/null +++ b/src/packaging/Debian/po/POTFILES.in @@ -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 index 0000000000..1901ea7a84 --- /dev/null +++ b/src/packaging/Debian/po/cs.po @@ -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 \n" +"Language-Team: Czech \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 index 0000000000..7e786a7022 --- /dev/null +++ b/src/packaging/Debian/po/de.po @@ -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 \n" +"Language-Team: LANGUAGE \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 index 0000000000..0e4c7df0c5 --- /dev/null +++ b/src/packaging/Debian/po/fr.po @@ -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 \n" +"Language-Team: French \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 index 0000000000..a89a2efa1e --- /dev/null +++ b/src/packaging/Debian/po/pt_BR.po @@ -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 \n" +"Language-Team: Debian-BR Project \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 index 0000000000..1f92208458 --- /dev/null +++ b/src/packaging/Debian/po/vi.po @@ -0,0 +1,278 @@ +# Vietnamese translation for openafs. +# Copyright © 2005 Free Software Foundation, Inc. +# Clytie Siddall , 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 \n" +"Language-Team: Vietnamese \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." diff --git a/src/packaging/Debian/prep-modules b/src/packaging/Debian/prep-modules index ed0570304d..0ab5d5c108 100644 --- a/src/packaging/Debian/prep-modules +++ b/src/packaging/Debian/prep-modules @@ -1,55 +1,103 @@ #! /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/'` +# 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. -pkgupversion=`echo $pkgversion | cut -d- -f 1` -pkgupversion2=`perl -e "\"$pkgupversion\" =~ /(.*?)(\d+)\D*$/;"'printf $1 . ($2+1);'` - -sed -e s/=KVERS/$linuxversion/g -e s/=KREVS/$kernversion/g -e s/=AVERS/$pkgupversion/g -e s/=2AVERS/$pkgupversion2/g $2 - -mprefix=`grep Package: $2 | cut -d' ' -f 2 | cut -d= -f 1` - -rm -f debian/tmp/usr/share/doc/$mprefix$linuxversion - - -epochversion=`echo $kernversion | sed -n -e 's/^\([0-9]*\):.*/\1/p' -e 's/.*//'` -kernversion="$pkgversion+`echo $kernversion | sed -e 's/^[0-9]*://'`" - -if [ -n "$epochversion" ]; then - kernversion=$epochversion:$kernversion +if dpkg --compare-versions "$afs_kvers" ge "2.6.12" ; then + afs_image=linux-image +else + afs_image=kernel-image fi -echo "$kernversion" > debian/VERSION -echo "$linuxversion" > debian/KVERS + +# 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 + +# 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. + +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 "$afs_version" > debian/VERSION diff --git a/src/packaging/Debian/pt_util.sgml b/src/packaging/Debian/pt_util.sgml index 9d93e91e16..bdd4e1bfc9 100644 --- a/src/packaging/Debian/pt_util.sgml +++ b/src/packaging/Debian/pt_util.sgml @@ -182,4 +182,3 @@ sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: ---> diff --git a/src/packaging/Debian/rules b/src/packaging/Debian/rules index 1fcc19f408..4de077501b 100755 --- a/src/packaging/Debian/rules +++ b/src/packaging/Debian/rules @@ -9,268 +9,273 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 -# This is the debhelper compatability version to use. -export DH_COMPAT=2 - # This has to be exported to make some magic below work. export DH_OPTIONS -# The AFS sysname is determined by a script -KVERS=`awk '{ if (NR==1) v=$$3; else if (NR==2) p=$$3; else if (NR==3) s=$$3; \ - else if (NR==4) { e=$$3; exit; } } \ - END { printf("%s.%s.%s%s\n",v,p,s,e); }' $(KSRC)/Makefile` -SYS_NAME=$(shell KVERS=$(KVERS) sh debian/sysname) -package=openafs -srcpkg = openafs-modules-source -modulepkg=$(shell echo openafs-modules-$(KVERS)${INT_SUBARCH}) -ifndef KSRC -KSRC=/usr/src/linux +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 -MODDIR=.. -LINTIAN_PACKAGES= openafs-client openafs-fileserver + +ifndef KSRC + KSRC = /usr/src/linux +endif +ifndef KPKG_DEST_DIR + KPKG_DEST_DIR = .. +endif +KVERS := $(shell perl debian/kernel-version $(KSRC)) export KSRC export KVERS +export KPKG_DEST_DIR +SYS_NAME := $(shell KSRC="$(KSRC)" KVERS="$(KVERS)" sh debian/sysname) + +package = openafs +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 + dh_install - 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* + 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 -# Build architecture-independent files here. -# Pass -i to all debhelper commands in this target to reduce clutter. + 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 +binary: binary-indep binary-arch -############################Module package support -kdist_image: build-modules - $(MAKE) $(MFLAGS) -f debian/rules MODDIR=$(KSRC)/.. binary-modules - $(MAKE) $(MFLAGS) -f debian/rules MODDIR=$(KSRC)/.. clean +##################### Building openafs-modules-source ###################### -kdist: build-modules - $(MAKE) $(MFLAGS) -f debian/rules MODDIR=$(KSRC)/.. KERNEL_DEPENDS=y binary-modules - KSRC="$(KSRC)" KMAINT="$(KMAINT)" KEMAIL="$(KEMAIL)" \ - sh -v debian/genchanges.sh - $(MAKE) $(MFLAGS) -f debian/rules MODDIR=$(KSRC)/.. clean - - - -kdist_config: configure - -kdist_clean: clean - -############################ source stuff ################################# binary-source: -# Perform some tests - test -f debian/rules - test `id -u` = "0" - - -# Setup everything first + 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 ################################# + +#################### 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 + +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: - -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 +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" +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 -# Setup everything first - -rm -rf debian/$(modulepkg) debian/substvars - install -d debian/$(modulepkg) +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 the software - install -d -g root -o root -m 755 debian/$(modulepkg)/lib/modules/$(KVERS)/fs - install -g root -o root -m 755 dest/root.client/usr/vice/etc/modload/*.o \ - debian/$(modulepkg)/lib/modules/$(KVERS)/fs -# Fix some stuff up - install -d -o root -g root -m 755 debian/$(modulepkg)/usr/share/doc - ln -s openafs-client debian/$(modulepkg)/usr/share/doc/$(modulepkg) - rm -rf debian/$(modulepkg)/usr/include -ifeq ($(KERNEL_DEPENDS),y) - sh debian/prep-modules $(KSRC) debian/control.module > debian/control -else - sh debian/prep-modules $(KSRC) debian/control.module-image > debian/control -endif - -# Install control files - install -d -o root -g root -m 755 debian/$(modulepkg)/DEBIAN - install -p -o root -g root -m 755 debian/prerm.mod \ - debian/$(modulepkg)/DEBIAN/prerm - install -p -o root -g root -m 755 debian/postinst.mod \ - debian/$(modulepkg)/DEBIAN/postinst - -# And now.. for the final packaging! - find debian/$(modulepkg) -type f | grep -v "./DEBIAN" | xargs md5sum | \ - sed -e 's#debian/$(modulepkg)/##' > debian/$(modulepkg)/DEBIAN/md5sums - - dpkg-gencontrol -isp \ - -p$(modulepkg) \ - -v`cat debian/VERSION` \ - -Pdebian/$(modulepkg) - chown -R root.root debian/$(modulepkg) - chmod -R go=rX debian/$(modulepkg) - dpkg --build debian/$(modulepkg) $(MODDIR) +.PHONY: build clean binary-indep binary-arch binary install configure +.PHONY: kdist_configure kdist_image kdist kdist_clean binary-source diff --git a/src/packaging/Debian/sysname b/src/packaging/Debian/sysname index 6d3c9d1a3b..b47488d10d 100755 --- a/src/packaging/Debian/sysname +++ b/src/packaging/Debian/sysname @@ -1,28 +1,40 @@ #!/bin/sh -case `arch` in - alpha) - echo alpha_linux_22 - ;; -i[3456]86) - echo i386_linux22 -;; - ia64) - echo ia64_linux24 -;; - parisc*) - echo parisc_linux24 - ;; - ppc) - echo ppc_linux22 - ;; - sparc|sparc64) - echo sparc_linux22 - ;; - s390) - echo s390_linux22 - ;; - *) - echo ERROr: sysname not yet known - exit 1 +# 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_linux24 + ;; +ia64) + echo ia64_linux24 + ;; +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