Attached below are a few scripts which I threw together to help us package cloudforms and to continue improving the gem -> rpm and bundler -> yum conversion process.

The first rhgc.rb [1] extends the Fedora Gemfile checker I previously sent out to compare a local gemfile against a variety of other services including koji, distgit, bodhi, and more. The services and urls which it queries is fully configurable from the command line so that the user can easily customize what they want to check and where (either in Fedora or RHEL). This script can be easily adapted going forward to setup bots and/or git hooks which will send emails / error out / or do whatever else should dependencies not be satisfied.

The second yrc.rb [2] is my first attempt at gem binary dependency analysis against the local RH-based platform. Essentially it hooks into / overrides the normal binary gem building process (mkmf) to look for errors when resolving dependencies, attempting to use yum to determine which packages satisfy them. Multiple packages may satisfy a dependency, for example both mysql-devel and mariadb-devel come up as satifying the mysql header deps, but this should allow packagers to quickly lookup packages that need to be included as BuildRequires in the rpm spec. This is just a start, there is more we can do on this front in terms of dependency resolution, using pkg-config [3] and extending gem2rpm with this functionality for example.

Hope these help,
  -Mo


[1] https://gist.github.com/movitto/6086381
[2] https://gist.github.com/movitto/6086386
[3] https://github.com/ruby-gnome2/pkg-config