Description
I'm currently trying to package sonic-pi for Arch Linux' [community] repository.
However, this proves extremely painful, because of
- conflicting installation information and about a dozen different "package scripts" for various distributions (that all seem slightly different and/or outdated)
- four (!) different make systems (qmake, erlang, something that should probably be ruby bundler and cmake) in use to create (but not install!) this environment
- no FHS compliance (which is bad as distribution usually try to avoid dumping applications in
/opt
) - no XDG desktop entry integration
This all makes it very hard to package sonic-pi without major headache.
It would be very beneficial to have a Make-like system, that takes care of all of the building and installing, as maintaining a package with a lot of customization and workaround steps, such as this, is very time-consuming and therefore off-putting to any packager.
There are a few open pull requests, that should be followed through with (e.g. #218, but especially #1291), as they improve on exactly this issue.
However, I don't think the latter approach should be chosen for e.g. building the Qt interface. If a standard GNU make is chosen, this can use rake, build the GUI and place things where they should go.
According to FHS, all things below etc
should actually end up in /usr/share/sonic-pi
, the executables below app
in /usr/bin
and so on.
I'm currently trying to find a way to make sonic-pi FHS compliant, but I'm not sure it's possible in its current form.
I'd definitely appreciate any help and pointers!