From 0bdac3ebb66d02099c4cfc0e53410e02bea25b85 Mon Sep 17 00:00:00 2001 From: Nicolas Vollmar Date: Tue, 24 Dec 2024 10:34:17 +0100 Subject: [PATCH 1/4] T6949: adds build for blackbox exporter deb package --- .../workflows/trigger_rebuild_packages.yml | 2 ++ .../blackbox_exporter/.gitignore | 1 + .../package-build/blackbox_exporter/build.py | 1 + .../blackbox_exporter/package.toml | 24 +++++++++++++++++++ 4 files changed, 28 insertions(+) create mode 100644 scripts/package-build/blackbox_exporter/.gitignore create mode 120000 scripts/package-build/blackbox_exporter/build.py create mode 100644 scripts/package-build/blackbox_exporter/package.toml diff --git a/.github/workflows/trigger_rebuild_packages.yml b/.github/workflows/trigger_rebuild_packages.yml index 33679a76a3..ffff020fb1 100644 --- a/.github/workflows/trigger_rebuild_packages.yml +++ b/.github/workflows/trigger_rebuild_packages.yml @@ -29,6 +29,8 @@ jobs: - 'scripts/package-build/amazon-ssm-agent/**' aws-gwlbtun: - 'scripts/package-build/aws-gwlbtun/**' + blackbox_exporter: + - 'scripts/package-build/blackbox_exporter/**' ddclient: - 'scripts/package-build/ddclient/**' dropbear: diff --git a/scripts/package-build/blackbox_exporter/.gitignore b/scripts/package-build/blackbox_exporter/.gitignore new file mode 100644 index 0000000000..435e791fa2 --- /dev/null +++ b/scripts/package-build/blackbox_exporter/.gitignore @@ -0,0 +1 @@ +/blackbox_exporter/ diff --git a/scripts/package-build/blackbox_exporter/build.py b/scripts/package-build/blackbox_exporter/build.py new file mode 120000 index 0000000000..3c76af73e2 --- /dev/null +++ b/scripts/package-build/blackbox_exporter/build.py @@ -0,0 +1 @@ +../build.py \ No newline at end of file diff --git a/scripts/package-build/blackbox_exporter/package.toml b/scripts/package-build/blackbox_exporter/package.toml new file mode 100644 index 0000000000..a6cab529ac --- /dev/null +++ b/scripts/package-build/blackbox_exporter/package.toml @@ -0,0 +1,24 @@ +[[packages]] +name = "blackbox_exporter" +commit_id = "v0.25.0" +scm_url = "https://github.com/prometheus/blackbox_exporter" + +build_cmd = """ + +# Create the install directory +mkdir -p \ + debian/usr/sbin \ + debian/etc/blackbox_exporter +go build + +# Move the blackbox_exporter binary and config to the install directory +mv blackbox_exporter debian/usr/sbin +mv blackbox.yml debian/etc/blackbox_exporter/config.yml + +# Build the Debian package +fpm --input-type dir --output-type deb --name blackbox-exporter \ + --version $(git describe --tags --always | cut -c2-) --deb-compression gz \ + --maintainer "VyOS Package Maintainers " \ + --description "Prometheus exporter for probing endpoints" \ + --license Apache-2.0 -C debian --package .. +""" From 00b623584ce2691cc55800cf05ab6f0f1fcf3fc8 Mon Sep 17 00:00:00 2001 From: Nicolas Vollmar Date: Wed, 25 Dec 2024 10:15:18 +0100 Subject: [PATCH 2/4] T6949: removes default config --- scripts/package-build/blackbox_exporter/package.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/package-build/blackbox_exporter/package.toml b/scripts/package-build/blackbox_exporter/package.toml index a6cab529ac..e3e60af9b0 100644 --- a/scripts/package-build/blackbox_exporter/package.toml +++ b/scripts/package-build/blackbox_exporter/package.toml @@ -13,7 +13,6 @@ go build # Move the blackbox_exporter binary and config to the install directory mv blackbox_exporter debian/usr/sbin -mv blackbox.yml debian/etc/blackbox_exporter/config.yml # Build the Debian package fpm --input-type dir --output-type deb --name blackbox-exporter \ From a59ebb131040ab3c4a6ad3106366d808d5f1c429 Mon Sep 17 00:00:00 2001 From: Nicolas Vollmar Date: Thu, 26 Dec 2024 12:07:40 +0100 Subject: [PATCH 3/4] T6949: switches to native debian package build --- .../package-build/blackbox_exporter/build.sh | 66 +++++++++++++++++++ .../blackbox_exporter/package.toml | 20 +----- 2 files changed, 67 insertions(+), 19 deletions(-) create mode 100755 scripts/package-build/blackbox_exporter/build.sh diff --git a/scripts/package-build/blackbox_exporter/build.sh b/scripts/package-build/blackbox_exporter/build.sh new file mode 100755 index 0000000000..761897ab61 --- /dev/null +++ b/scripts/package-build/blackbox_exporter/build.sh @@ -0,0 +1,66 @@ +#!/bin/sh +CWD=$(pwd) +set -e + +BUILD_ARCH=$(dpkg-architecture -qDEB_TARGET_ARCH) + +SRC="blackbox_exporter" +if [ ! -d ${SRC} ]; then + echo "Source directory does not exist, please 'git clone'" + exit 1 +fi + +cd $SRC + +mkdir -p debian + +echo "I: Create $SRC/debian/control" +cat < debian/control +Source: blackbox-exporter +Section: net +Priority: optional +Maintainer: VyOS Package Maintainers +Build-Depends: debhelper-compat (= 13) +Standards-Version: 4.5.1 +Homepage: https://github.com/prometheus/blackbox_exporter + +Package: blackbox-exporter +Architecture: ${BUILD_ARCH} +Depends: \${shlibs:Depends}, \${misc:Depends} +Description: The blackbox exporter allows blackbox probing of endpoints over HTTP, HTTPS, DNS, TCP, ICMP and gRPC. +EOF + +echo "I: Create $SRC/debian/changelog" +cat < debian/changelog +blackbox-exporter (0.25.0) UNRELEASED; urgency=medium + + * Upstream package + + -- VyOS Maintainers Thu, 26 Sep 2024 12:35:47 +0000 +EOF + +echo "I: Create $SRC/debian/rules" +cat < debian/rules +#!/usr/bin/make -f + +clean: + @# Do nothing + +build: + @# Do nothing + +binary: + mkdir -p debian/blackbox-exporter + mkdir -p debian/blackbox-exporter/usr/sbin + mkdir -p debian/blackbox-exporter/etc/blackbox_exporter + cp blackbox_exporter debian/blackbox-exporter/usr/sbin/blackbox_exporter + dh_gencontrol + dh_builddeb +EOF +chmod +x debian/rules + +echo "I: Build blackbox_exporter" +go build + +echo "I: Build Debian Package" +dpkg-buildpackage -uc -us -tc -b -d diff --git a/scripts/package-build/blackbox_exporter/package.toml b/scripts/package-build/blackbox_exporter/package.toml index e3e60af9b0..3cdc21b855 100644 --- a/scripts/package-build/blackbox_exporter/package.toml +++ b/scripts/package-build/blackbox_exporter/package.toml @@ -2,22 +2,4 @@ name = "blackbox_exporter" commit_id = "v0.25.0" scm_url = "https://github.com/prometheus/blackbox_exporter" - -build_cmd = """ - -# Create the install directory -mkdir -p \ - debian/usr/sbin \ - debian/etc/blackbox_exporter -go build - -# Move the blackbox_exporter binary and config to the install directory -mv blackbox_exporter debian/usr/sbin - -# Build the Debian package -fpm --input-type dir --output-type deb --name blackbox-exporter \ - --version $(git describe --tags --always | cut -c2-) --deb-compression gz \ - --maintainer "VyOS Package Maintainers " \ - --description "Prometheus exporter for probing endpoints" \ - --license Apache-2.0 -C debian --package .. -""" +build_cmd = "cd ..; y | ./build.sh" From 476d5cc1df73bebcb3c376e607bddf3e24a41df7 Mon Sep 17 00:00:00 2001 From: Nicolas Vollmar Date: Thu, 26 Dec 2024 14:28:14 +0100 Subject: [PATCH 4/4] T6949: move config to /run --- scripts/package-build/blackbox_exporter/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/package-build/blackbox_exporter/build.sh b/scripts/package-build/blackbox_exporter/build.sh index 761897ab61..39a082308f 100755 --- a/scripts/package-build/blackbox_exporter/build.sh +++ b/scripts/package-build/blackbox_exporter/build.sh @@ -52,7 +52,7 @@ build: binary: mkdir -p debian/blackbox-exporter mkdir -p debian/blackbox-exporter/usr/sbin - mkdir -p debian/blackbox-exporter/etc/blackbox_exporter + mkdir -p debian/blackbox-exporter/run/blackbox_exporter cp blackbox_exporter debian/blackbox-exporter/usr/sbin/blackbox_exporter dh_gencontrol dh_builddeb