Heads up: rpm 4.11 alpha coming soon to rawhide near you

Panu Matilainen pmatilai at laiskiainen.org
Mon Jan 21 09:57:09 UTC 2013


On 01/21/2013 10:39 AM, Panu Matilainen wrote:
> On 01/20/2013 07:32 PM, Orion Poplawski wrote:
>
>>
>> Here's another %doc change:
>>
>> %doc doc/Users\ guide\ Apache.html
>>
>> Gets executed as:
>>
>> + cp -pr 'doc/Users
>> /builddir/build/BUILDROOT/rubygem-passenger-3.0.19-1.fc19.i386/usr/share/doc/mod_passenger-3.0.19'
>>
>>
>> cp: missing destination file operand after 'doc/Users
>> /builddir/build/BUILDROOT/rubygem-passenger-3.0.19-1.fc19.i386/usr/share/doc/mod_passenger-3.0.19'
>>
>>
>> Filed http://rpm.org/ticket/858
>
> http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef017d3de376c0970c-pi
>
> Thanks for reporting, will fix.

Hmm... turns out it's not quite that simple.

This is actually another case of relying on undocumented behavior: 
backslash-escaping of spaces has never worked in %files section, it only 
accidentally "worked" for %doc due to side-effects of how they got 
passed to shell/cp. Same goes for ''-quoting (as used in the ticket): it 
only works because of side-effects, not intentionally.

But then, the "official" %files list way of ""-quoting to get around 
spaces has never worked in any rpm version AFAICT.

*facepalm*

What does work everywhere is globs, eg:

     %doc doc/Users?guide?Apache.html

...so there is a backwards-compatible workaround. And now back to 
wondering what to do about this mess...

	- Panu -


More information about the devel mailing list