PACKAGE DELIVERY
Add your own Linux software to the ecosystem. Michael Reed looks at what it takes to become a package maintainer.
W
elcome to the world of package maintenance – in other words, taking a source code package and making it available in a form that can easily be installed such as a deb or snap file.
There are two types of package maintenance. You can create packages to be hosted online, or you can prepare packages to be submitted to the repository of a distribution. With this guide, we hope to give you an introduction to both of those approaches. There’s no “best” approach to making Linux software available, and each has its pros and cons.
Why would you get involved in package maintenance? Well, typically, the motive is to make a piece of software easily installable for the general user. You might be the creator of this software, or you might feel that there’s a good project out there which would benefit from greater accessibility. Whatever your motivation, the package creation procedure for all of the package formats is similar, in broad terms. We’re going to assume that you’ve some experience with building source code using ./configure && make && make install (see features LXF256) and that you know how to install packages on to your system from the command line.
Keeping it official
This is an overview of what the procedures are and where to obtain the information and tools that you’ll need. We’ve used the official guides as our source material, as should you, but we don’t seek to replicate them here. This isn’t due to laziness on our part – it’s vitally important to follow the official documentation when building packages that are destined for installation by other people or for inclusion in the official repositories. Bodge jobs are no good if you’re creating packages that people are going to depend on, and the official procedures can change over time. Remember, these packages will normally install files into the most vulnerable and delicate parts of the system!
Selecting the right project is the first step to becoming a package maintainer. Check that the package you have your sights on isn’t maintained already. In some cases, a package can exist in the official repository or on the web, but is badly out of date and not actively maintained. Best practice in such cases is to contact the lapsed maintainer and ask permission to take over maintenance of the package.
You can obtain the identity of the current maintainer with a web search or by using the package tools of a distribution. For example, in Ubuntu typing: apt show will display this information. On the other hand, you might
want to get in touch with a developer of a piece of software that you enjoy using and ask, “Would you like me to maintain packages for your project?”
Once you’ve decided that a package is either not currently maintained or completely absent from the repository of the target distribution, you must obtain the source code of that package. The first stage of this is to locate the website of the author or authors of the package. In most cases, you’re looking for a source code package that builds with the familiar ./configure && make && make install procedure.