diff --git a/.travis.yml b/.travis.yml index e2d9723737d5b0367242f96ca2ec088a2b195cb1..36f0ca61d0665b32ebfdb11ec0c06b317a5beb57 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,5 +10,5 @@ branches: script: - mntdir='/mnt/ocs-manager' - - docker run --rm -v $(pwd):${mntdir} ubuntu:14.04 /bin/bash -c "sh ${mntdir}/scripts/build-docker.sh appimage" + - docker run --rm -v $(pwd):${mntdir} ubuntu:14.04 /bin/bash -c "sh ${mntdir}/scripts/package.sh ci_appimage" - cat transfer.log diff --git a/pkg/appimage/appimage.sh b/pkg/appimage/appimage.sh index 46c1d79eb7a2c3a8a87dac04af61eccb21cb0df3..cdd18c86900e05856b39e8c1a035fa770ef412c5 100644 --- a/pkg/appimage/appimage.sh +++ b/pkg/appimage/appimage.sh @@ -4,12 +4,12 @@ PKGNAME='ocs-manager' PKGVER='0.5.4' PKGREL='1' -curl -L -o linuxdeployqt "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" -chmod 755 linuxdeployqt -./linuxdeployqt --appimage-extract +curl -fsSL -o linuxdeployqt.AppImage https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage +chmod 755 linuxdeployqt.AppImage +./linuxdeployqt.AppImage --appimage-extract sh scripts/prepare.sh -qmake PREFIX="/usr" +qmake PREFIX=/usr make make INSTALL_ROOT="${PKGNAME}.AppDir" install diff --git a/scripts/build.sh b/scripts/build.sh deleted file mode 100644 index 36363d99ca74442c5152e8c9a27f0667205a7b3b..0000000000000000000000000000000000000000 --- a/scripts/build.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash - -PKGNAME='ocs-manager' - -BUILDTYPE='' -if [ "${1}" ]; then - BUILDTYPE="${1}" -fi - -PROJDIR="$(cd "$(dirname "${0}")/../" && pwd)" - -BUILDVER="$(cd "${PROJDIR}" && git describe --always)" - -BUILDDIR="${PROJDIR}/build_${PKGNAME}_${BUILDVER}_${BUILDTYPE}" - -SRCARCHIVE="${BUILDDIR}/${PKGNAME}.tar.gz" - -export_srcarchive() { - filepath="${1}" - $(cd "${PROJDIR}" && git archive --prefix="${PKGNAME}/" --output="${filepath}" HEAD) -} - -build_appimage() { - cd "${PROJDIR}" - mkdir -p "${BUILDDIR}" - export_srcarchive "${SRCARCHIVE}" - - tar -xzvf "${SRCARCHIVE}" -C "${BUILDDIR}" - cp "${PROJDIR}/pkg/appimage/appimage.sh" "${BUILDDIR}/${PKGNAME}" - cd "${BUILDDIR}/${PKGNAME}" - sh appimage.sh -} - -build_snap() { - echo 'Not implemented yet' -} - -build_flatpak() { - echo 'Not implemented yet' -} - -if [ "${BUILDTYPE}" = 'appimage' ]; then - build_appimage -elif [ "${BUILDTYPE}" = 'snap' ]; then - build_snap -elif [ "${BUILDTYPE}" = 'flatpak' ]; then - build_flatpak -else - echo "sh $(basename "${0}") [appimage|snap|flatpak]" - exit 1 -fi diff --git a/scripts/build-docker.sh b/scripts/package.sh similarity index 50% rename from scripts/build-docker.sh rename to scripts/package.sh index 4a1cac647c9da71e01ddbcec044e3d0425288536..c61261c85e68fcb86cb4dc1510ad7ebd87e54a5e 100644 --- a/scripts/build-docker.sh +++ b/scripts/package.sh @@ -2,32 +2,15 @@ PKGNAME='ocs-manager' -PKGUSER='pkgbuilder' +USER='pkgbuilder' -BUILDTYPE='' -if [ "${1}" ]; then - BUILDTYPE="${1}" -fi +SCRIPT="${0}" 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_appimage() { - # docker-image: ubuntu:14.04 +BUILDDIR="${PROJDIR}/build_${PKGNAME}" +ci_appimage() { # docker-image: ubuntu:14.04 apt update -qq apt -y install software-properties-common apt -y install curl git @@ -46,30 +29,40 @@ build_appimage() { curl -fsSL https://cmake.org/files/v3.10/cmake-3.10.0-rc5-Linux-x86_64.tar.gz | tar -xz --strip-components=1 -C / apt -y install libssl-dev libcurl3 libcurl3-gnutls libcurl4-gnutls-dev libxpm-dev - useradd -m ${PKGUSER} - export HOME="/home/${PKGUSER}" - chown -R ${PKGUSER}:${PKGUSER} "${PROJDIR}" + useradd -m ${USER} + chown -R ${USER} "${PROJDIR}" + + su -c "export HOME=/home/${USER} && source /opt/qt59/bin/qt59-env.sh && sh "${SCRIPT}" build_appimage" ${USER} - su -c "source /opt/qt59/bin/qt59-env.sh && sh "${BUILDSCRIPT}" ${BUILDTYPE}" ${PKGUSER} + transfer_file "$(find "${BUILDDIR}" -type f -name "${PKGNAME}*.AppImage")" +} - transfer_file "$(find "${PROJDIR}/build_"*${BUILDTYPE} -type f -name "${PKGNAME}*.AppImage")" +build_appimage() { + rm -rf "${BUILDDIR}" + mkdir -p "${BUILDDIR}" + export_srcarchive "${BUILDDIR}/${PKGNAME}.tar.gz" + tar -xzf "${BUILDDIR}/${PKGNAME}.tar.gz" -C "${BUILDDIR}" + cp "${PROJDIR}/pkg/appimage/appimage.sh" "${BUILDDIR}/${PKGNAME}" + cd "${BUILDDIR}/${PKGNAME}" + sh appimage.sh } -build_snap() { - echo 'Not implemented yet' +export_srcarchive() { + if [ "${1}" ]; then + $(cd "${PROJDIR}" && git archive --prefix="${PKGNAME}/" --output="${1}" HEAD) + fi } -build_flatpak() { - echo 'Not implemented yet' +transfer_file() { + if [ -f "${1}" ]; then + filename="$(basename "${1}")" + transferlog="${PROJDIR}/transfer.log" + echo "Uploading ${filename}" >> "${transferlog}" + curl -fsSL -T "${1}" "https://transfer.sh/${filename}" >> "${transferlog}" + echo '' >> "${transferlog}" + fi } -if [ "${BUILDTYPE}" = 'appimage' ]; then - build_appimage -elif [ "${BUILDTYPE}" = 'snap' ]; then - build_snap -elif [ "${BUILDTYPE}" = 'flatpak' ]; then - build_flatpak -else - echo "sh $(basename "${0}") [appimage|snap|flatpak]" - exit 1 +if [ "${1}" ]; then + ${1} fi diff --git a/scripts/scripts.pri b/scripts/scripts.pri index cffa148bd008ddfffec2f0f05d1057eb8496d54d..de6b1aab073ed7bf170e9b6c989264bf521db687 100644 --- a/scripts/scripts.pri +++ b/scripts/scripts.pri @@ -1,4 +1,3 @@ DISTFILES += \ - $${PWD}/build-docker.sh \ - $${PWD}/build.sh \ + $${PWD}/package.sh \ $${PWD}/prepare.sh