From: Vasek Sraier Date: Sun, 14 Nov 2021 00:48:56 +0000 (+0100) Subject: packaging: unified package creation script, CI for Fedora X-Git-Tag: v6.0.0a1~79 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aa834067c1a21bd1545fcbf5f0b3bb2a29501e1b;p=thirdparty%2Fknot-resolver.git packaging: unified package creation script, CI for Fedora --- diff --git a/manager/.gitlab-ci.yml b/manager/.gitlab-ci.yml index 49702e371..9bf62b2a3 100644 --- a/manager/.gitlab-ci.yml +++ b/manager/.gitlab-ci.yml @@ -40,15 +40,28 @@ integration: - poe integration -package-debian: +package-debian-10: when: manual stage: packaging image: registry.nic.cz/labs/lxc-gitlab-runner/debian-10 before_script: [] script: - - bash scripts/make-debian-package.sh + - bash scripts/make-package.sh artifacts: paths: - - knot-resolver/pkg/pkgs/debian-10 - - knot-resolver/pkg/srcpkgs/debian-10 + - knot-resolver/pkg/pkgs/ + - knot-resolver/pkg/srcpkgs/ + expire_in: 1 week + +package-fedora-34: + when: manual + stage: packaging + image: registry.nic.cz/labs/lxc-gitlab-runner/fedora-34 + before_script: [] + script: + - bash scripts/make-package.sh + artifacts: + paths: + - knot-resolver/pkg/pkgs/ + - knot-resolver/pkg/srcpkgs/ expire_in: 1 week diff --git a/manager/scripts/make-debian-package.sh b/manager/scripts/make-debian-package.sh deleted file mode 100644 index c78cb4955..000000000 --- a/manager/scripts/make-debian-package.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -set -o errexit -set -o nounset - -export DEBIAN_FRONTEND=noninteractive - -# upgrade system to latest -apt-get update -qqq -apt-get upgrade -y -qqq - -# configure repository with Knot Resolver dependencies -apt-get -y -qqq install apt-transport-https lsb-release ca-certificates wget curl gnupg2 -sh -c 'echo "deb http://download.opensuse.org/repositories/home:/CZ-NIC:/knot-resolver-build/Debian_10/ /" > /etc/apt/sources.list.d/home:CZ-NIC:knot-resolver-build.list' -sh -c 'curl -fsSL https://download.opensuse.org/repositories/home:CZ-NIC:knot-resolver-build/Debian_10/Release.key | gpg --dearmor > /etc/apt/trusted.gpg.d/home_CZ-NIC_knot-resolver-build.gpg' -apt-get update -qqq - -# apkg -apt-get install -y python3-pip -pip3 install apkg - -# prepare the repo -git clone https://gitlab.nic.cz/knot/knot-resolver -cd knot-resolver -git config --global user.email "ci@knot-resolver" -git config --global user.name "GitLab CI" -git checkout manager-pkg -git rebase origin/manager-integration -git submodule update --init --recursive - -# install meson, because its not installed for some reason -apt-get install -y meson - -# build the package -apkg system-setup -apkg build -b -apkg srcpkg - - - - - - diff --git a/manager/scripts/make-dev-archive.sh b/manager/scripts/make-dev-archive.sh deleted file mode 100755 index 45746b701..000000000 --- a/manager/scripts/make-dev-archive.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -# create dev archive from current repo HEAD - -# ensure consistent behaviour -src_dir="$(dirname "$(realpath "$0")")" -source $src_dir/_env.sh - - -set -o xtrace - -# create archive using poetry and get its name -ARNAME=$(poetry build -f sdist | sed -n 's/\s\+- Built \(knot-resolver-manager-.*\.tar\.gz\)/\1/p') -ARPATH="dist/$ARNAME" - -# print path to generated archive for apkg -echo "$ARPATH" diff --git a/manager/scripts/make-fedora-package.sh b/manager/scripts/make-fedora-package.sh deleted file mode 100644 index f4bd3544a..000000000 --- a/manager/scripts/make-fedora-package.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -set -o errexit -set -o nounset - -# upgrade system to latest -dnf upgrade -y - -# apkg -dnf install -y python3-pip -pip3 install apkg - -# prepare the repo -git clone https://gitlab.nic.cz/knot/knot-resolver -cd knot-resolver -git config --global user.email "ci@knot-resolver" -git config --global user.name "GitLab CI" -git checkout manager-pkg -git rebase origin/manager-integration -git submodule update --init --recursive - -# build the package -apkg system-setup -apkg build -b -apkg srcpkg diff --git a/manager/scripts/make-package.sh b/manager/scripts/make-package.sh new file mode 100644 index 000000000..d441a4995 --- /dev/null +++ b/manager/scripts/make-package.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +set -o errexit +set -o nounset + +function init_debian { + export DEBIAN_FRONTEND=noninteractive + + # upgrade system to latest + apt-get update -qqq + apt-get upgrade -y -qqq + + # configure repository with Knot Resolver dependencies + apt-get -y -qqq install apt-transport-https lsb-release ca-certificates wget curl gnupg2 + sh -c 'echo "deb http://download.opensuse.org/repositories/home:/CZ-NIC:/knot-resolver-build/Debian_10/ /" > /etc/apt/sources.list.d/home:CZ-NIC:knot-resolver-build.list' + sh -c 'curl -fsSL https://download.opensuse.org/repositories/home:CZ-NIC:knot-resolver-build/Debian_10/Release.key | gpg --dearmor > /etc/apt/trusted.gpg.d/home_CZ-NIC_knot-resolver-build.gpg' + apt-get update -qqq + + # apkg + apt-get install -y python3-pip meson git +} + +function init_fedora { + # upgrade system to latest and install pip + dnf upgrade -y + dnf install -y python3-pip +} + + +# system setup +if command -v dnf; then + init_fedora +elif command -v apt-get; then + init_debian +else + echo "System not supported." + exit 1 +fi + +# install apkg +pip3 install apkg + +# prepare the repo +git clone https://gitlab.nic.cz/knot/knot-resolver +cd knot-resolver +git config --global user.email "ci@knot-resolver" +git config --global user.name "GitLab CI" +git checkout manager-integration +git submodule update --init --recursive + +# build the package +apkg system-setup +apkg build -b +apkg srcpkg + + + + + +