* [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers
@ 2021-06-10 16:07 ahesford
2021-06-10 16:52 ` [PR REVIEW] " ericonr
` (14 more replies)
0 siblings, 15 replies; 16+ messages in thread
From: ahesford @ 2021-06-10 16:07 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 654 bytes --]
There is a new pull request by ahesford against master on the void-packages repository
https://github.com/ahesford/void-packages initramfs
https://github.com/void-linux/void-packages/pull/31403
Add abstract initramfs-regenerate trigger to xbps-triggers
This abstracts away the `dracut -f -q --regenerate-all` that appears in nvidia and zfs packages, allowing users to disable global regeneration, use dracut (by default, to preserve existing behavior) or mkinitcpio. Eventually, this can be extended with initramfs-tools if we like.
cc: @Vaelatern @abenson
A patch file from https://github.com/void-linux/void-packages/pull/31403.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-initramfs-31403.patch --]
[-- Type: text/x-diff, Size: 9994 bytes --]
From 0eaef4bdf4041f730ba2af7cd71c936db9162cc0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:31:19 -0400
Subject: [PATCH 1/4] xbps-triggers: add initramfs-regenerate trigger
This abstracts away the `dracut -f -q --regenerate-all` that appears in
nvidia and zfs packages, allowing users to disable global regeneration,
use dracut (by default, to preserve existing behavior) or mkinitcpio.
Eventually, this can be extended with initramfs-tools if we like.
---
.../xbps-triggers/files/initramfs-regenerate | 69 +++++++++++++++++++
srcpkgs/xbps-triggers/template | 2 +-
2 files changed, 70 insertions(+), 1 deletion(-)
create mode 100755 srcpkgs/xbps-triggers/files/initramfs-regenerate
diff --git a/srcpkgs/xbps-triggers/files/initramfs-regenerate b/srcpkgs/xbps-triggers/files/initramfs-regenerate
new file mode 100755
index 000000000000..fff08db5fa39
--- /dev/null
+++ b/srcpkgs/xbps-triggers/files/initramfs-regenerate
@@ -0,0 +1,69 @@
+#!/bin/sh
+#
+# Trigger to regenerate an initramfs for every kernel with a module directory
+# in lib/modules on package post-install.
+#
+# To change the initramfs generator, edit or create the file
+# etc/default/initramfs-regenerate and add or change the line
+#
+# INITRAMFS_GENERATOR=<generator>
+#
+# where <generator> is one of "dracut", "mkinitcpio" or "none". By default, a
+# value of "dracut" is assumed.
+#
+# Arguments: $ACTION = [run/targets]
+# $TARGET = [post-install/post-remove]
+# $PKGNAME
+# $VERSION
+# $UPDATE = [yes/no]
+
+ACTION="$1"
+TARGET="$2"
+PKGNAME="$3"
+VERSION="$4"
+UPDATE="$5"
+
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+case "$ACTION" in
+ targets)
+ echo "post-install post-remove"
+ exit 0
+ ;;
+ run)
+ ;;
+ *)
+ exit 1
+ ;;
+esac
+
+# Read the configuration, if it exists
+[ -f etc/default/initramfs-regenerate ] && . etc/default/initramfs-regenerate
+
+case "${INITRAMFS_GENERATOR:-dracut}" in
+ dracut)
+ if command -v dracut >/dev/null 2>&1; then
+ echo "Regenerating initramfs with dracut"
+ dracut -f -q --regenerate-all
+ fi
+ ;;
+ mkinitcpio)
+ if command -v mkinitcpio >dev/null 2>&1; then
+ echo "Regenerating initramfs with mkinitcpio"
+ # Need to manually mimic dracut's --regenerate-all
+ for kdir in lib/modules/*; do
+ [ -f "${kdir}/modules.dep" ] || [ -f "${kdir}/modules/dep.bin" ] || continue
+ kver="${kdir##*/}"
+ mkinitcpio -g "boot/initramfs-${kver}.img" -k "${kver}"
+ done
+ fi
+ ;;
+ none)
+ ;;
+ *)
+ echo "unrecognized INITRAMFS_GENERATOR for initramfs-regenerate hook"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/srcpkgs/xbps-triggers/template b/srcpkgs/xbps-triggers/template
index 748942206ac5..5de97d53c210 100644
--- a/srcpkgs/xbps-triggers/template
+++ b/srcpkgs/xbps-triggers/template
@@ -1,6 +1,6 @@
# Template file for 'xbps-triggers'
pkgname=xbps-triggers
-version=0.120
+version=0.121
revision=1
bootstrap=yes
short_desc="XBPS triggers for Void Linux"
From bd66da949cb34c08b718a6b3a72c2a39b685dfc4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:35:33 -0400
Subject: [PATCH 2/4] zfs: use new initramfs-regenerate trigger
---
srcpkgs/zfs/INSTALL | 13 -------------
srcpkgs/zfs/template | 9 +++++----
2 files changed, 5 insertions(+), 17 deletions(-)
delete mode 100644 srcpkgs/zfs/INSTALL
diff --git a/srcpkgs/zfs/INSTALL b/srcpkgs/zfs/INSTALL
deleted file mode 100644
index 2991003856b4..000000000000
--- a/srcpkgs/zfs/INSTALL
+++ /dev/null
@@ -1,13 +0,0 @@
-case "${ACTION}" in
-post)
- if [ -x usr/bin/dracut ]; then
- # Include new modules in all initramfs instances when possible,
- # as simultaneous updates of linux and zfs may trigger creation
- # of images without modules and unable to boot from ZFS pools.
- #
- # See https://github.com/void-linux/void-packages/issues/22817
- echo "Regenerating initramfs, please wait..."
- usr/bin/dracut -f -q --regenerate-all
- fi
- ;;
-esac
diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template
index a94f5a1541ce..40d6bcd78509 100644
--- a/srcpkgs/zfs/template
+++ b/srcpkgs/zfs/template
@@ -1,14 +1,14 @@
# Template file for 'zfs'
pkgname=zfs
version=2.0.4
-revision=2
+revision=3
build_style=gnu-configure
configure_args="--with-config=user --with-mounthelperdir=/usr/bin
--with-udevdir=/usr/lib/udev --with-udevruledir=/usr/lib/udev/rules.d
--with-dracutdir=/usr/lib/dracut --with-tirpc"
hostmakedepends="dracut libtool pkg-config python3 automake"
makedepends="pam-devel zlib-devel libuuid-devel libblkid-devel libtirpc-devel attr-devel"
-depends="dkms>=2.2.0.3_9 perl python3"
+depends="dkms>=2.2.0.3_9 perl python3 xbps-triggers>=0.121_1"
conf_files="/etc/zfs/zed.d/zed.rc"
short_desc="Z File System -- userland, pyzfs, and kernel modules (using DKMS)"
maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
@@ -16,11 +16,12 @@ license="CDDL-1.0"
homepage="https://openzfs.github.io/openzfs-docs/"
distfiles="https://github.com/openzfs/zfs/releases/download/zfs-${version}/zfs-${version}.tar.gz"
checksum=7d1344c5433b91823f02c2e40b33d181fa6faf286bea5591f4b1965f23d45f6c
+# dkms must be before initramfs-regenerate to build modules before images
+triggers="dkms initramfs-regenerate"
+dkms_modules="zfs ${version}"
replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0
-dkms_modules="zfs ${version}"
-
post_patch() {
# When collecting a "clean" tree for DKMS, don't leave patches in place
local _f
From f232aebf3bd6645c6756e5ba96b9338a1ecd5c2a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:39:32 -0400
Subject: [PATCH 3/4] nvidia: use new initramfs-regenerate trigger
---
srcpkgs/nvidia/nvidia-dkms.INSTALL | 13 -------------
srcpkgs/nvidia/nvidia-dkms.REMOVE | 9 ---------
srcpkgs/nvidia/template | 7 +++++--
3 files changed, 5 insertions(+), 24 deletions(-)
delete mode 100644 srcpkgs/nvidia/nvidia-dkms.INSTALL
delete mode 100644 srcpkgs/nvidia/nvidia-dkms.REMOVE
diff --git a/srcpkgs/nvidia/nvidia-dkms.INSTALL b/srcpkgs/nvidia/nvidia-dkms.INSTALL
deleted file mode 100644
index 943fc6e77f0d..000000000000
--- a/srcpkgs/nvidia/nvidia-dkms.INSTALL
+++ /dev/null
@@ -1,13 +0,0 @@
-case "${ACTION}" in
-post)
- if [ "${ARCH}" = "x86_64" ]; then
- # Regenerate initramfs.
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- else
- echo "Nvidia has dropped support for 32-bit kernels.\n"
- echo "Please consider installing the nvidia390 package as an alternative.\n"
- echo "This package is now only useful if you're using a x86_64 kernel.\n"
- fi
- ;;
-esac
diff --git a/srcpkgs/nvidia/nvidia-dkms.REMOVE b/srcpkgs/nvidia/nvidia-dkms.REMOVE
deleted file mode 100644
index c10a4035d6ad..000000000000
--- a/srcpkgs/nvidia/nvidia-dkms.REMOVE
+++ /dev/null
@@ -1,9 +0,0 @@
-# Regenerate initramfs.
-case ${ACTION} in
-purge)
- if [ "${ARCH}" = "x86_64" ]; then
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- fi
- ;;
-esac
diff --git a/srcpkgs/nvidia/template b/srcpkgs/nvidia/template
index ccbdb8e18892..c659027b1bda 100644
--- a/srcpkgs/nvidia/template
+++ b/srcpkgs/nvidia/template
@@ -4,7 +4,7 @@ _desc="NVIDIA drivers for linux"
pkgname=nvidia
version=460.84
-revision=1
+revision=2
maintainer="Andrew Benson <abenson+void@gmail.com>"
license="custom:NVIDIA Proprietary"
homepage="https://www.nvidia.com"
@@ -278,8 +278,11 @@ nvidia-libs_package() {
nvidia-dkms_package() {
short_desc="${_desc} - DKMS kernel module"
+ depends="dkms xbps-triggers>=0.121_1"
dkms_modules="nvidia ${version}"
- depends="dkms"
+ # dkms must be before initramfs-regenerate to build modules before images
+ triggers="dkms initramfs-regenerate"
+
pkg_install() {
vmove usr/src
vmove usr/lib/modprobe.d
From cc16c6da96a6d426c71554268cb3344865121bd1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:40:16 -0400
Subject: [PATCH 4/4] nvidia390: use new initramfs-regenerate trigger
---
srcpkgs/nvidia390/nvidia390-dkms.INSTALL | 7 -------
srcpkgs/nvidia390/nvidia390-dkms.REMOVE | 7 -------
srcpkgs/nvidia390/template | 6 ++++--
3 files changed, 4 insertions(+), 16 deletions(-)
delete mode 100644 srcpkgs/nvidia390/nvidia390-dkms.INSTALL
delete mode 100644 srcpkgs/nvidia390/nvidia390-dkms.REMOVE
diff --git a/srcpkgs/nvidia390/nvidia390-dkms.INSTALL b/srcpkgs/nvidia390/nvidia390-dkms.INSTALL
deleted file mode 100644
index 6b065bedb4a0..000000000000
--- a/srcpkgs/nvidia390/nvidia390-dkms.INSTALL
+++ /dev/null
@@ -1,7 +0,0 @@
-# Regenerate initramfs.
-case ${ACTION} in
-post)
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- ;;
-esac
diff --git a/srcpkgs/nvidia390/nvidia390-dkms.REMOVE b/srcpkgs/nvidia390/nvidia390-dkms.REMOVE
deleted file mode 100644
index e4d494ca015d..000000000000
--- a/srcpkgs/nvidia390/nvidia390-dkms.REMOVE
+++ /dev/null
@@ -1,7 +0,0 @@
-# Regenerate initramfs.
-case ${ACTION} in
-purge)
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- ;;
-esac
diff --git a/srcpkgs/nvidia390/template b/srcpkgs/nvidia390/template
index 04ada0841189..4c1e27020947 100644
--- a/srcpkgs/nvidia390/template
+++ b/srcpkgs/nvidia390/template
@@ -4,7 +4,7 @@ _desc="NVIDIA drivers (GeForce 400, 500 series)"
pkgname=nvidia390
version=390.143
-revision=1
+revision=2
maintainer="Andrew Benson <abenson+void@gmail.com>"
license="custom:NVIDIA Proprietary"
homepage="https://www.nvidia.com"
@@ -231,8 +231,10 @@ nvidia390-libs_package() {
}
nvidia390-dkms_package() {
short_desc="${_desc} - DKMS kernel module"
+ depends="dkms xbps-triggers>=0.121_1"
dkms_modules="nvidia ${version}"
- depends="dkms"
+ # dkms must be before initramfs-regenerate to build modules before images
+ triggers="dkms initramfs-regenerate"
pkg_install() {
vmove usr/src
vmove usr/lib/modprobe.d
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PR REVIEW] Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
@ 2021-06-10 16:52 ` ericonr
2021-06-10 16:52 ` ericonr
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: ericonr @ 2021-06-10 16:52 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 418 bytes --]
New review comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/31403#discussion_r649361166
Comment:
I assume this is the check that dracut runs? It has issues with our kernel erasure and leads to dracut trying to generate initramfs for old deleted kernels.
I thought @Duncaen had documented the issue with the kernel packages and how they work, but I can't find it rn.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PR REVIEW] Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
2021-06-10 16:52 ` [PR REVIEW] " ericonr
@ 2021-06-10 16:52 ` ericonr
2021-06-10 16:52 ` ericonr
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: ericonr @ 2021-06-10 16:52 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 234 bytes --]
New review comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/31403#discussion_r649358043
Comment:
I guess we don't want to do this for all dkms modules? Otherwise it could be automated.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PR REVIEW] Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
2021-06-10 16:52 ` [PR REVIEW] " ericonr
2021-06-10 16:52 ` ericonr
@ 2021-06-10 16:52 ` ericonr
2021-06-10 16:57 ` ahesford
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: ericonr @ 2021-06-10 16:52 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 209 bytes --]
New review comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/31403#discussion_r649358378
Comment:
Why not start cleaning up paths? `usr/bin` should be enough :P
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PR REVIEW] Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
` (2 preceding siblings ...)
2021-06-10 16:52 ` ericonr
@ 2021-06-10 16:57 ` ahesford
2021-06-10 16:58 ` ahesford
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: ahesford @ 2021-06-10 16:57 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 238 bytes --]
New review comment by ahesford on void-packages repository
https://github.com/void-linux/void-packages/pull/31403#discussion_r649365583
Comment:
This just uses the same logic that `dracut --regenerate-all` uses to iterate over kernels.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PR REVIEW] Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
` (3 preceding siblings ...)
2021-06-10 16:57 ` ahesford
@ 2021-06-10 16:58 ` ahesford
2021-06-10 17:00 ` ahesford
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: ahesford @ 2021-06-10 16:58 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 217 bytes --]
New review comment by ahesford on void-packages repository
https://github.com/void-linux/void-packages/pull/31403#discussion_r649365899
Comment:
Not necessarily; there may be some pre-merge systems floating around.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PR REVIEW] Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
` (4 preceding siblings ...)
2021-06-10 16:58 ` ahesford
@ 2021-06-10 17:00 ` ahesford
2021-06-10 17:01 ` ericonr
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: ahesford @ 2021-06-10 17:00 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 577 bytes --]
New review comment by ahesford on void-packages repository
https://github.com/void-linux/void-packages/pull/31403#discussion_r649367817
Comment:
I'm open to that argument, but I think ZFS and nvidia are somewhat special cases; for example, `acpi_call-dkms` probably never needs to be folded into an initramfs image, so triggering a rebuild of them would be wasteful. Adding an opt-in trigger is a bit of a compromise (the downside, of course, is that the trigger order matters so we can't rely on `dkms_modules` to automatically insert `dkms` without breaking the ordering).
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PR REVIEW] Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
` (5 preceding siblings ...)
2021-06-10 17:00 ` ahesford
@ 2021-06-10 17:01 ` ericonr
2021-06-10 17:02 ` ericonr
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: ericonr @ 2021-06-10 17:01 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 280 bytes --]
New review comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/31403#discussion_r649368422
Comment:
If you can think of a better check, that would make the mkinitcpio experience a tad better than the dracut one, specifically on Void.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PR REVIEW] Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
` (6 preceding siblings ...)
2021-06-10 17:01 ` ericonr
@ 2021-06-10 17:02 ` ericonr
2021-06-10 17:34 ` [PR PATCH] [Updated] " ahesford
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: ericonr @ 2021-06-10 17:02 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 329 bytes --]
New review comment by ericonr on void-packages repository
https://github.com/void-linux/void-packages/pull/31403#discussion_r649369168
Comment:
Wouldn't an update have moved their systems by now? Anyway, we can fix paths as a bigger commit affecting all triggers later.
(I don't actually know how usrmerge happened in void)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PR PATCH] [Updated] Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
` (7 preceding siblings ...)
2021-06-10 17:02 ` ericonr
@ 2021-06-10 17:34 ` ahesford
2021-06-10 17:36 ` [PR REVIEW] " ahesford
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: ahesford @ 2021-06-10 17:34 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 659 bytes --]
There is an updated pull request by ahesford against master on the void-packages repository
https://github.com/ahesford/void-packages initramfs
https://github.com/void-linux/void-packages/pull/31403
Add abstract initramfs-regenerate trigger to xbps-triggers
This abstracts away the `dracut -f -q --regenerate-all` that appears in nvidia and zfs packages, allowing users to disable global regeneration, use dracut (by default, to preserve existing behavior) or mkinitcpio. Eventually, this can be extended with initramfs-tools if we like.
cc: @Vaelatern @abenson
A patch file from https://github.com/void-linux/void-packages/pull/31403.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-initramfs-31403.patch --]
[-- Type: text/x-diff, Size: 12028 bytes --]
From af7845152af2453be34838be67df48bdeb7a6c76 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:31:19 -0400
Subject: [PATCH 1/4] xbps-triggers: add initramfs-regenerate trigger
This abstracts away the `dracut -f -q --regenerate-all` that appears in
nvidia and zfs packages, allowing users to disable global regeneration,
use dracut (by default, to preserve existing behavior) or mkinitcpio.
Eventually, this can be extended with initramfs-tools if we like.
---
Manual.md | 30 ++++++++
.../xbps-triggers/files/initramfs-regenerate | 69 +++++++++++++++++++
srcpkgs/xbps-triggers/template | 2 +-
3 files changed, 100 insertions(+), 1 deletion(-)
create mode 100755 srcpkgs/xbps-triggers/files/initramfs-regenerate
diff --git a/Manual.md b/Manual.md
index f6de68a471d1..238db04f04b3 100644
--- a/Manual.md
+++ b/Manual.md
@@ -57,6 +57,7 @@ packages for XBPS, the `Void Linux` native packaging system.
* [gtk3-immodules](#triggers_gtk3_immodules)
* [hwdb.d-dir](#triggers_hwdb.d_dir)
* [info-files](#triggers_info_files)
+ * [initramfs-regenerate](#triggers_initramfs_regenerate)
* [kernel-hooks](#triggers_kernel_hooks)
* [mimedb](#triggers_mimedb)
* [mkdirs](#triggers_mkdirs)
@@ -1881,6 +1882,35 @@ registry located at `usr/share/info`.
If it is running under another architecture it tries to use the host's `install-info`
utility.
+<a id="triggers_initramfs_regenerate"></a>
+### initramfs-regenerate
+
+The initramfs-regenerate trigger will trigger the regeneration of all kernel
+initramfs images after package installation or removal. The trigger must be
+manually requested.
+
+This hook is probably most useful for DKMS packages because it will provide a
+means to include newly compiled kernel modules in initramfs images for all
+currently available kernels. When used in a DKMS package, it is recommended to
+manually include the `dkms` trigger *before* the `initramfs-regenerate` trigger
+using, for example,
+
+ ```
+ triggers="dkms initramfs-regenerate"
+ ```
+
+Although `xbps-src` will automatically include the `dkms` trigger whenever
+`dkms_modules` is installed, the automatic addition will come *after*
+`initramfs-regenerate`, which will cause initramfs images to be recreated
+before the modules are compiled.
+
+By default, the trigger uses `dracut --regenerate-all` to recreate initramfs
+images. If `/etc/defalt/initramfs-regenerate` exists and defines
+`INITRAMFS_GENERATOR=mkinitcpio`, the trigger will instead use `mkinitcpio` and
+loop over all kernel versions for which modules appear to be installed.
+Alternatively, setting `INITRAMFS_GENERATOR=none` will disable image
+regeneration entirely.
+
<a id="triggers_kernel_hooks"></a>
#### kernel-hooks
diff --git a/srcpkgs/xbps-triggers/files/initramfs-regenerate b/srcpkgs/xbps-triggers/files/initramfs-regenerate
new file mode 100755
index 000000000000..bcb54815c3f5
--- /dev/null
+++ b/srcpkgs/xbps-triggers/files/initramfs-regenerate
@@ -0,0 +1,69 @@
+#!/bin/sh
+#
+# Trigger to regenerate an initramfs for every kernel with a module directory
+# in lib/modules on package post-install.
+#
+# To change the initramfs generator, edit or create the file
+# etc/default/initramfs-regenerate and add or change the line
+#
+# INITRAMFS_GENERATOR=<generator>
+#
+# where <generator> is one of "dracut", "mkinitcpio" or "none". By default, a
+# value of "dracut" is assumed.
+#
+# Arguments: $ACTION = [run/targets]
+# $TARGET = [post-install/post-remove]
+# $PKGNAME
+# $VERSION
+# $UPDATE = [yes/no]
+
+ACTION="$1"
+TARGET="$2"
+PKGNAME="$3"
+VERSION="$4"
+UPDATE="$5"
+
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+case "$ACTION" in
+ targets)
+ echo "post-install post-remove"
+ exit 0
+ ;;
+ run)
+ ;;
+ *)
+ exit 1
+ ;;
+esac
+
+# Read the configuration, if it exists
+[ -f etc/default/initramfs-regenerate ] && . etc/default/initramfs-regenerate
+
+case "${INITRAMFS_GENERATOR:-dracut}" in
+ dracut)
+ if command -v dracut >/dev/null 2>&1; then
+ echo "Regenerating initramfs with dracut"
+ dracut -f -q --regenerate-all
+ fi
+ ;;
+ mkinitcpio)
+ if command -v mkinitcpio >dev/null 2>&1; then
+ echo "Regenerating initramfs with mkinitcpio"
+ # Regenerate images for every kernel version with modules
+ for kdir in usr/lib/modules/*; do
+ [ -d "${kdir}/kernel" ] || continue
+ kver="${kdir##*/}"
+ mkinitcpio -g "boot/initramfs-${kver}.img" -k "${kver}"
+ done
+ fi
+ ;;
+ none)
+ ;;
+ *)
+ echo "unrecognized INITRAMFS_GENERATOR for initramfs-regenerate hook"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/srcpkgs/xbps-triggers/template b/srcpkgs/xbps-triggers/template
index 748942206ac5..5de97d53c210 100644
--- a/srcpkgs/xbps-triggers/template
+++ b/srcpkgs/xbps-triggers/template
@@ -1,6 +1,6 @@
# Template file for 'xbps-triggers'
pkgname=xbps-triggers
-version=0.120
+version=0.121
revision=1
bootstrap=yes
short_desc="XBPS triggers for Void Linux"
From a7ead244138b5caa4698ce19ed2c1bd8d33b86a5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:35:33 -0400
Subject: [PATCH 2/4] zfs: use new initramfs-regenerate trigger
---
srcpkgs/zfs/INSTALL | 13 -------------
srcpkgs/zfs/template | 9 +++++----
2 files changed, 5 insertions(+), 17 deletions(-)
delete mode 100644 srcpkgs/zfs/INSTALL
diff --git a/srcpkgs/zfs/INSTALL b/srcpkgs/zfs/INSTALL
deleted file mode 100644
index 2991003856b4..000000000000
--- a/srcpkgs/zfs/INSTALL
+++ /dev/null
@@ -1,13 +0,0 @@
-case "${ACTION}" in
-post)
- if [ -x usr/bin/dracut ]; then
- # Include new modules in all initramfs instances when possible,
- # as simultaneous updates of linux and zfs may trigger creation
- # of images without modules and unable to boot from ZFS pools.
- #
- # See https://github.com/void-linux/void-packages/issues/22817
- echo "Regenerating initramfs, please wait..."
- usr/bin/dracut -f -q --regenerate-all
- fi
- ;;
-esac
diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template
index a94f5a1541ce..40d6bcd78509 100644
--- a/srcpkgs/zfs/template
+++ b/srcpkgs/zfs/template
@@ -1,14 +1,14 @@
# Template file for 'zfs'
pkgname=zfs
version=2.0.4
-revision=2
+revision=3
build_style=gnu-configure
configure_args="--with-config=user --with-mounthelperdir=/usr/bin
--with-udevdir=/usr/lib/udev --with-udevruledir=/usr/lib/udev/rules.d
--with-dracutdir=/usr/lib/dracut --with-tirpc"
hostmakedepends="dracut libtool pkg-config python3 automake"
makedepends="pam-devel zlib-devel libuuid-devel libblkid-devel libtirpc-devel attr-devel"
-depends="dkms>=2.2.0.3_9 perl python3"
+depends="dkms>=2.2.0.3_9 perl python3 xbps-triggers>=0.121_1"
conf_files="/etc/zfs/zed.d/zed.rc"
short_desc="Z File System -- userland, pyzfs, and kernel modules (using DKMS)"
maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
@@ -16,11 +16,12 @@ license="CDDL-1.0"
homepage="https://openzfs.github.io/openzfs-docs/"
distfiles="https://github.com/openzfs/zfs/releases/download/zfs-${version}/zfs-${version}.tar.gz"
checksum=7d1344c5433b91823f02c2e40b33d181fa6faf286bea5591f4b1965f23d45f6c
+# dkms must be before initramfs-regenerate to build modules before images
+triggers="dkms initramfs-regenerate"
+dkms_modules="zfs ${version}"
replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0
-dkms_modules="zfs ${version}"
-
post_patch() {
# When collecting a "clean" tree for DKMS, don't leave patches in place
local _f
From 8ccb9758b6ec1f09c8234182868e9727cb303c61 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:39:32 -0400
Subject: [PATCH 3/4] nvidia: use new initramfs-regenerate trigger
---
srcpkgs/nvidia/nvidia-dkms.INSTALL | 13 -------------
srcpkgs/nvidia/nvidia-dkms.REMOVE | 9 ---------
srcpkgs/nvidia/template | 7 +++++--
3 files changed, 5 insertions(+), 24 deletions(-)
delete mode 100644 srcpkgs/nvidia/nvidia-dkms.INSTALL
delete mode 100644 srcpkgs/nvidia/nvidia-dkms.REMOVE
diff --git a/srcpkgs/nvidia/nvidia-dkms.INSTALL b/srcpkgs/nvidia/nvidia-dkms.INSTALL
deleted file mode 100644
index 943fc6e77f0d..000000000000
--- a/srcpkgs/nvidia/nvidia-dkms.INSTALL
+++ /dev/null
@@ -1,13 +0,0 @@
-case "${ACTION}" in
-post)
- if [ "${ARCH}" = "x86_64" ]; then
- # Regenerate initramfs.
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- else
- echo "Nvidia has dropped support for 32-bit kernels.\n"
- echo "Please consider installing the nvidia390 package as an alternative.\n"
- echo "This package is now only useful if you're using a x86_64 kernel.\n"
- fi
- ;;
-esac
diff --git a/srcpkgs/nvidia/nvidia-dkms.REMOVE b/srcpkgs/nvidia/nvidia-dkms.REMOVE
deleted file mode 100644
index c10a4035d6ad..000000000000
--- a/srcpkgs/nvidia/nvidia-dkms.REMOVE
+++ /dev/null
@@ -1,9 +0,0 @@
-# Regenerate initramfs.
-case ${ACTION} in
-purge)
- if [ "${ARCH}" = "x86_64" ]; then
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- fi
- ;;
-esac
diff --git a/srcpkgs/nvidia/template b/srcpkgs/nvidia/template
index ccbdb8e18892..c659027b1bda 100644
--- a/srcpkgs/nvidia/template
+++ b/srcpkgs/nvidia/template
@@ -4,7 +4,7 @@ _desc="NVIDIA drivers for linux"
pkgname=nvidia
version=460.84
-revision=1
+revision=2
maintainer="Andrew Benson <abenson+void@gmail.com>"
license="custom:NVIDIA Proprietary"
homepage="https://www.nvidia.com"
@@ -278,8 +278,11 @@ nvidia-libs_package() {
nvidia-dkms_package() {
short_desc="${_desc} - DKMS kernel module"
+ depends="dkms xbps-triggers>=0.121_1"
dkms_modules="nvidia ${version}"
- depends="dkms"
+ # dkms must be before initramfs-regenerate to build modules before images
+ triggers="dkms initramfs-regenerate"
+
pkg_install() {
vmove usr/src
vmove usr/lib/modprobe.d
From 6ea7d90f192ce1c40876e9022775fb47f42d1c97 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:40:16 -0400
Subject: [PATCH 4/4] nvidia390: use new initramfs-regenerate trigger
---
srcpkgs/nvidia390/nvidia390-dkms.INSTALL | 7 -------
srcpkgs/nvidia390/nvidia390-dkms.REMOVE | 7 -------
srcpkgs/nvidia390/template | 6 ++++--
3 files changed, 4 insertions(+), 16 deletions(-)
delete mode 100644 srcpkgs/nvidia390/nvidia390-dkms.INSTALL
delete mode 100644 srcpkgs/nvidia390/nvidia390-dkms.REMOVE
diff --git a/srcpkgs/nvidia390/nvidia390-dkms.INSTALL b/srcpkgs/nvidia390/nvidia390-dkms.INSTALL
deleted file mode 100644
index 6b065bedb4a0..000000000000
--- a/srcpkgs/nvidia390/nvidia390-dkms.INSTALL
+++ /dev/null
@@ -1,7 +0,0 @@
-# Regenerate initramfs.
-case ${ACTION} in
-post)
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- ;;
-esac
diff --git a/srcpkgs/nvidia390/nvidia390-dkms.REMOVE b/srcpkgs/nvidia390/nvidia390-dkms.REMOVE
deleted file mode 100644
index e4d494ca015d..000000000000
--- a/srcpkgs/nvidia390/nvidia390-dkms.REMOVE
+++ /dev/null
@@ -1,7 +0,0 @@
-# Regenerate initramfs.
-case ${ACTION} in
-purge)
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- ;;
-esac
diff --git a/srcpkgs/nvidia390/template b/srcpkgs/nvidia390/template
index 04ada0841189..4c1e27020947 100644
--- a/srcpkgs/nvidia390/template
+++ b/srcpkgs/nvidia390/template
@@ -4,7 +4,7 @@ _desc="NVIDIA drivers (GeForce 400, 500 series)"
pkgname=nvidia390
version=390.143
-revision=1
+revision=2
maintainer="Andrew Benson <abenson+void@gmail.com>"
license="custom:NVIDIA Proprietary"
homepage="https://www.nvidia.com"
@@ -231,8 +231,10 @@ nvidia390-libs_package() {
}
nvidia390-dkms_package() {
short_desc="${_desc} - DKMS kernel module"
+ depends="dkms xbps-triggers>=0.121_1"
dkms_modules="nvidia ${version}"
- depends="dkms"
+ # dkms must be before initramfs-regenerate to build modules before images
+ triggers="dkms initramfs-regenerate"
pkg_install() {
vmove usr/src
vmove usr/lib/modprobe.d
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PR REVIEW] Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
` (8 preceding siblings ...)
2021-06-10 17:34 ` [PR PATCH] [Updated] " ahesford
@ 2021-06-10 17:36 ` ahesford
2021-06-10 17:36 ` ahesford
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: ahesford @ 2021-06-10 17:36 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 311 bytes --]
New review comment by ahesford on void-packages repository
https://github.com/void-linux/void-packages/pull/31403#discussion_r649392325
Comment:
I switched to `[ -d "${kdir}/kernel" ]`, since that directory contains the actual modules and its existence seems better tied to the lifetime of installed kernels.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
` (9 preceding siblings ...)
2021-06-10 17:36 ` [PR REVIEW] " ahesford
@ 2021-06-10 17:36 ` ahesford
2021-06-10 17:47 ` [PR PATCH] [Updated] " ahesford
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: ahesford @ 2021-06-10 17:36 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 161 bytes --]
New comment by ahesford on void-packages repository
https://github.com/void-linux/void-packages/pull/31403#issuecomment-858825071
Comment:
Added documentation
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PR PATCH] [Updated] Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
` (10 preceding siblings ...)
2021-06-10 17:36 ` ahesford
@ 2021-06-10 17:47 ` ahesford
2021-06-11 2:14 ` ahesford
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: ahesford @ 2021-06-10 17:47 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 659 bytes --]
There is an updated pull request by ahesford against master on the void-packages repository
https://github.com/ahesford/void-packages initramfs
https://github.com/void-linux/void-packages/pull/31403
Add abstract initramfs-regenerate trigger to xbps-triggers
This abstracts away the `dracut -f -q --regenerate-all` that appears in nvidia and zfs packages, allowing users to disable global regeneration, use dracut (by default, to preserve existing behavior) or mkinitcpio. Eventually, this can be extended with initramfs-tools if we like.
cc: @Vaelatern @abenson
A patch file from https://github.com/void-linux/void-packages/pull/31403.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-initramfs-31403.patch --]
[-- Type: text/x-diff, Size: 12018 bytes --]
From bd22cb3c13891c80ff30ff5a0c90c2e6335f3c7c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:31:19 -0400
Subject: [PATCH 1/4] xbps-triggers: add initramfs-regenerate trigger
This abstracts away the `dracut -f -q --regenerate-all` that appears in
nvidia and zfs packages, allowing users to disable global regeneration,
use dracut (by default, to preserve existing behavior) or mkinitcpio.
Eventually, this can be extended with initramfs-tools if we like.
---
Manual.md | 30 ++++++++
.../xbps-triggers/files/initramfs-regenerate | 69 +++++++++++++++++++
srcpkgs/xbps-triggers/template | 2 +-
3 files changed, 100 insertions(+), 1 deletion(-)
create mode 100755 srcpkgs/xbps-triggers/files/initramfs-regenerate
diff --git a/Manual.md b/Manual.md
index f6de68a471d1..238db04f04b3 100644
--- a/Manual.md
+++ b/Manual.md
@@ -57,6 +57,7 @@ packages for XBPS, the `Void Linux` native packaging system.
* [gtk3-immodules](#triggers_gtk3_immodules)
* [hwdb.d-dir](#triggers_hwdb.d_dir)
* [info-files](#triggers_info_files)
+ * [initramfs-regenerate](#triggers_initramfs_regenerate)
* [kernel-hooks](#triggers_kernel_hooks)
* [mimedb](#triggers_mimedb)
* [mkdirs](#triggers_mkdirs)
@@ -1881,6 +1882,35 @@ registry located at `usr/share/info`.
If it is running under another architecture it tries to use the host's `install-info`
utility.
+<a id="triggers_initramfs_regenerate"></a>
+### initramfs-regenerate
+
+The initramfs-regenerate trigger will trigger the regeneration of all kernel
+initramfs images after package installation or removal. The trigger must be
+manually requested.
+
+This hook is probably most useful for DKMS packages because it will provide a
+means to include newly compiled kernel modules in initramfs images for all
+currently available kernels. When used in a DKMS package, it is recommended to
+manually include the `dkms` trigger *before* the `initramfs-regenerate` trigger
+using, for example,
+
+ ```
+ triggers="dkms initramfs-regenerate"
+ ```
+
+Although `xbps-src` will automatically include the `dkms` trigger whenever
+`dkms_modules` is installed, the automatic addition will come *after*
+`initramfs-regenerate`, which will cause initramfs images to be recreated
+before the modules are compiled.
+
+By default, the trigger uses `dracut --regenerate-all` to recreate initramfs
+images. If `/etc/defalt/initramfs-regenerate` exists and defines
+`INITRAMFS_GENERATOR=mkinitcpio`, the trigger will instead use `mkinitcpio` and
+loop over all kernel versions for which modules appear to be installed.
+Alternatively, setting `INITRAMFS_GENERATOR=none` will disable image
+regeneration entirely.
+
<a id="triggers_kernel_hooks"></a>
#### kernel-hooks
diff --git a/srcpkgs/xbps-triggers/files/initramfs-regenerate b/srcpkgs/xbps-triggers/files/initramfs-regenerate
new file mode 100755
index 000000000000..5cbc88f5ea89
--- /dev/null
+++ b/srcpkgs/xbps-triggers/files/initramfs-regenerate
@@ -0,0 +1,69 @@
+#!/bin/sh
+#
+# Trigger to regenerate an initramfs for every kernel with a module directory
+# in lib/modules on package post-install.
+#
+# To change the initramfs generator, edit or create the file
+# etc/default/initramfs-regenerate and add or change the line
+#
+# INITRAMFS_GENERATOR=<generator>
+#
+# where <generator> is one of "dracut", "mkinitcpio" or "none". By default, a
+# value of "dracut" is assumed.
+#
+# Arguments: $ACTION = [run/targets]
+# $TARGET = [post-install/post-remove]
+# $PKGNAME
+# $VERSION
+# $UPDATE = [yes/no]
+
+ACTION="$1"
+TARGET="$2"
+PKGNAME="$3"
+VERSION="$4"
+UPDATE="$5"
+
+export PATH="usr/bin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+case "$ACTION" in
+ targets)
+ echo "post-install post-remove"
+ exit 0
+ ;;
+ run)
+ ;;
+ *)
+ exit 1
+ ;;
+esac
+
+# Read the configuration, if it exists
+[ -f etc/default/initramfs-regenerate ] && . etc/default/initramfs-regenerate
+
+case "${INITRAMFS_GENERATOR:-dracut}" in
+ dracut)
+ if command -v dracut >/dev/null 2>&1; then
+ echo "Regenerating initramfs with dracut"
+ dracut -f -q --regenerate-all
+ fi
+ ;;
+ mkinitcpio)
+ if command -v mkinitcpio >dev/null 2>&1; then
+ echo "Regenerating initramfs with mkinitcpio"
+ # Regenerate images for every kernel version with modules
+ for kdir in usr/lib/modules/*; do
+ [ -d "${kdir}/kernel" ] || continue
+ kver="${kdir##*/}"
+ mkinitcpio -g "boot/initramfs-${kver}.img" -k "${kver}"
+ done
+ fi
+ ;;
+ none)
+ ;;
+ *)
+ echo "unrecognized INITRAMFS_GENERATOR for initramfs-regenerate hook"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/srcpkgs/xbps-triggers/template b/srcpkgs/xbps-triggers/template
index 748942206ac5..5de97d53c210 100644
--- a/srcpkgs/xbps-triggers/template
+++ b/srcpkgs/xbps-triggers/template
@@ -1,6 +1,6 @@
# Template file for 'xbps-triggers'
pkgname=xbps-triggers
-version=0.120
+version=0.121
revision=1
bootstrap=yes
short_desc="XBPS triggers for Void Linux"
From f8a27ec6001f3b2419dcb1db4d1a9c10b82be483 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:35:33 -0400
Subject: [PATCH 2/4] zfs: use new initramfs-regenerate trigger
---
srcpkgs/zfs/INSTALL | 13 -------------
srcpkgs/zfs/template | 9 +++++----
2 files changed, 5 insertions(+), 17 deletions(-)
delete mode 100644 srcpkgs/zfs/INSTALL
diff --git a/srcpkgs/zfs/INSTALL b/srcpkgs/zfs/INSTALL
deleted file mode 100644
index 2991003856b4..000000000000
--- a/srcpkgs/zfs/INSTALL
+++ /dev/null
@@ -1,13 +0,0 @@
-case "${ACTION}" in
-post)
- if [ -x usr/bin/dracut ]; then
- # Include new modules in all initramfs instances when possible,
- # as simultaneous updates of linux and zfs may trigger creation
- # of images without modules and unable to boot from ZFS pools.
- #
- # See https://github.com/void-linux/void-packages/issues/22817
- echo "Regenerating initramfs, please wait..."
- usr/bin/dracut -f -q --regenerate-all
- fi
- ;;
-esac
diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template
index a94f5a1541ce..40d6bcd78509 100644
--- a/srcpkgs/zfs/template
+++ b/srcpkgs/zfs/template
@@ -1,14 +1,14 @@
# Template file for 'zfs'
pkgname=zfs
version=2.0.4
-revision=2
+revision=3
build_style=gnu-configure
configure_args="--with-config=user --with-mounthelperdir=/usr/bin
--with-udevdir=/usr/lib/udev --with-udevruledir=/usr/lib/udev/rules.d
--with-dracutdir=/usr/lib/dracut --with-tirpc"
hostmakedepends="dracut libtool pkg-config python3 automake"
makedepends="pam-devel zlib-devel libuuid-devel libblkid-devel libtirpc-devel attr-devel"
-depends="dkms>=2.2.0.3_9 perl python3"
+depends="dkms>=2.2.0.3_9 perl python3 xbps-triggers>=0.121_1"
conf_files="/etc/zfs/zed.d/zed.rc"
short_desc="Z File System -- userland, pyzfs, and kernel modules (using DKMS)"
maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
@@ -16,11 +16,12 @@ license="CDDL-1.0"
homepage="https://openzfs.github.io/openzfs-docs/"
distfiles="https://github.com/openzfs/zfs/releases/download/zfs-${version}/zfs-${version}.tar.gz"
checksum=7d1344c5433b91823f02c2e40b33d181fa6faf286bea5591f4b1965f23d45f6c
+# dkms must be before initramfs-regenerate to build modules before images
+triggers="dkms initramfs-regenerate"
+dkms_modules="zfs ${version}"
replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0
-dkms_modules="zfs ${version}"
-
post_patch() {
# When collecting a "clean" tree for DKMS, don't leave patches in place
local _f
From 33a89ed8999a1e17c9fcbf4c5c66008c32d86b8c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:39:32 -0400
Subject: [PATCH 3/4] nvidia: use new initramfs-regenerate trigger
---
srcpkgs/nvidia/nvidia-dkms.INSTALL | 13 -------------
srcpkgs/nvidia/nvidia-dkms.REMOVE | 9 ---------
srcpkgs/nvidia/template | 7 +++++--
3 files changed, 5 insertions(+), 24 deletions(-)
delete mode 100644 srcpkgs/nvidia/nvidia-dkms.INSTALL
delete mode 100644 srcpkgs/nvidia/nvidia-dkms.REMOVE
diff --git a/srcpkgs/nvidia/nvidia-dkms.INSTALL b/srcpkgs/nvidia/nvidia-dkms.INSTALL
deleted file mode 100644
index 943fc6e77f0d..000000000000
--- a/srcpkgs/nvidia/nvidia-dkms.INSTALL
+++ /dev/null
@@ -1,13 +0,0 @@
-case "${ACTION}" in
-post)
- if [ "${ARCH}" = "x86_64" ]; then
- # Regenerate initramfs.
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- else
- echo "Nvidia has dropped support for 32-bit kernels.\n"
- echo "Please consider installing the nvidia390 package as an alternative.\n"
- echo "This package is now only useful if you're using a x86_64 kernel.\n"
- fi
- ;;
-esac
diff --git a/srcpkgs/nvidia/nvidia-dkms.REMOVE b/srcpkgs/nvidia/nvidia-dkms.REMOVE
deleted file mode 100644
index c10a4035d6ad..000000000000
--- a/srcpkgs/nvidia/nvidia-dkms.REMOVE
+++ /dev/null
@@ -1,9 +0,0 @@
-# Regenerate initramfs.
-case ${ACTION} in
-purge)
- if [ "${ARCH}" = "x86_64" ]; then
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- fi
- ;;
-esac
diff --git a/srcpkgs/nvidia/template b/srcpkgs/nvidia/template
index ccbdb8e18892..c659027b1bda 100644
--- a/srcpkgs/nvidia/template
+++ b/srcpkgs/nvidia/template
@@ -4,7 +4,7 @@ _desc="NVIDIA drivers for linux"
pkgname=nvidia
version=460.84
-revision=1
+revision=2
maintainer="Andrew Benson <abenson+void@gmail.com>"
license="custom:NVIDIA Proprietary"
homepage="https://www.nvidia.com"
@@ -278,8 +278,11 @@ nvidia-libs_package() {
nvidia-dkms_package() {
short_desc="${_desc} - DKMS kernel module"
+ depends="dkms xbps-triggers>=0.121_1"
dkms_modules="nvidia ${version}"
- depends="dkms"
+ # dkms must be before initramfs-regenerate to build modules before images
+ triggers="dkms initramfs-regenerate"
+
pkg_install() {
vmove usr/src
vmove usr/lib/modprobe.d
From 8e166a4bc82c22e052486c52eaf035be8de1bbd7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:40:16 -0400
Subject: [PATCH 4/4] nvidia390: use new initramfs-regenerate trigger
---
srcpkgs/nvidia390/nvidia390-dkms.INSTALL | 7 -------
srcpkgs/nvidia390/nvidia390-dkms.REMOVE | 7 -------
srcpkgs/nvidia390/template | 6 ++++--
3 files changed, 4 insertions(+), 16 deletions(-)
delete mode 100644 srcpkgs/nvidia390/nvidia390-dkms.INSTALL
delete mode 100644 srcpkgs/nvidia390/nvidia390-dkms.REMOVE
diff --git a/srcpkgs/nvidia390/nvidia390-dkms.INSTALL b/srcpkgs/nvidia390/nvidia390-dkms.INSTALL
deleted file mode 100644
index 6b065bedb4a0..000000000000
--- a/srcpkgs/nvidia390/nvidia390-dkms.INSTALL
+++ /dev/null
@@ -1,7 +0,0 @@
-# Regenerate initramfs.
-case ${ACTION} in
-post)
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- ;;
-esac
diff --git a/srcpkgs/nvidia390/nvidia390-dkms.REMOVE b/srcpkgs/nvidia390/nvidia390-dkms.REMOVE
deleted file mode 100644
index e4d494ca015d..000000000000
--- a/srcpkgs/nvidia390/nvidia390-dkms.REMOVE
+++ /dev/null
@@ -1,7 +0,0 @@
-# Regenerate initramfs.
-case ${ACTION} in
-purge)
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- ;;
-esac
diff --git a/srcpkgs/nvidia390/template b/srcpkgs/nvidia390/template
index 04ada0841189..4c1e27020947 100644
--- a/srcpkgs/nvidia390/template
+++ b/srcpkgs/nvidia390/template
@@ -4,7 +4,7 @@ _desc="NVIDIA drivers (GeForce 400, 500 series)"
pkgname=nvidia390
version=390.143
-revision=1
+revision=2
maintainer="Andrew Benson <abenson+void@gmail.com>"
license="custom:NVIDIA Proprietary"
homepage="https://www.nvidia.com"
@@ -231,8 +231,10 @@ nvidia390-libs_package() {
}
nvidia390-dkms_package() {
short_desc="${_desc} - DKMS kernel module"
+ depends="dkms xbps-triggers>=0.121_1"
dkms_modules="nvidia ${version}"
- depends="dkms"
+ # dkms must be before initramfs-regenerate to build modules before images
+ triggers="dkms initramfs-regenerate"
pkg_install() {
vmove usr/src
vmove usr/lib/modprobe.d
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PR PATCH] [Updated] Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
` (11 preceding siblings ...)
2021-06-10 17:47 ` [PR PATCH] [Updated] " ahesford
@ 2021-06-11 2:14 ` ahesford
2021-06-15 7:03 ` Vaelatern
2021-06-15 15:21 ` [PR PATCH] [Closed]: " ahesford
14 siblings, 0 replies; 16+ messages in thread
From: ahesford @ 2021-06-11 2:14 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 659 bytes --]
There is an updated pull request by ahesford against master on the void-packages repository
https://github.com/ahesford/void-packages initramfs
https://github.com/void-linux/void-packages/pull/31403
Add abstract initramfs-regenerate trigger to xbps-triggers
This abstracts away the `dracut -f -q --regenerate-all` that appears in nvidia and zfs packages, allowing users to disable global regeneration, use dracut (by default, to preserve existing behavior) or mkinitcpio. Eventually, this can be extended with initramfs-tools if we like.
cc: @Vaelatern @abenson
A patch file from https://github.com/void-linux/void-packages/pull/31403.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-initramfs-31403.patch --]
[-- Type: text/x-diff, Size: 12095 bytes --]
From e0bedcbfd69d07562313a51f9693c1d8d9079016 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:31:19 -0400
Subject: [PATCH 1/4] xbps-triggers: add initramfs-regenerate trigger
This abstracts away the `dracut -f -q --regenerate-all` that appears in
nvidia and zfs packages, allowing users to disable global regeneration,
use dracut (by default, to preserve existing behavior) or mkinitcpio.
Eventually, this can be extended with initramfs-tools if we like.
---
Manual.md | 30 ++++++++
.../xbps-triggers/files/initramfs-regenerate | 72 +++++++++++++++++++
srcpkgs/xbps-triggers/template | 2 +-
3 files changed, 103 insertions(+), 1 deletion(-)
create mode 100755 srcpkgs/xbps-triggers/files/initramfs-regenerate
diff --git a/Manual.md b/Manual.md
index f6de68a471d1..238db04f04b3 100644
--- a/Manual.md
+++ b/Manual.md
@@ -57,6 +57,7 @@ packages for XBPS, the `Void Linux` native packaging system.
* [gtk3-immodules](#triggers_gtk3_immodules)
* [hwdb.d-dir](#triggers_hwdb.d_dir)
* [info-files](#triggers_info_files)
+ * [initramfs-regenerate](#triggers_initramfs_regenerate)
* [kernel-hooks](#triggers_kernel_hooks)
* [mimedb](#triggers_mimedb)
* [mkdirs](#triggers_mkdirs)
@@ -1881,6 +1882,35 @@ registry located at `usr/share/info`.
If it is running under another architecture it tries to use the host's `install-info`
utility.
+<a id="triggers_initramfs_regenerate"></a>
+### initramfs-regenerate
+
+The initramfs-regenerate trigger will trigger the regeneration of all kernel
+initramfs images after package installation or removal. The trigger must be
+manually requested.
+
+This hook is probably most useful for DKMS packages because it will provide a
+means to include newly compiled kernel modules in initramfs images for all
+currently available kernels. When used in a DKMS package, it is recommended to
+manually include the `dkms` trigger *before* the `initramfs-regenerate` trigger
+using, for example,
+
+ ```
+ triggers="dkms initramfs-regenerate"
+ ```
+
+Although `xbps-src` will automatically include the `dkms` trigger whenever
+`dkms_modules` is installed, the automatic addition will come *after*
+`initramfs-regenerate`, which will cause initramfs images to be recreated
+before the modules are compiled.
+
+By default, the trigger uses `dracut --regenerate-all` to recreate initramfs
+images. If `/etc/defalt/initramfs-regenerate` exists and defines
+`INITRAMFS_GENERATOR=mkinitcpio`, the trigger will instead use `mkinitcpio` and
+loop over all kernel versions for which modules appear to be installed.
+Alternatively, setting `INITRAMFS_GENERATOR=none` will disable image
+regeneration entirely.
+
<a id="triggers_kernel_hooks"></a>
#### kernel-hooks
diff --git a/srcpkgs/xbps-triggers/files/initramfs-regenerate b/srcpkgs/xbps-triggers/files/initramfs-regenerate
new file mode 100755
index 000000000000..780c3580829f
--- /dev/null
+++ b/srcpkgs/xbps-triggers/files/initramfs-regenerate
@@ -0,0 +1,72 @@
+#!/bin/sh
+#
+# Trigger to regenerate an initramfs for every kernel with a module directory
+# in lib/modules on package post-install.
+#
+# To change the initramfs generator, edit or create the file
+# etc/default/initramfs-regenerate and add or change the line
+#
+# INITRAMFS_GENERATOR=<generator>
+#
+# where <generator> is one of "dracut", "mkinitcpio" or "none". By default, a
+# value of "dracut" is assumed.
+#
+# Arguments: $ACTION = [run/targets]
+# $TARGET = [post-install/post-remove]
+# $PKGNAME
+# $VERSION
+# $UPDATE = [yes/no]
+
+ACTION="$1"
+TARGET="$2"
+PKGNAME="$3"
+VERSION="$4"
+UPDATE="$5"
+
+export PATH="usr/bin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+case "$ACTION" in
+ targets)
+ echo "post-install post-remove"
+ exit 0
+ ;;
+ run)
+ ;;
+ *)
+ exit 1
+ ;;
+esac
+
+# Read the configuration, if it exists
+[ -f etc/default/initramfs-regenerate ] && . etc/default/initramfs-regenerate
+
+# dracut explicitly sets umask 0077, other generators may not
+umask 0077
+
+case "${INITRAMFS_GENERATOR:-dracut}" in
+ dracut)
+ if command -v dracut >/dev/null 2>&1; then
+ echo "Regenerating initramfs with dracut"
+ dracut -f -q --regenerate-all
+ fi
+ ;;
+ mkinitcpio)
+ if command -v mkinitcpio >dev/null 2>&1; then
+ echo "Regenerating initramfs with mkinitcpio"
+ # Regenerate images for every kernel version with modules
+ for kdir in usr/lib/modules/*; do
+ [ -d "${kdir}/kernel" ] || continue
+ kver="${kdir##*/}"
+ mkinitcpio -g "boot/initramfs-${kver}.img" -k "${kver}"
+ done
+ fi
+ ;;
+ none)
+ ;;
+ *)
+ echo "unrecognized INITRAMFS_GENERATOR for initramfs-regenerate hook"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/srcpkgs/xbps-triggers/template b/srcpkgs/xbps-triggers/template
index 748942206ac5..5de97d53c210 100644
--- a/srcpkgs/xbps-triggers/template
+++ b/srcpkgs/xbps-triggers/template
@@ -1,6 +1,6 @@
# Template file for 'xbps-triggers'
pkgname=xbps-triggers
-version=0.120
+version=0.121
revision=1
bootstrap=yes
short_desc="XBPS triggers for Void Linux"
From eaec1cf5a041aa768a504d93f1dab24f77a3b2c0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:35:33 -0400
Subject: [PATCH 2/4] zfs: use new initramfs-regenerate trigger
---
srcpkgs/zfs/INSTALL | 13 -------------
srcpkgs/zfs/template | 9 +++++----
2 files changed, 5 insertions(+), 17 deletions(-)
delete mode 100644 srcpkgs/zfs/INSTALL
diff --git a/srcpkgs/zfs/INSTALL b/srcpkgs/zfs/INSTALL
deleted file mode 100644
index 2991003856b4..000000000000
--- a/srcpkgs/zfs/INSTALL
+++ /dev/null
@@ -1,13 +0,0 @@
-case "${ACTION}" in
-post)
- if [ -x usr/bin/dracut ]; then
- # Include new modules in all initramfs instances when possible,
- # as simultaneous updates of linux and zfs may trigger creation
- # of images without modules and unable to boot from ZFS pools.
- #
- # See https://github.com/void-linux/void-packages/issues/22817
- echo "Regenerating initramfs, please wait..."
- usr/bin/dracut -f -q --regenerate-all
- fi
- ;;
-esac
diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template
index a94f5a1541ce..40d6bcd78509 100644
--- a/srcpkgs/zfs/template
+++ b/srcpkgs/zfs/template
@@ -1,14 +1,14 @@
# Template file for 'zfs'
pkgname=zfs
version=2.0.4
-revision=2
+revision=3
build_style=gnu-configure
configure_args="--with-config=user --with-mounthelperdir=/usr/bin
--with-udevdir=/usr/lib/udev --with-udevruledir=/usr/lib/udev/rules.d
--with-dracutdir=/usr/lib/dracut --with-tirpc"
hostmakedepends="dracut libtool pkg-config python3 automake"
makedepends="pam-devel zlib-devel libuuid-devel libblkid-devel libtirpc-devel attr-devel"
-depends="dkms>=2.2.0.3_9 perl python3"
+depends="dkms>=2.2.0.3_9 perl python3 xbps-triggers>=0.121_1"
conf_files="/etc/zfs/zed.d/zed.rc"
short_desc="Z File System -- userland, pyzfs, and kernel modules (using DKMS)"
maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
@@ -16,11 +16,12 @@ license="CDDL-1.0"
homepage="https://openzfs.github.io/openzfs-docs/"
distfiles="https://github.com/openzfs/zfs/releases/download/zfs-${version}/zfs-${version}.tar.gz"
checksum=7d1344c5433b91823f02c2e40b33d181fa6faf286bea5591f4b1965f23d45f6c
+# dkms must be before initramfs-regenerate to build modules before images
+triggers="dkms initramfs-regenerate"
+dkms_modules="zfs ${version}"
replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0
-dkms_modules="zfs ${version}"
-
post_patch() {
# When collecting a "clean" tree for DKMS, don't leave patches in place
local _f
From b30805154408dcdac44aed0f2175cc70c5e4fb3e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:39:32 -0400
Subject: [PATCH 3/4] nvidia: use new initramfs-regenerate trigger
---
srcpkgs/nvidia/nvidia-dkms.INSTALL | 13 -------------
srcpkgs/nvidia/nvidia-dkms.REMOVE | 9 ---------
srcpkgs/nvidia/template | 7 +++++--
3 files changed, 5 insertions(+), 24 deletions(-)
delete mode 100644 srcpkgs/nvidia/nvidia-dkms.INSTALL
delete mode 100644 srcpkgs/nvidia/nvidia-dkms.REMOVE
diff --git a/srcpkgs/nvidia/nvidia-dkms.INSTALL b/srcpkgs/nvidia/nvidia-dkms.INSTALL
deleted file mode 100644
index 943fc6e77f0d..000000000000
--- a/srcpkgs/nvidia/nvidia-dkms.INSTALL
+++ /dev/null
@@ -1,13 +0,0 @@
-case "${ACTION}" in
-post)
- if [ "${ARCH}" = "x86_64" ]; then
- # Regenerate initramfs.
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- else
- echo "Nvidia has dropped support for 32-bit kernels.\n"
- echo "Please consider installing the nvidia390 package as an alternative.\n"
- echo "This package is now only useful if you're using a x86_64 kernel.\n"
- fi
- ;;
-esac
diff --git a/srcpkgs/nvidia/nvidia-dkms.REMOVE b/srcpkgs/nvidia/nvidia-dkms.REMOVE
deleted file mode 100644
index c10a4035d6ad..000000000000
--- a/srcpkgs/nvidia/nvidia-dkms.REMOVE
+++ /dev/null
@@ -1,9 +0,0 @@
-# Regenerate initramfs.
-case ${ACTION} in
-purge)
- if [ "${ARCH}" = "x86_64" ]; then
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- fi
- ;;
-esac
diff --git a/srcpkgs/nvidia/template b/srcpkgs/nvidia/template
index ccbdb8e18892..c659027b1bda 100644
--- a/srcpkgs/nvidia/template
+++ b/srcpkgs/nvidia/template
@@ -4,7 +4,7 @@ _desc="NVIDIA drivers for linux"
pkgname=nvidia
version=460.84
-revision=1
+revision=2
maintainer="Andrew Benson <abenson+void@gmail.com>"
license="custom:NVIDIA Proprietary"
homepage="https://www.nvidia.com"
@@ -278,8 +278,11 @@ nvidia-libs_package() {
nvidia-dkms_package() {
short_desc="${_desc} - DKMS kernel module"
+ depends="dkms xbps-triggers>=0.121_1"
dkms_modules="nvidia ${version}"
- depends="dkms"
+ # dkms must be before initramfs-regenerate to build modules before images
+ triggers="dkms initramfs-regenerate"
+
pkg_install() {
vmove usr/src
vmove usr/lib/modprobe.d
From f9af05007e150030403aa94e2d1edd44c858a7dc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Thu, 10 Jun 2021 11:40:16 -0400
Subject: [PATCH 4/4] nvidia390: use new initramfs-regenerate trigger
---
srcpkgs/nvidia390/nvidia390-dkms.INSTALL | 7 -------
srcpkgs/nvidia390/nvidia390-dkms.REMOVE | 7 -------
srcpkgs/nvidia390/template | 6 ++++--
3 files changed, 4 insertions(+), 16 deletions(-)
delete mode 100644 srcpkgs/nvidia390/nvidia390-dkms.INSTALL
delete mode 100644 srcpkgs/nvidia390/nvidia390-dkms.REMOVE
diff --git a/srcpkgs/nvidia390/nvidia390-dkms.INSTALL b/srcpkgs/nvidia390/nvidia390-dkms.INSTALL
deleted file mode 100644
index 6b065bedb4a0..000000000000
--- a/srcpkgs/nvidia390/nvidia390-dkms.INSTALL
+++ /dev/null
@@ -1,7 +0,0 @@
-# Regenerate initramfs.
-case ${ACTION} in
-post)
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- ;;
-esac
diff --git a/srcpkgs/nvidia390/nvidia390-dkms.REMOVE b/srcpkgs/nvidia390/nvidia390-dkms.REMOVE
deleted file mode 100644
index e4d494ca015d..000000000000
--- a/srcpkgs/nvidia390/nvidia390-dkms.REMOVE
+++ /dev/null
@@ -1,7 +0,0 @@
-# Regenerate initramfs.
-case ${ACTION} in
-purge)
- echo "Regenerating initramfs, please wait..."
- dracut -f -q --regenerate-all
- ;;
-esac
diff --git a/srcpkgs/nvidia390/template b/srcpkgs/nvidia390/template
index 04ada0841189..4c1e27020947 100644
--- a/srcpkgs/nvidia390/template
+++ b/srcpkgs/nvidia390/template
@@ -4,7 +4,7 @@ _desc="NVIDIA drivers (GeForce 400, 500 series)"
pkgname=nvidia390
version=390.143
-revision=1
+revision=2
maintainer="Andrew Benson <abenson+void@gmail.com>"
license="custom:NVIDIA Proprietary"
homepage="https://www.nvidia.com"
@@ -231,8 +231,10 @@ nvidia390-libs_package() {
}
nvidia390-dkms_package() {
short_desc="${_desc} - DKMS kernel module"
+ depends="dkms xbps-triggers>=0.121_1"
dkms_modules="nvidia ${version}"
- depends="dkms"
+ # dkms must be before initramfs-regenerate to build modules before images
+ triggers="dkms initramfs-regenerate"
pkg_install() {
vmove usr/src
vmove usr/lib/modprobe.d
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
` (12 preceding siblings ...)
2021-06-11 2:14 ` ahesford
@ 2021-06-15 7:03 ` Vaelatern
2021-06-15 15:21 ` [PR PATCH] [Closed]: " ahesford
14 siblings, 0 replies; 16+ messages in thread
From: Vaelatern @ 2021-06-15 7:03 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 185 bytes --]
New comment by Vaelatern on void-packages repository
https://github.com/void-linux/void-packages/pull/31403#issuecomment-861236722
Comment:
This looks reasonable to me. No screamers.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PR PATCH] [Closed]: Add abstract initramfs-regenerate trigger to xbps-triggers
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
` (13 preceding siblings ...)
2021-06-15 7:03 ` Vaelatern
@ 2021-06-15 15:21 ` ahesford
14 siblings, 0 replies; 16+ messages in thread
From: ahesford @ 2021-06-15 15:21 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 499 bytes --]
There's a closed pull request on the void-packages repository
Add abstract initramfs-regenerate trigger to xbps-triggers
https://github.com/void-linux/void-packages/pull/31403
Description:
This abstracts away the `dracut -f -q --regenerate-all` that appears in nvidia and zfs packages, allowing users to disable global regeneration, use dracut (by default, to preserve existing behavior) or mkinitcpio. Eventually, this can be extended with initramfs-tools if we like.
cc: @Vaelatern @abenson
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2021-06-15 15:21 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-10 16:07 [PR PATCH] Add abstract initramfs-regenerate trigger to xbps-triggers ahesford
2021-06-10 16:52 ` [PR REVIEW] " ericonr
2021-06-10 16:52 ` ericonr
2021-06-10 16:52 ` ericonr
2021-06-10 16:57 ` ahesford
2021-06-10 16:58 ` ahesford
2021-06-10 17:00 ` ahesford
2021-06-10 17:01 ` ericonr
2021-06-10 17:02 ` ericonr
2021-06-10 17:34 ` [PR PATCH] [Updated] " ahesford
2021-06-10 17:36 ` [PR REVIEW] " ahesford
2021-06-10 17:36 ` ahesford
2021-06-10 17:47 ` [PR PATCH] [Updated] " ahesford
2021-06-11 2:14 ` ahesford
2021-06-15 7:03 ` Vaelatern
2021-06-15 15:21 ` [PR PATCH] [Closed]: " ahesford
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).