summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFerdinand Bachmann2023-02-22 16:47:15 +0100
committerFerdinand Bachmann2023-02-22 16:47:15 +0100
commit52789767686e5637457b397f60b2a26c2cb9cee5 (patch)
treeda4823572246eb7cfdb19c33b5afd933567fbae4
parente722dbd804ae2b86dca7b285442421d6bf20d289 (diff)
downloadaur-52789767686e5637457b397f60b2a26c2cb9cee5.tar.gz
linux-preserve-modules: allow executing list without root
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD4
-rwxr-xr-xlinux-preserve-modules26
3 files changed, 25 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2c29cde64660..8f64242e2da7 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = linux-preserve-modules
pkgdesc = a pacman hook that preserves linux kernel modules until reboot
- pkgver = 1.3.0
+ pkgver = 1.4.0
pkgrel = 1
url = https://aur.archlinux.org/packages/linux-preserve-modules
arch = any
@@ -10,6 +10,6 @@ pkgbase = linux-preserve-modules
source = linux-preserve-modules
sha256sums = 666c8f92f798a006b83740afae4dc832e4d38209eb866b2019cb32b8798bfdbf
sha256sums = 206fb01f2740fc6359fea93f2280b43e18613a15b629f94581eb1f9f4e53e1d6
- sha256sums = a889adb3de2eb086348466ca198195aa6f00f0aee97510a157cde51c08e29123
+ sha256sums = bbaacbb5171931770bb4d202519db4b73d66f6b35a51008592ca2454badb647d
pkgname = linux-preserve-modules
diff --git a/PKGBUILD b/PKGBUILD
index 5958529048aa..5c878d078eef 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Ferdinand B <theferdi265@gmail.com>
pkgname=linux-preserve-modules
-pkgver=1.3.0
+pkgver=1.4.0
pkgrel=1
pkgdesc="a pacman hook that preserves linux kernel modules until reboot"
url="https://aur.archlinux.org/packages/linux-preserve-modules"
@@ -13,7 +13,7 @@ source=(linux-preserve-modules.hook
linux-preserve-modules)
sha256sums=('666c8f92f798a006b83740afae4dc832e4d38209eb866b2019cb32b8798bfdbf'
'206fb01f2740fc6359fea93f2280b43e18613a15b629f94581eb1f9f4e53e1d6'
- 'a889adb3de2eb086348466ca198195aa6f00f0aee97510a157cde51c08e29123')
+ 'bbaacbb5171931770bb4d202519db4b73d66f6b35a51008592ca2454badb647d')
package() {
install -Dm644 "$srcdir/linux-preserve-modules.hook" "$pkgdir/usr/share/libalpm/hooks/10-linux-preserve-modules.hook"
diff --git a/linux-preserve-modules b/linux-preserve-modules
index 3727499fad64..7fd6c7f692f8 100755
--- a/linux-preserve-modules
+++ b/linux-preserve-modules
@@ -25,6 +25,13 @@ set-vars() {
fi
}
+check-root() {
+ if [[ "$(id -u)" -ne 0 ]]; then
+ echo "error: this script needs to run as root" >&2
+ usage
+ fi
+}
+
preserve-modules-copy() {
if [[ $# -gt 1 ]]; then
echo "usage: linux-preserve-modules copy [release]" >&2
@@ -33,6 +40,9 @@ preserve-modules-copy() {
set-vars "$1"
fi
+ # copying needs root
+ check-root
+
# exit early if the target directory does not exist
if [[ ! -f "$TARGET_DIR/modules.builtin" ]]; then
echo "info: nothing to copy" >&2
@@ -69,6 +79,9 @@ preserve-modules-link() {
set-vars "$1"
fi
+ # linking needs root
+ check-root
+
# exit early if no kernel modules copied
if [[ ! -f "$PRESERVE_DIR/modules.builtin" ]]; then
echo "info: nothing to link" >&2
@@ -117,6 +130,9 @@ preserve-modules-unlink() {
set-vars "$1"
fi
+ # unlinking needs root
+ check-root
+
# exit early if kernel modules not already copied
if [[ ! -f "$TARGET_DIR/.preserved" ]]; then
echo "info: not linked" >&2
@@ -144,6 +160,9 @@ preserve-modules-unlink-all() {
exit 1
fi
+ # unlinking needs root
+ check-root
+
# find kernels with .preserved marker file
LINKED_KERNELS=( $(find /usr/lib/modules -maxdepth 2 -type f -name .preserved | cut -d/ -f5) )
echo "info: found ${#LINKED_KERNELS[@]} kernels with linked modules" >&2
@@ -162,6 +181,8 @@ preserve-modules-list() {
exit 1
fi
+ # listing does not need root
+
# find kernels with .preserved marker file
LINKED_KERNELS=( $(find /usr/lib/modules -maxdepth 2 -type f -name .preserved | cut -d/ -f5) )
echo "info: found ${#LINKED_KERNELS[@]} kernels with linked modules" >&2
@@ -178,11 +199,6 @@ usage() {
}
main() {
- if [[ "$(id -u)" -ne 0 ]]; then
- echo "error: this script needs to run as root" >&2
- usage
- fi
-
set-vars "$(uname -r)"
if [[ "$#" -eq 0 ]]; then