[Bug 1212481] Re: Saucy: CouchDB 1.4.0 needed to work with Erlang 16.b.1

Jason Gerard DeRose jderose at novacut.com
Mon Sep 2 00:21:53 UTC 2013


Micah,

I noticed the 1.4.0 package in Debian, and it seems like some of my
packaging work played into it (so I'm glad that my work was perhaps
useful there too).

However, I'd argue the at this point merging from Debian is pedantic and
provides no benefit to Ubuntu users. There is precious little time till
Saucy is released, and I can either spend that time further testing and
perfecting my current package, or doing lots tedious merging and
conflict resolution.

I'd also argue that my package is currently in a much higher quality
state than the Debian 1.4.0-3 package:

1) I run the upstream unit tests during the build, the Debian package
doesn't

2) In the first two 1.4.0 revs of the Debian package, the CouchDB system daemon wouldn't even start, which suggests to me it's not being tested very thoroughly:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721322

3) My package has been verified by successfully building several
reverse-dependency against it in the unforgiving Ubuntu build
environment... reverse-dependencies with extensive, demanding CouchDB
unit tests

4) I've extensively tested the 1.2.0 to 1.4.0 upgrade on Ubuntu in many
scenarios (the only problem I found was that sometimes the 1.2.0 system
daemon doesn't actually get killed, because the upstream init.d script
is just kinda broken, despite several loving patches from the Debian
maintainer... which is why I feel moving to Upstart is very important
for the Ubuntu package).

I have no problem working with the Debian maintainer to get the Debian
and Ubuntu packages closer over time, ideally to reach a point where
we're using the exact same package (well, aside from Upstart, obviously
that doesn't apply in Debian).

But I strongly feel the time to do that is not now, two days after the
feature freeze. That's something to work on for 14.04 LTS.

** Bug watch added: Debian Bug tracker #721322
   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721322

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1212481

Title:
  Saucy: CouchDB 1.4.0 needed to work with Erlang 16.b.1

Status in “couchdb” package in Ubuntu:
  In Progress

Bug description:
  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 in 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

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/couchdb/+bug/1212481/+subscriptions



More information about the Ubuntu-sponsors mailing list