| dsc(5) | dpkg suite | dsc(5) |
نام (NAME)
dsc - قالب فایل کنترل بسته منبع دبیان
خلاصه دستور (SYNOPSIS)
filename.dsc
توضیحات (DESCRIPTION)
هر بستهٔ منبع دبیان از یک فایل کنترل .dsc تشکیل شده است که حاوی چندین فیلد با قالب deb822(5) میباشد.
هر فیلد با یک برچسب مانند Source یا Binary (غیرحساس به حروف بزرگ و کوچک) آغاز میشود که پس از آن یک دونقطه (:) و سپس بدنهٔ فیلد (حساس به حروف بزرگ و کوچک مگر اینکه خلاف آن ذکر شده باشد) قرار میگیرد. فیلدها فقط با برچسبهای فیلد از یکدیگر متمایز و تفکیک میشوند. به عبارت دیگر، متن فیلد میتواند چندخطی باشد، اما ابزارهای نصب معمولاً هنگام پردازش بدنهٔ فیلد خطوط را به یکدیگر متصل میکنند (بهجز در مورد فیلدهای چندخطی Package-List، Files، Checksums-Sha1 و Checksums-Sha256؛ به زیر مراجعه کنید).
دادههای کنترلی ممکن است همانطور که در RFC9580 مشخص شده است، در یک امضای حفاظتی اسکی (ASCII Armored) از نوع OpenPGP محصور شده باشند.
فیلدها (FIELDS)
- Format: format-version (الزامی)
- مقدار این
فیلد نسخهٔ
قالب بستهٔ
منبع را
مشخص
میکند. این
مقدار توسط
برنامههایی
که با بستهٔ
منبع سر و
کار دارند
برای تفسیر
فهرست
فایلهای
موجود در
بستهٔ منبع
و تعیین
نحوهٔ باز
کردن (unpack) آن
به کار
میرود. نحو
مقدار این
فیلد شامل
یک شماره
بازبینی
اصلی عددی
(“0-9”)، یک
نقطه (“.”)،
یک بازبینی
فرعی عددی
(“0-9”)، و سپس
یک زیرنوع
(subtype) اختیاری
پس از فاصله
(“ \t”) است که
در صورت
مشخص شدن،
کلمهای از
حروف و
ارقام کوچک
(“a-z0-9”) درون
پرانتز (“()”)
خواهد بود.
زیرنوع در
ساختار
نحوی
اختیاری
است اما
ممکن است
برای
بازبینیهای
خاصی از
قالب منبع
الزامی
باشد.
قالبهای منبعی که در حال حاضر توسط dpkg پشتیبانی میشوند عبارتند از: 1.0، 2.0، 3.0 (native)، 3.0 (quilt)، 3.0 (git)، 3.0 (bzr) و 3.0 (custom). برای توضیحات مربوط به آنها به dpkg-source(1) مراجعه کنید.
- Source: source-name (الزامی)
- مقدار این فیلد نام بسته را تعیین میکند و توسط اکثر ابزارهای نصب برای ایجاد نام فایلها استفاده میشود.
- Binary: binary-package-list
- این فیلد
تاخورده (folded)
فهرستی از
بستههای
باینری
تولیدشده
توسط این
بستهٔ منبع
را با کاما
از هم جدا
میکند.
این فیلد اکنون با فیلد Package-List جایگزین شده است که اطلاعات کاملی دربارهٔ بستههای باینری تولیدی در هر معماری، نمایه ساخت (build-profile) و سایر محدودیتهای دخیل ارائه میدهد.
- Architecture: arch-list (توصیهشده)
- فهرست
معماری
مشخص
میکند که
این بسته
روی چه نوع
ماشین یا
معماریای
اجرا
میشود. این
مقدار باید
فهرستی از
نامهای
معماری و/یا
الگوهای
عام (wildcards) باشد
که با فاصله
از هم جدا
شدهاند.
نامهای معماری و الگوهای عام معماری رایج عبارتند از amd64، armel، i386، linux-any، any-amd64 و غیره. توجه داشته باشید که مقدار all برای بستههای مستقل از معماری، و any برای بستههای وابسته به معماری در نظر گرفته شده است. این فهرست میتواند شامل مقدار ویژهٔ all باشد (یا صرفاً از آن تشکیل شده باشد). هنگامی که فهرست شامل الگوی عام any باشد، تنها مقدار مجاز دیگر در فهرست all خواهد بود.
مقدار این فیلد عموماً بر اساس فیلدهای Architecture موجود در فایل debian/control در بستهٔ منبع تولید میشود.
- Version: version-string (الزامی)
- معمولاً
این مقدار
شماره
نسخهٔ اصلی
بسته به هر
شکلی است که
نویسندهٔ
برنامه به
کار برده
است. همچنین
ممکن است
شامل شماره
بازبینی
دبیان (برای
بستههای
غیربومی یا
non-native) باشد.
قالب دقیق و
الگوریتم
مرتبسازی
در deb-version(7) شرح
داده شده
است.
نکته: در برخی توزیعها، dpkg طوری تنظیم شده است که به منابع بومی با نسخههای غیربومی اجازهٔ فعالیت میدهد که این امر ساختار را نامنسجم کرده و به ابهام مفاهیم میافزاید و علاوه بر این ممکن است دامی برای خطاهای ناخواسته باشد.
- Origin: name
- نام توزیعی که این بسته از آن سرچشمه میگیرد.
- Maintainer: fullname-email (توصیهشده)
- باید در قالب “Joe Bloggs <jbloggs@foo.com>” باشد و معمولاً مشخصکنندهٔ شخصی است که بسته را ایجاد کرده است، نه لزوماً نویسندهٔ نرمافزاری که بستهبندی شده است.
- Uploaders: fullname-email-list
- تمام نامها و نشانیهای ایمیل نگهدارندگان همکار بسته را با همان قالب فیلد Maintainer فهرست میکند. نگهدارندگان همکار چندگانه باید با کاما از یکدیگر جدا شوند.
- Description short-description
- long-description
- قالب توضیحات بستهٔ منبع شامل یک خلاصهٔ کوتاه در خط اول (پس از فیلد Description) است. خطوط بعدی باید برای توضیحات کاملتر و با جزئیات بیشتر به کار روند. ابتدای هر خط از توضیحات طولانی باید یک فاصله (space) وجود داشته باشد، و خطوط خالی در توضیحات طولانی باید شامل یک ‘.’ پس از فاصلهٔ ابتدایی باشند.
- Homepage: url
- آدرس url صفحهٔ اصلی پروژهٔ بالادستی.
- Standards-Version: version-string (توصیهشده)
- جدیدترین نسخهٔ استانداردهای خطمشی توزیع را که این بسته با آن مطابقت دارد ثبت میکند.
- Vcs-Browser: url
- آدرس url یک رابط وب برای مرور مخزن سیستم کنترل نسخه (VCS).
- Vcs-Arch: url
- Vcs-Bzr: url
- Vcs-Cvs: url
- Vcs-Darcs: url
- Vcs-Git: url
- Vcs-Hg: url
- Vcs-Mtn: url
- Vcs-Svn: url
- این فیلدها url مخزن سیستم کنترل نسخهٔ مورد استفاده برای نگهداری بسته را اعلام میکنند. برای جزئیات بیشتر به deb-src-control(5) مراجعه کنید.
- Testsuite: name-list
- این فیلد اعلام میکند که بستهٔ منبع حاوی مجموعههای آزمون مشخصشده است. مقدار آن فهرستی از مجموعههای آزمون است که با کاما از هم جدا شدهاند. اگر مقدار autopkgtest موجود باشد، انتظار میرود فایل debian/tests/control وجود داشته باشد؛ اگر این فایل وجود داشته باشد اما مقدار آن ذکر نشده باشد، dpkg-source بهطور خودکار با حفظ مقادیر قبلی، آن را اضافه خواهد کرد.
- Testsuite-Triggers: package-list
- این فیلد
اجتماع
تمام
وابستگیهای
آزمون
(فیلدهای Depends
در فایل
debian/tests/control) را با
حذف تمام
محدودیتها
و تبدیل
وابستگیهای
OR به روابط AND
مجزا اعلام
میکند؛
بهجز
بستههای
باینری
تولیدشده
توسط همین
بستهٔ منبع
و معادل
فرادادهای
وابستگی آن
یعنی @.
دلیل وجودی: این فیلد ضروری است زیرا در غیر این صورت برای به دست آوردن وابستگیهای آزمون، لازم بود هر بستهٔ منبع استخراج (unpack) شود.
- Build-Depends: package-list
- Build-Depends-Arch: package-list
- Build-Depends-Indep: package-list
- Build-Conflicts: package-list
- Build-Conflicts-Arch: package-list
- Build-Conflicts-Indep: package-list
- این فیلدها روابط بین بستهٔ منبع و بستههای مورد نیاز برای ساخت آن را مشخص میکنند. توضیحات تکمیلی پیرامون این موارد در صفحه راهنمای deb-src-control(5) آمده است.
- Package-List:
- package package-type section priority key-value-list
- این فیلد
چندخطی
حاوی
فهرستی از
بستههای
باینری
تولیدشده
توسط این
بستهٔ منبع
است.
مقدار package نام بستهٔ باینری است.
مقدار package-type نوع بستهٔ باینری است؛ معمولاً deb، و مقدار رایج دیگر udeb میباشد.
مقادیر section و priority با فیلدهای همنام در بستهٔ باینری مطابقت دارند، و در صورت حذف شدن بهطور پیشفرض به ترتیب unknown و optional خواهند بود (از نسخه dpkg 1.22.13 به بعد).
مقدار key-value-list فهرستی از زوجهای key=value جداشده با فاصله است و کلیدهای اختیاری شناختهشده در حال حاضر عبارتند از:
- arch
- محدودیت معماری برگرفته از فیلد Architecture بستهٔ باینری، که فاصلهها در آن به ‘,’ تبدیل شدهاند.
- profile
- فرمول
نرمالشدهٔ
محدودیت
نمایه ساخت
(build-profile) برگرفته
از فیلد Build-Profile
بستهٔ
باینری، با
تبدیل ANDها
(فاصله داخل
قلابهای
شکسته) به
‘,’، و ORها
(فاصله بین
قلابهای
شکسته) به
‘+’. تمامی
قلابهای
شکسته در طی
نرمالسازی
حذف
میشوند.
از نسخه 1.23.0 dpkg منسوخ شده و profile:v1 جایگزین آن شده است.
- profile:v1
- فرمول
نرمالشدهٔ
محدودیت
نمایه ساخت
برگرفته از
فیلد Build-Profile
بستهٔ
باینری، با
تبدیل ANDها
(فاصله داخل
قلابهای
شکسته) به
‘&’، و ORها
(فاصله بین
قلابهای
شکسته) به
‘|’. تمامی
قلابهای
شکسته در طی
نرمالسازی
حذف
میشوند.
از نسخه 1.23.0 dpkg پشتیبانی میشود.
- protected
- اگر بستهٔ
باینری
محافظتشده
(protected) باشد،
این کلید
حاوی مقدار
فیلد Protected
یعنی مقدار
yes خواهد
بود.
از نسخه 1.20.1 dpkg پشتیبانی میشود.
- essential
- اگر بستهٔ باینری حیاتی (essential) باشد، این کلید حاوی مقدار فیلد Essential یعنی مقدار yes خواهد بود.
- Files: (الزامی، ضعیف)
- Checksums-Sha1: (الزامی، ضعیف)
- Checksums-Sha256: (الزامی، قوی)
- checksum size filename
- این
فیلدهای
چندخطی
حاوی
فهرستی از
فایلها به
همراه
جمعآزمای
(checksum) و اندازه
برای هر
کدام هستند.
این فیلدها
ساختار
نحوی
یکسانی
دارند و
تنها در
الگوریتم
جمعآزمای
استفادهشده
با یکدیگر
تفاوت
دارند: MD5
برای Files، SHA-1
برای Checksums-Sha1 و SHA-256
برای Checksums-Sha256.
خط اول مقدار فیلد (بخشی که در همان خط نام فیلد پس از دونقطه قرار دارد) همیشه خالی است. محتوای فیلد بهصورت خطوط ادامهدار، یک خط به ازای هر فایل، درج میشود. هر خط شامل جمعآزما، یک فاصله، اندازهٔ فایل، یک فاصله، و نام فایل است.
این فیلدها تمام فایلهایی را که بستهٔ منبع را تشکیل میدهند فهرست میکنند. فهرست فایلها در این فیلدها باید دقیقاً با فهرست فایلها در سایر فیلدهای مرتبط مطابقت داشته باشد.
نکته: جمعآزماهای MD5 و SHA-1 ضعیف در نظر گرفته میشوند و هرگز نباید آنها را برای اعتبارسنجی امن کافی دانست.
گزارش باگها (BUGS)
فیلد Format قالب خود فایل .dsc و قالب بستهٔ منبع استخراجشده را با هم ترکیب و خلط میکند.
همچنین ببینید (SEE ALSO)
deb822(5)، deb-src-control(5)، deb-version(7)، dpkg-source(1).
| 2026-03-06 | 1.23.7-dirty |