The bcond mechanism of rpm allows to specify a default for a feature in a spec file, which can be overridden with the command line. SUSE wants to build packages with the same source in different projects. Thus we need a way to specify a default via an rpm macro.
Our first try was to misuse the command line feature by putting `%_with_foo 1` in the macros. But that has two disadvantages: it breaks the command line and it makes it impossible to change the default in a derived project, as rpm cannot undefine macros in a macrofile and the bcond implementation only checks for definedness. So here's a small addition that makes it possible to set feature defaults: Feature `foo` can be enabled by adding the macro ``` %bcond_default_foo 1 ``` The mechanism uses expression evaluation, so it is possible to remove a default by using %nil as default. Maybe we can use a better name as `bcond_default`. Any suggestions? (The pull request is missing documentation and test cases, so do not merge) You can view, comment on, or merge this pull request online at: https://github.com/rpm-software-management/rpm/pull/2405 -- Commit Summary -- * Allow to specify a default for bcond features in a macro file -- File Changes -- M macros.in (3) -- Patch Links -- https://github.com/rpm-software-management/rpm/pull/2405.patch https://github.com/rpm-software-management/rpm/pull/2405.diff -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/2405 You are receiving this because you are subscribed to this thread. Message ID: <rpm-software-management/rpm/pull/2...@github.com>
_______________________________________________ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint