summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--functions9
-rwxr-xr-xmkinitcpio12
2 files changed, 6 insertions, 15 deletions
diff --git a/functions b/functions
index 941312f..53557e7 100644
--- a/functions
+++ b/functions
@@ -695,7 +695,7 @@ initialize_buildroot() {
}
run_build_hook() {
- local hook=$1 script= realscript=
+ local hook=$1 script= resolved=
local MODULES=() BINARIES=() FILES=() SCRIPT=
# find script in install dirs
@@ -705,11 +705,10 @@ run_build_hook() {
fi
# check for deprecation
- if [[ -L $script ]]; then
- realscript=$(readlink -e "$script")
+ if resolved=$(readlink "$script") && [[ ${script##*/} != "${resolved##*/}" ]]; then
warning "Hook '%s' is deprecated. Replace it with '%s' in your config" \
- "${script##*/}" "${realscript##*/}"
- script=$realscript
+ "${script##*/}" "${resolved##*/}"
+ script=$resolved
fi
# source
diff --git a/mkinitcpio b/mkinitcpio
index ad96a4f..42b8290 100755
--- a/mkinitcpio
+++ b/mkinitcpio
@@ -125,8 +125,7 @@ hook_help() {
return 1
fi
- if [[ -L $script ]]; then
- resolved=$(readlink -e "$script")
+ if resolved=$(readlink "$script") && [[ ${script##*/} != "${resolved##*/}" ]]; then
msg "This hook is deprecated. See the '%s' hook" "${resolved##*/}"
return 0
fi
@@ -155,14 +154,7 @@ hook_list() {
[[ -e $hook || -L $hook ]] || continue
# handle deprecated hooks and point to replacement
- if [[ -L $hook ]]; then
- resolved=$(readlink -e "$hook")
-
- if [[ -z $resolved ]]; then
- error "found broken symlink '%s'" "$hook"
- continue
- fi
-
+ if resolved=$(readlink "$hook") && [[ ${hook##*/} != "${resolved##*/}" ]]; then
resolved=${resolved##*/}
if ! index_of "$resolved" "${depr[@]}"; then