antichris / ledobe

Build Ledger Live components in an isolated Docker environment with persistence between sessions.
Mozilla Public License 2.0
7 stars 4 forks source link

Version '245.4-4ubuntu3.7' for 'libudev-dev' was not found #2

Closed rroels closed 3 years ago

rroels commented 3 years ago

In the release 0.1.1 I get the following error in step 40/46:

DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -y --no-install-suggests --no-install-recommends cmake=3.16.3-1ubuntu1 g++=4:9.3.0-1ubuntu2 git=1:2.25.1-1ubuntu3.1 make=4.2.1-1.2 openjdk-8-jre-headless=8u292-b10-0ubuntu1~20.04 pkg-config=0.29.1-0ubuntu4 python-is-python3=3.8.2-4 libqt5websockets5-dev=5.12.8-0ubuntu1 libudev-dev=245.4-4ubuntu3.7 libusb-1.0-0-dev=2:1.0.23-2build1 qtbase5-dev=5.12.8+dfsg-0ubuntu1 bash-completion=1:2.10-1ubuntu1 gosu=1.10-1ubuntu0.20.04.1 openssh-client=1:8.2p1-4ubuntu0.2
Reading package lists...
Building dependency tree...
Reading state information...
E: Version '245.4-4ubuntu3.7' for 'libudev-dev' was not found

This happened on a fresh clone of the repo, on the first build. I did not have this error in older versions of ledobe.

Edit: I manually tried to revert back to udev version 245.4-4ubuntu3.6, but I still get the same error. Since this worked before in ledobe 0.1.0, it might be an issue on my side, or on the package repo side...

Edit2: 245.4-4ubuntu3.11 seems to work fine

antichris commented 3 years ago

Yeah, that's fairly normal, Ubuntu upstream has updated libudev-dev once again, and yes

diff --git a/docker/Dockerfile b/docker/Dockerfile
index 86afd18..be0ff58 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -123,7 +123,7 @@ RUN set -x \
     python-is-python3=3.8.2-4 \
 ##  Ledger Live build dependecies.
     libqt5websockets5-dev=5.12.8-0ubuntu1 \
-    libudev-dev=245.4-4ubuntu3.7 \
+    libudev-dev=245.4-4ubuntu3.11 \
     libusb-1.0-0-dev=2:1.0.23-2build1 \
     qtbase5-dev=5.12.8+dfsg-0ubuntu1 \
 ##  Convenience utils specific to this Docker environment.

is precisely how you would deal with it.

Evidently the systemd source package (from which libudev-dev is built) has received several security updates recently, thus forcing the version bump.

On one hand I am considering unpinning the package version, which would do away with the going and bumping it in the Dockerfile every time the upstream has a new security release, on the other hand that would be potentially detrimental to build reproducibility. I'm on the fence on this.

(Ubuntu – Details of source package systemd in focal-updates)
(Ubuntu – Details of package libudev-dev in focal-updates)