head	1.2;
access;
symbols
	RPM_4_0_2:1.1.1.3
	RPM_4_0_1:1.1.1.3
	RPM_4_0:1.1.1.3
	RPM_3_0_6:1.1.1.3
	RPM_3_0_5:1.1.1.3
	RPM_3_0_4:1.1.1.3
	RPM_3_0_3:1.1.1.2
	RPM_3_0_2:1.1.1.2
	RPM_3_0_1:1.1.1.1
	RPM_3_0:1.1.1.1
	RPM_2_5_6:1.1.1.1
	RPM:1.1.1;
locks; strict;
comment	@# @;


1.2
date	2003.08.24.12.12.41;	author rse;	state dead;
branches;
next	1.1;

1.1
date	98.12.17.16.37.00;	author rse;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	98.12.17.16.37.00;	author rse;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	99.06.18.17.45.59;	author rse;	state Exp;
branches;
next	1.1.1.3;

1.1.1.3
date	2000.02.22.13.08.35;	author rse;	state Exp;
branches;
next	;


desc
@@


1.2
log
@Resolve: RPM 4.0.2 -> RPM 4.0.3
@
text
@#!/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 | grep -v '4[um]lib.so' | sort -u

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

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


1.1
log
@Initial revision
@
text
@@


1.1.1.1
log
@Import: RPM 2.5.6
@
text
@@


1.1.1.2
log
@Import: RPM 3.0.2
@
text
@d17 1
a17 1
done | sort -u | sed "s/['\"]/\\\&/g" | xargs -r -n 1 basename | grep -v 'libNoVersion.so' | grep -v '4[um]lib.so' | sort -u
d21 1
a21 1
done | sort -u | sed "s/['\"]/\\\&/g" | xargs -r -n 1 basename | grep -v 'libNoVersion.so' | grep -v '4[um]lib.so' | sort -u
a26 13
done | sort -u

for f in $liblist $exelist ; do
    objdump -p $f | awk '
	BEGIN { START=0; LIBNAME=""; }
	/Version References:/ { START=1; }
	/required from/ && (START==1) {
	    sub(/:/, "", $3);
	    LIBNAME=$3;
	}
	(START==1) && (LIBNAME!="") && ($4!="") { print LIBNAME "(" $4 ")"; }
	/^$/ { START=0; }
    '
@


1.1.1.3
log
@Import: RPM 3.0.4
@
text
@d9 1
a9 1
exelist=`echo $filelist | xargs -r file | grep ":.*executable" | cut -d: -f1 `
d11 1
a11 1
liblist=`echo $filelist | xargs -r file | grep ":.*shared object" | cut -d : -f1 `
a13 1
    lib64=`if file -L $f 2>/dev/null | grep "ELF 64-bit" >/dev/null; then echo "()(64bit)"; fi`
d15 1
a15 1
	ldd $f | awk '/=>/ { if ($1 !~ /libNoVersion.so/ && $1 !~ /4[um]lib.so/) { gsub(/'\''"/,"\\&",$1); printf "%s'$lib64'\n", $1 } }'
d17 1
a17 1
done | xargs -r -n 1 basename | sort -u
d20 2
a21 3
    lib64=`if file -L $f 2>/dev/null | grep "ELF 64-bit" >/dev/null; then echo "()(64bit)"; fi`
    ldd $f | awk '/=>/ { if ($1 !~ /libNoVersion.so/ && $1 !~ /4[um]lib.so/) { gsub(/'\''"/,"\\&",$1); printf "%s'$lib64'\n", $1 } }'
done | xargs -r -n 1 basename | sort -u
a29 1
    lib64=`if file -L $f 2>/dev/null | grep "ELF 64-bit" >/dev/null; then echo "(64bit)"; fi`
d37 1
a37 1
	(START==1) && (LIBNAME!="") && ($4!="") { print LIBNAME "(" $4 ")'$lib64'"; }
@


