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