find-requires

Artur Frysiak wiget w usa.net
Wto, 9 Mar 1999, 16:13:53 CET


Za pomniałem poprzednio dołączyć.

-- 
  __    __ _            _
 / / /\ \ (_) __ _  ___| |_  @__mail:  Artur Frysiak
 \ \/  \/ / |/ _` |/ _ \ __|            Rudlice 10
  \  /\  /| | (_| |  __/ |_           98-311 Ostrowek
   \/  \/ |_|\__, |\___|\__|
             |___/           email:   Wiget w USA.net
PGP key: http://www.t17.ds.pwr.wroc.pl/~wiget/pgp.key
Fingerprint16 = 70 DB E0 2D 12 AB C7 31  B6 58 B5 61 B3 98 B6 E6
-------------- następna część ---------
#!/bin/sh

# note this works for both a.out and ELF executables
# it also auto-generates requirment lines for shell scripts

ulimit -c 0

filelist=`sed "s/['\"]/\\\&/g"`
exelist=`echo $filelist | xargs -r file | fgrep executable | cut -d: -f1 `
scriptlist=`echo $filelist | xargs -r file | egrep ":.* (commands|script) " | cut -d: -f1 `
liblist=`echo $filelist | xargs -r file | grep "shared object" | cut -d : -f1 `

#for f in $exelist; do
#    if [ -x $f ]; then
#	ldd $f | awk '/=>/ { print $1 }'
#    fi
#done | sort -u | sed "s/['\"]/\\\&/g" | xargs -r -n 1 basename | sort -u

for f in $liblist $exelist; do
    ldd $f | awk '/=>/ { print $1 }'
done | sort -u | sed "s/['\"]/\\\&/g" | xargs -r -n 1 basename | sort -u

for f in $scriptlist; do
    if [ -x $f ]; then
	head -1 $f | sed -e 's/^\#\![ 	]*//' | cut -d" " -f1
    fi
done | sort -u

# Generate name of rpm packege provides library

for f in $exelist $liblist; do
    ldd $f | awk ' /=>/ { print $1 }'
done | xargs -r -n 1 basename | xargs -r -- rpm -q --whatprovides --queryformat "%{NAME}\n"  2>/dev/null |  sort -u


Więcej informacji o liście dyskusyjnej pld-devel-pl