As announced on the Linux User Group of Mauritius mailing list, today there was a meetup about Slackware & Debian Packaging. I attended the same. I'm usually lazy on Saturdays and no wonder I reached the University of Mauritius late, where the meetup was scheduled.

Good enough for me though the presentation by Pritvi got delayed too. Technically, I didn't miss a lot. Pritvi brought his O-Droid running Xubuntu and ran his slides on the same. Oh... His prez was on Slackware packaging. In our little group of geeks I think Pritvi is the only human being having survived a Slackware experience :)

Slackware & Debian packaging

Slackware Packaging by Pritvi Jheengut

He explained the need of a couple of utils necessary during packaging; mktemp, chown/chmod, make, tar etc. He went into meticulous details during the compilation and the need for a temporary directory. By the end of his slides one could understand that Slackware packages are tarballs built with a specific structure that could be then deployed using the pkgtool. Some commands to retain when installing/removing Slackware packages are:

# installpkg option package_name

-m    Performs a makepkg operation on the current directory.
-warn    Shows what would happen if you installed the specified package. This is useful for production systems so you can see exactly what would happen before installing something.
-r    Recursively install all packages in the current directory and down. The package name can use wildcards, which would be used as the search mask when recursively installing.

# removepkg option package_name

-copy    The package is copied to the preserved packages directory. This creates a tree of the original package without removing it.
-keep    Saves temporary files created during the removal. Really only useful for debugging purposes.
-preserve    The package is removed, but copied to the preserved packages directory at the same time.
-warn    Shows what would happen if you removed the package.

# upgradepkg package_name

Pritvi's slides and more to be found on his Github repo.

Next, Cyril talked about Debian packaging. He introduced himself and gave an overview about the Debian distribution and its package management. He had emacs opened and showed us the directory structure of the source files, files that need to be created etc. To create a .deb file from the downloaded source code, one needs a minimum set of 5 files under a "debian" directory in the source folder. The files are:

  • changelog
  • compat
  • control
  • copyright
  • rules

Cyril went through the contents of each file and explained why they are important during the build procedure. His slides can be found on his website under : Debian packaging talk

Debian Packaging by Cyril Bouthors

Slackware & Debian packaging

For our better understanding, Cyril created a .deb package after downloading the source code for pbzip2. He explained us each step all while editing the required files.

Cyril Bouthors is a Debian Maintainer since around 2000 and has been maintaining several packages and Python modules. He explained us the procedure of package verification once the same is uploaded on the Debian infra before it goes public on the repository.

We had a short Q&A session and he gladly answered our queries.

ish-slackware-debian-packaging-meetup

Me, with my freedom-support laptop :)

We finished around 15h00. Some of us dropped to Bagatelle Foodcourt for munching, drinking and chatting.