updated to rpm-4.0.4-alt28

This commit is contained in:
Дмитрий Левин 2003-11-26 18:19:38 +00:00
parent a10b78109d
commit febd720f6d

View File

@ -1,5 +1,5 @@
ALT Linux RPM:
особенности версии rpm-4.0.4-alt27
особенности версии rpm-4.0.4-alt28
Dmitry V. Levin <ldv@altlinux.org>
@ -10,12 +10,12 @@
При разработке изменений и дополнений к RPM решались следующие задачи:
Обеспечить желаемую функциональность:
наши пакеты должны отвечать определенным правилам, о которых
пойдет речь несколько позже. Для этого надо, чтобы spec-файлы
наши пакеты должны отвечать определённым правилам, о которых
пойдёт речь несколько позже. Для этого надо, чтобы spec-файлы
обеспечивали выполнение этих правил.
Помочь разработчику:
так как spec-файлы все еще пишут люди, то их работу нужно
так как spec-файлы все ещё пишут люди, то их работу нужно
свести к тому минимуму, который, собственно, и требует участия
человека. Разработчик не должен копировать блоки кода из файла
в файл, ибо эта неинтеллектуальная работа отнимает массу сил и
@ -37,12 +37,12 @@ BuildRoot.
Времена, когда тэг BuildRoot в spec-файле определял, какой каталог RPM
будет использовать в качестве BuildRoot, прошли безвозвратно. Теперь
этот тэг не несет никакой информации и может (и должен) быть опущен.
этот тэг не несёт никакой информации и может (и должен) быть опущен.
Вместо этого используется значение макроса %buildroot, который
определен как ``%{_tmppath}/%{name}-buildroot'' в файле
/usr/lib/rpm/macros и может быть переопределен в любом месте, где
определён как ``%{_tmppath}/%{name}-buildroot'' в файле
/usr/lib/rpm/macros и может быть переопределён в любом месте, где
допускается определять макросы. В случае, если макрос %buildroot не
определен либо его значение представляет собой недопустимое значение
определён либо его значение представляет собой недопустимое значение
``/'', сборка пакета не будет выполнена.
Новые макросы.
@ -186,46 +186,46 @@ BuildRoot.
Регистрация разделяемых библиотек.
%post_ldconfig, %post_ldconfig_lib:
регистрация новых/обновленных библиотек;
регистрация новых/обновлённых библиотек;
%post_ldconfig_sys:
регистрация новых/обновленных системных библиотек (которые
регистрация новых/обновлённых системных библиотек (которые
могут быть использованы в chroot'ах);
%postun_ldconfig:
отмена регистрации удаленных библиотек.
отмена регистрации удалённых библиотек.
Регистрация документации в формате info.
%install_info:
регистрация новых/обновленных info-страниц;
регистрация новых/обновлённых info-страниц;
%uninstall_info:
отмена регистрации удаленных info-страниц.
отмена регистрации удалённых info-страниц.
Регистрация меню.
%update_menus:
регистрация новых/обновленных меню;
регистрация новых/обновлённых меню;
%clean_menus:
отмена регистрации удаленных меню.
отмена регистрации удалённых меню.
Регистрация оконных менеджеров.
%update_wms:
регистрация новых/обновленных описаний оконных менеджеров;
регистрация новых/обновлённых описаний оконных менеджеров;
%clean_wms:
отмена регистрации удаленных описаний оконных менеджеров.
отмена регистрации удалённых описаний оконных менеджеров.
Регистрация каталогов scrollkeeper.
%update_scrollkeeper:
регистрация новых/обновленных каталогов;
регистрация новых/обновлённых каталогов;
%clean_scrollkeeper:
отмена регистрации удаленных каталогов.
отмена регистрации удалённых каталогов.
Вспомогательные макросы %configure.
@ -350,6 +350,15 @@ BuildRoot.
Управление процессом сборки.
%_rpmbuild_clean:
управляет включённым по умолчанию для rpmbuild -rebuild и
rpmbuild -recompile режимом удаления промежуточных файлов и
каталогов.
%_rpmbuild_packagesource:
управляет выключенным по умолчанию для rpmbuild -rebuild и
rpmbuild -recompile режимом создания пакетов с исходным кодом.
%buildmulti:
альтернативная директива %build для случая, когда в секции
%build происходит заполнение %buildroot. Вообще говоря, такой
@ -400,7 +409,7 @@ BuildRoot.
тройка значений serial:version-release указанного пакета;
%get_NSVR:
четверка значений name-serial:version-release указанного
четвёрка значений name-serial:version-release указанного
пакета;
%get_dep:
@ -500,11 +509,12 @@ BuildRoot.
* файлы с именами DEADJOE, .SUMS, TAGS, core;
* файлы, заканчивающиеся на , .orig, .rej, .bak;
* каталоги с именем CVS;
* ненужные вспомогательные файлы libtool'а, заканчивающиеся на .la.
Поддерживаются следующие методы определения файлов и каталогов,
подлежащих удалению:
* none, skip: поиска и удаления не производится;
* auto: метод по умолчанию, определенный в файле
* auto: метод по умолчанию, определённый в файле
/usr/lib/rpm/brp-cleanup;
* *: специальный метод; переданное значение используется в качестве
имени программы, которая будет вызвана для поиска и удаления
@ -561,7 +571,7 @@ BuildRoot.
значения макроса %_compress_method; значение по умолчанию для этого
макроса - auto. По окончании процедуры сжатия производится
выравнивание ссылок, которые, возможно, требуют коррекции в связи с
изменениями имен файлов в процессе их сжатия.
изменениями имён файлов в процессе их сжатия.
Автоматическая проверка ELF-файлов с поддержкой различных стратегий.
@ -573,7 +583,7 @@ BuildRoot.
которое есть набор из следующих возможных значений:
* none, skip: поиска и проверки не производится;
* rpath=relaxed: проверка RPATH только на наличие недопустимых
елементов;
элементов;
* rpath=normal: relaxed + проверка на наличие более чем одного
элемента в RPATH;
* rpath=strict: проверка на наличие непустого RPATH.
@ -588,7 +598,7 @@ BuildRoot.
различных стратегий выбора файлов, подлежащих обработке.
Зачастую возможно уменьшить размер получаемых в результате сборки
пакета ELF-файлов без потери качества за счет удаления из них
пакета ELF-файлов без потери качества за счёт удаления из них
отладочной информации. Поэтому по окончании работы секции %install все
ELF-файлы выбранных типов обрабатываются программой strip. Выбор типов
файлов определяется значением макроса %_strip_method, которое есть
@ -675,7 +685,7 @@ BuildRoot.
включаемого в секцию %files с помощью опции -f. Точнее говоря, в
качестве этой директивы используется значение макроса %_defattr. Таким
образом, прежнее использование директивы %defattr в начале секций и
файлов следует считать упраздненным.
файлов следует считать упразднённым.
Сборка пакетов привилегированным пользователем.
@ -684,7 +694,7 @@ BuildRoot.
(и нужно) собирать непривилегированным пользователем во избежание
риска разрушения системы и некорректной сборки, сборка пакетов
привилегированным пользователем по умолчанию запрещена. Этот запрет
можно снять путем изменения значения макроса %_allow_root_build.
можно снять путём изменения значения макроса %_allow_root_build.
Bibliography