From 7a8f9ed8923d37bde124053be367ab774937d76b Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 17 Jan 2008 11:20:58 +0000 Subject: [PATCH] Clifford Wolf: rockinitrd: dereference symlink when copying /bin/bash [2008011218075129022] (https://www.rocklinux.net/submaster) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@8962 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- package/base/rockinitrd/initrd_essential.txt | 4 +--- package/base/rockinitrd/mkinitrd.sh | 8 ++------ package/base/rockinitrd/rockinitrd.desc | 2 +- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/package/base/rockinitrd/initrd_essential.txt b/package/base/rockinitrd/initrd_essential.txt index 79ecc1a7c..4ad644f8b 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/bash /bin/bash -L /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 4d7f0ac00..daa47c9a7 100644 --- a/package/base/rockinitrd/mkinitrd.sh +++ b/package/base/rockinitrd/mkinitrd.sh @@ -151,7 +151,7 @@ needed_libs() { echo -n "Copying other files ... " for x in ${rootdir}/etc/conf/initrd/initrd_* ; do [ -f ${x} ] || continue - while read file target ; do + while read file target cpopt; do file="${rootdir}/${file}" if [ ! -e ${file} ] ; then echo "${file} is requested by ${x} but doesn't exist!" >&2 @@ -169,11 +169,7 @@ for x in ${rootdir}/etc/conf/initrd/initrd_* ; do mkdir -p ${tfile%/*} fi -# if [ -b ${f} -o -c ${f} -o -p ${f} -o -L ${f} ] ; then - cp -a ${f} ${tfile} -# else -# cp ${f} ${tfile} -# fi + cp ${cpopt:--a} ${f} ${tfile} file -L ${f} | grep -q ELF || continue libs="${libs} `needed_libs ${f}`" diff --git a/package/base/rockinitrd/rockinitrd.desc b/package/base/rockinitrd/rockinitrd.desc index f9fac768b..a5bc12693 100644 --- a/package/base/rockinitrd/rockinitrd.desc +++ b/package/base/rockinitrd/rockinitrd.desc @@ -39,6 +39,6 @@ [L] GPL [S] Beta -[V] 20071206 0 +[V] 20080112 0 [P] X --X--5---9 100.200