jordansissel / fpm

Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
http://fpm.readthedocs.io/en/latest/
Other
11.13k stars 1.07k forks source link

Integration with homebrew? #1594

Open rubyFeedback opened 5 years ago

rubyFeedback commented 5 years ago

Hello,

This is not so much a feature request or so; more a question. It is specifically for jordan but of course anyone else who may be involved with fpm. Since I don't want to put open issues in other projects that are difficult to resolve, I suggest to close this issue here automatically after at max. 3 months - simply to use this as a reference for any opinion that may come.

As you may or may not know, homebrew added linux support as a first-class citizen some days ago:

https://www.infoq.com/news/2019/01/homebrew-1.9-released

I tested it but I had a few issues; I guess it may take some more time before this is ironed out and things are all smoothened.

However had, that also got me thinking - IF linux support on homebrew would work fine (which I assume it will, eventually), then we could also use fpm to automatically generate certain tarball releases for different package managers, right? Such as a .rpm file or a .deb file.

I do not know how much work this would be; perhaps it needs some coordination with the homebrew folks (I have not asked them yet).

So before I continue there, I'd like to ask what you folks think about this? In particular Jordan but also others. I remember that Jordan used to consider adding support for easy installation of fpm for different distributions (e. g. so that debian folks could install fpm easily); this is perhaps somewhat related to actually being able to build ALL the available packages in homebrew. This may also simplify usage for fpm as such, since we could then use it to build packages for the available programs (perhaps even in a reproducible manner), or add new programs to the list available in homebrew. So I am curious about any ideas here - Thanks!

jordansissel commented 5 years ago

@rubyFeedback What you describe sounds good!

In fpm, this would look like a homebrew "source", as in: fpm -s homebrew -t rpm zsh would, in theory, use homebrew to build zsh and produce an rpm out of it.

There are other cross-platform package build systems out there, such as pkgsrc, and I have once or twice experimented with having pkgsrc as a source and it lives here: https://github.com/jordansissel/fpm/blob/master/misc/pkgsrc.sh (though it hasn't been touched in many years).

This is all to say that you and I are thinking the same thing. A homebrew source for fpm could yield some pretty nice results for users wanting to build deb/rpm/etc from a single build system.

ajoslin103 commented 4 years ago

I think this would be great! I just completed using fpm to build a binary installer of the homebrew installation of mosquitto because they don't provide a binary installer

Building my installer required using homebrew to build and install mosquitto so I could script the creation of a copy of the differences between /usr/local/ before & after brew install mosquitto -- then using fpm to package and install my copy into /usr/local/opt

It's a hack-job -- but I need mosquitto for the mac in a binary for my clients to use in-house. It would have been a blessing if I could've just done this as a cmdLine option to brew or fpm !!

I love fpm and use it for all the code I deliver whenever possible, hell -- I'd wash the dishes with it (or just install clean ones) if I could

All thanks be to the Jordan !!