Product SiteDocumentation Site

5.3. ساختار یک بسته سورس

5.3.1. قالب

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.
فایل .dsc یا Debian Source Control فایل کوتاهی است مبتنی بر استاندارد RFC 2822 (درست مانند فایل control که در قسمت قسمت 5.2.1, “توضیح: فایل control بررسی شد) که بسته سورس و محتویات آن را مشخص می‌نماید. این فایل توسط توسعه‌دهنده آن امضا شده است که صحت آن را نمایش می‌دهد. برای مطالعه بیشتر در این زمینه به قسمت 6.6, “بررسی صحت بسته‌ها” مراجعه کنید.

مثال 5.1. یک فایل .dsc

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

Format: 3.0 (quilt)
Source: zim
Binary: zim
Architecture: all
Version: 0.75.1-1
Maintainer: Zim Package Maintainers <zim@packages.debian.org>
Uploaders: Raphaël Hertzog <hertzog@debian.org>
Homepage: https://zim-wiki.org
Standards-Version: 4.6.1
Vcs-Browser: https://salsa.debian.org/debian/zim
Vcs-Git: https://salsa.debian.org/debian/zim.git
Build-Depends: debhelper-compat (= 13), python3, python3-gi, python3-xdg, gir1.2-gtk-3.0, dh-python
Package-List:
 zim deb x11 optional arch=all
Checksums-Sha1:
 b4baa294ebc28b07393739875d94fab9557a2e5e 2510821 zim_0.75.1.orig.tar.gz
 e592c9ab8b12276283c6a7bed2246f2e9a843093 10416 zim_0.75.1-1.debian.tar.xz
Checksums-Sha256:
 88e175d7f7e141896f9e958989d252d722556af17bc4bc6f065e7d54287d0385 2510821 zim_0.75.1.orig.tar.gz
 30847b58bb2503b707f1d5c5c356eead31e61db09e677348f07383fcdda3bcb3 10416 zim_0.75.1-1.debian.tar.xz
Files:
 cc73838c1312b5e161d15a51ae4247c4 2510821 zim_0.75.1.orig.tar.gz
 ad84c5ac373071e4957490caf03f3a8b 10416 zim_0.75.1-1.debian.tar.xz

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

iQEzBAEBCgAdFiEE1823g1EQnhJ1LsbSA4gdq+vCmrkFAmO15esACgkQA4gdq+vC
mrkB4AgAj2tYiDW4aQdZfJHr/GGU9rHL99+lTL1VmrXr/I6Z8ggig0JGbTH4Z3lg
QNRu1PbFDJgdO1ho+c0b474iOsT4QTIUu9vHX/enwJ1MiQw8wGDNlsJIS+S33j5n
745p9Y782LTyKaaKPnilHst7pTIGNjmFRlqJr9E8K3gRjZjpTg6HE420epZ6haf1
+gk2npbsy2Psu1LsrbDUCa415COsogar6fpU3Kui3/p8ijT1ED1y9CqoNxATequp
nHkwpnwmi24Y5+RV79SXKW3ECOHTHGKCRWGFtSwCFg0LcAq69cTwnyphXt0gW/+Z
RtG81/jI+mMeRUGsdzdjAVlLK7K75w==
=0po3
-----END PGP SIGNATURE-----
نکته اینکه بسته‌های سورس نیز وابستگی‌های مربوط به خود را دارند (Build-Depends) که کاملاً با وابستگی‌های موجود در بسته‌های باینری تفاوت دارد، چرا که شامل ابزاری جهت کامپایل کردن نرم‌افزار مورد نظر و ایجاد فایل باینری آن هستند.
فایل .orig.tar.gz آرشیو شامل سورس کد از توسعه‌دهنده اصلی برنامه است. از توسعه‌دهندگان بسته در دبیان تقاضا می‌شود که این فایل را به منظور سازگاری هر چه بیشتر با فایل اصلی برنامه، تغییر ندهند (که این کار توسط یک عملیات مقایسه‌ای انجام می‌شود) و به نقظه نظرات نویسنده اصلی احترام بگذارند.
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 one or more Debian binary packages.

5.3.2. کاربرد در دبیان

The source package is the foundation of everything in Debian. All Debian packages come from a source package, and each modification in a Debian package is the consequence of a modification made to the source package. The Debian maintainers work with the source package, knowing, however, the consequences of their actions on the binary packages. The fruits of their labors are thus found in the source packages available from Debian: you can easily go back to them and everything stems from them. فصل 15, ساخت یک بسته دبیان contains some examples.
When a new version of a source package arrives on the Debian server, it will then be used by a network of machines of different architectures for compilation on the various architectures supported by Debian.