core/burg-bzr/resume-hook.patch

48 lines
1.6 KiB
Diff

--- burg-mkconfig~ 2011-05-23 15:40:01.000000000 +0200
+++ burg-mkconfig 2011-05-23 15:40:01.000000000 +0200
@@ -29,6 +29,7 @@ datarootdir=${prefix}/share
datadir=${datarootdir}
pkgdatadir=${datadir}/`echo burg | sed "${transform}"`
grub_cfg=""
+resume_hook=1
grub_mkconfig_dir=${sysconfdir}/burg.d
grub_mkdevicemap=${sbindir}/`echo burg-mkdevicemap | sed ${transform}`
@@ -44,6 +45,7 @@ Generate a grub config file
-o, --output=FILE output generated config to FILE [default=stdout]
-h, --help print this message and exit
-v, --version print the version information and exit
+ -s, --skip-resume disable resume hook setup
Report bugs to <bug-grub@gnu.org>.
EOF
@@ -65,6 +67,9 @@ for option in "$@"; do
--output=*)
grub_cfg=`echo "$option" | sed 's/--output=//'`
;;
+ -s | --skip-resume)
+ resume_hook=0
+ ;;
-*)
echo "Unrecognized option \`$option'" 1>&2
usage
@@ -305,6 +310,18 @@ for i in ${grub_mkconfig_dir}/* ; do
esac
done
+if [ "${resume_hook}" == 1 ]; then
+ echo "Setup resume hook" >&2
+ SWAP=`swapon -a | cat /proc/swaps | grep /dev | cut -d" " -f1`
+ if [ -z "${SWAP}" ]; then
+ echo "No swap partition found. Create one to enable hibernation..." >&2
+ else
+ echo "Adding swap partition $SWAP" >&2
+ SWAPUUID=`blkid $SWAP -s UUID -o value`
+ sed -i -e "s~root=/dev~resume=/dev/disk/by-uuid/${SWAPUUID} root=/dev~g" ${grub_cfg}.new
+ fi
+fi
+
if test "x${grub_cfg}" != "x" ; then
# none of the children aborted with error, install the new grub.cfg
mv -f ${grub_cfg}.new ${grub_cfg}