refactor: modernise RPM builder with Python tooling v2
Build / build-8 (pull_request) Successful in 8s
Build / build-9 (pull_request) Successful in 9s

- Migrate from legacy shell-based build system to modern Python tooling
- Update all metadata.yaml files to new schema with per-distro builds
- Standardise build scripts with curl -L, envsubst, and error handling
- Convert nfpm.yaml templates to use environment variable substitution
- Update Dockerfile to accept all package metadata as build arguments
- Modernise Makefile to use new Python build tool commands
- Update CI workflow to use tools/build instead of make
This commit is contained in:
2025-11-30 20:27:05 +11:00
parent b3ba980f9f
commit 182641132a
160 changed files with 2013 additions and 1089 deletions
+17 -8
View File
@@ -1,9 +1,18 @@
name: vlutils
release: 1
version: 1.26.0
---
arch: amd64
builds:
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: '1'
repository: [almalinux/el8]
version: 1.26.0
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: '1'
repository: [almalinux/el9]
version: 1.26.0
description: 'VictoriaLogs utilities: Fast and easy to use database for logs, which can efficiently handle terabytes of logs'
github: VictoriaMetrics/VictoriaLogs
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
homepage: https://github.com/VictoriaMetrics/VictoriaLogs
license: Apache-2.0 license
maintainer: VictoriaMetrics
name: vlutils
platform: linux
+7 -3
View File
@@ -1,9 +1,13 @@
#!/usr/bin/bash
set -e
# Download and extract vlutils
curl -o /app/vlutils-linux-amd64-v${PACKAGE_VERSION}.tar.gz \
curl -L -o /app/vlutils-linux-amd64-v${PACKAGE_VERSION}.tar.gz \
https://github.com/VictoriaMetrics/VictoriaLogs/releases/download/v${PACKAGE_VERSION}/vlutils-linux-amd64-v${PACKAGE_VERSION}.tar.gz
tar xf vlutils-linux-amd64-v${PACKAGE_VERSION}.tar.gz
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
# Process the nfpm.yaml template with environment variables
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
+7 -7
View File
@@ -1,17 +1,17 @@
# nfpm.yaml
name: vlutils
name: ${PACKAGE_NAME}
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
arch: ${PACKAGE_ARCH}
platform: ${PACKAGE_PLATFORM}
section: default
priority: extra
description: "VictoriaLogs utilities: Fast and easy to use database for logs, which can efficiently handle terabytes of logs "
description: "${PACKAGE_DESCRIPTION}"
maintainer: VictoriaMetrics
homepage: https://github.com/VictoriaMetrics/VictoriaLogs
license: Apache-2.0 license
maintainer: ${PACKAGE_MAINTAINER}
homepage: ${PACKAGE_HOMEPAGE}
license: ${PACKAGE_LICENSE}
disable_globbing: false