Comment 0 for bug 1212481

Revision history for this message
Jason Gerard DeRose (jderose) wrote : Saucy: CouchDB 1.4.0 needed to work with Erlang 16.b.1

The current CouchDB 1.2.0 package in Saucy is broken and can't be installed as it was built against Erlang 15.b.1, and can't be rebuilt with the version now in Saucy, Erlang 16.b.1.

However, the soon to be released CouchDB 1.4.0 does work with Erlang 16.b.1. So the options are to remove CouchDB 1.2.0 from the archive before Saucy is released, or to upgrade to CouchDB 1.4.0.

My vote is to upgrade to CouchDB 1.4.0, which should be released before the Saucy feature freeze on August 29th (based on what was said at the latest CouchDB developers IRC meeting).

In preparation, I have a 1.4.0 pre-release git snapshot in the Novacut daily PPA ready for testing:
https://launchpad.net/~novacut/+archive/daily?field.series_filter=saucy

The packaging for which is here:
https://code.launchpad.net/~jderose/+junk/couchdb

I know at least several things are still incorrect in the packaging, but I wanted to start putting it through its paces as soon as possible.

** Feedback Wanted **

I'm also hoping to get some feedback on my plan for CouchDB in Ubuntu going forward. I have some history with the CouchDB package in Ubuntu [1][2], and for better or worse, the current CouchDB 1.2.0 package is largely my doing.

Previously my goal was to stay as close as possible to the CouchDB package in Debian, changing just enough to split it into the `couchdb` and `couchdb-bin` binary packages. And my hope was to get the Debian maintainer to eventually warm up to this split so Ubuntu could just ship a zero-change sync from Debian.

(FYI, this split is critical for Novacut because it allows us to start our per-user CouchDB instances via `couchdb-bin`, but without having the needless system-wide `couchdb` instance running all the time.)

But I think it's time to change my strategy, time for me to just take ownership for the CouchDB package Ubuntu.

As CouchDB 1.2.0 is still the newest in Debian (even in unstable and experimental), I think the current Debian maintainer is probably a bit too busy with other things to spend much time on CouchDB packaging (hey, life happens). Plus, I've never heard back from him about my idea of bringing the couchdb/couchdb-bin split into Debian.

Whereas I *must* have a working CouchDB package for Saucy, even if it means me just maintaining it in a PPA, because otherwise Novacut doesn't work on Saucy, Novacut can't move forward during Saucy. If I'm doing the work either way, I'd rather it be on the actual package shipped in Saucy.

So I'm not going to worry about staying close to the Debian package anymore. Instead, I'm just going to package CouchDB in the way I feel is best, in the way I'm most comfortable with, in the way the seems best for Novacut and Ubuntu. I've more or less started with a blank slate for my CouchDB 1.4.0 package, and I'd say there are three important changes:

1) Simplicity: the old debian/rules was quite complicated, and as I didn't write it, I'm not well equipped to maintain it, especially with precious little free time; no doubt there was a reason for these hacks when they were written, but these days CouchDB is much better behaved when it comes to standard `./configure && make && make install`, so I was aiming for a near-empty debian/rules

2) debhelper: this is largely because I'm more comfortable with debhelper than I am with CDBS, but I also feel debhelper is the current best practice; and so far so good, my debian/rules is only 8 lines [3]

3) Upstart: I'll admit right now there were many and constant problems with the init.d script in CouchDB 1.2.0 that I never managed to solve; as I don't have time to babysit the ill behaved upstream init.d script, I switched to Upstart... which promptly solved *all* the problems, yeehaw =)

I'd love help with this CouchDB package maintenance, if anyone is interested. Plus, I *need* at least a little help getting this into Saucy, as I'm not a MOTU :P

Thoughts?

[1] https://bugs.launchpad.net/ubuntu/+source/couchdb/+bug/1022515
[2] https://bugs.launchpad.net/ubuntu/+source/couchdb/+bug/903098
[3] http://bazaar.launchpad.net/~jderose/+junk/couchdb/view/head:/debian/rules