[devel] missing interpreter in shebang

Dmitry V. Levin ldv на altlinux.org
Вт Апр 7 03:07:50 MSK 2020


On Tue, Apr 07, 2020 at 02:36:50AM +0300, Alexey Tourbin wrote:
> On Mon, Apr 6, 2020 at 1:58 PM Yuri Sedunov <aris на altlinux.org> wrote:
> > Неудачненько получилось заменить python на python3:
> >
> > http://git.altlinux.org/tasks/249453/gears/100/git?p=git;a=commitdiff;h=5627286fda5ad585180a4523bfccfedd163163da;hp=a81fe36e92950377232c0bddc643bb260d3f9afe
> >
> > diff --git a/api/addwcattr b/api/addwcattr
> > index 40766f9..b7030d7 100755 (executable)
> > --- a/api/addwcattr
> > +++ b/api/addwcattr
> > @@ -1,4 +1,4 @@
> > -#!/usr/bin/env python
> > +#!/usr/bin/env python32
> >  # Copyright 2007-2015  Pavel Rychly, Milos Jakubicek
> >  from __future__ import print_function
> >  from __future__ import unicode_literals
> > diff --git a/api/concinfo b/api/concinfo
> > index 30ee9c4..4f0b70f 100755 (executable)
> 
> shebang.req просто не не нашел python32, и запаковались битые /
> незапускаемые скрипты. Если бы путь к интерпретатору был указан
> абсолютный, а не через /usr/bin/env, то зависимость на
> /usr/bin/python32 проставилась бы в любом случае. Тогда появилась бы
> неудволетоворенная зависимость, что по смыслу лучше, чем незапускаемые
> скрипты (так как она сигнализирует, что для запуска скриптов чего-то
> не хватает). Наверное надо сделать, чтобы shebang.req в таких случаях
> либо принудительно проставлял путь на /usr/bin, либо обрывал сборку.
> 
> shebang.req: /usr/src/tmp/manatee-open-buildroot/usr/bin/addwcattr:
> python32 not found (skip)
> shebang.req: /usr/src/tmp/manatee-open-buildroot/usr/bin/concinfo:
> python32 not found (skip)
> shebang.req: /usr/src/tmp/manatee-open-buildroot/usr/bin/corpconfcheck:
> python32 not found (skip)
> shebang.req: /usr/src/tmp/manatee-open-buildroot/usr/bin/corpdatacheck:
> python32 not found (skip)
> shebang.req: /usr/src/tmp/manatee-open-buildroot/usr/bin/corpquery:
> python32 not found (skip)
> shebang.req: /usr/src/tmp/manatee-open-buildroot/usr/bin/decodevert:
> python32 not found (skip)
> shebang.req: /usr/src/tmp/manatee-open-buildroot/usr/bin/dumpalign:
> python32 not found (skip)

Проверил по свежим логам сборки:

Sisyphus-x86_64/latest/success$ grep '^shebang\.req: .*(skip)' *
contextkit-0.5.27-alt1.427.3:shebang.req: /usr/src/tmp/contextkit-buildroot/usr/bin/context-rlwrap: python2.5 not found (skip)
contextkit-0.5.27-alt1.427.3:shebang.req: /usr/src/tmp/contextkit-buildroot/usr/lib64/python2.7/site-packages/ContextKit/cltool.py: python2.5 not found (skip)
contextkit-0.5.27-alt1.427.3:shebang.req: /usr/src/tmp/contextkit-buildroot/usr/lib64/python2.7/site-packages/ContextKit/flexiprovider.py: python2.5 not found (skip)
gem-thin-1.7.2-alt1:shebang.req: /usr/src/tmp/gem-thin-buildroot/usr/lib/ruby/gems/2.5.0/gems/thin-1.7.2/script/bleak: ruby-bleak-house not found (skip)

Другими словами, от предлагаемого изменения поведения shebang.req
сломается только то, что уже сломано.


-- 
ldv


Подробная информация о списке рассылки Devel