#!/bin/bash PKGNAME='ocs-url' PKGUSER='pkgbuilder' PKGSCRIPT="${0}" PROJDIR="$(cd "$(dirname "${0}")/../" && pwd)" BUILDDIR="${PROJDIR}/build_${PKGNAME}" ubuntu_deb() { # docker-image: ubuntu:14.04 install_build_deps_ubuntu_deb add_pkguser su -c "export HOME=/home/${PKGUSER} && "${PKGSCRIPT}" build_ubuntu_deb" ${PKGUSER} } install_build_deps_ubuntu_deb() { apt update -qq apt -y install curl git apt -y install build-essential qt5-default libqt5svg5-dev qtdeclarative5-dev apt -y install devscripts debhelper fakeroot } build_ubuntu_deb() { rm -rf "${BUILDDIR}" mkdir -p "${BUILDDIR}" export_srcarchive "${BUILDDIR}/${PKGNAME}.tar.gz" tar -xzf "${BUILDDIR}/${PKGNAME}.tar.gz" -C "${BUILDDIR}" cp -r "${PROJDIR}/pkg/ubuntu/debian" "${BUILDDIR}/${PKGNAME}" cd "${BUILDDIR}/${PKGNAME}" debuild -uc -us -b } fedora_rpm() { # docker-image: fedora:20 install_build_deps_fedora_rpm add_pkguser su -c "export HOME=/home/${PKGUSER} && "${PKGSCRIPT}" build_fedora_rpm" ${PKGUSER} } install_build_deps_fedora_rpm() { yum -y install curl git yum -y install make automake gcc gcc-c++ libtool qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel yum -y install rpm-build } build_fedora_rpm() { rm -rf "${BUILDDIR}" mkdir -p "${BUILDDIR}" mkdir "${BUILDDIR}/SOURCES" mkdir "${BUILDDIR}/SPECS" export_srcarchive "${BUILDDIR}/SOURCES/${PKGNAME}.tar.gz" cp "${PROJDIR}/pkg/fedora/${PKGNAME}.spec" "${BUILDDIR}/SPECS" rpmbuild --define "_topdir ${BUILDDIR}" -bb "${BUILDDIR}/SPECS/${PKGNAME}.spec" } opensuse_rpm() { # docker-image: opensuse:42.3 install_build_deps_opensuse_rpm add_pkguser su -c "export HOME=/home/${PKGUSER} && "${PKGSCRIPT}" build_opensuse_rpm" ${PKGUSER} } install_build_deps_opensuse_rpm() { zypper --non-interactive refresh zypper --non-interactive install curl git zypper --non-interactive install make automake gcc gcc-c++ libtool libqt5-qtbase-devel libqt5-qtsvg-devel libqt5-qtdeclarative-devel zypper --non-interactive install rpm-build } build_opensuse_rpm() { rm -rf "${BUILDDIR}" mkdir -p "${BUILDDIR}" mkdir "${BUILDDIR}/SOURCES" mkdir "${BUILDDIR}/SPECS" export_srcarchive "${BUILDDIR}/SOURCES/${PKGNAME}.tar.gz" cp "${PROJDIR}/pkg/opensuse/${PKGNAME}.spec" "${BUILDDIR}/SPECS" rpmbuild --define "_topdir ${BUILDDIR}" -bb "${BUILDDIR}/SPECS/${PKGNAME}.spec" } archlinux_pkg() { # docker-image: base/archlinux:latest install_build_deps_archlinux_pkg add_pkguser su -c "export HOME=/home/${PKGUSER} && "${PKGSCRIPT}" build_archlinux_pkg" ${PKGUSER} } install_build_deps_archlinux_pkg() { pacman -Syu --noconfirm pacman -S --noconfirm curl git pacman -S --noconfirm base-devel qt5-base qt5-svg qt5-declarative qt5-quickcontrols pacman -S --noconfirm pacman-contrib } build_archlinux_pkg() { rm -rf "${BUILDDIR}" mkdir -p "${BUILDDIR}" export_srcarchive "${BUILDDIR}/${PKGNAME}.tar.gz" cp "${PROJDIR}/pkg/archlinux/PKGBUILD" "${BUILDDIR}" cd "${BUILDDIR}" updpkgsums makepkg -s } add_pkguser() { useradd -m ${PKGUSER} chown -R ${PKGUSER} "${PROJDIR}" } export_srcarchive() { if [ "${1}" ]; then (cd "${PROJDIR}" && git archive --prefix="${PKGNAME}/" --output="${1}" HEAD) fi } if [ "${1}" ]; then ${1} fi