I am confused by the nomenclature here. As a spec author, when I write:
```
%bcond tests 1
```
I expect the tests will run.
Now the distro maintainer (or anybody who can define macros, really) can define
a macro:
```
%bcond_default_tests 0
```
What happens to my package? Does it no longer run tests? In my head, this isn't
called a *default*, this is an *override*.
-----
A default would be this:
Distribution puts this to their macros:
```
%bcond_default_tests 1
```
A packager can now use:
```
%bcond tests
```
(Notice there is no second argument.) This means "I want this package to run
the tests when my distro desires that, but not run them if the distro does not
desire that. I explicitly let the distro decision drive my spec behavior. When
I care, I use the `--with(out)` command line option explicitly."
That I call a *default*.
(And of course, I realize this would only work for defined defaults, so when
the distro does not define a default for tests, it should fail. And if I want
to write a spec that anitcipates that possibility, I'd need to write:
```
%bcond tests 0%{?bcond_default_tests}
```
...which I can already do now anyway, as @encukou pointed out.)
--
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2405#issuecomment-1453230568
You are receiving this because you are subscribed to this thread.
Message ID: <rpm-software-management/rpm/pull/2405/c1453230...@github.com>
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint