Назад | Перейти на главную страницу

Могу ли я запустить цикл над директивой% files в файле .spec?

Я пишу файл спецификации, который создает несколько пакетов. Могу ли я использовать цикл for для директивы% files с разными именами, например:

for name in {package1, package2, package3} ; do
  %files -n $name
  %attr(644, root, root) /etc/systemd/system/$name.service
done

В длинных словах из-за ограничения минимальной длины поста: Нет.

Файлы спецификации не являются какой-либо формой языка сценариев.

Файл спецификации не является языком сценариев, вы все равно можете использовать свой собственный файл сценария для создания списка файлов и передачи списка в файл спецификации. Из документа "Директивы для списка% файлов":

-f <файл> - Прочитать список% файлов из <файл>

В -f опция используется для указания RPM читать % файлов список из названного файла. Словно % файлов список в файле спецификации, файл, названный с использованием -f Параметр должен содержать по одному имени файла в каждой строке, а также включать любую из директив, указанных в этом разделе.

%files latex -f tetex-latex-skel

Здесь будут упакованы имена файлов, присутствующие в файле tetex-latex-skel.