Я пишу файл спецификации, который создает несколько пакетов. Могу ли я использовать цикл 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.