[devel] x86_64 -- первый этап борьбы и первые проблемы
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Сб Сен 4 22:43:51 MSD 2004
Hi,
On Sat, Sep 04, 2004 at 08:37:10PM +0400, Денис Смирнов wrote:
[...]
> Вопрос к знатокам rpm: можно ли заставить rpm выполнять некий код сразу
> после секции install?
Можно.
По окончании %install выполняется %__spec_install_post в следующем порядке:
%{__arch_install_post}
%{__os_install_post}
%{__spec_install_custom_post}
%__os_install_post - это /usr/lib/rpm/brp-alt
Вам, скорее всего, нужен %__arch_install_post
Только должен вас расстроить: не все скрипты, запускаемые из brp-alt,
готовы к lib64.
> Всего лишь одна проверка + если архитектура x86_64
> переименование %buildroot/usr/lib в %buildroot%_libdir и %buildroot/lib в
> %buildroot%_lib позволит собраться на x86_64 где-то двум третям ныне не
> пересобирающимся пакетам.
Если это предлагается делать по умолчанию, то надо предусмотреть способ
легкого отключения.
> Основная масса пакетов из имеющихся у меня сейчас не собирается из-за
> того, что не собирается кто-то по зависимостям (после нескольких итераций
> пересборки будет заметно лучше, увы я не всегда могу поставить пересборку
> на ночь).
>
> _Очень_ большая часть не собирается либо по причине установки в
> %buildroot/[usr/]lib (что часто лечится исключительно патчем Makefile и
> иже с ним или простым mv, что, IMHO, проще), либо по причине использования
> /usr/lib и /lib внутри spec-файла. Особенно это касается секции %files, за
> такое, IMHO, надо бить sisyphus_check по голове.
Не надо бить sisyphus_check по голове, он не занимается анализом
spec-файлов.
> Что mouse@ что я устанем
> давать по голове каждому мантейнеру -- пущай лучше это робот-пересборщик
> делает, он железный, его не жалко.
Только робота надо запрограммировать.
> Как ни странно, но весьма небольшая часть пакетов не собирается по причине
> кривого кода.
>
> Однако заметная часть кода _потенциально небезопасна_ хотя и собирается.
>
> Резюме:
> - пожалуйста, подскажите куда пинать rpm, чтобы нужный мне код исполнялся
> в конце секции %install (а может просто поправить макросы вроде
> %makeinstall ?
Лучше подумать об %__arch_install_post в файле /etc/rpm/%{_target_platform}/macros.
> - можно ли добавить в sisyphus_check матюгалку на неиспользование
> %_libdir и %_lib в секциях %files ?
Это не должен быть sisyphus_check, поскольку последний не занимается
анализом spec-файлов.
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/20040904/f1f15765/attachment-0001.bin>
Подробная информация о списке рассылки Devel