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
