actions / runner-images

GitHub Actions runner images
MIT License
10.11k stars 3.04k forks source link

libcurl3 is not available in final image but conflicts with other packages #284

Closed nymous closed 4 years ago

nymous commented 4 years ago

Describe the bug libcurl3 is not in the final image, as it is replaced by libcurl4 when installing curl (on Ubuntu 18.04). It is still installed during the process which leads to other packages being uninstalled because of incompatibilities.

Area for Triage:

Question, Bug, or Feature?:

Bug

Virtual environments affected

Expected behavior libcurl3 is not installed at all.

Context I am trying to build this image on Google Cloud. I managed to change the builder, start from an Ubuntu 18.04 LTS image, and complete the process, but when starting a new VM from the resulting image I could not connect to it with SSH.

SSH authorizations and users are managed by https://github.com/GoogleCloudPlatform/compute-image-packages, which provides systemd services running on the machine. They are preinstalled on GCP-provided images, but if you ever need to create your own images the packages to install are documented here.

Actual behavior I ran the packer build in debug mode, checking on the builder VM the process as it went along.

The result is that libcurl3 is not available, but unfortunately google-compute-engine-oslogin was already removed so all future SSH connections fail.

Note: I only tested this on the Ubuntu 18.04 image, I don't know if it is also present on the 16.04 version.

thejoebourneidentity commented 4 years ago

Hey @nymous, thanks for the feedback, sorry you're having an issue building the image. For issues like this, please post over in the Actions community forum. There isn't really a change we'll make in this repo to support your scenario at this time. Perhaps others in the community have faced or solved your issue.

imjohnbo commented 4 years ago

👋 @nymous, did you find any workaround for this? Would not installing libcurl3 by erasing these lines work?

nymous commented 4 years ago

Yes that's exactly what we did, we skipped installing libcurl3 (but we forked an old version so these lines were different ^^)

maxim-lobanov commented 4 years ago

Reopened this issue to revisit it one more time

dmitry-shibanov commented 4 years ago

Hello, thank you for your response. We have investigated it one more time and unfortunately, we can’t remove libcurl3 from image because we worry of breaking changes (backward compatibility of these packages):

 mongodb-org-mongos : Depends: libcurl3 (>= 7.16.2) but it is not going to be installed.
 hhvm : Depends: libcurl3 (>= 7.28.0) but it is not going to be installed.
 php7.4-curl : Depends: libcurl3 (>= 7.44.0) but it is not going to be installed.
 php7.3-curl : Depends: libcurl3 (>= 7.44.0) but it is not going to be installed.
 php7.2-curl : Depends: libcurl3 (>= 7.44.0) but it is not going to be installed.
 mongodb-org-shell : Depends: libcurl3 (>= 7.16.2) but it is not going to be installed.
 php5.6-curl : Depends: libcurl3 (>= 7.18.0) but it is not going to be installed.
 php7.1-curl : Depends: libcurl3 (>= 7.44.0) but it is not going to be installed.
 php7.0-curl : Depends: libcurl3 (>= 7.18.0) but it is not going to be installed.
 mongodb-org-server : Depends: libcurl3 (>= 7.16.2) but it is not going to be installed.

We would like to avoid customers impact on Ubuntu 18.04 image. Btw, Ubuntu 20.04 doesn’t have libcurl3.