Standardize all RPM packages to use a consistent build pattern: - Simple Dockerfiles that copy resources/ and call build.sh - Move all build logic to resources/build.sh scripts - Consolidate nfpm.yaml and scripts into resources/ directory - Update base image to almalinux9-rpmbuilder for consistency Changes: - Refactored 37 packages total (simple + complex) - HashiCorp tools: consul, vault, terraform, terragrunt, packer, nomad, nomad-autoscaler - Development tools: g10k, etcd, nfpm, ruff, uv, unrar, nzbget, boilerplate - VictoriaMetrics: vlutils, vmutils, victoria-logs - Network tools: cni-plugins, consul-cni, unkin-ca-certificates - Jellyfin suite: jellyfin-web, jellyfin-server, jellyfin-ffmpeg-bin - System packages: puppet-initial, incus This standardization improves maintainability and consistency across the entire RPM build system while preserving all existing functionality.
48 lines
825 B
YAML
48 lines
825 B
YAML
# nfpm.yaml
|
|
|
|
name: etcd
|
|
version: ${PACKAGE_VERSION}
|
|
release: ${PACKAGE_RELEASE}
|
|
arch: amd64
|
|
platform: linux
|
|
section: default
|
|
priority: extra
|
|
description: "A distributed, reliable key-value store for the most critical data of a distributed system."
|
|
|
|
maintainer: https://etcd.io/
|
|
homepage: https://etcd.io/
|
|
license: Apache-2.0
|
|
|
|
disable_globbing: false
|
|
|
|
replaces:
|
|
- etcd
|
|
- etcdctl
|
|
- etcdutl
|
|
|
|
provides:
|
|
- etcd
|
|
- etcdctl
|
|
- etcdutl
|
|
|
|
# Files to include in the package
|
|
contents:
|
|
- src: /app/etcd
|
|
dst: /usr/bin/etcd
|
|
file_info:
|
|
mode: 0755
|
|
owner: root
|
|
group: root
|
|
- src: /app/etcdctl
|
|
dst: /usr/bin/etcdctl
|
|
file_info:
|
|
mode: 0755
|
|
owner: root
|
|
group: root
|
|
- src: /app/etcdutl
|
|
dst: /usr/bin/etcdutl
|
|
file_info:
|
|
mode: 0755
|
|
owner: root
|
|
group: root
|