RPMBUILD-CONFIG(5) File Formats Manual RPMBUILD-CONFIG(5)

rpmbuild-config - پیکربندی ماکروهای rpmbuild

NAME VALUE

سازوکار اصلی پیکربندی در rpmbuild، ماکروهای rpm-macros(7) است. برای شرح سازوکار عمومی، به rpm-config(5) مراجعه کنید؛ این راهنما صرفاً متغیرهای پیکربندی اثرگذار بر عملکرد rpmbuild را شرح می‌دهد.

متغیرهای پیکربندی زیر برای عملیات ساخت rpm پشتیبانی می‌شوند، که معمولاً از طریق دستور rpmbuild فراخوانی می‌گردد.

%_builddir DIRECTORY

پوشه‌ای که هنگام ساخت، دایرکتوری‌های ساخت هر بسته در آن قرار می‌گیرد.

%_fileattrsdir DIRECTORY

پوشه‌ای که پیکربندی دسته‌بندی‌کننده فایل‌ها در آن قرار دارد.

%_rpmdir DIRECTORY

پوشه‌ای که بسته‌های باینری تازه ساخته‌شده در آن نوشته خواهند شد.

%_rpmfilename TEMPLATE

قالب نام‌گذاری فایل بسته باینری خروجی هنگام ساخت بسته‌های باینری، مطابق با توضیحات rpm-queryformat(7). این نام فایل نسبت به %_rpmdir سنجیده می‌شود.

%_sourcedir DIRECTORY

پوشه‌ای که هنگام ساخت، کد منبع‌ها و وصله‌ها در آن یافت می‌شوند.

%_srcrpmdir DIRECTORY

پوشه‌ای که بسته‌های منبع تازه ساخته‌شده در آن نوشته خواهند شد.

%_topdir DIRECTORY

پوشه سطح بالایی که به طور پیش‌فرض، دایرکتوری‌های ساخت بسته در زیر آن قرار دارند.

این‌ها گروه ویژه‌ای از ماکروها هستند که در صورت تعریف شدن، به گونه‌ای عمل می‌کنند که گویی برچسب متناظر در یک specfile استفاده شده است. این قابلیت امکان تغییر مقادیر را بدون نیاز به دستکاری هزاران فایل spec فراهم می‌کند.

%bugurl URL

نشانی اینترنتی گزارش باگ، مشابه برچسب BugURL: در یک specfile. در صورت تنظیم، باید به وب‌گاهی برای جستجوی مشکلات موجود و ثبت گزارش‌های جدید برای این بسته اشاره کند.

%distribution STRING

اطلاعات توزیع، مشابه برچسب Distribution: در یک specfile.

%disturl URL

نشانی اینترنتی توزیع، مشابه برچسب DistURL: در یک specfile.

%disttag STRING

برچسب توزیع، مشابه برچسب DistTag: در یک specfile.

%modularitylabel STRING

برچسب مدولار بودن، مشابه ModularityLabel: در یک specfile. منسوخ شده است.

%packager STRING

اطلاعات بسته‌بند، مشابه برچسب Packager: در یک specfile.

%translationurl URL

نشانی اینترنتی ترجمه، مشابه برچسب TranslationURL: در یک specfile.

%upstreamreleases URL

نشانی اینترنتی برای بررسی نسخه‌های جدیدتر بالادستی، مشابه برچسب UpstreamReleases: در یک specfile.

%vendor STRING

اطلاعات توزیع‌کننده (Vendor)، مشابه برچسب Vendor: در یک specfile.

این تنظیمات بر جنبه‌های مختلف فرایند ساخت اثر می‌گذارند و می‌توانند باعث شکست یا موفقیت در ساخت شوند، اما تاثیر مستقیمی بر بسته‌های تولیدشده ندارند.

%_build_pkgcheck EXECUTABLE

برنامه‌ای که برای هر بسته باینری که با موفقیت ساخته و نوشته شد فراخوانی می‌شود، مانند rpmlint. مسیر فایل بسته به عنوان یک آرگومان خط فرمان به برنامه ارسال می‌گردد.

%_build_pkgcheck_set EXECUTABLE

برنامه‌ای که پس از ساخت موفقیت‌آمیز، برای کل مجموعه بسته‌های باینری فراخوانی می‌شود، مانند rpmlint. مسیرهای مجموعه بسته‌ها به عنوان آرگومان‌های خط فرمان به برنامه ارسال می‌گردند.

