Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=ryuotesting.git;a=commitdiff;h=abca894bc7d1efee56ee66a71aff532ae06fb98e

commit abca894bc7d1efee56ee66a71aff532ae06fb98e
Author: James Buren <[email protected]>
Date:   Thu Feb 16 10:57:45 2012 -0600

add old initrd backup to kernel-initrd schema

diff --git a/source/include/kernel-initrd.install 
b/source/include/kernel-initrd.install
new file mode 100644
index 0000000..48f811e
--- /dev/null
+++ b/source/include/kernel-initrd.install
@@ -0,0 +1,12 @@
+pre_upgrade()
+{
+       ver="$(echo $2 | sed -r 's|-([0-9]+)$|-fw\1|')"
+       if [ -e /boot/@_F_kernel_initrd_name@-$ver ]; then
+               rm -f /boot/@_F_kernel_initrd_name@-*.old
+               mv -f /boot/@_F_kernel_initrd_name@-$ver 
/boot/@_F_kernel_initrd_name@-$ver.old
+       fi
+}
+
+op=$1
+shift
+$op $*
diff --git a/source/include/kernel-initrd.sh b/source/include/kernel-initrd.sh
index bd87dec..700cfa2 100644
--- a/source/include/kernel-initrd.sh
+++ b/source/include/kernel-initrd.sh
@@ -30,7 +30,10 @@
# * _F_kernel_initrd_options: options to pass to dracut
# * _F_kernel_initrd_name: name of initrd to place under /boot
###
-Finclude kernel-version
+_F_cd_path="."
+_F_genscriptlet_install="$Fincdir/kernel-initrd.install"
+_F_genscriptlet_hooks=('_kernel_initrd_genscriptlet_hook')
+Finclude kernel-version genscriptlet

if [ -z "$_F_kernel_initrd_name" ]; then
error "_F_kernel_initrd_name is not defined."
@@ -77,12 +80,18 @@ archs=('i686' 'x86_64')
up2date="$pkgver"
groups=('base')
source=()
-options=('scriptlet')
+options=('scriptlet' 'genscriptlet')

###
# == PROVIDED FUNCTIONS
+# * _kernel_initrd_genscriptlet_hook()
# * Fbuild_kernel_initrd()
###
+_kernel_initrd_genscriptlet_hook()
+{
+       Freplace '_F_kernel_initrd_name' "$1"
+}
+
Fbuild_kernel_initrd()
{
local _UNAME _INITRD
@@ -100,6 +109,7 @@ Fbuild_kernel_initrd()
fi
xz < $_INITRD > $Fdestdir/boot/$_INITRD || Fdie
Fln $_INITRD /boot/${_INITRD/-$_UNAME/}
+       Fgenscriptlet
}

###
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to