Product SiteDocumentation Site

5.3. Cấu trúc của Gói nguồn

5.3.1. Định dạng

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.
Tệp .dsc (Debian Source Control) là một tệp văn bản ngắn chứa tiêu đề RFC 2822 (giống như tệp control được nghiên cứu trong Phần 5.2.1, “Mô tả: tệp tin control) nó mô tả gói nguồn và cho biết tệp nào là một phần của nó. Nó được ký bởi người bảo trì của nó, để đảm bảo tính xác thực. Xem Phần 6.5, “Kiểm tra Tính xác thực Gói” để biết thêm chi tiết về chủ đề này.

Ví dụ 5.1. Tệp tin .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-----
Lưu ý rằng gói nguồn cũng có phụ thuộc (Build-Depends) nó hoàn toàn khác so với các gói nhị phân, vì chúng chỉ ra các công cụ cần thiết để biên dịch phần mềm được đề cập và xây dựng gói nhị phân của nó.
Tệp .orig.tar.gz là tệp nén chứa mã nguồn do nhà phát triển ban đầu cung cấp. Người bảo trì gói Debian được yêu cầu không sửa đổi tệp này để có thể dễ dàng kiểm tra nguồn gốc và tính toàn vẹn của tệp (bằng so sánh đơn giản với checksums) và tôn trọng mong muốn của một số tác giả.
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. Cách sử dụng trong Debian

Gói nguồn là nền tảng của mọi thứ trong Debian. Tất cả các gói Debian đều đến từ một gói nguồn, và mỗi sửa đổi trong một gói Debian là kết quả của một sửa đổi đối với gói nguồn. Các nhà bảo trì Debian làm việc với gói nguồn, tuy nhiên biết được hậu quả của hành động của họ đối với các gói nhị phân. Các thành quả của công việc của họ được tìm thấy trong các gói nguồn có sẵn từ Debian: bạn có thể dễ dàng quay lại gói nguồn và mọi thứ bắt nguồn từ chúng.
Khi một phiên bản mới của gói (gói nguồn và một hoặc nhiều gói nhị phân) xuất hiện trên máy chủ Debian, gói nguồn là quan trọng nhất. Thật vậy, nó sẽ được sử dụng bởi một mạng lưới các máy của các kiến trúc khác nhau để biên dịch trên các kiến trúc đó được hỗ trợ bởi Debian. Thực tế là nhà phát triển cũng gửi một hoặc nhiều gói nhị phân cho một kiến trúc nhất định (thường là i386 hoặc amd64) là tương đối không quan trọng vì chúng cũng có thể được tạo tự động.