On Wed, Oct 25, 2023 at 4:23 PM Vít Ondruch <vondruch@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/#_interpreter_independence_and_directory_macros

Pavel
 

Thx


Vít