Упаковка символических ссылок через rpmbuild?

Можно ли заставить rpmbuild сохранять симлинки на упаковке?

Текущее поведение заключается в создании копий файлов, которых я хотел бы избежать.


person SyBer    schedule 22.09.2011    source источник


Ответы (2)


Конечно, он поддерживает символические ссылки. Но на самом деле вам нужно упаковать символическую ссылку, а не копировать содержимое в 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

person Stan    schedule 24.04.2012
comment
Я бы внес одно изменение в то, что Стэн сказал выше, поскольку -f находится в ссылке создания, удаление не требуется. - person Jane; 26.07.2014
comment
@ Джейн, я не согласен. Обычно хорошей идеей является очистка buildroot, чтобы удалить мусор в начале %install. Например, предположим, что предыдущая версия пакета установила второй файл, %{buildroot}/newlib, но текущая версия не устанавливает этот файл. Текущая версия пакета не будет знать об этом файле и, следовательно, не будет удалена из корня сборки (по вашему предложению). В общем, текущий экземпляр rpmbuild не знает ни о каких старых хламах, которые могут быть в корне сборки. Лучше просто удалить всю сборку перед установкой. - person jayhendren; 29.07.2014

Я так не думаю. Я использовал скрипт после установки, чтобы настроить символические ссылки в своих пакетах.

person pwan    schedule 26.09.2011