phusion / passenger_apt_automation

Tools for automatically building a Debian APT repository for Phusion Passenger
MIT License
20 stars 20 forks source link

Debian transition to libcurl4 breaks passenger-enterprise installation #23

Closed theschoolmaster closed 5 years ago

theschoolmaster commented 6 years ago

Debian is currently transitioning to a libcurl4 package from libcurl3. Apparently they both provide libcurl.so.3 and libcurl.so.4 so currently you cannot have both libcurl3 and libcurl4 installed.

passenger-enterprise depends on libcurl3 apache2-bin depends on libcurl4 (version 2.4.33-3+b1 now in testing)

I believe setting the depends to libcurl3 | libcurl4 is a possible fix.

More info: https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1754294

CamJN commented 6 years ago

I'm having trouble reproducing, can you include the errors you are seeing?

theschoolmaster commented 6 years ago

It's less of an error and more of a broken situation. Everything works fine in Debian stable where apache2 is at version 2.4.25-3+deb9u4. That version of apache2 depends on libcurl3 as does passenger-enterprise.

The problem is with the version of apache2 in testing (2.4.33-3+b1) where apache2-bin depends on libcurl4 explicitly. This creates a situation with dpkg where you can either have passenger-enterprise installed with libcurl3 OR apache2 with libcurl4. Currently libcurl3 and libcurl4 cannot be installed at the same time.

Possible resolutions are for Debian to fix the conflict between libcurl3 and libcurl4 (unlikely because they contain the same file in an awkward way, but possible) or for passenger-enterprise to depend on either libcurl3 or libcurl4 instead of only libcurl3 explicitly.

I'm not sure what path is appropriate, but something will need to change when the new version of apache2 hits stable.

theschoolmaster commented 6 years ago

Some addition discussion:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=900511 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=858398

theschoolmaster commented 5 years ago

This is still an issue. Perhaps it's best illustrated by the current depends.

https://gist.github.com/theschoolmaster/e10f6788dacb7ce1e88b10cc056952ba

passenger now depends on libcurl4 whereas passenger-enterprise depends on libcurl3

Is this on the roadmap to be addressed?

Thanks

CamJN commented 5 years ago

Both Passenger and Passenger Enterprise depend on libcurl4-openssl in the apt packaging specs:

https://github.com/phusion/passenger_apt_automation/blob/master/debian_specs/passenger/control.erb#L15 https://github.com/phusion/passenger_apt_automation/blob/master/debian_specs/passenger_enterprise/control.erb#L15

theschoolmaster commented 5 years ago

I see that. However when I fetch the deb from your server, unpack it and examine the shipped control file, it specifies libcurl3 so perhaps it's an issue in the automation chain? Maybe I'm just missing something obvious here, thanks for your help.

https://gist.github.com/theschoolmaster/a7a4e1701b477639ae6d7c5685ac08f8

CamJN commented 5 years ago

Then I can only gather that because the package was built on stretch it linked against libcurl3 automatically and the dh_shlibdeps tool noticed and inserted the dependency in the ${shlibs:Depends} list. That should be sorted when buster is released and we start building on it.

CamJN commented 5 years ago

This is fixed in the upcoming buster packages.

theschoolmaster commented 4 years ago

The enterprise repo for buster still does not have any packages in it. Is this an oversight or will it populate at some point? I see the 6.0.4 OSS release and 6.0.3 in the strech repos. However when I switch to

deb https://www.phusionpassenger.com/enterprise_apt buster main

as indicated here:

https://www.phusionpassenger.com/docs/advanced_guides/install_and_upgrade/apache/install/enterprise/buster.html

There are no packages in the repo, only the release files. There are MD5's in the release file, so it would suggest there are packages somewhere!

Thanks.

CamJN commented 4 years ago

I'm looking into the Enterprise Repo's Buster issue.

theschoolmaster commented 4 years ago

@CamJN any update on this? Thanks.

CamJN commented 4 years ago

Unfortunately no, I'm working on getting this fixed but don't have anything to share yet.

CamJN commented 4 years ago

Ok the enterprise buster repo is up and operational, so sorry for the wait.

theschoolmaster commented 4 years ago

Confirmed working. Thanks @CamJN !