commit: 4d685f1f1f13f15fbeee1f7200417949e3818b3d Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> AuthorDate: Sun Jul 14 09:35:32 2019 +0000 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> CommitDate: Sun Jul 14 11:58:16 2019 +0000 URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=4d685f1f
gen_initramfs.sh: Refactor append_firmware() Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org> gen_initramfs.sh | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/gen_initramfs.sh b/gen_initramfs.sh index b15f1bf..c7fd1dc 100755 --- a/gen_initramfs.sh +++ b/gen_initramfs.sh @@ -1032,29 +1032,37 @@ append_dropbear() { } append_firmware() { - if [ ! -d "${FIRMWARE_DIR}" ] + local TDIR="${TEMP}/initramfs-firmware-temp" + if [ -d "${TDIR}" ] then - gen_die "specified firmware directory (${FIRMWARE_DIR}) does not exist" + rm -r "${TDIR}" || gen_die "Failed to clean out existing '${TDIR}'!" fi - if [ -d "${TEMP}/initramfs-firmware-temp" ] + + mkdir "${TDIR}" || gen_die "Failed to create '${TDIR}'!" + cd "${TDIR}" || gen_die "Failed to chdir to '${TDIR}'!" + + if [ ! -d "${FIRMWARE_DIR}" ] then - rm -r "${TEMP}/initramfs-firmware-temp/" + gen_die "Specified firmware directory '${FIRMWARE_DIR}' does not exist!" fi - mkdir -p "${TEMP}/initramfs-firmware-temp/lib/firmware" - cd "${TEMP}/initramfs-firmware-temp" + + mkdir -p "${TDIR}"/lib/firmware || gen_die "Failed to create '${TDIR}/lib/firmware'!" + if [ -n "${FIRMWARE_FILES}" ] then - pushd ${FIRMWARE_DIR} >/dev/null - cp -rL --parents --target-directory="${TEMP}/initramfs-firmware-temp/lib/firmware/" ${FIRMWARE_FILES} - popd >/dev/null + pushd "${FIRMWARE_DIR}" &>/dev/null || gen_die "Failed to chdir to '${FIRMWARE_DIR}'!" + cp -rL --parents --target-directory="${TDIR}/lib/firmware" ${FIRMWARE_FILES} 2>/dev/null \ + || gen_die "Failed to copy firmware files (${FIRMWARE_FILES}) to '${TDIR}/lib/firmware'!" + popd &>/dev/null || gen_die "Failed to chdir!" else - cp -a "${FIRMWARE_DIR}"/* ${TEMP}/initramfs-firmware-temp/lib/firmware/ + cp -a "${FIRMWARE_DIR}"/* "${TDIR}"/lib/firmware/ 2>/dev/null \ + || gen_die "Failed to copy firmware files to '${TDIR}/lib/firmware'!" fi + + cd "${TDIR}" || gen_die "Failed to chdir to '${TDIR}'!" log_future_cpio_content find . -print | cpio ${CPIO_ARGS} --append -F "${CPIO}" \ - || gen_die "appending firmware to cpio" - cd "${TEMP}" - rm -r "${TEMP}/initramfs-firmware-temp/" + || gen_die "Failed to append firmware to cpio!" } append_gpg() {