Încerc să construiesc un RPM dintr-o aplicație Python pe mașina RHEL8.2.
shebang-urile de pe scripturi sunt setate corect la #!/usr/bin/python3
cu toate acestea, din anumite motive, shebang-ul este schimbat în #!/usr/libexec/platform-python -s
când este construit RPM.
Am încercat aproape totul.
Am nedefinit deformarea conform documentului: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/packaging_and_distributing_software/advanced-topics
%undefine __brp_mangle_shebangs
dar shebangs se schimbă în continuare.
acestea sunt părțile relevante ale fișierului cu specificații:
%undefine __brp_mangle_shebangs
Nume: myapp
Versiune: 2.0.0
Lansare: 1%{?dist}
rezumat: rpm pentru aplicația mea
BuildArch: noarch
### Creați dependențe ###
BuildRequires: python3-setuptools
BuildRequires: python3-devel
%?python_enable_dependency_generator
%construi
%py3_build
%instalare
%py3_install
%fișiere
....
pot include python*-rpm-macro
la specificații și asta ar pune mâna pe ceva de genul /usr/bin/python3.6
dar este prea restrictiv. Codul nostru funcționează în orice > python3.6, așa că dacă implementăm rpm-ul într-un sistem cu python3.8 ar trebui să funcționeze.
cum pot seta /usr/bin/python3 sau să las shebang neschimbat în scripturile python? cand rpm este ambalat?