Ketika Anda menggunakan dh_make untuk membuat dasar "debianization", contoh berkas untuk beragam tugas telah dibuat di direktori debian/. Templat mempunyai akhiran .ex. Jika Anda ingin menggunakannya, ubah namanya untuk menghapus ekstensi tersebut. Tapi jika Anda tidak membutuhkannya, hapus berkas tersebut untuk menjaga agar direktori debian/ tetap bersih.
Ada dua tipe dari paket source, asli dan tidak asli. Paket yang asli adalah paket yang khusus dibuat untuk Ubuntu/Debian. Paket tersebut memiliki direktori debian/ yang berisi informasi pembuatan paket serta perubahan yang telah dilakukan terhadap source yang disertakan dalam tarball (biasanya <packagename>_<version>.tar.gz). Paket tidak asli lebih umum lagi. Paket tidak asli membagi paket source menjadi tarball <packagename>_<version>.orig.tar.gz yang mirip (semoga termasuk md5sum) dengan tarball source yang di-download dari laman proyek dan berkas .diff.gz yang berisi semua perbedaan (direktori debian/ dan patch) dari tarball source original.
Berikit adalah daftar masalah potensial yang dapat terjadi bila Anda mengubah tarbal original:
Reproducibility
Jika Anda hanya mengambil .diff.gz dan .dsc, berarti Anda atau orang lain tidak bermaksud mereproduksi perubahan di tarball original.
Mampu untuk di-upgrade
Akan lebih mudah untuk meng-upgrade ke versi upstream (dari pencipta) terbaru jika .orig.tar.gz dijaga dan ada batas yang jelas antara source upstream dengan perubahan yang dilakukan untuk menghasilkan paket source Ubuntu.
Sinkronisasi Debian ke Ubuntu
Mengubah tarball original menyulitkan ketika ingin melakukan singkronisasi otomatis dari Debian ke Ubuntu. Normalnya, hanya berkas .diff.gz dan .dsc yang berubah di versi upstream yang sama, karena berkas .orig.tar.gz dibagi di semua revisi Debian atau Ubuntu. Akan lebih sulit untuk menyingkronisasikan jika berkas md5sum dan .orig.tar.gz tidak sama.
Penggunaan Kendali Revisi untuk paket Debian
Jika Anda menggunakan svn (svn-buildpackage) untuk mengatur paket Debian Anda, biasanya Anda tidak menyimpan tarball original di dalam. Jika ada orang lain yang melakukan checkout, dia akan mendapatkan tarball original secara terpisah. Sistem kendali revisi lainnya dapat digunakan hanya untuk melacak berkas pembuatan paket (debian/, etc.) dan bukannya keseluruhan source. Tapi, jika .orig.tar.gz tidak sama, maka jelas akan timbul masalah.
Melacak Keamanan
Bayangkan situasi dimana seseorang ingin memasukkan backdoor/rootkit atau hal jahat lainnya. Jika tarball original diubah, akan mudah untuk melacak melalui .diff.gz apakah orang yang memodifikasi paket tersebut mencoba melakukan perbuatan jahat. Jika tarball diubah, Anda juga perlu memeriksa perbedaan antara tarball dengan source original.
|
|
|
Anda tetap harus mempercayai bahwa pencipta perangkat lunak tidak melakukan suatu perbuatan jahat, tapi hal itu terlepas dari apakah paket original yang diubah. |
.diff.gz
Opsi untuk menggunakan .diff.gz untuk merefleksikan perubahan yang dilakukan terhadap tarball original telah ada, jadi akan memudahkan untuk melakukan perubahan tanpa harus menyentuh tarball original.
Sangat masuk akal untuk mengubah tarbal original jika satu atau lebih hal berikut adalah benar:
Tarbal tersebut mengandung bagian tidak gratis yang tidak bisa didistribusikan. Hapus bagian tersebut, dan catat hal itu ketika membuat paket. Seringkali paket seperti itu menggunakan "dfsg" (merupakan kependekan dari Debian Free Software Guidelines) di nama paket dan/atau versi untuk mengindikasikan bahwa bagian non-free telah dihapus.
Pemrogram hanya menyediakan source bzip2
Cukup bunzip2 untuk .tar.bz2 dan gzip -9 tar yang dihasilkan.
md5sums dari .tar yang Anda miliki dengan .tar original haruslah sesuai!
Menyediakan aturan get-orig-source di debian/rules yang mengatur konversi ini secara otomatis.
Langsung mengimpor dari SVN
Menyediakan get-orig-source dalam debian/rules.
Berikut ini adalah not alasan untuk mengubah tarball original:
Tata Letak Direktori Yang Salah
|
|
|
dpkg-source cukup fleksibel dan mengatur untuk pembuatan tata letak direktori yang benar bahkan jika:
|
Berkas harus dihapus untuk menjaga agar .diff.gz tetap berukuran kecil (misalnya berkas yang dibuat oleh autotools). Semua hal yang perlu dihapus atau dipindahkan ada di aturan clean. Karena .diff.gz dibuat oleh diff -u, Anda tidak akan melihat berkas yang dihapus di .diff.gz.
Berkas-berkas yang harus diubah. Berkas yang harus diubah harus masuk ke dalam .diff.gz. Karena itulah kegunaannya!
Hak akses berkas yang salah. Anda dapat menggunakan debian/rules untuk keperlukan ini.
|
|
|
Apa yang harus saya lakukan dengan berkas .orig.tar.gz yang sudah disertakan dalam dir Jangan memaketkan ulang. Anda dapat meminta kepada pencipta untuk menghapus direktori debian dan menyediakan .diff.gz. Ini membuat mudah ketika mereka melihat ulang hasil kerjanya, dan memisahkan pembuatan paket dari source paket. |
|
|
|
Ide yang bagus untuk mengontak pencipta program dan menanyakan apakah Anda boleh membenahi masalah autoconf, tata letak direktori, alamat Free Software Foundation yang lama di berkas COPYRIGHT, atau hal lain yang tidak berhubungan dengan pembuatan paket tapi akan lebih baik bagi Anda sehingga Anda tidak perlu "patch" source di .diff.gz. |
Berkas debian/copyright harus memuat:
Informasi lisensi untuk semua berkas di source. Terkadang pencipta menaruh lisensi di COPYING tapi memiliki informasi lisensi yang berbeda untuk beberapa berkas di source.
The copyright holder(s) and year(s).
Semua lisensi kecuali itu merupakan salah satu dari lisensi yang ditemukan di /usr/share/common-licenses, dimana Anda cukup menyertakan mukadimahnya saja.