Stop depending on nash to find the program interpreter; use eu-readelf instead
authorJeremy Katz <katzj@redhat.com>
Mon, 5 Jan 2009 17:46:39 +0000 (12:46 -0500)
committerJeremy Katz <katzj@redhat.com>
Mon, 5 Jan 2009 17:47:36 +0000 (12:47 -0500)
dracut-functions
dracut.spec

index 89914f8..6c3e034 100755 (executable)
@@ -36,7 +36,7 @@ function get_dso_deps() {
     declare -a FILES
     declare -a NAMES
 
-    local LDSO=$(echo nash-showelfinterp $bin | /sbin/nash --forcequiet)
+    local LDSO=$(LANG=C eu-readelf -l $bin  |grep interpreter |awk {'print $4;'} |sed -e 's/]$//')
     [ -z "$LDSO" -o "$LDSO" == "$bin" ] && local LDSO="$IF_RTLD"
     [ -z "$LDSO" -o "$LDSO" == "$bin" ] && return 1
     [ -z "$IF_RTLD" ] && IF_RTLD="$LDSO"
index ed3fcbf..c1a1cf9 100644 (file)
@@ -22,6 +22,7 @@ Requires: mount
 Requires: nash
 Requires: bash
 Requires: plymouth >= 0.6.0-2
+Requires: /usr/bin/eu-readelf
 Obsoletes: mkinitrd < 7.0
 Provides: mkinitrd = 7.0
 BuildArch: noarch