USE-macro's in rpm-pakketten

In de Fedora nieuwsbrief is gepubliceerd aanbod over de standaardisering van macro's in de spec-bestanden van RPM, die de mogelijkheid biedt om compilatiefuncties en extra afhankelijkheden te kiezen tijdens de bouw van RPM-pakketten.

Voorbeeld van gebruik:

%if %{use ssl}
BuildRequires: openssl-devel
%endif

%prep
%configure %{use_enable ssl openssl}

%check
make test %{?_use_ssl:-DSSL}

In dit voorbeeld zal bij het instellen van de USE-macro ssl in het spec-bestand een extra afhankelijkheid naar het pakket openssl-devel worden toegevoegd, zal de configuratiestap worden uitgevoerd met de optie --enable-openssl ingeschakeld, en tijdens de bouw zullen de bijbehorende tests worden uitgevoerd.

Het wordt aangenomen dat de bouwoptie zal worden ingesteld door de binaire macro %_use_ met extra wrappers zoals:

  • %{use } – accepteert waarden 0 of 1,
  • %{use_enable [ []]} – wordt uitgebreid naar --disable- of --enable-.

Het toevoegen van dit soort opties aan spec-bestanden zal het mogelijk maken om verschillende versies van de distributie uit dezelfde broncode te bouwen.

Bijvoorbeeld, om de boom van build-afhankelijkheden te minimaliseren, kan de globale parameter %{use docs} worden gebruikt, die de bouw van documentatie uitschakelt.

Een geschikte set opties kan worden ingesteld door de bouwomgeving te configureren. De opties kunnen zowel globaal worden ingesteld als afzonderlijk worden overschreven voor elk pakket.

Het voorstel is nog niet aangenomen en is in de discussie.

Bron: linux.org.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster