rpmbuilder/rpms/cni-plugins/resources/nfpm.yaml
Ben Vincent 325b830952 refactor: standardize Dockerfile and build script structure
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.
2025-09-28 22:17:46 +10:00

138 lines
2.7 KiB
YAML

# nfpm.yaml
name: cni-plugins
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
section: default
priority: extra
description: "Some reference and example networking plugins, maintained by the CNI team."
maintainer: ContainerNetworking
homepage: https://github.com/containernetworking/plugins
license: Apache-2.0
disable_globbing: false
replaces:
- cni-plugins
# Files to include in the package
contents:
- src: /app/bandwidth
dst: /opt/cni/bin/bandwidth
file_info:
mode: 0755
owner: root
group: root
- src: /app/bridge
dst: /opt/cni/bin/bridge
file_info:
mode: 0755
owner: root
group: root
- src: /app/dhcp
dst: /opt/cni/bin/dhcp
file_info:
mode: 0755
owner: root
group: root
- src: /app/dummy
dst: /opt/cni/bin/dummy
file_info:
mode: 0755
owner: root
group: root
- src: /app/firewall
dst: /opt/cni/bin/firewall
file_info:
mode: 0755
owner: root
group: root
- src: /app/host-device
dst: /opt/cni/bin/host-device
file_info:
mode: 0755
owner: root
group: root
- src: /app/host-local
dst: /opt/cni/bin/host-local
file_info:
mode: 0755
owner: root
group: root
- src: /app/ipvlan
dst: /opt/cni/bin/ipvlan
file_info:
mode: 0755
owner: root
group: root
- src: /app/loopback
dst: /opt/cni/bin/loopback
file_info:
mode: 0755
owner: root
group: root
- src: /app/macvlan
dst: /opt/cni/bin/macvlan
file_info:
mode: 0755
owner: root
group: root
- src: /app/portmap
dst: /opt/cni/bin/portmap
file_info:
mode: 0755
owner: root
group: root
- src: /app/ptp
dst: /opt/cni/bin/ptp
file_info:
mode: 0755
owner: root
group: root
- src: /app/sbr
dst: /opt/cni/bin/sbr
file_info:
mode: 0755
owner: root
group: root
- src: /app/static
dst: /opt/cni/bin/static
file_info:
mode: 0755
owner: root
group: root
- src: /app/tap
dst: /opt/cni/bin/tap
file_info:
mode: 0755
owner: root
group: root
- src: /app/tuning
dst: /opt/cni/bin/tuning
file_info:
mode: 0755
owner: root
group: root
- src: /app/vlan
dst: /opt/cni/bin/vlan
file_info:
mode: 0755
owner: root
group: root
- src: /app/vrf
dst: /opt/cni/bin/vrf
file_info:
mode: 0755
owner: root
group: root
# Scripts to run during installation/removal (optional)
scripts:
preinstall: ./scripts/preinstall.sh
# postinstall: ./scripts/postinstall.sh
# preremove: ./scripts/preremove.sh
# postremove: ./scripts/postremove.sh