%_build_pkgcheck_srpm EXECUTABLE

برنامه‌ای که برای هر بسته منبع که با موفقیت ساخته و نوشته شد فراخوانی می‌شود، مانند rpmlint. مسیر بسته به عنوان یک آرگومان خط فرمان به برنامه ارسال می‌گردد.

%_default_patch_flags STRING

مجموعه گزینه‌های پیش‌فرض هنگام اعمال تمام ماکروهای %patch.

%_default_patch_fuzz NUMBER

میزان تقریبی مجاز (fuzz level) پیش‌فرض برای اعمال وصله در فایل spec. برای جزئیات به patch(1) مراجعه کنید.

%_smp_ncpus_max NUMBER

حد نهایی برای حداکثر تعداد هسته‌های پردازنده (CPU) مورد استفاده به صورت موازی هنگام ساخت بسته. مقدار صفر به معنای نامحدود است.

%_smp_nthreads_max NUMBER

حد نهایی برای حداکثر تعداد ریسمان‌ها جهت استفاده موازی هنگام ساخت بسته. مقدار صفر به معنای نامحدود است.

%_smp_tasksize_proc NUMBER

اندازه تقریبی تسک در فرآیندهای ساخت (هنگام کامپایل). برای تنظیم میزان موازی‌سازی بر اساس حافظه موجود به کار می‌رود.

%_smp_tasksize_thread NUMBER

اندازه تقریبی تسک در ریسمان‌ها (هنگام تولید بسته). برای تنظیم میزان موازی‌سازی بر اساس حافظه موجود به کار می‌رود.

این تنظیمات بر جنبه‌های گوناگون بسته‌های باینری و منبع تولیدشده اثر می‌گذارند.

%build_mtime_policy POLICY

نحوه مدیریت زمان‌مهر (timestamp) فایل‌ها را در بسته‌های ساخته‌شده تعیین می‌کند. محدود کردن (Clamping) به معنای اطمینان از فراتر نرفتن مقدار از مقدار آستانه است.
  • clamp_to_buildtime: زمان‌مهر فایل‌ها به زمان ساخت بسته محدود می‌شود.
  • clamp_to_source_date_epoch: زمان‌مهر فایل‌ها به متغیر محیطی SOURCE_DATE_EPOCH محدود می‌شود.

%clamp_mtime_to_source_date_epoch BOOLEAN

نام مستعار برای %build_mtime_policy clamp_to_source_date_epoch. استفاده نشود. منسوخ شده و برای حذف برنامه‌ریزی شده است.

%source_date_epoch_from_changelog BOOLEAN

تعیین می‌کند که آیا مقدار متغیر محیطی SOURCE_DATE_EPOCH از روی زمان‌مهر بالاترین ورودی در بخش %changelog تنظیم شود یا خیر.

%use_source_date_epoch_as_buildtime BOOLEAN

تعیین می‌کند که آیا از مقدار متغیر محیطی SOURCE_DATE_EPOCH به عنوان زمان ساخت بسته‌ها استفاده شود یا خیر.

%_binary_filedigest_algorithm HASHALGO

الگوریتمی که برای تولید چک‌سام‌های تک‌تک فایل‌ها (یا دایجست‌ها) در بسته‌های باینری به کار می‌رود. برای مقادیر پشتیبانی‌شده به rpm-config(5) مراجعه کنید.

%_binary_payload IOFLAGS

روش ورودی/خروجی و فشرده‌سازی مورد استفاده برای ایجاد محموله (payload) در بسته‌های باینری. به rpm-payloadflags(7) مراجعه کنید.

%_buildhost HOSTNAME

استفاده از HOSTNAME به عنوان نام میزبان ساخت بسته، به جای دریافت این مقدار از gethostname(2).

%_buildtime TIMESTAMP

استفاده از TIMESTAMP به عنوان زمان ساخت بسته، به جای دریافت این مقدار از time(2).

%_changelog_trimage TIMESTAMP

حداکثر عمر ورودی‌های نگه‌داری‌شده در تغییرات (changelog) در بسته‌های باینری، نسبت به جدیدترین ورودی موجود. در قالب برچسب زمانی یونیکس (Unix timestamp). مقدار صفر برش بر اساس سن را غیرفعال می‌کند.

%_changelog_trimtime TIMESTAMP

