Hi all - tried to open an issue, but the repo is locked to collaborators. Anywho, the Ruby bindings (fdb
gem) do not install, and I suspect it has been an issue since cmake began compiling the gem in 2019 (link omitted because according to the forum, “New users can only add two links to a post”, lol).
The specific error when you try to gem install fdb
is:
Gem::Package::PathError: installing into parent path /home/foundationdb_ci/src/oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo/foundationdb/LICENSE of /Users/andrew/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/fdb-7.2.2 is not allowed
I believe this is because the files array is specifying things like ${CMAKE_SOURCE_DIR}/LICENSE
. If I download the gem file manually and unpack it, we can see that the included metadata.gz
file specifies absolute paths, like:
files:
- "/home/foundationdb_ci/src/oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo/foundationdb/LICENSE"
...
Whereas the files array from a gem that installs correctly looks more like:
files:
- CONTRIBUTING.md
- Gemfile
- LICENSE.txt
- README.md
- Rakefile
- TODO.md
- debug.gemspec
- exe/rdbg
- ext/debug/debug.c
- ext/debug/extconf.rb
Note the use of relative paths. I am not familiar with the CI setup of foundationdb nor with building gemspecs with cmake, but I believe that the fix is as simple as specifying files in the same manner as the non-cmake gemspec version.
I would open a PR to correct it, but - repo is locked.