1DH_MAKESHLIBS(1)                   Debhelper                  DH_MAKESHLIBS(1)
2
3
4

NAME

6       dh_makeshlibs - automatically create shlibs file and call
7       dpkg-gensymbols
8

SYNOPSIS

10       dh_makeshlibs [debhelper options] [-mmajor] [-V[dependencies]] [-n]
11       [-Xitem] [-- params]
12

DESCRIPTION

14       dh_makeshlibs is a debhelper program that automatically scans for
15       shared libraries, and generates a shlibs file for the libraries it
16       finds.
17
18       It will also ensure that ldconfig is invoked during install and removal
19       when it finds shared libraries.  Since debhelper 9.20151004, this is
20       done via a dpkg trigger.  In older versions of debhelper, dh_makeshlibs
21       would generate a maintainer script for this purpose.
22

FILES

24       debian/package.shlibs
25           Installs this file, if present, into the package as DEBIAN/shlibs.
26           If omitted, debhelper will generate a shlibs file automatically if
27           it detects any libraries.
28
29           Note in compat levels 9 and earlier, this file was installed by
30           dh_installdeb(1) rather than dh_makeshlibs.
31
32       debian/package.symbols
33       debian/package.symbols.arch
34           These symbols files, if present, are passed to dpkg-gensymbols(1)
35           to be processed and installed. Use the arch specific names if you
36           need to provide different symbols files for different
37           architectures.
38

OPTIONS

40       -mmajor, --major=major
41           Instead of trying to guess the major number of the library with
42           objdump, use the major number specified after the -m parameter.
43           This is much less useful than it used to be, back in the bad old
44           days when this program looked at library filenames rather than
45           using objdump.
46
47       -V, -Vdependencies
48       --version-info, --version-info=dependencies
49           If a shlibs file is generated by this program, this option controls
50           what version will be used in the dependency relation.
51
52           In compat 12 and later, dh_makeshlibs defaults to
53           -VUpstream-Version.  In compat 11 and earlier the default behaved
54           like -VNone..
55
56           The dh_makeshlibs tool can generate dependencies in three variants:
57
58           -VUpstream-Version
59               The dependency will be "packagename (>= packageversion)".  Note
60               that Upstream-Version is case-sensitive and must be written
61               exactly as shown here.
62
63               This is a conservative setting that always ensures that other
64               packages' shared library dependencies are at least as tight as
65               they need to be (unless the library is prone to changing ABI
66               without updating the upstream version number).
67
68               The flip side is that packages might end up with dependencies
69               that are too tight in some cases (note a symbols file can
70               mitigate this issue).  This is often of minor temporary
71               inconvenience and usually a lot better than the fall out caused
72               by forgetting to bump the dependency information.
73
74               This explicit form was added in debhelper/11.3.  In previous
75               versions, a -V without any dependency information was used
76               instead (and that form still works)
77
78           -VNone
79               The dependency will be "packagename".  Note that None is case-
80               sensitive and must be written exactly as shown here.
81
82               This form is generally unsafe with the only exception being if
83               upstream does not extend the ABI in any way.  However, most
84               upstreams improve their interfaces over time and packagers are
85               recommended to use -VUpstream-Version (or one of the other
86               forms of -Vdependencies).
87
88               Alternatively, this may be sufficient if (and only if) the
89               package uses symbol versioning (see dpkg-gensymbols(1)) and
90               does not build any udeb packages.  Note that symbols are not
91               supported for udeb packages, which solely relies on shlibs for
92               dependency handling.
93
94           -Vpackage-relation
95               In this case, the value passed to -V will be used as a
96               dependency relation.  The package-relation should generally be
97               of the form "some-package-name (>= some-package-version)".
98               Remember to include the package name.
99
100               Note that debhelper will use the value as it is with no sanity
101               checking or modification.  In rare special cases, this is
102               needed to generate a dependency on a different package than the
103               one containing the library.
104
105           When choosing a value for this option, please keep mind that if the
106           package provides a symbols file, then that it generally preferred
107           over the shlibs file for regular .deb packages.  See
108           dpkg-shlibdeps(1) for more information on this topic.
109
110       -n, --no-scripts
111           Do not add the "ldconfig" trigger even if it seems like the package
112           might need it.  The option is called --no-scripts for historical
113           reasons as dh_makeshlibs would previously generate maintainer
114           scripts that called ldconfig.
115
116       -Xitem, --exclude=item
117           Exclude files that contain item anywhere in their filename or
118           directory from being treated as shared libraries.
119
120       --add-udeb=udeb
121           Create an additional line for udebs in the shlibs file and use udeb
122           as the package name for udebs to depend on instead of the regular
123           library package.
124
125       -- params
126           Pass params to dpkg-gensymbols(1).
127

EXAMPLES

129       dh_makeshlibs -VNone
130           Assuming this is a package named libfoobar1, generates a shlibs
131           file that looks something like:
132            libfoobar 1 libfoobar1
133
134       dh_makeshlibs -VUpstream-Version
135           Assuming the current version of the package is 1.1-3, generates a
136           shlibs file that looks something like:
137            libfoobar 1 libfoobar1 (>= 1.1)
138
139       dh_makeshlibs -V 'libfoobar1 (>= 1.0)'
140           Generates a shlibs file that looks something like:
141             libfoobar 1 libfoobar1 (>= 1.0)
142

SEE ALSO

144       debhelper(7)
145
146       This program is a part of debhelper.
147

AUTHOR

149       Joey Hess <joeyh@debian.org>
150
151
152
15311.4                              2018-07-22                  DH_MAKESHLIBS(1)
Impressum