Можно ли заставить rpmbuild сохранять симлинки на упаковке?
Текущее поведение заключается в создании копий файлов, которых я хотел бы избежать.
Можно ли заставить rpmbuild сохранять симлинки на упаковке?
Текущее поведение заключается в создании копий файлов, которых я хотел бы избежать.
Конечно, он поддерживает символические ссылки. Но на самом деле вам нужно упаковать символическую ссылку, а не копировать содержимое в buildroot. Пример спецификации упаковки символической ссылки на каталог /bin с именем /newbin
Name: test
Version: 1.0
Release: 1%{?dist}
Summary: nothing
License: GPLv2
Source0: nothing
%description
%install
rm -rf %{buildroot}
mkdir %{buildroot}
ln -sf /bin %{buildroot}/newbin
%files
/newbin
Вам также понадобится файл nothing
в каталоге SOURCES, чтобы успешно собрать из него rpm. Протестировано с об/мин 4.9.1.2
%install
. Например, предположим, что предыдущая версия пакета установила второй файл, %{buildroot}/newlib
, но текущая версия не устанавливает этот файл. Текущая версия пакета не будет знать об этом файле и, следовательно, не будет удалена из корня сборки (по вашему предложению). В общем, текущий экземпляр rpmbuild не знает ни о каких старых хламах, которые могут быть в корне сборки. Лучше просто удалить всю сборку перед установкой.
- person jayhendren; 29.07.2014
Я так не думаю. Я использовал скрипт после установки, чтобы настроить символические ссылки в своих пакетах.