From ac66610cd31bb1d81485935d84b99df4fa37bd4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20M=C3=BCller?= <philm@manjaro.org> Date: Thu, 5 Mar 2020 05:50:58 +0100 Subject: [PATCH] [pkg-upd] 27-3 --- 0001-mkinitcpio-remove-preset-pacsave.patch | 59 +++++++++++++++++++++ 0002-mkinitcpio-fix-builtin.patch | 29 ++++++++++ PKGBUILD | 7 ++- 3 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 0001-mkinitcpio-remove-preset-pacsave.patch create mode 100644 0002-mkinitcpio-fix-builtin.patch diff --git a/0001-mkinitcpio-remove-preset-pacsave.patch b/0001-mkinitcpio-remove-preset-pacsave.patch new file mode 100644 index 0000000..e2f7efc --- /dev/null +++ b/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 diff --git a/0002-mkinitcpio-fix-builtin.patch b/0002-mkinitcpio-fix-builtin.patch new file mode 100644 index 0000000..3ee8d1f --- /dev/null +++ b/0002-mkinitcpio-fix-builtin.patch @@ -0,0 +1,29 @@ +From 30dbfc2770cb49cb3babfb750205b126d7d88791 Mon Sep 17 00:00:00 2001 +From: Morten Linderud <morten@linderud.pw> +Date: Thu, 20 Feb 2020 09:44:29 +0100 +Subject: [PATCH] [functions] Ignore modinfo built-in modules + +modinfo have started reporting filenames as "(builtin)" on built-in +modules. Ignore these and continue with other modules. + +Fixes: https://bugs.archlinux.org/task/65564 +Introduced in: https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/commit/?id=e7e2cb61fa9f1db3429d91ef6accff549500d268 + +Signed-off-by: Morten Linderud <morten@linderud.pw> +--- + functions | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/functions b/functions +index f407c82..1c72b56 100644 +--- a/functions ++++ b/functions +@@ -371,7 +371,7 @@ add_module() { + target=${1%.ko*} target=${target//-/_} + + # skip expensive stuff if this module has already been added +- (( _addedmodules["$target"] == 1 )) && return ++ (( _addedmodules["$target"] > 0 )) && return + + while IFS=':= ' read -r -d '' field value; do + case "$field" in diff --git a/PKGBUILD b/PKGBUILD index 9b2ebf6..55fe02b 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -5,7 +5,7 @@ pkgname=mkinitcpio pkgver=27 -pkgrel=2.1 +pkgrel=3 pkgdesc="Modular initramfs image creation utility" arch=('any') url="https://projects.archlinux.org/mkinitcpio.git/" @@ -20,11 +20,12 @@ optdepends=('xz: Use lzma or xz compression for the initramfs image' provides=('initramfs') backup=('etc/mkinitcpio.conf') source=("https://sources.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig} - 0001-mkinitcpio-remove-preset-pacsave.patch manjaro.patch) + 0001-mkinitcpio-remove-preset-pacsave.patch 0002-mkinitcpio-fix-builtin.patch manjaro.patch) install=mkinitcpio.install sha256sums=('e6bff1cb78b677538eb9aace900b715fd59de8fc210b74fb9d899dfaa32bc354' 'SKIP' '845569fa760f70c868ecb3dc8ae9667287970526dddaf403fdafcb716e8b3d51' + 'd097f3df15ba9fefd3771f9f784e1c31c8d5ff1d9d6885a46fc6b5188e419796' 'f6a619c2dfc5a6bdd4596d9b4d9f7fdcce3ee0244390161cab51ef646b7317f8') validpgpkeys=('487EACC08557AD082088DABA1EB2638FF56C0C53' # Dave Reisner '86CFFCA918CF3AF47147588051E8B148A9999C34' # Evangelos Foutras @@ -34,6 +35,8 @@ prepare() { cd "$pkgname-$pkgver" # Apply 0001-mkinitcpio-remove-preset-pacsave.patch patch -Np1 < $srcdir/0001-mkinitcpio-remove-preset-pacsave.patch + # Apply 0002-mkinitcpio-fix-builtin.patch + patch -Np1 < $srcdir/0002-mkinitcpio-fix-builtin.patch # Add changes of Manjaro patch -p1 -i ../manjaro.patch } -- GitLab