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).