From 64f64e26bce40d66494aa81794b7f031d90b2563 Mon Sep 17 00:00:00 2001 From: Andrei Radulescu Date: Wed, 7 Aug 2024 14:34:19 +0300 Subject: [PATCH] cleaned up custom debs for qt and libwayland and added a README --- Dockerfile.agnos | 2 +- userspace/base_setup.sh | 6 -- userspace/openpilot_dependencies.sh | 25 ------ userspace/qtwayland/README | 79 +++++++++++++++++++ userspace/qtwayland/libffi6_3.2.1-8_arm64.deb | 3 + userspace/qtwayland/libwayland-1.9.0-1.deb | 4 +- userspace/qtwayland/qt-5.12.8.deb | 4 +- 7 files changed, 87 insertions(+), 36 deletions(-) create mode 100644 userspace/qtwayland/README create mode 100644 userspace/qtwayland/libffi6_3.2.1-8_arm64.deb diff --git a/Dockerfile.agnos b/Dockerfile.agnos index fa7c443..33d40f2 100644 --- a/Dockerfile.agnos +++ b/Dockerfile.agnos @@ -34,7 +34,7 @@ RUN apt-get -o Dpkg::Options::="--force-overwrite" install -yq \ /tmp/agnos/libwayland-1.9.0-1.deb \ /tmp/agnos/libicu66_66.1-2ubuntu2.1_arm64.deb \ /tmp/agnos/libssl1.1_1.1.1f-1ubuntu2.22_arm64.deb \ - libdouble-conversion3 + /tmp/agnos/libffi6_3.2.1-8_arm64.deb # ################## # # #### Compiler #### # diff --git a/userspace/base_setup.sh b/userspace/base_setup.sh index 6a21133..318b03d 100755 --- a/userspace/base_setup.sh +++ b/userspace/base_setup.sh @@ -196,9 +196,3 @@ apt-get install --no-install-recommends -yq \ hostapd \ libgtk2.0-dev \ libxml2:armhf \ - -# TODO: put these back when updating weston & removing old libwayland-1.9.0-1.deb - # libwayland-client0:armhf \ - # libwayland-cursor0:armhf \ - # libwayland-server0:armhf \ - # libwayland-dev \ diff --git a/userspace/openpilot_dependencies.sh b/userspace/openpilot_dependencies.sh index ca4b7fa..9c418dd 100755 --- a/userspace/openpilot_dependencies.sh +++ b/userspace/openpilot_dependencies.sh @@ -62,28 +62,3 @@ apt-get install --no-install-recommends -yq \ wget \ zlib1g-dev \ zstd - -# TODO: put these back when updating weston & removing old qt-5.12.8.deb - # libqt5opengl5-dev \ - # libqt5sql5-sqlite \ - # libqt5svg5-dev \ - # libqt5multimedia5-plugins \ - # qml-module-qtquick2 \ - # qtbase5-dev \ - # qtchooser \ - # qt5-qmake \ - # qtbase5-dev-tools \ - # qtbase5-private-dev \ - # qtdeclarative5-dev \ - # qtdeclarative5-private-dev \ - # qtlocation5-dev \ - # qtmultimedia5-dev \ - # qtpositioning5-dev \ - # qtwayland5 \ - -# in case of uncertainty, qt5-default was a metapackage for: - # qtbase5-dev - # qtchooser - # qt5-qmake - # qtbase5-dev-tools -# more info: https://packages.ubuntu.com/focal/qt5-default diff --git a/userspace/qtwayland/README b/userspace/qtwayland/README new file mode 100644 index 0000000..57abe58 --- /dev/null +++ b/userspace/qtwayland/README @@ -0,0 +1,79 @@ +# Ubuntu 24.04 + "old" weston + +The following need to work together in Ubuntu 24.04 (noble): +- "old" weston +- libwayland +- qtwayland +- qt + +The "old" weston is built with: +- libwayland-dev_1.9.0-1 +- libwayland-server_1.9.0-1 +- libwayland-client_1.9.0-1 +- libwayland-cursor_1.9.0-1 + +These are roughly from Xenial (16.04 - https://launchpad.net/ubuntu/xenial/arm64/libwayland-dev/1.9.0-1). + +In Ubuntu 20.04 (focal) even if libwayland is 1.18.0-1, the protocol betweeen +the server (1.9.0-1) and client (1.18.0-1) was still compatible. Unfortunately, +this is not the case anymore in Ubuntu 24.04 (noble), where libwayland 1.22.0 +is not compatible anymore with 1.9.0. + +Because of this: +- libwayland-*_1.9.0-1 packages can't be installed anymore from noble, but a +custom deb has been built manually (libwayland-1.9.0-1.deb) - this includes all +libwayland packages in one package - there is no source for this deb +- libwayland-*_1.9.0-1 packages has a dependency (libffi6) + +Also, Qt 5.15 from Ubuntu 24.04 (noble) doesn't compile with these old +dependencies, 5.12 being the last major being able to be compiled, so: +- a custom qt-5.12.8.deb has been built manually, since qt from focal has a lot +of dependencies not existing in Ubuntu 24.04 (noble) - there is no source for +this deb +- qt has two non-qt related dependencies (libicu66, libssl1.1) + +The dependencies for the two custom debs can be downloaded from Launchpad: +``` +curl -LO https://launchpad.net/ubuntu/+archive/primary/+files/libffi6_3.2.1-8_arm64.deb +curl -LO https://launchpad.net/ubuntu/+archive/primary/+files/libicu66_66.1-2ubuntu2.1_arm64.deb +curl -LO https://launchpad.net/ubuntu/+archive/primary/+files/libssl1.1_1.1.1f-1ubuntu2.22_arm64.deb +``` +\* libffi6_armhf is also needed, but already exits in libs32 + +# When updating weston & removing custom debs +After removing qt-5.12.8.deb add these back: +``` +libqt5opengl5-dev \ +libqt5sql5-sqlite \ +libqt5svg5-dev \ +libqt5multimedia5-plugins \ +qml-module-qtquick2 \ +qtbase5-dev \ +qtchooser \ +qt5-qmake \ +qtbase5-dev-tools \ +qtbase5-private-dev \ +qtdeclarative5-dev \ +qtdeclarative5-private-dev \ +qtlocation5-dev \ +qtmultimedia5-dev \ +qtpositioning5-dev \ +qtwayland5 \ +``` + +In case of uncertainty, qt5-default was a metapackage for: +``` +qtbase5-dev +qtchooser +qt5-qmake +qtbase5-dev-tools +``` +More info: https://packages.ubuntu.com/focal/qt5-default + +After removing libwayland-1.9.0-1.deb add these back: +``` +libwayland-client0:armhf \ +libwayland-cursor0:armhf \ +libwayland-server0:armhf \ +libwayland-dev \ +``` diff --git a/userspace/qtwayland/libffi6_3.2.1-8_arm64.deb b/userspace/qtwayland/libffi6_3.2.1-8_arm64.deb new file mode 100644 index 0000000..b906114 --- /dev/null +++ b/userspace/qtwayland/libffi6_3.2.1-8_arm64.deb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0f8d2b7613167317ec4f9bf65125a2e13c5f357e5acb5cc1fa9ed488c3c88b0 +size 17016 diff --git a/userspace/qtwayland/libwayland-1.9.0-1.deb b/userspace/qtwayland/libwayland-1.9.0-1.deb index b9dad69..823fc32 100644 --- a/userspace/qtwayland/libwayland-1.9.0-1.deb +++ b/userspace/qtwayland/libwayland-1.9.0-1.deb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df6fa74cee8c567b9a4129bbeaad5ef13c84da50e6dcc899fb34bd93a6f42b6d -size 162120 +oid sha256:042c68c537e51a39c7ccb829a3ccf5f435adb775e7af0f0d0085de121c8ea53c +size 135452 diff --git a/userspace/qtwayland/qt-5.12.8.deb b/userspace/qtwayland/qt-5.12.8.deb index 4412c82..0af1d9f 100644 --- a/userspace/qtwayland/qt-5.12.8.deb +++ b/userspace/qtwayland/qt-5.12.8.deb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9860a4cae4ebc135fe1face36294285e89a42bd05e8199164f45f6ed7f9c621a -size 21413360 +oid sha256:56532303275b8aefddaf72ddbc1c63195676d46ac22e1d49a888b65e181d638b +size 21165122