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,
javascripts, 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