6 .
/usr
/share
/debconf
/confmodule
9 # Create the standard AFS mount point if it doesn't exist.
10 test -d /afs || mkdir
/afs
12 # Configure alternatives for pagsh and klog.
13 update-alternatives
--install /usr
/bin
/pagsh pagsh \
14 /usr
/bin
/pagsh.openafs
100 \
15 --slave /usr
/share
/man
/man
1/pagsh
.1.gz pagsh
.1.gz \
16 /usr
/share
/man
/man
1/pagsh.openafs
.1.gz
18 # Set the local cell. If ThisCell already exists, the config script will have
19 # set the debconf database parameter accordingly.
20 db_get openafs-client
/thiscell
22 if [ -n "$THISCELL" ] ; then
23 echo "$THISCELL" > /etc
/openafs
/ThisCell
26 # On initial installation, or when afsdb is not configured, ensure that we
27 # have a CellServDB file.
28 db_get openafs-client
/afsdb
30 if [ "$afsdb" = 'false' ] ||
{ [ "$1" = 'configure' ] && [ -z "$2" ] ; } ; then
31 if [ ! -f /etc
/openafs
/CellServDB
] ; then
32 cp /usr
/share
/openafs
/CellServDB
/etc
/openafs
36 # If ThisCell is not in CellServDB and the user is not using afsdb, we want to
37 # prompt the user for the VLDB servers. Unfortunately, we can't do this in
38 # config because we need the CellServDB file, which is part of the package.
40 if [ -n "$THISCELL" ] ; then
41 if grep -qF "$THISCELL" /etc
/openafs
/CellServDB
2>/dev
/null
; then
45 if [ "$afsdb" = 'false' ] && [ -z "$havecell" ] ; then
46 db_input critical openafs-client
/cell-info || true
47 db_input high openafs-client
/run-client || true
49 db_get openafs-client
/cell-info
50 if [ "x$RET" != "x" ] ; then
51 echo ">$THISCELL" > /etc
/openafs
/CellServDB.new
52 perl
-MSocket -e 'foreach (@ARGV) {' \
53 -e '@a=gethostbyname($_) and ' \
54 -e 'printf("%s\t\t# %s\n",inet_ntoa($a[4]),$a[0]) }' $RET \
55 >>/etc
/openafs
/CellServDB.new
56 if [ `wc -l </etc/openafs/CellServDB.new` -eq 1 ] ; then
57 echo 'None of the hostnames resolved to an address' 2>&1
58 db_reset openafs-client
/cell-info || true
59 rm /etc
/openafs
/CellServDB.new
61 cat /etc
/openafs
/CellServDB.new
/etc
/openafs
/CellServDB \
62 > /etc
/openafs
/CellServDB.tmp
63 mv /etc
/openafs
/CellServDB.tmp
/etc
/openafs
/CellServDB
64 rm /etc
/openafs
/CellServDB.new
69 # Our config script will have already taken care of extracting the cache size
70 # from the cacheinfo file and using it as the default for the debconf prompt,
71 # but the mount point and cache directory have no debconf prompts. For those,
72 # we need to get the default from the file.
74 cachedir
=/var
/cache
/openafs
75 if [ -r /etc
/openafs
/cacheinfo
] ; then
76 IFS
=: read mountpoint cachedir cachesize
< /etc
/openafs
/cacheinfo
78 db_get openafs-client
/cachesize
79 echo "${mountpoint}:${cachedir}:${RET}" > /etc
/openafs
/cacheinfo
81 # Create the /etc/openafs/afs.conf.client configuration file, which stores
82 # most of the debconf results.
83 echo <<'EOF' > /etc/openafs/afs.conf.client
84 # This file is managed by debconf. You may change the parameters set below,
85 # but any additional lines or comments will be lost when the package is
86 # upgraded or reconfigured. Local modifications other than setting the
87 # following parameters should be made in /etc/openafs/afs.conf instead.
90 db_get openafs-client
/run-client
91 echo AFS_CLIENT
="$RET" > /etc
/openafs
/afs.conf.client
92 echo AFS_AFSDB
="$afsdb" >> /etc
/openafs
/afs.conf.client
93 db_get openafs-client
/crypt
94 echo AFS_CRYPT
="$RET" >> /etc
/openafs
/afs.conf.client
95 db_get openafs-client
/dynroot
96 echo AFS_DYNROOT
="$RET" >> /etc
/openafs
/afs.conf.client
97 db_get openafs-client
/fakestat
98 echo AFS_FAKESTAT
="$RET" >> /etc
/openafs
/afs.conf.client
100 # Prepopulate the systemd EnvironmentFile
101 /usr
/share
/openafs
/openafs-client-precheck