#! /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"