]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
packaging: unified package creation script, CI for Fedora
authorVasek Sraier <git@vakabus.cz>
Sun, 14 Nov 2021 00:48:56 +0000 (01:48 +0100)
committerAleš Mrázek <ales.mrazek@nic.cz>
Fri, 8 Apr 2022 14:17:53 +0000 (16:17 +0200)
manager/.gitlab-ci.yml
manager/scripts/make-debian-package.sh [deleted file]
manager/scripts/make-dev-archive.sh [deleted file]
manager/scripts/make-fedora-package.sh [deleted file]
manager/scripts/make-package.sh [new file with mode: 0644]

index 49702e371233627fb9cd825e057ae80b8e6f7389..9bf62b2a391077726007130ef39c8e51f53199e4 100644 (file)
@@ -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 (file)
index c78cb49..0000000
+++ /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 (executable)
index 45746b7..0000000
+++ /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 (file)
index f4bd354..0000000
+++ /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 (file)
index 0000000..d441a49
--- /dev/null
@@ -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
+
+
+
+
+
+