Bug 20096 - Надо тщательнее проверять шебанг.
Summary: Надо тщательнее проверять шебанг.
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm-build (show other bugs)
Version: unstable
Hardware: all Linux
: P3 enhancement
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-19 00:24 MSD by Sir Raorn
Modified: 2010-07-05 10:01 MSD (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sir Raorn 2009-05-19 00:24:23 MSD
В shebang.req:ShebangReq() надо добавить проверку что $1 - абсолютный путь.
Comment 1 Repository Robot 2010-07-01 21:34:07 MSD
rpm-4.0.4-alt98.37 -> sisyphus:

* Thu Jul 01 2010 Dmitry V. Levin <ldv@altlinux> 4.0.4-alt98.37
- shebang.req (ShebangReq): Ensure that interpreter is specified
  as an absolute pathname (closes: #20096).
- platform.in: Enabled %check in buildreq mode (closes: #23030).
- pkgconfig.req (PkgconfigReqProv): Relaxed version check.
Comment 2 at@altlinux.org 2010-07-05 10:01:54 MSD
Шебанг с неабсолютным путём просто не обрабатывается.
Так что 4.0.4-alt98.36-3-g7b74686 ничего не дает.

line=$(sed -n '1s|^#![[:space:]]*/|/|p;q' "$f")
[ -n "$line" ] || return 0

Ну и потом file(1) не определяет неабсолютный шебанг как "script text executable".  Прежде чем проверять шебанг нужно его определить.  А без абсолютного пути считается что шебанга как бы вообще нет. Так что это просто плохо обдуманный багрепорт и плохо обдуманное изменение.

$ cat test.pl
#!perl
#
$ file test.pl
test.pl: ASCII text
$