RPMBUILD-CONFIG(5) File Formats Manual RPMBUILD-CONFIG(5) نام (NAME) rpmbuild-config - پیکربندی ماکروهای rpmbuild خلاصه دستور (SYNOPSIS) NAME VALUE توضیحات (DESCRIPTION) سازوکار اصلی پیکربندی در rpmbuild، ماکروهای rpm-macros(7) است. برای شرح سازوکار عمومی، به rpm-config(5) مراجعه کنید؛ این راهنما صرفاً متغیرهای پیکربندی اثرگذار بر عملکرد rpmbuild را شرح می‌دهد. پیکربندی (CONFIGURATION) متغیرهای پیکربندی زیر برای عملیات ساخت rpm پشتیبانی می‌شوند، که معمولاً از طریق دستور rpmbuild فراخوانی می‌گردد. مسیرها و نام فایل‌ها (Locations and filenames) %_builddir DIRECTORY پوشه‌ای که هنگام ساخت، دایرکتوری‌های ساخت هر بسته در آن قرار می‌گیرد. %_fileattrsdir DIRECTORY پوشه‌ای که پیکربندی دسته‌بندی‌کننده فایل‌ها در آن قرار دارد. %_rpmdir DIRECTORY پوشه‌ای که بسته‌های باینری تازه ساخته‌شده در آن نوشته خواهند شد. %_rpmfilename TEMPLATE قالب نام‌گذاری فایل بسته باینری خروجی هنگام ساخت بسته‌های باینری، مطابق با توضیحات rpm-queryformat(7). این نام فایل نسبت به %_rpmdir سنجیده می‌شود. %_sourcedir DIRECTORY پوشه‌ای که هنگام ساخت، کد منبع‌ها و وصله‌ها در آن یافت می‌شوند. %_srcrpmdir DIRECTORY پوشه‌ای که بسته‌های منبع تازه ساخته‌شده در آن نوشته خواهند شد. %_topdir DIRECTORY پوشه سطح بالایی که به طور پیش‌فرض، دایرکتوری‌های ساخت بسته در زیر آن قرار دارند. برچسب‌های اطلاعاتی (Informational tags) این‌ها گروه ویژه‌ای از ماکروها هستند که در صورت تعریف شدن، به گونه‌ای عمل می‌کنند که گویی برچسب متناظر در یک 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 operation) این تنظیمات بر جنبه‌های مختلف فرایند ساخت اثر می‌گذارند و می‌توانند باعث شکست یا موفقیت در ساخت شوند، اما تاثیر مستقیمی بر بسته‌های تولیدشده ندارند. %_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 اندازه تقریبی تسک در ریسمان‌ها (هنگام تولید بسته). برای تنظیم میزان موازی‌سازی بر اساس حافظه موجود به کار می‌رود. تولید بسته (Package generation) این تنظیمات بر جنبه‌های گوناگون بسته‌های باینری و منبع تولیدشده اثر می‌گذارند. %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 generation) زیربسته‌های 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/ میان نسخه، انتشار و معماری بسته یکتا باشند یا خیر. %__find_debuginfo EXECUTABLE مسیر فایل اجرایی کمکی debuginfo. سازگاری با نسخه‌های قدیمی (Legacy compatibility) این تنظیمات مربوط به چندین دهه سازگاری رو به عقب هستند. اکثر آن‌ها مشخص می‌کنند که آیا یک مسئله خاص خطا تلقی شود یا صرفاً یک هشدار. گاهی اوقات برای دور زدن موقت مشکلات هنگام بسته‌بندی نیز کاربرد دارند. %_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 تعیین می‌کند که آیا فرمت نامعتبر نسخه در وابستگی‌ها و غیره باید فرایند ساخت را متوقف کند یا خیر. همچنین ببینید (SEE ALSO) rpmbuild(1), rpm-common(8), rpm-macrofile(5), rpm-rpmrc(5), rpm- config(5), rpm-payloadflags(7) rpm-macros(7) RPM 6.0.1 2026-03-06 RPMBUILD-CONFIG(5)