We have various individual tools to automate parts of the Haskell packaging process, like
cabal-rpm, but those tools aren't integrated into a fully automated system that keeps Haskell packages up-to-date with as little human intervention as possible. I would like to build that system. Stackage provides us with an accurate list of packages and versions that are known to work together well, and there are basically two flavors: the nightly snapshot (bleeding edge) and the LTS release (stable API). The former is appropriate for Tumbleweed, IMHO, and the latter is appropriate for stable releases like SLE or Leap.
Now, we can use
cabal-rpm to generate
spec files automatically for all packages in a Stackage release and check them into OBS. The process does need some tweaking, however, because
cabal-rpm generates spec files that don't always work well for SUSE. We could (a) branch
cabal-rpm and add SUSE-specific know-how to remedy that issue or we could (b) maintain a set of patches that adapt the generated spec files to our needs. Once the Stackage releases are available in an OBS development project, we need another automated process that submits all updated packages to openSUSE:Factory, etc.
Getting that entire system up and running within a week is probably a bit ambitious, but it should be quite possible to achieve a working prototype that solves 70-90% of the tasks we do manually these days.
Looking for mad skills in:
haskell ci obs bash
This project is part of:
Hack Week 14
Theoretically, Haskell should be perfect for im...