diff options
author | joey <joey> | 2001-03-05 00:36:29 +0000 |
---|---|---|
committer | joey <joey> | 2001-03-05 00:36:29 +0000 |
commit | 515a01d46a768ee63a4665c643cdd6889ffaebfc (patch) | |
tree | 118e16220c50d9986029fb4a7a348e540ef0eed9 /dh_makeshlibs | |
parent | 811a51e68bf36e8116d5cb0f60fde617640cdcd3 (diff) | |
download | debhelper-515a01d46a768ee63a4665c643cdd6889ffaebfc.tar.gz |
r450: * Modified to use dpkg-architecture instead of dpkg --print-architecture.
I hate this, and wish it wasn't necessary to make cross compiles for
the hurd work. Closes: #88494
* Now depends on debconf-utils for debconf-mergetemplates. Closes: #87321
* Continues to depend on lynx for html changelog conversions. Yes, these
and packages with translated debconf templates are rather rare, but
it makes more sense for debhelper to consistently depend on all utilities
it uses internally rather than force people to keep their dependancies
up to date with debhelper internals. If I decide tomorrow that w3m is
the better program to use to format html changelogs, I can make the
change and packages don't need to update their build dependancies.
Closes: #88464, #77743
* Test for init scripts before running them, since they are conffiles and
the admin may have removed them for some reason, and policy wants
us to deal with that gracefully.
* dh_makeshlibs: now uses objdump, should be more accurate. Closes:
#88426
* Wildcards have been supported for a while, Closes: #54197
* dh_installdocs and dh_link have been able to make doc-dir symlinks for
a while, Closes: #51225
Diffstat (limited to 'dh_makeshlibs')
-rwxr-xr-x | dh_makeshlibs | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/dh_makeshlibs b/dh_makeshlibs index 1888ee2d..fe31f5ff 100755 --- a/dh_makeshlibs +++ b/dh_makeshlibs @@ -27,8 +27,10 @@ DH_COMPAT=3 mode and above only). =item B<-m>I<major>, B<--major=>I<major> -Instead of trying to guess the major number of the library from the -filename of the library, use the major number specified after the -m parameter. +Instead of trying to guess the major number of the library with objdump, +use the major number specified after the -m parameter. This is much less +useful than it used to be, back in the bad old days when this program +looked at library filenames rather than using objdump. =item B<-V>, B<-V>I<dependancies> @@ -68,14 +70,6 @@ file that looks something like: Generates a shlibs file that looks something like: libfoobar 1 libfoobar1 (>= 1.0) -=head1 NOTES - -There is no guarantee that the program will get the shlibs file right. For -example, it may not correctly guess the major number of your package. In -cases like these (and perhaps in general, just to be safe), it is better to -create a debian/shlibs file by hand, or force it to use the correct major -number by specifying the -m parameter. - =cut init(); @@ -90,19 +84,13 @@ foreach my $package (@{$dh{DOPACKAGES}}) { open (FIND, "find $tmp -xtype f -name '*.so*' |"); while (<FIND>) { - my $library; - my $major; - - chomp; - # The second evil regexp is for db3, whose author should - # be shot. - if (m#.*/([^/]*)\.so\.(\d*)\.?# || m#.*/([^/]*)-([^\s/]+)\.so$#) { - $library = $1; - $major = $2; - } + my ($library, $major) = + `objdump -p $_` =~ m/\s+SONAME\s+(.+)\.so\.(.+)/; + if (defined($dh{M_PARAMS}) && $dh{M_PARAMS} ne '') { $major=$dh{M_PARAMS}; } + if (! -d "$tmp/DEBIAN") { doit("install","-d","$tmp/DEBIAN"); } |