ความคิดและวัตถุประสงค์
เหตุผลหลักในการแยกแพ็คเกจต่าง ๆ เหล่านี้เกี่ยวข้องกับพื้นที่ดิสก์และความเร็วในการดาวน์โหลด โดยเฉพาะอย่างยิ่งมันเป็นความกังวลอย่างมากสำหรับพื้นที่กระจกเพราะมันหมายถึงการกระจายสำเนาหลายชุดของข้อมูล โดยการทำให้foo-common
, foo-data
หรือ foo-doc
แพคเกจที่Architecture: all
เราเก็บหนึ่งสำเนาของข้อมูลในการเก็บแทนที่จะต้องคัดลอกมันกับแต่ละสถาปัตยกรรม (เช่น i386, amd64, ect ... ) ผู้ใช้ส่วนใหญ่ไม่จำเป็นต้องใช้สัญลักษณ์การดีบักและสิ้นสุดการดาวน์โหลดแพคเกจใช้เวลานาน
สำหรับแพ็คเกจในคลังเก็บ Ubuntu อย่างเป็นทางการจริง ๆ แล้วไม่มีเหตุผลที่จะสร้าง-dbg
แพ็คเกจด้วยตนเอง เครื่องสร้างจะตัดสัญลักษณ์การตรวจแก้จุดบกพร่องออกโดยอัตโนมัติและใส่ลงใน-dbgsym
แพ็คเกจที่โฮสต์บน ddebs.ubuntu.com (ดู: Debug Symbol Packages ) -dbg
แพ็คเกจที่มีอยู่มักจะถูกยกมาจาก Debian
คำแนะนำ
สำหรับการใช้งานลองดูที่คำถามนี้:
โดยย่อต้องสร้างคลังบทใหม่debian/control
สำหรับแต่ละแพ็คเกจ จากนั้นdebian/foo-*.install
จะต้องสร้างไฟล์เช่นกัน สิ่งนี้จะช่วยให้dh_install
ใส่เนื้อหาที่เหมาะสมลงในแพ็คเกจที่เหมาะสม
foo.install
สำหรับแพคเกจไบนารีหลักอาจมีลักษณะเช่น:
usr/bin/
usr/lib/
foo-common.install
, foo-data.install
, foo-doc.install
หรืออะไรก็ตาม:
/usr/share/doc/
/usr/share/icons/
/usr/share/foo/
/usr/share/locale/
และสำหรับfoo-dev
:
/usr/include/
/usr/lib/pkgconfig
/usr/lib/*.so
การสร้างfoo-dbg
แพ็คเกจจำเป็นต้องแก้ไขdebian/rules
ตามปกติdh_strip
จะตัดสัญลักษณ์การตรวจแก้จุดบกพร่องออก ดังนั้นเราต้องแทนที่พฤติกรรมนั้น:
.PHONY: override_dh_strip
override_dh_strip:
dh_strip --dbg-package=foo-dbg