Software Packaging for Debian Repositories

utkarsh2102

Debian Maintainer

$ whatis software packaging?

It is a special method of distributing and installing software (or software upgrades) to a computer.

Often, there are different package management systems for different OS.

Why Debian?

Debian

WHAT IS IT?

  • Debian is a Unix-like operating system consisting entirely of free and open-source software.
  • I chose Debian because of it's philosophy and also because I use Debian in my daily life, for all purposes.
  • Also, I am maintainer of this project :)

Loomio

WHAT IS IT?

Loomio is a decision-making software designed to assist groups with the collaborative decision-making process. It is a free software web application, where users can initiate discussions and put up proposals.

How?

DEBIAN PACKAGING 101

  • Get the upstream source in form of a tar.{xz,gz,bz}.
  • Use the dh_make tool to create a template package (adds a debian/ directory to the source).
  • Format all the files under the debian/ directory appropriately, especially the control file.
  • Write the rules file to give the build instructions.
  • Build the package using the build commands.
  • Check for policy violations (if any) and the upstream tests.

Work to be done?

PROJECT DETAILS

  • With over 484 directories and 4607 files as a part of it’s code base, Loomio is a big and complex software.
  • It has 144 Ruby dependencies and 132 Node dependencies, along with a couple of fonts that are used by the upstream.
  • We need to package all the dependencies first. And then would come loomio itself.

LOOMIO-INSTALLER

ESSENTIAL PART OF DEALING WITH LOOMIO

  • Before starting out with Loomio, we first need to set up loomio-installer to see how the installation goes and what are the important dependencies of the project.
  • For the same, we need  to write a few scripts to set it up and get it running; like the one shown.

Creating a repository to pull the package!

SETTING UP REPREPRO

We create a temporary repository to pull loomio-installer package from, using reprepro.

Running the Installer

EXECUTING THE BINARY

How does it look?

SOMETHING LIKE..

Post-NTCC Work

WHAT ELSE IS LEFT?

  • Well, there's a lot of work left to pull loomio from the official Debian archives.
  • With my maintainer hat on, I'll keep working on this project until completion.
  • Though all the Ruby dependencies are packaged, the Node ones are still left.
  • Once done, the loomio software would be packaged and fixed for it's autopkgtest.
  • And then comes it's maintenance for life :)
[utkarsh2102@karma ~]$ echo "Thank You! :D"
Thank You! :D

THANK YOU! :D

Loomio Packaging

By utkarsh2102

Loomio Packaging

This slide is made for the purpose of NTCC-II.

  • 594