diff options
Diffstat (limited to 'autodeps/osf.req')
-rw-r--r-- | autodeps/osf.req | 50 |
1 files changed, 19 insertions, 31 deletions
diff --git a/autodeps/osf.req b/autodeps/osf.req index 73abf5c75..c25a4eaad 100644 --- a/autodeps/osf.req +++ b/autodeps/osf.req @@ -1,7 +1,7 @@ #! /usr/bin/ksh -# Original Author: Tim Mooney (mooney@plains.nodak.edu) -# $Id: osf.req,v 1.7 1999/09/30 00:22:15 jbj Exp $ +# Original Author: Tim Mooney <mooney@golem.phys.ndsu.NoDak.edu> +# $Id: osf.req,v 1.8 2000/12/02 16:52:14 jbj Exp $ # # This file is distributed under the terms of the GNU Public License # @@ -9,9 +9,11 @@ # reads a list of full pathnames (in a package) on stdin, and outputs all # shared libraries the package requires to execute. # -# On Digital Unix (OSF1), use `odump -Dl' to find the library dependencies -# for an executable. `odump -D' does most of what we need, but it doesn't -# give us library version information, so you must use `odump -Dl' +# On Digital/Tru64 Unix (OSF1), use `odump -Dl' to find the library +# dependencies for an executable. `odump -D' does most of what we need, +# but it doesn't give us library version information, so you must use +# `odump -Dl'. Note that Tru64 5.x and on have `ldd', but this works just +# as well, and works on older versions of the OS. # # Example `odump -Dl' output: # @@ -36,6 +38,14 @@ PATH=/usr/bin:/usr/sbin:/sbin:/usr/ccs/bin export PATH # +# TVM: Marc Stephenson (marc@austin.ibm.com) points out we run things +# like `file', et. al. and expect the output to be what we see in the +# C/POSIX locale. Make sure it is so. +# +LANG=C +export LANG + +# # TVM: switch to using `while read ...' instead of `for f in ...', because # packages with a large number of files could be too big for one shell variable # to hold. @@ -88,8 +98,9 @@ do | awk ' # - # For you non-awk-ers, no single quotes in comments -- the shell - # sees them and things get hosed. + # Since this entire awk script is enclosed in single quotes, + # you need to be careful to not use single quotes, even in awk + # comments, if you modify this script. # BEGIN { @@ -97,17 +108,6 @@ do FS = " "; RS = "\n"; OFS=""; - # - # what character should be used to separate the soname from any - # version info? Using a . is actually a bad idea, since some - # free/3rd party libraries may be built so that the library - # soname may have version info in it too. If we use . as the - # separator, it may not be possible to tell where the soname - # ends and the internal version info begins. It might be - # better to use a - or a : here. If you do so, be sure to - # change this setting in find-provides, too. - # - soname_version_delimiter="."; } # uncomment the next line for debugging information @@ -124,19 +124,7 @@ do if (numfields == 7) { print fields[1] } else if (numfields == 8) { - # - # Note that if a library contains a number as the last - # part of the soname *and* it contains version information, - # we have a problem because it is impossible to tell where - # the soname ends and the version info begins. Digital - # Unix shared libraries should *not* be built with any - # version info in the soname. That info should be in - # the version field only. - # - # If we used a separator character of a - or something else, - # instead of a ., we would not have this problem. - # - print fields[1], soname_version_delimiter, fields[8] + print fields[1], "(", fields[8], ")" } } |