On 08/21/2015 03:03 PM, Andreas Stieger wrote:

On 08/21/2015 02:49 PM, Marcus Rückert wrote:
another option might be to look at all the binary rpms and see if you
find any gems outside of the system gem dir (gem env gemdir). also keep
an eye out for packages which have multiple gem files in their binary
rpms. those are probably bundling too. but bundling into the gemdir.
The last option will help me solve the task at hand and should be easy
enough to implement. The dependency generator will not be required as

Actually, in our case we are doing this in the spec file:

bundle install --local --deployment
rm -rf vendor/cache

thus you won't find any .gem file.

This is because once installed you don't need the .gem file.

What counts on us is the Gemfile.lock or the dirs under vendor/bundle/ruby/..../gems/

Regarding using the buildrequires and the buildinfo to get a list of the gems, in our case we require some gems to compile the assets but they are not in the final binary rpm, thus it wouldn't work either.

I would go for the initial solution you proposed but change the __bundledgems_path to point to the directories instead of the .gem files. Plus an rpmlint check that checks there are no .gem files installed somewhere else.