Skip to content
Snippets Groups Projects
package 2.18 KiB
Newer Older
akiraohgaki's avatar
akiraohgaki committed
#!/bin/bash
akiraohgaki's avatar
akiraohgaki committed

azubieta's avatar
azubieta committed
set -e

akiraohgaki's avatar
akiraohgaki committed
PKGNAME='ocs-manager'

akiraohgaki's avatar
akiraohgaki committed
PKGUSER='pkgbuilder'
akiraohgaki's avatar
akiraohgaki committed

akiraohgaki's avatar
akiraohgaki committed
PKGSCRIPT="${0}"
akiraohgaki's avatar
akiraohgaki committed

PROJDIR="$(cd "$(dirname "${0}")/../" && pwd)"

akiraohgaki's avatar
akiraohgaki committed
BUILDDIR="${PROJDIR}/build_${PKGNAME}"
akiraohgaki's avatar
akiraohgaki committed
appimage() { # docker-image: ubuntu:14.04
akiraohgaki's avatar
akiraohgaki committed
    install_build_deps_appimage
    add_pkguser
    su -c "export HOME=/home/${PKGUSER} && source /opt/qt59/bin/qt59-env.sh && "${PKGSCRIPT}" build_appimage" ${PKGUSER}
}

install_build_deps_appimage() {
azubieta's avatar
azubieta committed
    apt-get update -qq
    apt-get -y --force-yes install curl git
azubieta's avatar
azubieta committed
    #apt  install build-essential qt5-default libqt5websockets5-dev
akiraohgaki's avatar
akiraohgaki committed
    #apt -y install cmake automake libtool pkg-config wget desktop-file-utils libglib2.0-dev libcairo2-dev libssl-dev libcurl3 libcurl4-openssl-dev libxpm-dev
azubieta's avatar
azubieta committed
    apt-get -y --force-yes install libfontconfig1 libfreetype6 libssl1.0.0 zlib1g unzip p7zip unar
azubieta's avatar
azubieta committed
    apt-get -y --force-yes install software-properties-common
akiraohgaki's avatar
akiraohgaki committed
    add-apt-repository -y ppa:beineri/opt-qt597-trusty
akiraohgaki's avatar
akiraohgaki committed
    echo 'deb http://download.opensuse.org/repositories/home:/TheAssassin:/AppImageLibraries/xUbuntu_14.04/ /' > /etc/apt/sources.list.d/curl-httponly.list
    curl -fsSL https://download.opensuse.org/repositories/home:TheAssassin:AppImageLibraries/xUbuntu_14.04/Release.key | apt-key add -
azubieta's avatar
azubieta committed
    apt-get update -qq
azubieta's avatar
azubieta committed
    apt-get -y --force-yes install build-essential mesa-common-dev libglu1-mesa-dev qt59base qt59websockets
akiraohgaki's avatar
akiraohgaki committed
    curl -fsSL https://github.com/Kitware/CMake/releases/download/v3.13.3/cmake-3.13.3-Linux-x86_64.tar.gz | tar -xz --strip-components=1 -C /
azubieta's avatar
azubieta committed
    apt-get -y --force-yes install automake libtool pkg-config wget desktop-file-utils libglib2.0-dev libcairo2-dev libssl-dev libcurl3 libcurl4-openssl-dev libxpm-dev
akiraohgaki's avatar
akiraohgaki committed

akiraohgaki's avatar
akiraohgaki committed
build_appimage() {
    rm -rf "${BUILDDIR}"
    mkdir -p "${BUILDDIR}"
    export_srcarchive "${BUILDDIR}/${PKGNAME}.tar.gz"
    tar -xzf "${BUILDDIR}/${PKGNAME}.tar.gz" -C "${BUILDDIR}"
akiraohgaki's avatar
akiraohgaki committed
    cp "${PROJDIR}/pkg/appimage/appimagebuild" "${BUILDDIR}/${PKGNAME}"
akiraohgaki's avatar
akiraohgaki committed
    cd "${BUILDDIR}/${PKGNAME}"
    ./appimagebuild
akiraohgaki's avatar
akiraohgaki committed
add_pkguser() {
    useradd -m ${PKGUSER}
    chown -R ${PKGUSER} "${PROJDIR}"
}

akiraohgaki's avatar
akiraohgaki committed
export_srcarchive() {
akiraohgaki's avatar
akiraohgaki committed
    if [ "${1}" ]; then
akiraohgaki's avatar
akiraohgaki committed
        (cd "${PROJDIR}" && git archive --prefix="${PKGNAME}/" --output="${1}" HEAD)
akiraohgaki's avatar
akiraohgaki committed
    fi
akiraohgaki's avatar
akiraohgaki committed
}

akiraohgaki's avatar
akiraohgaki committed
if [ "${1}" ]; then
akiraohgaki's avatar
akiraohgaki committed
    ${1}
akiraohgaki's avatar
akiraohgaki committed
fi