Spec-Zone.ru › CMake 3.5

CPackDeb

Встроенный (бинарный) генератор пакетов CPack Deb (только для Unix)

Переменные, специфичные для генератора пакетов CPack Debian (DEB)

CPackDeb можно использовать для создания пакетов Deb с помощью CPack. CPackDeb является генератором CPack, поэтому он использует переменные CPACK_XXX, используемые CPack : https://cmake.org/Wiki/CMake:CPackConfiguration. Генератор CPackDeb должен работать на любом хосте Linux, но он создаст лучший пакет deb, когда на системе сборки доступны инструменты Debian, такие как ‘dpkg-xxx’.

CPackDeb имеет специфические функции, которые управляются специфическими CPACK_DEBIAN_XXX переменными.

CPACK_DEBIAN_<COMPONENT>_XXXX переменные могут быть использованы для получения компонент-специфичных значений. Однако обратите внимание, что <COMPONENT> ссылается на имя группы, написанное заглавными буквами. Это может быть имя компонента или имя ГРУППЫ компонента.

Подробное использование можно найти на вики-странице: https://cmake.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29 . Однако в качестве полезного напоминания приведён список специфических переменных:

CPACK_DEBIAN_PACKAGE_NAME
CPACK_DEBIAN_<COMPONENT>_PACKAGE_NAME

Устанавливает поле управления пакетом (переменная автоматически преобразуется в нижний регистр).

  • Обязательно : ДА
  • По умолчанию :
    • CPACK_PACKAGE_NAME для установок, не основанных на компонентах
    • CPACK_DEBIAN_PACKAGE_NAME с добавленным суффиксом -<КОМПОНЕНТ> для установок, основанных на компонентах.

См. https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source

CPACK_DEBIAN_PACKAGE_VERSION

Версия пакета Debian

  • Обязательно : ДА
  • По умолчанию : CPACK_PACKAGE_VERSION
CPACK_DEBIAN_PACKAGE_ARCHITECTURE

Архитектура пакета Debian

  • Обязательно : ДА
  • По умолчанию : Результат dpkg --print-architecture (или i386, если dpkg не найден)
CPACK_DEBIAN_PACKAGE_DEPENDS
CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS

Устанавливает зависимости пакета Debian.

  • Обязательно : НЕТ
  • По умолчанию :
    • Пустая строка для установок, не основанных на компонентах
    • CPACK_DEBIAN_PACKAGE_DEPENDS для установок, основанных на компонентах.

Примечание

Если CPACK_DEBIAN_PACKAGE_SHLIBDEPS или, точнее, CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS установлено для этого компонента, обнаруженные зависимости будут добавлены к CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS вместо CPACK_DEBIAN_PACKAGE_DEPENDS. Если CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS пустая строка, то для этого компонента будут установлены только автоматически обнаруженные зависимости.

Пример:

set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libc6 (< 2.4)")
CPACK_DEBIAN_PACKAGE_MAINTAINER

Поддерживающий пакет Debian

  • Обязательно : ДА
  • По умолчанию : CPACK_PACKAGE_CONTACT
CPACK_DEBIAN_PACKAGE_DESCRIPTION
CPACK_COMPONENT_<COMPONENT>_DESCRIPTION

Описание пакета Debian

  • Обязательно : ДА
  • По умолчанию :
    • CPACK_DEBIAN_PACKAGE_DESCRIPTION если задано или
    • CPACK_PACKAGE_DESCRIPTION_SUMMARY
CPACK_DEBIAN_PACKAGE_SECTION
CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION

Устанавливает поле секции, например, admin, devel, doc, …

  • Обязательно : ДА
  • По умолчанию : ‘devel’

См. https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections

CPACK_DEBIAN_COMPRESSION_TYPE

Сжатие, используемое для создания пакета Debian. Возможные значения: lzma, xz, bzip2 и gzip.

  • Обязательно : ДА
  • По умолчанию : ‘gzip’
