diff options
author | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2020-12-31 05:19:23 +0100 |
---|---|---|
committer | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2020-12-31 05:19:23 +0100 |
commit | b825738de2f33ffd893f4d1fd2c777d1a7436d32 (patch) | |
tree | f08b008e44efd4f6605e5ba8ee6badc2d12bc568 /build-aux/build-debian.sh | |
parent | 87092ed2493d3ac01b57100f15f9cfa1c4acdec7 (diff) | |
download | blogc-b825738de2f33ffd893f4d1fd2c777d1a7436d32.tar.gz blogc-b825738de2f33ffd893f4d1fd2c777d1a7436d32.tar.bz2 blogc-b825738de2f33ffd893f4d1fd2c777d1a7436d32.zip |
added debian packaging
Diffstat (limited to 'build-aux/build-debian.sh')
-rwxr-xr-x | build-aux/build-debian.sh | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/build-aux/build-debian.sh b/build-aux/build-debian.sh new file mode 100755 index 0000000..1f9aa40 --- /dev/null +++ b/build-aux/build-debian.sh @@ -0,0 +1,94 @@ +#!/bin/bash + +set -eo pipefail + +export DEBEMAIL="noreply@rafaelmartins.eng.br" +export DEBFULLNAME="Snapshot github-actions" + +download_pbuilder_chroots() { + local arch="amd64" + local os="$(uname -s | tr '[:upper:]' '[:lower:]')" + + local index="$(curl --silent https://distfiles.rgm.io/pbuilder-chroots/LATEST/)" + local archive="$(echo "${index}" | sed -n "s/.*\(pbuilder-chroots-${os}-${arch}-.*\)\.sha512.*/\1/p")" + local folder="$(echo "${index}" | sed -n "s/.*\(pbuilder-chroots-${os}-${arch}-.*\)\.tar.*\.sha512.*/\1/p")" + local p="$(echo "${folder}" | sed "s/pbuilder-chroots-${os}-${arch}-\(.*\)/pbuilder-chroots-\1/")" + + curl --fail --output "${archive}" "https://distfiles.rgm.io/pbuilder-chroots/${p}/${archive}" + curl --fail --output "${archive}.sha512" "https://distfiles.rgm.io/pbuilder-chroots/${p}/${archive}.sha512" + + sha512sum --check --status "${archive}.sha512" + + sudo rm -rf /tmp/pbuilder + fakeroot tar -xf "${archive}" -C /tmp +} + +create_reprepro_conf() { + for dist in "$@"; do + echo "Origin: blogc-snapshot" + echo "Label: blogc-snapshot" + echo "Codename: ${dist}" + echo "Architectures: amd64" + echo "Components: ${dist}" + echo "Description: Apt repository containing blogc snapshots" + echo + done +} + +download_pbuilder_chroots + +${MAKE_CMD:-make} dist-xz + +MY_PV="$(echo ${PV} | sed -e 's/-dirty//g' -e 's/-/./g')" +MY_P="${PN}_${MY_PV}" + +mv ${P}.tar.xz "../${MY_P}.orig.tar.xz" + +for dir in /tmp/pbuilder/*/base.cow; do + export DIST="$(basename "$(dirname "${dir}")" | cut -d- -f1)" + RES="${BUILDDIR}/deb/${DIST}" + mkdir -p "${RES}" + + rm -rf "../${P}" + tar -xf "../${MY_P}.orig.tar.xz" -C .. + cp -r ../debian "../${P}/" + + pushd "../${P}" > /dev/null + + # do not mess with changelog for releases, it should be done manually during version bump + if [[ ${PV} == *-* ]]; then + dch \ + --distribution "${DIST}" \ + --newversion "${MY_PV}-1" \ + "snapshot" + fi + + pdebuild \ + --pbuilder cowbuilder \ + --buildresult "${RES}" \ + -- --basepath "${dir}" + + popd > /dev/null + +done + +DISTS="$(ls -1 "${BUILDDIR}/deb")" + +mkdir -p "${BUILDDIR}/deb-repo/conf" +create_reprepro_conf ${DISTS} > "${BUILDDIR}/deb-repo/conf/distributions" + +pushd "${BUILDDIR}/deb-repo" > /dev/null + +for dist in ${DISTS}; do + for deb in "../deb/${dist}"/*.deb; do + reprepro includedeb "${dist}" "${deb}" + done +done + +popd > /dev/null + +tar \ + -cJf "blogc-deb-repo-${PV}.tar.xz" \ + --exclude ./deb-repo/conf \ + --exclude ./deb-repo/db \ + ./deb-repo |