commit:     3a005bbaea41cf1e87e6a256bbf9e53cd26584a9
Author:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  4 05:52:41 2017 +0000
Commit:     Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Mon Sep  4 05:52:41 2017 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3a005bba

initrd.scripts: fix cdupdate.sh path check

This has been broken since the v3.4.52 release, more than 2 years ago.
Looks like cdupdate.sh gets very little use.

Fixes: https://bugs.gentoo.org/show_bug.cgi?id=593866
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>

 defaults/initrd.scripts | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index efc6421..ee9aeb5 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1410,10 +1410,14 @@ verbose_kmsg() {
 cdupdate() {
        if [ "${CDROOT}" = '1' ]
        then
-               if [ -x /${CDROOT_PATH}/cdupdate.sh ]
+               cdupdate_path=''
+               for p in /${NEW_ROOT}/${CDROOT_PATH}/ /${CDROOT_PATH}/ ; do
+                       [ -x "${p}/cdupdate.sh" ] && 
cdupdate_path="${p}/cdupdate.sh" && break
+               done
+               if [ -n "${cdupdate_path}" ]
                then
-                       good_msg "Running cdupdate.sh"
-                       ${CDROOT_PATH}/cdupdate.sh
+                       good_msg "Running cdupdate.sh ($cdupdate_path)"
+                       ${cdupdate_path}
                        if [ "$?" != '0' ]
                        then
                                bad_msg "Executing cdupdate.sh failed!"

Reply via email to