Product SiteDocumentation Site

5.3. Struktur sebuah Paket Sumber

5.3.1. Format

A source package is usually comprised of three files, a .dsc, a .orig.tar.gz, and a .debian.tar.xz (or .diff.gz). They allow creation of binary packages (.deb files described above) from the source code files of the program, which are written in a programming language.
Berkas .dsc (Debian Source Control) ialah berkas teks pendek berisi header RFC 2822 (seperti berkas control yang dipelajari di Bagian 5.2.1, “Penjelasan: Berkas control) yang menjelaskan paket sumber dan menunjukkan berkas mana yang merupakan bagiannya. Ditanda tangani oleh maintainernya, yang menjamin otentitasnya. Lihat Bagian 6.5, “Pemeriksaan Otentikasi Paket” untuk detail lebih jauh pada hal tersebut.

Contoh 5.1. Berkas .dsc

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 3.0 (quilt)
Source: zim
Binary: zim
Architecture: all
Version: 0.65-4
Maintainer: Emfox Zhou <emfox@debian.org>
Uploaders: Raphaël Hertzog <hertzog@debian.org>
Homepage: http://zim-wiki.org
Standards-Version: 3.9.8
Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/zim.git
Vcs-Git: https://anonscm.debian.org/git/collab-maint/zim.git
Build-Depends: debhelper (>= 9), xdg-utils, python (>= 2.6.6-3~), libgtk2.0-0 (>= 2.6), python-gtk2, python-xdg, dh-python
Package-List:
 zim deb x11 optional arch=all
Checksums-Sha1:
 4a9be85c98b7f4397800f6d301428d64241034ce 1899614 zim_0.65.orig.tar.gz
 0ec38c990ec7662205dd0c843bf81f9033906a2e 10332 zim_0.65-4.debian.tar.xz
Checksums-Sha256:
 5442f3334395a2beafc5b9a2bbec2e53e38270d4bad696b5c4053dd51dc1ed96 1899614 zim_0.65.orig.tar.gz
 78271df16aa166dce916b3ff4ecd705ed3a8832e49d3ef0bd8738a4fe8dd2b4f 10332 zim_0.65-4.debian.tar.xz
Files:
 63ab7a2070e6d1d3fb32700a851d7b8b 1899614 zim_0.65.orig.tar.gz
 648559b38e04eaf4f6caa97563c057ff 10332 zim_0.65-4.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Comment: Signed by Raphael Hertzog

iQEzBAEBCgAdFiEE1823g1EQnhJ1LsbSA4gdq+vCmrkFAlgzZXkACgkQA4gdq+vC
mrnyXAf+M/PzZFjqk6Hvv1QSbocIDZ3bEqRjVpNLApubsPsEZZT6yw9vypzNE2hZ
/BbLPa0Ntbhew4U+SJpuujV7VnLs9mZgOFuKRHKWYQBQ+oxw+gtM6iePwVj58aP/
LW7K5gE428ohMdjIkf42Lz4Fve3dVPgPLIzQxRZ87N6OKqmS81M6/RRIF3TS/gJp
CwpN1yifCfQs46gxL5/CgA4uhI8taz+g+8ZDd6fL5BQeFuNsgplY4QL1uGno3F7G
VY7WZhM601Re2ePnv+6vjh8kDWMjZhfB4RJy0+hHezuoVGKljyaxc1O4P/fxvXus
CEETju6cAE/HgDubDXDqExMwEd4odA==
=HUvj
-----END PGP SIGNATURE-----
Catat bahwa paket sumber juga memiliki ketergantungan (Build-Depends) sangat berbeda dari paket binernya, karena mereka menunjukkan alat yang diperlukan untuk mengompilasi perangkat lunak yang diminta dan membangun paket binernya.
Berkas .orig.tar.gz adalah sebuah arsip berisi kode sumber yang disediakan oleh pengembang aslinya. Maintainer paket Debian diminta untuk tidak memodifikasi arsip ini agar mudah memeriksa keaslian dan integritas berkas (pembandingan dengan checksum) dan menghormati keinginan beberapa penulis.
The .debian.tar.xz contains all of the modifications made by the Debian maintainer, especially the addition of a debian directory containing the instructions to execute to construct a Debian package.

5.3.2. Penggunaannya dalam Debian

Paket sumber adalah dasar dari segalanya di Debian. Seluruh paket Debian datang dari paket sumber, dan setiap perubahan dalam paket Debian ialah konsekuensi dari modifikasi yang dibuat untuk paket sumber. Maintainer Debian bekerja dengan paket sumber, mengatahui, namun, konsekuensi aksi mereka pada paket binernya. Buah dari pekerjaan mereka ialah yang ditemukan di paket sumber yang tersedia dari Debian: Anda dapat dengan mudah kembali ke mereka dan apapun berasal dari mereka.
Ketika versi baru sebuah paket (paket sumber dan satu atau lebih paket biner) ada di server Debian, paket sumberlah yang paling penting. Sebenarnya, ini akan digunakan oleh jaringan mesin yang berbeda arsitekturnya untuk dikompilasi di berbagai arsitektur yang didukung oleh Debian. Kenyataannya pengembang juga mengirim satu atau beberapa paket biner untuk arsitektur khusus (biasanya i386 atau amd64) relatif tidak penting, karena hal ini juga telah dihasilkan secara otomatis.