From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 15 Jan 2004 14:46:17 +0300 From: "Dmitry V. Levin" To: ALT Linux Sisyphus mailing list Subject: Re: [sisyphus] =?koi8-r?B?0sHaztnFINPCz9LL?= =?koi8-r?B?ySDPxM7Px88g0MHLxdTB?= Message-ID: <20040115114617.GB9188@basalt.office.altlinux.org> Mail-Followup-To: ALT Linux Sisyphus mailing list References: <1073913226.2544.56.camel@ildar> <20040115002333.GC4034@localhost.localdomain> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="IrhDeMKUP4DT/M7F" Content-Disposition: inline In-Reply-To: <20040115002333.GC4034@localhost.localdomain> X-fingerprint: 9658 398D 181B 1200 8FC5 26B8 F6F8 846B C1E2 3429 X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.1.3 Precedence: list Reply-To: sisyphus@altlinux.ru List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Jan 2004 11:53:58 -0000 Archived-At: List-Archive: --IrhDeMKUP4DT/M7F Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit On Thu, Jan 15, 2004 at 06:23:33AM +0600, Alexey Morozov wrote: > On Mon, Jan 12, 2004 at 04:13:46PM +0300, Ildar Mulyukov wrote: > > А теперь: внимание, вопрос! > > Как в спеках поддерживается сборка пакетов с альтернативным набором фич? > > То есть > > 1. можно ли писать спек так, чтобы добавлением опций команде rpmbuild из > > того же src.rpm строился иной бинарник? Что-то вроде rpmbuild --rebuild > > --build-options="--with-alsa" esound.src.rpm ? > ну, собственно, четких правил еще нет. Зато есть два _непересекающихся_ > набора макросов, которые позволяют указывать параметры при сборке > (в CLI или в настройках RPM). Макросы таковы: > > %def_with > %def_without > > и > > %def_enable > %def_disable > > Первый набор управляется параметрами --with или --without, а второй - > --enable/--disable. > > Использование %def_with в спеке разрешает по умолчанию некоторую опцию, > а %def_without - запрещает ее по умолчанию. С enable/disable - > аналогично. > > Если некоторая опция smth была объявлена с with/without, то затем в спеке > можно написать: > > %if_with smth > ... do things if smth included > %endif > ... > %if_without smth > ... do things if smth excluded > %endif > > Аналогично с enable/disable, только используются > %if_enabled/%if_disabled. Есть ещё %{subst_with smth} и %{subst_enable smth}, которые раскрываются в --with-smth либо --without-smth и, соответственно, --enable-smth либо --disable-smth. Разнообразие with/without vs enable/disable - это следствие разнообразия аналогичных параметров configure. [...] > 2ldv: похоже, я нашел баг в обработке with/without. Параметры, указанные > в ~/.rpmmacros имеют приоритет перед теми, которые указаны в командной > строке. Неконсистентно. Да, в rpm всё наоборот: сначала параметры командной строки, потом макрофайлы, потом spec-файл. -- ldv --IrhDeMKUP4DT/M7F Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFABn2J9viEa8HiNCkRAgHoAJ9X6v7+YaSASy+pzngsUk/9tA0lVQCbBSmy c1axXJG9gouSbAWmAx78nMA= =IJ64 -----END PGP SIGNATURE----- --IrhDeMKUP4DT/M7F--