benluteijn / cherokee

Automatically exported from code.google.com/p/cherokee
0 stars 1 forks source link

unable to upgrade via Cherokee PPA on Ubuntu 8.10 #249

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Install Cherokee from normal ubuntu repositories
2. Add cherokee PPA: https://edge.launchpad.net/~cherokee-webserver/+archive
3. Attempt to upgrade cherokee

What is the expected output? 
I expect the cherokee web server to get upgraded to the current version in
the PPA

What do you see instead?
An error: E:
/var/cache/apt/archives/libcherokee-config0_0.10.1-1~intrepid~ppa1_i386.deb: 
trying
to overwrite `/usr/share/cherokee/admin/ModuleMysql.py', which is also in
package libcherokee-server0

What version of the product are you using? On what operating system?
0.7.2, Ubuntu 8.10

Please provide any additional information below.

Original issue reported on code.google.com by afane...@gmail.com on 27 Nov 2008 at 11:17

GoogleCodeExporter commented 9 years ago

Original comment by alobbs on 1 Dec 2008 at 2:00

GoogleCodeExporter commented 9 years ago

Original comment by alobbs on 1 Dec 2008 at 2:29

GoogleCodeExporter commented 9 years ago
Can you try  with  0.11.1 ???

Original comment by lnu...@gmail.com on 1 Dec 2008 at 2:57

GoogleCodeExporter commented 9 years ago
if you remove the aging old  0.7 an do a fresh  0.11.2 install it works fine..

Original comment by lnu...@gmail.com on 1 Dec 2008 at 3:09

GoogleCodeExporter commented 9 years ago
Please note this is caused by the circular dependency between 
libcherokee-server0 and
libcherokee-config0. This problem has been reported in the project's mailing 
lists: 

http://lists.octality.com/pipermail/cherokee/2008-October/008951.html

...And it has been reported as well in the Debian BTS ;-)

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=478685
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=500266

So, please, developers... Any update on breaking this circular dependency? :-}

Original comment by gunnarwo...@gmail.com on 2 Dec 2008 at 11:55

GoogleCodeExporter commented 9 years ago
I don't know why I said that some code had to be changed. I have just had 
another look and the problem looks obvious to me now.

There are two plug-ins (handler_admin, and handler_server_info) that depend on 
libcherokee-config. That's fair enough (that's what the 
library is for, actually). The problem is that those modules are shipped within 
the libcherokee-server0 package.

My proposal would be to split the libcherokee-server0, so plug-ins would go to 
a different package.  In fact, it'd be good if we got the 
MySQL, LDAP and OpenSSL plug-ins shipped in independent packages, so the 
default Cherokee installation wouldn't push so many third 
party (and potentially unwanted) software.

Gunnar, what do you think?

Original comment by alobbs on 5 Dec 2008 at 9:26

GoogleCodeExporter commented 9 years ago
Sounds sensible, and sounds like a good way to fix this problem. Great! But as
always, you are the one who knows best. So, you propose a cherokee-plugins 
package?
Or several separate plugins for each of those functionalities? I understand the 
core
Cherokee package would not _depend_ on the plugins, but _recommend_ them (or 
maybe
recommend some and suggest some - I need your guidance here. Recommending is a
"strong preference", and the recommended gets installed by default when 
requesting
the core one; suggesting is basically like "would be nice if")
...So, please advise on this.
In any case, I'm also attaching here the final part of our build process, as 
this
might be interesting to you: dh_shlibdeps (which basically calls dpkg-shlibdeps,
which is a decently easy to understand Perl script) warns about seemingly 
needless
library declarations. It might be useful to detect if you are linking unneeded 
stuff
in - And... Well, it seems there are plenty of unneeded linkages in our build 
process
:-/ Some (most, I hope) might be innocuous, and some might even be false 
positives,
but this might be useful for you.

Original comment by gunnarwo...@gmail.com on 5 Dec 2008 at 3:27

Attachments:

GoogleCodeExporter commented 9 years ago
Ugh, sorry, I attached the full build, which is quite a bit larger. Here it goes
again, just the shlibdeps part.

Original comment by gunnarwo...@gmail.com on 5 Dec 2008 at 3:28

Attachments:

GoogleCodeExporter commented 9 years ago
Well, I guess it'd something like this:

- The main Cherokee package, the server itself + doc + handlers with
  no extra dependencies:

  cherokee:
    Dep: libcherokee-server
    Dep: libcherokee-base

- The libraries:

  libcherokee-server
    Dep: libcherokee-base

  libcherokee-client
    Dep: libcherokee-base

  libcherokee-config
    Dep: libcherokee-base
    Dep: libcherokee-client
    Dep: libcherokee-server

- The plugins depending on libcherokee-config:

  libcherokee-mod-admin
    Dep: libcherokee-server
    Dep: libcherokee-config

  libcherokee-mod-server-info
    Dep: libcherokee-server
    Dep: libcherokee-config

- And the plug-ins depending on 3rd parties:
  libcherokee-mod-mysql
    Dep: libcherokee-server
    Dep: libmysql-client

  libcherokee-mod-ldap
    Dep: libcherokee-server
    Dep: libldap

  libcherokee-mod-libssl
    Dep: libcherokee-server
    Dep: libssl

Since the default configuration file uses handler_server_info, the cherokee 
package should depend on 
libcherokee-mod-server-info (which would push libcherokee-config).

Original comment by alobbs on 5 Dec 2008 at 6:05

GoogleCodeExporter commented 9 years ago
I have implemented Álvaro's suggestions, with quite a bit of hand-holding in 
the way.
It is currently ready in the Git repository, although I want to test a couple of
things before uploading. The repository is at: 

    http://git.debian.org/git/collab-maint/cherokee.git

Web interface available at:

    http://git.debian.org/?p=collab-maint/cherokee.git;a=summary

Relevant commits are 4b23de01b04320536a09c41324f89cf26bcdd635 and
db3f74a92f4326499b7d448b22d289e12a6cf576

I have to leave now, but anybody doing Debian/Ubuntu packaging can help here - 
Do the
packages build on your system correctly? (they do on mine :-} ) Can you upgrade 
from
previous versions to them with no warnings? Specially, from older versions 
(0.7.*). I
want to confirm if the changes fix both Debian bugs referenced from here (I am
certain #478685 is fixed, but haven't tested about #500266).

Anyway, if nobody steps in, I expect to do the checks (and, of course, an 
upload) in
the next days.

Original comment by gunnarwo...@gmail.com on 8 Dec 2008 at 7:37

GoogleCodeExporter commented 9 years ago
Umh, this fixes so far the cyclic dependency issue... but not the upgrade 
failure. I
will keep looking into this :-/

Original comment by gunnarwo...@gmail.com on 9 Dec 2008 at 12:31

GoogleCodeExporter commented 9 years ago
Finally!
I have fixed this long-standing bug in the Debian BTS. The relevant Git commit 
is:
http://git.debian.org/?p=collab-maint/cherokee.git;a=commitdiff;h=HEAD;hp=db3f74
a92f4326499b7d448b22d289e12a6cf576
The fix is _really_ simple, but it took me a long while to find it. Anyway, even
though the packages have been uploaded to Debian, it will take a couple of days 
for
them to appear (as new binary packages were introduced and should be 
hand-approved by
our ftp-master team), however, the fix should be appliable right away for the 
PPA
Ubuntu packages.

Original comment by gunnarwo...@gmail.com on 16 Dec 2008 at 12:35

GoogleCodeExporter commented 9 years ago

Original comment by gunnarwo...@gmail.com on 16 Dec 2008 at 12:35