To append timeout field in file auto.master and
to port file rc.autofs for the slackware-7.0.0.
Submitted-by: [EMAIL PROTECTED]
Archive-name: autofs-3.1.5+slack7-1.1/part01
#!/bin/sh
# This is autofs-3.1.5+slack7-1.1, a shell archive (produced by GNU sharutils 4.2c)
# To extract the files from this archive, save it to some FILE, remove
# everything before the `!/bin/sh' line above, then type `sh FILE'.
#
# Existing files will *not* be overwritten unless `-c' is specified.
#
# This shar contains:
# length mode name
# ------ ---------- ------------------------------------------
# 8196 -r--r--r-- autofs-3.1.5+slack7-1.1.patch
# 18007 -r--r--r-- COPYING
#
save_IFS="${IFS}"
IFS="${IFS}:"
gettext_dir=FAILED
locale_dir=FAILED
first_param="$1"
for dir in $PATH
do
if test "$gettext_dir" = FAILED && test -f $dir/gettext \
&& ($dir/gettext --version >/dev/null 2>&1)
then
set `$dir/gettext --version 2>&1`
if test "$3" = GNU
then
gettext_dir=$dir
fi
fi
if test "$locale_dir" = FAILED && test -f $dir/shar \
&& ($dir/shar --print-text-domain-dir >/dev/null 2>&1)
then
locale_dir=`$dir/shar --print-text-domain-dir`
fi
done
IFS="$save_IFS"
if test "$locale_dir" = FAILED || test "$gettext_dir" = FAILED
then
echo=echo
else
TEXTDOMAINDIR=$locale_dir
export TEXTDOMAINDIR
TEXTDOMAIN=sharutils
export TEXTDOMAIN
echo="$gettext_dir/gettext -s"
fi
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
shar_n= shar_c='
'
else
shar_n=-n shar_c=
fi
else
shar_n= shar_c='\c'
fi
touch -am 1231235999 $$.touch >/dev/null 2>&1
if test ! -f 1231235999 && test -f $$.touch; then
shar_touch=touch
else
shar_touch=:
echo
$echo 'WARNING: not restoring timestamps. Consider getting and'
$echo "installing GNU \`touch', distributed in GNU File Utilities..."
echo
fi
rm -f 1231235999 $$.touch
#
$echo $shar_n 'x -' 'lock directory' "\`_sh09015': "$shar_c
if mkdir _sh09015; then
$echo 'created'
else
$echo 'failed to create'
exit 1
fi
# ============= autofs-3.1.5+slack7-1.1.patch ==============
if test -f 'autofs-3.1.5+slack7-1.1.patch' && test "$first_param" != -c; then
$echo 'x -' SKIPPING 'autofs-3.1.5+slack7-1.1.patch' '(file already exists)'
else
$echo 'x -' extracting 'autofs-3.1.5+slack7-1.1.patch' '(text)'
sed 's/^X//' << 'SHAR_EOF' > 'autofs-3.1.5+slack7-1.1.patch' &&
autofs-3.1.5+slack7-1.1.patch
Copyright (C) 1998,2000 保坂 栄一 (HOSAKA Eiichi,
X =?ISO-2022-JP?B?GyRCSl06ZBsoQiAbJEIxSTBsGyhC?=).
X
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.
X
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
X
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place, Suite 330, Boston, MA 02111-1307 USA
X
--
Patch for autofs-3.1.5
to append timeout field in file auto.master and
to port file rc.autofs for the slackware-7.0.0.
X
diff -ur autofs-3.1.5/man/auto.master.5 autofs-3.1.5+slack7-1.1/man/auto.master.5
--- autofs-3.1.5/man/auto.master.5 Fri Jun 2 10:07:16 2000
+++ autofs-3.1.5+slack7-1.1/man/auto.master.5
@@ -28,10 +28,12 @@
X .BR autofs (5)).
X The path and the file are referring to the file on the file system mounted.
X .SH "FORMAT"
-The file has three fields separated by an arbitrary number of blanks or
+The file has four fields separated by an arbitrary number of blanks or
X tabs. Lines beginning with # are comments. The first field is the mount
-point. Second field is the map file to be consulted for this mount-point.
-The third field is optional and can contain options to be applied to all
+point. The second field is the map file to be consulted for this mount-point.
+The third field is optional and can contain a minimum timeout in seconds
+after which the mount will expire. If there is no the feild, 300 is assumed.
+The fourth field is optional and can contain options to be applied to all
X entries in the map. Options are cumulative, which is a difference to the
X behavior of the SunOS automounter.
X
diff -ur autofs-3.1.5/samples/rc.autofs.in autofs-3.1.5+slack7-1.1/samples/rc.autofs.in
--- autofs-3.1.5/samples/rc.autofs.in Fri Jun 2 10:07:17 2000
+++ autofs-3.1.5+slack7-1.1/samples/rc.autofs.in
@@ -7,7 +7,7 @@
X # map with that name
X #
X # On most distributions, this file should be called:
-# /etc/rc.d/init.d/autofs or /etc/init.d/autofs
+# /etc/rc.d/init.d/autofs, /etc/init.d/autofs or /etc/rc.d/rc.autofs
X #
X
X # For Redhat-ish systems
@@ -38,6 +38,8 @@
X system=debian
X elif [ -f /etc/redhat-release ]; then
X system=redhat
+elif [ -f /etc/slackware-version ]; then
+ system=slackware
X else
X echo "$0: Unknown system, please port and contact [EMAIL PROTECTED]" 1>&2
X exit 1
@@ -57,6 +59,9 @@
X PATH=/sbin:/usr/sbin:/bin:/usr/bin
X export PATH
X
+grep -q autofs /proc/filesystems ||
+ test -e "/lib/modules/$( uname -r )/fs/autofs.o" || exit 0
+
X #
X # We can add local options here
X # e.g. localoptions='rsize=8192,wsize=8192'
@@ -76,19 +81,20 @@
X if [ -f /etc/auto.master ]
X then
X cat /etc/auto.master | sed -e '/^#/d' -e '/^$/d'| (
- while read dir map options
+ while read dir map expire options
X do
X if [ ! -z "$dir" -a ! -z "$map" \
X -a x`echo "$map" | cut -c1` != 'x-' ]
X then
X map=`echo "/etc/$map" | sed -e 's:^/etc//:/:'`
X options=`echo "$options" | sed -e 's/\(^\|[ \t]\)-/\1/g'`
+ [ "$expire" = 0 -o "$[ -expire ]" = "-$expire" ] || expire=300
X if [ -x $map ]; then
- echo "$DAEMON $dir program $map $options $localoptions"
+ echo "$DAEMON -t$expire $dir program $map $options $localoptions"
X elif [ -f $map ]; then
- echo "$DAEMON $dir file $map $options $localoptions"
+ echo "$DAEMON -t$expire $dir file $map $options $localoptions"
X else
- echo "$DAEMON $dir `basename $map` $options $localoptions"
+ echo "$DAEMON -t$expire $dir `basename $map` $options
+$localoptions"
X fi
X fi
X done
@@ -101,7 +107,7 @@
X if [ -e /usr/bin/ypcat ] && [ `ypcat -k auto.master 2>/dev/null | wc -l` -gt 0 ]
X then
X ypcat -k auto.master | (
- while read dir map options
+ while read dir map expire options
X do
X if [ ! -z "$dir" -a ! -z "$map" \
X -a x`echo "$map" | cut -c1` != 'x-' ]
@@ -114,7 +120,8 @@
X options=`echo "$options" | sed -e '
X s/--*t\(imeout\)*[ \t]*[0-9][0-9]*//g
X s/\(^\|[ \t]\)-/\1/g'`
- echo "$DAEMON $dir yp $map $options $localoptions"
+ [ "$expire" = 0 -o "$[ -expire ]" = "-$expire" ] || expire=300
+ echo "$DAEMON -t$expire $dir yp $map $options $localoptions"
X fi
X done
X )
@@ -132,7 +139,7 @@
X echo ""
X echo "Active Mount Points:"
X echo "--------------------"
- ps ax|grep "[0-9]:[0-9][0-9] automount " | (
+ ps ax|grep "[0-9]:[0-9][0-9] $DAEMON " | (
X while read pid tt stat time command; do echo $command; done
X )
X }
@@ -157,7 +164,7 @@
X fi
X ;;
X stop)
- kill -TERM $(/sbin/pidof /usr/sbin/automount)
+ kill -TERM $(/sbin/pidof $DAEMON)
X rm -f /var/lock/subsys/autofs
X ;;
X reload|restart)
@@ -169,10 +176,10 @@
X TMP1=`mktemp /tmp/autofs.XXXXXX` || { echo "could not make temp file" >& 2;
exit 1; }
X TMP2=`mktemp /tmp/autofs.XXXXXX` || { echo "could not make temp file" >& 2;
exit 1; }
X getmounts >$TMP1
- ps ax|grep "[0-9]:[0-9][0-9] automount " | (
+ ps ax|grep "[0-9]:[0-9][0-9] $DAEMON " | (
X while read pid tt stat time command; do
X echo "$command" >>$TMP2
- if ! grep -q "^$command" $TMP2; then
+ if ! grep -q "^$command" $TMP1; then
X kill -USR2 $pid
X echo "Stop $command"
X fi
@@ -206,20 +213,20 @@
X case "$1" in
X start)
X echo -n 'Starting automounter:'
- getmounts | while read cmd mnt rest
+ getmounts | while read cmd flags mnt rest
X do
X echo -n " $mnt"
X pidfile=/var/run/autofs`echo $mnt | sed 's/\//./'`.pid
X start-stop-daemon --start --pidfile $pidfile --quiet \
- --exec $DAEMON -- $mnt $rest
+ --exec $DAEMON -- $flags $mnt $rest
X #
X # Automount needs a '--pidfile' or '-p' option.
X # For now we look for the pid ourself.
X #
- ps ax | grep "[0-9]:[0-9][0-9] $DAEMON $mnt" | (
+ ps ax | grep "[0-9]:[0-9][0-9] $DAEMON $flags $mnt" | (
X read pid rest
X echo $pid > $pidfile
- echo "$mnt $rest" >> $pidfile
+ echo "$flags $mnt $rest" >> $pidfile
X )
X done
X echo "."
@@ -256,10 +263,84 @@
X esac
X }
X
+#
+# Slackware start/stop function.
+#
+function slackware()
+{
+ local LOCK=/var/lock/automount
+ case "$1" in
+ start )
+ if ! ln -s /dev/null $LOCK 2>/dev/null ; then
+ echo "Automounter is now running or already killed abnormally" >&2
+ exit 1
+ fi
+ echo -n 'Starting automounter:'
+ getmounts | (
+ while read cmd flags mnt rest ; do
+ sleep 1
+ echo -n " $mnt"
+ $DAEMON $flags $mnt $rest
+ done
+ )
+ echo
+ ;;
+ stop )
+ echo -n 'Stopping automounter: '
+ killall -TERM automount
+ while [ -n "$( ps ax | grep "[0-9]:[0-9][0-9] $DAEMON " )" ] ; do
+ echo -n .
+ sleep 1
+ done
+ echo
+ rm -f $LOCK
+ ;;
+ reload | restart )
+ if [ ! -e $LOCK ] ; then
+ echo "Automounter not running" >&2
+ exit 1
+ fi
+ echo "Checking for changes to /etc/auto.master ...."
+ local i nline new[] pid tt stat time oline old[]
+ : $[ i = 0 ]
+ while read nline ; do new[$i]=$nline ; : $[ i += 1 ] ; done <<__EOF__
+$( getmounts )
+__EOF__
+ : $[ i = 0 ]
+ while read pid tt stat time oline ; do
+ old[$i]=$oline
+ : $[ i += 1 ]
+ for nline in "${new[@]}" ; do
+ [ "$oline" = "$nline" ] && { oline= ; break ; }
+ done
+ [ -n "$oline" ] &&
+ { sleep 1 ; echo " stop: $oline" ; kill -USR2 $pid ; }
+ done <<__EOF__
+$( ps ax | grep "[0-9]:[0-9][0-9] $DAEMON " )
+__EOF__
+ for nline in "${new[@]}" ; do
+ for oline in "${old[@]}" ; do
+ [ "$nline" = "$oline" ] && { nline= ; break ; }
+ done
+ [ -n "$nline" ] && { sleep 1 ; echo " start: $nline" ; $nline ; }
+ done
+ ;;
+ status )
+ status
+ ;;
+ * )
+ echo "Usage: $0 {start|stop|reload|restart|status}" >&2
+ exit 1
+ ;;
+ esac
+}
+
X if [ $system = debian ]; then
X debian "$@"
X elif [ $system = redhat ]; then
X redhat "$@"
+elif [ $system = slackware ]; then
+ slackware "$@"
X fi
X
X exit 0
SHAR_EOF
$shar_touch -am 0614215000 'autofs-3.1.5+slack7-1.1.patch' &&
chmod 0444 'autofs-3.1.5+slack7-1.1.patch' ||
$echo 'restore of' 'autofs-3.1.5+slack7-1.1.patch' 'failed'
if ( md5sum --help </dev/null 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
&& ( md5sum --version </dev/null 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
md5sum -c << SHAR_EOF >/dev/null 2>&1 \
|| $echo 'autofs-3.1.5+slack7-1.1.patch:' 'MD5 check failed'
30a97d5229bab7b1a6d559f404f37ca6 autofs-3.1.5+slack7-1.1.patch
SHAR_EOF
else
shar_count="`LC_ALL=C wc -c < 'autofs-3.1.5+slack7-1.1.patch'`"
test 8196 -eq "$shar_count" ||
$echo 'autofs-3.1.5+slack7-1.1.patch:' 'original size' '8196,' 'current size'
"$shar_count!"
fi
fi
# ============= COPYING ==============
if test -f 'COPYING' && test "$first_param" != -c; then
$echo 'x -' SKIPPING 'COPYING' '(file already exists)'
else
$echo 'x -' extracting 'COPYING' '(gzipped)'
sed 's/^X//' << 'SHAR_EOF' | uudecode &&
begin 600 _sh09015/gzi
M'XL(``9%:3,"`YU<6W/;1K)^SM3Y$5-ZL50%,Y%S]I)H*U641%G<E2B%I.SH
M;4%R*"(&`2X&D,Q_?_KKGAD,>'%RUK596R30T]/3EZ\OH^^^T_3GX^A)?QR,
M!N/^G7Y\NKP;7FGZ;S":#-1W_`#]^60JFY6%_I#H?S:%T><__72NE+XJ-]LJ
M>UG5^O3JC#[\^T\)?Z5O*F/TI%S6;VEE]$W9%(NT)@*)'A;SGM*'__SE)STU
MZTUN]&.>SDVB)TU6&_WCCS\D^K*T-=Z_[VO]PX?S\_/WYS_^\#>MGR9]I0>O
MIMJ6Q%=F]<94ZZRNS4+7I9X3@SHM%GJ1V;K*9@V1HV=GQ,P:7V;&*ETN=;VB
M-_-L;@IK]**<-VM3U(FFY_5\E18O6?&BLQKDB[+6:9Z7;V;14R0@EM!C9=+U
M+#<D$CU=&4_)ZF59Z35QKJV7!?Y;&)N]%,)AG7ZA#]_2K=Z63:66)+A%N<8W
M=L7/$_/,`FVN[FE]N26^B[I*+?%7TUI\?*8P59KKQV9&2ZL[MQ%B-RMJ4RQD
MJ9<FK5+ZV?!2^EM+X3OE>7[_GAY9@T_;T&-8-&R'EL"SO%$2"_%H=6-)6WJ0
M1&95ES7M64LWFYR$C\59/GP&IJLWJM6;=S:28,&[28NM+NF=2F^J\J5*U_IM
M58)R4Z_*RI*4UJ0']*1JK!P?L70Z*=?&O79,1SN;FY>D+B2^V59Y8=]ELRJM
MMOK(SK+"UB9=],ZT?BX;/4\+WNQ6"S,L>L>QI1,LRQZTYO/*%/J-!+LQZ1=(
[EMAIL PROTECTED]%3BJS-)4%;9#$G`'F$`GU::B]6F'#T3^,&=V3_?B,TUK:(5:I:]R
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
MQFBP/+K\\=7A/]%7$AWD7E':(`S4+I@ABF0XR$[?\P!;*MBA%S`@-#>[EMAIL PROTECTED]
MFA4+P[?9^7@1(3Q"BVJ"H?_F)Q>RJAV_"8RQZ?`Q(;V!+_8,4#Z(1A?];]GD
MXEGR+*7DD>'>7^3H?'H79YM0R4V]DX/9#$5)WYQFU7'C%NQLP_8!BEG%T<-\
M08HO9=MN*]>5],B%'SD8U(-JN]O[D-D;9+RIS\HJ;M*MLEE62ZD^3]]"]]XE
MBOO[$3H47$KTIF=;:8QQO:(#L'>*]Z>NP'BTR'XFQ1TT'.=!:V3]U!5U.V=<
M,X!%FQH51S]F]/]I[`G'@7VU(\2=%,>-.ORU)WV4.EL;!U"^!?7_8,>=H88=
M`W+*CQ396Z-W:<HWDMTW,BDB1MRM)48-?L\763?[HAKM;'.D&>I'*)Q[RB@R
MN,KELJFX7]49.'$Y6%M4?Z=#LNF<JW,`K-<DBA6WN'JJ:TEN0D50$F6V]/]S
MG%-K@:ZE%+ECWL=.1O:WGAXN);!S.85,-'0&$`0H:_^]6;QP+4]`2I2=2L]9
M$1)%Q#'^H:4[3]\_0+U>JW>9VYV4+7KR9S;8P]2U2DA0R&68ZL"-"=4S?_
M@DT)5X3\&)%0NNP7;CWUF8_3&/4C,ZD=T@]+[-A((NTVL66$"Q0_L6X(C<??
ME9$+-_^$U^.:?NG0N,74#JF7S=9-3F9JI%DD#0R*(2\.5[9>7\5MFVA:S]!9
M<OD]>LV%_KU#!/3VBGG$]ES;?W\R*?6G&Z9GRB87("<SHKHJMY0F;-_S2$%D
MW!%.\*N0\Q/86_(83AD:;*[%LJ"P,,>(!I?MPT^41C*JH'W(%MGS<&+A1CZA
M#,25%^^,A`3P+(6H.,[Q8S,X0W34*P2M4`[B0_X&^X+AHJ;/7D&*_KDR.9"T
M),.8I"O$*`VC/`F]3`+&.&_RE#QM5LV;M66O+1YNEN:M"S<Q^6@254E1TO=3
M_$-16V)G<M4-4!:B0BI>%AW48:?DMFDJ]F`':FYT,HV+S_R36'TT?6+;L0H4
M^DE5MZYZQN4Z/ZCG:G52.,CJK>L&*:YFRY,7W<57J<MHL+N(0]_E<Y,TV/1+
MY2CZ,<PVP>X<L8#^)-1750;5AR>1$+^1\[EMAIL PROTECTED]]9A)$>]
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
M^[EMAIL PROTECTED]^Z\_)8>,N6O*>V_/*9%PUT?[EY.'.P(>=\\Q:+Y@E7#:H.LM
MZ?>_^>+JV[M>:Q6[[J`-/!P)3(YU(-<=[\`4W#6J4#KRV=A%O-S\7<Q(3Z96
M5ML-<CQN<;4#WYX_YB&\[=377[KM7"SII)!'KYX]++FKXAHA[7K<-;8H<&Y1
MVT"[C9O!E*)Q<2&Z]W20-7>-28KT;/XSH]8ED7P_)PZ^<$UC;8J&!&;6]OU[
MN''.HVV325,W7/=W%TC<9GDN#S>1^1$82KFEUT[]I?<PB>S>7IOJ3,LU[DI9
M9.^YM#D*&69'GQEWZ-JZ7'O[YJ2]I.+!1[94!6[)6[FL>>N&U%.,4)#-7L@`
M%;\#-96K%L_EMEQL"^--'`%QM@T+R6A0RP!;".")\\!N<2+T[TC/WZ$WQN."
M9(U6;O-:[894,`-CST(]C1;[)[C1M^G\BZG8`_Y#IDAP[YNT9+HE2RN+7Q)]
M3D"MRG+^M21`+/)%@E_683-_O>L3:9`KZA[QNJ'$XII&;7D#^A.?+Q<V5'0)
M-OR^@=!AJV)7E*(_6Y5H3\/9\&^5"/49Y4?#^7(FO+Z$*NX\"B>$,GBP*UXQ
M*JK;,)*B''%?/Q*G\.8G1/V-[@6A.7]YYL`ONE"'?]'%?EWS_P`::U'F5T8`
!`*K;
`
end
SHAR_EOF
$echo 'gunzipping file' 'COPYING' &&
gzip -d < _sh09015/gzi > 'COPYING' &&
$shar_touch -am 0502103697 'COPYING' &&
chmod 0444 'COPYING' ||
$echo 'restore of' 'COPYING' 'failed'
if ( md5sum --help </dev/null 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
&& ( md5sum --version </dev/null 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
md5sum -c << SHAR_EOF >/dev/null 2>&1 \
|| $echo 'COPYING:' 'MD5 check failed'
0636e73ff0215e8d672dc4c32c317bb3 COPYING
SHAR_EOF
else
shar_count="`LC_ALL=C wc -c < 'COPYING'`"
test 18007 -eq "$shar_count" ||
$echo 'COPYING:' 'original size' '18007,' 'current size' "$shar_count!"
fi
fi
$echo $shar_n 'x -' 'lock directory' "\`_sh09015': " $shar_c
if rm -fr _sh09015; then
$echo 'removed'
else
$echo 'failed to remove'
fi
exit 0
