[sisyphus] hsh и spec

Damir Shayhutdinov =?iso-8859-1?q?lost404_=CE=C1_gmail=2Ecom?=
Пн Окт 2 11:30:12 MSD 2006


> Давеча собирал новую версию nginx и пришло мне в голову - а в чем смысл
> hasher, если чтобы создать новый srpm, при rpm -b* в систему _все равно_
> ставятся *-devel?
> Или есть это я делаю что-то не так и есть способ собрать пакет из спека и
> тарбола без установки лишних библиотек?

Билдреки делятся на два типа - те которые нужны для _сборки_ src.rpm,
и те, которые нужны для сборки .rpm.

Первые - это всевозможные rpm-build-* и *-devel, которые содержат
файлы в /etc/rpm/macros.d (то есть определяют новые макросы).
Посмотреть их список в системе можно например через rpm -qf /etc/rpm/macros.d/*

 От значения этих макросов часто зависят остальные билдреки например.
Из одного и того же спека можно получить разные src.rpm, если собирать
их на разных системах, с разными "билдреками первого типа". Например,
так у нас сделан Питон, а также firefox и все его хозяйство.

Такие билдреки должны быть удовлетворены _до_ передачи пакета в хэшер.
Обычно если rpm ругается на неопределенные макросы и не запаковывает
спек. Так что их ставить все равно придется.

2Team: Может сделать полиси, по которым файлы в /etc/rpm/macros.d
могут находиться только в  пакетах типа rpm-build-*?

Остальные билдреки относятся к сборке rpm из src.rpm, и могут быть
легко отключены через --nodeps

rpm -bs --nodeps foo.spec


Подробная информация о списке рассылки Sisyphus