From ca5b97da228627efcc4be82eaae016f68535f6d9 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Mon, 8 Sep 2014 17:49:24 +0200 Subject: convert devel(foo) deps to internal generator also kill X11R6 path btw (killed years ago) --- devel.req | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 devel.req (limited to 'devel.req') diff --git a/devel.req b/devel.req new file mode 100644 index 0000000..43863c4 --- /dev/null +++ b/devel.req @@ -0,0 +1,39 @@ +#/bin/sh +# .so files. +# +filelist= +while read instfile ; do + filelist="$filelist $instfile" +done + +# for objdump: +export LC_ALL=C + +# --- Set needed to 0 for traditional find-requires behavior. +needed=1 + +for i in `echo $filelist | tr '[:blank:]' "\n" | egrep "(/usr)?/lib(|64)/[^/]+\.so$"`; do + objd=`objdump -p ${i} | grep SONAME` + lib64=`if file -L $i 2>/dev/null | grep "ELF 64-bit" >/dev/null; then echo "(64bit)"; fi` && \ + if [ -h ${i} -a -n "${objd}" ]; then + if [ "$needed" -eq 0 ]; then + ldd ${i} \ + | grep -v "statically linked" \ + | grep -v "/\(lib\|lib64\)/\(ld\|ld64\|ld-linux.*\)\.so" \ + | perl -p -e "s/\s+(\S+)\.so.*/devel(\1$lib64)/g" + else + objdump -p $i | grep -v "\(ld\|ld64\|ld-linux.*\)\.so" \ + | awk 'BEGIN { START=0; } + /^$/ { START=0; } + /^Dynamic Section:$/ { START=1; } + (START==1) && /NEEDED/ { + sub(/^/, "devel(", $2) ; + sub(/\.so.*$/, "'$lib64')", $2) ; + print $2 ; + } + ' + fi + fi +done | egrep -v 'devel\(linux-gate|linux-vdso32|linux-vdso64|lib(c|pthread|rt)(\(64bit\))?\)' | sort -u + + -- cgit v1.2.1