В моей организации мы развертываем все наше программное обеспечение на наших производственных машинах, используя RPM. Наш процесс сборки (который автоматизирован) включает в себя извлечение исходного кода из системы управления версиями, сборку этого исходного каталога, а затем запуск rpmbuild с использованием этого исходного архива. rpmbuild использует этот архив только для разархивирования исходных текстов для работы с ними. Таким образом, кажется, что весь бизнес по тарированию и распаковке - просто ненужный дополнительный шаг в процессе сборки. Есть ли способ просто указать исходный каталог в файле спецификации, избегая этих дополнительных шагов?
13
Этот вопрос немного устарел, но в случае, если другие люди найдут его в поиске, есть более правильный способ сделать это, который также позволяет создавать SRPM.
В подготовительном разделе вместо использования макроса настройки вы должны вместо этого просто набрать себе то, что вы хотите, а именно, скопировать исходный каталог из SOURCES в BUILD вместо распаковки архива. Я обнаружил, что вам также нужно добавить компакт-диск в каталог с исходным кодом в разделах сборки и установки.
Пример фрагмента
источник
%{_topdir}/SOURCES
быть%{_sourcedir}
? А%{_topdir}/BUILD
может быть%{buildroot}
? (Кроме того, для похожих, но разных ситуаций, когда вы пытаетесь добавить дополнительные файлы, чтобы переопределить извлеченные из них%setup
, документы Fedora рекомендуют использовать%{SOURCE2}
etc - fedoraproject.org/wiki/Packaging:RPM_Source_Dir )