Files
agnos-builder/userspace/qtwayland
Andrei Radulescu 4a924daa5a Ubuntu 24.04 (#262)
* Ubuntu 24.04 (#188)

* separate out qtwayland5 compilation

* ubuntu 22.04

* temp build system image

* remove bionic deps

* temp packages update

* update armhf packages

* back to libstdc++6

* replaced remove dqt5-default meta package with actual depss

* fix for build libqmi crashing with /usr/bin/env: 'python': No such file or directory

* mapbox-gl-native gcc11 fix

* openpilot_dependencies.sh change

* ubuntu-base 24.04 daily current

* apt install meson because PEP 668

* temp g++-11 for mapbox-gl-native

* bump capnproto to 1.0.2

* temp build only agnos-compiler-mapbox-gl-native

* Fixes for compiling mapbox-gl-native

* Fixes for compiling ffmpeg

* Build main system image again

* pyopencl from git since no 2023.1.5 release since https://github.com/inducer/pyopencl/issues/705

* Try to fix checkinstall - no success

* apt capnproto & ffmpeg since can't figure out issue with checkinstall

* Commented removed services disable

* Ubuntu 24.04 currently has arm-none-eabi/12.2.1 but just use wildcard to go to first folder

* pyclean is missing ?!

* ubuntu-latest in tests workflow

* Updated README

* Reverted internal/package_ota.py changes

* rebuilt kernel

* poetry.lock update

* Simplified build_system pipeline

* headers for capnproto

* Fix typo

* Fix for checkinstall

* Reverted apt capnproto & ffmpeg

* Some cleaning in Dockerfile

* 24.04 libwayland-client

* libffi6:armhf deb file

* Updated qtwayland

* Revert "libffi6:armhf deb file"

This reverts commit bb9cb5da95.

* libffi.so.6.0.4

* qt5-qmake qtbase5-dev qtbase5-dev-tools already in qt5-default

* Removed qtwayland old files

* checkinstall temp fix

* QStandardPaths: wrong permissions on runtime directory /var/tmp/weston, 0770 instead of 0700

* temp permissions fix makes loading build spinner show

* temp build optimization

* 24.04 new libs

* build kernel don't use tools on aarch64/arm64

* updated boot image and ko files

* cleaning

* switch to release 24.04

* wip - downgrade qt and libwayland

* polkitd-pkla package to support polkit *.pkla

* fixed issue with old qt needing libssl 1.1.1f

* remove /.dockerenv file

* more cleaning

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* Ubuntu 24.04 branch fixes (#235)

* bump version

* /lib64 is now UsrMerged

* latest pip poetry; poetry.lock update

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* revert README

* [upload]

* disable failing nvmf-autoconnect.service

* disable failing networking.service

* [upload]

* no replacement for ondemand.service

* snapd.service is in snapd package we don't install

* nfs is using rpc-pipefs-generator now, when used

* checkinstall is still not fixed so remove TODO

* updated comment about usr merged lib64

* added checkinstall bug link

* removed not used libffi.so.6 and libwayland-client.so.0

* cleaned compile-qtwayland5.sh and removed 5.15 patch

* removed unused qt-comma 5.15 deb

* cleaned up custom debs for qt and libwayland and added a README

* fixed typo [upload]

* change version

* build-libwayland-deb.sh

* build-qt-deb.sh

* cleaned README

* [upload]

* fix libdl.so qtwayland build [upload]

* rebuild debs

* update libdl path [upload]

* added missing systemd-resolved

* ping capability

* disable some systemd services

* etc/resolv.conf link should not be needed

* Revert "etc/resolv.conf link should not be needed"

This reverts commit b627615a9e.

* Revert "ping capability"

This reverts commit 812ca357cf.

* set ping capability outside of container

* disable systemd services: console-setup and sfsconfig

Co-authored-by: Robin Reckmann <robin.reckmann@gmail.com>

* disabled more systemd services

* bump version [upload]

* update version

---------

Co-authored-by: Justin Newberry <justin@comma.ai>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
Co-authored-by: Robin Reckmann <robin.reckmann@gmail.com>
2024-08-13 16:46:55 -07:00
..
2024-08-13 16:46:55 -07:00
2024-08-13 16:46:55 -07:00
2024-08-13 16:46:55 -07:00
2024-08-13 16:46:55 -07:00
2024-08-13 16:46:55 -07:00
2024-08-13 16:46:55 -07:00
2024-08-13 16:46:55 -07:00

# 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 between
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 (libwayland-1.9.0-1.deb) - this includes all
libwayland packages in one package
- libwayland has a dependency (libffi6)
- libwayland-1.9.0-1.deb can be rebuilt with `build-libwayland-deb.sh`

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, since qt from focal has a lot of
dependencies not existing in Ubuntu 24.04 (noble)
- qt has two non-qt related dependencies (libicu66, libssl1.1)
- qt-5.12.8.deb can be rebuilt with `build-qt-deb.sh`

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 \
```