Provided by: debhelper_11.3.2ubuntu1_all bug

NAME

       dh_makeshlibs - automatically create shlibs file and call dpkg-gensymbols

SYNOPSIS

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

DESCRIPTION

       dh_makeshlibs is a debhelper program that automatically scans for shared libraries, and
       generates a shlibs file for the libraries it finds.

       It will also ensure that ldconfig is invoked during install and removal when it finds
       shared libraries.  Since debhelper 9.20151004, this is done via a dpkg trigger.  In older
       versions of debhelper, dh_makeshlibs would generate a maintainer script for this purpose.

FILES

       debian/package.shlibs
           Installs this file, if present, into the package as DEBIAN/shlibs.  If omitted,
           debhelper will generate a shlibs file automatically if it detects any libraries.

           Note in compat levels 9 and earlier, this file was installed by dh_installdeb(1)
           rather than dh_makeshlibs.

       debian/package.symbols
       debian/package.symbols.arch
           These symbols files, if present, are passed to dpkg-gensymbols(1) to be processed and
           installed. Use the arch specific names if you need to provide different symbols files
           for different architectures.

OPTIONS

       -mmajor, --major=major
           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.

       -V, -Vdependencies
       --version-info, --version-info=dependencies
           If a shlibs file is generated by this program, this option controls what version will
           be used in the dependency relation.

           In compat 12 and later, dh_makeshlibs defaults to -VUpstream-Version.  In compat 11
           and earlier the default behaved like -VNone..

           The dh_makeshlibs tool can generate dependencies in three variants:

           -VUpstream-Version
               The dependency will be "packagename (>= packageversion)".  Note that Upstream-
               Version is case-sensitive and must be written exactly as shown here.

               This is a conservative setting that always ensures that other packages' shared
               library dependencies are at least as tight as they need to be (unless the library
               is prone to changing ABI without updating the upstream version number).

               The flip side is that packages might end up with dependencies that are too tight
               in some cases (note a symbols file can mitigate this issue).  This is often of
               minor temporary inconvenience and usually a lot better than the fall out caused by
               forgetting to bump the dependency information.

               This explicit form was added in debhelper/11.3.  In previous versions, a -V
               without any dependency information was used instead (and that form still works)

           -VNone
               The dependency will be "packagename".  Note that None is case-sensitive and must
               be written exactly as shown here.

               This form is generally unsafe with the only exception being if upstream does not
               extend the ABI in any way.  However, most upstreams improve their interfaces over
               time and packagers are recommended to use -VUpstream-Version (or one of the other
               forms of -Vdependencies).

               Alternatively, this may be sufficient if (and only if) the package uses symbol
               versioning (see dpkg-gensymbols(1)) and does not build any udeb packages.  Note
               that symbols are not supported for udeb packages, which solely relies on shlibs
               for dependency handling.

           -Vpackage-relation
               In this case, the value passed to -V will be used as a dependency relation.  The
               package-relation should generally be of the form "some-package-name (>= some-
               package-version)".  Remember to include the package name.

               Note that debhelper will use the value as it is with no sanity checking or
               modification.  In rare special cases, this is needed to generate a dependency on a
               different package than the one containing the library.

           When choosing a value for this option, please keep mind that if the package provides a
           symbols file, then that it generally preferred over the shlibs file for regular .deb
           packages.  See dpkg-shlibdeps(1) for more information on this topic.

       -n, --no-scripts
           Do not add the "ldconfig" trigger even if it seems like the package might need it.
           The option is called --no-scripts for historical reasons as dh_makeshlibs would
           previously generate maintainer scripts that called ldconfig.

       -Xitem, --exclude=item
           Exclude files that contain item anywhere in their filename or directory from being
           treated as shared libraries.

       --add-udeb=udeb
           Create an additional line for udebs in the shlibs file and use udeb as the package
           name for udebs to depend on instead of the regular library package.

       -- params
           Pass params to dpkg-gensymbols(1).

EXAMPLES

       dh_makeshlibs -VNone
           Assuming this is a package named libfoobar1, generates a shlibs file that looks
           something like:
            libfoobar 1 libfoobar1

       dh_makeshlibs -VUpstream-Version
           Assuming the current version of the package is 1.1-3, generates a shlibs file that
           looks something like:
            libfoobar 1 libfoobar1 (>= 1.1)

       dh_makeshlibs -V 'libfoobar1 (>= 1.0)'
           Generates a shlibs file that looks something like:
             libfoobar 1 libfoobar1 (>= 1.0)

SEE ALSO

       debhelper(7)

       This program is a part of debhelper.

AUTHOR

       Joey Hess <joeyh@debian.org>