I’m not sure if this is an known issue or not.
I’m trying to generate the new gem rpm packages required by OpenNebula 5.4.0 version but I got this error:
I have generated the same package some months ago: rubygem-nokogiri-1.6.6.2-1.x86_64 that seems to work with OpenNebula 5.4.0…
My question is if OpenNebula 5.4.0 requires the latest version or with nokogiri 1.6.6 also works (I did some tests and it seems to work but I’m not 100% sure).
If so, it would be possible to include a version lock for nokogiri in install_gems script?, for OpenNebula 5.4.0 it has these dependencies:
Maybe your OS is not clean, installing custom RPMS is normally not a good idea.
Is there a specific reason to use a custom rubygem-nokogiri RPM?
Here is what happens to me on a clean, up-to-date CentOS 7.3:
[root@frontend ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
install_gems now uses bundler by default and it needs the file Gemfile.lock in the same directory as Gemfile and install_gems to get the exact gem versions. There are specific versions per distribution, you can find the CentOS version here:
When the packages are built these files are placed in the correct directory.
In case you want to download the gems you can use bundler, execute this in a directory with both Gemfile and Gemfile.lock:
$ bundler install --path my_gems
The libraries will be downloaded to the directory my_gems.
Ah… that means that we should update the addon-installgems to take into account these changes and use bundler if the Gemfile.lock is available.
Thanks a lot for the info! I will try to write a PR to take into account these changes as soon as possible, in fact this simplifies the dependencies problem a lot.