Applying patch from Michael Prokop <mika@grml.org> to support udev >= 0.140.
[live-boot-grml.git] / scripts / live-bottom / 13swap
index 303fbbb..448c90a 100755 (executable)
@@ -20,14 +20,14 @@ esac
 
 # live-initramfs header
 
-if [ -n "${NOSWAP}" ] || [ -n "${NOFSTAB}" ]
+if [ -z "${SWAPON}" ] || [ -n "${NOFSTAB}" ]
 then
        exit 0
 fi
 
 . /scripts/live-functions
 
-log_begin_msg "Setting up swap..."
+log_begin_msg "Setting up swap"
 
 # live-initramfs script
 
@@ -41,7 +41,7 @@ do
                continue
        fi
 
-       /lib/udev/vol_id ${device%%[0-9]*} | grep -q "^ID_FS_USAGE=raid" && continue
+       /lib/udev/vol_id ${device%%[0-9]*} 2>/dev/null | grep -q "^ID_FS_USAGE=raid" && continue
 
        magic=$(/bin/dd if="${device}" bs=4086 skip=1 count=1 2>/dev/null | /bin/dd bs=10 count=1 2>/dev/null) || continue
 
@@ -55,9 +55,10 @@ done
 for device in ${devices}
 do
 
-cat >> ${FSTAB} << EOF
-${device} swap swap defaults 0 0
-EOF
+if ! grep -qs  "^${device} swap" "${FSTAB}"
+then
+       echo "${device} swap swap defaults 0 0" >> "${FSTAB}"
+fi
 
 done