Differences between revisions 25 and 26
Revision 25 as of 2013-01-19 17:34:41
Size: 2499
Editor: ?NandajaVarma
Comment:
Revision 26 as of 2013-03-12 11:41:14
Size: 2889
Editor: Praveen A
Comment: make the steps more descriptive
Deletions are marked like this. Additions are marked like this.
Line 50: Line 50:
 1. [[/ITP|ITP]]
 1. [[/gem2deb|Initial Build with gem2deb]]
 1. [[Teams/Ruby/Packaging/Tests|ruby tests]]
 1. [[/quilt|basic quilt]]
 1. [[/pbuilder|pbuilder]]
 1. [[/gitorious|gitorious]]
 1. [[/mentors|upload to mentors]]
 1. [[/RFS|RFS]]
 1. [[/ITP|ITP]] - say you're going to package something
 1. [[/gem2deb|Initial Build with gem2deb]] - try building it
 1. [[Teams/Ruby/Packaging/Tests|ruby tests]] - make sure you run the tests
 1. [[/quilt|basic quilt]] - if you want to change any upstream files
 1. [[/pbuilder|pbuilder]] - make sure it builds cleanly (to check it has correct build dependencies)
 1. [[/gitorious|gitorious]] - push the code into team repo (temporary till you get access to pkg-ruby-extras repo on alioth)
 1. [[/mentors|upload to mentors]] - upload it to mentors for sponsors
 1. [[/RFS|RFS]] - request someone to upload your package to debian

Translation(s): none


Diaspora packaging

This page will used to store available information and links which will help to build diaspora and its dependencies for Debian.

Note: Feel free to improve these steps/notes. Add links to more documentation when anything is not clear.

Introduction

Diaspora is written in Ruby language using Rails framework. Diaspora uses many existing ruby libraries and these libraries are distributed as gems. So we need to package all depending gems to package diaspora.

If you are familiar with C programming you would know the first line of most C programs,

#include <stdio.h>

stdio.h is provided by the standard C library (glibc in most GNU/Linux distributions). It provides functions like printf and scanf. Similarly in Ruby, libraries are included by a line like,

require 'rspec'

It means that particular Ruby program (.rb file) can now use functions provided by rspec library (similar to how you use printf and scanf functions in your C program).

Step 1

Choose a gem to package from latest pdf file from http://people.debian.org/~boutil/diaspora/ (it has a graph of all dependencies for diaspora). If it has select that first.

  1. Check if it is already packaged in debian. Search for the package from http://www.debian.org/distrib/packages#search_packages

  2. Check if it is already being worked on by someone else from http://wnpp.debian.net

    Note 1: Remember to select ITP from the list and give your gem name as project

    Note 2: Debian package names uses '-' instead of '_', prepended with ruby-, unless it is an application (in opposition with libraries, ex: cucumber, rake)


Build

  1. ITP - say you're going to package something

  2. ?Initial Build with gem2deb - try building it

  3. ruby tests - make sure you run the tests

  4. basic quilt - if you want to change any upstream files

  5. pbuilder - make sure it builds cleanly (to check it has correct build dependencies)

  6. gitorious - push the code into team repo (temporary till you get access to pkg-ruby-extras repo on alioth)

  7. upload to mentors - upload it to mentors for sponsors

  8. RFS - request someone to upload your package to debian

  9. Importing the package to pkg-ruby-extras git repository

Misc

  1. git and git-buildpackage commands

  2. ruby test failures and workarounds