#!/bin/sh
_SCRIPT_NAME=efi-boot-update
-_SCRIPT_VERSION=0.0
+_SCRIPT_VERSION=0.1
. /etc/rc.d/init.d/functions
echo " --mount, -m Try to mount /boot/efi first"
echo " --verbose, -v Verbose output"
echo " --force Force file updates"
+ echo " --auto Automatic run from packages %post"
}
msg () {
echo -n "$*" | tr -c '[a-zA-Z0-9_]' '_'
}
+ALLOW_AUTO="no"
FORCE_UPDATES="no"
MOUNT_EFI_PARTITION="no"
LABEL_PREFIX=""
-DEFAULT=""
VERBOSE="no"
[ -e /etc/efi-boot/update.conf ] && . /etc/efi-boot/update.conf
+AUTO_RUN=no
+
while [ -n "$*" ] ; do
local arg
arg="$1"
--force)
FORCE_UPDATES="yes"
;;
+ --auto)
+ is_yes "$ALLOW_AUTO" || exit 0
+ AUTO_RUN=yes
+ ;;
*)
usage >&2
exit 2
local efi_arch
if [[ "$ARCH" = i?86 || "$ARCH" = pentium[45] || "$ARCH" = "athlon" ]] ; then
# %ix86
- efi_arch=x32
+ efi_arch=ia32
elif [[ "$ARCH" = "x86_64" || "$ARCH" = "amd64" || "$ARCH" = "ia32e" ]] ; then
# %x8664
efi_arch=x64
fi
fi
+if ! is_yes "$ALLOW_AUTO" && ! is_yes "$AUTO_RUN"; then
+ msg "ALLOW_AUTO is not enabled in /etc/efi-boot/update.conf,"
+ msg "files will not be automatically updated on upgrades."
+fi
+
# vi: ft=sh sw=4 sts=4 et