[pve-devel] [PATCH kernel-meta 1/2] Add parameter '--hook' to 'refresh' command
Stefan Reiter
s.reiter at proxmox.com
Thu Aug 1 13:01:02 CEST 2019
Mostly to avoid calling hooks directly in other scripts, future-proofing.
Signed-off-by: Stefan Reiter <s.reiter at proxmox.com>
---
bin/pve-efiboot-tool | 30 +++++++++++++++++++++++-------
1 file changed, 23 insertions(+), 7 deletions(-)
diff --git a/bin/pve-efiboot-tool b/bin/pve-efiboot-tool
index a2ff4e1..d9bb829 100755
--- a/bin/pve-efiboot-tool
+++ b/bin/pve-efiboot-tool
@@ -195,10 +195,19 @@ clean() {
}
refresh() {
- hookscripts='pve-auto-removal zz-pve-efiboot'
+ hookscripts="$1"
+ if [ -z "$hookscripts" ]; then
+ hookscripts='pve-auto-removal zz-pve-efiboot'
+ fi
+
for script in $hookscripts; do
- echo "Running hook script '$script'.."
- "/etc/kernel/postinst.d/$script"
+ scriptpath="/etc/kernel/postinst.d/$script"
+ if [ -f "$scriptpath" ] && [ -x "$scriptpath" ]; then
+ echo "Running hook script '$script'.."
+ $scriptpath
+ else
+ warn "Hook script '$script' not found or not executable, skipping."
+ fi
done
}
@@ -261,7 +270,7 @@ usage() {
warn " $0 format <partition> [--force]"
warn " $0 init <partition>"
warn " $0 clean [--dry-run]"
- warn " $0 refresh"
+ warn " $0 refresh [--hook <name>]"
warn " $0 kernel <add|remove> <kernel-version>"
warn " $0 kernel list"
warn " $0 help"
@@ -280,9 +289,9 @@ help() {
echo ""
echo " remove no longer existing EFI system partition UUIDs from $ESP_LIST. Use --dry-run to only print outdated entries instead of removing them."
echo ""
- echo "USAGE: $0 refresh"
+ echo "USAGE: $0 refresh [--hook <name>]"
echo ""
- echo " refresh all configured EFI system partitions."
+ echo " refresh all configured EFI system partitions. Use --hook to only run the specified hook, omit to run all."
echo ""
echo "USAGE: $0 kernel <add|remove> <kernel-version>"
echo ""
@@ -331,7 +340,14 @@ case "$1" in
;;
'refresh')
shift
- refresh
+ if [ "$#" -eq 0 ]; then
+ refresh
+ elif [ "$#" -eq 2 ] && [ "$1" = "--hook" ]; then
+ refresh "$2"
+ else
+ usage
+ exit 1
+ fi
exit 0
;;
'kernel'|'kernels')
--
2.20.1
More information about the pve-devel
mailing list