Heads-up on rpm 4.12 coming to rawhide soon

Vít Ondruch vondruch at redhat.com
Tue Jul 1 11:50:48 UTC 2014


Dne 1.7.2014 12:56, Panu Matilainen napsal(a):
> On 06/30/2014 04:27 PM, Vít Ondruch wrote:
>> Dne 30.6.2014 15:14, Panu Matilainen napsal(a):
>>> On 06/30/2014 03:48 PM, Panu Matilainen wrote:
>>>> On 06/30/2014 03:12 PM, Vít Ondruch wrote:
>>>>> Interesting, it breaks Ruby build it seems:
>>>>>
>>>>> http://koji.fedoraproject.org/koji/taskinfo?taskID=7090194
>>>>>
>>>>> Not sure about the reason, though.
>>>>
>>>> Seems the ruby macros are not expanding properly throughout the spec,
>>>> please file a bug.
>>>
>>> I'd call this at least partially self-inflicted pain, its the %load
>>> trickery thats failing. Call your own version of %load something else
>>> and it'll work like before.
>>>
>>> The syntax for the built-in macro is %{load:<file>} but the argument
>>> is not macro expanded so %{SOURCEn} will get passed in literally.
>>> Which obviously wont work.
>>>
>>>     - Panu -
>>>
>>
>> Yes, that will do the trick probably.
>>
>> However, now I am wondering, is there a way how to build SRPM, which is
>> using the new load feature from 4.12 using old 4.11 RPM? With old RPM,
>> I've got this error:
>>
>> ```
>> $ fedpkg srpm
>> error: line 94: Unknown tag:
>> /home/vondruch/fedora-scm/maintain/ruby/macros.ruby
>> error: query of specfile
>> /home/vondruch/fedora-scm/maintain/ruby/ruby.spec failed, can't parse
>>
>> Could not execute srpm: need more than 0 values to unpack
>> ```
>>
>> I suppose the answer is NO, but I hope for some pleasant surprise ;)
>
> For just creating an src.rpm, I suppose you can use a simple spec 
> conditional, eg
>
> # permit src.rpm creation on older versions
> %if %{fedora} >= 21
> %{load:...}
> %endif

That is not very interesting, since I would need to maintain the 
%{fedora} < 21 branch anyway and the results on F20 and F21 could differ.

So I have different question, related to building SRPM. Is it possible 
to detect, that this is just SRPM build task? The macros are not needed 
to evaluate to build SRPM, so I could just ignore the %{load:...} by 
some condition.

>
> Anyway, like mentioned earlier, %{load:%{SOURCE4}} would not have 
> worked yesterday as %{load:} didn't macro-expand its argument, that 
> has been fixed in rpm-4.11.90-0.git12844.3.fc21 (just building now). 
> So thanks for trying to use that feature :)

Thank you for implementing it :)


Vít


More information about the devel mailing list