dtneededsize: +$computed
[massrebuild.git] / dtneededone
index 023338e..f81e70d 100755 (executable)
@@ -4,23 +4,28 @@ repos=$1
 shift
 d=$1
 shift
+t=/tmp/dtneeded.$$
+rm -rf $t
+mkdir $t
+cd $t
+if ! dnf --disablerepo='*' --enablerepo=$repos download $@;then
+  echo $@ >>$d/error-dnf
+  exit 1
+fi
+mkdir -p dtneeded.log.d
 for pkg in "$@";do
-  t=/tmp/dtneeded.$$
-  rm -rf $t
-  mkdir $t
+  exec >>dtneeded.log.d/"$pkg" 2>&1
   cd $t
-  if ! dnf --disablerepo='*' --enablerepo=$repos download $pkg;then
-    echo $pkg >>$d/error-dnf
-    continue
-  fi
   if ! test -e $pkg.rpm;then
     echo $pkg >>$d/error-e
     continue
   fi
   rpm2archive $pkg.rpm
   rm -f $pkg.rpm
-  tar xzf $pkg.rpm.tgz
-  rm -f $pkg.rpm.tgz
+  mkdir x
+  cd x
+  tar xzf ../$pkg.rpm.tgz
+  rm -f $../$pkg.rpm.tgz
   find -type f|while read -r i;do
     llvm-readelf --dynamic-table $i >xxx 2>/dev/null || :
     if test -s xxx;then
@@ -28,5 +33,7 @@ for pkg in "$@";do
       mv -f xxx $d/$i
     fi
   done
-  rm -rf $t
+  cd $t
+  rm -rf x
 done
+rm -rf $t