Spec-Zone.ru › CMake 3.6

CPackRPM

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

Переменные, специфичные для генератора CPack RPM

CPackRPM может использоваться для создания пакетов RPM с помощью CPack. CPackRPM — это CPack генератор, поэтому он использует переменные CPACK_XXX, используемые CPack.

CPackRPM имеет специфические функции, которые контролируются специфическими CPACK_RPM_XXX переменными.

CPACK_RPM_<COMPONENT>_XXXX переменные могут использоваться для получения компонент-специфичных значений. Однако обратите внимание, что <COMPONENT> относится к имени группировки, написанному заглавными буквами. Это может быть либо имя компонента, либо имя группы компонентов. Обычно эти переменные соответствуют сущностям файла спецификации RPM. Информацию о файлах спецификации можно найти здесь http://www.rpm.org/wiki/Docs

Примечание

Часть переменных <COMPONENT> предпочтительно использовать заглавными буквами (например, если компонент называется foo, используйте имя переменной CPACK_RPM_FOO_XXXX). В целях обратной совместимости (CMake/CPack версии 3.5 и ниже) поддерживается использование компонентных переменных с одинаковым регистром (например, fOo будет использоваться как CPACK_RPM_fOo_XXXX). Переменные, определенные в старых версиях CMake/CPack, все еще поддерживаются, но не гарантируется поддержка для переменных, которые будут добавлены в будущем. В целях обратной совместимости переменные компонентных имен с одинаковым регистром также переопределяют переменные с заглавными буквами, если обе присутствуют.

Вот некоторые ресурсы CPackRPM вики, которые здесь из исторических соображений и больше не поддерживаются, но могут оказаться полезными:

  • https://cmake.org/Wiki/CMake:CPackConfiguration
  • https://cmake.org/Wiki/CMake:CPackPackageGenerators#RPM_.28Unix_Only.29

Список переменных, специфичных для CPackRPM:

CPACK_RPM_PACKAGE_COMPONENT

Включить упаковку компонентов для CPackRPM

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

Если включено (ВКЛ.), генерируются несколько пакетов. По умолчанию генерируется один пакет, содержащий файлы всех компонентов.

CPACK_RPM_PACKAGE_SUMMARY
CPACK_RPM_<component>_PACKAGE_SUMMARY

Резюме пакета RPM.

  • Обязательно : ДА
  • По умолчанию : CPACK_PACKAGE_DESCRIPTION_SUMMARY
CPACK_RPM_PACKAGE_NAME
CPACK_RPM_<component>_PACKAGE_NAME

Имя пакета RPM.

  • Обязательно : ДА
  • По умолчанию : CPACK_PACKAGE_NAME
CPACK_RPM_FILE_NAME
CPACK_RPM_<component>_FILE_NAME

Имя файла пакета.

  • Обязательно : ДА
  • Default : <CPACK_PACKAGE_FILE_NAME>[-<component>].rpm with spaces

    заменяется на ‘-‘

Может быть установлено в RPM-DEFAULT, чтобы позволить инструменту rpmbuild самому сгенерировать имя файла пакета. В качестве альтернативы, предоставленное имя файла пакета должно заканчиваться на .rpm суффикс.

Примечание

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

CPACK_RPM_PACKAGE_VERSION

Версия пакета RPM.

  • Обязательно : ДА
  • По умолчанию : CPACK_PACKAGE_VERSION
CPACK_RPM_PACKAGE_ARCHITECTURE
CPACK_RPM_<component>_PACKAGE_ARCHITECTURE

Архитектура пакета RPM.

  • Обязательно : ДА
  • По умолчанию : Родная архитектура, выводимая uname -m

Можно установить значение в noarch, если вы знаете, что создаёте пакет noarch.

CPACK_RPM_PACKAGE_RELEASE

Релиз пакета RPM.

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

