ฉันสามารถสร้างแพ็คเกจใหม่โดยไม่ต้องคอมไพล์ซอร์สใหม่ได้หรือไม่


19

ฉันกำลังสร้าง. deb ใหม่และต้องการแก้ไขข้อผิดพลาดของ lintian ในบรรจุภัณฑ์ อย่างไรก็ตามทุกครั้งที่ฉันสร้างใหม่ไฟล์กฎจะ 'ทำให้สะอาด' และเริ่มการรวบรวมอีกครั้ง

มีวิธีสอนกระบวนการสร้างที่ฉันไม่ต้องการคอมไพล์อีกครั้งหรือไม่ว่าฉันเพิ่งเปลี่ยนบรรจุภัณฑ์และการใช้ไบนารี่ชุดสุดท้ายจะใช้ได้หรือไม่?

คำตอบ:


26

ขึ้นอยู่กับว่าคุณจะสร้างแพ็คเกจอย่างไร dpkg-buildpackageไม่เรียกcleanเป้าหมายหากคุณผ่าน-ncตัวเลือก อีกตัวเลือกที่มีประโยชน์สำหรับการสร้างการทดสอบคือ-uc(อย่าเซ็นชื่อไฟล์การเปลี่ยนแปลง) สืบทอดจากตัวเลือกเหล่านี้debuilddpkg-buildpackage

สำหรับการสร้างการทดสอบคุณสามารถทำได้fakeroot debian/rules binary(ปรับเป้าหมายตามความเหมาะสมสำหรับแพคเกจหลายไบนารี)


8

การใช้ccacheคุณสามารถสร้างแพ็คเกจได้ตามปกติโดยไม่ต้องคอมไพล์ซอร์สไฟล์ที่ไม่เปลี่ยนแปลงซ้ำ

ccache ทำงานได้โดยการเก็บผลลัพธ์เก่า ๆ ของการรวบรวมและสร้างใหม่เฉพาะในกรณีที่แหล่งข้อมูลนั้นเปลี่ยนแปลงจริง

debuild --prepend-path=/usr/lib/ccache --preserve-envvars=CCACHE_*

2
ฉันได้dpkg-buildpackage: unknown option or argument --preserve-envvars=CCACHE_*แต่ฉันออกตัวเลือกที่ดูเหมือนว่าจะตกลงทำงานโดยไม่ได้
เดฟบัตเลอร์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.