From Fedora Project Wiki
(Created page with "== Bootstrapping == If your package introduces build time circular dependencies, you should use this macro to bootstrap your package: <pre> # When we are bootstrapping, we d...") |
|||
Line 5: | Line 5: | ||
<pre> | <pre> | ||
# When we are bootstrapping, we drop some dependencies, and/or build time tests. | # When we are bootstrapping, we drop some dependencies, and/or build time tests. | ||
%{?_with_bootstrap: %global bootstrap 1} | |||
%{ | |||
[...] | [...] |
Revision as of 07:13, 5 May 2017
Bootstrapping
If your package introduces build time circular dependencies, you should use this macro to bootstrap your package:
# When we are bootstrapping, we drop some dependencies, and/or build time tests. %{?_with_bootstrap: %global bootstrap 1} [...] %if ! 0%{?bootstrap} # dependencies for %%check BuildRequires: foo %endif [...] %if ! 0%{?bootstrap} %check make check %endif
If your package explicitly Provides:
some functionality that is missing when bootstrapped, then that Provides:
should look like:
%if ! 0%{?bootstrap} Provides: bar(some_functionality) %endif
Please note that usage of pre-built binaries in bootstrap still needs an exception from the Packaging Committee as stated in Packaging:Guidelines#Exceptions