[devel] Q: rpm-macros-*, buildreq и обработка сборочных зависимостей в sandman и hasher
Alexey I. Froloff
=?iso-8859-1?q?sir=5Fraorn_=CE=C1_immo=2Eru?=
Чт Сен 25 09:46:26 MSD 2003
Помнится, начали на 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 <xxx> будет
автоматически означать сборочную зависимость от rpm-build-xxx
(эти три пункта некоторым образом дублируют друг друга ;-)
Возможные проблемы:
1. Нужно будет исправить спеки всех пакетов, использующих макросы
из /etc/rpm/macros.d/* - это perl-*, это kernel-*, это ruby-*...
2. Не знаю как в hasher, но в sandman надо делать дополнительную
обработку спекфайла - rpm -bE будет выдавать ошибку при %include
несуществующего файла...
3. Возможно я ещё что-то не учёл...
Предложения, комментарии?
--
Regards, Sir Raorn.
-------------------
Чтобы стать кондитером, необязательно начинать с помойки.
-- mike in community@
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20030925/ccbfc470/attachment-0001.bin>
Подробная информация о списке рассылки Devel