AppImage should be genarated on a "old" distribution to be sure that
libc versions are compatible.
However, we need at least ubuntu bionic to have QWebEngine packaged.
Let's prepare our AppDir directory in bionic and generate the appimage
in xenial.
By using a small launcher script, we check that libc versions are
compatible and else print a nice message instead of crash.
See https://github.com/probonopd/linuxdeployqt/issues/340
As we mount the kiwix-build (source) directory at run, the docker images
are independent of the source. This will greatly reduce the number of
docker images we have to create.
- Use the same structure than xenial dockerfile.
- Do not try to deploy in the docker image as the deployement is made on
the host.
- Use user `ci_builder` instead of `builder` as it make flatpak fail.
EOL for artful is july 2018.
It seems that now, apt repository has been shutdown for artful.
It is time to move to a more recent ubuntu version.
Bionic is the oldest release for which QtWebEngine has been packaged.
We already have a base archive per android_<arch> platform.
We don't need to create another archive that will mainly include the
content of the other archives.
First, we don't need to clone all the git repository, we only need a
sub-directory.
Secondly, as we the base_deps archives only archive the sub-directory,
subsequent run of kiwix-build in the ci will try to do a git update on
a non git repository.
By making ourselves a tar archive, we simplify the process.
The archive on download.kiwix.org has been made with :
`tar czf raspberrypy-tools.tar.gz raspberrypi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64`
`raspberrypi-tools` being a clone of `https://github.com/raspberrypi/tools`
commit sha is 5caa7046982f0539cf5380f94da04b31129ed521
TRAVIS_BUILD_DIR is the directory of kiwix-build.
So we must correctly set it in docker as the directory is not the
same.
We don't need the TRAVISCI_SSH_KEY now as we are looking in the right
directory.
linuxdeployqt now try to get the version of the appimage and include it
in the appimage name.
Let's specify the version and use the correct (new) appimage name.
As we are exporting libzim, we also need to export header files.
So now, we are using glob to get the list of file to add to the archive.
Fixopenzim/libzim#199