Hello,
(Ubuntu "maintainers" and Debian's co-maintainer CCed)

On Sunday 28 February 2010 16:56:19, David Paleino wrote:
> [..]
> > desktopcouch        :Depends: python-desktopcouch, 
> > python-desktopcouch-records
> > python-desktopcouch                 :Depends: desktopcouch
> > python-desktopcouch-records         :Depends: python-desktopcouch
> >
> > Circular dependencies are known to cause problems during upgrade, so we
> > should try to get rid of them.
> >
> > In this case, the three package are arch:all and come from the same
> > source package, so there is little point to split desktopcouch in
> > three packages if the user is required to install all of them
> >  anymway.
> 
> I'll see if merging the packages is a solution, or if breaking the circular
> dependency is better.

I analyzed the situation a bit, and here it follows.

The package separation really comes from the Ubuntu packaging. I started from 
0.5-0ubuntu1, and the packages were already split like this. I usually tend to 
avoid useless deltas between the two distributions, but this time it seems 
like Ubuntu guys made it wrong :)

desktopcouch really depends on python-desktopcouch, i.e. files in the former 
package depend on files in the latter to properly work. This is normal.

I can't tell whether python-desktopcouch really depend on the desktopcouch 
package. However, without it, it's totally useless. So this could be a point 
in favour of merging the two packages.

Trying to look compatibility with Ubuntu, it seems they have something strange 
going on (from a lucid chroot):

# apt-cache rdepends desktopcouch
desktopcouch
Reverse Depends:
  python-desktopcouch
  evolution-couchdb
# apt-cache rdepends python-desktopcouch
python-desktopcouch
Reverse Depends:
  xul-ext-bindwood
  desktopcouch-tools
  python-desktopcouch-records
  desktopcouch
# apt-cache rdepends python-desktopcouch-records
python-desktopcouch-records
Reverse Depends:
  quickly-ubuntu-template
  lernid
  desktopcouch-tools
  bughugger
  gwibber-service
  gwibber
  desktopcouch

i.e. it seems like there's no clear "consensus" on what to depend on, if a 
package needs desktopcouch capabilities.

If we merged desktopcouch with python-desktopcouch, we'd need to change 
dependencies in the relevant packages. However, I suppose python-desktopcouch 
and python-desktopcouch-records were created for a specific reason.

Ubuntu people (CCed) [1], especially Ken, who was the first packager: is there 
a rationale for this package layout? Do you know which one of these packages 
is doing it wrong? Any opinion about the circular dependencies?

I'd like to avoid useless deltas between Debian and Ubuntu, *especially* 
regarding available binary packages. However, my opinion is that desktopcouch 
is a service available on the user's host (together with couchdb), so a 
package needing its functionality should depend on "desktopcouch".
In my opinion, python-desktopcouch should be merged in the aforementioned, and 
maybe python-desktopcouch-records renamed to "desktopcouch-records" -- and 
move everything out of PYTHONPATH. I believe those are "private" modules, not 
really usable from outside.

What do you think? :)

Kindly,
David

[1] by the way, it would be cool if we maintained the package together in
    Debian, and let it naturally flow in Ubuntu :) -- me and Kartik were 
    planning to form a "Debian DesktopCouch Team", which I would be happy if 
    it was a "Debian/Ubuntu DesktopCouch Team".

-- 
 . ''`.   Debian developer | http://wiki.debian.org/DavidPaleino
 : :'  : Linuxer #334216 --|-- http://www.hanskalabs.net/
 `. `'`  GPG: 1392B174 ----|----
   `-   2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to