On Wed, Oct 25, 2023 at 4:23 PM Vít Ondruch <vondruch(a)redhat.com> wrote:
Exploring possibilities to better organize gems, I have just
discovered
a `--vendor` option (after almost 10 years of existence of this flag
🤦🏻♂️):
~~~
$ gem install gem2rpm --vendor --no-user-install
Fetching gem2rpm-1.0.2.gem
ERROR: While executing gem ... (Errno::EACCES)
Permission denied @ dir_s_mkdir - /usr/share/ruby/vendor_ruby/gems
/usr/share/ruby/fileutils.rb:406:in `mkdir'
... snip ...
~~~
This option apparently tries to install gems into
`/usr/share/ruby/vendor_ruby/gems` and I wonder, isn't this location we
should be using for gems distributed by Fedora? The main advantage is
that we would not be mixing default/bundled gems with ours. The downside
is that it probably does not support binary extensions out of the box.
Thoughts?
One more note:
Packaging guidelines say that the directory is for non-gem packages only.
Furthermore, it says gems in `/usr/share/gems` can be shared across all
ruby implementations, those `gems` in vendor directories can't. Is this the
reason why binary extensions wouldn't be supported? Looking at the other
`vendor` paths, it looks ok:
https://docs.fedoraproject.org/en-US/packaging-guidelines/Ruby/#_interpre...
Pavel
Thx
Vít