Debianize your work

From WorkOutWiki2008

Jump to: navigation, search

Contents

Proposer

Kapil Hari Paranjape

Purpose

To patch/fix/create Debian packages

Abstract

Do you want to see your work on mukta software ported to many platforms and many operating systems? Then you should develop your packages "the Debian way" --- Debian is meant to be the Universal Operating System!

Debian package development can be done on almost any base O/S --- debian (or its derivatives), fedora, opensuse, *bsd, solaris, darwin and perhaps even windows.

Pre-requisites

1. Good understanding of GNU/Linux and some experience with software development on/for it.

Alternatively, a good understanding of Debian from a user's perspective combined with a desire to develop software on/for it (or a derived distro).

2. Ability to learn based on live interaction with others. A pencil and (paper!) notebook for keeping track of important steps will help!

3. Familiarity with and the ability to read scripting languages like Bash/Perl/Python/... and "make".

4. A machine, preferably one on which you have root access.

Or, a sufficiently fast machine on which you do not have root access may also suffice.

In both cases (4-4') you need to have access to enough disk storage to do development work 1-2GB+(area required to work on your package). Perhaps we can look for sponsorship for (4-4'). We can use pretty thin clients here so even a netbook should do.

5. You should at least attempt to carry out the steps outlined in http://www.imsc.res.in/~kapil/lenny/not_screws_and_bolts.html or http://linuxgazette.net/156/kapil.html.

6. You should be familiar with the software which you want to package for Debian.

Detailed Proposal

Debian is meant to be the universal operating system. In particular, Debian tools make it possible for a mukta software contributor to create a Debian development environment under almost any base operating system --- even as a non-root user.

We expect this workout to benefit:

  • Those who have their own software projects and would like to create Debian packages

of it either for their own repositories or in order to have them enter the main Debian archive. By becoming Debian Maintainers of packages the gap between upstream and distro will become vanishingly small!

  • Those who have interest in being part of large projects and want to take up the task

of creating Debian packages for these projects.

The necessary steps for such developers are already outlined in detail in the Debian Developer's Reference and Maintainer's Guide, but people are generally lazy about reading _all_ the documentation! Luckily, there are a number of tools that can simplify these tasks.

The other principle of Debian is that it is the Operating System that grows with you.

So its users get onto the learning curve and can keep climbing it (at their own pace). The proposed workout is meant to get (experienced) Debian users to start developing software, to get software developers to start packaging and to get Debian Developers to create Debian infrastructure --- all at the same time!

Activities

Warmup

This session will be brief.

a. Install development packages (like lintian, debhelper, quilt, dpkg-dev, devscripts, www-browser, editor.); also install build-essential, pbuilder.

b. Create a custom Debian source package of an existing package like "hello".

Run

d. Debianize a package using debhelper. (wnpp.debian.org) Creating a debug-gable version of a package and tracing bugs using gdb. (From mentors.debian.net or RC bugs.)

Heavy Lifting

e. Continue (d) to the point of putting the .deb in a public repository or file a patch to Debian bugs.

Deliverables

A number of new Debian packages. (Possibly resolving Work-Needed-and-Prospective-Package or RC bugs against the Debian distribution.)

A number of bugs found/filed/patched against existing Debian packages.

Pre-event planning

Take a look at http://qa.debian.org or http://wnpp.debian.net to see what things are being fixed/patched/packaged or that are desired in Debian.

Getting in touch

We will probably use #debian-in channel in IRC on the irc.debian.org server(s).

Participants

So far only me! Please list yourself.

  • Kapil Hari Paranjape

Workout Report

  1. Debianize_your_work_WorkOut_Report
Personal tools