diff options
author | David P <megver83@parabola.nu> | 2019-11-13 20:17:25 -0300 |
---|---|---|
committer | David P <megver83@parabola.nu> | 2019-11-13 20:17:25 -0300 |
commit | f84891547628082a14e5390bc38fd8298c1165a4 (patch) | |
tree | 0ef9582de6524cb03c25afc36cb668f3e71e5439 /nonsystemd/mkinitcpio/0001-mkinitcpio-remove-preset-pacsave.patch | |
parent | a7fdeca48bebaa59984b67c024c42e0e00257656 (diff) | |
download | abslibre-f84891547628082a14e5390bc38fd8298c1165a4.tar.gz abslibre-f84891547628082a14e5390bc38fd8298c1165a4.tar.bz2 abslibre-f84891547628082a14e5390bc38fd8298c1165a4.zip |
updpkg: nonsystemd/mkinitcpio 27-2.nonsystemd1
Signed-off-by: David P <megver83@parabola.nu>
Diffstat (limited to 'nonsystemd/mkinitcpio/0001-mkinitcpio-remove-preset-pacsave.patch')
-rw-r--r-- | nonsystemd/mkinitcpio/0001-mkinitcpio-remove-preset-pacsave.patch | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/nonsystemd/mkinitcpio/0001-mkinitcpio-remove-preset-pacsave.patch b/nonsystemd/mkinitcpio/0001-mkinitcpio-remove-preset-pacsave.patch new file mode 100644 index 000000000..e2f7efc30 --- /dev/null +++ b/nonsystemd/mkinitcpio/0001-mkinitcpio-remove-preset-pacsave.patch @@ -0,0 +1,59 @@ +diff --git a/libalpm/scripts/mkinitcpio-remove b/libalpm/scripts/mkinitcpio-remove +index 86838e4..17b4b31 100644 +--- a/libalpm/scripts/mkinitcpio-remove ++++ b/libalpm/scripts/mkinitcpio-remove +@@ -2,6 +2,20 @@ + + package=0 + ++process_preset() { ++ if [[ -n "${pkgbase}" && -e $preset ]]; then ++ if ! cmp $preset > /dev/null 2>&1 <(sed "s|%PKGBASE%|${pkgbase}|g" /usr/share/mkinitcpio/hook.preset); then ++ if [[ ! -e $preset.pacsave ]]; then ++ # save the preset as pacsave ++ mv $preset $preset.pacsave && return 0 ++ fi ++ else ++ # remove the preset ++ rm $preset && return 0 ++ fi ++ fi ++} ++ + while read -r line; do + if [[ $line != */vmlinuz ]]; then + # triggers when it's a change to usr/lib/initcpio/* +@@ -23,17 +37,25 @@ while read -r line; do + # remove the installed kernel + rm $kernel + fi +- if [[ -e $preset ]]; then +- # remove the preset +- rm $preset ++ ++ process_preset "${pkgbase}" $preset ++ ++ if [[ -e $initramfs ]]; then ++ # remove the main image ++ rm $initramfs + fi +- if [[ -e $initramfs && -e $fallback_initramfs ]]; then +- # remove the images +- rm $initramfs $fallback_initramfs ++ if [[ -e $fallback_initramfs ]]; then ++ # remove the fallback image ++ rm $fallback_initramfs + fi + done + + if (( package )) && compgen -G /etc/mkinitcpio.d/"*.preset" > /dev/null; then +- # remove all presets +- rm /etc/mkinitcpio.d/*.preset ++ shopt -s nullglob ++ for preset in /etc/mkinitcpio.d/*.preset; do ++ pkgbase=${preset##*/} ++ pkgbase=${pkgbase%.preset} ++ process_preset "${pkgbase}" $preset ++ done ++ shopt -u nullglob + fi |