rpmbuild fails on nested user-defined %if* macros

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

 



Hi, a regression has come up between rpmbuild 4.9 and 4.10 and I want to
know if this was intentional or not. Here is an artificial test-case
spec file that illustrates the regression:

%define if_some_value() %{expand:%if "%{_some_value}" == "%1" || "%{_some_value}" == "%2"}
Summary: Test case spec file for LP #1058378
Name: test-pkg
Version: 1.0.0
Release: 1
License: GPL
Group: Development/Languages
%description
Test case spec file for LP #1058378
%prep
%if_some_value foo bar
echo first case
%else
%if_some_value shibboleet
echo second case
%else
echo third case
%endif
%endif

If the first conditional is false, there is no problem. If the first
conditional is true (e.g. rpmbuild -D"_some_value foo"), rpmbuild 4.9
succeeds but 4.10 fails with

error: /home/mike/lp-1058378.spec:19: Got a %endif with no %if

So it looks to me like user-defined %if* macros are supported, but not
if one appears in the false branch of a conditional. I think this commit

http://rpm.org/gitweb?p=rpm.git;a=commitdiff;h=3a102207154bc9e695d8875d6f01fd98fc8783c7

is responsible for the change in behavior that produces this error, but
I'm not sure if the intention was to continue supporting such
user-defined %if* macros or not. Can someone clarify? Thanks.

Original bug report: https://bugs.launchpad.net/bugs/1058378

-- 
mike
_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxxxxx
http://lists.rpm.org/mailman/listinfo/rpm-list


[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux