2.12. Настройка параметров сборки SRPM
Проблема
В вашей системе действуют особые требования, из-за которых в приложениях должны присутствовать особые возможности, не используемые по умолчанию. По этой причине вы хотите контролировать параметры компиляции SRPM, чтобы обеспечить включение нужных возможностей в приложение.
Решение
Сначала загрузите и установите исходный пакет RPM:
# rpni -ivh samba-3.0.0-15.src.rpm
Затем перейдите в каталог SPECS и откройте файл spec:
# cd /usr/src/redhat/SPECS
# vim samba.spec
Найдите секцию с параметрами %configure:
^configure \
--with-acl-support \
--with-automount \
--with-fhs \
Добавьте или удалите параметры конфигурации, сохраните и закройте файл spec, а затем постройте пакет, как описано в разделе 2.11:
# cd /usr/src/redhat/SPECS
# rpmbuild -bb tuxpaint.spec
Комментарий
Где найти список параметров? Перейдите в каталог SOURCES и распакуйте архив с исходными текстами:
# cd /usr/src/redhat/SOURCES
# tar xzvf samba-3.0.0.tar.bz2
Как упоминалось в разделе 2.11, в вашей системе может использоваться другой каталог исходных текстов.
Найдите в распакованном архиве сценарий configure и запустите его встроенную команду:
# cd /usr/src/redhat/S0URCES/samba-3.0.0/source
# ./configure --help
'configure' configure this package to adapt to many kinds of systems
Optional Packages:
with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
without-PACKAGE do not use PACKAGE
with-fhs Use FHS-compliant paths
with-privated=DIR Where to put smbpasswd
Настроив директиву %configure по своему усмотрению, сохраните и закройте файл.
Создатели пакетов не могут удовлетворить потребности всех пользователей. Настройка SRPM позволит легко обеспечить именно тот набор параметров конфигурации, который нужен в вашем конкретном случае.
В наше время настройка конфигурации SRPM чаще всего применяется для добавления или настройки поддержки аутентификации. Существует много разных внутренних модулей аутентификации (LDAP, MySQL, BerkeleyDB, PostgreSQL) и много разных аутентификационных протоколов. С точки зрения безопасности рекомендуется включать только те возможности, которые будут реально использоваться.
См. также
rpmbuild(8), rpm(8); RPM.org (http://www.rpm.org/); Maximum PRM (http://www.rpm.org/max-rpm/index.htrnl).