Skip to content
Snippets Groups Projects
Commit 547ba949 authored by akiraohgaki's avatar akiraohgaki
Browse files

Rewrite packaging script

parent f3e04293
No related branches found
No related tags found
No related merge requests found
......@@ -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
#!/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 -xzf "${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
......@@ -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 -fsSL -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,29 +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}
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 "export HOME=/home/${PKGUSER} && 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
DISTFILES += \
$${PWD}/build-docker.sh \
$${PWD}/build.sh \
$${PWD}/package.sh \
$${PWD}/prepare.sh
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment