Differences between revisions 20 and 21
Revision 20 as of 2015-09-21 06:28:27
Size: 4550
Editor: Praveen A
Comment:
Revision 21 as of 2015-09-21 06:50:30
Size: 3895
Editor: Praveen A
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
== Choose a package ==
Go to piratepad and choose a package you want to build. Make sure no one else is working with it already.
 * [[http://piratepad.net/tu0H1eU2vH|debian diaspora at piratepad]]

Use apt-cache to check if it is already packaged for Debian
{{{
apt-cache search devise ruby
}}}
"devise" being an example. Replace it with the package you are working with.

In case you are not running Sid you can also check at:
 * [[http://www.debian.org/distrib/packages|packages debian search]]
and make sure you choose "unstable" for Distribution.
Check at
 * [[http://www.debian.org/devel/wnpp/being_packaged|wnpp]]
if someone is already packaging it.
Also check it with
{{{
wnpp-check devise
}}}

--(A pdf file which contains the info if a gem is already packaged is to be found here:

 * [[http://people.debian.org/~boutil/diaspora/|deps.pdf]])--
Make sure to use an actual version.
You will have to check the wnpp site or with wnpp-check anyway.
Note: Always verify the command has finished successfully and make sure there is no error before proceeding to next command.
Line 75: Line 50:
If you get an error that the Test failed, see [[Teams/Ruby/Packaging/Tests|ruby tests]] for hints to solve it.
 #.
If you get an error that the Test failed, see [[Teams/Ruby/Packaging/Tests|ruby tests]] for hints to solve it.    #. If you see "unmet build dependencies" error, install the build dependencies.
Line 86: Line 64:
 * [[https://rubygems.org/|rubygems]] (search for your gem and open the matching result) and the homepage of the package. The homepage you will find at rubygems too (right section).  * [[https://rubygems.org/|rubygems]] (search for your gem and open the matching result) and the homepage of the package. The homepage you will find at rubygems too (right section). Usually there is a 'LICENSE' or 'COPYING' or README.{md,rdoc} file in the source which gives such information.

Translation(s): none


Building with gem2deb

Note: Always verify the command has finished successfully and make sure there is no error before proceeding to next command.

Setup your environment

Add the following variables in your ~/.bashrc file

export DEBEMAIL=your@email.domain
export DEBFULLNAME='Your Name'
alias lintian='lintian -iIEcv --pedantic --color auto'
alias git-import-dsc='git-import-dsc --author-is-committer --pristine-tar'
alias clean='fakeroot debian/rules clean'

Note: You can also use debclean command instead of setting alias for clean.

and update your current environment by running

$ source ~/.bashrc

Build the package

First you need install gem2deb

apt-get install gem2deb

Create a build directory and go there

mkdir -p ~/Build/diaspora-packaging && cd $_

You might also want to create a directory for your package

mkdir build_devise && cd $_

and then run

gem2deb devise

will run "gem fetch devise" to download the package.

  • #. If you get an error that the Test failed, see ruby tests for hints to solve it. #. If you see "unmet build dependencies" error, install the build dependencies.

Note: To fetch rails-assets-* gems, you need to provide a different gem source like this example

Now you have to edit files like

  • copyright
  • control
  • changelog

You will find such info at

  • rubygems (search for your gem and open the matching result) and the homepage of the package. The homepage you will find at rubygems too (right section). Usually there is a 'LICENSE' or 'COPYING' or README.{md,rdoc} file in the source which gives such information.

Note: Read http://www.debian.org/doc/manuals/maint-guide/dreq.en.html to learn more about each file.

Once that is done build the package with

dpkg-buildpackage

If you get an error that it could not be signed, ignore it for now.

And when it has finished check for lintian errors:

lintian -iIEcv --pedantic --color auto ../ruby-devise*.changes

If you get errors, you have to correct them. Then run dpkg-buildpackage again and test with lintian again.

Rails engines

If your package has a app/assets or vendor/assets (if the gem name starts with rails-assets or ends at rails) then your package is a rails engine. More about rails engines

  • 1 Install app or vendor in /usr/share/<package name> using debian/install

    2 Set rails engine root with quilt to /usr/share/<package name>. Look for 'class Engine < ::Rails::Engine' in lib/<gem name>.rb or lib/<gem name>/engine.rb and add config.root = '/usr/share/<package name>' like this

 if defined?(Rails)
    class Engine < ::Rails::Engine
      # Rails -> use app/assets directory.
      config.root = '/usr/share/ruby-rails-assets-jquery.slimscroll'
    end
  end
  • 3 Add a smoke test like this

Javascripts should be packaged as libjs-<js library name> if it is not packaged already (create a new binary package in debian/control and add 'Section: web' and create libjs-<js library name>.install).

Declare dependency on libjs-<js library name> and create a <package name>.links file.

Refer to ruby-rails-assets-favico.js] package for an example.