История изменений
Исправление sunny1983, (текущая версия) :
Перешёл от теории к практике.
Так, теперь понятно почему нужно создавать каталог rpmbuild именно в домашнем каталоге пользователя - потому что именно туда пакеты src.rpm и устанавливаются.
Сейчас я попытаюсь написать spec-файл для iptables-1.6.0, основываясь на spec-файл для iptables-1.4.21. Что-то в исходном spec-файле мне непонятно, из-за чего у меня появляется желание упростить код, выкинув из него то, что мне кажется лишним. Собственно можно ли так... ладно, сейчас опишу обо что именно я запнулся.
Макрос %setup я заменяю тем, что он делает, то есть секция %prep у меня такая:
%prep
cd ~/rpmbuild/BUILD
rm -rf %{name}-%{version}
tar --extract --file=~/rpmbuild/SOURCES/%{name}-%{version}.tar.bz2
if [ $? -ne 0 ]; then
exit $?
fi
cd %{name}-%{version}
chown -R root.root .
chmod -R a+rX,g-w,o-w .
Ещё я выкидываю из кода все патчи, потому что они имеют отношение к версии 1.4.21, а я собираю 1.6.0.
Дальше идут самые ответственные секции %build и %install, где в исходном spec-файле присутствуют непонятные переменные, например строка:
make %{?_smp_mflags}
Да, очень прошу, не отсылайте в гугл, лучше поделитесь опытом, он бесценен.
Исходная версия sunny1983, :
Перешёл от теории к практике.
Так, теперь понятно почему нужно создавать каталог rpmbuild именно в домашнем каталоге пользователя - потому что именно туда пакеты src.rpm и устанавливаются.
Сейчас я попытаюсь написать spec-файл для iptables-1.6.0, основываясь на spec-файл для iptables-1.4.21. Что-то в исходном spec-файле мне непонятно, из-за чего у меня появляется желание упростить код, выкинув из него то, что мне кажется лишним. Собственно можно ли так... ладно, сейчас опишу обо что именно я запнулся.
Макрос %setup я заменяю тем, что он делает, то есть секция %prep у меня такая:
%prep
cd ~/rpmbuild/BUILD
rm -rf %{name}-%{version}
tar --extract --file=~/rpmbuild/SOURCES/%{name}-%{version}.tar.bz2
if [ $? -ne 0 ]; then
exit $?
fi
cd %{name}-%{version}
chown -R root.root .
chmod -R a+rX,g-w,o-w .
Ещё я выкидываю из кода все патчи, потому что они имеют отношение к версии 1.4.21, а я собираю 1.6.0.
Дальше идут самые ответственные секции %build и %install, где в исходном spec-файле присутствуют непонятные переменные, например строка:
make %{?_smp_mflags}