สิ่งที่ฉันทำในฐานะผู้ใช้ ROOT:
ติดตั้ง SRPM ตามที่คุณต้องการแพ็คเกจอื่น ๆ ( rpm --install [source-rpm-filename]
)
ตรวจสอบ/root/rpmbuild/SPECS
ไดเรกทอรีและค้นหาไฟล์ข้อมูลจำเพาะที่ตรงกับแพ็คเกจของคุณ
rpmbuild -bb /root/rpmbuild/SPECS/[found-filename]
แพ็กเกจไบนารีผลลัพธ์จะอยู่ใน/root/rpmbuild/RPMS/
ไดเร็กทอรีที่พร้อมติดตั้งผ่านrpm --install
คำสั่งมาตรฐาน
หมายเหตุ:นี่เป็นเพียงการสร้างสิ่งที่อยู่ในแพ็คเกจไบนารีมาตรฐาน ฉันโพสต์การตอบคำถามนี้โดยเฉพาะไม่ใช่วิธีการเปลี่ยนแปลงแหล่งข้อมูลและสร้างแพ็คเกจใหม่
หากต้องการทำการแก้ไขคุณสามารถจัดหาแพตช์เป็นอินพุตและเปลี่ยนไฟล์ SPECS .... หรือคุณสามารถแทนที่มาตรฐานที่*.tar.bz2
อยู่ใน/root/rpmbuild/SOURCES
ของคุณเองด้วยการเปลี่ยนแปลงจากนั้นจึงสร้างบิลด์ตามที่อธิบายไว้ข้างต้น
ระวังคุณอาจต้องเปลี่ยนแพคเกจ SPECS เพื่อให้มันทำงานได้ (โดยปกติแล้วจะทำการดึง patching ออกมาและเปลี่ยนชื่อไฟล์บางไฟล์ที่โปรแกรมโดยไฟล์ SPECS)
แก้ไข
ดูเหมือนว่าการสร้าง rpms เนื่องจากรูทเป็นการปฏิบัติที่ไม่ดี ( แหล่งที่มา ) มันทำงานได้ดีในฐานะผู้ใช้ที่ไม่ใช่รูท
คำแนะนำทีละขั้นตอนเพื่อเพิ่มแพทช์ (จากที่นี่ ):
rpmbuild/SOURCES
คัดลอกแพทช์ของคุณเพื่อ
- แก้ไข
rpmbuild/SPECS/package.spec
และเพิ่มPatch0: mypatch.patch
ทันทีหลังSource0: ...
บรรทัด
- หลังจาก
%setup ...
บรรทัดเพิ่ม%patch0 -p1
บรรทัด
ตอนนี้มันจะสร้างตามปกติคือ ด้วย:rpmbuild -ba SPECS/package.spec