Merging casper 1.161.
[live-boot-grml.git] / scripts / live-bottom / 12fstab
index be78e77..f1dc2e3 100755 (executable)
@@ -55,7 +55,7 @@ then
        echo "tmpfs /tmp tmpfs nosuid,nodev 0 0" >> "${FSTAB}"
 fi
 
-if [ -z "${NOSWAP}" ]
+if [ -n "${SWAPON}" ]
 then
        devices=""
 
@@ -66,7 +66,10 @@ then
                        continue
                fi
 
-               /lib/udev/vol_id ${device%%[0-9]*} 2>/dev/null | grep -q "^ID_FS_USAGE=raid" && continue
+               if [ -x /lib/udev/vol_id ]
+               then
+                       /lib/udev/vol_id ${device%%[0-9]*} 2>/dev/null | grep -q "^ID_FS_USAGE=raid" && continue
+               fi
 
                magic=$(/bin/dd if="${device}" bs=4086 skip=1 count=1 2>/dev/null | /bin/dd bs=10 count=1 2>/dev/null) || continue
 
@@ -77,12 +80,17 @@ then
                fi
        done
 
+       # Remove all auto swap entries
+       if grep -qs  "swap swap" "${FSTAB}"
+       then
+               grep -v "swap swap" "${FSTAB}" > "${FSTAB}".tmp
+               mv "${FSTAB}".tmp "${FSTAB}"
+       fi
+
+       # Add new swap entries
        for device in ${devices}
        do
-               if ! grep -qs  "^${device} swap" "${FSTAB}"
-               then
-                       echo "${device} swap swap defaults 0 0" >> "${FSTAB}"
-               fi
+               echo "${device} swap swap defaults 0 0" >> "${FSTAB}"
        done
 fi