Я пытаюсь создать RPM Samba для старой версии Fedora. В интернете нет материалов для скачивания, поэтому у меня есть исходный код.

Пока у меня есть пять стандартных каталогов /BUILD , /RPMS , /SOURCES , /SPECS и /SRPMS .

В /SOURCES находится исходный код в tar-архиве.
В /SPEC находится файл samba.spec .

Когда я выполняю rpmbuild -v -bb --clean SPECS/samba.spec она падает после того, как мяч не вылетел и попытался построить. Ошибка: line 29: autogen.sh : command not found .

Более конкретно, в моем %build есть: autogen.sh , ./configure и make .

После этого я устанавливаю все это с помощью make install в разделе %install .

Куда я иду не так?

Обратите внимание, что все это прекрасно работает при ручной установке исходного кода.

После удаления файла ./autogen.sh появляется: '/var/tmp/rpm-tmp.BEyARh: строка 29: ./configure: такого файла или каталога нет.

РЕДАКТИРОВАТЬ: А-ха! Я думаю, что я знаю проблему. Он ищет в каталоге root /samba ./autogen.sh и т.д., Когда он должен искать в `/samba/source3/, как только он извлечет tar-шар и поместит его в /BUILD. Как мне это настроить?

1 ответ1

2

Первое, что я хотел бы попробовать, это заменить линию

autogen.sh

в вашем файле .spec с

./autogen.sh

поскольку autogen.sh, вероятно, отсутствует в вашей переменной PATH. Если поставить перед ним ./ командная оболочка скажет, что нужно выполнить файл, при условии, что есть шебанг (#!) на вершине. Если первая строка autogen.sh не похожа на #! /bin/bash , вместо ./autogen.sh вы можете попробовать

bash autogen.sh

который явно выполнит файл как скрипт bash.

Отредактировано в ответ на измененный вопрос:

Один из способов взломать это может быть изменить

./autogen.sh

в

./source3/autogen.sh

или

pushd source3
./autogen.sh
popd

так что rpm может найти файл. Однако я не уверен, считается ли это "хорошей" упаковкой.

Также могут быть некоторые настройки RPM, которые вы можете изменить. Существует замечательная книга под названием « Максимальные обороты в минуту » Эдварда С. Бейли, в которой рассказывается о создании RPM, и этот раздел может помочь вам в настройке нечетной настройки сборки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .