Contoh minimal dengan hello
paket
Semua ini dan lebih banyak dijelaskan di: https://www.debian.org/doc/manuals/maint-guide/build.en.html
Pertama mari kita dapatkan paket sampel untuk memodifikasi sumber untuk:
sudo apt-get install hello
hello
output:
Hello, world!
Sekarang mari kita hack itu. Dapatkan sumbernya:
apt-get source hello
cd hello-*
dan buka:
vim src/hello.c
dan ubah pesan menjadi:
Hello, world hacked!
Kemudian lakukan hal yang sama pada tes jika tes menjengkelkan akan mulai gagal:
vim tests/greeting-1
Kemudian bangun kembali dengan:
sudo apt-get install devscripts
sudo apt-get build-dep hello
debuild -b -uc -us
Menjelang akhir output, dikatakan:
dpkg-deb: building package 'hello' in '../hello_2.10-1build1_amd64.deb'.
jadi itu menciptakan deb di direktori induk. Beraninya. Jadi akhirnya kami menginstal dan menguji paket yang dimodifikasi:
sudo dpkg -i ../hello_2.10-1build1_amd64.deb
hello
dan begitulah, itu menampilkan pesan baru:
Hello, world hacked!
Diuji pada Ubuntu 18.04.
bzr
Jawaban lama
TODO: ini berhenti bekerja pada Ubuntu 16.04 Xenial, gagal dengan: bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/hello/".
. bzr branch lp:ubuntu/wily/hello
berfungsi dan bzr branch lp:ubuntu/xenial/hello
gagal lagi. Untuk beberapa alasan https://code.launchpad.net/ubuntu/+source/hello tidak menunjukkan Xenial: https://web.archive.org/save/https://code.launchpad.net/ubuntu/+source /Halo
Seperti disebutkan di https://askubuntu.com/a/81889/52975 ada juga pendekatan khusus Ubuntu dengan bzr
.
Dapatkan versi terbaru:
bzr branch lp:ubuntu/hello
Versi spesifik:
bzr branch lp:ubuntu/trusty/hello
Anda juga dapat menggunakan pull-lp-source
:
sudo apt-get install ubuntu-dev-tools
pull-lp-source hello
Maka Anda akan dapat mengeditnya:
cd hello
vim some_file
Bangun kembali:
dch -i
debcommit
bzr bd -- -b -us -uc
Dan instal:
sudo dpkg -i ../hello.deb
The Ubuntu panduan kemasan merupakan sumber informasi yang baik.
apt-get
tidak mendukung program sumber tertutup juga, jadi asumsi awal Anda salah.