متغیرهای
پیکربندی
زیر برای
عملیات
ساخت 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
تعیین
میکند که
آیا فرمت
نامعتبر
نسخه در
وابستگیها
و غیره باید
فرایند
ساخت را
متوقف کند
یا خیر.