.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "deb-src-control 5" .TH deb-src-control 5 2026-03-06 1.23.7-dirty "dpkg suite" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" deb\-src\-control \- فرمت فایل کنترلی قالب بسته‌های سورس دبیان .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBdebian/control\fR .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" هر بسته سورس دبیان شامل فایل کنترلی قالب سورس \(Fo\fBdebian/control\fR\(Fc است، و فرمت \fBdeb822\fR\|(5) آن ابرمجموعه‌ای از فایل \fBcontrol\fR ارائه‌شده در بسته‌های باینری دبیان محسوب می‌شود؛ به \fBdeb\-control\fR\|(5) مراجعه کنید. .PP این فایل دست‌کم شامل ۲ بند (stanza) است که با یک خط خالی از هم جدا شده‌اند. بند نخست، بند بسته سورس نامیده می‌شود و تمامی اطلاعات درباره بسته سورس را به صورت کلی فهرست می‌کند، در حالی که هر یک از بندهای بعدی، بندهای بسته باینری نامیده می‌شوند و دقیقاً یک بسته باینری را در هر بند توصیف می‌کنند. هر بند حداقل از یک فیلد تشکیل شده است. یک فیلد با نام فیلد آغاز می‌شود، مانند \fBPackage\fR یا \fBSection\fR (غیرحساس به بزرگی و کوچکی حروف)، به دنبال آن یک دونقطه، بدنه فیلد (حساس به بزرگی و کوچکی حروف مگر آنکه خلافش ذکر شود) و یک خط جدید قرار می‌گیرد. فیلدهای چندخطی نیز مجاز هستند، اما هر خط تکمیلی، بدون نام فیلد، باید حداقل با یک فاصله (space) شروع شود. محتوای فیلدهای چندخطی معمولاً توسط ابزارها به یک خط متصل می‌گردد (به جز در مورد فیلد \&\fBDescription\fR، به شرح زیر مراجعه کنید). برای درج خطوط خالی درون یک فیلد چندخطی، یک نقطه بعد از فاصله درج کنید. خطوطی که با یک \(oq\fB#\fR\(cq شروع می‌شوند، به عنوان کامنت در نظر گرفته می‌شوند. .SH "فیلدهای سورس (SOURCE FIELDS)" .IX Header "SOURCE FIELDS" .IP "\fBSource:\fR \fIsource\-package\-name\fR (required)" 4 .IX Item "Source: source-package-name (required)" مقدار این فیلد، نام بسته سورس است، و باید با نام بسته سورس در فایل debian/changelog مطابقت داشته باشد. نام بسته باید تنها شامل حروف کوچک انگلیسی (a\-z)، ارقام (0\-9)، علامت‌های مثبت (+) و خط تیره (\-) و نقطه (.) باشد. نام بسته‌ها باید حداقل دو کاراکتر طول داشته باشند و با یک کاراکتر الفبایی\-عددی کوچک (a\-z0\-9) آغاز شوند. .IP "\fBMaintainer:\fR \fIfullname\-email\fR (recommended)" 4 .IX Item "Maintainer: fullname-email (recommended)" باید در قالب \(FoJoe Bloggs \(Fc باشد، و به شخصی اشاره دارد که در حال حاضر از بسته نگهداری می‌کند، برعکس پدیدآورنده نرم‌افزار یا بسته‌بند اصلی. .IP "\fBUploaders:\fR \fIfullname\-email\fR" 4 .IX Item "Uploaders: fullname-email" تمامی نام‌ها و نشانی‌های ایمیل همکاران نگه‌دارنده بسته را در همان قالب فیلد \fBMaintainer\fR فهرست می‌کند. چندین همکار نگه‌دارنده باید با یک کاما از یکدیگر جدا شوند. .IP "\fBStandards\-Version:\fR \fIversion\-string\fR" 4 .IX Item "Standards-Version: version-string" این فیلد جدیدترین نسخه از استانداردهای سیاست توزیع را که این بسته با آن سازگار است، مستند می‌کند. .IP "\fBDescription\fR \fIshort\-description\fR" 4 .IX Item "Description short-description" .PD 0 .IP "\ \fIlong\-description\fR" 4 .IX Item " long-description" .PD قالب توصیف بسته سورس به صورت یک چکیده کوتاه در خط اول است (پس از فیلد \fBDescription\fR). خطوط بعدی باید برای یک توصیف طولانی‌تر و با جزئیات بیشتر به کار روند. هر خط از توصیف طولانی باید با یک فاصله شروع شود، و خطوط خالی در توصیف طولانی باید شامل یک \(oq\fB.\fR\(cq تنها پس از فاصله ابتدایی باشند. .IP "\fBHomepage:\fR \fIurl\fR" 4 .IX Item "Homepage: url" نشانی URL صفحه خانگی پروژه بالادستی (upstream). .IP "\fBBugs:\fR \fIurl\fR" 4 .IX Item "Bugs: url" نشانی \fIurl\fR سامانه پیگیری اشکالات برای این بسته. قالب مورد استفاده فعلی به صورت \fIbts\-type\fR\fB://\fR\fIbts\-address\fR است، مانند \&\fBdebbugs://bugs.debian.org\fR. این فیلد معمولاً مورد نیاز نیست. .IP "\fBBuild\-Driver:\fR \fIdriver\-name\fR" 4 .IX Item "Build-Driver: driver-name" این فیلد آزمایشی، نام راه‌انداز ساخت مورد استفاده برای ساخت این بسته را مشخص می‌کند. در صورت عدم درج، مقدار \fIdriver\-name\fR به صورت پیش‌فرض \fBdebian\-rules\fR خواهد بود. .Sp این فیلد از نسخه dpkg 1.22.7 پشتیبانی می‌شود. .IP "\fBRules\-Requires\-Root:\fR \fBno\fR|\fBbinary\-targets\fR|\fIimpl\-keywords\fR" 4 .IX Item "Rules-Requires-Root: no|binary-targets|impl-keywords" این فیلد برای مشخص کردن این به کار می‌رود که آیا فایل \fBdebian/rules\fR برای اجرای برخی از تارگت‌های خود به دسترسی‌های (fake)root نیاز دارد یا خیر، و اگر نیاز دارد در چه زمانی. .RS 4 .IP \fBno\fR 4 .IX Item "no" تارگت‌های باینری اصلاً به (fake)root نیازی نخواهند داشت. این مقدار در سطح \fBdpkg\-build\-api\fR بزرگتر یا مساوی ۱، یا از نسخه dpkg 1.22.13 حالت پیش‌فرض است. .IP \fBbinary\-targets\fR 4 .IX Item "binary-targets" تارگت‌های باینری باید همیشه تحت (fake)root اجرا شوند. این مقدار در سطح ۰ \fBdpkg\-build\-api\fR تا نسخه dpkg 1.22.13، در صورت عدم درج فیلد، پیش‌فرض است؛ افزودن این فیلد با مقدار صریح \fBbinary\-targets\fR، اگرچه کاملاً ضروری نیست، اما نشان می‌دهد که این بسته برای این نیازمندی مورد تحلیل قرار گرفته است. .IP \fIimpl\-keywords\fR 4 .IX Item "impl-keywords" این یک فهرست جدا شده با فاصله از کلیدواژه‌ها است که مشخص می‌کنند چه زمانی (fake)root مورد نیاز است. .Sp کلیدواژه‌ها شامل \fInamespace\fR/\fIcases\fR هستند. بخش \fInamespace\fR نمی‌تواند شامل «/» یا فاصله باشد. بخش \fIcases\fR نمی‌تواند شامل فاصله باشد. علاوه بر این، هر دو بخش باید کاملاً از کاراکترهای اسکی (ASCII) قابل چاپ تشکیل شده باشند. .Sp هر ابزار/بسته یک فضای‌نام با نام خودش تعریف می‌کند و تعدادی از مواردی را که در آن به (fake)root نیاز است، ارائه می‌دهد. (به «Implementation provided keywords» در \fIrootless\-builds.txt\fR مراجعه کنید). .Sp هنگامی که این فیلد روی یکی از \fIimpl\-keywords\fR تنظیم شود، ابزار سازنده رابطی را ارائه می‌دهد که برای اجرای یک دستور تحت (fake)root استفاده می‌شود. (به «Gain Root API» در \fIrootless\-builds.txt\fR مراجعه کنید). .RE .RS 4 .RE .IP "\fBTestsuite:\fR \fIname\-list\fR" 4 .IX Item "Testsuite: name-list" .PD 0 .IP "\fBTestsuite\-Triggers:\fR \fIpackage\-list\fR" 4 .IX Item "Testsuite-Triggers: package-list" .PD این فیلدها در صفحه راهنمای \&\fBdsc\fR\|(5) توصیف شده‌اند، زیرا از اطلاعات استنتاج‌شده از \&\fBdebian/tests/control\fR تولید شده یا به طور مستقیم در فایل کنترل سورس کپی می‌شوند. .IP "\fBVcs\-Arch:\fR \fIurl\fR" 4 .IX Item "Vcs-Arch: url" .PD 0 .IP "\fBVcs\-Bzr:\fR \fIurl\fR" 4 .IX Item "Vcs-Bzr: url" .IP "\fBVcs\-Cvs:\fR \fIurl\fR" 4 .IX Item "Vcs-Cvs: url" .IP "\fBVcs\-Darcs:\fR \fIurl\fR" 4 .IX Item "Vcs-Darcs: url" .IP "\fBVcs\-Git:\fR \fIurl\fR" 4 .IX Item "Vcs-Git: url" .IP "\fBVcs\-Hg:\fR \fIurl\fR" 4 .IX Item "Vcs-Hg: url" .IP "\fBVcs\-Mtn:\fR \fIurl\fR" 4 .IX Item "Vcs-Mtn: url" .IP "\fBVcs\-Svn:\fR \fIurl\fR" 4 .IX Item "Vcs-Svn: url" .PD نشانی \fIurl\fR مخزن سیستم کنترل نسخه مورد استفاده برای نگهداری این بسته. در حال حاضر موارد پشتیبانی‌شده عبارتند از \fBArch\fR، \fBBzr\fR (مخفف Bazaar)، \fBCvs\fR، \&\fBDarcs\fR، \fBGit\fR، \fBHg\fR (مخفف Mercurial)، \fBMtn\fR (مخفف Monotone) و \&\fBSvn\fR (مخفف Subversion). معمولاً این فیلد به جدیدترین نسخه بسته اشاره می‌کند، مانند شاخه اصلی (main) یا trunk. .IP "\fBVcs\-Browser:\fR \fIurl\fR" 4 .IX Item "Vcs-Browser: url" نشانی \fIurl\fR یک رابط وب برای مرور مخزن سیستم کنترل نسخه. .IP "\fBOrigin:\fR \fIname\fR" 4 .IX Item "Origin: name" نام توزیعی که این بسته از آن سرچشمه می‌گیرد. این فیلد معمولاً مورد نیاز نیست. .IP "\fBSection:\fR \fIsection\fR" 4 .IX Item "Section: section" این یک فیلد عمومی است که دسته‌ای را بر اساس نرم‌افزاری که نصب می‌کند به بسته اختصاص می‌دهد. برخی از بخش‌های متداول عبارتند از \fButils\fR، \fBnet\fR، \fBmail\fR، \fBtext\fR، \&\fBx11\fR و غیره. .Sp در صورت عدم درج، مقدار \fIsection\fR به صورت پیش‌فرض \fBunknown\fR خواهد بود (از نسخه dpkg 1.22.13). .Sp مقادیر پذیرفته‌شده بر اساس سیاست‌های خاص توزیع تعیین می‌شوند. .IP "\fBPriority:\fR \fIpriority\fR" 4 .IX Item "Priority: priority" اهمیت این بسته را در ارتباط با کل سیستم تعیین می‌کند. اولویت‌های شناخته‌شده عبارتند از \fBrequired\fR، \fBimportant\fR، \fBstandard\fR، \fBoptional\fR، \&\fBextra\fR و \fBunknown\fR، اما مقادیر دیگر را نیز می‌توان به کار برد. .Sp در صورت عدم درج، مقدار \fIpriority\fR به صورت پیش‌فرض \fBoptional\fR خواهد بود (از نسخه dpkg 1.22.13). .Sp نحوه اِعمال این مقادیر به سیاست‌های خاص توزیع بستگی دارد. .IP "\fBBuild\-Depends:\fR \fIpackage\-list\fR" 4 .IX Item "Build-Depends: package-list" فهرستی از بسته‌ها که برای امکان ساخت از بسته سورس، باید نصب و پیکربندی شده باشند. این وابستگی‌ها باید هنگام ساخت بسته‌های وابسته به معماری یا مستقل از معماری باینری و بسته‌های سورس برآورده شوند. قرار دادن یک وابستگی در این فیلد اثر کاملاً یکسانی با قرار دادن آن در هر دو فیلد \fBBuild\-Depends\-Arch\fR و \fBBuild\-Depends\-Indep\fR ندارد، زیرا این وابستگی باید هنگام ساخت بسته سورس نیز برآورده شود. .IP "\fBBuild\-Depends\-Arch:\fR \fIpackage\-list\fR" 4 .IX Item "Build-Depends-Arch: package-list" مشابه \fBBuild\-Depends\fR است، اما آن‌ها تنها هنگام ساخت بسته‌های وابسته به معماری مورد نیاز هستند. در این حالت فیلدهای \fBBuild\-Depends\fR نیز نصب می‌شوند. این فیلد از نسخه dpkg 1.16.4 پشتیبانی می‌شود؛ جهت ساخت با نسخه‌های قدیمی‌تر dpkg، باید از \fBBuild\-Depends\fR به جای آن استفاده شود. .IP "\fBBuild\-Depends\-Indep:\fR \fIpackage\-list\fR" 4 .IX Item "Build-Depends-Indep: package-list" مشابه \fBBuild\-Depends\fR است، اما آن‌ها تنها هنگام ساخت بسته‌های مستقل از معماری مورد نیاز هستند. فیلدهای \fBBuild\-Depends\fR نیز در این حالت نصب می‌شوند. .IP "\fBBuild\-Conflicts:\fR \fIpackage\-list\fR" 4 .IX Item "Build-Conflicts: package-list" فهرستی از بسته‌ها که هنگام ساخت بسته نباید نصب باشند، برای نمونه به این دلیل که با سیستم ساخت مورد استفاده تداخل دارند. قرار دادن یک وابستگی در این فهرست همان اثری را دارد که قرار دادن آن در هر دو فیلد \fBBuild\-Conflicts\-Arch\fR و \&\fBBuild\-Conflicts\-Indep\fR دارد، همراه با اثر افزوده که برای ساخت‌های منحصراً سورس نیز استفاده می‌شود. .IP "\fBBuild\-Conflicts\-Arch:\fR \fIpackage\-list\fR" 4 .IX Item "Build-Conflicts-Arch: package-list" مشابه \fBBuild\-Conflicts\fR است، اما تنها هنگام ساخت بسته‌های وابسته به معماری اعمال می‌شود. این فیلد از نسخه dpkg 1.16.4 پشتیبانی می‌شود؛ جهت ساخت با نسخه‌های قدیمی‌تر dpkg، باید از \fBBuild\-Conflicts\fR به جای آن استفاده شود. .IP "\fBBuild\-Conflicts\-Indep:\fR \fIpackage\-list\fR" 4 .IX Item "Build-Conflicts-Indep: package-list" مشابه \fBBuild\-Conflicts\fR است، اما تنها هنگام ساخت بسته‌های مستقل از معماری اعمال می‌شود. .PP سینتکس فیلدهای \&\fBBuild\-Depends\fR، \&\fBBuild\-Depends\-Arch\fR و \&\fBBuild\-Depends\-Indep\fR فهرستی از گروه‌هایی از بسته‌های جایگزین است. هر گروه فهرستی از بسته‌ها است که با نماد خط عمودی (یا «pipe»)، \(oq\fB|\fR\(cq، از هم جدا شده‌اند. گروه‌ها با کاما \(oq\fB,\fR\(cq از یکدیگر تفکیک می‌شوند، و می‌توانند با یک کامای پایانی خاتمه یابند که هنگام تولید فیلدها برای \fBdeb\-control\fR\|(5) حذف خواهد شد (از نسخه dpkg 1.10.14). کاماها باید به عنوان «AND» و پایپ‌ها به عنوان «OR» خوانده شوند، که در این میان پایپ‌ها پیوند محکم‌تری دارند. هر نام بسته می‌تواند به صورت اختیاری با یک توصیف‌کننده معماری که پس از یک دونقطه \(oq\fB:\fR\(cq افزوده می‌شود، سپس به صورت اختیاری با تعیین مشخصات شماره نسخه درون پرانتزهای \(oq\fB(\fR\(cq و \(oq\fB)\fR\(cq، یک مشخصه معماری درون کروشه‌های \(oq\fB[\fR\(cq و \(oq\fB]\fR\(cq، و یک فرمول محدودیت متشکل از یک یا چند فهرست از نام‌های پروفایل درون علامت‌های کوچکتر/بزرگتر \(oq\fB<\fR\(cq و \(oq\fB>\fR\(cq همراه شود. .PP سینتکس فیلدهای \&\fBBuild\-Conflicts\fR، \&\fBBuild\-Conflicts\-Arch\fR و \&\fBBuild\-Conflicts\-Indep\fR فهرستی از نام‌های بسته‌هاست که با کاما از هم جدا شده‌اند، که در آن کاما به عنوان یک «AND» خوانده می‌شود، و فهرست می‌تواند با یک کامای پایانی ختم شود که هنگام تولید فیلدها برای \fBdeb\-control\fR\|(5) حذف می‌گردد (از نسخه dpkg 1.10.14). تعیین بسته‌های جایگزین با استفاده از «pipe» پشتیبانی نمی‌شود. هر نام بسته می‌تواند به صورت اختیاری با مشخصات شماره نسخه درون پرانتز، یک مشخصه معماری درون کروشه، و یک فرمول محدودیت شامل یک یا چند فهرست از نام‌های پروفایل درون علامت‌های کوچکتر/بزرگتر همراه شود. .PP نام توصیف‌کننده معماری می‌تواند یک نام واقعی معماری دبیان (از نسخه dpkg 1.16.5)، \fBany\fR (از نسخه dpkg 1.16.2) یا \fBnative\fR (از نسخه dpkg 1.16.5) باشد. در صورت حذف، مقدار پیش‌فرض برای فیلدهای \fBBuild\-Depends\fR معماری میزبان فعلی است، و مقدار پیش‌فرض برای فیلدهای \fBBuild\-Conflicts\fR مقدار \fBany\fR است. یک نام واقعی معماری دبیان دقیقاً با همان معماری برای آن نام بسته مطابقت خواهد داشت، مقدار \fBany\fR در صورتی که بسته با \fBMulti\-Arch: allowed\fR علامت‌گذاری شده باشد با هر معماری برای آن نام بسته تطبیق می‌یابد، و \&\fBnative\fR در صورتی که بسته با \fBMulti\-Arch: foreign\fR علامت‌گذاری نشده باشد، با معماری ساخت جاری مطابقت خواهد داشت. .PP یک شماره نسخه ممکن است با \(oq\fB>>\fR\(cq آغاز شود که در این صورت هر نسخه بعدی با آن تطبیق دارد، و ممکن است بازنگری بسته‌بندی دبیان (جدا شده با خط تیره) را مشخص کرده یا از آن صرف‌نظر کند. روابط مجاز برای نسخه عبارتند از \(oq\fB>>\fR\(cq برای بزرگتر از، \(oq\fB<<\fR\(cq برای کوچکتر از، \(oq\fB>=\fR\(cq برای بزرگتر یا مساوی، \(oq\fB<=\fR\(cq برای کوچکتر یا مساوی، و \(oq\fB=\fR\(cq برای مساوی. .PP یک مشخصه معماری از یک یا چند نام معماری تشکیل می‌شود که با فاصله از هم جدا شده‌اند. علامت‌های تعجب (\fB!\fR) ممکن است در ابتدای هر یک از نام‌ها قرار گیرند، که به معنای «NOT» (نفی) است. .PP یک فرمول محدودیت از یک یا چند فهرست محدودیت تشکیل می‌شود که با فاصله از هم جدا شده‌اند. هر فهرست محدودیت درون علامت‌های کوچکتر/بزرگتر (\fB<\fR و \fB>\fR) قرار می‌گیرد. موارد موجود در فهرست محدودیت، نام‌های پروفایل ساخت هستند که با فاصله از هم جدا شده‌اند و می‌توانند با یک علامت تعجب (\fB!\fR) پیشوند شوند، که به معنای «NOT» است. یک فرمول محدودیت نشان‌دهنده یک عبارت فرم نرمال فصلی (disjunctive normal form) است، بدین معنی که فاصله درون علامت‌های کوچکتر/بزرگتر به عنوان «AND» خوانده می‌شود، و فاصله بین علامت‌های کوچکتر/بزرگتر به عنوان «OR» خوانده می‌شود، مانند «\fB<\fRfoo AND bar\fB>\fR OR \fB<\fRquux AND baz\fB>\fR». .PP توجه داشته باشید که می‌توان از وابستگی به بسته‌های موجود در مجموعه \&\fBbuild\-essential\fR صرف‌نظر کرد و اعلان تعارض ساخت در برابر آن‌ها غیرممکن است. فهرستی از این بسته‌ها در بسته build\-essential موجود است. .SH "فیلدهای باینری (BINARY FIELDS)" .IX Header "BINARY FIELDS" .IP "\fBPackage:\fR \fIbinary\-package\-name\fR (required)" 4 .IX Item "Package: binary-package-name (required)" این فیلد برای تعیین نام بسته باینری به کار می‌رود. همان محدودیت‌های مربوط به نام بسته سورس در اینجا نیز اعمال می‌شوند. .IP "\fBPackage\-Type:\fR \fBdeb\fR|\fBudeb\fR|\fItype\fR" 4 .IX Item "Package-Type: deb|udeb|type" این فیلد نوع بسته را تعریف می‌کند. \&\fBudeb\fR برای بسته‌های دارای محدودیت اندازه است که توسط نصاب دبیان (debian installer) استفاده می‌شوند. \&\fBdeb\fR مقدار پیش‌فرض است، و در صورت عدم وجود فیلد فرض می‌شود. ممکن است انواع بیشتری در آینده اضافه شوند. .IP "\fBArchitecture:\fR \fIarch\-list\fR (required)" 4 .IX Item "Architecture: arch-list (required)" فهرست معماری مشخص می‌کند که این بسته بر روی چه نوع ماشینی اجرا می‌شود. مقدار باید فهرستی از نام‌های معماری و/یا الگوهای عام (wildcards) جدا شده با فاصله باشد. .Sp مقدار ویژه \fBall\fR، به تنهایی، برای بسته‌هایی در نظر گرفته شده که مستقل از معماری هستند (مانند اسکریپت‌های شل و Perl یا مستندات)، و مقدار ویژه عام \fBany\fR، به تنهایی، برای بسته‌هایی است که وابسته به معماری هستند اما روی همه معماری‌ها اجرا می‌شوند (که با تمامی نام‌های معماری خاص، به جز \fBall\fR، مطابقت دارد). بیشتر بسته‌ها از \fBall\fR یا \fBany\fR استفاده خواهند کرد. برای محدود کردن بسته‌ها به مجموعه‌ای مشخص از معماری‌ها، یک یا چند نام معماری و/یا الگوهای عام معماری را، جدا شده با فاصله مشخص کنید. .Sp یک نام یا الگوی عام معماری باید با یک کاراکتر الفبایی\-عددی («0\-9a\-zA\-Z») آغاز شود، و سپس کاراکترهای الفبایی\-عددی و خط تیره («\-») به دنبال آن بیایند. .Sp برای اطلاعات بیشتر در مورد نام‌ها و الگوهای عام معماری، به \fBdpkg\-architecture\fR\|(1) مراجعه کنید. .IP "\fBBuild\-Profiles:\fR \fIrestriction\-formula\fR" 4 .IX Item "Build-Profiles: restriction-formula" این فیلد شرایطی را مشخص می‌کند که بر اساس آن، این بسته باینری ساخته می‌شود یا ساخته نمی‌شود. برای بیان این شرط، از همان سینتکس فرمول محدودیت مربوط به فیلد \&\fBBuild\-Depends\fR استفاده می‌شود (شامل علامت‌های کوچکتر/بزرگتر). .Sp اگر بند یک بسته باینری شامل این فیلد نباشد، به طور ضمنی بدین معناست که با تمام پروفایل‌های ساخت (شامل حالتی که هیچ پروفایلی تعریف نشده باشد) ساخته می‌شود. .Sp به بیان دیگر، اگر بند یک بسته باینری با یک فیلد غیرخالی \&\fBBuild\-Profiles\fR نشانه‌گذاری شده باشد، این بسته باینری اگر و تنها اگر شرط بیان‌شده در عبارت فرم نرمال عطفی (conjunctive normal form) درست ارزیابی شود، تولید خواهد شد. .IP "\fBProtected:\fR \fByes\fR|\fBno\fR" 4 .IX Item "Protected: yes|no" .PD 0 .IP "\fBEssential:\fR \fByes\fR|\fBno\fR" 4 .IX Item "Essential: yes|no" .IP "\fBBuild\-Essential:\fR \fByes\fR|\fBno\fR" 4 .IX Item "Build-Essential: yes|no" .IP "\fBMulti\-Arch:\fR \fBsame\fR|\fBforeign\fR|\fBallowed\fR|\fBno\fR" 4 .IX Item "Multi-Arch: same|foreign|allowed|no" .IP "\fBTag:\fR \fItag\-list\fR" 4 .IX Item "Tag: tag-list" .IP "\fBDescription:\fR \fIshort\-description\fR (recommended)" 4 .IX Item "Description: short-description (recommended)" .PD این فیلدها در صفحه راهنمای \&\fBdeb\-control\fR\|(5) توصیف شده‌اند، چرا که دقیقاً به فایل کنترل بسته باینری کپی می‌شوند. .IP "\fBSection:\fR \fIsection\fR" 4 .IX Item "Section: section" مقدار فیلد مشابه در بند بسته سورس را رونویسی (override) می‌کند. .Sp اگر هیچ فیلدی در بند باینری یا سورس وجود نداشته باشد، آنگاه مقدار پیش‌فرض آن \fBunknown\fR خواهد بود (از نسخه dpkg 1.22.13). .IP "\fBPriority:\fR \fIpriority\fR" 4 .IX Item "Priority: priority" مقدار فیلد مشابه در بند بسته سورس را رونویسی می‌کند. .Sp اگر هیچ فیلدی در بند باینری یا سورس وجود نداشته باشد، آنگاه مقدار پیش‌فرض آن \fBoptional\fR خواهد بود (از نسخه dpkg 1.22.13). .IP "\fBHomepage:\fR \fIurl\fR" 4 .IX Item "Homepage: url" مقدار فیلد مشابه در بند بسته سورس را رونویسی می‌کند. .IP "\fBDepends:\fR \fIpackage\-list\fR" 4 .IX Item "Depends: package-list" .PD 0 .IP "\fBPre\-Depends:\fR \fIpackage\-list\fR" 4 .IX Item "Pre-Depends: package-list" .IP "\fBRecommends:\fR \fIpackage\-list\fR" 4 .IX Item "Recommends: package-list" .IP "\fBSuggests:\fR \fIpackage\-list\fR" 4 .IX Item "Suggests: package-list" .IP "\fBBreaks:\fR \fIpackage\-list\fR" 4 .IX Item "Breaks: package-list" .IP "\fBEnhances:\fR \fIpackage\-list\fR" 4 .IX Item "Enhances: package-list" .IP "\fBReplaces:\fR \fIpackage\-list\fR" 4 .IX Item "Replaces: package-list" .IP "\fBConflicts:\fR \fIpackage\-list\fR" 4 .IX Item "Conflicts: package-list" .IP "\fBProvides:\fR \fIpackage\-list\fR" 4 .IX Item "Provides: package-list" .IP "\fBBuilt\-Using:\fR \fIpackage\-list\fR" 4 .IX Item "Built-Using: package-list" .IP "\fBStatic\-Built\-Using:\fR \fIpackage\-list\fR" 4 .IX Item "Static-Built-Using: package-list" .PD این فیلدها روابط بین بسته‌ها را اعلام می‌کنند. آن‌ها در صفحه راهنمای \&\fBdeb\-control\fR\|(5) مورد بحث قرار گرفته‌اند. هنگامی که این فیلدها در \fIdebian/control\fR یافت می‌شوند، می‌توانند به یک کامای پایانی نیز ختم شوند (از نسخه dpkg 1.10.14)، و دارای مشخصات معماری و فرمول‌های محدودیت باشند که همگی هنگام تولید فیلدها برای \fBdeb\-control\fR\|(5) ساده‌سازی و کاهش می‌یابند. .IP "\fBSubarchitecture:\fR \fIvalue\fR" 4 .IX Item "Subarchitecture: value" .PD 0 .IP "\fBKernel\-Version:\fR \fIvalue\fR" 4 .IX Item "Kernel-Version: value" .IP "\fBInstaller\-Menu\-Item:\fR \fIvalue\fR" 4 .IX Item "Installer-Menu-Item: value" .PD این فیلدها توسط debian\-installer در بسته‌های \fBudeb\fR استفاده می‌شوند و معمولاً نیازی به آن‌ها نیست. برای جزئیات بیشتر درباره آن‌ها، به مراجعه کنید. .SH "فیلدهای تعریف‌شده توسط کاربر (USER\-DEFINED FIELDS)" .IX Header "USER-DEFINED FIELDS" افزودن فیلدهای اضافی تعریف‌شده توسط کاربر به فایل کنترل مجاز است. ابزارها از این فیلدها صرف‌نظر خواهند کرد. اگر می‌خواهید فیلدها به فایل‌های خروجی، مانند بسته‌های باینری، کپی شوند، باید از یک الگوی نام‌گذاری سفارشی استفاده کنید: فیلدها باید با یک \fBX\fR آغاز شوند، به دنبال آن صفر یا چند حرف از حروف \fBSBC\fR و سپس یک خط تیره قرار گیرد. .IP \fBS\fR 4 .IX Item "S" فیلد در فایل کنترل بسته سورس ظاهر خواهد شد؛ به \fBdsc\fR\|(5) مراجعه کنید. .Sp تنها در بند بسته سورس مورد انتظار است. .IP \fBB\fR 4 .IX Item "B" فیلد در فایل کنترل موجود در بسته باینری ظاهر خواهد شد؛ به \&\fBdeb\-control\fR\|(5) مراجعه کنید. .Sp در بند بسته سورس یا هر بند بسته باینری مجاز است. .IP \fBC\fR 4 .IX Item "C" فیلد در فایل کنترل بارگذاری (.changes) ظاهر خواهد شد؛ به \&\fBdeb\-changes\fR\|(5) مراجعه کنید. .Sp تنها در بند بسته سورس مورد انتظار است. .PP توجه داشته باشید که پیشوندهای \fBX\fR[\fBSBC\fR]\fB\-\fR هنگام کپی شدن فیلدها به فایل‌های خروجی حذف می‌شوند. یک فیلد \fBXC\-Approved\-By\fR به صورت \fBApproved\-By\fR در فایل changes ظاهر می‌شود و در فایل‌های کنترل بسته باینری یا سورس نمایش داده نخواهد شد. .PP در نظر داشته باشید که این فیلدهای تعریف‌شده توسط کاربر از فضای‌نام سراسری استفاده خواهند کرد، که ممکن است در نقطه‌ای در آینده با فیلدهای رسمی شناخته‌شده تداخل پیدا کند. برای جلوگیری از چنین وضعیت احتمالی، می‌توانید این فیلدها را با \fBPrivate\-\fR پیشوندگذاری کنید، مانند \fBXB\-Private\-New\-Field\fR. .SH "مثال (EXAMPLE)" .IX Header "EXAMPLE" .Vb 10 \& # Comment. \& Source: dpkg \& Section: admin \& Priority: required \& Maintainer: Dpkg Developers \& # This field is copied to the binary and source packages. \& XBS\-Upstream\-Release\-Status: stable \& Homepage: https://wiki.debian.org/Teams/Dpkg \& Vcs\-Browser: https://git.dpkg.org/cgit/dpkg/dpkg.git \& Vcs\-Git: https://git.dpkg.org/git/dpkg/dpkg.git \& Standards\-Version: 4.7.3 \& Build\-Depends: \& dpkg\-build\-api (= 1), \& debhelper\-compat (= 13), \& debhelper (>= 13.10~), \& pkgconf, \& libselinux1\-dev (>= 1.28\-4) [!linux\-any], \& \& Package: dpkg\-dev \& Section: utils \& Priority: optional \& Architecture: all \& # This is a custom field in the binary package. \& XB\-Mentoring\-Contact: Raphael Hertzog \& Depends: \& libdpkg\-perl (= ${source:Version}), \& dpkg (>= 1.14.6), \& binutils, \& bzip2, \& xz\-utils, \& # This is a comment in the middle of a field value. \& make, \& patch (>= 2.2\-1), \& perl\-modules, \& perl5, \& Recommends: \& build\-essential, \& gcc | c\-compiler, \& Suggests: \& debian\-keyring, \& Conflicts: \& devscripts (<< 2.10.26), \& Replaces: \& manpages\-pl (<= 20051117\-1), \& Provides: \& dpkg\-build\-api (= 0), \& dpkg\-build\-api (= 1), \& Description: Debian package development tools \& This package provides the development tools (including dpkg\-source) \& required to unpack, build and upload Debian source packages. \& . \& Most Debian source packages will require additional tools to build; \& for example, most packages need make and the C compiler gcc. .Ve .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fI/usr/share/doc/dpkg/spec/rootless\-builds.txt\fR, \&\fBdeb822\fR\|(5), \&\fBdeb\-control\fR\|(5), \&\fBdeb\-version\fR\|(7), \&\fBdpkg\-source\fR\|(1)