[arch-commits] Commit in mkinitcpio/trunk (2 files)
Giancarlo Razzolini
grazzolini at archlinux.org
Wed Nov 6 20:33:27 UTC 2019
Date: Wednesday, November 6, 2019 @ 20:33:27
Author: grazzolini
Revision: 366885
upgpkg: mkinitcpio 27-2
Added a hotfix for saving presets that were changed.
Added:
mkinitcpio/trunk/0001-mkinitcpio-remove-preset-pacsave.patch
Modified:
mkinitcpio/trunk/PKGBUILD
---------------------------------------------+
0001-mkinitcpio-remove-preset-pacsave.patch | 59 ++++++++++++++++++++++++++
PKGBUILD | 18 +++++--
2 files changed, 72 insertions(+), 5 deletions(-)
Added: 0001-mkinitcpio-remove-preset-pacsave.patch
===================================================================
--- 0001-mkinitcpio-remove-preset-pacsave.patch (rev 0)
+++ 0001-mkinitcpio-remove-preset-pacsave.patch 2019-11-06 20:33:27 UTC (rev 366885)
@@ -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
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2019-11-06 19:53:37 UTC (rev 366884)
+++ PKGBUILD 2019-11-06 20:33:27 UTC (rev 366885)
@@ -4,13 +4,13 @@
pkgname=mkinitcpio
pkgver=27
-pkgrel=1
+pkgrel=2
pkgdesc="Modular initramfs image creation utility"
arch=('any')
url="https://projects.archlinux.org/mkinitcpio.git/"
license=('GPL')
-depends=('awk' 'mkinitcpio-busybox>=1.19.4-2' 'kmod' 'util-linux>=2.23' 'libarchive'
- 'coreutils' 'bash' 'findutils' 'grep' 'filesystem>=2011.10-1' 'gzip' 'systemd')
+depends=('awk' 'mkinitcpio-busybox>=1.19.4-2' 'kmod' 'util-linux>=2.23' 'libarchive' 'coreutils'
+ 'bash' 'diffutils' 'findutils' 'grep' 'filesystem>=2011.10-1' 'gzip' 'systemd')
optdepends=('xz: Use lzma or xz compression for the initramfs image'
'bzip2: Use bzip2 compression for the initramfs image'
'lzop: Use lzo compression for the initramfs image'
@@ -18,14 +18,22 @@
'mkinitcpio-nfs-utils: Support for root filesystem on NFS')
provides=('initramfs')
backup=('etc/mkinitcpio.conf')
-source=("https://sources.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig})
+source=("https://sources.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig}
+ "0001-mkinitcpio-remove-preset-pacsave.patch")
install=mkinitcpio.install
sha256sums=('e6bff1cb78b677538eb9aace900b715fd59de8fc210b74fb9d899dfaa32bc354'
- 'SKIP')
+ 'SKIP'
+ '845569fa760f70c868ecb3dc8ae9667287970526dddaf403fdafcb716e8b3d51')
validpgpkeys=('487EACC08557AD082088DABA1EB2638FF56C0C53' # Dave Reisner
'86CFFCA918CF3AF47147588051E8B148A9999C34' # Evangelos Foutras
'ECCAC84C1BA08A6CC8E63FBBF22FB1D78A77AEAB') # Giancarlo Razzolini
+prepare() {
+ cd $pkgname-$pkgver
+ # Apply 0001-mkinitcpio-remove-preset-pacsave.patch
+ patch -Np1 < $srcdir/0001-mkinitcpio-remove-preset-pacsave.patch
+}
+
check() {
make -C "$pkgname-$pkgver" check
}
More information about the arch-commits
mailing list