]> git.donarmstrong.com Git - debhelper.git/blob - dh_makeshlibs
r375: * Typo, Closes: #72932
[debhelper.git] / dh_makeshlibs
1 #!/usr/bin/perl -w
2 #
3 # Automatically generate shlibs files.
4
5 use Debian::Debhelper::Dh_Lib;
6 init();
7
8 foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
9         $TMP=tmpdir($PACKAGE);
10
11         doit("rm", "-f", "$TMP/DEBIAN/shlibs");
12
13         open (FIND, "find $TMP -xtype f -name '*.so.*' |");
14         while (<FIND>) {
15                 chomp;
16                 ($library, $major)=m#.*/(.*)\.so\.(\d*)\.?#;
17                 if (defined($dh{M_PARAMS}) && $dh{M_PARAMS} ne '') {
18                         $major=$dh{M_PARAMS};
19                 }
20                 if (! -d "$TMP/DEBIAN") {
21                         doit("install","-d","$TMP/DEBIAN");
22                 }
23                 $deps=$PACKAGE;
24                 if ($dh{V_FLAG_SET}) {
25                         if ($dh{V_FLAG} ne '') {
26                                 $deps=$dh{V_FLAG};
27                         }       
28                         else {
29                                 # Call isnative becuase it sets $dh{VERSION}
30                                 # as a side effect.
31                                 isnative($PACKAGE);
32                                 $deps="$PACKAGE (>= $dh{VERSION})";
33                         }
34                 }
35                 if (defined($library) && defined($major) && defined($deps) && 
36                     $library ne '' && $major ne '' && $deps ne '') {
37                         complex_doit("echo '$library $major $deps' >>$TMP/DEBIAN/shlibs");
38                 }
39         }
40         close FIND;
41
42         if (-e "$TMP/DEBIAN/shlibs") {
43                 doit("chmod",644,"$TMP/DEBIAN/shlibs");
44                 doit("chown","0.0","$TMP/DEBIAN/shlibs");
45         }
46 }