Blame install-utils/convfstab
|
Packit |
a62e42 |
#!/bin/sh
|
|
Packit |
a62e42 |
# Make /etc/fstab standard compliant.
|
|
Packit |
a62e42 |
# M.Weller (eowmob@exp-math.uni-essen.de) 13.11.1994.
|
|
Packit |
a62e42 |
# This script is public domain. Still if only slightly
|
|
Packit |
a62e42 |
# modified a credit to me might be nice.
|
|
Packit |
a62e42 |
|
|
Packit |
a62e42 |
ROOT_PASS=1 # Pass for root file system
|
|
Packit |
a62e42 |
NON_ROOT_PASS=2 # Pass for non root file systems
|
|
Packit |
a62e42 |
DEF_FLAGS="defaults" # Default filesysflags
|
|
Packit |
a62e42 |
DEF_DUMP=0 # Default dumpfreq.
|
|
Packit |
a62e42 |
|
|
Packit |
a62e42 |
while read LINE
|
|
Packit |
a62e42 |
do
|
|
Packit |
a62e42 |
set -- $LINE
|
|
Packit |
a62e42 |
if [ $# != 0 ]
|
|
Packit |
a62e42 |
then
|
|
Packit |
a62e42 |
case $1 in
|
|
Packit |
a62e42 |
\#* | !* )
|
|
Packit |
a62e42 |
echo "$LINE"
|
|
Packit |
a62e42 |
# Actually there are no comments allowed in /etc/fstab
|
|
Packit |
a62e42 |
echo "Warning: comment in /etc/fstab detected." >&2
|
|
Packit |
a62e42 |
echo "Please remove it by hand." >&2
|
|
Packit |
a62e42 |
;;
|
|
Packit |
a62e42 |
* )
|
|
Packit |
a62e42 |
if [ $# -gt 6 ] || [ $# -lt 3 ]
|
|
Packit |
a62e42 |
then
|
|
Packit |
a62e42 |
echo "Don't have a clue about \"$LINE\"." >&2
|
|
Packit |
a62e42 |
echo "$LINE"
|
|
Packit |
a62e42 |
else
|
|
Packit |
a62e42 |
case $2 in
|
|
Packit |
a62e42 |
/ )
|
|
Packit |
a62e42 |
PASS=$ROOT_PASS
|
|
Packit |
a62e42 |
;;
|
|
Packit |
a62e42 |
none )
|
|
Packit |
a62e42 |
PASS=0
|
|
Packit |
a62e42 |
;;
|
|
Packit |
a62e42 |
* )
|
|
Packit |
a62e42 |
PASS=$NON_ROOT_PASS
|
|
Packit |
a62e42 |
;;
|
|
Packit |
a62e42 |
esac
|
|
Packit |
a62e42 |
DUMP=$DEF_DUMP
|
|
Packit |
a62e42 |
case $3 in
|
|
Packit |
a62e42 |
ignore | iso9660 | msdos | hpfs | sysv | \
|
|
Packit |
a62e42 |
xenix | coherent | nfs | proc | sw | swap )
|
|
Packit |
a62e42 |
DUMP=0;
|
|
Packit |
a62e42 |
PASS=0;
|
|
Packit |
a62e42 |
;;
|
|
Packit |
a62e42 |
esac
|
|
Packit |
a62e42 |
case $# in
|
|
Packit |
a62e42 |
3 )
|
|
Packit |
a62e42 |
echo "$LINE $DEF_FLAGS $DUMP $PASS"
|
|
Packit |
a62e42 |
;;
|
|
Packit |
a62e42 |
4 )
|
|
Packit |
a62e42 |
echo "$LINE $DUMP $PASS"
|
|
Packit |
a62e42 |
;;
|
|
Packit |
a62e42 |
5 )
|
|
Packit |
a62e42 |
echo "$LINE $PASS"
|
|
Packit |
a62e42 |
;;
|
|
Packit |
a62e42 |
6)
|
|
Packit |
a62e42 |
echo "$LINE"
|
|
Packit |
a62e42 |
;;
|
|
Packit |
a62e42 |
esac
|
|
Packit |
a62e42 |
fi
|
|
Packit |
a62e42 |
;;
|
|
Packit |
a62e42 |
esac
|
|
Packit |
a62e42 |
else
|
|
Packit |
a62e42 |
echo "Warning: One empty line removed." >&2
|
|
Packit |
a62e42 |
fi
|
|
Packit |
a62e42 |
done </etc/fstab >/tmp/newfstab.$$
|
|
Packit |
a62e42 |
mv -f /etc/fstab /etc/fstab.bak
|
|
Packit |
a62e42 |
mv -f /tmp/newfstab.$$ /etc/fstab
|
|
Packit |
a62e42 |
if [ $? != 0 ]
|
|
Packit |
a62e42 |
then
|
|
Packit |
a62e42 |
echo "Installation of patched /etc/fstab failed."
|
|
Packit |
a62e42 |
echo "It would have been:"
|
|
Packit |
a62e42 |
cat /tmp/newfstab.$$
|
|
Packit |
a62e42 |
rm -f /tmp/newfstab.$$
|
|
Packit |
a62e42 |
fi
|