refactor: modernise RPM builder with Python tooling v2 #71
@ -10,15 +10,17 @@ jobs:
|
|||||||
runs-on: almalinux-8
|
runs-on: almalinux-8
|
||||||
container:
|
container:
|
||||||
image: git.unkin.net/unkin/almalinux8-actionsdind:latest
|
image: git.unkin.net/unkin/almalinux8-actionsdind:latest
|
||||||
options: --privileged
|
options: "--privileged --volume /etc/pki/tls/vault:/etc/pki/tls/vault:ro"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Build Packages
|
- name: Build Packages
|
||||||
|
env:
|
||||||
|
VAULT_ROLE_ID: ${{ secrets.RPMBUILDER_VAULT_ROLEID }}
|
||||||
run: |
|
run: |
|
||||||
make all
|
./tools/build build-all --distro almalinux/el8
|
||||||
|
|
||||||
- name: Show RPMs
|
- name: Show RPMs
|
||||||
run: |
|
run: |
|
||||||
@ -34,15 +36,17 @@ jobs:
|
|||||||
runs-on: almalinux-8
|
runs-on: almalinux-8
|
||||||
container:
|
container:
|
||||||
image: git.unkin.net/unkin/almalinux9-actionsdind:latest
|
image: git.unkin.net/unkin/almalinux9-actionsdind:latest
|
||||||
options: --privileged
|
options: "--privileged --volume /etc/pki/tls/vault:/etc/pki/tls/vault:ro"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Build Packages
|
- name: Build Packages
|
||||||
|
env:
|
||||||
|
VAULT_ROLE_ID: ${{ secrets.RPMBUILDER_VAULT_ROLEID }}
|
||||||
run: |
|
run: |
|
||||||
make all
|
./tools/build build-all --distro almalinux/el9
|
||||||
|
|
||||||
- name: Show RPMs
|
- name: Show RPMs
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1,3 @@
|
|||||||
dist
|
dist
|
||||||
|
env
|
||||||
|
.claude
|
||||||
|
|||||||
34
Dockerfile
Normal file
34
Dockerfile
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
ARG BASE_IMAGE=git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
FROM ${BASE_IMAGE}
|
||||||
|
|
||||||
|
# Create output directory for RPMs
|
||||||
|
RUN mkdir -p /app/dist
|
||||||
|
|
||||||
|
# Set working directory
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Accept all package metadata as build arguments and set as environment variables
|
||||||
|
ARG PACKAGE_NAME
|
||||||
|
ENV PACKAGE_NAME=${PACKAGE_NAME}
|
||||||
|
ARG PACKAGE_VERSION
|
||||||
|
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
||||||
|
ARG PACKAGE_RELEASE
|
||||||
|
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
||||||
|
ARG PACKAGE_DESCRIPTION
|
||||||
|
ENV PACKAGE_DESCRIPTION=${PACKAGE_DESCRIPTION}
|
||||||
|
ARG PACKAGE_MAINTAINER
|
||||||
|
ENV PACKAGE_MAINTAINER=${PACKAGE_MAINTAINER}
|
||||||
|
ARG PACKAGE_HOMEPAGE
|
||||||
|
ENV PACKAGE_HOMEPAGE=${PACKAGE_HOMEPAGE}
|
||||||
|
ARG PACKAGE_LICENSE
|
||||||
|
ENV PACKAGE_LICENSE=${PACKAGE_LICENSE}
|
||||||
|
ARG PACKAGE_ARCH
|
||||||
|
ENV PACKAGE_ARCH=${PACKAGE_ARCH}
|
||||||
|
ARG PACKAGE_PLATFORM
|
||||||
|
ENV PACKAGE_PLATFORM=${PACKAGE_PLATFORM}
|
||||||
|
|
||||||
|
# Copy resources from the context into the container
|
||||||
|
COPY resources /app/resources
|
||||||
|
|
||||||
|
# Default command to build RPMs
|
||||||
|
CMD /app/resources/build.sh
|
||||||
71
Makefile
71
Makefile
@ -1,58 +1,49 @@
|
|||||||
# Variables
|
# Variables
|
||||||
ROOT_DIR := $(PWD)
|
ROOT_DIR := $(PWD)
|
||||||
RPMS_DIR := $(ROOT_DIR)/rpms
|
BUILD_TOOL := $(ROOT_DIR)/tools/build
|
||||||
REPO_OPTIONS := --disablerepo=* --enablerepo=unkin
|
DISTRO ?= almalinux/el9
|
||||||
|
|
||||||
# Automatically find all package/version directories
|
# Automatically find all packages with metadata.yaml
|
||||||
PACKAGES := $(shell find $(RPMS_DIR) -mindepth 2 -maxdepth 2 -type d | sed "s|$(RPMS_DIR)/||" | grep -Ev '(scripts|/resources)')
|
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 and versions
|
# Default target to build all packages
|
||||||
.PHONY: all list cache build clean
|
.PHONY: all list build clean
|
||||||
all: cache $(PACKAGES)
|
all: build-all
|
||||||
|
|
||||||
|
# List all available packages
|
||||||
list:
|
list:
|
||||||
@echo "Builds:"
|
@echo "Available packages:"
|
||||||
@for package in $(PACKAGES); do \
|
@for package in $(PACKAGES); do \
|
||||||
echo " '$$package'"; \
|
echo " $$package"; \
|
||||||
done
|
done
|
||||||
|
|
||||||
cache:
|
# Build all packages using Python tool
|
||||||
echo "Refreshing DNF cache..." && \
|
build-all:
|
||||||
dnf clean all && \
|
@echo "Building all packages using Python tooling for distro $(DISTRO)..."
|
||||||
dnf makecache
|
$(BUILD_TOOL) build-all --distro $(DISTRO)
|
||||||
|
|
||||||
# Build specific package/version
|
# Build specific package using Python tool
|
||||||
.PHONY: $(PACKAGES)
|
.PHONY: $(PACKAGES)
|
||||||
$(PACKAGES):
|
$(PACKAGES):
|
||||||
@PACKAGE_NAME=$(shell echo $(@) | cut -d/ -f1) && \
|
@echo "Building package: $@ for distro $(DISTRO)"
|
||||||
PACKAGE_VERSION=$(shell echo $(@) | cut -d/ -f2) && \
|
$(BUILD_TOOL) build --distro $(DISTRO) $@
|
||||||
echo "Starting build $$PACKAGE_NAME/$$PACKAGE_VERSION" && \
|
|
||||||
$(MAKE) build PACKAGE_NAME=$$PACKAGE_NAME PACKAGE_VERSION=$$PACKAGE_VERSION
|
|
||||||
|
|
||||||
# Build target
|
# Dry run - show what would be built without building
|
||||||
build:
|
dry-run:
|
||||||
@mkdir -p $(ROOT_DIR)/dist/$(PACKAGE_NAME)/
|
@echo "Dry run - showing what would be built for distro $(DISTRO):"
|
||||||
@cd $(RPMS_DIR)/$(PACKAGE_NAME) && \
|
$(BUILD_TOOL) build-all --distro $(DISTRO) --dry-run
|
||||||
export PACKAGE_RELEASE=$$(cat $(PACKAGE_VERSION)/release) && \
|
|
||||||
export PACKAGE_FULL_NAME=$(PACKAGE_NAME)-$(PACKAGE_VERSION)-$$PACKAGE_RELEASE && \
|
|
||||||
echo "Checking repos for $$PACKAGE_FULL_NAME" && \
|
|
||||||
if dnf info $$PACKAGE_FULL_NAME $(REPO_OPTIONS) > /dev/null 2>&1; then \
|
|
||||||
echo "Skipping build for $(PACKAGE_NAME) version $(PACKAGE_VERSION) (already exists in the repository)"; \
|
|
||||||
else \
|
|
||||||
echo "Building RPM for $(PACKAGE_NAME) version $(PACKAGE_VERSION)"; \
|
|
||||||
docker build \
|
|
||||||
--build-arg PACKAGE_VERSION=$(PACKAGE_VERSION) \
|
|
||||||
--build-arg PACKAGE_RELEASE=$${PACKAGE_RELEASE} \
|
|
||||||
-t $$(echo $(PACKAGE_NAME)-builder \
|
|
||||||
| tr '[:upper:]' '[:lower:]') . && \
|
|
||||||
docker create --name $(PACKAGE_NAME)-$(PACKAGE_VERSION)-builder \
|
|
||||||
$$(echo $(PACKAGE_NAME)-builder | tr '[:upper:]' '[:lower:]') && \
|
|
||||||
docker start -a $(PACKAGE_NAME)-$(PACKAGE_VERSION)-builder && \
|
|
||||||
docker cp $(PACKAGE_NAME)-$(PACKAGE_VERSION)-builder:/app/dist/. $(ROOT_DIR)/dist/$(PACKAGE_NAME)/ && \
|
|
||||||
docker rm $(PACKAGE_NAME)-$(PACKAGE_VERSION)-builder; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Clean target
|
# Clean target
|
||||||
clean:
|
clean:
|
||||||
@echo "Cleaning build artifacts..."
|
@echo "Cleaning build artifacts..."
|
||||||
rm -rf $(ROOT_DIR)/dist
|
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 $*
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy nfpm.yaml from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,8 +1,18 @@
|
|||||||
|
---
|
||||||
|
arch: amd64
|
||||||
|
builds:
|
||||||
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el8]
|
||||||
|
version: 0.2.12
|
||||||
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 0.2.12
|
||||||
|
description: A runner for Gitea based on act.
|
||||||
|
github: unknown/act_runner
|
||||||
|
homepage: https://gitea.com/gitea/act_runner
|
||||||
|
license: MIT
|
||||||
|
maintainer: Gitea
|
||||||
name: act_runner
|
name: act_runner
|
||||||
release: 1
|
platform: linux
|
||||||
version: 0.2.12
|
|
||||||
build:
|
|
||||||
- distro: el/8
|
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
|
||||||
- distro: el/9
|
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|||||||
@ -1,3 +1,10 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
curl --output act_runner-linux-amd64 https://dl.gitea.com/act_runner/${PACKAGE_VERSION}/act_runner-${PACKAGE_VERSION}-linux-amd64
|
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
set -e
|
||||||
|
|
||||||
|
curl -L --output act_runner-linux-amd64 https://dl.gitea.com/act_runner/${PACKAGE_VERSION}/act_runner-${PACKAGE_VERSION}-linux-amd64
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: act_runner
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "A runner for Gitea based on act."
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
maintainer: Gitea
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://gitea.com/gitea/act_runner
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: MIT
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,8 +1,18 @@
|
|||||||
|
---
|
||||||
|
arch: amd64
|
||||||
|
builds:
|
||||||
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el8]
|
||||||
|
version: 0.8.0
|
||||||
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 0.8.0
|
||||||
|
description: Prometheus exporter for BIND
|
||||||
|
github: prometheus-community/bind_exporter
|
||||||
|
homepage: https://github.com/prometheus-community/bind_exporter
|
||||||
|
license: Apache-2.0 license
|
||||||
|
maintainer: Prometheus
|
||||||
name: bind_exporter
|
name: bind_exporter
|
||||||
release: 1
|
platform: linux
|
||||||
version: 0.8.0
|
|
||||||
build:
|
|
||||||
- distro: el/8
|
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
|
||||||
- distro: el/9
|
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|||||||
@ -1,6 +1,10 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
# Download the required files
|
# Download the required files
|
||||||
curl --output - -L https://github.com/prometheus-community/bind_exporter/releases/download/v${PACKAGE_VERSION}/bind_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
|
curl --output - -L https://github.com/prometheus-community/bind_exporter/releases/download/v${PACKAGE_VERSION}/bind_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
|
||||||
|
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
# Process nfpm.yaml with envsubst
|
||||||
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: bind_exporter
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "Prometheus exporter for BIND"
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
maintainer: Prometheus
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://github.com/prometheus-community/bind_exporter
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: Apache-2.0 license
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,9 +1,18 @@
|
|||||||
name: boilerplate
|
---
|
||||||
release: 1
|
arch: amd64
|
||||||
version: 0.6.1
|
builds:
|
||||||
build:
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
- distro: el/8
|
release: '1'
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
repository: [almalinux/el8]
|
||||||
- distro: el/9
|
version: 0.6.1
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 0.6.1
|
||||||
|
description: Boilerplate is a tool for generating files and folders (boilerplate) from a set of templates.
|
||||||
github: gruntwork-io/boilerplate
|
github: gruntwork-io/boilerplate
|
||||||
|
homepage: https://github.com/gruntwork-io/boilerplate
|
||||||
|
license: MIT
|
||||||
|
maintainer: Gruntwork
|
||||||
|
name: boilerplate
|
||||||
|
platform: linux
|
||||||
|
|||||||
@ -1,7 +1,11 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
# Download the required files
|
# Download the required files
|
||||||
wget -O /app/boilerplate https://github.com/gruntwork-io/boilerplate/releases/download/v${PACKAGE_VERSION}/boilerplate_linux_amd64
|
wget -O /app/boilerplate https://github.com/gruntwork-io/boilerplate/releases/download/v${PACKAGE_VERSION}/boilerplate_linux_amd64
|
||||||
|
|
||||||
|
# Process nfpm.yaml with envsubst
|
||||||
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
# Build the RPM
|
# Build the RPM
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
@ -1,17 +1,17 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: boilerplate
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "Boilerplate is a tool for generating files and folders (boilerplate) from a set of templates."
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
|
|
||||||
maintainer: Gruntwork
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://github.com/gruntwork-io/boilerplate
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: MIT
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,9 +1,18 @@
|
|||||||
name: cni-plugins
|
---
|
||||||
release: 1
|
arch: amd64
|
||||||
version: 1.7.1
|
builds:
|
||||||
build:
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
- distro: el/8
|
release: '1'
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
repository: [almalinux/el8]
|
||||||
- distro: el/9
|
version: 1.7.1
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 1.7.1
|
||||||
|
description: Some reference and example networking plugins, maintained by the CNI team.
|
||||||
github: containernetworking/plugins
|
github: containernetworking/plugins
|
||||||
|
homepage: https://github.com/containernetworking/plugins
|
||||||
|
license: Apache-2.0
|
||||||
|
maintainer: ContainerNetworking
|
||||||
|
name: cni-plugins
|
||||||
|
platform: linux
|
||||||
|
|||||||
@ -1,8 +1,12 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
# Download and extract cni-plugins
|
# Download and extract cni-plugins
|
||||||
wget -O /app/cni-plugins-linux-amd64.tgz https://github.com/containernetworking/plugins/releases/download/v${PACKAGE_VERSION}/cni-plugins-linux-amd64-v${PACKAGE_VERSION}.tgz
|
wget -O /app/cni-plugins-linux-amd64.tgz https://github.com/containernetworking/plugins/releases/download/v${PACKAGE_VERSION}/cni-plugins-linux-amd64-v${PACKAGE_VERSION}.tgz
|
||||||
tar xf cni-plugins-linux-amd64.tgz
|
tar xf cni-plugins-linux-amd64.tgz
|
||||||
|
|
||||||
|
# Process nfpm.yaml with envsubst
|
||||||
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
# Build the RPM
|
# Build the RPM
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
@ -1,17 +1,17 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: cni-plugins
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "Some reference and example networking plugins, maintained by the CNI team."
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
|
|
||||||
maintainer: ContainerNetworking
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://github.com/containernetworking/plugins
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: Apache-2.0
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,8 +1,18 @@
|
|||||||
|
---
|
||||||
|
arch: amd64
|
||||||
|
builds:
|
||||||
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el8]
|
||||||
|
version: 1.7.1
|
||||||
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 1.7.1
|
||||||
|
description: Plugin for Consul on Kubernetes to allow configuring traffic redirection rules without escalated container privileges.
|
||||||
|
github: unknown/consul-cni
|
||||||
|
homepage: https://hashicorp.com
|
||||||
|
license: Mozilla Public License, version 2.0
|
||||||
|
maintainer: Hashicorp
|
||||||
name: consul-cni
|
name: consul-cni
|
||||||
release: 1
|
platform: linux
|
||||||
version: 1.7.1
|
|
||||||
build:
|
|
||||||
- distro: el/8
|
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
|
||||||
- distro: el/9
|
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|||||||
@ -1,11 +1,15 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
dnf install -y unzip
|
dnf install -y unzip
|
||||||
|
|
||||||
# Download and extract consul-cni
|
# Download and extract consul-cni
|
||||||
curl -o /app/consul-cni.zip https://releases.hashicorp.com/consul-cni/${PACKAGE_VERSION}/consul-cni_${PACKAGE_VERSION}_linux_amd64.zip
|
curl -L -o /app/consul-cni.zip https://releases.hashicorp.com/consul-cni/${PACKAGE_VERSION}/consul-cni_${PACKAGE_VERSION}_linux_amd64.zip
|
||||||
unzip consul-cni.zip
|
unzip consul-cni.zip
|
||||||
|
|
||||||
# Build the RPM
|
# Process the nfpm.yaml template with environment variables
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
@ -1,16 +1,16 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: consul-cni
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "Plugin for Consul on Kubernetes to allow configuring traffic redirection rules without escalated container privileges."
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
maintainer: Hashicorp
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://hashicorp.com
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: Mozilla Public License, version 2.0
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,8 +1,18 @@
|
|||||||
|
---
|
||||||
|
arch: amd64
|
||||||
|
builds:
|
||||||
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el8]
|
||||||
|
version: 1.21.1
|
||||||
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 1.21.1
|
||||||
|
description: Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
|
||||||
|
github: hashicorp/consul
|
||||||
|
homepage: https://github.com/hashicorp/consul
|
||||||
|
license: BUSL-1.1
|
||||||
|
maintainer: HashiCorp
|
||||||
name: consul
|
name: consul
|
||||||
release: 1
|
platform: linux
|
||||||
version: 1.21.1
|
|
||||||
build:
|
|
||||||
- distro: el/8
|
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
|
||||||
- distro: el/9
|
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|||||||
@ -1,11 +1,16 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
dnf install -y unzip
|
dnf install -y unzip
|
||||||
|
|
||||||
# Download and extract consul
|
# Download and extract consul
|
||||||
curl -o /app/consul.zip https://releases.hashicorp.com/consul/${PACKAGE_VERSION}/consul_${PACKAGE_VERSION}_linux_amd64.zip
|
curl -L -o /app/consul.zip https://releases.hashicorp.com/consul/${PACKAGE_VERSION}/consul_${PACKAGE_VERSION}_linux_amd64.zip
|
||||||
unzip consul.zip
|
unzip consul.zip
|
||||||
|
|
||||||
|
# Process the nfpm.yaml template with environment variables
|
||||||
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
# Build the RPM
|
# Build the RPM
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
@ -1,17 +1,17 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: consul
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure."
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
|
|
||||||
maintainer: HashiCorp
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://github.com/hashicorp/consul
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: BUSL-1.1
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
2
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,9 +1,18 @@
|
|||||||
name: etcd
|
---
|
||||||
release: 2
|
arch: amd64
|
||||||
version: 3.5.18
|
builds:
|
||||||
build:
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
- distro: el/8
|
release: '2'
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
repository: [almalinux/el8]
|
||||||
- distro: el/9
|
version: 3.5.18
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '2'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 3.5.18
|
||||||
|
description: A distributed, reliable key-value store for the most critical data of a distributed system.
|
||||||
github: etcd-io/etcd
|
github: etcd-io/etcd
|
||||||
|
homepage: https://etcd.io/
|
||||||
|
license: Apache-2.0
|
||||||
|
maintainer: https://etcd.io/
|
||||||
|
name: etcd
|
||||||
|
platform: linux
|
||||||
|
|||||||
@ -1,9 +1,13 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
# Download and extract etcd
|
# Download and extract etcd
|
||||||
wget -O /app/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz https://github.com/etcd-io/etcd/releases/download/v${PACKAGE_VERSION}/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz
|
wget -O /app/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz https://github.com/etcd-io/etcd/releases/download/v${PACKAGE_VERSION}/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz
|
||||||
tar xf /app/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz
|
tar xf /app/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz
|
||||||
mv /app/etcd-v${PACKAGE_VERSION}-linux-amd64/* /app/
|
mv /app/etcd-v${PACKAGE_VERSION}-linux-amd64/* /app/
|
||||||
|
|
||||||
|
# Process nfpm.yaml with envsubst
|
||||||
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
# Build the RPM
|
# Build the RPM
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
@ -1,17 +1,17 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: etcd
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "A distributed, reliable key-value store for the most critical data of a distributed system."
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
|
|
||||||
maintainer: https://etcd.io/
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://etcd.io/
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: Apache-2.0
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,8 +1,18 @@
|
|||||||
|
---
|
||||||
|
arch: amd64
|
||||||
|
builds:
|
||||||
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el8]
|
||||||
|
version: 2.2.0
|
||||||
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 2.2.0
|
||||||
|
description: AIO Prometheus Exporter for Sabnzbd, Bazarr, Prowlarr, Lidarr, Readarr, Radarr, and Sonarr
|
||||||
|
github: onedr0p/exportarr
|
||||||
|
homepage: https://github.com/onedr0p/exportarr
|
||||||
|
license: MIT license
|
||||||
|
maintainer: onedr0p
|
||||||
name: exportarr
|
name: exportarr
|
||||||
release: 1
|
platform: linux
|
||||||
version: 2.2.0
|
|
||||||
build:
|
|
||||||
- distro: el/8
|
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
|
||||||
- distro: el/9
|
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|||||||
@ -1,6 +1,10 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
# Download the required files
|
# Download the required files
|
||||||
curl --output - -L https://github.com/onedr0p/exportarr/releases/download/v${PACKAGE_VERSION}/exportarr_${PACKAGE_VERSION}_linux_amd64.tar.gz | tar --strip-components=1 -xzf -
|
curl --output - -L https://github.com/onedr0p/exportarr/releases/download/v${PACKAGE_VERSION}/exportarr_${PACKAGE_VERSION}_linux_amd64.tar.gz | tar --strip-components=1 -xzf -
|
||||||
|
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
# Process nfpm.yaml with envsubst
|
||||||
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: exportarr
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "AIO Prometheus Exporter for Sabnzbd, Bazarr, Prowlarr, Lidarr, Readarr, Radarr, and Sonarr"
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
maintainer: onedr0p
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://github.com/onedr0p/exportarr
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: MIT license
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy nfpm.yaml from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,9 +1,18 @@
|
|||||||
name: frr_exporter
|
---
|
||||||
release: 1
|
arch: amd64
|
||||||
version: 1.8.0
|
builds:
|
||||||
build:
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
- distro: el/8
|
release: '1'
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
repository: [almalinux/el8]
|
||||||
- distro: el/9
|
version: 1.8.0
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 1.8.0
|
||||||
|
description: Prometheus exporter for Free Range Routing
|
||||||
github: tynany/frr_exporter
|
github: tynany/frr_exporter
|
||||||
|
homepage: https://github.com/tynany/frr_exporter
|
||||||
|
license: MIT
|
||||||
|
maintainer: Prometheus
|
||||||
|
name: frr_exporter
|
||||||
|
platform: linux
|
||||||
|
|||||||
@ -1,3 +1,9 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
curl --output - -L https://github.com/tynany/frr_exporter/releases/download/v${PACKAGE_VERSION}/frr_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
|
curl --output - -L https://github.com/tynany/frr_exporter/releases/download/v${PACKAGE_VERSION}/frr_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
|
||||||
|
# Process nfpm.yaml with envsubst
|
||||||
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: frr_exporter
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "Prometheus exporter for Free Range Routing"
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
maintainer: Prometheus
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://github.com/tynany/frr_exporter
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: MIT
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,9 +1,18 @@
|
|||||||
name: g10k
|
---
|
||||||
release: 1
|
arch: amd64
|
||||||
version: 0.9.10
|
builds:
|
||||||
build:
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
- distro: el/8
|
release: '1'
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
repository: [almalinux/el8]
|
||||||
- distro: el/9
|
version: 0.9.10
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 0.9.10
|
||||||
|
description: An r10k fork written in Go, designed to work somwhat similar like puppetlabs/r10k.
|
||||||
github: xorpaul/g10k
|
github: xorpaul/g10k
|
||||||
|
homepage: https://github.com/xorpaul/g10k
|
||||||
|
license: Apache2.0
|
||||||
|
maintainer: xorpaul
|
||||||
|
name: g10k
|
||||||
|
platform: linux
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
# Download and extract g10k
|
# Download and extract g10k
|
||||||
wget -O /app/g10k.zip https://github.com/xorpaul/g10k/releases/download/v${PACKAGE_VERSION}/g10k-v${PACKAGE_VERSION}-linux-amd64.zip
|
wget -O /app/g10k.zip https://github.com/xorpaul/g10k/releases/download/v${PACKAGE_VERSION}/g10k-v${PACKAGE_VERSION}-linux-amd64.zip
|
||||||
@ -6,5 +7,8 @@ pushd /app
|
|||||||
unzip /app/g10k.zip
|
unzip /app/g10k.zip
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
# Process nfpm.yaml with envsubst
|
||||||
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
# Build the RPM
|
# Build the RPM
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
@ -1,17 +1,17 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: g10k
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "An r10k fork written in Go, designed to work somwhat similar like puppetlabs/r10k."
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
|
|
||||||
maintainer: xorpaul
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://github.com/xorpaul/g10k
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: Apache2.0
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,9 +1,18 @@
|
|||||||
|
---
|
||||||
|
arch: amd64
|
||||||
|
builds:
|
||||||
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el8]
|
||||||
|
version: 1.1.7
|
||||||
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 1.1.7
|
||||||
|
description: A declarative spec for deploying Helm charts. It lets you keep a directory of chart value files and maintain changes in version control; apply CI/CD to configuration changes; and periodically sync to avoid skew in environments.
|
||||||
|
github: helmfile/helmfile
|
||||||
|
homepage: https://github.com/helmfile/helmfile
|
||||||
|
license: MIT
|
||||||
|
maintainer: Helmfile Contributors
|
||||||
name: helmfile
|
name: helmfile
|
||||||
release: 1
|
platform: linux
|
||||||
version: 1.1.7
|
|
||||||
build:
|
|
||||||
- distro: el/8
|
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
|
||||||
- distro: el/9
|
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
github: helmfile/helmfile
|
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
# Download the required files
|
# Download the required files
|
||||||
curl -L -o /app/helmfile.tar.gz https://github.com/helmfile/helmfile/releases/download/v${PACKAGE_VERSION}/helmfile_${PACKAGE_VERSION}_linux_amd64.tar.gz
|
curl -L -o /app/helmfile.tar.gz https://github.com/helmfile/helmfile/releases/download/v${PACKAGE_VERSION}/helmfile_${PACKAGE_VERSION}_linux_amd64.tar.gz
|
||||||
|
|
||||||
@ -10,5 +12,7 @@ tar -xzf helmfile.tar.gz
|
|||||||
# Make the binary executable
|
# Make the binary executable
|
||||||
chmod +x /app/helmfile
|
chmod +x /app/helmfile
|
||||||
|
|
||||||
# Build the RPM
|
# Process the nfpm.yaml template with environment variables
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
@ -1,17 +1,17 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: helmfile
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "A declarative spec for deploying Helm charts. It lets you keep a directory of chart value files and maintain changes in version control; apply CI/CD to configuration changes; and periodically sync to avoid skew in environments."
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
|
|
||||||
maintainer: Helmfile Contributors
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://github.com/helmfile/helmfile
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: MIT
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,9 +1,13 @@
|
|||||||
name: incus
|
---
|
||||||
release: 1
|
builds:
|
||||||
version: 6.10.1
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
build:
|
release: '1'
|
||||||
- distro: el/8
|
repository: [almalinux/el8]
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
version: 6.10.1
|
||||||
- distro: el/9
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 6.10.1
|
||||||
|
description: incus package
|
||||||
github: lxc/incus
|
github: lxc/incus
|
||||||
|
name: incus
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
# Install build dependencies
|
# Install build dependencies
|
||||||
dnf install -y \
|
dnf install -y \
|
||||||
unzip \
|
unzip \
|
||||||
@ -24,14 +26,14 @@ dnf install -y \
|
|||||||
bash-completion \
|
bash-completion \
|
||||||
gettext \
|
gettext \
|
||||||
help2man \
|
help2man \
|
||||||
curl
|
curl-minimal
|
||||||
|
|
||||||
# Download and extract incus source
|
# Download and extract incus source
|
||||||
curl -o /app/incus.tar.gz https://github.com/lxc/incus/archive/refs/tags/v${PACKAGE_VERSION}.tar.gz
|
curl -L -o /app/incus.tar.gz https://github.com/lxc/incus/archive/refs/tags/v${PACKAGE_VERSION}.tar.gz
|
||||||
tar -C /app -xf incus.tar.gz
|
tar -C /app -xf incus.tar.gz
|
||||||
|
|
||||||
# Install specific Go version
|
# Install specific Go version
|
||||||
curl -O https://go.dev/dl/go1.24.1.linux-amd64.tar.gz
|
curl -L -O https://go.dev/dl/go1.24.1.linux-amd64.tar.gz
|
||||||
rm -rf /usr/local/go
|
rm -rf /usr/local/go
|
||||||
tar -C /usr/local -xzf go1.24.1.linux-amd64.tar.gz
|
tar -C /usr/local -xzf go1.24.1.linux-amd64.tar.gz
|
||||||
|
|
||||||
|
|||||||
@ -92,7 +92,7 @@ contents:
|
|||||||
|
|
||||||
# Scripts to run during installation/removal (optional)
|
# Scripts to run during installation/removal (optional)
|
||||||
scripts:
|
scripts:
|
||||||
postinstall: ./scripts/postinstall.sh
|
postinstall: ./resources/scripts/postinstall.sh
|
||||||
preremove: ./scripts/preremove.sh
|
preremove: ./resources/scripts/preremove.sh
|
||||||
postremove: ./scripts/postremove.sh
|
postremove: ./resources/scripts/postremove.sh
|
||||||
preinstall: ./scripts/preinstall.sh
|
preinstall: ./resources/scripts/preinstall.sh
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
3
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,8 +1,13 @@
|
|||||||
|
---
|
||||||
|
builds:
|
||||||
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
|
release: '3'
|
||||||
|
repository: [almalinux/el8]
|
||||||
|
version: 7.1.1
|
||||||
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '3'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 7.1.1
|
||||||
|
description: jellyfin-ffmpeg-bin package
|
||||||
|
github: unknown/jellyfin-ffmpeg-bin
|
||||||
name: jellyfin-ffmpeg-bin
|
name: jellyfin-ffmpeg-bin
|
||||||
release: 3
|
|
||||||
version: 7.1.1
|
|
||||||
build:
|
|
||||||
- distro: el/8
|
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
|
||||||
- distro: el/9
|
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,8 +1,13 @@
|
|||||||
|
---
|
||||||
|
builds:
|
||||||
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el8]
|
||||||
|
version: 10.10.7
|
||||||
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 10.10.7
|
||||||
|
description: jellyfin-server package
|
||||||
|
github: unknown/jellyfin-server
|
||||||
name: jellyfin-server
|
name: jellyfin-server
|
||||||
release: 1
|
|
||||||
version: 10.10.7
|
|
||||||
build:
|
|
||||||
- distro: el/8
|
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
|
||||||
- distro: el/9
|
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,8 +1,13 @@
|
|||||||
|
---
|
||||||
|
builds:
|
||||||
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el8]
|
||||||
|
version: 10.10.7
|
||||||
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 10.10.7
|
||||||
|
description: jellyfin-web package
|
||||||
|
github: unknown/jellyfin-web
|
||||||
name: jellyfin-web
|
name: jellyfin-web
|
||||||
release: 1
|
|
||||||
version: 10.10.7
|
|
||||||
build:
|
|
||||||
- distro: el/8
|
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
|
||||||
- distro: el/9
|
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,9 +1,18 @@
|
|||||||
|
---
|
||||||
|
arch: amd64
|
||||||
|
builds:
|
||||||
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el8]
|
||||||
|
version: 0.16.0
|
||||||
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 0.16.0
|
||||||
|
description: Jsonnet Language Server Protocol implementation for the Jsonnet templating language.
|
||||||
|
github: grafana/jsonnet-language-server
|
||||||
|
homepage: https://github.com/grafana/jsonnet-language-server
|
||||||
|
license: Apache-2.0
|
||||||
|
maintainer: Grafana Labs
|
||||||
name: jsonnet-language-server
|
name: jsonnet-language-server
|
||||||
release: 1
|
platform: linux
|
||||||
version: 0.16.0
|
|
||||||
build:
|
|
||||||
- distro: el/8
|
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
|
||||||
- distro: el/9
|
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
github: grafana/jsonnet-language-server
|
|
||||||
|
|||||||
@ -1,10 +1,14 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
# Download the required files
|
# Download the required files
|
||||||
curl -L -o /app/jsonnet-language-server https://github.com/grafana/jsonnet-language-server/releases/download/v${PACKAGE_VERSION}/jsonnet-language-server_${PACKAGE_VERSION}_linux_amd64
|
curl -L -o /app/jsonnet-language-server https://github.com/grafana/jsonnet-language-server/releases/download/v${PACKAGE_VERSION}/jsonnet-language-server_${PACKAGE_VERSION}_linux_amd64
|
||||||
|
|
||||||
# Make the binary executable
|
# Make the binary executable
|
||||||
chmod +x /app/jsonnet-language-server
|
chmod +x /app/jsonnet-language-server
|
||||||
|
|
||||||
# Build the RPM
|
# Process the nfpm.yaml template with environment variables
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
@ -1,17 +1,17 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: jsonnet-language-server
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "Jsonnet Language Server Protocol implementation for the Jsonnet templating language."
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
|
|
||||||
maintainer: Grafana Labs
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://github.com/grafana/jsonnet-language-server
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: Apache-2.0
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
# Start with the AlmaLinux 9 base image
|
|
||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
18
rpms/jsonnet-lint/metadata.yaml
Normal file
18
rpms/jsonnet-lint/metadata.yaml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
arch: amd64
|
||||||
|
builds:
|
||||||
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el8]
|
||||||
|
version: 0.21.0
|
||||||
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 0.21.0
|
||||||
|
description: Linter for Jsonnet
|
||||||
|
github: google/go-jsonnet
|
||||||
|
homepage: https://github.com/google/go-jsonnet
|
||||||
|
license: Apache-2.0
|
||||||
|
maintainer: Google
|
||||||
|
name: jsonnet-lint
|
||||||
|
platform: linux
|
||||||
@ -1,4 +1,5 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
# Install dependencies and Go 1.24
|
# Install dependencies and Go 1.24
|
||||||
dnf install -y wget git make
|
dnf install -y wget git make
|
||||||
@ -15,5 +16,8 @@ go version
|
|||||||
# Build jsonnet-lint binary
|
# Build jsonnet-lint binary
|
||||||
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnet-lint@v${PACKAGE_VERSION}
|
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnet-lint@v${PACKAGE_VERSION}
|
||||||
|
|
||||||
|
# Process nfpm.yaml with envsubst
|
||||||
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
# Build RPM package
|
# Build RPM package
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
@ -1,16 +1,16 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: jsonnet-lint
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "Linter for Jsonnet"
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
maintainer: Google
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://github.com/google/go-jsonnet
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: Apache-2.0
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
# Start with the AlmaLinux 9 base image
|
|
||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
18
rpms/jsonnet/metadata.yaml
Normal file
18
rpms/jsonnet/metadata.yaml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
arch: amd64
|
||||||
|
builds:
|
||||||
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el8]
|
||||||
|
version: 0.21.0
|
||||||
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 0.21.0
|
||||||
|
description: A data templating language
|
||||||
|
github: google/go-jsonnet
|
||||||
|
homepage: https://github.com/google/go-jsonnet
|
||||||
|
license: Apache-2.0
|
||||||
|
maintainer: Google
|
||||||
|
name: jsonnet
|
||||||
|
platform: linux
|
||||||
@ -1,4 +1,5 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
# Install dependencies and Go 1.24
|
# Install dependencies and Go 1.24
|
||||||
dnf install -y wget git make
|
dnf install -y wget git make
|
||||||
@ -16,5 +17,8 @@ go version
|
|||||||
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnet@v${PACKAGE_VERSION}
|
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnet@v${PACKAGE_VERSION}
|
||||||
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnetfmt@v${PACKAGE_VERSION}
|
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnetfmt@v${PACKAGE_VERSION}
|
||||||
|
|
||||||
|
# Process nfpm.yaml with envsubst
|
||||||
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
# Build RPM package
|
# Build RPM package
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
@ -1,16 +1,16 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: jsonnet
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "A data templating language"
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
maintainer: Google
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://github.com/google/go-jsonnet
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: Apache-2.0
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,9 +1,18 @@
|
|||||||
name: libfoundationdb
|
---
|
||||||
release: 1
|
arch: amd64
|
||||||
version: 7.3.71
|
builds:
|
||||||
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el8]
|
||||||
|
version: 7.3.71
|
||||||
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 7.3.71
|
||||||
|
description: FoundationDB client library - Shared library for FoundationDB applications
|
||||||
github: apple/foundationdb
|
github: apple/foundationdb
|
||||||
build:
|
homepage: https://github.com/apple/foundationdb
|
||||||
- distro: el/8
|
license: Apache-2.0
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
maintainer: FoundationDB Community
|
||||||
- distro: el/9
|
name: libfoundationdb
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
platform: linux
|
||||||
|
|||||||
@ -1,10 +1,14 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
# Download the required library
|
# Download the required library
|
||||||
curl -L -o /app/libfdb_c.so https://github.com/apple/foundationdb/releases/download/${PACKAGE_VERSION}/libfdb_c.x86_64.so
|
curl -L -o /app/libfdb_c.so https://github.com/apple/foundationdb/releases/download/${PACKAGE_VERSION}/libfdb_c.x86_64.so
|
||||||
|
|
||||||
# Make the library readable
|
# Make the library readable
|
||||||
chmod 755 /app/libfdb_c.so
|
chmod 755 /app/libfdb_c.so
|
||||||
|
|
||||||
# Build the RPM
|
# Process the nfpm.yaml template with environment variables
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
@ -1,17 +1,17 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: libfoundationdb
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "FoundationDB client library - Shared library for FoundationDB applications"
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
|
|
||||||
maintainer: FoundationDB Community
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://github.com/apple/foundationdb
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: Apache-2.0
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
@ -1,9 +1,18 @@
|
|||||||
name: nfpm
|
---
|
||||||
release: 1
|
arch: amd64
|
||||||
version: 2.41.1
|
builds:
|
||||||
build:
|
- image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||||
- distro: el/8
|
release: '1'
|
||||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
repository: [almalinux/el8]
|
||||||
- distro: el/9
|
version: 2.41.1
|
||||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
- image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||||
|
release: '1'
|
||||||
|
repository: [almalinux/el9]
|
||||||
|
version: 2.41.1
|
||||||
|
description: A zero dependencies, simple deb, rpm, apk, ipk, and arch linux packager written in Go.
|
||||||
github: goreleaser/nfpm
|
github: goreleaser/nfpm
|
||||||
|
homepage: https://nfpm.goreleaser.com/
|
||||||
|
license: MIT
|
||||||
|
maintainer: GoReleaser
|
||||||
|
name: nfpm
|
||||||
|
platform: linux
|
||||||
|
|||||||
@ -1,7 +1,11 @@
|
|||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
# Compile nfpm binary using Go
|
# Compile nfpm binary using Go
|
||||||
GOBIN=/app go install github.com/goreleaser/nfpm/v2/cmd/nfpm@v${PACKAGE_VERSION}
|
GOBIN=/app go install github.com/goreleaser/nfpm/v2/cmd/nfpm@v${PACKAGE_VERSION}
|
||||||
|
|
||||||
|
# Process nfpm.yaml with envsubst
|
||||||
|
envsubst < /app/resources/nfpm.yaml > /app/nfpm.yaml
|
||||||
|
|
||||||
# Build the RPM
|
# Build the RPM
|
||||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||||
@ -1,17 +1,17 @@
|
|||||||
# nfpm.yaml
|
# nfpm.yaml
|
||||||
|
|
||||||
name: nfpm
|
name: ${PACKAGE_NAME}
|
||||||
version: ${PACKAGE_VERSION}
|
version: ${PACKAGE_VERSION}
|
||||||
release: ${PACKAGE_RELEASE}
|
release: ${PACKAGE_RELEASE}
|
||||||
arch: amd64
|
arch: ${PACKAGE_ARCH}
|
||||||
platform: linux
|
platform: ${PACKAGE_PLATFORM}
|
||||||
section: default
|
section: default
|
||||||
priority: extra
|
priority: extra
|
||||||
description: "A zero dependencies, simple deb, rpm, apk, ipk, and arch linux packager written in Go."
|
description: "${PACKAGE_DESCRIPTION}"
|
||||||
|
|
||||||
maintainer: GoReleaser
|
maintainer: ${PACKAGE_MAINTAINER}
|
||||||
homepage: https://nfpm.goreleaser.com/
|
homepage: ${PACKAGE_HOMEPAGE}
|
||||||
license: MIT
|
license: ${PACKAGE_LICENSE}
|
||||||
|
|
||||||
disable_globbing: false
|
disable_globbing: false
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
|
||||||
|
|
||||||
# Create output directory for RPMs
|
|
||||||
RUN mkdir -p /app/dist
|
|
||||||
|
|
||||||
# Set working directory
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
ARG PACKAGE_RELEASE
|
|
||||||
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
|
|
||||||
ARG PACKAGE_VERSION
|
|
||||||
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
|
|
||||||
|
|
||||||
# Copy resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
|
|
||||||
# Default command to build RPMs
|
|
||||||
CMD /app/resources/build.sh
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user