Product SiteDocumentation Site

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

5.3.1. Định dạng

Gói nguồn thường bao gồm ba tệp tin, là .dsc, orig.tar.gz , và .debian.tar.gz (hoặc .diff.gz ). Chúng cho phép tạo các gói nhị phân (.deb các tệp được mô tả ở trên) từ tệp mã nguồn của chương trình, được viết bằng ngôn ngữ lập trình.
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: SHA256

Format: 3.0 (quilt)
Source: zim
Binary: zim
Architecture: all
Version: 0.62-3
Maintainer: Emfox Zhou <emfox@debian.org>
Uploaders: Raphaël Hertzog <hertzog@debian.org>
Homepage: http://zim-wiki.org
Standards-Version: 3.9.6
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/zim.git
Vcs-Git: git://anonscm.debian.org/collab-maint/zim.git
Build-Depends: debhelper (>= 9), xdg-utils, python (>= 2.6.6-3~), libgtk2.0-0 (>= 2.6), python-gtk2, python-xdg
Package-List:
 zim deb x11 optional arch=all
Checksums-Sha1:
 ad8de170826682323c10195b65b9f1243fd75637 1772246 zim_0.62.orig.tar.gz
 a4f70d6f7fb404022c9cc4870a4e62ea3ca08388 14768 zim_0.62-3.debian.tar.xz
Checksums-Sha256:
 19d62aebd2c1a92d84d80720c6c1dcdb779c39a2120468fed01b7f252511bdc2 1772246 zim_0.62.orig.tar.gz
 fc2e827e83897d5e33f152f124802c46c3c01c5158b75a8275a27833f1f6f1de 14768 zim_0.62-3.debian.tar.xz
Files:
 43419efba07f7086168442e3d698287a 1772246 zim_0.62.orig.tar.gz
 725a69663a6c2961f07673ae541298e4 14768 zim_0.62-3.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Signed by Raphael Hertzog

iQEcBAEBCAAGBQJUR2jqAAoJEAOIHavrwpq5WFcH/RsdzCHc1oXXxHitU23hEqMj
T6ok29M1UFDJDowMXW75jQ1nT4WPUtvEGygkCHeoO/PvjEvB0sjU8GQlX+N9ddSB
aHfqfAYmVhADNGxrXQT5inZXUa8qGeeq2Sqf6YcWtsnuD56lDbvxkyf/XYopoIEl
oltfl05z/AI+vYsW482YrCz0fxNAKAvkyuPhDebYI8jnKWeAANoqmKpsNc/HYyvT
+ZiA5o57OiGdOKT6XGy3/FiF3dkHiRY8lXW7xdr1BbIgulwl9UmiUNwuxwOYbQO7
edtjiTJqOaFUA0x1zB/XGv5tHr1MjP8naT+kfVoVHTOox51CDbeu5D3DZY4imcY=
=Wtoa
-----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ả.
Các .debian.tar.gz chứa tất cả các sửa đổi được thực hiện bởi người bảo trì Debian, đặc biệt là bổ sung thư mục debian, thư mục chứa các hướng dẫn để thực hiện xây dựng một gói Debian.

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.