В спецфайле RPM иногда я увижу:
Source0: /some/path/or/url/file.tar.xz
Source1: /another/path/or/url/file2.tar.gz
Source2: /some/path/library.so
Source4: /other/path/icon.ico
...
Иногда до 10+ источников различных типов файлов. Однако часто я не вижу ссылок, таких как %{SOURCE1}
далее в файле. Анализируются ли эти источники и/или используются ли они в тех случаях, когда в файле нет ссылок на них? Я читал Создание RPM-пакетов, но этот пример очень прост и не содержит ответа на этот конкретный вопрос. Я не понимаю различных вариантов использования разделов исходного кода.
ПРИМЕР: https://src.fedoraproject.org/rpms/libreoffice/blob/master/f/libreoffice.specSource7, Source9, Source10 и Source11 нигде не упоминаются в spec-файле. .
Если вы посмотрите в разделе %build, там есть строка с:
EXTSRCDIR=`dirname %{SOURCE0}`
Позже одним из аргументов конфигурации является:
--with-external-tar="$EXTSRCDIR" \
Оттуда он использует архивы как часть сборки. Все записи исходного кода хранятся в том же каталоге, что и часть сборки пакета, поэтому спецификация просто находит имя каталога и ссылается на него позже. (Я не понимаю, почему вы указываете локальный путь в своем примере, это либо имя файла, либо URL-адрес в обычном файле спецификации ).
Я не очень хорошо знаком с процессом сборки libreoffice, но предполагаю, что все упомянутые вами записи исходного кода подтягиваются с помощью аргумента configure выше.