Skip to content

Instantly share code, notes, and snippets.

View contyk's full-sized avatar

Petr Šabata contyk

View GitHub Profile

Keybase proof

I hereby claim:

  • I am contyk on github.
  • I am contyk (https://keybase.io/contyk) on keybase.
  • I have a public key ASCMZnOd0p1gQ8OwLoMHq2d2SGDHfafWikat8_Q0KG88KAo

To claim this, I am signing this object:

@contyk
contyk / use-macros.md
Last active April 27, 2020 14:04
Fedora Feature Macros

Fedora Feature Macros

Fedora feature macros (also dubbed USE macros) provide a simple way to configure common package build-time options, affecting available features, dependencies, or subpackages provided.

Reasoning

Packages are the main building blocks of our distribution. Introducing build-time, configurable options allows for additional packaging flexibility, greater potential testing, encourages cleaner dependencies and passing explicitly defined build-time options preventing unexpected build results when upstream defaults or the build environment change. Futhermore it gives our users, as well as downstream distributions or other variants, freedom to easily rebuild our packages without modification simply by adjusting the macros they provide.

USE macros define build features in a uniform manner for the entire buildroot and can be defined either globally or per package, enabling the usage of package-specific, non-standard features or explicit overrides of the default settings. The advantage of