From 5a7bc18180612f5ada377be3df1ae20596ebfdac Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Thu, 22 Mar 2012 16:06:50 +0100 Subject: [PATCH 1/2] Make errors stand out more --- ChangeLog | 4 ++++ gen_funcs.sh | 35 ++++++++++++++++++----------------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index aa381b8..b2529bf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,10 @@ # Distributed under the GPL v2 # $Id$ + 22 Mar 2012; Sebastian Pipping gen_funcs.sh, + gen_initramfs.sh: + Make errors stand out more + 22 Mar 2012; Sebastian Pipping genkernel: Bump version to 3.4.26 diff --git a/gen_funcs.sh b/gen_funcs.sh index 739311b..f199014 100755 --- a/gen_funcs.sh +++ b/gen_funcs.sh @@ -204,29 +204,30 @@ gen_die() { then print_error 1 "ERROR: ${1}" fi - echo - print_info 1 "-- Grepping log... --" - echo + print_error 1 '' + print_error 1 "-- Grepping log... --" + print_error 1 '' if isTrue ${USECOLOR} then - GREP_COLOR='1' grep -B5 -E --colour=always "([Ww][Aa][Rr][Nn][Ii][Nn][Gg]|[Ee][Rr][Rr][Oo][Rr][ :,!]|[Ff][Aa][Ii][Ll][Ee]?[Dd]?)" ${LOGFILE} + GREP_COLOR='1' grep -B5 -E --colour=always "([Ww][Aa][Rr][Nn][Ii][Nn][Gg]|[Ee][Rr][Rr][Oo][Rr][ :,!]|[Ff][Aa][Ii][Ll][Ee]?[Dd]?)" ${LOGFILE} \ + | sed -s "s|^\(*\)\?|${BAD}*${NORMAL}|" else grep -B5 -E "([Ww][Aa][Rr][Nn][Ii][Nn][Gg]|[Ee][Rr][Rr][Oo][Rr][ :,!]|[Ff][Aa][Ii][Ll][Ee]?[Dd]?)" ${LOGFILE} fi - echo - print_info 1 "-- End log... --" - echo - print_info 1 "Please consult ${LOGFILE} for more information and any" - print_info 1 "errors that were reported above." - echo - print_info 1 "Report any genkernel bugs to bugs.gentoo.org and" - print_info 1 "assign your bug to genkernel@gentoo.org. Please include" - print_info 1 "as much information as you can in your bug report; attaching" - print_info 1 "${LOGFILE} so that your issue can be dealt with effectively." - print_info 1 '' - print_info 1 'Please do *not* report compilation failures as genkernel bugs!' - print_info 1 '' + print_error 1 '' + print_error 1 "-- End log... --" + print_error 1 '' + print_error 1 "Please consult ${LOGFILE} for more information and any" + print_error 1 "errors that were reported above." + print_error 1 '' + print_error 1 "Report any genkernel bugs to bugs.gentoo.org and" + print_error 1 "assign your bug to genkernel@gentoo.org. Please include" + print_error 1 "as much information as you can in your bug report; attaching" + print_error 1 "${LOGFILE} so that your issue can be dealt with effectively." + print_error 1 '' + print_error 1 'Please do *not* report compilation failures as genkernel bugs!' + print_error 1 '' # Cleanup temp dirs and caches if requested cleanup From 7ee9306c7d68bd8b54219788b61558abc8732e9e Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Thu, 22 Mar 2012 16:07:23 +0100 Subject: [PATCH 2/2] Fail hard on LUKS inclusion error (bug #409277), advise about sys-fs/cryptsetup[static], drop support for cryptsetup binary from /bin/ --- ChangeLog | 4 ++++ gen_initramfs.sh | 27 +++++++++++++-------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index b2529bf..b6319e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,10 @@ # Distributed under the GPL v2 # $Id$ + 22 Mar 2012; Sebastian Pipping gen_initramfs.sh: + Fail hard on LUKS inclusion error (bug #409277), advise about + sys-fs/cryptsetup[static], drop support for cryptsetup binary from /bin/ + 22 Mar 2012; Sebastian Pipping gen_funcs.sh, gen_initramfs.sh: Make errors stand out more diff --git a/gen_initramfs.sh b/gen_initramfs.sh index 9a17b3a..419d557 100755 --- a/gen_initramfs.sh +++ b/gen_initramfs.sh @@ -391,6 +391,10 @@ append_overlay(){ } append_luks() { + local _luks_error_format="LUKS support cannot be included: %s. Please emerge sys-fs/cryptsetup[static]." + local _luks_source=/sbin/cryptsetup + local _luks_dest=/sbin/cryptsetup + if [ -d "${TEMP}/initramfs-luks-temp" ] then rm -r "${TEMP}/initramfs-luks-temp/" @@ -402,20 +406,15 @@ append_luks() { if isTrue ${LUKS} then - if is_static /bin/cryptsetup - then - print_info 1 "Including LUKS support" - cp /bin/cryptsetup ${TEMP}/initramfs-luks-temp/sbin/cryptsetup - chmod +x "${TEMP}/initramfs-luks-temp/sbin/cryptsetup" - elif is_static /sbin/cryptsetup - then - print_info 1 "Including LUKS support" - cp /sbin/cryptsetup ${TEMP}/initramfs-luks-temp/sbin/cryptsetup - chmod +x "${TEMP}/initramfs-luks-temp/sbin/cryptsetup" - else - print_info 1 "LUKS support requires static cryptsetup at /bin/cryptsetup or /sbin/cryptsetup" - print_info 1 "Not including LUKS support" - fi + [ -x "${_luks_source}" ] \ + || gen_die "$(printf "${_luks_error_format}" "no file ${_luks_source}")" + + is_static "${_luks_source}" \ + || gen_die "$(printf "${_luks_error_format}" "${_luks_source} not a static binary")" + + print_info 1 "Including LUKS support" + cp "${_luks_source}" ${TEMP}/initramfs-luks-temp${_luks_dest} + chmod +x "${TEMP}/initramfs-luks-temp${_luks_dest}" fi find . -print | cpio ${CPIO_ARGS} --append -F "${CPIO}" \