ตัวอย่างที่น้อยที่สุดกับhello
แพคเกจ
ทั้งหมดนี้และอื่น ๆ มีการอธิบายไว้ที่: https://www.debian.org/doc/manuals/maint-guide/build.en.html
ก่อนอื่นมารับแพ็คเกจตัวอย่างเพื่อแก้ไขซอร์สสำหรับ:
sudo apt-get install hello
hello
เอาท์พุท:
Hello, world!
ตอนนี้เรามาแฮ็คมันกันเถอะ รับแหล่งที่มา:
apt-get source hello
cd hello-*
และเปิด:
vim src/hello.c
และแก้ไขข้อความเป็น:
Hello, world hacked!
จากนั้นทำแบบเดียวกันกับการทดสอบมิฉะนั้นการทดสอบที่น่ารำคาญจะเริ่มล้มเหลว:
vim tests/greeting-1
จากนั้นสร้างใหม่ด้วย:
sudo apt-get install devscripts
sudo apt-get build-dep hello
debuild -b -uc -us
ใกล้ถึงจุดสิ้นสุดของเอาต์พุตมันบอกว่า:
dpkg-deb: building package 'hello' in '../hello_2.10-1build1_amd64.deb'.
ดังนั้นมันจึงสร้าง. deb บนไดเรกทอรีหลักวิธีที่กล้า ในที่สุดเราก็ทำการติดตั้งและทดสอบแพ็คเกจที่แก้ไขแล้ว:
sudo dpkg -i ../hello_2.10-1build1_amd64.deb
hello
และไปที่นั่นมันส่งข้อความใหม่:
Hello, world hacked!
ทดสอบบน Ubuntu 18.04
bzr
คำตอบเก่า
สิ่งที่ต้องทำ: นี้หยุดทำงานบน Ubuntu 16.04 Xenial bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/hello/".
ล้มเหลวด้วย: bzr branch lp:ubuntu/wily/hello
ทำงานและbzr branch lp:ubuntu/xenial/hello
ล้มเหลวอีกครั้ง ด้วยเหตุผลบางอย่างhttps://code.launchpad.net/ubuntu/+source/helloไม่แสดง Xenial: https://web.archive.org/save/https://code.launchpad.net/ubuntu/+source /สวัสดี
เป็นที่กล่าวถึงในhttps://askubuntu.com/a/81889/52975นอกจากนี้ยังมีวิธีการ Ubuntu bzr
เฉพาะกับ
รับรุ่นล่าสุด:
bzr branch lp:ubuntu/hello
รุ่นเฉพาะ:
bzr branch lp:ubuntu/trusty/hello
คุณยังสามารถใช้pull-lp-source
:
sudo apt-get install ubuntu-dev-tools
pull-lp-source hello
จากนั้นคุณจะสามารถแก้ไขได้:
cd hello
vim some_file
สร้างใหม่:
dch -i
debcommit
bzr bd -- -b -us -uc
และติดตั้งมัน:
sudo dpkg -i ../hello.deb
คู่มือบรรจุภัณฑ์อูบุนตูเป็นแหล่งที่ดีของข้อมูล
apt-get
สนับสนุนโปรแกรมโอเพนซอร์สเช่นกันดังนั้นสมมติฐานเริ่มต้นของคุณไม่ถูกต้อง