This is part of a series of posts on compiling a custom version of Qt5 in order to develop for both amd64 and a Raspberry Pi.
A customer needs a procedure for a custom build of Qt5 5.15, the last LTS release of Qt 5.
They develop for industrial systems that are managed by an amd64 industrial computer. This computer is accessed either through an attached panel touch screen, or through touch screens driven by Raspberry Pi clients connected via an internal ethernet network.
The control interfaces use mostly a full screen Qt5 application. The customer relies heavily on Qt5, has a full Enterprise license, and needs to stay on top of the most recent releases, to make use of new features or bug fixes that have made it upstream since the last Debian stable was released.
This is a list of requirements for this job:
- Build
.deb
packages of the custom builds of Qt5, so they can be integrated with the existing provisioning infrastructure - Easily repackage hopefully at least new Qt minor versions
- Custom builds should be coinstallable with the standard Debian Qt5 packages, to be able to use existing Qt-based Debian packages without rebuilding them
- One needs to be able to develop custom widgets, and use them in the Form Editor in Qt Creator
- One needs to be able to load custom widgets via
.ui
files at runtime - One needs to develop amd64 Qt5 applications
- One needs to develop armhf Qt5 applications
- One needs to develop armhf Qt5 applications from Qt Creator, with the nice feature it has to cross-compile them on the fast amd64 development machine, and run and debug them directly on a network-connected device
- One needs to package the resulting amd64 or armhf binaries in
.deb
format, so they can be integrated with the existing provisioning infrastructure.
To make things easier, .deb
packages are for internal use only and do not
need to be compliant with Debian policy.
I estimate a difficulty level of: "Bring the One Ring to Mount Doom and remember to get milk on the way back".
The journey begins.
The resulting packaging is at https://github.com/Truelite/qt5custom.