3 ms·
> curl https://raw.githubusercontent.com/apex/apex/master/install.sh https://raw.githubusercontent.com/apex/apex/master/install.s... | sh When did package mana
by reubano 10y ago
> curl https://raw.githubusercontent.com/apex/apex/master/install.sh https://raw.githubusercontent.com/apex/apex/master/install.s... | sh
When did package manager go out of style?
- vertex-four 10y agoAs soon as people realised there was an easier way than building and testing packages on 8 different distros, then having people whine because they don't act "right" for each distro. Packaging takes a lot of time out of development work.
- snuxoll 10y agoIt's a single binary, there isn't much "acting right" to be done. Build, install to /usr/bin with appropriate permissions and be done with it. It's not like Go is dynamically linked and requires you deal with varying soname's between distributions.
- reubano 10y agoso does that mean there's no equivalent of `pypi` or `npm` for go? Or is the point to not impose any requirements on the user?
- detaro 10y agoEvery time I look into packaging it seems like it has become even more of an arcane art (or I just don't know what to search for). Most guides and tools seem to aim at package maintainers for individual distros, which have different needs then someone wanting to package their individual software for as many distros as possible. What are the tools to use to solve this?
- jon-wood 10y agoFPM[1] will get you most of the way there, but your packages are still going to seem a bit out of place unless you make distro specific changes. [1] https://github.com/jordansissel/fpm https://github.com/jordansissel/fpm
- detaro 10y agoSeems interesting, although I find it amusing that a tool to make system-level packaging easier wants to be installed with "gem install"... no dogfooding?
- snuxoll 10y ago> Every time I look into packaging it seems like it has become even more of an arcane art Plenty of people willing to help out! The Fedora wiki actually contains a lot of general information on just creating RPM's, if you aren't planning on submitting and maintaining your software for inclusion in the Fedora Software Collection you don't need to be overly-zealous about following the Fedora Packaging Guidelines (though we hope you do, because it makes your software easier to use and less likely to break). "How to create an RPM package" is a good start [0]. The rpmdev-newspec tool part of the rpmdevtools package will generate you a decent skeleton you can use to get started with, though they still have some warts as they haven't been updated (they still call rm -rf $RPM_BUILD_ROOT which hasn't been necessary since EL6). For the most part, an SRPM built for Fedora or EL* should also be able to be compiled for OpenSUSE - with some exceptions where package naming differs or incompatible software versions are present (you'll have to solve these issues with conditionals). The same will typically be the case with .deb's built for Debian and derivatives. The Open Build Service from the OpenSUSE project [1] is an excellent tool for building and publishing packages for many different distributions, it won't save you from writing your spec files and debian/ files, but it will save you some time in building new releases afterwards (and it encourages the one rpmspec-with-conditionals workflow, so you don't maintain separate spec files for different distributions). Of course, I'd always like to see developers trying to get their software in the distribution repositories, but you probably don't want to go through the hassle of joining Fedora/Debian/Ubuntu/etc just for that. However, if you already have a working rpmspec file and an sane build system that doesn't require crazy tweaks you can probably find a packager willing to work with you. I haven't messed with debian packaging in a while, but if you have any questions about creating RPM's feel free to email me (snuxoll@fedoraproject.org). [0]: https://fedoraproject.org/wiki/How_to_create_an_RPM_package https://fedoraproject.org/wiki/How_to_create_an_RPM_package [1]: https://build.opensuse.org/ https://build.opensuse.org/