[sisyphus] компиляция программы и файлы *.a

Damir Shayhutdinov =?iso-8859-1?q?lost404_=CE=C1_gmail=2Ecom?=
Ср Окт 18 17:47:58 MSD 2006


18.10.06, Шенцев Алексей Владимирович<ashen@> написал(а):
> Спасибо за разъяснения. Делал снчала в ручную:
> autoreconf -fisv
> ./configure --prefix=/
> make
> вроде всё без ошибок прошло.
Отлично, это уже хороший знак :)

> Но вот при сборке пакета вылезло такое:
> -(ashen на oasu3)-(~/RPM/SPECS)-> rpmbuild -ba splashy.spec
> Выполняется(%prep): /bin/sh -e /home/ashen/tmp/rpm-tmp.84808
> + umask 022
> + /bin/mkdir -p /home/ashen/RPM/BUILD
> + cd /home/ashen/RPM/BUILD
> + cd /home/ashen/RPM/BUILD
> + rm -rf splashy-0.1.8.1
> + echo 'Source #0 (splashy-0.1.8.1.tar.bz2):'
> Source #0 (splashy-0.1.8.1.tar.bz2):
> + /bin/bzip2 -dc /home/ashen/RPM/SOURCES/splashy-0.1.8.1.tar.bz2
> + /bin/tar -xf -
> + cd splashy-0.1.8.1
> + /bin/chmod -Rf u+rwX,go-w .
> + echo 'Patch #0 (splashy-path.patch):'
> Patch #0 (splashy-path.patch):
> + /usr/bin/patch -p0 -s
> 1 out of 1 hunk FAILED -- saving rejects to file Makefile.am.rej
> ошибка: Неверный код возврата из /home/ashen/tmp/rpm-tmp.84808 (%prep)
>
> Т.е. возникла ошибка с наложением первого патча?

Да, это называется "патч отвалился".
Значит он делался относительно какого-то другого Makefile.am.

См. файл Makefile.am.rej, там описано что не так.

Решение конечно есть.
Я обычно делаю так:

cd ~/RPM/BUILD
tar -xjf ~/RPM/SOURCES/splashy-0.1.8.1.tar.bz2
cp -r splashy-0.1.8.1/Makefile.am{,.orig}

Дальше копируешь в splashy-0.1.8.1 патченый Makefile.am
и делаешь

diff -ru splashy-0.1.8.1/Makefile.am{.orig,} > ~/RPM/SOURCES/splashy-path.patch

В самом спеке надо будет сделать
%patch0 -p1

> BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root
Тег BuildRoot в Альте не нужен, его можно смело удалить.


Подробная информация о списке рассылки Sisyphus