[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Problems with packaging rubygem dashing



Hello,

I am having problems packaging a ruby software called dashing (http://dashing.io/ or https://github.com/Shopify/dashing).

I am using gem2deb to build the basic package and changed the configuration a bit to make the package work. What I basicly did was including the needed rubygems in the dependencies section of the control file and using the respective debian packages of the needed gems. The only gem I haven’t found as a debian package is installed with a postinst script which basicly issues a gem install. Other than that, I have included the needed directories (bin, _javascript_s, lib and templates with /var/lib/gems/2.1.0/gems/dashing-1.3.4/ as $DESTDIR) and a “dh_ruby –install” command in the rules file and some files in source/include-binaries.

So the build process works fine and the installation process also, but when it comes to running the software that was installed by my created package, there are some flaws. First of all, the bin, _javascript_, templates and lib data is installed in the var/lib/gems/2.1.0/gems/dashing-1.3.4/ directory (which is also done if you install dashing by gem command without my package), but the files created in /usr/…/ (which are created by the dh_ruby –install) don’t have their dependencies set to the /var/lib/…/ directory files, which seems to be needed for the software to work.

This means when I am issuing the command to create a new dashboard project (dashing new PROJECTNAME), the software looks for the templates directory to see which files are needed to create a new project and as the /usr/bin/dashing is used, it looks for the templates directory in /usr/templates where it obviously is not located.

I have also checked a machine where I have installed the software by hand and the dashing file which is located in /usr/local/bin is different from the one located in /var/lib/…/dashing-1.3.4/bin (both exist if you install the software with gem install dashing). The file in /usr/local/bin has a note which states that „This file was generated by rubygems“, so could this be a ruby command that created this file?

Other than that, if you use the binary in /var/lib/gems/2.1.0/gems/dashing-1.3.4/ and create a dashboard project and use bundle in the newly created dashboard directory, bundler does not recognize the installed ruby software (such as execjs, thin or sinatra) and installs all of them again instead of just using them.

I have uploaded my package under the following links if you want to check it yourself:

http://homepages.uni-paderborn.de/pfromme/ruby-dashing_1.3.4.orig.tar.gz

http://homepages.uni-paderborn.de/pfromme/ruby-dashing_1.3.4-1.debian.tar.xz

http://homepages.uni-paderborn.de/pfromme/ruby-dashing_1.3.4-1.dsc

http://homepages.uni-paderborn.de/pfromme/ruby-dashing_1.3.4-1_all.deb

http://homepages.uni-paderborn.de/pfromme/ruby-dashing_1.3.4-1_amd64.changes

Any idea what causes these problems and how to fix them?

Thank you very much in advance.

Philipp

 


Reply to: