[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