CPACK_DEBIAN_PACKAGE_PRIORITY
CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY

Устанавливает поле приоритета, например, required, important, standard, optional, extra

  • Обязательно : ДА
  • По умолчанию : ‘optional’

См. https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities

CPACK_DEBIAN_PACKAGE_HOMEPAGE

URL веб-сайта этого пакета, предпочтительно (применимо) сайт, с которого можно получить исходный код и найти дополнительную документацию или информацию.

  • Обязательно : НЕТ
  • По умолчанию : -

Примечание

Содержимое этого поля — это простой URL без окружающих символов, таких как <>.

CPACK_DEBIAN_PACKAGE_SHLIBDEPS
CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS

Может быть установлено в ВКЛЮЧЕНО для использования dpkg-shlibdeps для генерации лучшего списка зависимостей пакета.

  • Обязательно : НЕТ
  • По умолчанию :
    • CPACK_DEBIAN_PACKAGE_SHLIBDEPS если задано или
    • ВЫКЛЮЧЕНО

Примечание

Возможно, вам потребуется установить CMAKE_INSTALL_RPATH на соответствующее значение, если вы используете эту функцию, так как если этого не сделать, dpkg-shlibdeps может не найти ваши собственные библиотеки shared libs. См. https://cmake.org/Wiki/CMake_RPATH_handling.

CPACK_DEBIAN_PACKAGE_DEBUG

Может быть установлено при вызове cpack для отслеживания отладочной информации во время выполнения CPackDeb.

  • Обязательно : НЕТ
  • По умолчанию : -
CPACK_DEBIAN_PACKAGE_PREDEPENDS
CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS

Устанавливает поле Pre-Depends пакета Debian. Как и Depends, за исключением того, что он также заставляет dpkg завершить установку пакетов, указанных ранее, даже до начала установки пакета, который объявляет предварительную зависимость.

  • Обязательно : НЕТ
  • По умолчанию :
    • Пустая строка для установок, не основанных на компонентах
    • CPACK_DEBIAN_PACKAGE_PREDEPENDS для установок, основанных на компонентах.

См. http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps

END_OF_DOCUMENT_MARKER
CPACK_DEBIAN_PACKAGE_ENHANCES
CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES

Устанавливает поле Enhances Debian-пакета. Аналогично Suggests, но работает в обратном направлении: объявляет, что пакет может улучшить функциональность другого пакета.

  • Обязательно : НЕТ
  • По умолчанию :
    • Пустая строка для установок, не основанных на компонентах
    • CPACK_DEBIAN_PACKAGE_ENHANCES для установок, основанных на компонентах.

См. http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps

CPACK_DEBIAN_PACKAGE_BREAKS
CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS

Устанавливает поле Breaks Debian-пакета. Когда двоичный пакет (P) объявляет, что он нарушает другие пакеты (B), dpkg не позволит пакету (P), который объявляет Breaks, быть распакованным, пока пакеты, которые будут нарушены (B), не будут деконфигурированы. Пока пакет (P) настроен, ранее деконфигурированные пакеты (B) не могут быть переконфигурированы.

  • Обязательно : НЕТ
  • По умолчанию :
    • Пустая строка для установок, не основанных на компонентах
    • CPACK_DEBIAN_PACKAGE_BREAKS для установок, основанных на компонентах.

См. https://www.debian.org/doc/debian-policy/ch-relationships.html#s-breaks

CPACK_DEBIAN_PACKAGE_CONFLICTS
CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS

Устанавливает поле Conflicts Debian-пакета. Когда один двоичный пакет объявляет конфликт с другим, используя поле Conflicts, dpkg не позволит им быть распакованными на системе одновременно.

  • Обязательно : НЕТ
  • По умолчанию :
    • Пустая строка для установок, не основанных на компонентах
    • CPACK_DEBIAN_PACKAGE_CONFLICTS для установок, основанных на компонентах.

См. https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts

