Files
rpmbuilder/Makefile
unkinben f408d3d705
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-almalinux9 Pipeline was successful
ci/woodpecker/pr/build-almalinux8 Pipeline was successful
feat: migrate to woodpeckerci
- update build tool for kubernetes auth
- update build tool to build packages without docker (native + buildah)
- add woodpecker pre-commit and build jobs
- add woodpecker deployment jobs
- cleanup gitea actions workflows
2026-03-07 17:11:20 +11:00

64 lines
1.9 KiB
Makefile

# Variables
ROOT_DIR := $(PWD)
BUILD_TOOL := $(ROOT_DIR)/tools/build
DISTRO ?= almalinux/el9
# Authentication variables (optional)
# VAULT_ROLE_ID - Use AppRole authentication if set
# VAULT_ROLE - Kubernetes role for service account authentication (default: rpmbuilder)
# Automatically find all packages with metadata.yaml
PACKAGES := $(shell find $(ROOT_DIR)/rpms -mindepth 1 -maxdepth 1 -type d -exec test -f {}/metadata.yaml \; -print | xargs -n1 basename | sort)
# Default target to build all packages
.PHONY: all list build clean
all: build-all
# List all available packages
list:
@echo "Available packages:"
@for package in $(PACKAGES); do \
echo " $$package"; \
done
# Build all packages using Python tool
build-all:
@echo "Building all packages using Python tooling for distro $(DISTRO)..."
$(BUILD_TOOL) build-all --distro $(DISTRO)
# Build all packages using native build (no Docker)
build-all-native:
@echo "Building all packages natively (no Docker) for distro $(DISTRO)..."
$(BUILD_TOOL) build-all --distro $(DISTRO) --native
# Build all packages using Buildah
build-all-buildah:
@echo "Building all packages using Buildah for distro $(DISTRO)..."
$(BUILD_TOOL) build-all --distro $(DISTRO) --buildah
# Build specific package using Python tool
.PHONY: $(PACKAGES)
$(PACKAGES):
@echo "Building package: $@ for distro $(DISTRO)"
$(BUILD_TOOL) build --distro $(DISTRO) $@
# Dry run - show what would be built without building
dry-run:
@echo "Dry run - showing what would be built for distro $(DISTRO):"
$(BUILD_TOOL) build-all --distro $(DISTRO) --dry-run
# Clean target
clean:
@echo "Cleaning build artifacts..."
rm -rf $(ROOT_DIR)/dist
# Update packages from GitHub releases
update:
@echo "Checking for package updates from GitHub releases..."
$(ROOT_DIR)/tools/update-gh --all
# Update specific package from GitHub
update-%:
@echo "Checking for updates for package: $*"
$(ROOT_DIR)/tools/update-gh --package $*