USE makrók rpm csomagokban

A Fedora hírlevélben közzétették ajánlat a RPM spec fájlok makróinak szabványosításáról, amely lehetővé teszi az RPM csomagokban a fordítási zászlók és további függőségek kiválasztását a fordítási folyamat során.

Példa használatra:

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

%prep
%configure %{use_enable ssl openssl}

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

Ebben a példában, ha a USE makrót ssl-ként definiálják a spec fájlban, akkor egy további függőség kerül hozzáadásra az openssl-devel csomaghoz, a konfigurációs lépés pedig az —enable-openssl opcióval fog végrehajtódni, és a fordítás közben a megfelelő teszteket is elvégzik.

Feltételezve van, hogy a fordítási opciót a %_use_<feature> bináris makróval kell megadni, további burkolókkal, mint például:

  • %{use <feature>} – értéket vehet fel 0 vagy 1,
  • %{use_enable <feature> [<configure name> [<configure option>]]} – az —disable-<feature> vagy —enable-<feature> alakra bontódik.

Az ilyen típusú opciók hozzáadása a spec fájlokhoz lehetővé teszi különböző disztribúciós verziók összeállítását ugyanabból a forrásból.

Például a build-függőségek fáját minimalizálva globális paraméterként %{use docs} használható a dokumentáció építésének letiltására.

A megfelelő opciók készletének beállítása a fordító környezet konfigurálásával lehetséges. Az opciókat globálisan vagy csomagonként is meg lehet adni.

Az ajánlat még nem került elfogadásra és megvitatás alatt áll.

Forrás: linux.org.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster