Article Preview
Buy Now
COLUMN
Packaging with fpm
Creating Linux distributions of your Xojo software
Issue: 16.1 (January/February 2018)
Author: Scott Boss
Author Bio: Scott Boss is the founder of Nocturnal Coding Monkeys, Llc, who specialize in writing custom software. Scott has been a developer, system administrator, storage engineer, consultant, and architect to businesses from startup to global 100.
Article Description: No description available.
Article Length (in bytes): 10,678
Starting Page Number: 94
Article Number: 16109
Related Link(s): None
Excerpt of article text...
This month we are going to talk about some open source software that is not Xojo-related
per se . What we are going to discuss is a solution that helps all of us who have to deal with distributing Linux software.Anyone dealing with packaging up applications for Linux has run into a real challenge. Packing software can be painful unless it is something you do on a regular basis. On top of that, the different formats (RPM, DEB, PACMAN, etc.) make it even more challenging as the standard toolkits for building packages doesn't make it easy to do across various Linux platforms. Like making Ubuntu DEB files on a CentOS (RPM-based) system.
This is where fpm comes into play. fpm allows you to build a package on any supported platform for any supported package type. Now if fpm has to compile (
make
) the software before packaging, it gets more complicated, but it is still doable. For Xojo developers, we can use fpm as a post-compile action. Or have it package as part of your CI/CD (Continuous Integration/Continuous Delivery) chain.I came across fpm when I was looking at the best (for me that meant easiest) way to create DEB packages. I needed an easy deployment of my Xojo WE (Web Edition) application.
Originally, I was manually copying the application with all its files and folders over to the web server, but I would occasionally miss a file (or a dozen).
Then I went the route of zipping up the application and copying that over to the web server. That had its own challenges. Like I would have to manually unzip the files on the web server, making sure they had the right owner and permission settings. It was doable on a small scale, but painful with lots of manual steps. What I was doing by hand is what package management is designed for: making sure the right files are loaded where they are supposed to load with the right ownerships and permissions. That is when I decided to start creating Ubuntu .DEB files and I discovered fpm.
...End of Excerpt. Please purchase the magazine to read the full article.