Примечание

Это более строгое ограничение, чем Breaks, которое предотвращает конфигурацию разбитого пакета, пока пакет, вызывающий разрыв, находится в состоянии «Распакован», но позволяет распаковать оба пакета одновременно.

CPACK_DEBIAN_PACKAGE_PROVIDES
CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES

Устанавливает поле Provides Debian-пакета. Виртуальный пакет — это пакет, который появляется в поле Provides управления другого пакета.

  • Обязательно : НЕТ
  • По умолчанию :
    • Пустая строка для установок, не основанных на компонентах
    • CPACK_DEBIAN_PACKAGE_PROVIDES для установок, основанных на компонентах.

См. https://www.debian.org/doc/debian-policy/ch-relationships.html#s-virtual

CPACK_DEBIAN_PACKAGE_REPLACES
CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES

Устанавливает поле Replaces Debian-пакета. Пакеты могут объявлять в своём файле управления, что они должны перезаписывать файлы в определённых других пакетах или полностью заменять другие пакеты.

  • Обязательно : НЕТ
  • По умолчанию :
    • Пустая строка для установок, не основанных на компонентах
    • CPACK_DEBIAN_PACKAGE_REPLACES для установок, основанных на компонентах.

См. http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps

CPACK_DEBIAN_PACKAGE_RECOMMENDS
CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS

Устанавливает поле Recommends Debian-пакета. Позволяет пакетам объявлять сильную, но не абсолютную зависимость от других пакетов.

  • Обязательно : НЕТ
  • По умолчанию :
    • Пустая строка для установок, не основанных на компонентах
    • CPACK_DEBIAN_PACKAGE_RECOMMENDS для установок, основанных на компонентах.

См. http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps

CPACK_DEBIAN_PACKAGE_SUGGESTS
CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS

Устанавливает поле Suggests Debian-пакета. Позволяет пакетам объявлять группу предложенных пакетов для установки.

  • Обязательно : НЕТ
  • По умолчанию :
    • Пустая строка для установок, не основанных на компонентах
    • CPACK_DEBIAN_PACKAGE_SUGGESTS для установок, основанных на компонентах.

См. http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps

CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_EXTRA

Эта переменная позволяет продвинутым пользователям добавлять пользовательские скрипты в control.tar.gz. Типичное использование — для конфигурационных файлов, postinst, postrm, prerm.

  • Обязательно : НЕТ
  • По умолчанию : -

Использование:

set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
    "${CMAKE_CURRENT_SOURCE_DIR/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")

Примечание

Исходные разрешения файлов будут использоваться в конечном пакете, если переменная CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION не задана. В частности, скрипты должны иметь соответствующий флаг разрешения на выполнение перед генерацией пакета.

CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION
CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_STRICT_PERMISSION

Эта переменная указывает, следует ли строго соблюдать политику Debian в отношении файлов управления.

  • Обязательно : НЕТ
  • По умолчанию : ЛОЖЬ

Использование:

set(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION TRUE)

Примечание

Это переопределяет разрешения исходных файлов, следуя правилам, установленным политикой Debian https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners

CPACK_DEBIAN_PACKAGE_SOURCE
CPACK_DEBIAN_<COMPONENT>_PACKAGE_SOURCE

Устанавливает поле Source двоичного Debian-пакета. Когда имя двоичного пакета отличается от имени исходного пакета (особенно когда несколько компонентов/двоичных файлов генерируются из одного исходного), исходный пакет, из которого был сгенерирован двоичный файл, должен быть указан в поле Source.

  • Обязательно : НЕТ
  • По умолчанию :
    • Пустая строка для установок, не основанных на компонентах
    • CPACK_DEBIAN_PACKAGE_SOURCE для установок, основанных на компонентах.

См. https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source

Примечание

Это значение не интерпретируется. Также можно передать необязательный номер ревизии ссылаемого исходного пакета.

© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.5/module/CPackDeb.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API