Re: rubygem macro error

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

 



Dne 10.11.2011 13:57, Scott Schmit napsal(a):
On Thu, Nov 10, 2011 at 11:26:11AM +0100, Vít Ondruch wrote:
Dne 9.11.2011 17:02, Paul Wouters napsal(a):
On Wed, 9 Nov 2011, Alex Dalitz wrote:
The %3d characters in the filenames are because the Ruby setter methods are named "<variable_name>=" - this is a common pattern across all Ruby code. The filenames are generated by the rdoc tool - nothing to do with dnsruby or its packaging. This leads me to believe that all Ruby gems packaged as rpms would have this same problem - and yet this is surely not the case?
right, though checking on mine, there is actually one other one:

$ find /usr/lib/ruby/gems/1.8/doc/ |grep 3d |grep -v Dnsruby
/usr/lib/ruby/gems/1.8/doc/pg-0.11.0/ri/PGconn/internal_encoding%3d-i.yaml

As a workaround, I suppose it's worth mentioning that the doc folder could simply be removed from the gem installation. That would then give an rpm with the Ruby code, but without access to the ri documentation system. Does this also contravene rpm guidelines?
I talked about that, and was told they preferred the broken filenames
over not having anything. Which is why it ended up packaged with these
mistakes in fedora.

Paul
Broken names? Please see percent encoding aka URL encoding [1]. You'll 
see that the '%3d' is actually '=', i.e. the file 
packet_timeout%3d-i.yaml obviously contains documentation for 
packet_timeout= method. You'll find a lot of such encoded characters in 
Ruby documentation and that is correct. That's how it works. It is not 
error, just warning.

Vit


[1] http://en.wikipedia.org/wiki/Percent_encoding
Yes, but the purpose of URL encoding is to reach resources that are
named using reserved characters.  So, for the filename you showed above,
the correct URL would be:
file:///usr/lib/ruby/gems/1.8/doc/pg-0.11.0/ri/PGconn/internal_encoding%253d-i.yaml
                                                                       ^^^^^

This is because the % character is reserved.  Had the file name been
"internal_encoding=.yaml", the URL would have been:
file:///usr/lib/ruby/gems/1.8/doc/pg-0.11.0/ri/PGconn/internal_encoding%3d-i.yaml
                                                                       ^^^

Hence "broken".




It doesn't matter how it would look if you'd like to refer to the filename using URL, the truth is that its the filename RI is using. This [1] is the code if you are interested and this [2] is the oldest version I can find on GitHub.

The rpmlint says just that much about the name:

This package contains a file whose path contains something that looks like an
unexpanded macro; this is often the sign of a misspelling. Please check your
specfile.

So this is not the case. The name is perfectly fine at the end. No need to worry.


Vit


[1] https://github.com/rdoc/rdoc/blob/master/lib/rdoc/ri/store.rb#L212-L225
[2] https://github.com/rdoc/rdoc/blob/53ea90cb7ef673334e1402499e5dcee90f31f96a/lib/rdoc/ri/writer.rb#L14-L20
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux