Product SiteDocumentation Site

5.3. بنية الحزمة المصدرية

5.3.1. الصيغة

تتألف الحزمة المصدرية عادة من ثلاثة ملفات، ملف ‎.dsc، وملف ‎.orig.tar.gz، و ‎.debian.tar.gz (أو ‎.diff.gz). تسمح هذه الملفات بإنشاء حزمة ثنائية (ملف ‎.deb الذي تحدثنا عنه) من الشفرة المصدرية للبرنامج، المكتوبة بإحدى اللغات البرمجية.
ملف ‎.dsc (‏Debian Source Control) هو ملف نصي يحوي ترويسة RFC2822 (مثل ملف control الذي درسناه في قسم 5.2.1, “وصف: الملف control) الذي يصف الحزمة المصدرية ويحدد الملفات الأخرى التي تنتمي إليها. يوقّع المشرف على الحزمة هذا الملف، لضمان سلامته. انظر قسم 6.5, “التحقق من سلامة الحزم” لمزيد من التفاصيل على هذا الموضوع.

مثال 5.1. ملف ‎.dsc

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 3.0 (quilt)
Source: zim
Binary: zim
Architecture: all
Version: 0.48-1
Maintainer: Emfox Zhou <emfox@debian.org>
Uploaders: Raphaël Hertzog <hertzog@debian.org>
Homepage: http://zim-wiki.org
Standards-Version: 3.9.0
Vcs-Browser: http://svn.debian.org/wsvn/collab-maint/deb-maint/zim/trunk?op=log
Vcs-Svn: svn://svn.debian.org/collab-maint/deb-maint/zim/trunk
Build-Depends: debhelper (>= 7.4.12), python-support (>= 0.8), xdg-utils, python (>= 2.5), libgtk2.0-0 (>= 2.6), python-gtk2, python-xdg, python-simplejson | python (>= 2.6)
Checksums-Sha1: 
 bd84fa5104de5ed85a49723d26b350856de93217 966899 zim_0.48.orig.tar.gz
 352111ff372a20579664416c9abd4970839835b3 9615 zim_0.48-1.debian.tar.gz
Checksums-Sha256: 
 77d8df7dc89b233fdc3aab1a8ad959c6888881ae160770f50bf880a56e02f895 966899 zim_0.48.orig.tar.gz
 0fceab5d3b099075cd38c225fa4002d893c1cdf4bbcc51d1391a34248e1e1a22 9615 zim_0.48-1.debian.tar.gz
Files: 
 88cfc18c0c7339528d5f5f463647bb5f 966899 zim_0.48.orig.tar.gz
 608b6e74aa14252dfc6236ab184bdb0c 9615 zim_0.48-1.debian.tar.gz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Signed by Raphael Hertzog

iQEcBAEBCAAGBQJMSUAfAAoJEAOIHavrwpq5qjUIAKmM8p86GcHYTxMmKENoBUoW
UPi5R7DzrLMbFrUXKgXWLvEKQTXpmkJhh2aSWq2iY+5piBSHwMiITfaBTpdTRvzU
5nT/n9MlF8sJFESet/NgZaMPFDzWUbIy5aYbuG1TXmn/7XiDrBaQGiVqKkVLPrqc
yWhsotn3JNKIjbPDW/DjImYyKD5RZpXrbVjuIgDT1E6yxtNYwUyBlK0cx/GITNep
uV48hsT8cj0paqVXl5+P9Ww8XIE3clxNpE/45/tvKvkqGOeysc6OPAqsIw6HYFY9
0EnvMTfMpeQOA68ZqsNpUjomv5r/EGwdCbAWo5iJDsZzXQ1Feh6iSNrjv3yeRzg=
=qnbh
-----END PGP SIGNATURE-----
لاحظ أن الحزمة المصدرية لها اعتماديات أيضاً (Build-Depends) تختلف تماماً عن اعتماديات الحزم الثنائية، لأن الاعتماديات هنا تُبيّن الأدوات اللازمة لترجمة البرنامج الذي تحويه وبناء حزمته الثنائية.
الملف ‎.orig.tar.gz هو أرشيف يحوي الشفرة المصدرية بالشكل الذي يقدمه المطور الأصلي. يُطلَب من مشرفي حزم دبيان عدم تعديل هذا الأرشيف حتى يمكن التحقق بسهولة من مصدر الملف وسلامته (بمقارنة بسيطة بين شفرات التحقق) ولاحترام رغبات بعض المطورين.
يحوي ‎.debian.tar.gz جميع التعديلات التي يجريها مشرف دبيان، خصوصاً إضافة مجلد debian الذي يحوي التعليمات الواجب تنفيذها لبناء حزمة دبيان.

5.3.2. الاستخدام في دبيان

الحزم المصدرية هي أساس كل شيء في دبيان. جميع الحزم الدبيانية تنشأ من حزم مصدرية، وكل تعديل في حزمة دبيانية هو نتيجة تعديل في الحزمة المصدرية. يتعامل مشرفو دبيان مع الحزم المصدرية، لكن مع معرفة تبعات تعديلاتهم على الحزم الثنائية. فثمرات جهودهم إذن تراها في الحزم المصدرية التي توفرها دبيان: يمكنك الرجوع لها ولكل شيء ينتج عنها بسهولة.
عند وصول نسخة جديدة من الحزمة (حزمة مصدرية وحزمة ثنائية واحدة أو أكثر) إلى مخدم دبيان، الحزمة المصدرية هي الأهم. وفعلاً، سوف تعمل شبكة من الأجهزة ذات المعماريات المختلفة على ترجمتها للمعماريات المتنوعة التي تدعمها دبيان. إن إرسال المطور لحزمة ثنائية واحدة أو أكثر لمعمارية معينة (عادة i386 أو amd64) غير مهم نسبياً، لأنه يمكن توليد هذه الحزم آلياً أيضاً.