X-Git-Url: https://git.jankratochvil.net/?p=massrebuild.git;a=blobdiff_plain;f=dtneededtwo;fp=dtneededtwo;h=bd2a656c588ede0a3f897b95d64da58344abe4a9;hp=0000000000000000000000000000000000000000;hb=0f7e6612226673b8f4e4266fe04b92e64ec9ad5f;hpb=2229caba05ab067f60fbf7c3d7e147723216e51a;ds=sidebyside diff --git a/dtneededtwo b/dtneededtwo new file mode 100755 index 0000000..bd2a656 --- /dev/null +++ b/dtneededtwo @@ -0,0 +1,48 @@ +#! /bin/bash +set -ex +repos=$1 +shift +d=$1 +shift +pkg=$1 +shift +exec >>$d-log.d/"$(basename "$pkg")" 2>&1 +[ $# -eq 0 ] +t=/tmp/dtneededtwo.$$ +rm -rf $t +mkdir $t +cd $t +if ! test -e "$pkg.rpm";then + echo "$pkg" >>$d/error-e + exit 1 +fi +rpm2archive "$pkg.rpm" +rm -f "$pkg.rpm" +mkdir x +cd x +tar xzf "$pkg.rpm.tgz" +rm -f "$pkg.rpm.tgz" +pkg="$(basename "$pkg")" +find -type f|while read -r i;do + llvm-readelf --dynamic-table "$i" >xxx 2>/dev/null || : + if test -s xxx;then + if test -e "$d/$i";then + echo "$pkg:$i" >>$d/error-conflict + rm -f xxx + else + mkdir -p "$(dirname "$d/$i")" + mv -f xxx "$d/$i" + fi + fi +done +find -type l|while read -r i;do + if test -e "$d/$i";then + echo "$pkg:$i" >>$d/error-conflict-l + else + mkdir -p "$(dirname "$d/$i")" + mv -f $i "$d/$i" + fi +done +cd +rm -rf $t +echo donetwo:"$pkg"