compiling packages for linux distros

Published on 17 Apr 2019

Morning of April 17, I sent out a tweet saying that I would be interested learning how to package applications for linux, specifically targeting Red Hat-based (.rpm) and Debian-based (.deb) systems. When I wrote that tweet, I was thinking about packaging Fiji and Zotero.

Why the interest to do this? Well, there are 2 main reasons. First, I am not aware if there is any PPA or COPR for installing Fiji. I feel like this is an opportunity for me to contribute to the open source community, especially scientists who use linux as daily driver.

Secondly, it is about learning new techniques/skills and there are a number of things I would like to learn from packaging. It is not just about getting the right executable binaries into the right directory, it is about coming up with continuous delivery (CD).

I am aware of the existence of Zotero PPA for Ubuntu by Sebastiaan Mathôt, however the PPA sometimes lagging behind a few minor versions compared to the official Zotero releases, and that led me to use Zotero right from its tar archive (which is not that bad). Thus, I am hoping that I could learn some valuable CD skills to deliver Zotero fresh to users consistently.

On top of that, I am hoping to learn how to package application with AppImage and maybe with Flatpak as well. Playing with AppImage and/or Flatpak is not really a priority, rather a sort of experiment trying this new way of delivering packages to user.

I know how to harness the power of virtual machines and container systems already, so that skill is going to help. This plan is for my summer 2019 and I hope this is going to fly well. I will keep you guys updated. Oh, one note on Fiji. Back in 2015 when I was learning confocal microscopy skills, I wrote a blog post on NightlyArt Haven (long gone now) on how to use Fiji with Docker container. It was a fun experience.