commit: 7d7d95509fcecd86476e705bc52fa147452139c3
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 13 20:56:40 2019 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sat Dec 14 00:05:33 2019 +0000
URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=7d7d9550
gen_funcs.sh: get_chost_libdir(): Use libc.a to determine CHOST libdir
libc.a is required for almost every package in initramfs whereas
libnss_files.so isn't available in musl for example.
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
gen_funcs.sh | 7 +++++--
gen_initramfs.sh | 6 +++---
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/gen_funcs.sh b/gen_funcs.sh
index f5dd0cd..32d367e 100755
--- a/gen_funcs.sh
+++ b/gen_funcs.sh
@@ -860,10 +860,13 @@ debug_breakpoint() {
get_chost_libdir() {
local cc=$(tc-getCC)
- local test_file=$(${cc} -print-file-name=libnss_files.so 2>/dev/null)
+ local test_file=$(${cc} -print-file-name=libc.a 2>/dev/null)
if [ -z "${test_file}" ]
then
- gen_die "$(get_useful_function_stack "${FUNCNAME}")Unable to
determine CHOST's libdir: '${cc} -print-file-name=libnss_files.so' returned
nothing!"
+ gen_die "$(get_useful_function_stack "${FUNCNAME}")Unable to
determine CHOST's libdir: '${cc} -print-file-name=libc.a' returned nothing!"
+ elif [[ "${test_file}" == "libc.a" ]]
+ then
+ gen_die "$(get_useful_function_stack "${FUNCNAME}")Unable to
determine CHOST's libdir: '${cc} -print-file-name=libc.a' returned no path!"
fi
local test_file_realpath=$(realpath "${test_file}" 2>/dev/null)
diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 6150cba..ab7b151 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -461,7 +461,7 @@ append_busybox() {
# allow for DNS resolution
local libdir=$(get_chost_libdir)
mkdir -p "${TDIR}"/lib || gen_die "Failed to create '${TDIR}/lib'!"
- copy_system_binaries "${TDIR}"/lib "${libdir}"/libnss_dns.so.2
+ copy_system_binaries "${TDIR}"/lib "${libdir}"/libnss_dns.so
log_future_cpio_content
find . -print0 | "${CPIO_COMMAND}" ${CPIO_ARGS} --append -F
"${CPIO_ARCHIVE}" \
@@ -955,7 +955,7 @@ append_linker() {
mkdir -p "${TDIR}"/sbin || gen_die "Failed to create
'${TDIR}/sbin'!"
local libdir=$(get_chost_libdir)
- copy_system_binaries "${TDIR}/sbin" "${libdir}/../sbin/ldconfig"
+ copy_system_binaries "${TDIR}/sbin"
"${libdir}/../../sbin/ldconfig"
else
# Only copy /etc/ld.so.conf.d -- /etc/ld.so.conf was already
# added to CPIO via append_base_layout() and because we only
@@ -1323,7 +1323,7 @@ append_dropbear() {
local libdir=$(get_chost_libdir)
mkdir -p "${TDIR}"/lib || gen_die "Failed to create '${TDIR}/lib'!"
- copy_system_binaries "${TDIR}"/lib "${libdir}"/libnss_files.so.2
+ copy_system_binaries "${TDIR}"/lib "${libdir}"/libnss_files.so
cd "${TDIR}" || gen_die "Failed to chdir to '${TDIR}'!"