Updates from March, 2012 Toggle Comment Threads | Keyboard Shortcuts

  • tuxdna 12:12 pm on March 4, 2012 Permalink | Reply
    Tags: , , rubygem   

    Problems with Ruby GEM to RPM 

    I can’t emphasize more the importance of packaging RPMs ( or any other packaging system ), as I already did it in an earlier post.

    Same arguments apply to Ruby Gems as well. That is to say, Ruby Gems already have a gem command to install and update packages. However it is still not a complete packaging system in itself.

    Consider the situation where you need to install a gem called A which dependes on B and C. So you will do:

    gem install A

    Problem 1: Handling of install failure

    This would obviously install the gems in this order B, C and A. It does works for mostly perfect situations. However if C fails to install, “gem” won’t rollback ( i.e. uninstall B ) any steps till C’s failure. This is a problem.

    Problem 2: Creating RPM packages with ease

    If you ever happen to use Python’s distutils, you will find that it has ability to generate RPM packages from the setup.py itself. Which means an even wider adoption of Python packages.

    python setup.py bdist_rpm

    What takes for “gem” to support such a functionality? Since creating, installing, packaging and distributing Ruby gems is such a common activity for Ruby developers, I believe such should be available within the standard Ruby distribution.

    For now I am using gem2rpm gem which requires a lot of manual intervention. Here is how it works ( as in my earlier post ):

    gem fetch rubygem-my-favorite
    gem2rpm -s rubygem-my-favorite.gem

    Checkout its documentation for more details.

    • Josef Stribny 4:20 pm on April 10, 2015 Permalink | Reply

      You can just use `gem2rpm rubygem-my-favorite –fetch` to do it one command.

  • tuxdna 11:32 am on March 4, 2012 Permalink | Reply
    Tags: git, libgit2   

    libgit2 now packaged for Fedora 16 

    I just finished a quick packaging of libgit2. It built fine on Koji and can be downloaded from here. A pull request has been submitted to include the spec file in the upstream codebase itself. Rpmfind was of great help in this quick packaging.

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc