Dne 27. 04. 20 v 16:25 Petr Šabata napsal(a):
> On Mon, Apr 27, 2020 at 3:01 PM Vít Ondruch <vondr...@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@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@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
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@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

Reply via email to