[devel-ports] .rpmmacros для сборки Alt-овских пакетов.
gosha
=?iso-8859-1?q?gosha_=CE=C1_elins=2Eru?=
Пн Окт 1 08:42:24 MSD 2007
Здравствуйте.
Как понимаю, для сборки Alt-овских пакетов нежно определить в файле
.rpmmacros следующие макросы:
Т.е. они не жестко пропатчены в rpm т.к., напр ,
bin на gosha:~/RPM/BUILD/rpm-4_0-4.0.4$ grep -r -F _pam_modules_dir * <cr>
ничего не находит.
==================================================================================
%homedir
: домашний каталог пользователя, вызывающего этот макрос;
%{homedir:user}
: домашний каталог пользователя user.
Макросы для часто используемых каталогов.
manpages:
%_man1dir, %_man2dir, %_man3dir, %_man4dir, %_man5dir,
%_man6dir, %_man7dir, %_man8dir, %_man9dir;
X11R6:
%_x11dir, %_x11bindir, %_x11libdir, %_x11includedir,
%_x11mandir, %_x11datadir, %_x11fontsdir;
альтернативы:
%_altdir;
лицензии:
%_licensedir;
меню:
%_menudir, %_iconsdir, %_miconsdir, %_liconsdir;
service:
%_initdir;
control:
%_controldir;
emacs:
%_emacslispdir;
pam:
%_pam_modules_dir;
tcl:
%_tcllibdir, %_tcldatadir;
kernel:
%patches_dir, %kernel_srcdir;
ruby:
%ruby_archdir, %ruby_libdir, %ruby_sitearchdir, %ruby_sitelibdir;
другие системные:
%_cachedir, %_lockdir, %_logdir, %_spooldir.
Управление опциями компилятора gcc.
%add_optflags <options>:
добавить указанные параметры в стандартный набор %optflags;
%remove_optflags <options>:
убрать указанные параметры из стандартного набора %optflags;
%optflags_core:
базовые параметры;
%_optlevel:
уровень оптимизации;
%optflags_optimization:
параметры, отвечающие за оптимизацию, кроме
архитектурно-зависимых;
%optflags_warnings:
warning options;
%optflags_debug:
debugging options;
%optflags_shared:
параметры, применяемые для порождения корректного кода для DSO;
%optflags_nocpp:
параметры, отключающие поддержку C++ exceptions и C++ RTTI;
%optflags_notraceback:
-fomit-frame-pointer;
%optflags_fastmath:
-ffast-math;
%optflags_strict:
-fstrict-aliasing.
По умолчанию, стандартный набор %optflags состоит из
``%optflags_core %optflags_warnings %optflags_optimization''.
Выбор версии используемых GCC.
%set_gcc_version:
выбор версии GCC из множества установленных в системе.
По умолчанию используется /usr/bin/i586-alt-linux-gcc.
Выбор версии используемых GNU Autotools.
%set_autoconf_version:
выбор версии autoconf из множества установленных в системе;
%set_automake_version:
выбор версии automake из множества установленных в системе;
%set_libtool_version:
выбор версии libtool из множества установленных в системе.
По умолчанию используется версия default.
Макросы-надстройки над утилитой make.
%__nprocs:
число процессоров, доступных для сборки с помощью %make_build;
%make_build:
вызов make с параметром, обеспечивающим оптимальную
параллельную сборку в данной среде;
%make_install:
вызов make c инициализацией переменной INSTALL, что в случае
корректной реализации Makefileов пакета позволяет сохранить
дату последней модификации файлов, что особенно важно для
документации;
%makeinstall:
``%make_install <инициализация других переменных, используемых
многими Makefileами> install''.
Регистрация разделяемых библиотек.
%post_ldconfig, %post_ldconfig_lib:
регистрация новых/обновлённых библиотек;
%post_ldconfig_sys:
регистрация новых/обновлённых системных библиотек (которые
могут быть использованы в chroot'ах);
%postun_ldconfig:
отмена регистрации удалённых библиотек.
Регистрация документации в формате info.
%install_info:
регистрация новых/обновлённых info-страниц;
%uninstall_info:
отмена регистрации удалённых info-страниц.
Регистрация меню.
%update_menus:
регистрация новых/обновлённых меню;
%clean_menus:
отмена регистрации удалённых меню.
Регистрация оконных менеджеров.
%update_wms:
регистрация новых/обновлённых описаний оконных менеджеров;
%clean_wms:
отмена регистрации удалённых описаний оконных менеджеров.
Регистрация каталогов scrollkeeper.
%update_scrollkeeper:
регистрация новых/обновлённых каталогов;
%clean_scrollkeeper:
отмена регистрации удалённых каталогов.
Вспомогательные макросы %configure.
%__libtoolize:
путь к скрипту libtoolize;
%_configure_script:
путь к скрипту configure;
%_configure_target:
целевая платформа для configure;
%_configure_gettext:
-without-included-gettext.
Серверные макросы.
%post_service:
регистрация нового сервиса при установке, перезапуск при
обновлении;
%preun_service:
отмена регистрации сервиса и его выключение при удалении.
Макросы, определяющие некоторые аспекты packaging policy.
%buildroot:
значение BuildRoot;
%_defattr:
атрибуты файлов и каталогов по умолчанию для каждой секции
%files и для каждого файла, включаемого в таких секциях;
%_cleanup_method:
метод, используемый при удалении ненужных файлов в секции
%install;
%_compress_method:
метод, используемый при сжатии документации в секции %install;
%_findprov_default_method:
метод, используемый по умолчанию при поиске предоставляемых
зависимостей;
%_findreq_default_method:
метод, используемый по умолчанию при поиске требуемых
зависимостей;
%_fixup_method:
метод, используемый при исправлении файлов в секции %install;
%_verify_elf_method:
метод, используемый при проверке ELF-файлов в секции %install;
%_strip_method:
метод, используемый при обработке ELF-файлов в секции %install;
%_perl_req_method
: метод, используемый при поиске зависимостей в perl-скриптах;
%_findprov_lib_path
: список каталогов, в которых производится поиск ELF-файлов на
наличие предоставляемых зависимостей;
%_{cleanup,compress,fixup,strip,verify_elf,findreq,findprov}_topdir:
точка начала поиска файлов, обрабатываемых соответствующим
методом;
%_{cleanup,compress,fixup,strip,verify_elf,findreq,findprov}_skiplist:
список шаблонов файлов, которые будут пропущены при обработке
соответствующим методом;
%_unpackaged_files_terminate_build:
параметр, определяющий влияние неупакованных файлов на
результат сборки;
%set_{cleanup,compress,fixup,strip,verify_elf,perl_req}_method:
изменить значение соответствующего макроса;
%set_{cleanup,compress,fixup,strip,verify_elf,findreq,findprov}_{topdi
r,skiplist}:
изменить значение соответствующего макроса;
%add_{cleanup,compress,fixup,strip,verify_elf,findreq,findprov}_skipli
st:
добавить значение в соответствующий список;
%{add,set}_findprov_lib_path:
добавить значение в список / изменить список каталогов, в
которых производится поиск ELF-файлов на наличие
предоставляемых зависимостей;
%_keep_libtool_files:
определяет, подлежат ли автоматическому удалению ненужные
вспомогательные файлы libtool'а.
Вызов вспомогательных программ.
%find_lang:
вызов /usr/lib/rpm/find-lang
%strip_executable:
вызов /usr/lib/rpm/brp-strip для обработки ELF executables;
%strip_relocatable:
вызов /usr/lib/rpm/brp-strip для обработки ELF relocatables;
%strip_shared:
вызов /usr/lib/rpm/brp-strip для обработки ELF shared objects;
%strip_static:
вызов /usr/lib/rpm/brp-strip для обработки ELF ar archives;
%cleanup_build:
вызов /usr/lib/rpm/brp-cleanup;
%compress_docs:
вызов /usr/lib/rpm/brp-compress;
%strip_binaries:
вызов /usr/lib/rpm/brp-strip;
%clean_buildroot:
выполнение rm -rf %buildroot, если %buildroot не указывает на
настоящий /.
Управление процессом сборки.
%_rpmbuild_clean:
управляет включённым по умолчанию для rpmbuild -rebuild и
rpmbuild -recompile режимом удаления промежуточных файлов и
каталогов.
%_rpmbuild_packagesource:
управляет выключенным по умолчанию для rpmbuild -rebuild и
rpmbuild -recompile режимом создания пакетов с исходным кодом.
%buildmulti:
альтернативная директива %build для случая, когда в секции
%build происходит заполнение %buildroot. Вообще говоря, такой
техники стоит избегать во всех случаях, когда это возможно;
%_deps_optimization:
управляет включённым по умолчанию режимом оптимизации
зависимостей;
%_build_lang:
значение переменных LANG, LANGUAGE и LC_ALL;
%_build_display:
значение переменной DISPLAY;
%_build_xauthority:
значение переменной XAUTHORITY;
%__ccache_cc:
значение переменной CCACHE_CC;
%__ccache_dir:
значение переменной CCACHE_DIR.
Версии некоторых установленных в системе пакетов.
glibc:
%__glibc_version, %__glibc_version_major,
%__glibc_version_minor;
gcc:
%__gcc_version, %__gcc_version_major, %__gcc_version_minor,
%__gcc_version_base;
python:
%__python_version;
%get_version:
версия указанного пакета;
%get_release:
релиз указанного пакета;
%get_serial:
serial указанного пакета;
%add_serial:
serial указанного пакета в виде, пригодном для включения в
spec-файл;
%get_SVR:
тройка значений serial:version-release указанного пакета;
%get_NSVR:
четвёрка значений name-serial:version-release указанного
пакета;
%get_dep:
строка вида name >= serial:version-release, построенная по
указанному пакету;
Эти макросы, как правило, используются в пакетах, сборка которых
возможна с различными версиями этих программ, если эти версии
правильно учитывать.
Управление процессом обработки spec-файлов.
%def_with, %def_without, %def_enable, %def_disable:
установка значения макросов условия с указанием значения по
умолчанию;
%check_def:
проверка макросов условия на непротиворечивость;
%subst_with, %subst_enable:
подстановка значения макросов условия;
%defined, %undefined:
проверка на существование макроса;
%with, %without, %enabled, %disabled:
проверка значения макросов условия;
%ifdef, %ifndef:
ветвление по факту существования макроса;
%if_with, %if_without, %if_enabled, %if_disabled:
ветвление по значению макросов условия;
Прочие макросы.
%intel:
список архитектур intel, совместимых с i386;
%amd:
список архитектур amd, совместимых с i386;
%ix86:
список всех архитектур, совместимых с i386;
компоненты макроса %packager:
%packagerName, %packagerAddress;
%_internal_gpg_path:
путь к связке ключей ALT Linux Team.
==================================================================================
Реально ли окуда-нибудь скачать ли Alt-овский .rpmacros , где все эти
макросы уже определены?
--
С Уваженим,
gosha.
Подробная информация о списке рассылки devel-ports