ด้านล่างฉันสมมติว่าซอร์สนั้นเปิด (เช่นสคริปต์ Python) ซึ่งไม่ได้ผูกกับสถาปัตยกรรมใด ๆ (เช่น amd64 หรือ i386) ดังนั้น "all" หากคุณมีซอร์ส C บางตัวคุณต้องใช้ไฟล์Architecture: amd64 i386
ต้นฉบับของคุณcontrol
การสร้างแพคเกจพร้อมสำหรับ Launchpad
ในที่สุดสิ่งนี้จะกลายเป็นชุดของแพ็คเกจ PPA สำหรับแต่ละแพ็คแพด
สิ่งที่ฉันชอบ (แต่อาจไม่สามารถบรรลุ ... ) คือการทำให้บรรจุภัณฑ์ของฉันให้น้อยที่สุด - สร้างชุดของแพคเกจจากแม่แบบและปรับขั้นต่ำเปล่า (changelog ฯลฯ + ไฟล์ tar)
Launchpad ยอมรับเฉพาะแพ็คเกจต้นทางดังนั้นสร้างrules
ไฟล์ที่ติดตั้งในตำแหน่งที่ถูกต้อง เพื่อความสะดวกผมจะใช้debhelper ไดเรกทอรีพร้อมไฟล์ของคุณควรมีลักษณะดังนี้:
debian/changelog
debian/control
debian/rules
debian/compat
mypluginfolder/...
debian/copyright
ไฟล์ก็อาจจะเป็นประโยชน์สำหรับการแจ้งผู้ใช้เกี่ยวกับใบอนุญาตที่เกี่ยวข้องกับแพคเกจ ฉันไม่คิดว่าคุณต้องการpostinst
สคริปต์เนื่องจากคุณต้องการแยกไฟล์บางไฟล์เท่านั้น compat
ควรมีระดับความเข้ากันได้ของ debhelper, พูดว่า "8" (โปรดดูหน้าคู่มือของ debhelperสำหรับรายละเอียดเพิ่มเติม)
changelog
ไฟล์ที่สามารถแก้ไขได้ด้วยdch
คำสั่งพร้อมใช้งานจากdevscripts
แพคเกจ rules
(ใช้ debhelper) ควรมี:
#!/usr/bin/make -f
%:
dh $@
override_dh_install:
dh_install mypluginfolder/ /usr/share/rhythmbox/plugins
ทำให้มันใช้งานchmod 755 debian/rules
ได้ debuild -S
แพคเกจที่มาสามารถสร้างใช้ <package-name>-<version>
ให้แน่ใจว่าจะอยู่ในไดเรกทอรีชื่อ ข้อมูลเพิ่มเติมเกี่ยวกับoverride_
พฤติกรรมและdh
คำสั่งสามารถพบได้ในหน้าคู่มือหน้าคู่มือของมัน
คู่มือ Debian ใหม่ Maintainers'เป็นที่มีคุณค่ามากสำหรับผมที่จะเข้าใจในเรื่องนี้ก็อ่านหนังสือที่แนะนำ บรรจุภัณฑ์ตัวอย่างสามารถพบได้บนhttps://github.com/Bumblebee-Project/bumblebee-ppa
การสร้างแพ็คเกจจากแผนผังไฟล์ที่มีอยู่
dpkg-deb -b
สามารถใช้สำหรับการสร้าง tarballs จากทรีไฟล์ที่มีอยู่ ก่อนอื่นให้เริ่มด้วยการสร้างไดเรกทอรีที่ควรตั้งชื่อตามแพ็คเกจของคุณ ฉันจะถือว่าคุณต้องการที่จะตั้งชื่อและใส่ไว้ในmyplugin
/usr/share/rhythmbox/plugins/mypluginfolder
นอกจากนี้ให้สร้างDEBIAN
ไดเรกทอรี (ตัวพิมพ์ใหญ่!) สำหรับจัดเก็บข้อมูลแพ็คเกจ:
mkdir -p myplugin/usr/share/rhythmbox/plugins/mypluginfolder
mkdir myplugin/DEBIAN
คัดลอกไฟล์ของคุณ:
cp -r ~/mypluginsfolder myplugin/usr/share/rhythmbox/plugins
ถัดไปคุณจะต้องมีไฟล์ควบคุมที่เรียกว่าmyplugin/DEBIAN/control
ซึ่งอธิบายแพคเกจ เนื้อหาของไฟล์ดังกล่าวอยู่ด้านล่าง:
Package: myplugin
Version: 1.0-1
Maintainer: You <whatever@contact.address>
Architecture: all
Description: plugins for Rhythmbox
Longer description here
.
As you can see, new paragraph are split by a single dot,
and lines have to be indented by one space.
ตอนนี้คุณสามารถเลือกที่จะตรวจสอบเนื้อหาของแพ็คเกจของคุณ คำสั่งถัดไปแสดงเนื้อหาไฟล์และรายการไดเรกทอรีของmyplugin
:
find myplugin -ls
หากคุณพอใจให้สร้างแพ็คเกจในไดเรกทอรีปัจจุบัน:
dpkg-deb -b myplugin .
ไฟล์ใหม่จะปรากฏขึ้นชื่อเหมือน<package>_<version>_<architecture>.deb
ซึ่งอยู่ในตัวอย่างmyplugin_1.0-1_all.deb
นี้ คุณสามารถใช้less
โปรแกรมเพื่อดูไฟล์ ตัวอย่างเช่นless myplugin_1.0-1_all.deb
.