Ve zprávě Fedora bylo publikováno návrh o standardizaci maker ve specfících RPM, což umožňuje přidat do RPM balíčků možnost výběru kompilátorových flagů a dalších závislostí během sestavení.
Příklad použití:
%if %{use ssl}
BuildRequires: openssl-devel
%endif
%prep
%configure %{use_enable ssl openssl}
%check
make test %{?_use_ssl:-DSSL}
V tomto příkladu, pokud je v souboru spec nastaven makro USE ssl, bude přidána další závislost na balíček openssl-devel, bude provedena konfigurační fáze s povolenou volbou —enable-openssl a během sestavení budou provedeny příslušné testy.
Předpokládá se, že možnost sestavení bude určena binárním makrem %_use_ s dalšími obaly ve formátu:
- %{use } – přijímá hodnoty 0 nebo 1,
- %{use_enable [ []]} – rozvine se do —disable- nebo —enable-.
Přidání takových voleb do specfících umožní sestavovat různé varianty distribuce ze stejných zdrojů.
Například pro minimalizaci stromu build-závislostí bude možné využít globální parametr %{use docs}, který vypne sestavení dokumentace.
Odpovídající soubor voleb bude možné nastavit konfigurací build prostředí. Volep lze nastavit jak globálně, tak i předefinováním jednotlivě pro každý balíček.
Návrh zatím nebyl přijat a nachází se ve fázi diskuse.
Zdroj: linux.org.ru
