.\" -*- 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 "dpkg-buildpackage 1" .TH dpkg-buildpackage 1 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)" dpkg\-buildpackage \- ساخت بسته‌های دودویی یا منبع از روی سورس‌ها .SH "خلاصه دستور (SYNOPSIS)" .IX Header "خلاصه دستور (SYNOPSIS)" \&\fBdpkg\-buildpackage\fR [\fIگزینه\fR...] [\fB\-\-\fR] [\fIfilename\fR.dsc|\fIdirectory\fR] .SH "توضیحات (DESCRIPTION)" .IX Header "توضیحات (DESCRIPTION)" دستور \&\fBdpkg\-buildpackage\fR برنامه‌ای است که فرآیند ساخت یک بستهٔ دبیان را خودکارسازی می‌کند. .PP آرگومان‌های \&\fIfilename\fR.dsc و \&\fIdirectory\fR از dpkg نسخه 1.22.7 پشتیبانی می‌شوند. معناشناسی آن‌ها آزمایشی است. .PP این فرآیند شامل مراحل زیر است: .IP \fB1.\fR 4 .IX Item "1." قلاب \&\fBpreinit\fR را قبل از خواندن هرگونه فایل منبع اجرا می‌کند. اگر یک فایل \&\fB.dsc\fR مشخص شده باشد، آن را مجدداً از حالت فشرده استخراج کرده و به دایرکتوری آن تغییر مسیر می‌دهد، اگر یک \&\fIdirectory\fR مشخص شده باشد به آن دایرکتوری تغییر مسیر می‌دهد، در غیر این صورت انتظار دارد دایرکتوری جاری حاوی درخت منبع باشد. محیط ساخت را با تنظیم متغیرهای محیطی گوناگون آماده می‌کند (به \&\fBمحیط (ENVIRONMENT)\fR مراجعه کنید)، قلاب \&\fBinit\fR را اجرا کرده و \&\fBdpkg\-source \-\-before\-build\fR را فرامی‌خواند (مگر آن‌که از \&\fB\-T\fR یا \&\fB\-\-target\fR استفاده شده باشد). .IP \fB2.\fR 4 .IX Item "2." بررسی می‌کند که وابستگی‌های ساخت و تداخل‌های ساخت برآورده شده باشند (مگر این‌که \&\fB\-d\fR یا \&\fB\-\-no\-check\-builddeps\fR مشخص شده باشد). .IP \fB3.\fR 4 .IX Item "3." اگر یک یا چند هدف مشخص با گزینهٔ \&\fB\-T\fR یا \&\fB\-\-target\fR انتخاب شده باشد، آن اهداف را فراخوانی کرده و در همین‌جا متوقف می‌شود. در غیر این صورت، قلاب \&\fBpreclean\fR را اجرا کرده و \&\fBfakeroot debian/rules clean\fR را برای پاک‌سازی درخت ساخت فرامی‌خواند (مگر آن‌که \&\fB\-nc\fR یا \&\fB\-\-no\-pre\-clean\fR مشخص شده باشد). .IP \fB4.\fR 4 .IX Item "4." قلاب \&\fBsource\fR را اجرا کرده و \&\fBdpkg\-source \-b\fR را برای تولید بستهٔ منبع فرامی‌خواند (اگر ساختی از نوع \&\fBsource\fR با گزینهٔ \&\fB\-\-build\fR یا گزینه‌های معادل آن درخواست شده باشد، و اگر هیچ فایل \&\fB.dsc\fR مشخص نشده باشد). .IP \fB5.\fR 4 .IX Item "5." قلاب \&\fBbuild\fR را اجرا کرده و دستور \&\fBdebian/rules\fR \fIbuild\-target\fR را فرامی‌خواند، سپس قلاب \&\fBbinary\fR و در پی آن \&\fBfakeroot debian/rules\fR \fIbinary\-target\fR را اجرا می‌کند (مگر آن‌که ساختی تنها از نوع منبع با \&\fB\-\-build=source\fR یا گزینه‌های معادل آن درخواست شده باشد). توجه داشته باشید که \&\fIbuild\-target\fR و \&\fIbinary\-target\fR یا برابر \&\fBbuild\fR و \&\fBbinary\fR هستند (حالت پیش‌فرض، یا در صورتی که ساختی برای \&\fBany\fR و \&\fBall\fR با گزینهٔ \&\fB\-\-build\fR یا گزینه‌های معادل درخواست شده باشد)، یا برابر \&\fBbuild\-arch\fR و \&\fBbinary\-arch\fR هستند (اگر ساختی برای \&\fBany\fR و نه \&\fBall\fR با گزینهٔ \&\fB\-\-build\fR یا گزینه‌های معادل درخواست شده باشد)، یا برابر \&\fBbuild\-indep\fR و \&\fBbinary\-indep\fR خواهند بود (اگر ساختی برای \&\fBall\fR و نه \&\fBany\fR با گزینهٔ \&\fB\-\-build\fR یا گزینه‌های معادل درخواست شده باشد). .IP \fB6.\fR 4 .IX Item "6." قلاب \&\fBbuildinfo\fR را اجرا کرده و \&\fBdpkg\-genbuildinfo\fR را برای تولید یک فایل \&\fB.buildinfo\fR فرامی‌خواند. چندین گزینه از \&\fBdpkg\-buildpackage\fR به \&\fBdpkg\-genbuildinfo\fR ارسال می‌شوند. اگر یک فایل \&\fI.dsc\fR مشخص شده باشد، در فایل \&\fB.buildinfo\fR تولیدشده به آن ارجاع داده خواهد شد، زیرا می‌توانیم اصالت و منشأ درخت منبع را احراز کنیم. .IP \fB7.\fR 4 .IX Item "7." قلاب \&\fBchanges\fR را اجرا کرده و \&\fBdpkg\-genchanges\fR را برای تولید یک فایل \&\fB.changes\fR فرامی‌خواند. نام فایل \&\fB.changes\fR به نوع ساخت بستگی دارد و تا حد لزوم مشخص خواهد بود اما نه بیشتر؛ نام به این صورت خواهد بود: .RS 4 .IP \fIsource\-name\fR\fB_\fR\fIbinary\-version\fR\fB_\fR\fIarch\fR\fB.changes\fR 4 .IX Item "source-name_binary-version_arch.changes" برای ساختی که شامل \&\fBany\fR باشد .IP \fIsource\-name\fR\fB_\fR\fIbinary\-version\fR\fB_\fR\fBall.changes\fR 4 .IX Item "source-name_binary-version_all.changes" در غیر این صورت، برای ساختی که شامل \&\fBall\fR باشد .IP \fIsource\-name\fR\fB_\fR\fIsource\-version\fR\fB_\fR\fBsource.changes\fR. 4 .IX Item "source-name_source-version_source.changes." در غیر این صورت، برای ساختی که شامل \&\fBsource\fR باشد .RE .RS 4 .Sp بسیاری از گزینه‌های \&\fBdpkg\-buildpackage\fR به \&\fBdpkg\-genchanges\fR ارسال می‌شوند. .RE .IP \fB8.\fR 4 .IX Item "8." قلاب \&\fBpostclean\fR را اجرا می‌کند و اگر \&\fB\-tc\fR یا \&\fB\-\-post\-clean\fR مشخص شده باشد، مجدداً \&\fBfakeroot debian/rules clean\fR را فرامی‌خواند. .IP \fB9.\fR 4 .IX Item "9." دستور \&\fBdpkg\-source \-\-after\-build\fR را فرامی‌خواند. .IP \fB10.\fR 4 .IX Item "10." قلاب \&\fBcheck\fR را اجرا کرده و یک بررسی‌کنندهٔ بسته را برای فایل \&\fB.changes\fR فرامی‌خواند (اگر دستوری در \&\fBDEB_CHECK_COMMAND\fR یا با گزینهٔ \&\fB\-\-check\-command\fR مشخص شده باشد). .IP \fB11.\fR 4 .IX Item "11." قلاب \&\fBsign\fR را اجرا کرده و با استفاده از پشتیبان OpenPGP (تا زمانی که یک ساخت UNRELEASED نباشد، یا \&\fB\-\-no\-sign\fR مشخص نشده باشد) فایل \&\fB.dsc\fR (در صورت وجود، مگر این‌که \&\fB\-us\fR یا \&\fB\-\-unsigned\-source\fR مشخص شده باشد)، فایل \&\fB.buildinfo\fR (مگر این‌که \&\fB\-ui\fR، \&\fB\-\-unsigned\-buildinfo\fR، \&\fB\-uc\fR یا \&\fB\-\-unsigned\-changes\fR مشخص شده باشد) و فایل \&\fB.changes\fR (مگر این‌که \&\fB\-uc\fR یا \&\fB\-\-unsigned\-changes\fR مشخص شده باشد) را امضا می‌کند. .IP \fB12.\fR 4 .IX Item "12." اگر یک فایل \&\fB.dsc\fR مشخص شده باشد، دایرکتوری منبع استخراج‌شده را حذف می‌کند. .IP \fB13.\fR 4 .IX Item "13." قلاب \&\fBdone\fR را اجرا می‌کند. .SH "گزینه‌ها (OPTIONS)" .IX Header "گزینه‌ها (OPTIONS)" تمام گزینه‌های طولانی را می‌توان هم در خط فرمان و هم در فایل‌های پیکربندی سیستمی و کاربری \&\fBdpkg\-buildpackage\fR مشخص کرد. هر خط در فایل پیکربندی یا یک گزینه است (دقیقاً همانند گزینهٔ خط فرمان اما بدون خط تیره‌های ابتدایی) یا یک یادداشت (اگر با \(oq\fB#\fR\(cq شروع شود). .IP \fB\-\-build=\fR\fItype\fR 4 .IX Item "--build=type" نوع ساخت (\fItype\fR) را از میان فهرستی از مؤلفه‌ها که با کاما جدا شده‌اند، مشخص می‌کند (از dpkg نسخه 1.18.5). همهٔ مؤلفه‌های مشخص‌شده با هم ترکیب می‌شوند تا نوع ساخت واحد برای استفاده انتخاب شود، که متضمن یک اجرای ساخت واحد با تولید یک فایل \&\fI.changes\fR واحد است. به \&\fBdpkg\-genchanges\fR ارسال می‌شود. .Sp مقادیر مجاز عبارتند از: .RS 4 .IP \fBsource\fR 4 .IX Item "source" بستهٔ منبع را می‌سازد. .Sp \&\fBتوجه\fR: هنگام استفاده از این مقدار به صورت مستقل، و اگر آنچه می‌خواهید صرفاً ساخت (مجدد) بستهٔ منبع از یک درخت منبع تمیز است، استفادهٔ مستقیم از \&\fBdpkg\-source\fR همواره گزینهٔ بهتری است زیرا نیازی به نصب هیچ‌گونه وابستگی ساختی ندارد، در حالی که در غیر این صورت برای فراخوانی هدف \&\fBclean\fR به آن‌ها نیاز خواهد بود. .IP \fBany\fR 4 .IX Item "any" بسته‌های دودویی وابسته به معماری را می‌سازد. .IP \fBall\fR 4 .IX Item "all" بسته‌های دودویی مستقل از معماری را می‌سازد. .IP \fBbinary\fR 4 .IX Item "binary" بسته‌های دودویی وابسته و مستقل از معماری را می‌سازد. این نام مستعاری برای \&\fBany,all\fR است. .IP \fBfull\fR 4 .IX Item "full" همه‌چیز را می‌سازد. این نام مستعاری برای \&\fBsource,any,all\fR بوده و با حالت پیش‌فرض در زمانی که هیچ گزینهٔ ساختی مشخص نشده باشد، یکسان است. .RE .RS 4 .RE .IP \fB\-g\fR 4 .IX Item "-g" معادل با \&\fB\-\-build=source,all\fR (از dpkg نسخه 1.17.11). .IP \fB\-G\fR 4 .IX Item "-G" معادل با \&\fB\-\-build=source,any\fR (از dpkg نسخه 1.17.11). .IP \fB\-b\fR 4 .IX Item "-b" معادل با \&\fB\-\-build=binary\fR یا \&\fB\-\-build=any,all\fR. .IP \fB\-B\fR 4 .IX Item "-B" معادل با \&\fB\-\-build=any\fR. .IP \fB\-A\fR 4 .IX Item "-A" معادل با \&\fB\-\-build=all\fR. .IP \fB\-S\fR 4 .IX Item "-S" معادل با \&\fB\-\-build=source\fR. .IP \fB\-F\fR 4 .IX Item "-F" معادل با \&\fB\-\-build=full\fR، \&\fB\-\-build=source,binary\fR یا \&\fB\-\-build=source,any,all\fR (از dpkg نسخه 1.15.8). .IP \fB\-\-target=\fR\fItarget\fR[,...] 4 .IX Item "--target=target[,...]" .PD 0 .IP "\fB\-\-target\fR \fItarget\fR[,...]" 4 .IX Item "--target target[,...]" .IP "\fB\-T\fR, \fB\-\-rules\-target=\fR\fItarget\fR[,...]" 4 .IX Item "-T, --rules-target=target[,...]" .PD دستور \&\fBdebian/rules\fR \fItarget\fR را به ازای هر هدف مشخص‌شده، پس از آماده‌سازی محیط ساخت (به جز فراخوانی \&\fBdpkg\-source \-\-before\-build\fR)، یک‌بار فرامی‌خواند و فرآیند ساخت بسته را در همین‌جا متوقف می‌سازد (از dpkg نسخه 1.15.0، گزینهٔ طولانی از نسخه 1.18.8، پشتیبانی از چند هدف از نسخه 1.18.16). اگر \&\fB\-\-as\-root\fR نیز داده شده باشد، دستور به عنوان کاربر ریشه اجرا می‌شود (به \&\fB\-\-root\-command\fR مراجعه کنید). توجه داشته باشید که اهداف شناخته‌شده‌ای که لازم است به عنوان ریشه اجرا شوند نیازی به این گزینه ندارند (یعنی اهداف \&\fBclean\fR، \&\fBbinary\fR، \&\fBbinary\-arch\fR و \&\fBbinary\-indep\fR). .IP \fB\-\-as\-root\fR 4 .IX Item "--as-root" تنها همراه با \&\fB\-\-target\fR معنادار است (از dpkg نسخه 1.15.0). الزام می‌کند که هدف با اختیارات کاربر ریشه اجرا شود. .IP \fB\-si\fR 4 .IX Item "-si" .PD 0 .IP \fB\-sa\fR 4 .IX Item "-sa" .IP \fB\-sd\fR 4 .IX Item "-sd" .IP \fB\-v\fR\fIversion\fR 4 .IX Item "-vversion" .IP \fB\-C\fR\fIchanges\-description\fR 4 .IX Item "-Cchanges-description" .IP \fB\-m\fR\fImaintainer\-address\fR 4 .IX Item "-mmaintainer-address" .IP \fB\-e\fR\fImaintainer\-address\fR 4 .IX Item "-emaintainer-address" .PD بدون تغییر به \&\fBdpkg\-genchanges\fR منتقل می‌شود. صفحهٔ راهنمای آن را ببینید. .IP \fB\-\-build\-by=\fR\fImaintainer\-address\fR 4 .IX Item "--build-by=maintainer-address" .PD 0 .IP "\fB\-\-source\-by=\fR\fImaintainer\-address\fR (since dpkg 1.21.10)" 4 .IX Item "--source-by=maintainer-address (since dpkg 1.21.10)" .PD به عنوان \&\fB\-m\fR به \&\fBdpkg\-genchanges\fR ارسال می‌شود (از dpkg نسخه 1.21.10). صفحهٔ راهنمای آن را ببینید. .IP \fB\-\-release\-by=\fR\fImaintainer\-address\fR 4 .IX Item "--release-by=maintainer-address" .PD 0 .IP "\fB\-\-changed\-by=\fR\fImaintainer\-address\fR (since dpkg 1.21.10)" 4 .IX Item "--changed-by=maintainer-address (since dpkg 1.21.10)" .PD به عنوان \&\fB\-e\fR به \&\fBdpkg\-genchanges\fR ارسال می‌شود (از dpkg نسخه 1.21.10). صفحهٔ راهنمای آن را ببینید. .IP "\fB\-a\fR, \fB\-\-host\-arch\fR \fIarchitecture\fR" 4 .IX Item "-a, --host-arch architecture" معماری دبیانی را که برای آن بسته می‌سازیم مشخص می‌کند (گزینهٔ طولانی از dpkg نسخه 1.17.17). معماری دستگاهی که روی آن بسته را می‌سازیم به‌طور خودکار تعیین می‌شود و برای دستگاه میزبان نیز پیش‌فرض است. .IP "\fB\-t\fR, \fB\-\-host\-type\fR \fIgnu\-system\-type\fR" 4 .IX Item "-t, --host-type gnu-system-type" نوع سیستم گنو را که برای آن بسته می‌سازیم مشخص می‌کند (گزینهٔ طولانی از dpkg نسخه 1.17.17). می‌توان از آن به جای \&\fB\-\-host\-arch\fR یا به عنوان مکمل برای بازنویسی نوع پیش‌فرض سیستم گنو معماری دبیانِ میزبان استفاده کرد. .IP "\fB\-\-target\-arch\fR \fIarchitecture\fR" 4 .IX Item "--target-arch architecture" معماری دبیانی را که باینری‌های ساخته‌شده برای آن هدف‌گذاری می‌شوند مشخص می‌کند (از dpkg نسخه 1.17.17). مقدار پیش‌فرض، دستگاه میزبان است. .IP "\fB\-\-target\-type\fR \fIgnu\-system\-type\fR" 4 .IX Item "--target-type gnu-system-type" نوع سیستم گنو را که باینری‌های ساخته‌شده برای آن هدف‌گذاری می‌شوند مشخص می‌کند (از dpkg نسخه 1.17.17). می‌توان از آن به جای \&\fB\-\-target\-arch\fR یا به عنوان مکمل برای بازنویسی نوع پیش‌فرض سیستم گنو معماری دبیانِ هدف استفاده کرد. .IP "\fB\-P\fR, \fB\-\-build\-profiles=\fR\fIprofile\fR[\fB,\fR...]" 4 .IX Item "-P, --build-profiles=profile[,...]" نمایه(ها)ی ساختی که می‌سازیم را به صورت یک فهرست جداشده با کاما مشخص می‌کند (از dpkg نسخه 1.17.2، گزینهٔ طولانی از نسخه 1.18.8). رفتار پیش‌فرض، ساخت بدون هیچ نمایهٔ خاصی است. همچنین آن‌ها را (به صورت فهرستی جداشده با فاصله) در متغیر محیطی \&\fBDEB_BUILD_PROFILES\fR تنظیم می‌کند که به عنوان مثال به فایل‌های \&\fBdebian/rules\fR اجازه می‌دهد از این اطلاعات برای ساخت‌های مشروط استفاده کنند. .IP "\fB\-j\fR, \fB\-\-jobs\fR[=\fIjobs\fR|\fBauto\fR]" 4 .IX Item "-j, --jobs[=jobs|auto]" تعداد کارهایی که مجازند هم‌زمان اجرا شوند را مشخص می‌کند (از dpkg نسخه 1.14.7، گزینهٔ طولانی از نسخه 1.18.8). اگر \&\fBauto\fR مشخص شده باشد، تعداد کارها مطابق با تعداد پردازنده‌های برخط خواهد بود (از dpkg نسخه 1.17.10)، و اگر \&\fIjobs\fR مشخص نشده باشد، تعداد نامحدود خواهد بود. رفتار پیش‌فرض \&\fBauto\fR است (از dpkg نسخه 1.18.11) در حالت غیرتحمیلی (از dpkg نسخه 1.21.10)، و به این ترتیب همواره استفاده از آن برای هر بسته‌ای، از جمله بسته‌هایی که با ساخت موازی سازگار نیستند، امن‌تر است. تنظیم تعداد کارها روی \&\fB1\fR اجرای ترتیبی (سریال) را بازیابی می‌کند. .Sp گزینهٔ \&\fBparallel=\fR\fIjobs\fR یا \&\fBparallel\fR را به متغیر محیطی \&\fBDEB_BUILD_OPTIONS\fR اضافه می‌کند که به فایل‌های debian/rules اجازه می‌دهد بنا به تمایل خود از این اطلاعات برای اهداف خود استفاده نمایند. مقدار \&\fIjobs\fR گزینهٔ \&\fBparallel=\fR\fIjobs\fR یا \&\fBparallel\fR را در متغیر محیطی \&\fBDEB_BUILD_OPTIONS\fR بازنویسی می‌کند. توجه داشته باشید که مقدار \&\fBauto\fR با تعداد واقعی پردازنده‌های در حال حاضر فعال جایگزین می‌شود، و بنابراین به هیچ فرآیند فرزندی انتشار نخواهد یافت. اگر تعداد پردازنده‌های برخط قابل تشخیص نباشد، کد به استفاده از اجرای ترتیبی پس‌گرد می‌کند (از dpkg نسخه 1.18.15)، هرچند این اتفاق تنها باید در سیستم‌های نامتعارف و پشتیبانی‌نشده رخ دهد. .IP "\fB\-J\fR, \fB\-\-jobs\-try\fR[=\fIjobs\fR|\fBauto\fR]" 4 .IX Item "-J, --jobs-try[=jobs|auto]" این گزینه (از dpkg نسخه 1.18.2، گزینهٔ طولانی از نسخه 1.18.8) معادل \&\fB\-j\fR در بالا است. .Sp از آنجا که رفتار \&\fB\-j\fR در dpkg نسخه 1.21.10 به حالت اختیاری (opt-in) تغییر یافت، در صورت نیاز به تضمین معناشناسی در سری‌های مختلف انتشار dpkg می‌توانید به جای آن از این گزینه استفاده کنید. .IP \fB\-\-jobs\-force\fR[=\fIjobs\fR|\fBauto\fR] 4 .IX Item "--jobs-force[=jobs|auto]" این گزینه (از dpkg نسخه 1.21.10) معادل گزینهٔ \&\fB\-\-jobs\fR است با این تفاوت که با افزودن گزینهٔ \&\fBmake\fR \fB\-j\fR همراه با تعداد محاسبه‌شدهٔ کارهای موازی به متغیر محیطی \&\fBMAKEFLAGS\fR، حالت موازی تحمیلی را فعال می‌سازد. .Sp این امر باید باعث شود تمامی فراخوانی‌های بعدی make این گزینه را به ارث ببرند، و بدین ترتیب تنظیمات موازی را بدون توجه به پشتیبانی فرآیند بسته‌بندی (و احتمالاً سیستم ساخت بالادست در صورتی که از \&\fBmake\fR\|(1) استفاده کند) از ساخت موازی به آن تحمیل نماید، که ممکن است به شکست در ساخت بینجامد. .Sp \&\fBتوجه\fR: هر Makefile که سازگار با اجرای موازی نباشد باید دارای اشکال تلقی شود. این فایل‌ها یا باید برای ساخت موازی ایمن شوند، یا با استفاده از هدف \&\fBmake\fR\|(1) \fB.NOTPARALLEL\fR به عنوان ناامن علامت‌گذاری گردند. .IP "\fB\-D\fR, \fB\-\-check\-builddeps\fR" 4 .IX Item "-D, --check-builddeps" وابستگی‌های ساخت و تداخل‌های ساخت را بررسی می‌کند؛ در صورت برآورده نشدن فرآیند را لغو می‌نماید (گزینهٔ طولانی از dpkg نسخه 1.18.8). این رفتار پیش‌فرض است. .IP "\fB\-d\fR, \fB\-\-no\-check\-builddeps\fR" 4 .IX Item "-d, --no-check-builddeps" وابستگی‌های ساخت و تداخل‌های ساخت را بررسی نمی‌کند (گزینهٔ طولانی از dpkg نسخه 1.18.8). .IP \fB\-\-ignore\-builtin\-builddeps\fR 4 .IX Item "--ignore-builtin-builddeps" وابستگی‌های ساخت و تداخل‌های ساخت توکار را بررسی نمی‌کند (از dpkg نسخه 1.18.2). این‌ها وابستگی‌های ساخت ضمنی مختص توزیع هستند که معمولاً در یک محیط ساخت الزامی می‌باشند، یعنی مجموعه بستهٔ موسوم به Build-Essential. .IP \fB\-\-rules\-requires\-root\fR 4 .IX Item "--rules-requires-root" فیلد \&\fBRules\-Requires\-Root\fR را نادیده می‌گیرد و به مقدار پیش‌فرض قدیمی آن یعنی \&\fBbinary\-targets\fR پس‌گرد می‌کند (از dpkg نسخه 1.19.1). .IP "\fB\-nc\fR, \fB\-\-no\-pre\-clean\fR" 4 .IX Item "-nc, --no-pre-clean" درخت منبع را قبل از ساخت پاک‌سازی نمی‌کند (گزینهٔ طولانی از dpkg نسخه 1.18.8). اگر هیچ گزینهٔ دیگری از میان \&\fB\-F\fR، \&\fB\-g\fR، \&\fB\-G\fR، \&\fB\-B\fR، \&\fB\-A\fR یا \&\fB\-S\fR انتخاب نشده باشد، بر \&\fB\-b\fR دلالت دارد. همراه با \&\fB\-S\fR بر \&\fB\-d\fR دلالت دارد (از dpkg نسخه 1.18.0). .IP \fB\-\-pre\-clean\fR 4 .IX Item "--pre-clean" درخت منبع را قبل از ساخت پاک‌سازی می‌کند (از dpkg نسخه 1.18.8). این رفتار پیش‌فرض است. .IP "\fB\-tc\fR, \fB\-\-post\-clean\fR" 4 .IX Item "-tc, --post-clean" درخت منبع را (با استفاده از \&\fIgain\-root\-command\fR \&\fBdebian/rules clean\fR) پس از ساخته شدن بسته پاک‌سازی می‌کند (گزینهٔ طولانی از dpkg نسخه 1.18.8). .IP \fB\-\-no\-post\-clean\fR 4 .IX Item "--no-post-clean" درخت منبع را پس از ساخته شدن بسته پاک‌سازی نمی‌کند (از dpkg نسخه 1.19.1). این رفتار پیش‌فرض است. .IP \fB\-\-sanitize\-env\fR 4 .IX Item "--sanitize-env" محیط ساخت را پالایش (پاک‌سازی) می‌کند (از dpkg نسخه 1.20.0). این کار متغیرهای محیطی، umask و سایر ویژگی‌های فرآیند را که ممکن است اثر نامطلوبی بر ساخت بسته‌ها بگذارند، بازنشانی یا حذف می‌کند. از آنجا که نقطهٔ ورود رسمی برای ساخت بسته‌ها \&\fBdebian/rules\fR است، بسته‌ها نمی‌توانند به برقرار بودن این تنظیمات اتکا کنند و بنابراین باید حتی در صورت عدم حضور آن‌ها نیز به درستی کار کنند. این‌که چه مواردی پالایش شوند مختص توزیع (تأمین‌کننده) است. .IP "\fB\-r\fR, \fB\-\-root\-command=\fR\fIgain\-root\-command\fR" 4 .IX Item "-r, --root-command=gain-root-command" هنگامی که \&\fBdpkg\-buildpackage\fR نیاز دارد بخشی از فرآیند ساخت را به عنوان کاربر ریشه اجرا کند، اگر \&\fIgain\-root\-command\fR مشخص شده باشد، پیشوند دستوری را که اجرا می‌کند با آن قرار می‌دهد (گزینهٔ طولانی از dpkg نسخه 1.18.8). در غیر این صورت، چنانچه هیچ‌کدام مشخص نشده باشد، در صورت موجود بودن دستور، به‌طور پیش‌فرض از \&\fBfakeroot\fR استفاده خواهد شد. \&\fIgain\-root\-command\fR باید با نام برنامه‌ای در \&\fBPATH\fR آغاز شود و نام دستور واقعی برای اجرا و آرگومان‌هایی که باید بپذیرد را به عنوان آرگومان دریافت خواهد کرد. \&\fIgain\-root\-command\fR می‌تواند شامل پارامترها باشد (باید با فاصله از هم جدا شوند) اما نباید نویسه‌های ویژهٔ پوسته (metacharacters) داشته باشد. \&\fIgain\-root\-command\fR معمولاً می‌تواند \&\fBfakeroot\fR، \&\fBsudo\fR، \&\fBsuper\fR یا \&\fBreally\fR باشد. دستور \&\fBsu\fR مناسب نیست، زیرا تنها می‌تواند پوستهٔ کاربر را با \&\fB\-c\fR فرابخواند به جای این‌که آرگومان‌ها را به صورت جداگانه به دستوری که باید اجرا شود ارسال کند. .IP "\fB\-R\fR, \fB\-\-rules\-file=\fR\fIrules\-file\fR" 4 .IX Item "-R, --rules-file=rules-file" ساخت یک بستهٔ دبیان معمولاً مستلزم فراخوانی \&\fBdebian/rules\fR به عنوان دستوری با چندین پارامتر استاندارد است (از dpkg نسخه 1.14.17، گزینهٔ طولانی از نسخه 1.18.8). با این گزینه امکان استفاده از فراخوانی برنامه‌ای دیگر برای ساخت بسته وجود دارد (می‌تواند شامل پارامترهای جداشده با فاصله باشد). همچنین می‌توان از آن برای اجرای فایل قوانین استاندارد با یک برنامهٔ make دیگر استفاده کرد (برای نمونه با استفاده از \&\fB/usr/local/bin/make \-f debian/rules\fR به عنوان \&\fIrules\-file\fR). .IP \fB\-\-check\-command=\fR\fIcheck\-command\fR 4 .IX Item "--check-command=check-command" دستور مورد استفاده برای بررسی خود فایل \&\fB.changes\fR و هر دست‌ساختهٔ ساخته‌شدهٔ ارجاع داده‌شده در آن فایل (از dpkg نسخه 1.17.6). این دستور باید مسیر فایل \&\fB.changes\fR را به عنوان یک آرگومان دریافت کند. این دستور معمولاً \&\fBlintian\fR خواهد بود. .IP \fB\-\-check\-option=\fR\fIopt\fR 4 .IX Item "--check-option=opt" گزینهٔ \&\fIopt\fR را به \&\fIcheck\-command\fR مشخص‌شده با \&\fBDEB_CHECK_COMMAND\fR یا \&\fB\-\-check\-command\fR ارسال می‌کند (از dpkg نسخه 1.17.6). می‌تواند چندین بار استفاده شود. .IP \fB\-\-hook\-\fR\fIhook\-name\fR\fB=\fR\fIhook\-command\fR 4 .IX Item "--hook-hook-name=hook-command" کد پوستهٔ مشخص‌شدهٔ \&\fIhook\-command\fR را به عنوان قلاب \&\fIhook\-name\fR تنظیم می‌کند، که در زمان‌های مشخص‌شده در مراحل اجرا به اجرا درمی‌آید (از dpkg نسخه 1.17.6). قلاب‌ها همواره اجرا خواهند شد حتی اگر اقدام بعدی انجام نشود (به جز قلاب \&\fBbinary\fR). تمام قلاب‌ها در دایرکتوری منبع استخراج‌شده اجرا خواهند شد. .Sp برخی قلاب‌ها می‌توانند اطلاعات اضافی را از طریق متغیرهای محیطی دریافت کنند (از dpkg نسخه 1.22.0). همهٔ قلاب‌ها نام قلاب را در متغیر محیطی \&\fBDPKG_BUILDPACKAGE_HOOK_NAME\fR دریافت می‌کنند (از dpkg نسخه 1.22.0). .Sp \&\fBتوجه\fR: قلاب‌ها می‌توانند فرآیند ساخت را تحت تأثیر قرار دهند و در صورت شکست دستوراتشان باعث شکست در ساخت شوند، بنابراین مراقب پیامدهای ناخواسته باشید. .Sp نام‌های \&\fIhook\-name\fR پشتیبانی‌شده در حال حاضر عبارتند از: .RS 4 .IP \fBpreinit\fR 4 .IX Item "preinit" .PD 0 .IP \fBinit\fR 4 .IX Item "init" .IP \fBpreclean\fR 4 .IX Item "preclean" .IP \fBsource\fR 4 .IX Item "source" .PD متغیر \&\fBDPKG_BUILDPACKAGE_HOOK_SOURCE_OPTIONS\fR را شامل فهرستی از گزینه‌ها که با فاصله جدا شده‌اند و به فراخوانی \&\fBdpkg\-source\fR ارسال خواهند شد، دریافت می‌کند. .IP \fBbuild\fR 4 .IX Item "build" متغیر \&\fBDPKG_BUILDPACKAGE_HOOK_BUILD_TARGET\fR را با نام هدف ساخت \&\fBdebian/rules\fR فراخوانی‌شده دریافت می‌کند. پیش از dpkg نسخه 1.22.7 این متغیر تنها در صورتی تنظیم می‌شد که هدف فراخوانی شده باشد. .IP \fBbinary\fR 4 .IX Item "binary" متغیر \&\fBDPKG_BUILDPACKAGE_HOOK_BINARY_TARGET\fR را با نام هدف باینری \&\fBdebian/rules\fR فراخوانی‌شده دریافت می‌کند، اما تنها در صورتی که فراخوانی شده باشد. .IP \fBbuildinfo\fR 4 .IX Item "buildinfo" متغیر \&\fBDPKG_BUILDPACKAGE_HOOK_BUILDINFO_OPTIONS\fR را شامل فهرستی از گزینه‌ها که با فاصله جدا شده‌اند و به فراخوانی \&\fBdpkg\-genbuildinfo\fR ارسال خواهند شد، دریافت می‌کند. .IP \fBchanges\fR 4 .IX Item "changes" متغیر \&\fBDPKG_BUILDPACKAGE_HOOK_CHANGES_OPTIONS\fR را شامل فهرستی از گزینه‌ها که با فاصله جدا شده‌اند و به فراخوانی \&\fBdpkg\-genchanges\fR ارسال خواهند شد، دریافت می‌کند. .IP \fBpostclean\fR 4 .IX Item "postclean" .PD 0 .IP \fBcheck\fR 4 .IX Item "check" .PD متغیر \&\fBDPKG_BUILDPACKAGE_HOOK_CHECK_OPTIONS\fR را شامل فهرستی از گزینه‌ها که با فاصله جدا شده‌اند و به فراخوانی دستور بررسی ارسال خواهند شد، دریافت می‌کند. .IP \fBsign\fR 4 .IX Item "sign" .PD 0 .IP \fBdone\fR 4 .IX Item "done" .PD .RE .RS 4 .Sp دستور \&\fIhook\-command\fR از رشته‌های قالب جایگزینی زیر پشتیبانی می‌کند که پیش از اجرا بر روی آن اعمال می‌شوند: .IP \fB%%\fR 4 .IX Item "%%" یک نویسهٔ تکی %. .ie n .IP \fR\fB%a\fR\fB\fR 4 .el .IP \fR\f(CB%a\fR\fB\fR 4 .IX Item "%a" یک مقدار بولی (0 یا 1)، که نشان می‌دهد آیا اقدام بعدی در حال انجام است یا خیر. .ie n .IP \fR\fB%p\fR\fB\fR 4 .el .IP \fR\f(CB%p\fR\fB\fR 4 .IX Item "%p" نام بستهٔ منبع. .ie n .IP \fR\fB%v\fR\fB\fR 4 .el .IP \fR\f(CB%v\fR\fB\fR 4 .IX Item "%v" نسخهٔ بستهٔ منبع. .ie n .IP \fR\fB%s\fR\fB\fR 4 .el .IP \fR\f(CB%s\fR\fB\fR 4 .IX Item "%s" نسخهٔ بستهٔ منبع (بدون دوره زمانی/epoch). .ie n .IP \fR\fB%u\fR\fB\fR 4 .el .IP \fR\f(CB%u\fR\fB\fR 4 .IX Item "%u" نسخهٔ بالادست (upstream version). .RE .RS 4 .RE .IP \fB\-\-buildinfo\-file=\fR\fIfilename\fR 4 .IX Item "--buildinfo-file=filename" نام فایل را برای فایل \&\fB.buildinfo\fR تولیدشده تعیین می‌کند (از dpkg نسخه 1.21.0). .IP \fB\-\-buildinfo\-option=\fR\fIopt\fR 4 .IX Item "--buildinfo-option=opt" گزینهٔ \&\fIopt\fR را به \&\fBdpkg\-genbuildinfo\fR ارسال می‌کند (از dpkg نسخه 1.18.11). می‌تواند چندین بار استفاده شود. .IP \fB\-\-sign\-backend=\fR\fIsign\-backend\fR 4 .IX Item "--sign-backend=sign-backend" رابط پشتیبان OpenPGP را برای استفاده در هنگام فراخوانی \&\fIsign\-command\fR مشخص می‌کند (از dpkg نسخه 1.21.10). .Sp حالت پیش‌فرض \&\fBauto\fR است که در آن بهترین پشتیبان موجود فعلی استفاده خواهد شد. پشتیبان‌های خاص OpenPGP پشتیبانی‌شده به ترتیب اولویت عبارتند از: .RS 4 .IP \fBsop\fR 4 .IX Item "sop" هر پیاده‌سازی منطبق بر Stateless OpenPGP (SOP)، مانند sqop، rsop، gosop یا pgpainless-cli. .IP \fBsq\fR 4 .IX Item "sq" از پروژهٔ Sequoia-PGP. .IP \fBgpg\fR 4 .IX Item "gpg" از پروژهٔ GnuPG. .RE .RS 4 .RE .IP "\fB\-p\fR, \fB\-\-sign\-command=\fR\fIsign\-command\fR" 4 .IX Item "-p, --sign-command=sign-command" هنگامی که \&\fBdpkg\-buildpackage\fR نیاز به اجرای یک دستور پشتیبان OpenPGP برای امضای یک فایل کنترل منبع (\fB.dsc\fR)، یک فایل \&\fB.buildinfo\fR یا یک فایل \&\fB.changes\fR دارد، به جای دستور پیش‌فرض یا تشخیص داده‌شده به‌صورت خودکار، دستور \&\fIsign\-command\fR را اجرا خواهد کرد (در صورت لزوم در \&\fBPATH\fR جستجو می‌کند) (گزینهٔ طولانی از dpkg نسخه 1.18.8). دستور \&\fIsign\-command\fR تمام آرگومان‌های ویژهٔ پشتیبان را مطابق با \&\fB\-\-sign\-backend\fR انتخاب‌شده دریافت خواهد کرد. دستور \&\fIsign\-command\fR نباید شامل فاصله یا هرگونه نویسهٔ کنترلی دیگر پوسته باشد. .IP "\fB\-k\fR, \fB\-\-sign\-keyid=\fR\fIkey\-id\fR" 4 .IX Item "-k, --sign-keyid=key-id" .PD 0 .IP \fB\-\-sign\-key=\fR\fIkey\-id\fR 4 .IX Item "--sign-key=key-id" .PD یک شناسهٔ کلید OpenPGP (اثر انگشت یا شناسهٔ کاربری) را برای کلید مخفی جهت استفاده هنگام امضای بسته‌ها مشخص می‌کند (\fB\-\-sign\-key\fR از dpkg نسخه 1.18.8، \fB\-\-sign\-keyid\fR از dpkg نسخه 1.21.10). .IP \fB\-\-sign\-keyfile=\fR\fIkey\-file\fR 4 .IX Item "--sign-keyfile=key-file" یک \&\fIkey\-file\fR حاوی کلید مخفی OpenPGP را برای استفاده در زمان امضای بسته‌ها مشخص می‌کند (از dpkg نسخه 1.21.10). .Sp \&\fBتوجه\fR: به دلایل امنیتی بهتر است \&\fIkey\-file\fR با یک گذرواژه قفل نگه داشته شود. .IP "\fB\-us\fR, \fB\-\-unsigned\-source\fR" 4 .IX Item "-us, --unsigned-source" بستهٔ منبع را امضا نمی‌کند (گزینهٔ طولانی از dpkg نسخه 1.18.8). .IP "\fB\-ui\fR, \fB\-\-unsigned\-buildinfo\fR" 4 .IX Item "-ui, --unsigned-buildinfo" فایل \&\fB.buildinfo\fR را امضا نمی‌کند (از dpkg نسخه 1.18.19). .IP "\fB\-uc\fR, \fB\-\-unsigned\-changes\fR" 4 .IX Item "-uc, --unsigned-changes" فایل‌های \&\fB.buildinfo\fR و \&\fB.changes\fR را امضا نمی‌کند (گزینهٔ طولانی از dpkg نسخه 1.18.8). .IP \fB\-\-no\-sign\fR 4 .IX Item "--no-sign" هیچ فایلی را امضا نمی‌کند، این شامل بستهٔ منبع، فایل \&\fB.buildinfo\fR و فایل \&\fB.changes\fR می‌شود (از dpkg نسخه 1.18.20). .IP \fB\-\-force\-sign\fR 4 .IX Item "--force-sign" امضای فایل‌های حاصل را بدون توجه به \&\fB\-us\fR، \&\fB\-\-unsigned\-source\fR، \&\fB\-ui\fR، \&\fB\-\-unsigned\-buildinfo\fR، \&\fB\-uc\fR، \&\fB\-\-unsigned\-changes\fR یا سایر قواعد شهودی داخلی اجبار می‌کند (از dpkg نسخه 1.17.0). .IP \fB\-sn\fR 4 .IX Item "-sn" .PD 0 .IP \fB\-ss\fR 4 .IX Item "-ss" .IP \fB\-sA\fR 4 .IX Item "-sA" .IP \fB\-sk\fR 4 .IX Item "-sk" .IP \fB\-su\fR 4 .IX Item "-su" .IP \fB\-sr\fR 4 .IX Item "-sr" .IP \fB\-sK\fR 4 .IX Item "-sK" .IP \fB\-sU\fR 4 .IX Item "-sU" .IP \fB\-sR\fR 4 .IX Item "-sR" .IP "\fB\-i\fR, \fB\-\-diff\-ignore\fR[=\fIregex\fR]" 4 .IX Item "-i, --diff-ignore[=regex]" .IP "\fB\-I\fR, \fB\-\-tar\-ignore\fR[=\fIpattern\fR]" 4 .IX Item "-I, --tar-ignore[=pattern]" .IP "\fB\-z\fR, \fB\-\-compression\-level=\fR\fIlevel\fR" 4 .IX Item "-z, --compression-level=level" .IP "\fB\-Z\fR, \fB\-\-compression=\fR\fIcompressor\fR" 4 .IX Item "-Z, --compression=compressor" .PD بدون تغییر به \&\fBdpkg\-source\fR ارسال می‌شود. صفحهٔ راهنمای آن را ببینید. .IP \fB\-\-source\-option=\fR\fIopt\fR 4 .IX Item "--source-option=opt" گزینهٔ \&\fIopt\fR را به \&\fBdpkg\-source\fR ارسال می‌کند (از dpkg نسخه 1.15.6). می‌تواند چندین بار استفاده شود. .IP \fB\-\-changes\-file=\fR\fIfilename\fR 4 .IX Item "--changes-file=filename" نام فایل را برای فایل \&\fB.changes\fR تولیدشده تعیین می‌کند (از dpkg نسخه 1.21.0). .IP \fB\-\-changes\-option=\fR\fIopt\fR 4 .IX Item "--changes-option=opt" گزینهٔ \&\fIopt\fR را به \&\fBdpkg\-genchanges\fR ارسال می‌کند (از dpkg نسخه 1.15.6). می‌تواند چندین بار استفاده شود. .IP \fB\-\-admindir=\fR\fIdir\fR 4 .IX Item "--admindir=dir" .PD 0 .IP "\fB\-\-admindir\fR \fIdir\fR" 4 .IX Item "--admindir dir" .PD محل پایگاه‌دادهٔ \&\fBdpkg\fR را تغییر می‌دهد (از dpkg نسخه 1.14.0). محل پیش‌فرض \&\fI/var/lib/dpkg\fR است. .IP "\fB\-?\fR, \fB\-\-help\fR" 4 .IX Item "-?, --help" پیام راهنمای نحوهٔ استفاده را نمایش داده و خارج می‌شود. .IP \fB\-\-version\fR 4 .IX Item "--version" اطلاعات نسخه را نمایش داده و خارج می‌شود. .SH "محیط (ENVIRONMENT)" .IX Header "محیط (ENVIRONMENT)" .SS "محیط خارجی (External environment)" .IX Subsection "محیط خارجی (External environment)" .IP \fBDEB_CHECK_COMMAND\fR 4 .IX Item "DEB_CHECK_COMMAND" در صورت تنظیم، به عنوان دستور بررسی فایل \&\fB.changes\fR استفاده خواهد شد (از dpkg نسخه 1.17.6). با گزینهٔ \&\fB\-\-check\-command\fR بازنویسی می‌شود. .IP \fBDEB_SIGN_KEYID\fR 4 .IX Item "DEB_SIGN_KEYID" در صورت تنظیم، برای امضای فایل‌های \&\fB.changes\fR، \&\fB.buildinfo\fR و \&\fB.dsc\fR استفاده خواهد شد (از dpkg نسخه 1.17.2). با گزینهٔ \&\fB\-\-sign\-keyid\fR بازنویسی می‌شود. .IP \fBDEB_SIGN_KEYFILE\fR 4 .IX Item "DEB_SIGN_KEYFILE" در صورت تنظیم، برای امضای فایل‌های \&\fB.changes\fR، \&\fB.buildinfo\fR و \&\fB.dsc\fR استفاده خواهد شد (از dpkg نسخه 1.21.10). با گزینهٔ \&\fB\-\-sign\-keyfile\fR بازنویسی می‌شود. .IP \fBDEB_BUILD_OPTIONS\fR 4 .IX Item "DEB_BUILD_OPTIONS" در صورت تنظیم، شامل فهرستی از گزینه‌ها خواهد بود که با فاصله از هم جدا شده‌اند و بر رفتار برخی از ابزارهای dpkg که در فرآیند ساخت بسته دخیل هستند تأثیر می‌گذارند، و در صورتی که کد موجود در \&\fIdebian/rules\fR از آن‌ها تبعیت کند، ممکن است بر فرآیند ساخت بسته تأثیر بگذارند. این گزینه‌ها می‌توانند پارامترهایی داشته باشند که بلافاصله پس از علامت مساوی (\(oq\fB=\fR\(cq) مشخص می‌شوند. برای گزینه‌هایی که از چندین پارامتر پشتیبانی می‌کنند، این پارامترها با فاصله از یکدیگر جدا نخواهند شد، زیرا فاصله برای جداسازی گزینه‌ها رزرو شده است. .Sp موارد زیر گزینه‌های شناخته‌شده و پشتیبانی‌شده توسط ابزارهای dpkg هستند، گزینه‌های دیگر مورد قبول توسط \&\fIdebian/rules\fR ممکن است بر اساس سیاست‌های ویژهٔ توزیع تعریف شوند. .RS 4 .IP \fBparallel=\fR\fIN\fR 4 .IX Item "parallel=N" فایل \&\fIdebian/rules\fR در بسته‌بندی ممکن است از این گزینه برای تنظیم فرآیند ساخت جهت استفاده از \&\fIN\fR کار موازی بهره ببرد. این گزینه با گزینه‌های \&\fB\-\-jobs\fR و \&\fB\-\-jobs\-force\fR بازنویسی می‌شود. .IP \fBnocheck\fR 4 .IX Item "nocheck" دستور \&\fBdpkg\-buildpackage\fR متغیر \&\fBDEB_CHECK_COMMAND\fR را نادیده خواهد گرفت. انتظار نمی‌رود که \&\fIdebian/rules\fR در فرآیند بسته‌بندی، آزمون‌ها را در حین ساخت اجرا کند. .IP \fBnoopt\fR 4 .IX Item "noopt" اگر \&\fIdebian/rules\fR دستور \&\fBdpkg\-buildflags\fR را برای برپاسازی پرچم‌های ساخت فرابخواند، آن‌ها طوری تنظیم خواهند شد که هیچ بهینه‌سازی را فعال نکنند. .IP \fBnostrip\fR 4 .IX Item "nostrip" فایل \&\fIdebian/rules\fR در بسته‌بندی باید اطمینان حاصل کند که اطلاعات دیباگ از اشیاء (objects) حذف (strip) نمی‌شوند. اگر \&\fIdebian/rules\fR قطعه‌کد make موجود در \&\fBmk/buildtools.mk\fR را شامل شود، متغیر make موسوم به \&\fBSTRIP\fR از این گزینه پیروی خواهد کرد. .IP \fBterse\fR 4 .IX Item "terse" دستور \&\fBdpkg\-buildpackage\fR پرچم \&\fBmake\fR\|(1) موسوم به \&\fB\-\-no\-print\-directory\fR را به متغیر محیطی \&\fBMAKEFLAGS\fR اضافه خواهد کرد. فایل \&\fIdebian/rules\fR در بسته‌بندی باید خروجی را مختصر کند، بدون آن‌که کاملاً بی‌صدا باشد. .IP \fBhardening=\fR\fIfeature\-spec\fR 4 .IX Item "hardening=feature-spec" .PD 0 .IP \fBreproducible=\fR\fIfeature\-spec\fR 4 .IX Item "reproducible=feature-spec" .IP \fBabi=\fR\fIfeature\-spec\fR 4 .IX Item "abi=feature-spec" .IP \fBfuture=\fR\fIfeature\-spec\fR 4 .IX Item "future=feature-spec" .IP \fBqa=\fR\fIfeature\-spec\fR 4 .IX Item "qa=feature-spec" .IP \fBoptimize=\fR\fIfeature\-spec\fR 4 .IX Item "optimize=feature-spec" .IP \fBsanitize=\fR\fIfeature\-spec\fR 4 .IX Item "sanitize=feature-spec" .PD این‌ها بخش‌های قابلیتی هستند که ویژگی‌های پرچم‌های ساخت را کنترل می‌کنند. برای جزئیات بیشتر \&\fBdpkg\-buildflags\fR\|(1) را ببینید. .RE .RS 4 .RE .IP \fBDEB_BUILD_PROFILES\fR 4 .IX Item "DEB_BUILD_PROFILES" در صورت تنظیم، به عنوان نمایه(ها)ی ساخت فعال برای بستهٔ در حال ساخت استفاده خواهد شد (از dpkg نسخه 1.17.2). این متغیر فهرستی از نام‌های نمایه است که با فاصله جدا شده‌اند. با گزینهٔ \&\fB\-P\fR بازنویسی می‌شود. .IP \fBDPKG_COLORS\fR 4 .IX Item "DPKG_COLORS" حالت رنگی را تعیین می‌کند (از dpkg نسخه 1.18.5). مقادیر پذیرفته‌شده در حال حاضر عبارتند از: \&\fBauto\fR (پیش‌فرض)، \&\fBalways\fR و \&\fBnever\fR. .IP \fBDPKG_NLS\fR 4 .IX Item "DPKG_NLS" در صورت تنظیم، برای تصمیم‌گیری در مورد فعال‌سازی پشتیبانی از زبان بومی (Native Language Support)، که به عنوان پشتیبانی از بین‌المللی‌سازی (یا i18n) نیز شناخته می‌شود، استفاده خواهد شد (از dpkg نسخه 1.19.0). مقادیر پذیرفته‌شده عبارتند از: \&\fB0\fR و \&\fB1\fR (پیش‌فرض). .SS "محیط داخلی (Internal environment)" .IX Subsection "محیط داخلی (Internal environment)" حتی اگر \&\fBdpkg\-buildpackage\fR برخی متغیرها را صادر (export) کند، \&\fBdebian/rules\fR نباید به حضور آن‌ها اتکا نماید و در عوض باید از رابط‌های مربوطه برای بازیابی مقادیر مورد نیاز استفاده کند، زیرا آن فایل نقطهٔ ورود اصلی برای ساخت بسته‌ها است و اجرای مستقل آن باید پشتیبانی شود. .IP \fBDEB_BUILD_*\fR 4 .IX Item "DEB_BUILD_*" .PD 0 .IP \fBDEB_HOST_*\fR 4 .IX Item "DEB_HOST_*" .IP \fBDEB_TARGET_*\fR 4 .IX Item "DEB_TARGET_*" .PD دستور \&\fBdpkg\-architecture\fR همراه با پارامترهای \&\fB\-a\fR و \&\fB\-t\fR ارسال‌شده فراخوانی می‌شود. هر متغیری که توسط گزینهٔ \&\fB\-s\fR آن خروجی داده شود در محیط ساخت ادغام خواهد شد. .IP \fBDEB_RULES_REQUIRES_ROOT\fR 4 .IX Item "DEB_RULES_REQUIRES_ROOT" این متغیر روی مقدار به‌دست‌آمده از فیلد \&\fBRules\-Requires\-Root\fR، سطح dpkg-build-api یا از خط فرمان تنظیم می‌شود. هنگامی که تنظیم شود، مقداری معتبر برای فیلد \&\fBRules\-Requires\-Root\fR خواهد بود. از این متغیر برای آگاه‌سازی \&\fBdebian/rules\fR از این‌که آیا مشخصات \&\fBrootless\-builds.txt\fR پشتیبانی می‌شود یا خیر استفاده می‌گردد. .IP \fBDEB_GAIN_ROOT_CMD\fR 4 .IX Item "DEB_GAIN_ROOT_CMD" این متغیر هنگامی که فیلد \&\fBRules\-Requires\-Root\fR روی مقداری متفاوت از \&\fBno\fR و \&\fBbinary\-targets\fR تنظیم شده باشد، روی \&\fIgain\-root\-command\fR تنظیم می‌شود. .IP \fBSOURCE_DATE_EPOCH\fR 4 .IX Item "SOURCE_DATE_EPOCH" این متغیر بر روی برچسب زمانی یونیکس از مبدأ (epoch) برای آخرین مدخل در \&\fIdebian/changelog\fR تنظیم می‌شود، در صورتی که از قبل تعریف نشده باشد. .SH "فایل‌ها (FILES)" .IX Header "فایل‌ها (FILES)" .IP \fI/etc/dpkg/buildpackage.conf\fR 4 .IX Item "/etc/dpkg/buildpackage.conf" فایل پیکربندی سراسری سیستم. .ie n .IP "\fR\fI$XDG_CONFIG_HOME\fR\fI/dpkg/buildpackage.conf\fR یا" 4 .el .IP "\fR\f(CI$XDG_CONFIG_HOME\fR\fI/dpkg/buildpackage.conf\fR یا" 4 .IX Item "$XDG_CONFIG_HOME/dpkg/buildpackage.conf or" .PD 0 .ie n .IP \fR\fI$HOME\fR\fI/.config/dpkg/buildpackage.conf\fR 4 .el .IP \fR\f(CI$HOME\fR\fI/.config/dpkg/buildpackage.conf\fR 4 .IX Item "$HOME/.config/dpkg/buildpackage.conf" .PD فایل پیکربندی کاربر. .SH "نکات (NOTES)" .IX Header "نکات (NOTES)" .SS "پرچم‌های کامپایلر دیگر صادر نمی‌شوند (Compiler flags are no longer exported)" .IX Subsection "پرچم‌های کامپایلر دیگر صادر نمی‌شوند (Compiler flags are no longer exported)" بین dpkg نسخه 1.14.17 و 1.16.1، دستور \&\fBdpkg\-buildpackage\fR پرچم‌های کامپایلر (\fBCFLAGS\fR، \&\fBCXXFLAGS\fR، \&\fBFFLAGS\fR، \&\fBCPPFLAGS\fR و \&\fBLDFLAGS\fR) را با مقادیری که توسط \&\fBdpkg\-buildflags\fR برگردانده می‌شد صادر (export) می‌کرد. این موضوع دیگر صادق نیست. .SS "هدف‌های ساخت پیش‌فرض (Default build targets)" .IX Subsection "هدف‌های ساخت پیش‌فرض (Default build targets)" دستور \&\fBdpkg\-buildpackage\fR از dpkg نسخه 1.16.2 به بعد از اهداف \&\fBbuild\-arch\fR و \&\fBbuild\-indep\fR استفاده می‌کند. پیش از dpkg نسخه 1.22.7، کدی برای تلاش جهت تشخیص اهداف ناموجود و پس‌گرد به هدف \&\fBbuild\fR وجود داشت. بنابراین این اهداف اجباری هستند. .SH "امنیت (SECURITY)" .IX Header "امنیت (SECURITY)" ساخت بسته‌های دودویی یا منبع تنها باید بر روی داده‌های منبع قابل اعتماد انجام شود. .SH "اشکالات (BUGS)" .IX Header "اشکالات (BUGS)" باید امکان مشخص کردن فاصله‌ها و نویسه‌های کنترلی پوسته و آرگومان‌های اولیه برای \&\fIgain\-root\-command\fR و \&\fIsign\-command\fR وجود داشته باشد. .SH "همچنین ببینید (SEE ALSO)" .IX Header "همچنین ببینید (SEE ALSO)" \&\fI/usr/share/doc/dpkg/spec/rootless\-builds.txt\fR، \&\fBdpkg\-source\fR\|(1)، \&\fBdpkg\-architecture\fR\|(1)، \&\fBdpkg\-buildflags\fR\|(1)، \&\fBdpkg\-genbuildinfo\fR\|(1)، \&\fBdpkg\-genchanges\fR\|(1)، \&\fBfakeroot\fR\|(1)، \&\fBlintian\fR\|(1)، SOP ، \&\fBsq\fR\|(1)، \&\fBgpg\fR\|(1).