วิธีแก้ปัญหาซอร์ส dpkg เมื่อสร้างแพ็คเกจ?


16

มีใครบ้างที่นี่มีประสบการณ์ในการสร้างแพ็คเกจ Debian / Ubuntu บ้างไหม? ฉันกำลังพยายาม backport แพ็คเกจ lammps ( http://packages.ubuntu.com/quantal/lammps ) จาก Ubuntu 12.10 (Quantal) เป็น Ubuntu 12.04

ฉันต้องการมันอย่างไม่เป็นทางการเพียงแค่ต้องการแพ็คเกจ. deb เพื่อประโยชน์ของความสะดวกสบายเมื่อสร้างอิมเมจเครื่องเสมือนที่กำหนดเองสำหรับการปรับใช้กับแพลตฟอร์ม IaaS

ปฏิบัติตามคู่มือบรรจุภัณฑ์ Ubuntu ที่https://wiki.ubuntu.com/PackagingGuideฉันสามารถสร้างได้สำเร็จยกเว้นเมื่อฉันพยายามสร้างใหม่โดยใช้คำสั่งdebuildฉันมักจะได้รับข้อผิดพลาดนี้:

 dpkg-source: error: aborting due to unexpected upstream changes, see
 /tmp/lammps_0~20120615.gite442279-1.diff.aie32n dpkg-source: info: you
 can integrate the local changes with dpkg-source --commit
 dpkg-buildpackage: error: dpkg-source --include-binaries -i -b
 lammps-0~20120615.gite442279 gave error exit status 2

การเรียกใช้ 'make clean-all' ที่ไดเร็กทอรี src ยังไม่สามารถแก้ปัญหาได้ มีวิธีใดที่จะล้างไฟล์ทั้งหมดที่ถูกสร้างขึ้นในระหว่างกระบวนการ build หรือถาม debuild เพื่อเพิกเฉยต่อความแตกต่างในไฟล์ต้นฉบับ?

คำตอบ:


6

ซึ่งหมายความว่าคุณได้นำการเปลี่ยนแปลงไปใช้กับต้นทางต้นทางที่ไม่มีการแพคซึ่งไม่ได้เป็นส่วนหนึ่งของแพตช์ในdebian/patches/ไดเรกทอรีหรือระบุไว้ในseriesไฟล์ที่อยู่ในนั้น และ / หรือมีความไม่สอดคล้องกันบ้างในสถานะของการใช้งานแพตช์ของผ้าห่ม

ดูไฟล์ที่กล่าวถึงใน / tmp จะแสดงการเปลี่ยนแปลงในคำถาม


ขอบคุณมากสำหรับคำตอบอย่างรวดเร็วมีวิธีที่รวดเร็วในการกู้คืนการเปลี่ยนแปลงที่ทำโดย 'ทำ' แทนที่จะเลิกทำการบันทึกการเปลี่ยนแปลงทั้งหมดในไฟล์ / tmp / * diff * หรือไม่
hanxue

29

หลีกเลี่ยงระบบราชการของเดเบียนด้วยการสร้างไบนารี่: dpkg-buildpackage -b


1
สิ่งนี้ไม่มีประโยชน์หากคุณตั้งใจจะอัพโหลดไปยังเดเบียน
jeremiah

4
@ Jeremiah แต่มีประโยชน์มากถ้าคุณปรับแต่งแพ็คเกจเดเบียนสำหรับการใช้งานส่วนตัว
Wyatt8740

10

เปลี่ยนรูปแบบใน debian / source / format จาก 3.0 (quilt) เป็น 3.0 (native) หากคุณไม่ต้องการใช้ quilt นี่แก้ปัญหาให้ฉันได้แล้ว


นี้! Quilt เป็นไปไม่ได้
Jay _silly_evarlast_ Wren

1
ฉันติดตามความคิดเห็นนี้อย่างไร้เดียงสาตามที่เป็นอยู่ ผลกระทบสุทธิจะเป็นไปได้ว่างานสร้างของคุณจะไม่ใช้โปรแกรมแก้ไขในเดเบียน / โปรแกรมแก้ไขอีกต่อไป คุณช่วยขยายคำตอบโดยอธิบายว่าคุณเพิ่มเวทย์มนตร์ที่จำเป็นในการเดเบียน / กฎเพื่อใช้แพตช์จริงได้อย่างไร?
Thomas Vander Stichele


1

ฉันเห็นปัญหานี้เมื่อผ้าห่มไม่ถูกต้องฉันได้ใช้โปรแกรมแก้ไขกับสำเนาการทำงานของฉัน (คุณสามารถค้นหาสถานะปัจจุบันได้ในโฟลเดอร์. pc) การแก้ไขในกรณีที่กำลังจะบังคับให้ผ้าห่มที่จะปรากฏเป็นหย่อม ๆ quilt pop -a -fทั้งหมดที่มี


0

สิ่งนี้อาจเกิดขึ้นได้หากคุณทำเอกสาร "Debian" ทั้งหมด แต่เกิดขึ้นว่ามีสิ่งที่เอ้อระเหยจากความพยายามครั้งก่อน โดยเฉพาะอย่างยิ่งการเปลี่ยนแปลงที่สร้างขึ้นโดยอัตโนมัติเพื่อ“ config.sub”,“ config.guess” และ“ Makefile”

คุณสามารถใส่มันในเดเบียน / แหล่งที่มา / ตัวเลือก:

# Don't store changes on autogenerated files
extend-diff-ignore = "(^|/)(config\.sub|config\.guess|Makefile)$"

Ref: https://raphaelhertzog.com/2011/01/28/3-ways-to-not-clutter-your-debian-source-package-with-autogenerated-files/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.