Bug 50059

Summary: shebang.req: too many arguments
Product: Sisyphus Reporter: Yuri N. Sedunov <aris>
Component: rpm-buildAssignee: placeholder <placeholder>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: arseny, glebfm, imz, ldv, placeholder, vt
Version: unstable   
Hardware: all   
OS: Linux   

Description Yuri N. Sedunov 2024-04-17 16:17:33 MSK
Уже в нескольких проектах приходится править шебанги, чтоб удовлетворить shebang.req. Насколько по-вашему его претензии обоснованы?

shebang.req: ERROR: /home/aris/RPM/TMP/gnome-shell-extension-gsconnect-buildroot/usr/libexec/installed-tests/gsconnect/minijasmine: too many arguments: #!/usr/bin/env -S gjs -m
find-requires: ERROR: /usr/lib/rpm/shebang.req failed
ошибка: /bin/sh failed
ошибка: Failed to find Requires
Comment 1 Arseny Maslennikov 2024-04-18 12:47:53 MSK
(In reply to Yuri N. Sedunov from comment #0)
> Уже в нескольких проектах приходится править шебанги, чтоб удовлетворить
> shebang.req. Насколько по-вашему его претензии обоснованы?
> 
> shebang.req: ERROR:
> /home/aris/RPM/TMP/gnome-shell-extension-gsconnect-buildroot/usr/libexec/
> installed-tests/gsconnect/minijasmine: too many arguments: #!/usr/bin/env -S
> gjs -m
> find-requires: ERROR: /usr/lib/rpm/shebang.req failed
> ошибка: /bin/sh failed
> ошибка: Failed to find Requires

Кроме gjs -m, есть и другие случаи, где полезны интерпретаторы со своими параметрами, например, perl -w. Так что, полагаю, если мы разрешаем /usr/bin/env gjs, то и /usr/bin/env '-S gjs -m' стоит разрешить.
Comment 2 Repository Robot 2024-05-20 13:00:04 MSK
rpm-build-4.0.4.199-alt1 -> sisyphus:

 Fri May 17 2024 Arseny Maslennikov <arseny@altlinux> 4.0.4.199-alt1
 - vt@:
   + Allowed env shebang with split-string arguments (ALT#50059).
 - shaba@:
   + systemd-services.req.files: add /usr/lib/systemd/system for system units,
     since that is a valid unit file location on merged-usr systems.