updated to rpm-4.0.4-alt28
This commit is contained in:
parent
a10b78109d
commit
febd720f6d
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user