Это номер самого пакета RPM, т.е. версия упаковки, а не версия содержимого (см. CPACK_RPM_PACKAGE_VERSION). Можно изменить значение по умолчанию, если предыдущая упаковка имела ошибки и/или вы хотите указать здесь номер, специфичный для дистрибутива Linux.

Примечание

Это строка, которая попадает в поле Release: RPM. Некоторые дистрибутивы (например, Fedora, CentOS) требуют формата 1%{?dist}, а не только числа. %{?dist} часть может быть добавлена установкой CPACK_RPM_PACKAGE_RELEASE_DIST.

CPACK_RPM_PACKAGE_RELEASE_DIST

Тег dist, добавляемый в поле Release: RPM.

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

Это отчётный %{dist} тег из текущего дистрибутива или пустая строка %{dist}, если макрос RPM не установлен. Если эта переменная установлена, то значение поля RPM Release: устанавливается в ${CPACK_RPM_PACKAGE_RELEASE}%{?dist}.

CPACK_RPM_PACKAGE_LICENSE

Лицензионная политика пакета RPM.

  • Обязательно : ДА
  • По умолчанию : “unknown”
CPACK_RPM_PACKAGE_GROUP
CPACK_RPM_<component>_PACKAGE_GROUP

Группа пакета RPM.

  • Обязательно : ДА
  • По умолчанию : “unknown”
CPACK_RPM_PACKAGE_VENDOR

Производитель пакета RPM.

  • Обязательно : ДА
  • По умолчанию : CPACK_PACKAGE_VENDOR, если установлено, или “unknown”
CPACK_RPM_PACKAGE_URL
CPACK_RPM_<component>_PACKAGE_URL

URL проекта.

  • Обязательно : НЕТ
  • По умолчанию : -
CPACK_RPM_PACKAGE_DESCRIPTION
CPACK_RPM_<component>_PACKAGE_DESCRIPTION

Описание пакета RPM.

  • Обязательно : ДА
  • По умолчанию : CPACK_COMPONENT_<compName>_DESCRIPTION (только для установщиков на основе компонентов), если установлено, CPACK_PACKAGE_DESCRIPTION_FILE, если установлено, или “описание пакета недоступно”
CPACK_RPM_COMPRESSION_TYPE

Тип сжатия RPM.

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

Может использоваться для переопределения типа сжатия RPM, используемого при создании RPM. Например, некоторые дистрибутивы Linux теперь по умолчанию используют сжатие lzma или xz, в то время как более старые не могут использовать такие RPM. С помощью этой переменной можно принудительно использовать определённый тип сжатия.

Возможные значения:

  • lzma
  • xz
  • bzip2
  • gzip
CPACK_RPM_PACKAGE_AUTOREQ
CPACK_RPM_<component>_PACKAGE_AUTOREQ

Поле autoreq спецификации RPM.

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

Может использоваться для включения (1, да) или выключения (0, нет) автоматического обнаружения зависимости общих библиотек. Зависимости добавляются в список required.

Примечание

По умолчанию автоматическое обнаружение зависимостей включено генератором rpm.

CPACK_RPM_PACKAGE_AUTOPROV
CPACK_RPM_<component>_PACKAGE_AUTOPROV

Поле autoprov спецификации RPM.

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

Может использоваться для включения (1, да) или выключения (0, нет) автоматического создания списка общих библиотек, предоставляемых пакетом. Общие библиотеки добавляются в список provides.

Примечание

По умолчанию автоматическое обнаружение предоставителей включено генератором rpm.

CPACK_RPM_PACKAGE_AUTOREQPROV
CPACK_RPM_<component>_PACKAGE_AUTOREQPROV

Поле RPM-спецификации autoreqprov.

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

Переменная включает/выключает autoreq и autoprov одновременно. См. CPACK_RPM_PACKAGE_AUTOREQ и CPACK_RPM_PACKAGE_AUTOPROV для получения более подробной информации.

Примечание

По умолчанию функция автоматического обнаружения включена в rpm.

