สิ่งที่ฉันทำในฐานะผู้ใช้ 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