راهبردی جایگزین برای برش لیست تغییرات: حذف تمام ورودی‌های تغییرات قدیمی‌تر از زمان‌مهر مشخص‌شده. در قالب برچسب زمانی یونیکس. مقدار صفر برش بر اساس زمان را غیرفعال می‌کند.

%_docdir_fmt TEMPLATE

الگویی برای نام دایرکتوری مستندات مربوط به هر بسته، یعنی فایل‌هایی که با ماکروی %doc بسته‌بندی شده‌اند.

%__docdir_path PATH

فهرستی از دایرکتوری‌ها که با کولون (دونقطه) از هم جدا شده‌اند و محتوای آن‌ها همواره باید به عنوان مستندات در نظر گرفته شود.

%_openpgp_autosign_id KEYID

شناسه کلید OpenPGP یا اثرانگشت (fingerprint) برای استفاده در امضای خودکار بسته‌ها پس از یک ساخت موفقیت‌آمیز. همچنین به rpmsign(1) مراجعه کنید.

%_rpmformat VERSION

فرمت بسته RPM برای تولید. مقادیر پشتیبانی‌شده عبارتند از:
  • 4: فرمت RPM نسخه ۴ (RPM v4)
  • 6: فرمت RPM نسخه ۶ (RPM v6)

%_source_filedigest_algorithm HASHALGO

الگوریتم مورد استفاده برای تولید چک‌سام فایل‌ها (یا دایجست‌ها) در بسته‌های منبع. برای مقادیر پشتیبانی‌شده به rpm-config(5) مراجعه کنید.

%_source_payload

روش ورودی/خروجی و فشرده‌سازی برای تولید محموله بسته‌های منبع. به rpm-payloadflags(7) مراجعه کنید.

%__gpg_reserved_space NUMBER

تعداد بایت‌های رزروشده برای امضاها در هدر امضا. این فضای رزروشده سرعت امضای بسته‌ها را به شکل چشمگیری افزایش می‌دهد.

زیربسته‌های debuginfo حاوی اطلاعات لازم برای اشکال‌زدایی ساخت‌هایی هستند که در غیر این صورت برای انتشار عمومی بهینه‌سازی شده‌اند. این تنظیمات مشخص می‌کنند که آیا بسته‌های debuginfo تولید شوند یا خیر و جنبه‌های گوناگون اطلاعات اشکال‌زدایی تولیدشده را کنترل می‌نمایند.

%_build_id_links MODE

مشخص می‌کند پیوندهای build_id برای فایل‌های ELF چگونه و آیا اصلاً تولید شوند یا خیر. تنظیمات زیر پشتیبانی می‌شوند:
  • none: هیچ پیوند build_id تولید نمی‌شود.
  • alldebug: تولید پیوندهای build_id به سبک نسخه‌های قدیمی rpm < 4.14؛ یعنی همه موارد در بسته -debuginfo قرار می‌گیرد.
  • separate: تولید پیوندهای build_id در بسته‌های باینری.
  • compat: همانند separate، اما همراه با پیوند(های) سازگاری در بسته‌های -debuginfo.

%_debuginfo_subpackages BOOLEAN

تعیین می‌کند که آیا rpm باید برای هر زیربسته، بسته‌های debuginfo جداگانه ایجاد کند یا خیر.

%_debugsource_packages BOOLEAN

تعیین می‌کند که آیا rpm باید فایل‌های منبع اشکال‌زدایی را در زیربسته اختصاصی خود قرار دهد یا خیر.

%_enable_debug_packages BOOLEAN

تعیین می‌کند که آیا rpm باید زیربسته‌های debuginfo را تولید کند یا خیر.

%_include_gdb_index BOOLEAN

گنجاندن یک بخش .gdb_index در فایل‌های .debug. نیازمند فعال بودن %_enable_debug_packages و نصب بودن gdb-add-index(1) است.

%_include_minidebuginfo BOOLEAN

گنجاندن حداقل اطلاعات اشکال‌زدایی در باینری‌های ساخته‌شده. نیازمند فعال بودن %_enable_debug_packages است.

%_no_recompute_build_ids BOOLEAN

غیرفعال کردن محاسبه مجدد build-idها. نمی‌تواند هم‌زمان با %_unique_build_ids استفاده شود.

%_unique_build_ids BOOLEAN

