packaging issue for couchdb?

Bug #432219 reported by Cristian Gafton
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
CouchDB
Fix Released
High
Chad Miller
couchdb (Ubuntu)
Fix Released
Undecided
Chad Miller

Bug Description

While installing upgrades on my system, dpkg produced the following, leading me to believe some dep chain is incomplete:
E: /var/cache/apt/archives/couchdb-bin_0.10.0~svn813472-0ubuntu2_amd64.deb: trying to overwrite `/usr/share/lintian/overrides/couchdb', which is also in package couchdb

dpkg: dependency problems prevent configuration of desktopcouch:
 desktopcouch depends on couchdb-bin (>= 0.10.0~svn809550); however:
  Package couchdb-bin is not installed.
dpkg: error processing desktopcouch (--configure):
 dependency problems - leaving unconfigured

Tags: desktop+

Related branches

Changed in desktopcouch:
assignee: nobody → Chad Miller (cmiller)
tags: added: desktop+
Mark G. Saye (markgsaye)
Changed in desktopcouch:
status: New → Confirmed
Revision history for this message
Mark G. Saye (markgsaye) wrote :

Using Synaptic, removing couchdb wanted to remove ubunet-developer-dependencies metapackage, so I removed both, then marked u-d-d for installation, pulled in couchdb-bin too, dependencies solved (although why it needed this extra step does not make sense to me)

Revision history for this message
dobey (dobey) wrote : Re: [Bug 432219] Re: packaging issue for couchdb?

On Mon, 2009-09-21 at 14:13 +0000, Mark G. Saye wrote:
> Using Synaptic, removing couchdb wanted to remove ubunet-developer-
> dependencies metapackage, so I removed both, then marked u-d-d for
> installation, pulled in couchdb-bin too, dependencies solved (although
> why it needed this extra step does not make sense to me)

It's because the couchdb package now depends on couchdb-bin, which has a
file conflict with the old couchdb package, which won't get removed
until couchdb gets installed, because there is no Conflicts: couchdb (<
$newversion) in the couchdb-bin package. Having it would solve this.

Chad Miller (cmiller)
Changed in desktopcouch:
importance: Undecided → High
milestone: none → w23-karmic-beta
affects: desktopcouch → couchdb
Changed in couchdb:
milestone: w23-karmic-beta → none
Chad Miller (cmiller)
Changed in couchdb (Ubuntu):
status: New → In Progress
assignee: nobody → Chad Miller (cmiller)
Revision history for this message
Chad Miller (cmiller) wrote :
Revision history for this message
Chad Miller (cmiller) wrote :
Revision history for this message
Chad Miller (cmiller) wrote :
Revision history for this message
James Westby (james-w) wrote :

Hi,

Some comments:

  * -0ubuntu1, not -0ubuntu2
  * Conflicts is not correct in this case, Replaces is for file moves/package splits.
     http://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces
    I see that was apparently tried though.
  * Conflicting << ${binary:Version} is excessive anyway.
  * Do you have release team approval for the new version?
  * I don't think the new paragraph in the couchdb package description is worth having.
  * + find debian is still in the rules file.
  * There are lots of changes that are not described in the changelog.

Thanks,

James

Revision history for this message
Chad Miller (cmiller) wrote :
Revision history for this message
Chad Miller (cmiller) wrote :
Revision history for this message
Chad Miller (cmiller) wrote :

I updated the packaging again, to take the changelog from couchdb 0.10-pre release notes.

I changed Replaces with conflicting, with a literal version number of the first split version.

I removed the paragraph-2 from "couchdb" and the spurious "find debian".

--

I also bumped the SVN revision number and changed the VCS URLs to the current Apache-controlled site.

Orig source should be pulled from here:
  http://svn.apache.org/repos/asf/couchdb/branches/0.10.x/

Revision history for this message
James Westby (james-w) wrote :

> I changed Replaces with conflicting, with a literal version number of the first split version.

I'm not sure what you mean here. The latest diff doesn't change anything
with Conflicts/Replaces from the version in the archive.

Note that a conflicts may be needed as well as replaces, to force dpkg to
deconfigure the old couchdb before installing couchdb-bin, but the solution
is not to have conflicts instead of replaces. You will need to check with someone
smarter than me as to what the correct relationships are, or do some upgrade
testing.

-Vcs-Svn: svn://svn.berlios.de/erlang-pkg/couchdb/trunk/
-Vcs-Browser: https://svn.berlios.de/wsvn/erlang-pkg/couchdb/?op=log
+Vcs-Svn: http://svn.apache.org/repos/asf/couchdb/branches/
+Vcs-Browser: http://svn.apache.org/repos/asf/couchdb/branches/

That is incorrect. Vcs-Svn is supposed to point to the *packaging* SVN.
There is currently no field for the project VCS.

+Suggests: couchdb (= ${binary:Version})

A version is spurious there. If you require a version lock then put a versioned
depends the other way.

There are other changes that are not documented in the changelog:

  * Dropping of patches.
  * Addition of ./bootstrap.
  * lintian-overrides move.
  * Addition of libtool to Build-Depends.

Becuase Ubuntu development is collaborative we like to have the reasons for
every change documented in the changelog, to give us a chance of understanding
the rationale for a change without having to track you down. Sometimes it seems
excessive, but for instance say you removed the patches as you assumed that they
were applied upstream, but one was missed. That would cause a regression, which
someone would have to track down. If there is no comment in the changelog they
can't be sure why you did it, but if it says "drop all patches as they are included
in the new upstream version", they will know that one was missed, rather than it
being removed because it was considered broken or similar. A few words now
can save a lot of head scratching later.

Thanks,

James

Revision history for this message
Chad Miller (cmiller) wrote :

This replaces the svn818859-0ubuntu1.diff.gz file above!

Revision history for this message
Chad Miller (cmiller) wrote :

This replaces the svn818859-0ubuntu1.dsc above!

Revision history for this message
Chad Miller (cmiller) wrote :

Another diff replacement.

Revision history for this message
Chad Miller (cmiller) wrote :

Another DSC replacement.

Revision history for this message
Ken VanDine (ken-vandine) wrote :

removed /var from couchdb.install

Revision history for this message
Ken VanDine (ken-vandine) wrote :

another dsc replacement

Revision history for this message
Ken VanDine (ken-vandine) wrote :

One more time, this one handles /var/lib properly

Revision history for this message
Ken VanDine (ken-vandine) wrote :

Created a new snapshot with make dist, more inline with the previous version

Revision history for this message
Ken VanDine (ken-vandine) wrote :

Fixed some stuff based on feedback from Martin Pitt

Revision history for this message
Ken VanDine (ken-vandine) wrote :

And an updated .dsc

Revision history for this message
Ken VanDine (ken-vandine) wrote :

This is the good tarball

Revision history for this message
Ken VanDine (ken-vandine) wrote :

And diff

Revision history for this message
Ken VanDine (ken-vandine) wrote :

and dsc

Revision history for this message
Ken VanDine (ken-vandine) wrote :

Merging couchdb-bin.post* into couchbin.post* doesn't work, the config files/dirs are in the couchdb-bin package and need to be the correct permissions

Revision history for this message
Ken VanDine (ken-vandine) wrote :

latest .dsc

Revision history for this message
Ken VanDine (ken-vandine) wrote :

Latest updated .diff.gz based on feedback from james_w

Revision history for this message
Ken VanDine (ken-vandine) wrote :

Updated .dsc

Revision history for this message
James Westby (james-w) wrote :

Hi,

Can't test in a clean chroot at the moment, but installing the build-depends
gives me:

checking for JS_NewContext in -lmozjs... no
checking for JS_NewContext in -ljs... no
checking for JS_NewContext in -ljs3250... no
checking for JS_NewContext in -ljs32... no
configure: error: Could not find the js library.

Is the Mozilla SpiderMonkey library installed?
make: *** [config.status] Error 1

My guess is the --with-js stuff is no longer having the desired effect. Has anyone
successfully tested this?

I have to sleep now, so someone else will have to take over if this is going in to
the beta.

Thanks,

James

Revision history for this message
James Westby (james-w) wrote :

Ah, no, it appears to be a mismatch between the xulrunner-dev version
and the xulrunner --gre-version output? It's not clear if that is my fault though.

Revision history for this message
Steve Langasek (vorlon) wrote :

I don't see anything here that looks beta-critical to me, fwiw; I think it's fine to defer this to post-beta.

Revision history for this message
Ken VanDine (ken-vandine) wrote :

Steve: desktopcouch depends on this, we can't get desktop-to-desktop or desktop-to-u1 syncing without it.

Revision history for this message
Steve Langasek (vorlon) wrote :

Ken, I'm aware that desktopcouch depends on couchdb, but I don't see anything beta-critical *in this bug* - because the reported problem is completely unreproducible for me, and looking at the package relationships I don't see any bugs.

I have the latest version of couchdb installed on my system, without errors. Here's what the upgrade log looked like, exactly as expected:

Selecting previously deselected package couchdb-bin.
Unpacking couchdb-bin (from .../couchdb-bin_0.10.0~svn813472-0ubuntu2_amd64.deb) ...
Replacing files in old package couchdb ...
Preparing to replace couchdb 0.10.0~svn813472-0ubuntu1 (using .../couchdb_0.10.0~svn813472-0ubuntu2_amd64.deb) ...
 * Stopping database server couchdb
   ...done.
Unpacking replacement couchdb ...

Perhaps Cristian had a local couchdb package on his system with a later version, which caused a local upgrade problem not present in the archive at all?

Revision history for this message
Ken VanDine (ken-vandine) wrote :

True, this bug somehow turned into the bug tracking the new snapshot of couchdb as well as fixing some packaging problems. I never reproduced that problem either.

Revision history for this message
Martin Pitt (pitti) wrote :

Uploaded, waiting in unapproved now (will be released after beta)

Changed in couchdb (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package couchdb - 0.10.0~svn818859-0ubuntu1

---------------
couchdb (0.10.0~svn818859-0ubuntu1) karmic; urgency=low

  * Import code from pre-release branch. (LP: #427860, #408909)
    + Build and System Integration:
      * Changed `couchdb` script configuration options.
     * Added default.d and local.d configuration directories to load
        sequence.
    + HTTP Interface:
      * Added optional cookie-based authentication handler.
      * Added optional two-legged OAuth authentication handler.
  * Packaging of couchdb-bin must replace pre-split couchdb.
    (LP: #432219)
  * Move all of /etc and /var out of the couchdb-bin package, to the
    couchdb package.
  * /etc/couchdb must be in couchdb-bin, as config files are needed
    by all servers.
    + So the couchdb user must be managed by couchdb-bin.
    + Split postinst/postrm files to manage different files.
    + Set Replaces of couchdb-bin by couchdb so that config files
      migrate.
  * Update the version number in postrm. (!)
  * Use the new "Breaks" field in control file to help split pkg.

  [Ken VanDine]
  * debian/couchdb.install:
    - removed /var
  * debian/rules:
    - removed bootstrap
  * debian/couchdb.postinst:
    - Added the debhelper tag

 -- Chad Miller <email address hidden> Fri, 25 Sep 2009 19:18:26 -0400

Changed in couchdb (Ubuntu):
status: Fix Committed → Fix Released
Chad Miller (cmiller)
Changed in couchdb:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.