I've built custom docker image based on `ubuntu:21.04` for qt based android app development but encountered with weird bug when running `androiddeployqt` inside a pipelines.
java executable fails to test against execution permissions.
Here is log of pipeline execution:
Images used:
build : docker.io/siexp/docker-qt-android@sha256:d4752bfd6936dcfc8a9331c3a4b5099377a8f66a9ac23eb5dc527f569e1d06e1
+ JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
+ ls -la /usr/bin/java
lrwxrwxrwx. 1 root root 22 Jun 16 13:14 /usr/bin/java -> /etc/alternatives/java
+ ls -la /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
-rwxr-xr-x. 1 root root 14632 Apr 21 10:25 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
+ if [ ! -x "$JAVA_HOME/bin/java" ] ; then echo "not an exec $JAVA_HOME/bin/java" ; fi
not an exec /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
...
+ /opt/Qt/5.15.2/android/bin/androiddeployqt --input android_deployment_settings.json --output android-build --apk $BITBUCKET_CLONE_DIR/build/debug.apk --android-platform android-29 --gradle
...
ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/java-8-openjdk-amd64/jre
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Problem is that `/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java` is executable (I'm able to run it inside pipeline) however test for executable `-x` fails. I suppose it somehow related to selinux
P.S.
When I run pipeline commands inside docker locally everything works fine