summaryrefslogtreecommitdiff
path: root/autodeps/irix6.prov
diff options
context:
space:
mode:
authorjbj <devnull@localhost>1999-01-22 00:25:25 +0000
committerjbj <devnull@localhost>1999-01-22 00:25:25 +0000
commitba66f057961eadf16e3034a884e521dd0b6ed684 (patch)
tree98da122e9a0741b32e86049e42b8dc0578b010b6 /autodeps/irix6.prov
parent324f6639d7758005bcda8f081911186f0a5f517b (diff)
downloadlibrpm-tizen-ba66f057961eadf16e3034a884e521dd0b6ed684.tar.gz
librpm-tizen-ba66f057961eadf16e3034a884e521dd0b6ed684.tar.bz2
librpm-tizen-ba66f057961eadf16e3034a884e521dd0b6ed684.zip
irix6 autodeps were dup'd (Shing-Gene Yung <shing@cz3.nus.edu.sg>).
CVS patchset: 2733 CVS date: 1999/01/22 00:25:25
Diffstat (limited to 'autodeps/irix6.prov')
-rw-r--r--autodeps/irix6.prov184
1 files changed, 1 insertions, 183 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
#