Saya mengunduh sumber ke sebuah paket menggunakan:
$ apt-get source gkrellweather
Saya juga memastikan saya memiliki dependensi kompilasi:
$ sudo apt-get build-dep gkrellweather
Dan saya menguji bahwa itu dapat membangun dengan baik:
$ cd gkrellweather-2.0.8
$ debuild
Itu membangun .deb
paket di folder di atas, yang bisa saya instal menggunakan:
$ sudo dpkg -i ../gkrellweather*.deb
OK jadi semuanya sudah di tempat. Ayo mulai!
Saya membuka kode sumber di Vim dan membuat beberapa perubahan yang saya inginkan. Kemudian saya mencoba membangun kembali:
$ debuild
Tapi saya mendapat kesalahan berikut:
...
dh_clean: Compatibility levels before 5 are deprecated (level 4 in use)
dpkg-source -b gkrellweather-2.0.8
dpkg-source: warning: no source format specified in debian/source/format, see dpkg-source(1)
dpkg-source: info: using source format `1.0'
dpkg-source: info: building gkrellweather using existing gkrellweather_2.0.8.orig.tar.gz
dpkg-source: info: building gkrellweather in gkrellweather_2.0.8-2.diff.gz
dpkg-source: error: cannot represent change to gkrellweather-2.0.8/.gkrellweather.c.swp: binary file contents changed
dpkg-source: warning: the diff modifies the following upstream files:
GrabWeather
Makefile
gkrellweather.c
dpkg-source: info: use the '3.0 (quilt)' format to have separate and documented changes to upstream files, see dpkg-source(1)
dpkg-source: unrepresentable changes to source
dpkg-buildpackage: error: dpkg-source -b gkrellweather-2.0.8 gave error exit status 1
debuild: fatal error at line 1357:
dpkg-buildpackage -rfakeroot -D -us -uc failed
Mengapa?
-i
akan diteruskandebuild
kedpkg-buildpackage
dan kemudian kedpkg-source
, yang halaman manualnya mengatakan bahwa regexp dapat disediakan. Tanpa pengujian, saya kira-i'(^|/)\.(git|idea|pybuild)($|/)'
mungkin bekerja untuk Anda.Ini telah membuat saya tersandung lebih dari sekali sebelumnya. Kadang-kadang saya berpikir alasan untuk kesalahan debuild setelah mengubah sumber adalah bahwa setelah sumber telah diubah, tanda tangan pengelola paket (signoff) tidak lagi berlaku untuk sumber itu.
Tetapi sebenarnya dalam hal ini jawabannya sederhana:
Masalahnya adalah bahwa Vim telah menciptakan swafile , dan
debuild
tidak suka itu!Solusinya sederhana: hapus swapfile, dan kemudian bangunan dapat bekerja:
sumber