มีคู่มือของบรรจุภัณฑ์ดั้งเดิมของ Debian หรือไม่?


4

ฉันรู้สึกว่ามันเป็นระเบียบขนาดใหญ่กับผู้ช่วย ข้อมูลส่วนใหญ่จาก google บนบรรจุภัณฑ์ Debian กำลังจะสร้างแพคเกจ Debian สำหรับแพคเกจแหล่งข้อมูลที่มีอยู่แล้วหรือ Debian-ize รอบ Makefile เป็นต้น

ฉันมีแพ็คเกจบอกว่า xyz-0.1 มีเพียงเชลล์สคริปต์ที่ไม่มี Makefile เลย มันควรจะง่ายต่อการสร้างแพ็คเกจ Debian แต่ฉันติดอยู่กับข้อผิดพลาดต่อไปนี้

$ dh_make --createorig
...
$ cat debian/rules
...
build: 

binary: 
    (There's nothing to do with build, because xyz-0.1 contains only shell scripts)

$ debuild
...
dpkg-genchanges: error: cannot read files list file: No such file or directory
dpkg-buildpackage: error: dpkg-genchanges gave error exit status 2
debuild: fatal error at line 1340:
dpkg-buildpackage -rfakeroot -D -us -uc failed

(debhelper 7.4.15ubuntu1)

แม้ว่าการสร้างไฟล์เปล่า `เดเบียน / ไฟล์ 'จะแก้ปัญหานี้ได้ แต่มันไม่ควรเป็นวิธีที่ถูกต้อง

โดยทั่วไปบอกว่ามีคำแนะนำบางอย่างแบบฝึกหัดที่ครอบคลุมเกี่ยวกับวิธีการใช้ debhelper รอบแพคเกจ Debian เดิมหรือไม่?


สำหรับคำแนะนำเกี่ยวกับบรรจุภัณฑ์ Debian โปรดดูเว็บไซต์ใหม่ของ Ubuntu ubuntu.stackexchange.com .
Evan Kroske

คำตอบ:


5

คู่มืออ้างอิงสำหรับแพ็คเกจ Debian คือ คู่มือผู้ดูแล Debian ( /usr/share/doc/maint-guide/ ) นอกจากนั้นแล้ว dh_* หน้าคนเอกสารสร้างอัตโนมัติ นโยบาย Debian ( /usr/share/doc/debian-policy/ ) และ การอ้างอิงของ Debian Developer ( /usr/share/doc/developers-reference/ ) มีคำแนะนำเพิ่มเติม

เพิ่ม: ด้วยเวอร์ชั่นที่เสถียรในปัจจุบัน (Debian lenny, Ubuntu 10.04) debhelperค่าเริ่มต้น debian/rules ไฟล์ถูกทำให้ง่ายขึ้นเป็นสองบรรทัดและสิ่งต่าง ๆ ส่วนใหญ่ทำงานโดยอัตโนมัติ

%:
    dh $@

หากสิ่งใดไม่ได้ผลให้ตรวจสอบโดยดูที่แหล่งที่มาของ /usr/bin/dh และเห็นอะไร dh_* โปรแกรมที่จะเรียกใช้ --after และ --remaining ตัวเลือกเพื่อ dh มักจะมีประโยชน์เมื่อทำการดีบักการสร้างแพ็คเกจ

ส่วน debian/filesมันไม่ได้บังคับเว้นแต่ว่าคุณจะปรับเปลี่ยนกฎการสร้าง หากคุณต้องการความช่วยเหลือโปรดโพสต์ลำดับข้อความแสดงข้อผิดพลาดทั้งหมด (ไม่ใช่แค่บรรทัดสุดท้าย) ในภาษาอังกฤษดั้งเดิม มันอาจช่วยให้ทราบรุ่นของ dh-make, debhelper และ devscripts แพคเกจ


ฉันแก้ไขข้อผิดพลาด เวอร์ชันของ debhelper คือ 7.4.15ubuntu1 และไม่รู้จักรุ่นสอง (null)
Xiè Jìléi

@ 谢继雷: โดยปกติสิ่งที่จะสร้าง debian/files เป็นส่วนหนึ่งของกฎการสร้าง หากคุณยังต้องการความช่วยเหลือคุณควรโพสต์กฎการสร้างทั้งหมดและผลลัพธ์ทั้งหมดของ debuild.
Gilles

@ 谢继雷: หากคุณไม่มี dh-make และ devscripts แพ็คเกจที่ทำ dh_make และ debuild คำสั่งมาจากไหน?
Gilles

กฎนั้นง่ายมันเพิ่งนิยามใหม่ของ build' and เป้าหมายไบนารี 'ว่างเปล่า เพราะไม่มีอะไรให้ทำในการสร้างและค่าเริ่มต้น binary' target does too much unnecessary jobs. The problem is resolved after I added dh_prep, dh_gencontrol, and dh_builddeb to the เป้าหมายไบนารี นั่นเป็นไปตามวิธีลองและดูซึ่งไม่เข้มงวดกับ Debian โดยรวม เอกสารที่คุณกล่าวถึงไม่ครอบคลุมในแพ็คเกจ Debian ดั้งเดิม (ซึ่งหมายความว่าแพคเกจนี้มีเฉพาะสำหรับ Debian) มากเกินไปและฉันคิดว่าบางทีฉันควรเขียน Makefile แทนและจากนั้น Debianize
Xiè Jìléi

@ 谢继雷: dh_make สร้าง debian/rules ที่ได้ผล หากคุณไม่มี makefile ให้ใส่เครื่องหมายที่บรรทัดที่เรียก $(MAKE) (ด้วยเครื่องมือเวอร์ชันล่าสุดไม่มีเลย) อย่าเพิ่งลบ dh_* เว้นแต่คุณจะรู้ว่าคุณกำลังทำอะไรอยู่
Gilles
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.