summaryrefslogtreecommitdiff
path: root/autodeps
diff options
context:
space:
mode:
Diffstat (limited to 'autodeps')
-rw-r--r--autodeps/irix6.prov184
-rw-r--r--autodeps/irix6.req125
2 files changed, 2 insertions, 307 deletions
diff --git a/autodeps/irix6.prov b/autodeps/irix6.prov
index 0d7a3bfbf..ab2226bec 100644
--- a/autodeps/irix6.prov
+++ b/autodeps/irix6.prov
@@ -1,189 +1,7 @@
#! /usr/bin/ksh
# Original Author: Tim Mooney (mooney@plains.nodak.edu)
-# $Id: irix6.prov,v 1.2 1998/06/14 16:03:14 ewt Exp $
-#
-# This file is distributed under the terms of the GNU Public License
-#
-# find-provides is part of RPM, the Red Hat Package Manager. find-provides
-# reads a list of full pathnames (in a package) on stdin, and outputs all
-# shared libraries provided by (contained in) the package.
-#
-# NOTE: I use `:' as the delimiter (by default) between the library soname
-# and any library version info. This is because IRIX libraries (even
-# system libraries) have "version information" in both the soname and the
-# internal version field, so it's important to be able to separate those
-# fields. If we just used `.', we wouldn't know where the soname ends and
-# the version infromation begins.
-#
-#
-# On IRIX, use `elfdump -L' to find what libraries a package provides
-#
-# Example `elfdump -L' output:
-#
-#$elfdump -L /usr/lib/libc.so
-#
-#
-#/usr/lib/libc.so:
-#
-# **** DYNAMIC SECTION INFORMATION ****
-#.dynamic :
-#[INDEX] Tag Value
-#[0] HASH 0xfa099d0
-#[1] STRTAB 0xfa0027c
-#[2] SYMTAB 0xfa10e3c
-#[3] STRSZ 0x9751
-#[4] SYMENT 0x10
-#[5] INIT 0
-#[6] FINI 0
-#[7] RLDVERS 0x1
-#[8] FLAGS 0x1411
-#[9] BASEADDR 0xfa00000
-#[10] LOCGOTNO 0x3c
-#[11] PROTECT 0x3c
-#[12] HIDDEN 0x12
-#[13] CNFLCTNO 0
-#[14] LBLISTNO 0
-#[15] SYMTABNO 0xd19
-#[16] UNREFEXT 0x8
-#[17] GOTSYM 0x8b3
-#[18] LOCAL 0x12
-#[19] LOCALPG 0x1
-#[20] LOCALPG 0x10
-#[21] PLTGOT 0xfb483b0
-#[22] RLDTXT_ADR0xfb6b580
-#[23] OPTIONS 0xfa000f4
-#[24] SONAME libc.so.1
-#[25] TIMSTAMP Jun 16 18:23:15 1997
-#[26] CHECKSUM 0x92321a0c
-#[27] IVERSION sgi1.0
-#[28] REL 0xfa1dfcc
-#[29] RELSZ 0x1988
-#[30] RELENT 0x8
-#[31] MSYM 0xfa1f954
-#[32] COMPCTSIZE0xc60c
-#No Library List Section in /usr/lib/libc.so
-#
-
-PATH=/usr/bin:/usr/sbin
-export PATH
-
-for f in `cat - | xargs /usr/bin/file | egrep 'ELF.*dynamic lib' | cut -d: -f1`
-do
- elfdump -L $f 2>/dev/null | awk '
-
- BEGIN {
- FS = " ";
- RS = "\n";
- OFS = "";
-
- # The character that should separate the soname from
- # the version information. If you change this, you
- # should also change the same variable in the IRIX
- # find-requires script
- soname_version_delimiter=":"
-
- found_soname = 0;
- found_iversion = 0;
- }
-
- # Uncomment the next line for some debugging info.
- #{ print NR , ":", $0 }
-
- /[ ]+SONAME .*[ ]*$/ {
- found_soname = 1;
- numfields = split($0, internal_name)
- if (numfields == 3) {
- soname = $3
- } else {
- #
- # Should never be here.
- #
- print "Really odd looking soname:", $0 | "cat 1>&2"
- exit
- }
- }
-
- /[ ]+IVERSION .*[ ]*$/ {
- if (found_soname == 1) {
- numfields = split($0, iversion)
- if (numfields == 3) {
- version = $3
- #
- # handle libraries with multiple versions, like
- # 1.1:1.2. Since they really provide both versions,
- # we need to generate output for each version.
- #
- numfields = split(version, versions, ":")
- if (numfields > 1) {
- for (i = 1; i < numfields; i++) {
- print soname, soname_version_delimiter, versions[i]
- }
- #
- # let our END routine print out the *last* version
- # provided
- #
- version = versions[numfields]
- }
- #
- # stick a fork in us.
- #
- found_iversion = 1;
- exit
- } else {
- #
- # handle libraries with comments and other junk in
- # the version field. IRIX has a number of system libraries
- # with whitespace and other junk in the version field!
- #
- # we discard the whitespace and keep the identifier after
- # the # sign.
- #
- version = iversion[numfields]
- numfields = split(version, version_junk, "#")
- if (numfields > 1) {
- version = version_junk[numfields]
- found_iversion = 1;
- }
- }
- } else {
- #
- # found an iversion without an soname. Is that possible?
- #
- print "Found version but no soname:", $0 | "cat 1>&2"
- exit
- }
- }
-
- #
- # we could probably watch for some other token (like RELSZ)
- # that *generally* occurs later in the input than the stuff we watch
- # for, and exit if we see it, but it is just as easy to read all
- # the output, even after we have seen what we are looking for.
- #
-
- END {
- # Uncomment the next line for debugging info
- #{ print "END: NR: ", NR }
- if ( (found_soname == 1) && (found_iversion == 1) ) {
- print soname, soname_version_delimiter, version
- exit
- } else if (found_soname == 1) {
- #
- # no library version information
- #
- print soname
- }
- # else do nothing
- }
- ' # end of awk
-#done | sort -u
-#comment out the previous line and uncomment the next line when debugging
-done
-#! /usr/bin/ksh
-
-# Original Author: Tim Mooney (mooney@plains.nodak.edu)
-# $Id: irix6.prov,v 1.2 1998/06/14 16:03:14 ewt Exp $
+# $Id: irix6.prov,v 1.3 1999/01/22 00:25:26 jbj Exp $
#
# This file is distributed under the terms of the GNU Public License
#
diff --git a/autodeps/irix6.req b/autodeps/irix6.req
index 48d0e4fd6..1648975cb 100644
--- a/autodeps/irix6.req
+++ b/autodeps/irix6.req
@@ -1,130 +1,7 @@
#! /usr/bin/ksh
# Original Author: Tim Mooney (mooney@plains.nodak.edu)
-# $Id: irix6.req,v 1.2 1998/06/14 16:03:14 ewt Exp $
-#
-# This file is distributed under the terms of the GNU Public License
-#
-# find-requires is part of RPM, the Red Hat Package Manager. find-requires
-# reads a list of full pathnames (in a package) on stdin, and outputs all
-# shared libraries the package requires to execute.
-#
-# NOTE: I use `:' as the delimiter (by default) between the library soname
-# and any library version info. This is because IRIX libraries (even
-# system libraries) have "version information" in both the soname and the
-# internal version field, so it's important to be able to separate those
-# fields. If we just used `.', we wouldn't know where the soname ends and
-# the version infromation begins.
-#
-# On IRIX, use `elfdump -Dl' to find what libraries are required by
-# an executable. `elfdump -L' does what we need too, but it gives us more
-# than we really need.
-#
-# Example `elfdump -Dl' output:
-#
-#$elfdump -Dl /usr/bin/X11/xterm
-#
-#
-#
-#/usr/bin/X11/xterm:
-#
-# **** MIPS LIBLIST INFORMATION ****
-#.liblist :
-#[INDEX] Timestamp Checksum Flags Name Version
-#[1] Nov 23 15:39:02 1997 0x4da65893 ----- libXaw.so.2 sgi2.0
-#[2] Nov 23 15:39:02 1997 0x414eece6 ----- libXmu.so sgi1.0
-#[3] Nov 23 15:39:02 1997 0x6f314e69 ----- libXt.so sgi1.0
-#[4] Nov 23 15:39:02 1997 0xcbe81fff ----- libXext.so sgi1.0
-#[5] Nov 23 15:39:02 1997 0x89ae8e98 ----- libX11.so.1 sgi1.0
-#[6] Oct 27 01:00:29 1997 0x99b27890 ----- libcurses.so sgi1.0
-#[7] Jun 16 18:23:15 1997 0x92321a0c ----- libc.so.1 sgi1.0
-#
-
-#
-# TVM: it might be better to re-write this so that `file' isn't used, since
-# it can all be done with `elfdump', but this works.
-#
-
-PATH=/usr/bin:/usr/sbin
-export PATH
-
-filelist=`cat -`
-
-#
-# Handle scripts first
-#
-for f in `echo $filelist | xargs file | grep 'script text' | cut -d: -f 2 \
- | awk '{ print $1 }'`
-do
- print $f
-done | sort -u
-
-
-for f in `echo $filelist | xargs file | egrep 'executable|lib' | cut -d: -f1`
-do
- #echo "Working on $f"
- elfdump -Dl $f 2>/dev/null | awk '
-
- #
- # For you non-awk-ers, no single quotes in comments -- the shell
- # sees them and things get hosed.
- #
-
- BEGIN {
- found_column_headers = 0;
- FS = " ";
- RS = "\n";
- OFS="";
- soname_version_delimiter=":";
- }
-
- # uncomment the next line for debugging information
- #{ print "Saw input:", $0 }
-
- found_column_headers == 1 && $0 !~ /^$/ {
-
- # get the library name (field 15) and the library version (field 16)
- # if present.
- numfields = split($0,fields)
- if (numfields == 8) {
- print fields[8]
- } else if (numfields == 9) {
- #
- print fields[8], soname_version_delimiter, fields[9]
- } else if (numfields > 9) {
- #
- # SGI has this annoying habit of putting comments, complete
- # with whitespace, in their library IVERSION field. Yuck.
- #
- # Handle libraries like this gracefully.
- #
- verfields = split(fields[NF], junk, "#")
- if (verfields == 2) {
- print fields[8], soname_version_delimiter, junk[2]
- } else if (verfields > 2) {
- print fields[8], soname_version_delimiter, junk[verfields]
- } else {
- print "Cannot find version:", fields[numfields] | "cat 2>&1"
- }
- }
- }
-
- /^\[INDEX\].Timestamp.*Checksum.*Flags.*Name.*Version$/ {
- # we better start paying attention now.
- found_column_headers = 1
- #
- # uncomment the next line for debugging information
- #print "found the column headers: ", $0
- }
-
- ' # end of awk
-done | sort -u
-# comment out the previous line and uncomment the next when debugging
-#done
-#! /usr/bin/ksh
-
-# Original Author: Tim Mooney (mooney@plains.nodak.edu)
-# $Id: irix6.req,v 1.2 1998/06/14 16:03:14 ewt Exp $
+# $Id: irix6.req,v 1.3 1999/01/22 00:25:27 jbj Exp $
#
# This file is distributed under the terms of the GNU Public License
#