-
fpm
Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I just wrote a small CLI program[0] (actually a wrapper for a collection of shell scripts, similar to git) and would like to package it for easy installation on Debian/Ubuntu, Red Hat/Fedora, Arch, macOS, and hopefully even Windows (via WSL?).
Is there a tool or service for making this easy? So far, I've found fpm[1]. I haven't dug into it enough to know whether it's the solution I'm looking for, but I also wanted to solicit the community for alternatives in case I'm missing something even better.
The dependencies are minimal (just Ruby stdlib). Here are options I've considered and opted against:
* rubygems: I'm not a huge fan of using a language's package manager for end-user software. What happens when the system upgrades its version of Ruby? Does the user have a ruby version manager like rvm or rbenv installed? and so on.
* docker: a couple weeks back, an article entitled "Run More Stuff in Docker" was trending here[2]. I like the idea, but the approach is a minor hobby unto itself and way too burdensome to ask of general-audience, potentially not-very-technical end-users.
My program is simple enough that I hope it could be used as an introduction to CLI concepts/UNIX/shell pipes for the uninitiated; someone should not have to be a developer to use it or understand how it works. Assuming a very limited familiarity with the command line, I want to offer install instructions that make no assumptions about the user's system and should always just work; e.g., `brew install cram` / `sudo dpkg -i cram.deb` / etc.
[0]: https://github.com/rlue/cram
[1]: https://github.com/jordansissel/fpm