Bug 49815 - macros %py3_shebang_fix
Summary: macros %py3_shebang_fix
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm-macros-python3 (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: kotopesutility@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-27 11:25 MSK by Anton Shevtsov
Modified: 2024-04-09 14:34 MSK (History)
12 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Shevtsov 2024-03-27 11:25:31 MSK
У RH есть вот такой макрос py3_shebang_fix 

%py3_shebang_fix %buildroot/%_bindir/file

А у нас нет. Быть может стоит позаимствовать?


https://src.fedoraproject.org/fork/lbalhar/rpms/python-rpm-macros/blob/bb334db9f37bfc05f6b12ec784cd05a686bb4a4d/f/macros.python3

%_py3_shebang_s s
	
%_py3_shebang_P %(RPM_BUILD_ROOT= %{__python3} -Ic "import sys; print('P' if hasattr(sys.flags, 'safe_path') else '')")
	
%py3_shbang_opts -%{?_py3_shebang_s}%{?_py3_shebang_P}
	
%py3_shbang_opts_nodash %(opts=%{py3_shbang_opts}; echo ${opts#-})
	
%py3_shebang_flags %(opts=%{py3_shbang_opts}; echo ${opts#-})
	
%py3_shebang_fix %{expand:\\\
	
  if [ -z "%{?py3_shebang_flags}" ]; then
	
    shebang_flags="-k"
	
  else
	
    shebang_flags="-ka%{py3_shebang_flags}"
	
  fi
	
  %{__python3} -B %{_rpmconfigdir}/redhat/pathfix.py -pni %{__python3} $shebang_flags}
Comment 1 Grigory Ustinov 2024-03-27 14:28:48 MSK
У нас нет больше pathfix.py, но была уже идея реализовать это sed'ом.
Comment 2 kotopesutility 2024-04-08 18:56:15 MSK
Был вот такой вариант:
https://git.altlinux.org/people/kotopesutility/packages/rpm-build-python3.git?p=rpm-build-python3.git;a=commitdiff;h=bb7e421e5e69720a222cac285651b11c3cbfb89b

То есть для переданного списка файлов/каталогов он заменит shebang с python* на %__python3. Если это то, чего бы нам хотелось, то можно отправлять
Comment 3 Andrew Vasilyev 2024-04-08 19:32:52 MSK
(Ответ для kotopesutility на комментарий #2)
> Был вот такой вариант:
> https://git.altlinux.org/people/kotopesutility/packages/rpm-build-python3.
> git?p=rpm-build-python3.git;a=commitdiff;
> h=bb7e421e5e69720a222cac285651b11c3cbfb89b
> 
> То есть для переданного списка файлов/каталогов он заменит shebang с python*
> на %__python3. Если это то, чего бы нам хотелось, то можно отправлять

  Прекрасный вариант, чтобы уже отправить!
Comment 4 Repository Robot 2024-04-09 14:34:05 MSK
rpm-build-python3-0.1.25-alt1 -> sisyphus:

 Mon Apr 08 2024 Daniel Zagaynov <kotopesutility@altlinux> 0.1.25-alt1
 - Implement %python3_fix_shebang macro (thx to vt) (closes #49815).