Как переопределить 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 файл, но затем он обычно поставляется упаковщиком, чтобы переопределить то, что может произойти, возможно, неработающая проверка конфигурации в исходном пакете.

Другие вопросы по тегам