[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