c2da02cbbc11577b49eddb96740144ec4f24e872 markd Tue Jan 28 18:59:29 2025 -0800 add script to check that SEMI_STATIC userApp are linked with only the allowed shared libraries diff --git src/utils/qa/weeklybld/userAppsCompileInDocker src/utils/qa/weeklybld/userAppsCompileInDocker index 8cf4e11a257..e2b272c77bf 100755 --- src/utils/qa/weeklybld/userAppsCompileInDocker +++ src/utils/qa/weeklybld/userAppsCompileInDocker @@ -1,50 +1,53 @@ #!/bin/bash -e ### # Compile userApps in Docker. ### usage="compileUserAppsInDocker [--shell] builddir Runs as current and tree should be checked out by that user. The following directories are expected: builddir/kent/ - clean checkout of tree builddir/userApps/ - compiled output to this directory Options --shell - start bash shell rather than runb the build, for debugging " set -beEu -o pipefail shell="no" if [[ $# -ge 1 && "$1" = "--shell" ]]; then shell=yes shift fi if [[ $# -ne 1 ]]; then echo "Wrong # of args: ${usage}" >&2 exit 1 fi builddir="$1" -# location in VM MACHTYPE=$(uname -m) -vmbuilddir=/home/builddir -DESTDIR=${vmbuilddir}/userApps/ # must end in slash -BINDIR=linux.$MACHTYPE +BINDIR=linux.${MACHTYPE} +DESTDIR=${builddir}/userApps/ # must end in slash + +# location in VM +VM_BUILDDIR=/home/builddir +VM_DESTDIR=${VM_BUILDDIR}/userApps/ # must end in slash -makecmd="make -O -j 64 userApps SEMI_STATIC=yes DESTDIR=${DESTDIR} BINDIR=${BINDIR}" +makecmd="make -O -j 64 userApps SEMI_STATIC=yes DESTDIR=${VM_DESTDIR} BINDIR=${BINDIR}" if [[ ${shell} = "yes" ]] ; then cmd='bash' args="-it" echo "Starting shell for debugging" >&2 echo " make command that would be run is: ${makecmd}" >&2 else cmd=${makecmd} args="" fi -docker run --user=$(id -u):$(id --g) \ - --volume=$(realpath ${builddir}):${vmbuilddir} \ +docker run --user=$(id -u):$(id -g) \ + --volume=$(realpath ${builddir}):${VM_BUILDDIR} \ --workdir=/home/builddir/kent/src --rm=true ${args} \ user-apps-build ${cmd} +