diff --git a/scripts/build-docker.sh b/scripts/build-docker.sh new file mode 100644 index 0000000000000000000000000000000000000000..12573088cc001e0e9d72cf56cfabb26901a32def --- /dev/null +++ b/scripts/build-docker.sh @@ -0,0 +1,65 @@ +#!/bin/bash + +################################################################################ +# This is wrapper script for build.sh use from inside docker container +################################################################################ + +PKGNAME='ocs-manager' + +PKGUSER='pkgbuilder' + +BUILDTYPE='' +if [ "${1}" ]; then + BUILDTYPE="${1}" +fi + +PROJDIR="$(cd "$(dirname "${0}")/../" && pwd)" + +BUILDSCRIPT="${PROJDIR}/scripts/build.sh" + +TRANSFERLOG="${PROJDIR}/transfer.log" + +transfer_file() { + filepath="${1}" + if [ -f "${filepath}" ]; then + filename="$(basename "${filepath}")" + echo "Uploading ${filename}" >> "${TRANSFERLOG}" + curl -T "${filepath}" "https://transfer.sh/${filename}" >> "${TRANSFERLOG}" + echo "" >> "${TRANSFERLOG}" + fi +} + +build_snap() { + echo 'Not implemented yet' +} + +build_flatpak() { + echo 'Not implemented yet' +} + +build_appimage() { + # docker-image: ubuntu:16.04 + apt update -qq + apt -y install build-essential qt5-default libqt5websockets5-dev + apt -y install git + apt -y install curl + + useradd -m ${PKGUSER} + export HOME="/home/${PKGUSER}" + chown -R ${PKGUSER}:${PKGUSER} "${PROJDIR}" + + su -c "sh "${BUILDSCRIPT}" ${BUILDTYPE}" ${PKGUSER} + + transfer_file "$(find "${PROJDIR}/build_"*${BUILDTYPE} -type f -name "${PKGNAME}*.AppImage")" +} + +if [ "${BUILDTYPE}" = 'snap' ]; then + build_snap +elif [ "${BUILDTYPE}" = 'flatpak' ]; then + build_flatpak +elif [ "${BUILDTYPE}" = 'appimage' ]; then + build_appimage +else + echo "sh $(basename "${0}") [snap|flatpak|appimage]" + exit 1 +fi