diff options
Diffstat (limited to 'scripts/make-distrofiles.sh')
-rwxr-xr-x | scripts/make-distrofiles.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/scripts/make-distrofiles.sh b/scripts/make-distrofiles.sh new file mode 100755 index 0000000..c1e0a7e --- /dev/null +++ b/scripts/make-distrofiles.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-3.0-or-later +set -o errexit -o nounset -o xtrace + +cd "$(dirname ${0})/.." +pkgdir="build_dist/meson-dist" + +package=knot-resolver + + +pushd ${pkgdir} +version=$(ls ${package}*.tar.xz | sed "s/${package}-\(.*\).tar.xz/\1/") +popd + +# Check version for invalid characters +if [[ $(echo "${version}" | grep '^[[:alnum:].]$') -ne 0 ]]; then + echo "Invalid version number: may contain only alphanumeric characters and dots" + exit 1 +fi + +# Fill in VERSION field in distribution specific files +files="distro/rpm/${package}.spec distro/deb/changelog distro/arch/PKGBUILD" +for file in ${files}; do + sed -i "s/__VERSION__/${version}/g" "${file}" +done + +# Rename archive to debian format +pkgname="${package}-${version}" +debname="${package}_${version}.orig" +cp "${pkgdir}/${pkgname}.tar.xz" "${debname}.tar.xz" + +# Prepare clean debian-specific directory +tar -xf "${debname}.tar.xz" +pushd "${pkgname}" > /dev/null +cp -arL ../distro/deb debian + +# Create debian archive and dsc +dpkg-source -b . +popd > /dev/null |