3 # build/znc-1.8.1-2.fc33.src.rpm.rpms
5 which readelf >/dev/null
6 which llvm-dwarfdump >/dev/null
9 test ! '(' -e $srcrpm.rpmsizes -a -e $srcrpm.dt5.rpm.dttypes ')'
10 test ! -e $srcrpm.rpms.d
11 : >$srcrpm.dt5.rpm.dttypes
14 pushd $srcrpm.rpms.d >/dev/null
15 rpmsbase=../../`basename $srcrpm`
16 dwzrpms=$rpmsbase.rpms
17 dtrpms=$rpmsbase.dt.rpm.rpms
20 if [ -z "$(find $dwzrpms $dtrpms -maxdepth 1 -type f)" ];then
23 echo "0 0" >$srcrpm.rpmsizes
29 for i in $1/*-debuginfo*.rpm;do
37 mkdir dwz;(cd dwz;extract $dwzrpms)
38 mkdir dt;(cd dt;extract $dtrpms)
39 dwzcommon="$(find dwz/usr/lib/debug/.dwz/ -type f -printf "%s" 2>/dev/null || :)"
40 if [ -z "$dwzcommon" ];then
46 for i in `find -type f -name "*.debug*"`;do
47 dwz=$(find $i -maxdepth 0 -printf "%s")
48 dt=$(find ../dt/$i -maxdepth 0 -printf "%s")
49 if readelf -WS $i 2>/dev/null|fgrep -q .gnu_debugaltlink;then
50 if [ $dwzcommon -eq 0 ];then
51 echo >&2 Excessive .gnu_debugaltlink: $i
54 dwz=$[$dwz+$dwzcommon]
56 dwztot=$[$dwztot+$dwz]
58 llvm-dwarfdump -color=0 -debug-types --summarize-types ../dt/$i >>"$origpwd/$srcrpm".dt5.rpm.dttypes
63 echo "$dwztot $dttot" >$srcrpm.rpmsizes