From aa2d84d18b4272db7d416933920dcaffd1dead27 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Fri, 23 Nov 2007 09:26:44 +0000 Subject: [PATCH] Clifford Wolf: Some rockinitrd hotfixes [2007112310262525127] (https://www.rocklinux.net/submaster) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@8925 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- package/base/rockinitrd/initrd_essential.txt | 2 -- package/base/rockinitrd/mkinitrd.sh | 6 +++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/package/base/rockinitrd/initrd_essential.txt b/package/base/rockinitrd/initrd_essential.txt index 79ecc1a7c..f37cb88fd 100644 --- a/package/base/rockinitrd/initrd_essential.txt +++ b/package/base/rockinitrd/initrd_essential.txt @@ -1,6 +1,4 @@ /bin/bash /bin/bash -/bin/bash2 /bin/bash2 -/bin/bash3 /bin/bash3 /bin/sh /bin/sh /bin/ls /bin/ls /sbin/pivot_root /sbin/pivot_root diff --git a/package/base/rockinitrd/mkinitrd.sh b/package/base/rockinitrd/mkinitrd.sh index 6ae1b4f85..4d7f0ac00 100644 --- a/package/base/rockinitrd/mkinitrd.sh +++ b/package/base/rockinitrd/mkinitrd.sh @@ -133,7 +133,7 @@ echo "/sbin/fsck /sbin/fsck" >>/etc/conf/initrd/initrd_fsck echo "done" libdirs="" -for N in ${rootdir}/lib `sed -e"s,^\(.*\),${rootdir}\1," ${rootdir}/etc/ld.so.conf | tr '\n' ' '` ; do +for N in ${rootdir}/lib `sed -e"\,^/, ! d; s,^\(.*\),${rootdir}\1," ${rootdir}/etc/ld.so.conf | tr '\n' ' '` ; do [ -d "$N" ] && libdirs="$libdirs $N" done @@ -143,7 +143,7 @@ needed_libs() { ${cross_compile}readelf -d ${x} 2>/dev/null | grep "(NEEDED)" | sed -e"s,.*Shared library: \[\(.*\)\],\1," | while read library ; do - find ${libdirs} -name "${library}" 2>/dev/null | + find ${libdirs} -maxdepth 1 -name "${library}" 2>/dev/null | sed -e "s,^${rootdir},,g" | tr '\n' ' ' done } @@ -178,7 +178,7 @@ for x in ${rootdir}/etc/conf/initrd/initrd_* ; do file -L ${f} | grep -q ELF || continue libs="${libs} `needed_libs ${f}`" done < <( find "${file}" ) - done < ${x} + done < <( grep '^[^#]' ${x} ) done echo "done"