+compress.sh
[massrebuild.git] / dtneededtwo
1 #! /bin/bash
2 set -ex
3 repos=$1
4 shift
5 d=$1
6 shift
7 pkg=$1
8 shift
9 exec >>$d-log.d/"$(basename "$pkg")" 2>&1
10 [ $# -eq 0 ]
11 t=/tmp/dtneededtwo.$$
12 rm -rf $t
13 mkdir $t
14 cd $t
15 if ! test -e "$pkg.rpm";then
16   echo "$pkg" >>$d/error-e
17   exit 1
18 fi
19 rpm2archive "$pkg.rpm"
20 rm -f "$pkg.rpm"
21 mkdir x
22 cd x
23 tar xzf "$pkg.rpm.tgz"
24 rm -f "$pkg.rpm.tgz"
25 pkg="$(basename "$pkg")"
26 find -type f|while read -r i;do
27   llvm-readelf --dynamic-table "$i" >xxx 2>/dev/null || :
28   if test -s xxx;then
29     if test -e "$d/$i";then
30       echo "$pkg:$i" >>$d/error-conflict
31       rm -f xxx
32     else
33       mkdir -p "$(dirname "$d/$i")"
34       mv -f xxx "$d/$i"
35     fi
36   fi
37 done
38 find -type l|while read -r i;do
39   if test -e "$d/$i";then
40     echo "$pkg:$i" >>$d/error-conflict-l
41   else
42     mkdir -p "$(dirname "$d/$i")"
43     mv -f $i "$d/$i"
44   fi
45 done
46 cd
47 rm -rf $t
48 echo donetwo:"$pkg"