Skip to content
Snippets Groups Projects
package.sh 2.19 KiB
Newer Older
  • Learn to ignore specific revisions
  • akiraohgaki's avatar
    akiraohgaki committed
    #!/bin/bash
    
    PKGNAME='ocs-manager'
    
    
    akiraohgaki's avatar
    akiraohgaki committed
    USER='pkgbuilder'
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    
    akiraohgaki's avatar
    akiraohgaki committed
    SCRIPT="${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
    ci_appimage() { # docker-image: ubuntu:14.04
    
    akiraohgaki's avatar
    akiraohgaki committed
        apt update -qq
        apt -y install curl git
        #apt -y install build-essential qt5-default libqt5websockets5-dev
    
    akiraohgaki's avatar
    akiraohgaki committed
        #apt -y install cmake libssl-dev libcurl3 libcurl3-gnutls libcurl4-gnutls-dev libxpm-dev
        apt -y install libssl1.0.0 zlib1g unzip p7zip
    
    akiraohgaki's avatar
    akiraohgaki committed
        apt -y install software-properties-common
    
    akiraohgaki's avatar
    akiraohgaki committed
        add-apt-repository -y ppa:beineri/opt-qt593-trusty
        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 -
    
    akiraohgaki's avatar
    akiraohgaki committed
        apt update -qq
    
    akiraohgaki's avatar
    akiraohgaki committed
        apt -y install build-essential libfontconfig1 mesa-common-dev libglu1-mesa-dev qt59base qt59websockets
    
    akiraohgaki's avatar
    akiraohgaki committed
        curl -fsSL https://cmake.org/files/v3.10/cmake-3.10.0-rc5-Linux-x86_64.tar.gz | tar -xz --strip-components=1 -C /
    
    akiraohgaki's avatar
    akiraohgaki committed
        apt -y install libssl-dev libcurl3 libcurl3-gnutls libcurl4-gnutls-dev libxpm-dev
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    
    akiraohgaki's avatar
    akiraohgaki committed
        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}
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    
    akiraohgaki's avatar
    akiraohgaki committed
        transfer_file "$(find "${BUILDDIR}" -type f -name "${PKGNAME}*.AppImage")"
    }
    
    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}"
        cp "${PROJDIR}/pkg/appimage/appimage.sh" "${BUILDDIR}/${PKGNAME}"
        cd "${BUILDDIR}/${PKGNAME}"
        sh appimage.sh
    
    akiraohgaki's avatar
    akiraohgaki committed
    export_srcarchive() {
        if [ "${1}" ]; then
            $(cd "${PROJDIR}" && git archive --prefix="${PKGNAME}/" --output="${1}" HEAD)
        fi
    
    akiraohgaki's avatar
    akiraohgaki committed
    }
    
    
    akiraohgaki's avatar
    akiraohgaki committed
    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
    
    akiraohgaki's avatar
    akiraohgaki committed
    }
    
    
    akiraohgaki's avatar
    akiraohgaki committed
    if [ "${1}" ]; then
        ${1}
    
    akiraohgaki's avatar
    akiraohgaki committed
    fi