[devel] golang
Dmitry V. Levin
ldv на altlinux.org
Сб Май 2 16:44:25 MSK 2020
On Sat, May 02, 2020 at 04:25:16PM +0300, Vladimir D. Seleznev wrote:
> On Sat, May 02, 2020 at 01:47:32PM +0300, Alexey V. Vissarionov wrote:
> > On 2020-05-01 23:15:08 +0300, Vladimir D. Seleznev wrote:
> >
> > >> Интересно, зачем пакету golang нужен libselinux-utils? (Смотрю в p9)
> > > $ rpm -qRp /ALT/repo/p9/release/latest/x86_64/RPMS.classic/golang-1.12.17-alt1.x86_64.rpm |grep selinux
> > > /usr/sbin/selinuxenabled
> > > Это — автоматически сгенерированная зависимость,
> > > получившаяся из-за этого скрипта, упакованного в пакет golang:
> > > $ grep "/usr/sbin/selinuxenabled" /usr/lib64/golang/src/make.bash
> > > if [ -d $se_mount -a -f $se_mount/booleans/allow_execstack -a
> > > -x /usr/sbin/selinuxenabled ] &
> > > /usr/sbin/selinuxenabled; then
> >
> > И как такое отключать? Очевидно же, что нужды в libselinux-utils у сабжа
> > нет, несмотря на то, что сабж умеет с ним работать - потому что он умеет
> > работать и без него.
> >
> > Нужен какой-то %requires_skip
>
> Как уже раньше написали, можно использовать %filter_from_requires.
>
> Для автосгенерированных шелл-зависимостей есть хак с написание перед
> командой фиктивной переменной окружения, однако учитывайте, что
> некоторые переменные окружения могут повлиять на выполнение программы:
>
> do
> - if [ -d $se_mount -a -f $se_mount/booleans/allow_execstack -a -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
> + if [ -d $se_mount -a -f $se_mount/booleans/allow_execstack -a -x /usr/sbin/selinuxenabled ] && noreq= /usr/sbin/selinuxenabled; then
> if ! cat $se_mount/booleans/allow_execstack | grep -c '^1 1$' >> /dev/null ; then
Раньше или позже этот код перестанет работать правильно, потому что
местоположение /usr/sbin/selinuxenabled не вечно, а
хак с переменной в любой момент может оказаться исправленным.
Надёжнее будет работать следующий подход:
selinuxenabled=selinuxenabled
if [ -d $se_mount -a -f $se_mount/booleans/allow_execstack ] && type $selinuxenabled >/dev/null 2>&1 && $selinuxenabled; then
--
ldv
Подробная информация о списке рассылки Devel