From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sat, 2 May 2020 16:44:25 +0300 From: "Dmitry V. Levin" To: ALT Devel discussion list Message-ID: <20200502134425.GA17763@altlinux.org> References: <11147e77-49da-8d63-d6a9-251db433fac1@altlinux.org> <20200501201508.GA2730842@portlab> <20200502104732.GH24180@altlinux.org> <20200502132516.GA2856079@portlab> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200502132516.GA2856079@portlab> Subject: Re: [devel] golang X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 May 2020 13:44:26 -0000 Archived-At: List-Archive: List-Post: 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