Как переопределить CONFIG_SITE в файле спецификации (наилучшая практика) - PullRequest
1 голос
/ 26 мая 2011

Если пользователю, пытающемуся создать 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 Ответ

1 голос
/ 30 мая 2011

Я думаю, что если пользователи установят глупый файл config.site, это их собственная ошибка. Есть, конечно, бесчисленное множество других способов нанести вред системе; Я бы не беспокоился об этом. Я никогда не видел rpm или deb build script, который беспокоится об этом. Так что, возможно, это ваша "лучшая практика".

Время от времени вы можете видеть, что пакет несет свой собственный файл config.site, но затем он обычно поставляется упаковщиком для переопределения того, что может произойти из-за неправильной проверки конфигурации в исходном пакете.

...