Как динамически определять подпакеты - PullRequest
1 голос
/ 15 августа 2011

Моя цель - создать файл спецификаций, который динамически определяет подпакеты.

В настоящее время у меня есть макрос, определенный в spec-файле, чтобы я мог вызывать его с разными параметрами, чтобы генерировать разные секции% пакета. Например.

% define create_pkg (n:) \ % package -n subpackage-% 1 \ Сводка: Подпакет% 1 \ ... \ % {Ноль}

% create_pkg sub1 % create_pkg sub2 % create_pkg sub3

Однако я могу только жестко закодировать параметры (sub1, sub2, sub3) макроса create_pkg в specfile. Есть ли способ заставить specfile прочитать отдельный файл, который будет содержать имена подпакетов, которые я хочу? например. subpackages.txt будет иметь следующее:

sub1 sub2 sub3

и файл спецификации будет читать subpackages.txt и вызывать% create_pkg с именами, прочитанными из файла txt.

1 Ответ

3 голосов
/ 19 августа 2011

Отвечая на мой собственный вопрос.Если в rpm есть встроенный скрипт lua (я думаю, это опция времени сборки), то вы можете использовать скрипты lua в файле

1), чтобы определить подпакеты в отдельном файле, например.целях:

%{lua:
for target in string.gmatch(rpm.expand("%{build_targets}"), "[%w_-]+")
do
  print("%package "..target.."\n")
  print("Summary: subpackage "..target.."\n")
  ...
  print("%description "..target.."\n")
end

тогда директива% пакета для подпакетов будет генерироваться динамически.

...