#!/bin/sh
#
# Replace lines in fstab according to parameters from commandline.
#


# fetch parameters
FILE=$1
DEVICE=$2
MOUNTPT=$3
TYPE=$4
OPTIONS=$5
BACKUP=$6
CHECK=$7
DEVICENAME=$DEVICE

. functions

DATE=`date +%Y%m%d.%H%m%S`


# compute disk-UUID of $DEVICE
UUID=`lvol2uuid $DEVICE | sed s/UUID=// | sed s/\"//g`

if test -z "$DEVICE"
then	echo No device; exit; fi

if test -z "$MOUNTPT"
then	echo No mountpoint; exit; fi

if ! test -z "$UUID"
then	DEVICE="UUID=$UUID";	fi


# combine old fstab with new data
(
	# old FSTAB without data to be modified
	cat $FILE |
		grep -v "^[# 	]*$DEVICENAME[ 	]" |
		grep -v "^[# 	]*$DEVICENAME$" |
		grep -v "[ 	]$MOUNTPT[ 	]"
	# add comment line oubout disk name
	echo "# $DEVICENAME = $UUID"
	# add disk by UUID
	echo "$DEVICE $MOUNTPT $TYPE $OPTIONS $BACKUP $CHECK"
) > /tmp/fstab

# replace old FSTAB with new one.
cp $FILE $FILE-$DATE
mv /tmp/fstab $FILE




