Dne 27. 04. 20 v 16:25 Petr Šabata napsal(a):
On Mon, Apr 27, 2020 at 3:01 PM Vít Ondruch
<vondruch(a)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
> %endif
>
> ```
>
>
> by
>
>
> ```
>
> %if %{use ssl}
> BuildRequires: openssl-devel
> %endif
>
> ```
The 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(a)lists.fedoraproject.org
To unsubscribe send an email to devel-leave(a)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