For the last eighteen months I've been running the Debian packaging effort
for Foreman, and with contributions from around our community, we've got a
reasonable stable set of Foreman (and Proxy) packages that seem to work.
They're not perfect though, and certainly wouldn't be accepted by any
upsteam distribution, as they vendor gems within the packages. This was a
decision taken due to the amount of work necessary to build (and maintain)
every gem dependency of Foreman across 6 OSes (Wheezy, Squeeze, Precise, 32
The vendoring solution works well for Foreman as it uses Bundler anyway,
but we have an increasing list of things which don't use Bundler, should
be packaged, and aren't:
- Foreman-installer (properly packaged, not using fpm)
- hammer (new foreman cli)
- kafo (the very very new foreman-installer)
- a variety of plugins
These packages all have their own gem dependencies which need to be checked
on each OS, and built if the they don't exist (or do exist, at the wrong
version). They need to be available at the system level, as we cannot
vendor things which are intended to be libraries in the first place.
Plugins particularly complicate the Foreman package's own vendoring
strategy, since they need to be in the same space as Foreman's own
The RPM packaging effort has had some great efforts recently to automate
building and pushing of gem dependencies, and I'd love to get to a similar
state with the debs. But I cannot do it by myself - I simply do not have
the time. I've no intention to stop working on the Debian packages, but I
can recognise when the quantity of things that need doing is greater than
So, I'm calling out to all you lovely Debian users out there - if any of
you want to get involved in (re)building the Foreman packages with better
automation, now is the time to step up. Send me an email (or ping me on
IRC) to express your interest, and we'll try to get a meeting together
sometime soon to discuss what our options are and how we'll get it done.
In the meantime, I'll do some research on how upstream Debian is handling
mass gem build problems. We can't be the only ones in this situation.