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