Tôi đang cố gắng tạo RPM từ ứng dụng python trên máy RHEL8.2.
shebangs trên tập lệnh được đặt chính xác thành #!/usr/bin/python3
tuy nhiên vì một số lý do, shebang được đổi thành #!/usr/libexec/platform-python -s
khi RPM được xây dựng.
Tôi đã thử hầu hết mọi thứ.
Tôi đã xác định xáo trộn theo tài liệu: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/packaging_and_distributing_software/advanced-topics
%undefine __brp_mangle_shebangs
nhưng shebangs vẫn thay đổi.
đây là các phần có liên quan của tệp thông số kỹ thuật:
%undefine __brp_mangle_shebangs
Tên: myapp
Phiên bản: 2.0.0
Phát hành: 1%{?dist}
tóm tắt: rpm cho APP của tôi
BuildArch: noarch
### Xây dựng phụ thuộc ###
Yêu cầu xây dựng: python3-setuptools
Yêu cầu xây dựng: python3-devel
%?python_enable_dependency_generator
%xây dựng
%py3_build
%Tải về
%py3_install
%các tập tin
....
tôi có thể bao gồm python*-rpm-macro
theo thông số kỹ thuật và điều đó sẽ đặt shebang thành một cái gì đó giống như /usr/bin/python3.6
nhưng nó quá hạn chế. Mã của chúng tôi hoạt động trong mọi thứ> python3.6, vì vậy nếu chúng tôi triển khai vòng/phút trong một hệ thống có python3.8 thì mã đó sẽ hoạt động.
làm cách nào tôi có thể đặt/usr/bin/python3 hoặc giữ nguyên shebang trên tập lệnh python? khi rpm được đóng gói?