[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Action requested: check dist tags and conditionals



On 06/04/2009 01:11 PM, Julian Sikorski wrote:
> Bill Nottingham pisze:
>> (If you've never used a construct like "%if 0%{?fedora}" in your spec
>> file, you can disregard this message.)
>>
>> Many packages in Fedora use release-based conditionals such as:
>>
>> ...
>> %if 0%{?rhel}
>> %endif
>>
>> %if 0%{?fedora} < 10
>> %endif
>>
>> %{?fedora:%global _with_xfce --with-xfce}
>> ...
>>
>> I'd just like to remind people of the following:
>>
>> - If you're using open ended conditionals such as:
>> 	%if 0%{?fedora} > 9
>>   make sure you keep in mind what will happen if %{fedora} isn't defined,
>>   such as in the case of a derivative distribution.
>>
>> - If you're building for EPEL from a unified Fedora spec file, and have
>>   separate %{fedora} and %{rhel} sections, make sure they do the right
>>   things for any potential new releases, not just %{rhel} = 4 or %{rhel} = 5.
>>

Does this look like the right generic structure for doing this:

%if 0%{?fedora} >= X || 0%{?rhel} >= Y
  # Do things from X until Current Fedora, Y until Current RHEL
  # Y should be the latest released version if we don't know that
  # it's not going to change in the next version
%else
  %if %{fedora} && 0%{fedora} < X && ! %{rhel}
    # Do things for Fedora < X
  %else
    %if ! %{fedora} && %{rhel} && 0%{rhel} < Y
      # Do things for RHEL < Y
    %else
      # Do things for any other distros
    %endif
  %endif
%endif

If so, then we'd want to prettify and codify it a bit so we can put it
in the Packaging Guidelines

> This is often used to tailor BuildRequires, I can't take responsibility
> what a given release of a derivative distro does or doesn't include.
> 
So we could just decide that derivative distros include those things
unless proven wrong.

Note that that seems to make my final %else above wrong....

-Toshio

Attachment: signature.asc
Description: OpenPGP digital signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]