CPACK_RPM_PACKAGE_REQUIRES
CPACK_RPM_<component>_PACKAGE_REQUIRES

Поле RPM-спецификации requires.

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

Может использоваться для задания зависимостей RPM (requires). Обратите внимание, что вам необходимо заключить всю строку requires в кавычки, например:

set(CPACK_RPM_PACKAGE_REQUIRES "python >= 2.5.0, cmake >= 2.8")

Список необходимых пакетов файла RPM можно вывести командой:

rpm -qp --requires file.rpm
CPACK_RPM_PACKAGE_CONFLICTS
CPACK_RPM_<component>_PACKAGE_CONFLICTS

Поле RPM-спецификации conflicts.

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

Может использоваться для задания отрицательных зависимостей RPM (conflicts). Обратите внимание, что вам необходимо заключить всю строку requires в кавычки, например:

set(CPACK_RPM_PACKAGE_CONFLICTS "libxml2")

Список конфликтующих пакетов файла RPM можно вывести командой:

rpm -qp --conflicts file.rpm
CPACK_RPM_PACKAGE_REQUIRES_PRE
CPACK_RPM_<component>_PACKAGE_REQUIRES_PRE

Поле RPM-спецификации requires(pre).

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

Может использоваться для задания зависимостей RPM preinstall (requires(pre)). Обратите внимание, что вам необходимо заключить всю строку requires в кавычки, например:

set(CPACK_RPM_PACKAGE_REQUIRES_PRE "shadow-utils, initscripts")
CPACK_RPM_PACKAGE_REQUIRES_POST
CPACK_RPM_<component>_PACKAGE_REQUIRES_POST

Поле RPM-спецификации requires(post).

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

Может использоваться для задания зависимостей RPM postinstall (requires(post)). Обратите внимание, что вам необходимо заключить всю строку requires в кавычки, например:

set(CPACK_RPM_PACKAGE_REQUIRES_POST "shadow-utils, initscripts")
CPACK_RPM_PACKAGE_REQUIRES_POSTUN
CPACK_RPM_<component>_PACKAGE_REQUIRES_POSTUN

Поле RPM-спецификации requires(postun).

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

Может использоваться для задания зависимостей RPM postuninstall (requires(postun)). Обратите внимание, что вам необходимо заключить всю строку requires в кавычки, например:

set(CPACK_RPM_PACKAGE_REQUIRES_POSTUN "shadow-utils, initscripts")
CPACK_RPM_PACKAGE_REQUIRES_PREUN
CPACK_RPM_<component>_PACKAGE_REQUIRES_PREUN

Поле RPM-спецификации requires(preun).

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

Может использоваться для задания зависимостей RPM preuninstall (requires(preun)). Обратите внимание, что вам необходимо заключить всю строку requires в кавычки, например:

set(CPACK_RPM_PACKAGE_REQUIRES_PREUN "shadow-utils, initscripts")
CPACK_RPM_PACKAGE_SUGGESTS
CPACK_RPM_<component>_PACKAGE_SUGGESTS

Поле RPM-спецификации suggest.

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

Может использоваться для задания слабых зависимостей RPM (suggests). Обратите внимание, что вам необходимо заключить всю строку requires в кавычки.

CPACK_RPM_PACKAGE_PROVIDES
CPACK_RPM_<component>_PACKAGE_PROVIDES

Поле RPM-спецификации provides.

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

Может использоваться для задания зависимостей RPM (provides). Список предоставляемых пакетов файла RPM можно вывести командой:

rpm -qp --provides file.rpm
CPACK_RPM_PACKAGE_OBSOLETES
CPACK_RPM_<component>_PACKAGE_OBSOLETES

Поле RPM-спецификации obsoletes.

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

Может использоваться для задания пакетов RPM, которые устарели в связи с этим пакетом.

CPACK_RPM_PACKAGE_RELOCATABLE