تعیین می‌کند که آیا هنگام ساخت بسته‌های debuginfo، شناسه‌های build-id میان نسخه‌ها/انتشارهای بسته یکتا باشند یا خیر.

%_unique_debug_names BOOLEAN

تعیین می‌کند که آیا فایل‌های .debug میان نسخه، انتشار و معماری بسته یکتا باشند یا خیر. نیازمند فعال بودن %_unique_build_ids است.

%_unique_debug_srcs BOOLEAN

تعیین می‌کند که آیا دایرکتوری‌های /usr/debug/src/<package> میان نسخه، انتشار و معماری بسته یکتا باشند یا خیر.

%__find_debuginfo EXECUTABLE

مسیر فایل اجرایی کمکی debuginfo.

این تنظیمات مربوط به چندین دهه سازگاری رو به عقب هستند. اکثر آن‌ها مشخص می‌کنند که آیا یک مسئله خاص خطا تلقی شود یا صرفاً یک هشدار. گاهی اوقات برای دور زدن موقت مشکلات هنگام بسته‌بندی نیز کاربرد دارند.

%_binaries_in_noarch_packages_terminate_build BOOLEAN

تعیین می‌کند که آیا وجود باینری‌های ELF در بسته‌های noarch باید فرایند ساخت را متوقف کند یا خیر.

%_duplicate_files_terminate_build BOOLEAN

تعیین می‌کند که آیا وجود فایل‌های تکراری در بخش %files باید فرایند ساخت را متوقف کند یا خیر.

%_empty_manifest_terminate_build BOOLEAN

تعیین می‌کند که آیا یک فایل مانیفست خالی در %files باید فرایند ساخت را متوقف کند یا خیر.

%_invalid_encoding_terminates_build BOOLEAN

تعیین می‌کند که آیا رمزگذاری غیر UTF-8 در داده‌های بسته باید فرایند ساخت را متوقف کند یا خیر.

%__find_provides EXECUTABLE

فایل اجرایی مورد استفاده برای تولید provides به سبک rpm 3.x. استفاده نشود. منسوخ شده و برای حذف برنامه‌ریزی شده است.

%__find_requires EXECUTABLE

فایل اجرایی مورد استفاده برای تولید requires به سبک rpm 3.x. استفاده نشود. منسوخ شده و برای حذف برنامه‌ریزی شده است.

%_missing_build_ids_terminate_build BOOLEAN

تعیین می‌کند که آیا فایل‌های ELF فاقد build-id باید فرایند ساخت را متوقف کنند یا خیر. به دلایل تاریخی، این گزینه تنها در صورتی اعمال می‌شود که %_enable_debug_packages نیز فعال باشد.

%_missing_doc_files_terminate_build BOOLEAN

تعیین می‌کند که آیا نبود فایل‌های %doc در دایرکتوری ساخت باید فرایند ساخت را متوقف کند یا خیر.

%_unpackaged_files_terminate_build BOOLEAN

تعیین می‌کند که آیا فایل‌های بسته‌بندی‌نشده در ریشه ساخت (build root) باید فرایند ساخت را متوقف کنند یا خیر.

%_nonzero_exit_pkgcheck_terminate_build BOOLEAN

تعیین می‌کند که آیا در صورت بازگرداندن خطا توسط بررسی‌کننده بسته (در صورت تعریف شدن)، فرایند ساخت بسته باید شکست بخورد یا خیر؟ ماکروهای %_build_pkgcheck_* را ببینید.

%_use_internal_dependency_generator BOOLEAN

در صورت فعال بودن، از تولید وابستگی به سبک rpm 3.x استفاده می‌کند. استفاده نشود. منسوخ شده و برای حذف برنامه‌ریزی شده است.

%_use_weak_usergroup_deps BOOLEAN

در صورت فعال بودن، نیازمندی‌های ()user و ()group را به سطح توصیه‌شده (recommends) تعدیل می‌کند. هنگام گذار به مدیریت کاربر/گروه مبتنی بر sysusers.d مفید است.

%_wrong_version_format_terminate_build BOOLEAN

تعیین می‌کند که آیا فرمت نامعتبر نسخه در وابستگی‌ها و غیره باید فرایند ساخت را متوقف کند یا خیر.

rpmbuild(1), rpm-common(8), rpm-macrofile(5), rpm-rpmrc(5), rpm-config(5), rpm-payloadflags(7) rpm-macros(7)

2026-03-06 RPM 6.0.1