From: Sebastian Pipping Date: Thu, 22 Mar 2012 15:07:23 +0000 (+0100) Subject: Fail hard on LUKS inclusion error (bug #409277), advise about sys-fs/cryptsetup[stati... X-Git-Tag: v3.4.24_p1~2 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=e46bb322a213cb6fc31ab4fd193b634cd7e496f8;p=genkernel.git Fail hard on LUKS inclusion error (bug #409277), advise about sys-fs/cryptsetup[static], drop support for cryptsetup binary from /bin/ Conflicts: ChangeLog --- diff --git a/ChangeLog b/ChangeLog index 2a04479..2c48001 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/ + 17 Mar 2012; Sebastian Pipping defaults/initrd.scripts, defaults/linuxrc: Fix docache (bug #397309) diff --git a/gen_initramfs.sh b/gen_initramfs.sh index cfcfe97..814b1e5 100755 --- a/gen_initramfs.sh +++ b/gen_initramfs.sh @@ -380,6 +380,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/" @@ -391,20 +395,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}" \