Создание перемещаемого пакета RPM.

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

Если эта переменная установлена в TRUE или ON, CPackRPM попытается создать перемещаемый пакет RPM. Перемещаемый пакет RPM можно установить командой:

rpm --prefix or --relocate

Чтобы установить его в другое место, см. rpm(8). В настоящее время это может не сработать, если CPACK_SET_DESTDIR установлено в ON. Если CPACK_SET_DESTDIR установлено, будет выведено сообщение об ошибке, но если есть файл, установленный с абсолютным путем, вы получите непредсказуемое поведение.

CPACK_RPM_SPEC_INSTALL_POST

Устарело - используйте CPACK_RPM_POST_INSTALL_SCRIPT_FILE вместо этого.

  • Обязательное : НЕТ
  • Значение по умолчанию : -
  • Устарело: ДА

Этот способ задания скрипта пост-установки устарел, используйте CPACK_RPM_POST_INSTALL_SCRIPT_FILE. Может использоваться для задания команды post-установки RPM внутри файла spec. Например, установка в /bin/true может использоваться для предотвращения stripping библиотек rpmbuild.

CPACK_RPM_SPEC_MORE_DEFINE

Строки расширенных определений RPM-спецификации.

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

Может использоваться для добавления любых %define строк в сгенерированный файл spec.

CPACK_RPM_PACKAGE_DEBUG

Включить/выключить вывод отладки CPackRPM.

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

Может быть установлено при вызове cpack для отслеживания информации отладки во время выполнения CPack RPM. Например, вы можете запустить CPack так:

cpack -D CPACK_RPM_PACKAGE_DEBUG=1 -G RPM
CPACK_RPM_USER_BINARY_SPECFILE
CPACK_RPM_<componentName>_USER_BINARY_SPECFILE

Файл spec, предоставленный пользователем.

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

Может быть установлен пользователем для указания файла spec USER бинарного файла, который будет использоваться CPackRPM вместо генерации файла. Указанный файл будет обработан configure_file( @ONLY).

CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE

Шаблон файла spec.

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

Если установлено, CPack сгенерирует шаблон для файла spec USER бинарного файла и завершится с ошибкой. Например, запустите CPack так:

cpack -D CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE=1 -G RPM

Затем пользователь может использовать этот файл, чтобы вручную создать собственный бинарный файл spec, который можно использовать с CPACK_RPM_USER_BINARY_SPECFILE.

CPACK_RPM_PRE_INSTALL_SCRIPT_FILE
CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE

Путь к файлу со скриптом pre (un)установки.

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

Может использоваться для вставки скрипта pre (un)установки в файл spec. Ссылаемый файл скрипта (или оба) будет прочитан и помещен непосредственно после раздела %pre или %preun. Если CPACK_RPM_PACKAGE_COMPONENT установлено в ON, скрипт (un)установки для каждого компонента может быть переопределён с CPACK_RPM_<COMPONENT>_PRE_INSTALL_SCRIPT_FILE и CPACK_RPM_<COMPONENT>_PRE_UNINSTALL_SCRIPT_FILE. Можно проверить, какой скрипт был включён с помощью:

rpm -qp --scripts  package.rpm
CPACK_RPM_POST_INSTALL_SCRIPT_FILE
CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE

Путь к файлу со скриптом post (un)установки.

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

Может использоваться для вставки скрипта post (un)установки в файл spec. Ссылаемый файл скрипта (или оба) будут прочитаны и помещены непосредственно после раздела %post или %postun. Если CPACK_RPM_PACKAGE_COMPONENT установлено в ON, скрипт (un)установки для каждого компонента может быть переопределён с CPACK_RPM_<COMPONENT>_POST_INSTALL_SCRIPT_FILE и CPACK_RPM_<COMPONENT>_POST_UNINSTALL_SCRIPT_FILE. Можно проверить, какой скрипт был включён с помощью:

rpm -qp --scripts  package.rpm
CPACK_RPM_USER_FILELIST
CPACK_RPM_<COMPONENT>_USER_FILELIST
  • Обязательно : НЕТ
  • По умолчанию : -

Может быть использован для явного указания строки файла %(<directive>) в файле спецификаций. Например, %config(noreplace) или любой другой директивы, которая может быть найдена в разделе %files. Поскольку CPackRPM генерирует список файлов (и каталогов), указанные пользователем файлы из списка CPACK_RPM_<COMPONENT>_USER_FILELIST будут удалены из сгенерированного списка.

CPACK_RPM_CHANGELOG_FILE

Файл changelog RPM.

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

Может быть использован для вставки changelog в файл спецификаций. Указанный файл будет прочитан и помещен непосредственно после раздела %changelog.

CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST

Список путей, которые нужно исключить.

  • Обязательно : НЕТ
  • По умолчанию : /etc /etc/init.d /usr /usr/share /usr/share/doc /usr/bin /usr/lib /usr/lib64 /usr/include

Может быть использован для исключения путей (каталогов или файлов) из автоматически сгенерированного списка путей, обнаруженных CPack RPM. Значение по умолчанию содержит разумный набор значений, если переменная не определена пользователем. Если переменная определена пользователем, CPackRPM не будет использовать стандартные пути. Если вы хотите добавить пути к стандартному списку, вы можете использовать переменную CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION.

CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION

Дополнительный список путей, которые нужно исключить.

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

Может быть использован для добавления дополнительных путей исключения (каталогов или файлов) к начальному стандартному списку исключаемых путей. См. CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST.

CPACK_RPM_RELOCATION_PATHS

Список путей перемещения пакетов.

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

Может быть использован для указания более одного пути перемещения для переносимого RPM-пакета. Переменная содержит список путей перемещения, которые, если относительные, предваряются значением CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX или значением CPACK_PACKAGING_INSTALL_PREFIX, если версия компонента не указана. Переменная не зависит от компонента, так как её содержимое может быть использовано для задания разного префикса пути, например, для каталога бинарных файлов и каталога документации одновременно. К конкретному компоненту добавляются только префиксы, необходимые для этого компонента. Компонент должен содержать по крайней мере один файл/каталог/символическую ссылку с префиксом CPACK_RPM_RELOCATION_PATHS для добавления определенного пути перемещения. Пакет не будет содержать пути перемещения, если нет файлов/каталогов/символических ссылок в указанных местах. Пакеты, которые либо не содержат пути перемещения, либо содержат файлы/каталоги/символические ссылки, которые находятся вне путей перемещения, выводят сообщение AUTHOR_WARNING, что RPM будет частично переносимым.

CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX

Префикс пути установки для каждого компонента.

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

Может быть использован для установки префикса пути установки CPACK_PACKAGING_INSTALL_PREFIX для переносимых RPM-пакетов.

CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION
CPACK_RPM_NO_<COMPONENT>_INSTALL_PREFIX_RELOCATION

Удаление стандартного префикса пути установки из списка путей перемещения.

  • Обязательно : НЕТ
  • Default : CPACK_PACKAGING_INSTALL_PREFIX or CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
    рассматриваются как один из путей перемещения

Может быть использован для удаления CPACK_PACKAGING_INSTALL_PREFIX и CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX из путей префиксов переносимых RPM.

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

Может быть использован для установки дополнительных каталогов man, которые могут быть сжаты макросом brp-compress RPM. Содержимое переменной должно быть списком регулярных выражений, которые указывают на каталоги, содержащие файлы man, или на сами файлы man. Обратите внимание, что для сжатия страниц man путь также должен присутствовать в скрипте brp-compress RPM, и скрипт brp-compress должен быть добавлен в конфигурацию RPM операционной системой.

