از ماکروها در بسته های دور در دقیقه استفاده کنید

در لیست پستی فدورا منتشر شده است پیشنهاد برای استانداردسازی ماکروها در فایل‌های مشخصات RPM، به شما این امکان را می‌دهد تا به بسته‌های RPM توانایی انتخاب پرچم‌های کامپایل و وابستگی‌های اضافی را در مرحله ساخت اضافه کنید.

مثال استفاده:

%if %{استفاده از ssl}
BuildRequires: openssl-devel
% endif

٪ آمادگی
%configure %{use_enable ssl openssl}

٪ بررسی
انجام آزمایش %{?_use_ssl:-DSSL}

در این مثال، هنگام تعیین USE macro ssl در فایل spec، یک وابستگی اضافی به بسته openssl-devel اضافه می شود، یک مرحله پیکربندی با فعال کردن گزینه --enable-openssl اجرا می شود و تست های مربوطه انجام می شود. در حین ساخت اجرا شد.

فرض بر این است که گزینه ساخت توسط ماکرو باینری %_use_ مشخص خواهد شد. با لفاف های اضافی مانند:

  • ٪{استفاده کنید } – مقادیر 0 یا 1 را می گیرد،
  • %{use_enable [ [ ]]} - گسترش می یابد به -غیرفعال- یا --فعال کردن- .

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

به عنوان مثال، برای به حداقل رساندن درخت وابستگی ساخت، می توانید از پارامتر سراسری %{use docs} استفاده کنید که ساخت اسناد را غیرفعال می کند.

می توانید با پیکربندی محیط ساخت، مجموعه مناسبی از گزینه ها را تنظیم کنید. علاوه بر این، گزینه ها را می توان هم به صورت جهانی و هم با تعریف مجدد آنها به طور جداگانه برای هر بسته تنظیم کرد.

این پیشنهاد هنوز پذیرفته نشده و در حال بررسی است.

منبع: linux.org.ru

اضافه کردن نظر