From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 25 Sep 2003 09:46:26 +0400 From: "Alexey I. Froloff" To: ALT Linux devel Message-ID: <20030925054626.GI8655@inferno.immo> Mail-Followup-To: ALT Linux devel , "Dmitry V. Levin" Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="BEa57a89OpeoUzGD" Content-Disposition: inline User-Agent: Mutt/1.4.1i X-Envelope-To: devel@altlinux.ru, ldv@altlinux.org Cc: "Dmitry V. Levin" Subject: [devel] Q: rpm-macros-*, buildreq =?koi8-r?b?ySDPwtLBws/Uy8Eg08LP0s/eztnI?= =?koi8-r?b?INrB18nTyc3P09TFyiDXIHNhbmRtYW4gyQ==?= hasher X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.2 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2003 05:47:07 -0000 Archived-At: List-Archive: List-Post: --BEa57a89OpeoUzGD Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit Помнится, начали на linuxfest обсуждать этот вопрос, но так ни к чему и не пришли... Что делать с пакетами, которые провайдят макросы для rpm (/etc/rpm/macros.d/*)? Осбенно если кроме этих макросов больше ничего нет (как например vim и xscreensaver)? Вариантов три: 1. Файл с макросами идёт в любом случае в %name-devel 2. Файл с макросами идёт в любом случае в rpm-build-%name (или rpm-macros-%name) 3. Файл с макросами идёт либо в %name-devel, либо в rpm-build-%name - зависит от того, есть ли соответствующий -devel пакет. Лично мне нравится второй вариант, почему - об'ясню ниже. Далее - сборочные зависимости. На данный момент нет способа автоматически определить какой файл из /etc/rpm/macros.d необходим для сборки пакета. rpm парсит все файлы из этого каталога и эти файлы игнорируются buildreq'ом. Некоторе время назад я патчил rpm на тему выдачи списка используемых в спеке макросов, но этот способ мне очень не нравится. В rpm есть директива %include, которая "подключает" произвольный файл и эта директива активно используется, например, в PLD. На linuxfest ldv сказал, что может пропатчить rpm чтобы он по %include подключал файл только из определённого каталога (и даже принимал бы имя файла в угловых скобках ;-), это решает целый ряд проблем: 1. Не надо будет игнорировать /etc/rpm/macros.d/* 2. buildreq будет автоматически проставлять зависимость на соответствующий rpm-build-* 3. В sandman и hasher директива %include будет автоматически означать сборочную зависимость от rpm-build-xxx (эти три пункта некоторым образом дублируют друг друга ;-) Возможные проблемы: 1. Нужно будет исправить спеки всех пакетов, использующих макросы из /etc/rpm/macros.d/* - это perl-*, это kernel-*, это ruby-*... 2. Не знаю как в hasher, но в sandman надо делать дополнительную обработку спекфайла - rpm -bE будет выдавать ошибку при %include несуществующего файла... 3. Возможно я ещё что-то не учёл... Предложения, комментарии? -- Regards, Sir Raorn. ------------------- Чтобы стать кондитером, необязательно начинать с помойки. -- mike in community@ --BEa57a89OpeoUzGD Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/coExVqT7+fkT8woRApwQAJ0cXWTFVKG67DFqh1yt9zoq2uDAFACfUkAH qQIei/YMDKHvy2VirhUsmfQ= =0Jvm -----END PGP SIGNATURE----- --BEa57a89OpeoUzGD--