Регулярные выражения, которые добавляются по умолчанию, были взяты из макроса brp-compress RPM:

  • /usr/man/man.*
  • /usr/man/.*/man.*
  • /usr/info.*
  • /usr/share/man/man.*
  • /usr/share/man/.*/man.*
  • /usr/share/info.*
  • /usr/kerberos/man.*
  • /usr/X11R6/man/man.*
  • /usr/lib/perl5/man/man.*
  • /usr/share/doc/.*/man/man.*
  • /usr/lib/.*/man/man.*
CPACK_RPM_DEFAULT_USER
CPACK_RPM_<compName>_DEFAULT_USER

Владелец по умолчанию содержимого RPM.

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

Значение должно быть именем пользователя, а не идентификатором пользователя. Обратите внимание, что <compName> должен быть в верхнем регистре.

CPACK_RPM_DEFAULT_GROUP
CPACK_RPM_<compName>_DEFAULT_GROUP

Группа по умолчанию для владения содержимым RPM.

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

Значение должно быть именем группы, а не идентификатором группы. Обратите внимание, что <compName> должен быть в верхнем регистре.

CPACK_RPM_DEFAULT_FILE_PERMISSIONS
CPACK_RPM_<compName>_DEFAULT_FILE_PERMISSIONS

Права доступа по умолчанию для упакованных файлов.

  • Обязательно : НЕТ
  • По умолчанию : - (стандартные системные права)

Допустимые значения — списки с PERMISSIONS. Допустимые права:

  • OWNER_READ
  • OWNER_WRITE
  • OWNER_EXECUTE
  • GROUP_READ
  • GROUP_WRITE
  • GROUP_EXECUTE
  • WORLD_READ
  • WORLD_WRITE
  • WORLD_EXECUTE

Обратите внимание, что <compName> должен быть в верхнем регистре.

CPACK_RPM_DEFAULT_DIR_PERMISSIONS
CPACK_RPM_<compName>_DEFAULT_DIR_PERMISSIONS

Права доступа по умолчанию для упакованных каталогов.

  • Обязательно : НЕТ
  • По умолчанию : - (стандартные системные права)

Допустимые значения — списки с PERMISSIONS. Допустимые права такие же, как для CPACK_RPM_DEFAULT_FILE_PERMISSIONS. Обратите внимание, что <compName> должен быть в верхнем регистре.

Упаковка символьных ссылок

CPackRPM поддерживает упаковку символьных ссылок:

execute_process(COMMAND ${CMAKE_COMMAND}
  -E create_symlink <relative_path_location> <symlink_name>)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/<symlink_name>
  DESTINATION <symlink_location> COMPONENT libraries)

Символические ссылки будут оптимизированы (пути будут укорочены, если это возможно), прежде чем быть добавлены в пакет, или, если обнаружено несколько путей перемещения, будет сгенерирован скрипт перемещения символьных ссылок после установки.

Символические ссылки могут указывать на расположения, которые не упаковываются тем же пакетом (другой компонент или даже вообще не упакован), но эти расположения будут обрабатываться так, как будто они являются частью пакета, при определении, должна ли символьная ссылка быть создана или присутствовать в скрипте после установки - в зависимости от путей перемещения.

Символические ссылки, которые указывают на расположения за пределами пути пакета, генерируют предупреждение и обрабатываются как непереносимые постоянные символьные ссылки.

В настоящее время есть несколько ограничений:

  • Для упаковки компонентов на основе компонентов взаимозависимость компонентов не проверяется при обработке символьных ссылок. Символические ссылки, указывающие на содержимое другого компонента, обрабатываются так же, как если бы они указывали на расположение, которое не будет упаковано.
  • Символические ссылки, указывающие на расположение через одну или несколько промежуточных символьных ссылок, не будут обрабатываться по-другому. Если промежуточная(ые) символьная(ые) ссылка(и) также находится(ются) на переносимом пути, перенос во время установки пакета может привести к тому, что начальная символьная ссылка укажет на недействительное расположение.

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

Spec-Zone.ru

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