Dne 27. 04. 20 v 16:25 Petr Šabata napsal(a):
On Mon, Apr 27, 2020 at 3:01 PM Vít Ondruch vondruch@redhat.com wrote:
Dne 27. 04. 20 v 13:19 Petr Šabata napsal(a):
Based on the recent discussions around %fedora/%rhel macros and ELN, and %bcond generally being confusing to work with, I came up with a distribution-wide feature that defines generic feature keywords and associated helper macros that packages can check in build-time conditionals.
The most confusing part of the %bcond is the definition itself. The rest is fine IMO. Therefore, I somehow don't understand why would you like to replace:
%if %{with ssl} BuildRequires: openssl-devel %endifby
%if %{use ssl} BuildRequires: openssl-devel %endifThe difference here is %use defaults are defined by the buildroot while %with %bconds are defined by the package.
Looking at the provided example and the binary RPM and what not, I am still confused and it is not clear to me what you actually want to achieve.
I think the biggest issue I have is that you seems to propose to use the `%{use ssl}`, `%{use_enable ssl openssl}` and `%{?_use_ssl:-DSSL}` in places, where it would make more sense to use the well established `with/without` rpm(build) macros.
Also, this `%{use_enable ssl openssl}` for example looks like you have some distribution wide `ssl` feature, but you want to locally implement it via openssl and moreover it seems you are trying to address the case where `configure` does not accept with/without but enable/disable instead (which was probably not an issue so far, otherwise rpmbuild would probably provide enable/disable options alongside with/without).
IOW it could be probably better if there was something like `%{use ssl openssl}` call on top of the .spec file, which would enable use of standard RPM macros instead of introducing set of new macros. This would also make the `general availability` section much shorter, because there would be probably need to check the macro existence on a single place.
Vít
Also I don't understand, why there is exposed some underscore macro, such as `make test %{?_use_ssl:-DSSL}`. Shouldn't the underscore macro be just implementation detail? For `%bcond`s, the `_with` macros are discouraged, so why would you encourage them?
Yes, this should be an internal detail. I'd like to replace this with %use_defined or something similar.
P _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org