Allow native builds of foreign achitectures using Docker/Podman foreign architecture support
Currently clicks can only be cross-compiled for foreign architectures. This is problematic for projects which are not prepared for cross-compilation and it often prevents the installation of foreign-architecture Debian packages which conflict with host-architecture packages, e.g. in case of filemanager-app an docviewer-app. Both Docker and Podman provide foreign-architecture support which allow to run foreign architecture containers via qemu user emulation oviating the need to cross-compile.
Examples
Dependency can't be installed for foreign arch
- File Manager App due to its dependency on
libsmbclient-dev
. There is a simple workaround in this case though - Camera Scanner due to its dependency OpenCV. There I solved it by compiling OpenCV along with the app, which also had advantages like being able to configure the build and link statically, resulting in a smaller click package
- Docviewer App due to its dependency on LibreOfficeKit which brings a huge dependency tree itself, compiling it with the package allows reducing dependencies a bit but cross-compiling is non-trivial