Score:0

ป้องกัน rpmbuild จากการเปลี่ยน shebang เมื่อสร้างแพ็คเกจ python บน RH8

ธง fo

ฉันกำลังพยายามสร้าง RPM จากแอปพลิเคชัน python บนเครื่อง RHEL8.2

shebangs บนสคริปต์ถูกตั้งค่าอย่างถูกต้องเป็น #!/usr/bin/python3 อย่างไรก็ตามด้วยเหตุผลบางอย่าง Shebang เปลี่ยนไป #!/usr/libexec/platform-python -s เมื่อ RPM ถูกสร้างขึ้น

ฉันลองเกือบทุกอย่างแล้ว

ฉันไม่ได้กำหนด mangling ตาม doc: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/packaging_and_distributing_software/advanced-topics

 % undefine __brp_mangle_shebangs

แต่ shebangs ยังคงเปลี่ยนไป

นี่คือส่วนที่เกี่ยวข้องของไฟล์ข้อมูลจำเพาะ:

% undefine __brp_mangle_shebangs
ชื่อ: myapp
เวอร์ชัน: 2.0.0
เผยแพร่: 1%{?dist}
สรุป: rpm สำหรับแอปของฉัน

BuildArch: noarch

### สร้างการพึ่งพา ###
BuildRequires: python3-setuptools
BuildRequires: python3-devel

%?python_enable_dependency_generator

%สร้าง
%py3_build


%ติดตั้ง
%py3_install

% ไฟล์
....

ฉันสามารถรวม หลาม*-rpm-มาโคร ตามข้อกำหนดและนั่นจะทำให้ shebang เป็นเช่นนี้ /usr/bin/python3.6 แต่มันมีข้อจำกัดมากเกินไป รหัสของเราทำงานในอะไรก็ได้ > python3.6 ดังนั้นถ้าเราปรับใช้ rpm ในระบบด้วย python3.8 มันควรจะใช้งานได้

ฉันจะตั้งค่า /usr/bin/python3 หรือปล่อยให้ shebang ไม่เปลี่ยนแปลงในสคริปต์หลามได้อย่างไร เมื่อ rpm ถูกบรรจุ?

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา