รับแพ็กเกจซอร์สเดเบียน - ฉันจะติดตั้งบิลด์ที่สะสมได้อย่างไร


47

ฉันมีแพคเกจซอร์ส debian (ดีทางเทคนิค Ubuntu) เช่น. dsc,. tar.gz ฯลฯ ฉันต้องการสร้างสิ่งนี้ ความdpkg-buildpackageล้มเหลวเนื่องจากฉันไม่มีการอ้างอิงการสร้างทั้งหมด

ปกติฉันจะใช้apt-get build-depแต่แพ็คเกจนี้ไม่เหมาะ

มีวิธี "สะอาด", "เหมาะสม" หรือไม่ในการติดตั้งการขึ้นต่อกันของ build ทั้งหมดที่กำหนดแพ็กเกจซอร์ส ฉันรู้ว่าฉันสามารถเปิดไฟล์ debian / control ได้ แต่ฉันอยากรู้ว่ามีวิธีที่ "เหมาะสม" หรือไม่

ฉันได้ติดตั้งbuild-essentialแล้วและมีคอมไพเลอร์ปกติทุกตัว ฯลฯ แพ็คเกจนี้ต้องการซอฟต์แวร์เพิ่มเติม

คำตอบ:



12

นี่คือตัวอย่างขั้นตอนการทำงานโดยใช้คำแนะนำของ ptman

สมมติว่าคุณได้ดาวน์โหลด.dscไฟล์.orig.*zไฟล์และอาจเป็น.debian.*zไฟล์จากนั้นคลายแพ็กเกจซอร์สด้วย:

dpkg-source -x [package_name]_[package_version].dsc

ย้ายไปยังโฟลเดอร์ซอร์สที่แยกแล้วและรัน:

sudo mk-build-deps -i

สิ่งนี้จะสร้างไฟล์[package_name]-build-deps_[version].debและติดตั้งและติดตั้งการอ้างอิงทั้งหมดที่แนะนำ

ตอนนี้คุณควรจะสามารถสร้างแพ็คเกจของคุณจากแหล่งที่มา:

debuild

เมื่อเสร็จแล้วคุณสามารถลบการอ้างอิงที่ดึงเข้าไปได้อย่างง่ายดายโดยการลบbuild-depsแพ็คเกจที่คุณสร้างขึ้น:

sudo apt-get purge --auto-remove [package_name]-build-deps

2
คุณสามารถส่งผ่าน-rไปยังsudo mk-build-deps -iเพื่อลบแพ็กเกจหลังจากติดตั้ง --root-cmd sudoนอกจากนี้แทนที่จะสร้างเป็นรากคุณสามารถติดตั้งเป็นรากใช้ ในท้ายที่สุดใช้mk-build-deps --install --root-cmd sudo --remove
ลูคัส

นอกจากนี้คุณอาจต้องsudo apt install devscripts equivsก่อน
Alba Mendez

9

ที่จริงฉันสามารถใช้dpkg-checkbuilddepsซึ่งแสดงให้เห็นถึงการสร้างการอ้างอิง นั่นทำให้ฉัน 99% ของสิ่งที่ฉันต้องการ


2
สิ่งที่แปลกมากไฟล์packagename-version.dscมีการขึ้นต่อกันของบิลด์
quack quixote

6

ผมมักจะใช้debuildจากdevscriptsการสร้างแพคเกจและถ้าเกี่ยวข้องจะพิมพ์บรรทัดของที่หายไปสร้าง deps

วิธี "เหมาะสม" คือการใช้pbuilderหรือคล้ายซึ่งจะสร้างแพคเกจในขั้นต่ำchrootและเพียงแค่ติดตั้ง build-deps เพิ่มเติมตามที่ระบุโดยแพคเกจนี้ยังเอาปัญหาที่อาจเกิดขึ้นอื่น ๆ อีกมากมาย (การติดตั้งในท้องถิ่นของห้องสมุดที่ไม่ใช่แพคเกจ ตัวอย่างเช่น).


-6

ลอง:

apt-get install build-essential

ฉันได้ติดตั้ง build-essential แพ็คเกจนี้ต้องการซอฟต์แวร์เพิ่มเติม
Rory

และมันไม่ได้อธิบายว่าต้องมีอะไรบ้าง? อาจจะ libncurses-dev ด้วย
Lanselot

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