Как переопределить CONFIG_SITE в файле спецификации (наилучшая практика)
Если пользователь, пытающийся создать rpm из спецификации, имеет установленный CONFIG_SITE в среде при запуске rpmbuild, и файл сборки строится с помощью "./configure --prefix=/usr && make", то пользовательские настройки в CONFIG_SITE могут полностью искажать сборка. (В качестве конкретного примера, предположим, что /usr/share/config.site имеет строку "prefix=/bar". Тогда манифест файла спецификации будет полностью неверным, а rpmbuild завершится ошибкой.)
Какова лучшая практика для решения этой проблемы? Кажется, что обычная практика - игнорировать это. Я решил установить CONFIG_SITE=true в specfile:
CONFIG_SITE=true./configure --prefix = / usr...
Является ли более распространенным предположение о том, что при запуске rpmbuild существует нетронутая среда, и что нет такой глупости, как сброс префикса в /usr/share/config.site? Или сопровождающий отвечает за то, чтобы спецификационный файл создавал rpm, как ожидалось?
1 ответ
Я думаю, если пользователи настроили глупо config.site
файл, это их собственная вина. Есть, конечно, бесчисленное множество других способов, кроме этого, нанести вред системе; Я бы не беспокоился об этом. Я никогда не видел rpm или deb build script, который беспокоится об этом. Так что, возможно, это ваша "лучшая практика".
Иногда вы можете видеть, что пакет приносит с собой config.site
файл, но затем он обычно поставляется упаковщиком, чтобы переопределить то, что может произойти, возможно, неработающая проверка конфигурации в исходном пакете.