summaryrefslogtreecommitdiff
path: root/share/cmake-3.17/Help/cpack_gen/deb.rst
diff options
context:
space:
mode:
Diffstat (limited to 'share/cmake-3.17/Help/cpack_gen/deb.rst')
-rw-r--r--share/cmake-3.17/Help/cpack_gen/deb.rst565
1 files changed, 0 insertions, 565 deletions
diff --git a/share/cmake-3.17/Help/cpack_gen/deb.rst b/share/cmake-3.17/Help/cpack_gen/deb.rst
deleted file mode 100644
index db71c87..0000000
--- a/share/cmake-3.17/Help/cpack_gen/deb.rst
+++ /dev/null
@@ -1,565 +0,0 @@
-CPack DEB Generator
--------------------
-
-The built in (binary) CPack DEB generator (Unix only)
-
-Variables specific to CPack Debian (DEB) generator
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The CPack DEB generator may be used to create DEB package using :module:`CPack`.
-The CPack DEB generator is a :module:`CPack` generator thus it uses the
-``CPACK_XXX`` variables used by :module:`CPack`.
-
-The CPack DEB generator should work on any Linux host but it will produce
-better deb package when Debian specific tools ``dpkg-xxx`` are usable on
-the build system.
-
-The CPack DEB generator has specific features which are controlled by the
-specifics ``CPACK_DEBIAN_XXX`` variables.
-
-``CPACK_DEBIAN_<COMPONENT>_XXXX`` variables may be used in order to have
-**component** specific values. Note however that ``<COMPONENT>`` refers to
-the **grouping name** written in upper case. It may be either a component name
-or a component GROUP name.
-
-Here are some CPack DEB generator wiki resources that are here for historic
-reasons and are no longer maintained but may still prove useful:
-
- - https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/Configuration
- - https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/PackageGenerators#deb-unix-only
-
-List of CPack DEB generator specific variables:
-
-.. variable:: CPACK_DEB_COMPONENT_INSTALL
-
- Enable component packaging for CPackDEB
-
- * Mandatory : NO
- * Default : OFF
-
- If enabled (ON) multiple packages are generated. By default a single package
- containing files of all components is generated.
-
-.. variable:: CPACK_DEBIAN_PACKAGE_NAME
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_NAME
-
- Set Package control field (variable is automatically transformed to lower
- case).
-
- * Mandatory : YES
- * Default :
-
- - :variable:`CPACK_PACKAGE_NAME` for non-component based
- installations
- - :variable:`CPACK_DEBIAN_PACKAGE_NAME` suffixed with -<COMPONENT>
- for component-based installations.
-
- See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
-
-.. variable:: CPACK_DEBIAN_FILE_NAME
- CPACK_DEBIAN_<COMPONENT>_FILE_NAME
-
- Package file name.
-
- * Mandatory : YES
- * Default : ``<CPACK_PACKAGE_FILE_NAME>[-<component>].deb``
-
- This may be set to ``DEB-DEFAULT`` to allow the CPack DEB generator to generate
- package file name by itself in deb format::
-
- <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
-
- Alternatively provided package file name must end
- with either ``.deb`` or ``.ipk`` suffix.
-
- .. note::
-
- Preferred setting of this variable is ``DEB-DEFAULT`` but for backward
- compatibility with the CPack DEB generator in CMake prior to version 3.6 this
- feature is disabled by default.
-
- .. note::
-
- By using non default filenames duplicate names may occur. Duplicate files
- get overwritten and it is up to the packager to set the variables in a
- manner that will prevent such errors.
-
-.. variable:: CPACK_DEBIAN_PACKAGE_EPOCH
-
- The Debian package epoch
-
- * Mandatory : No
- * Default : -
-
- Optional number that should be incremented when changing versioning schemas
- or fixing mistakes in the version numbers of older packages.
-
-.. variable:: CPACK_DEBIAN_PACKAGE_VERSION
-
- The Debian package version
-
- * Mandatory : YES
- * Default : :variable:`CPACK_PACKAGE_VERSION`
-
- This variable may contain only alphanumerics (A-Za-z0-9) and the characters
- . + - ~ (full stop, plus, hyphen, tilde) and should start with a digit. If
- :variable:`CPACK_DEBIAN_PACKAGE_RELEASE` is not set then hyphens are not
- allowed.
-
- .. note::
-
- For backward compatibility with CMake 3.9 and lower a failed test of this
- variable's content is not a hard error when both
- :variable:`CPACK_DEBIAN_PACKAGE_RELEASE` and
- :variable:`CPACK_DEBIAN_PACKAGE_EPOCH` variables are not set. An author
- warning is reported instead.
-
-.. variable:: CPACK_DEBIAN_PACKAGE_RELEASE
-
- The Debian package release - Debian revision number.
-
- * Mandatory : No
- * Default : -
-
- This is the numbering of the DEB package itself, i.e. the version of the
- packaging and not the version of the content (see
- :variable:`CPACK_DEBIAN_PACKAGE_VERSION`). One may change the default value
- if the previous packaging was buggy and/or you want to put here a fancy Linux
- distro specific numbering.
-
-.. variable:: CPACK_DEBIAN_PACKAGE_ARCHITECTURE
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE
-
- The Debian package architecture
-
- * Mandatory : YES
- * Default : Output of ``dpkg --print-architecture`` (or ``i386``
- if ``dpkg`` is not found)
-
-.. variable:: CPACK_DEBIAN_PACKAGE_DEPENDS
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS
-
- Sets the Debian dependencies of this package.
-
- * Mandatory : NO
- * Default :
-
- - An empty string for non-component based installations
- - :variable:`CPACK_DEBIAN_PACKAGE_DEPENDS` for component-based
- installations.
-
- .. note::
-
- If :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` or
- more specifically :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS`
- is set for this component, the discovered dependencies will be appended
- to :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS` instead of
- :variable:`CPACK_DEBIAN_PACKAGE_DEPENDS`. If
- :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS` is an empty string,
- only the automatically discovered dependencies will be set for this
- component.
-
- Example::
-
- set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libc6 (< 2.4)")
-
-.. variable:: CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS
-
- Sets inter component dependencies if listed with
- :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables.
-
- * Mandatory : NO
- * Default : -
-
-.. variable:: CPACK_DEBIAN_PACKAGE_MAINTAINER
-
- The Debian package maintainer
-
- * Mandatory : YES
- * Default : ``CPACK_PACKAGE_CONTACT``
-
-.. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION
- CPACK_DEBIAN_<COMPONENT>_DESCRIPTION
-
- The Debian package description
-
- * Mandatory : YES
- * Default :
-
- - :variable:`CPACK_DEBIAN_<COMPONENT>_DESCRIPTION` (component
- based installers only) if set, or :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` if set, or
- - :variable:`CPACK_COMPONENT_<compName>_DESCRIPTION` (component
- based installers only) if set, or :variable:`CPACK_PACKAGE_DESCRIPTION` if set, or
- - content of the file specified in :variable:`CPACK_PACKAGE_DESCRIPTION_FILE` if set
-
- If after that description is not set, :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` going to be
- used if set. Otherwise, :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` will be added as the first
- line of description as defined in `Debian Policy Manual`_.
-
-.. _Debian Policy Manual: https://www.debian.org/doc/debian-policy/ch-controlfields.html#description
-
-.. variable:: CPACK_DEBIAN_PACKAGE_SECTION
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION
-
- Set Section control field e.g. admin, devel, doc, ...
-
- * Mandatory : YES
- * Default : "devel"
-
- See https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections
-
-.. variable:: CPACK_DEBIAN_ARCHIVE_TYPE
-
- The archive format used for creating the Debian package.
-
- * Mandatory : YES
- * Default : "gnutar"
-
- Possible value is:
-
- - gnutar
-
- .. note::
-
- This variable previously defaulted to the ``paxr`` value, but ``dpkg``
- has never supported that tar format. For backwards compatibility the
- ``paxr`` value will be mapped to ``gnutar`` and a deprecation message
- will be emitted.
-
-.. variable:: CPACK_DEBIAN_COMPRESSION_TYPE
-
- The compression used for creating the Debian package.
-
- * Mandatory : YES
- * Default : "gzip"
-
- Possible values are:
-
- - lzma
- - xz
- - bzip2
- - gzip
-
-.. variable:: CPACK_DEBIAN_PACKAGE_PRIORITY
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY
-
- Set Priority control field e.g. required, important, standard, optional,
- extra
-
- * Mandatory : YES
- * Default : "optional"
-
- See https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities
-
-.. variable:: CPACK_DEBIAN_PACKAGE_HOMEPAGE
-
- The URL of the web site for this package, preferably (when applicable) the
- site from which the original source can be obtained and any additional
- upstream documentation or information may be found.
-
- * Mandatory : NO
- * Default : :variable:`CMAKE_PROJECT_HOMEPAGE_URL`
-
- .. note::
-
- The content of this field is a simple URL without any surrounding
- characters such as <>.
-
-.. variable:: CPACK_DEBIAN_PACKAGE_SHLIBDEPS
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS
-
- May be set to ON in order to use ``dpkg-shlibdeps`` to generate
- better package dependency list.
-
- * Mandatory : NO
- * Default :
-
- - :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` if set or
- - OFF
-
- .. note::
-
- You may need set :variable:`CMAKE_INSTALL_RPATH` to an appropriate value
- if you use this feature, because if you don't ``dpkg-shlibdeps``
- may fail to find your own shared libs.
- See https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/RPATH-handling
-
-.. variable:: CPACK_DEBIAN_PACKAGE_DEBUG
-
- May be set when invoking cpack in order to trace debug information
- during the CPack DEB generator run.
-
- * Mandatory : NO
- * Default : -
-
-.. variable:: CPACK_DEBIAN_PACKAGE_PREDEPENDS
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS
-
- Sets the `Pre-Depends` field of the Debian package.
- Like :variable:`Depends <CPACK_DEBIAN_PACKAGE_DEPENDS>`, except that it
- also forces ``dpkg`` to complete installation of the packages named
- before even starting the installation of the package which declares the
- pre-dependency.
-
- * Mandatory : NO
- * Default :
-
- - An empty string for non-component based installations
- - :variable:`CPACK_DEBIAN_PACKAGE_PREDEPENDS` for component-based
- installations.
-
- See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
-
-.. variable:: CPACK_DEBIAN_PACKAGE_ENHANCES
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES
-
- Sets the `Enhances` field of the Debian package.
- Similar to :variable:`Suggests <CPACK_DEBIAN_PACKAGE_SUGGESTS>` but works
- in the opposite direction: declares that a package can enhance the
- functionality of another package.
-
- * Mandatory : NO
- * Default :
-
- - An empty string for non-component based installations
- - :variable:`CPACK_DEBIAN_PACKAGE_ENHANCES` for component-based
- installations.
-
- See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
-
-.. variable:: CPACK_DEBIAN_PACKAGE_BREAKS
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS
-
- Sets the `Breaks` field of the Debian package.
- When a binary package (P) declares that it breaks other packages (B),
- ``dpkg`` will not allow the package (P) which declares `Breaks` be
- **unpacked** unless the packages that will be broken (B) are deconfigured
- first.
- As long as the package (P) is configured, the previously deconfigured
- packages (B) cannot be reconfigured again.
-
- * Mandatory : NO
- * Default :
-
- - An empty string for non-component based installations
- - :variable:`CPACK_DEBIAN_PACKAGE_BREAKS` for component-based
- installations.
-
- See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-breaks
-
-.. variable:: CPACK_DEBIAN_PACKAGE_CONFLICTS
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS
-
- Sets the `Conflicts` field of the Debian package.
- When one binary package declares a conflict with another using a `Conflicts`
- field, ``dpkg`` will not allow them to be unpacked on the system at
- the same time.
-
- * Mandatory : NO
- * Default :
-
- - An empty string for non-component based installations
- - :variable:`CPACK_DEBIAN_PACKAGE_CONFLICTS` for component-based
- installations.
-
- See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts
-
- .. note::
-
- This is a stronger restriction than
- :variable:`Breaks <CPACK_DEBIAN_PACKAGE_BREAKS>`, which prevents the
- broken package from being configured while the breaking package is in
- the "Unpacked" state but allows both packages to be unpacked at the same
- time.
-
-.. variable:: CPACK_DEBIAN_PACKAGE_PROVIDES
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES
-
- Sets the `Provides` field of the Debian package.
- A virtual package is one which appears in the `Provides` control field of
- another package.
-
- * Mandatory : NO
- * Default :
-
- - An empty string for non-component based installations
- - :variable:`CPACK_DEBIAN_PACKAGE_PROVIDES` for component-based
- installations.
-
- See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-virtual
-
-.. variable:: CPACK_DEBIAN_PACKAGE_REPLACES
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES
-
- Sets the `Replaces` field of the Debian package.
- Packages can declare in their control file that they should overwrite
- files in certain other packages, or completely replace other packages.
-
- * Mandatory : NO
- * Default :
-
- - An empty string for non-component based installations
- - :variable:`CPACK_DEBIAN_PACKAGE_REPLACES` for component-based
- installations.
-
- See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
-
-.. variable:: CPACK_DEBIAN_PACKAGE_RECOMMENDS
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS
-
- Sets the `Recommends` field of the Debian package.
- Allows packages to declare a strong, but not absolute, dependency on other
- packages.
-
- * Mandatory : NO
- * Default :
-
- - An empty string for non-component based installations
- - :variable:`CPACK_DEBIAN_PACKAGE_RECOMMENDS` for component-based
- installations.
-
- See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
-
-.. variable:: CPACK_DEBIAN_PACKAGE_SUGGESTS
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS
-
- Sets the `Suggests` field of the Debian package.
- Allows packages to declare a suggested package install grouping.
-
- * Mandatory : NO
- * Default :
-
- - An empty string for non-component based installations
- - :variable:`CPACK_DEBIAN_PACKAGE_SUGGESTS` for component-based
- installations.
-
- See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
-
-.. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS
-
- * Mandatory : NO
- * Default : OFF
-
- Allows to generate shlibs control file automatically. Compatibility is defined by
- :variable:`CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY` variable value.
-
- .. note::
-
- Libraries are only considered if they have both library name and version
- set. This can be done by setting SOVERSION property with
- :command:`set_target_properties` command.
-
-.. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY
-
- Compatibility policy for auto-generated shlibs control file.
-
- * Mandatory : NO
- * Default : "="
-
- Defines compatibility policy for auto-generated shlibs control file.
- Possible values: "=", ">="
-
- See https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-shlibdeps
-
-.. variable:: CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_EXTRA
-
- This variable allow advanced user to add custom script to the
- control.tar.gz.
- Typical usage is for conffiles, postinst, postrm, prerm.
-
- * Mandatory : NO
- * Default : -
-
- Usage::
-
- set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
- "${CMAKE_CURRENT_SOURCE_DIR}/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
-
- .. note::
-
- The original permissions of the files will be used in the final
- package unless the variable
- :variable:`CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION` is set.
- In particular, the scripts should have the proper executable
- flag prior to the generation of the package.
-
-.. variable:: CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_STRICT_PERMISSION
-
- This variable indicates if the Debian policy on control files should be
- strictly followed.
-
- * Mandatory : NO
- * Default : FALSE
-
- Usage::
-
- set(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION TRUE)
-
- .. note::
-
- This overrides the permissions on the original files, following the rules
- set by Debian policy
- https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners
-
-.. variable:: CPACK_DEBIAN_PACKAGE_SOURCE
- CPACK_DEBIAN_<COMPONENT>_PACKAGE_SOURCE
-
- Sets the ``Source`` field of the binary Debian package.
- When the binary package name is not the same as the source package name
- (in particular when several components/binaries are generated from one
- source) the source from which the binary has been generated should be
- indicated with the field ``Source``.
-
- * Mandatory : NO
- * Default :
-
- - An empty string for non-component based installations
- - :variable:`CPACK_DEBIAN_PACKAGE_SOURCE` for component-based
- installations.
-
- See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
-
- .. note::
-
- This value is not interpreted. It is possible to pass an optional
- revision number of the referenced source package as well.
-
-Packaging of debug information
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Dbgsym packages contain debug symbols for debugging packaged binaries.
-
-Dbgsym packaging has its own set of variables:
-
-.. variable:: CPACK_DEBIAN_DEBUGINFO_PACKAGE
- CPACK_DEBIAN_<component>_DEBUGINFO_PACKAGE
-
- Enable generation of dbgsym .ddeb package(s).
-
- * Mandatory : NO
- * Default : OFF
-
-.. note::
-
- Binaries must contain debug symbols before packaging so use either ``Debug``
- or ``RelWithDebInfo`` for :variable:`CMAKE_BUILD_TYPE` variable value.
-
-Building Debian packages on Windows
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To communicate UNIX file permissions from the install stage
-to the CPack DEB generator the "cmake_mode_t" NTFS
-alternate data stream (ADT) is used.
-
-When a filesystem without ADT support is used only owner read/write
-permissions can be preserved.
-
-Reproducible packages
-^^^^^^^^^^^^^^^^^^^^^
-
-The environment variable ``SOURCE_DATE_EPOCH`` may be set to a UNIX
-timestamp, defined as the number of seconds, excluding leap seconds,
-since 01 Jan 1970 00:00:00 UTC. If set, the CPack DEB generator will
-use its value for timestamps in the package.