Отправляет email-рассылки с помощью сервиса Sendsay

rpmbuild params

Я так понимаю, невозможно передать параметр для configure при сборке
rpmbuild --rebuild, верно?

Ответить   Strong Thu, 28 Jul 2005 01:02:45 +0700 (#408440)

 

Ответы:

В сообщении от 1122501765 секунд после начала Эпохи Strong написал(а):

Напрямую нельзя. Если пакет поддерживает (spec-файл составлен
специальным образом), то можно:

$ rpmbuild --rebuild --with фича1 --without фича2 \
пакет-версия-релиз.src.rpm

Иногда список поддерживаемых фич, пишут прямо в описаннии (поле
Description) пакета. Если там ничего нет, придется смотреть spec-файл
на предмет строк с содержанием типа:

%{?_with_фича1
%{!?_with_фича2

Ответить   Konstantin Korikov Wed, 27 Jul 2005 22:18:44 +0300 (#408496)

 

а может кто поможет толковой докой или ссылкой на таковую
по теме построения рпм-ов из исходников. что для этого нужно кроме
самих исходников.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 20292; Возраст листа: 734; Участников: 1401
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/408927

Ответить   kwin***@u*****.com Thu, 28 Jul 2005 15:52:20 +0300 (#408927)

 

В сообщении от 1122555140 секунд после начала Эпохи kwin***@u*****.com
написал(а):

http://www.linux.by/howto/RPM-HOWTO.html

Ответить   Konstantin Korikov Thu, 28 Jul 2005 20:44:47 +0300 (#409114)

 

В сообщении от 27 Июль 2005 22:02 Strong написал(a):

Нет.

Но можно установить src.rpm, отредактировать spec-файл как
вам надо и собрать с помощью rpmbuild -ba

Ещё в rpmbuild можно передавать параметры, только их
обработка должна быть заложена в spec файле

Ответить   "Sergey B. Khvatov" Thu, 28 Jul 2005 10:38:15 +0400 (#408696)

 

с помощью rpmbuild -ba
Хорошо, вот конктретный пример. Мне нужно передать "--disable-FOX-check"
как опцию configure. Значит, по Вашим словам, я ставлю src.rpm:
$ rpm -i *.src.rpm
Далее, нахожу этот *.spec, а далее, что писать? - Скажем, я пишу:
%{?_without_FOX-check
А дальше что?!
Далее
$ rpmbuild -ba ... что?

Ответить   Strong Thu, 28 Jul 2005 21:31:54 -0400 (#409038)

 

В сообщении от 1122575514 секунд после начала Эпохи Strong написал(а):

Нет. Если хотите сделать чтобы spec-файл обрабатывал опции `--with',
которые вы передаете rpmbuild, то нужно вставить примерно сдедующее:

# в заголовке

%{!?_with_FOX_check: %{!?_without_FOX_check: %define _without_FOX_check 1}}

# в разделе %build

%configure \
%{?_with_FOX_check:--enable-FOX-check} \
%{?_without_FOX_check:--disable-FOX-check}

Но при разовой сборке, которая нужна только вам, проще сделать так:

%configure --disable-FOX-check

$ rpmbuild -bb путь/к/файлу.spec

PS. `-ba' нужно если вы хотите собрать бинарный пакет и пакет исходников,
если же вам нужен только бинарный пакет используйте `-bb'.

Ответить   Konstantin Korikov Thu, 28 Jul 2005 20:43:45 +0300 (#409116)

 

On Thu, 2005-07-28 at 20:43 +0300, Konstantin Korikov wrote:

Всё понял, спасибо, только вот чего имею:
...
then mv -f ".deps/CChangePitchAction.Tpo"
".deps/CChangePitchAction.Plo"; \
else rm -f ".deps/CChangePitchAction.Tpo"; exit 1; \
fi
g++ -DHAVE_CONFIG_H -I. -I. -I../../../config -I../../../src/misc
-I../../../src/misc/missing/generated -I../../../src/PoolFile -g -Wall
-Wno-unused-function -Wno-unused-variable -Wno-unused -I/usr/include -MT
CChangePitchAction.lo -MD -MP -MF .deps/CChangePitchAction.Tpo -c
CChangePitchAction.cpp
../AStatusComm.h:59: warning: 'class AStatusComm' has virtual functions
but non-virtual destructor
../DSP/TPitchChanger.h:145: error: 'SoundTouch' does not name a type
../DSP/TPitchChanger.h: In constructor
'TPitchChanger<src_type>::TPitchChanger(const src_type&, sample_pos_t,
sample_pos_t, float, unsigned int, unsigned int, unsigned int)':
../DSP/TPitchChanger.h:75: error: 'changer' was not declared in this
scope
../DSP/TPitchChanger.h: In member function 'const sample_t
TPitchChanger<src_type>::getSample()':
../DSP/TPitchChanger.h:89: error: 'changer' was not declared in this
scope
../DSP/TPitchChanger.h: In member function 'bool
TPitchChanger<src_type>::setSetting(uint, uint)':
../DSP/TPitchChanger.h:124: error: 'changer' was not declared in this
scope
make[3]: *** [CChangePitchAction.lo] Error 1
make[3]: Leaving directory
`/usr/src/redhat/BUILD/rezound-0.10.0beta/src/backend/Remaster'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/usr/src/redhat/BUILD/rezound-0.10.0beta/src/backend'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/usr/src/redhat/BUILD/rezound-0.10.0beta/src'
make: *** [all-recursive] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.76546 (%build)

Делал так:
$ rpm -Uvh rezound-0.10.0beta-1.src.rpm
В rezound.spec вписал:
...
%build
%configure --enable-internal-sample-type=float --disable-FOX-check
make
...
Далее, находясь в /usr/src/redhat/SPECS:
rpmbuild -bb --target=i686 ./rezound.spec
Вот-с...

Ответить   Strong Sat, 30 Jul 2005 17:16:34 -0400 (#410123)

 

В сообщении от 1122732994 секунд после начала Эпохи Strong написал(а):

src.rpm пакет сам по себе не решит проблем исходников и компиляторов.
Другое дело, когда этот src.rpm содержит патчи, позволяющие
использовать вашу версию компилятора, другими словами, когда src.rpm
заточен под вашу версию дистрибутива. Вот если бы этот src.rpm-пакет
был получен из Fedora Extras или Fedora Core, то эта ошибка
действительно была бы неожиданной.

Ответить   Konstantin Korikov Sat, 30 Jul 2005 14:49:11 +0300 (#410158)

 

В сообщении от 29 Июль 2005 05:31 Strong написал(a):

В простейшем случае находите секцию %build и параметры
%configure (это макрос - configure с общими параметрами)
правите как вам надо.

Если вы хотите обрабатывать --with/--without, то вот пример:

%define with_nogdal %{?_with_nogdal:1}%{!?_with_nogdal:0}
...
%if %{!with_nogdal}
Requires: gdal
%endif
...
%configure \
--with-gd \
%{!?_with_nogdal:--with-gdal=/usr/bin/gdal-config} \
...

rpmbuild -ba spec-file

Ответить   "Sergey B. Khvatov" Fri, 29 Jul 2005 10:21:30 +0400 (#409369)

 

On Fri, 2005-07-29 at 10:21 +0400, Sergey B. Khvatov wrote:

1. Почему на nogdal Вы пишите gdal?
2. Как мне знать, что мне писать в Requires?

С уважением,
Strong.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 20357; Возраст листа: 736; Участников: 1404
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/410121

Ответить   Strong Sat, 30 Jul 2005 17:18:16 -0400 (#410121)

 

В сообщении от 31 Июль 2005 01:18 Strong написал(a):

wrote:

Нет - я программирую железки с Linux внутри.
Это просто пример - извлечения из spec-файла, валяющегося у
меня на инструмендальной машине (от пакета mapserver)

features, присутствия которых пакет потребует при установке.
Если не укажите ничего, пакет поставится всегда (но при
этом может и не работать). Если вы собираетесь выключить
поддержку чего-либо в пакете, то разумно удалить упоминания
этого из requires, чтобы он при установке не требовал
лишнего.

Ответить   "Sergey B. Khvatov" Mon, 1 Aug 2005 12:22:19 +0400 (#410987)

 

В сообщении от 1122888139 секунд после начала Эпохи Sergey B. Khvatov
написал(а):

В `Requires' обычно ничего не указывается, потому что зависимости
строятся автоматически, после выполнения раздела `%install', это делает
`/usr/lib/rpm/find-requires'. А вот `BuildRequires' следует указать,
тут надо перечислить пакеты, которые необходимы для построения
данного пакета, обычно это devel-пакеты.

Ответить   Konstantin Korikov Mon, 1 Aug 2005 15:06:14 +0300 (#411187)