Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b3e17befaf |
@@ -9,18 +9,16 @@ jobs:
|
||||
build-8:
|
||||
runs-on: almalinux-8
|
||||
container:
|
||||
image: git.unkin.net/unkin/almalinux8-actionsdind:latest
|
||||
options: "--privileged --volume /etc/pki/tls/vault:/etc/pki/tls/vault:ro"
|
||||
image: git.query.consul/unkin/almalinux8-actionsdind:latest
|
||||
options: --privileged
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Build Packages
|
||||
env:
|
||||
VAULT_ROLE_ID: ${{ secrets.RPMBUILDER_VAULT_ROLEID }}
|
||||
run: |
|
||||
make all DISTRO=el/8
|
||||
make all
|
||||
|
||||
- name: Show RPMs
|
||||
run: |
|
||||
@@ -35,18 +33,16 @@ jobs:
|
||||
build-9:
|
||||
runs-on: almalinux-8
|
||||
container:
|
||||
image: git.unkin.net/unkin/almalinux9-actionsdind:latest
|
||||
options: "--privileged --volume /etc/pki/tls/vault:/etc/pki/tls/vault:ro"
|
||||
image: git.query.consul/unkin/almalinux9-actionsdind:latest
|
||||
options: --privileged
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Build Packages
|
||||
env:
|
||||
VAULT_ROLE_ID: ${{ secrets.RPMBUILDER_VAULT_ROLEID }}
|
||||
run: |
|
||||
make all DISTRO=el/9
|
||||
make all
|
||||
|
||||
- name: Show RPMs
|
||||
run: |
|
||||
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
deploy-8:
|
||||
runs-on: almalinux-8
|
||||
container:
|
||||
image: git.unkin.net/unkin/almalinux8-actionsdind:latest
|
||||
image: git.query.consul/unkin/almalinux8-actionsdind:latest
|
||||
options: --privileged
|
||||
|
||||
steps:
|
||||
@@ -21,7 +21,7 @@ jobs:
|
||||
run: |
|
||||
mkdir -p /workspace/unkin/rpmbuilder/dist/8
|
||||
export PREVIOUS_RUN_ID=$((GITHUB_RUN_NUMBER - 1))
|
||||
curl -L -o /workspace/rpms.zip "https://git.unkin.net/${GITHUB_REPOSITORY}/actions/runs/${PREVIOUS_RUN_ID}/artifacts/rpms-8"
|
||||
curl -L -o /workspace/rpms.zip "https://git.query.consul/${GITHUB_REPOSITORY}/actions/runs/${PREVIOUS_RUN_ID}/artifacts/rpms-8"
|
||||
unzip /workspace/rpms.zip -d /workspace/unkin/rpmbuilder/dist/8
|
||||
|
||||
- name: Show RPMs
|
||||
@@ -33,13 +33,13 @@ jobs:
|
||||
DRONECI_PASSWORD: ${{ secrets.DRONECI_PASSWORD }}
|
||||
run: |
|
||||
for rpm in $(find /workspace/unkin/rpmbuilder/dist/8 -type f -name "*.rpm"); do
|
||||
curl --user droneci:${{ secrets.DRONECI_PASSWORD }} --upload-file $rpm https://git.unkin.net/api/packages/unkin/rpm/almalinux/el8/upload
|
||||
curl --user droneci:${{ secrets.DRONECI_PASSWORD }} --upload-file $rpm https://git.query.consul/api/packages/unkin/rpm/almalinux/el8/upload
|
||||
done
|
||||
|
||||
deploy-9:
|
||||
runs-on: almalinux-8
|
||||
container:
|
||||
image: git.unkin.net/unkin/almalinux9-actionsdind:latest
|
||||
image: git.query.consul/unkin/almalinux9-actionsdind:latest
|
||||
options: --privileged
|
||||
|
||||
steps:
|
||||
@@ -50,7 +50,7 @@ jobs:
|
||||
run: |
|
||||
mkdir -p /workspace/unkin/rpmbuilder/dist/9
|
||||
export PREVIOUS_RUN_ID=$((GITHUB_RUN_NUMBER - 1))
|
||||
curl -L -o /workspace/rpms.zip "https://git.unkin.net/${GITHUB_REPOSITORY}/actions/runs/${PREVIOUS_RUN_ID}/artifacts/rpms-9"
|
||||
curl -L -o /workspace/rpms.zip "https://git.query.consul/${GITHUB_REPOSITORY}/actions/runs/${PREVIOUS_RUN_ID}/artifacts/rpms-9"
|
||||
unzip /workspace/rpms.zip -d /workspace/unkin/rpmbuilder/dist/9
|
||||
|
||||
- name: Show RPMs
|
||||
@@ -62,5 +62,5 @@ jobs:
|
||||
DRONECI_PASSWORD: ${{ secrets.DRONECI_PASSWORD }}
|
||||
run: |
|
||||
for rpm in $(find /workspace/unkin/rpmbuilder/dist/9 -type f -name "*.rpm"); do
|
||||
curl --user droneci:${{ secrets.DRONECI_PASSWORD }} --upload-file $rpm https://git.unkin.net/api/packages/unkin/rpm/almalinux/el9/upload
|
||||
curl --user droneci:${{ secrets.DRONECI_PASSWORD }} --upload-file $rpm https://git.query.consul/api/packages/unkin/rpm/almalinux/el9/upload
|
||||
done
|
||||
|
||||
@@ -1,3 +1 @@
|
||||
dist
|
||||
env
|
||||
.claude
|
||||
|
||||
@@ -1,85 +1,58 @@
|
||||
# Variables
|
||||
ROOT_DIR := $(PWD)
|
||||
BUILD_TOOL := $(ROOT_DIR)/tools/build
|
||||
DISTRO ?= el/9 # Default to el/9 if not specified
|
||||
RPMS_DIR := $(ROOT_DIR)/rpms
|
||||
REPO_OPTIONS := --disablerepo=* --enablerepo=unkin
|
||||
|
||||
# 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)
|
||||
# Automatically find all package/version directories
|
||||
PACKAGES := $(shell find $(RPMS_DIR) -mindepth 2 -maxdepth 2 -type d | sed "s|$(RPMS_DIR)/||" | grep -Ev '(scripts|/resources)')
|
||||
|
||||
# Default target to build all packages
|
||||
.PHONY: all list build clean
|
||||
all: build-all
|
||||
# Default target to build all packages and versions
|
||||
.PHONY: all list cache build clean
|
||||
all: cache $(PACKAGES)
|
||||
|
||||
# List all available packages
|
||||
list:
|
||||
@echo "Available packages:"
|
||||
@echo "Builds:"
|
||||
@for package in $(PACKAGES); do \
|
||||
echo " $$package"; \
|
||||
echo " '$$package'"; \
|
||||
done
|
||||
|
||||
# Build all packages using Python tool
|
||||
build-all:
|
||||
@echo "Building all packages using Python tooling for distro $(DISTRO)..."
|
||||
$(BUILD_TOOL) --all --distro $(DISTRO)
|
||||
cache:
|
||||
echo "Refreshing DNF cache..." && \
|
||||
dnf clean all && \
|
||||
dnf makecache
|
||||
|
||||
# Build specific package using Python tool
|
||||
# Build specific package/version
|
||||
.PHONY: $(PACKAGES)
|
||||
$(PACKAGES):
|
||||
@echo "Building package: $@ for distro $(DISTRO)"
|
||||
$(BUILD_TOOL) --package $@ --distro $(DISTRO)
|
||||
@PACKAGE_NAME=$(shell echo $(@) | cut -d/ -f1) && \
|
||||
PACKAGE_VERSION=$(shell echo $(@) | cut -d/ -f2) && \
|
||||
echo "Starting build $$PACKAGE_NAME/$$PACKAGE_VERSION" && \
|
||||
$(MAKE) build PACKAGE_NAME=$$PACKAGE_NAME PACKAGE_VERSION=$$PACKAGE_VERSION
|
||||
|
||||
# Build specific package with version/release override
|
||||
# Build target
|
||||
build:
|
||||
@if [ -z "$(PACKAGE_NAME)" ]; then \
|
||||
echo "Error: PACKAGE_NAME not specified"; \
|
||||
echo "Usage: make build PACKAGE_NAME=package [PACKAGE_VERSION=version] [PACKAGE_RELEASE=release]"; \
|
||||
exit 1; \
|
||||
fi
|
||||
@if [ -n "$(PACKAGE_VERSION)" ] && [ -n "$(PACKAGE_RELEASE)" ]; then \
|
||||
echo "Building $(PACKAGE_NAME) with explicit version $(PACKAGE_VERSION)-$(PACKAGE_RELEASE) for distro $(DISTRO)"; \
|
||||
$(BUILD_TOOL) --package $(PACKAGE_NAME) --version $(PACKAGE_VERSION) --release $(PACKAGE_RELEASE) --distro $(DISTRO); \
|
||||
else \
|
||||
echo "Building $(PACKAGE_NAME) using metadata.yaml for distro $(DISTRO)"; \
|
||||
$(BUILD_TOOL) --package $(PACKAGE_NAME) --distro $(DISTRO); \
|
||||
fi
|
||||
|
||||
# Dry run - show what would be built without building
|
||||
dry-run:
|
||||
@echo "Dry run - showing what would be built for distro $(DISTRO):"
|
||||
$(BUILD_TOOL) --all --distro $(DISTRO) --dry-run
|
||||
@mkdir -p $(ROOT_DIR)/dist/$(PACKAGE_NAME)/
|
||||
@cd $(RPMS_DIR)/$(PACKAGE_NAME) && \
|
||||
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:
|
||||
@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 $*
|
||||
|
||||
# Help target
|
||||
help:
|
||||
@echo "Available targets:"
|
||||
@echo " all - Build all packages (default)"
|
||||
@echo " list - List all available packages"
|
||||
@echo " build-all - Build all packages using Python tooling"
|
||||
@echo " <package> - Build specific package (e.g., 'make consul')"
|
||||
@echo " build - Build with explicit PACKAGE_NAME, PACKAGE_VERSION, PACKAGE_RELEASE"
|
||||
@echo " dry-run - Show what would be built without building"
|
||||
@echo " clean - Remove build artifacts"
|
||||
@echo " update - Check all packages for GitHub release updates"
|
||||
@echo " update-<pkg> - Check specific package for GitHub release updates"
|
||||
@echo " help - Show this help message"
|
||||
@echo ""
|
||||
@echo "Examples:"
|
||||
@echo " make consul # Build consul using metadata.yaml"
|
||||
@echo " make build PACKAGE_NAME=consul # Build consul using metadata.yaml"
|
||||
@echo " make build PACKAGE_NAME=consul PACKAGE_VERSION=1.21.1 PACKAGE_RELEASE=1"
|
||||
@echo " make update-consul # Check consul for GitHub updates"
|
||||
@echo " make dry-run # Show what would be built"
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
name: act_runner
|
||||
release: 1
|
||||
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 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,37 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: act_runner
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "A runner for Gitea based on act."
|
||||
maintainer: Gitea
|
||||
homepage: https://gitea.com/gitea/act_runner
|
||||
license: MIT
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- act_runner
|
||||
|
||||
provides:
|
||||
- act_runner
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/act_runner-linux-amd64
|
||||
dst: /usr/bin/act_runner
|
||||
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
|
||||
@@ -1,8 +0,0 @@
|
||||
name: bind_exporter
|
||||
release: 1
|
||||
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 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# 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 -
|
||||
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,37 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: bind_exporter
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "Prometheus exporter for BIND"
|
||||
maintainer: Prometheus
|
||||
homepage: https://github.com/prometheus-community/bind_exporter
|
||||
license: Apache-2.0 license
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- bind_exporter
|
||||
|
||||
provides:
|
||||
- bind_exporter
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/bind_exporter
|
||||
dst: /usr/bin/bind_exporter
|
||||
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
|
||||
@@ -1,9 +0,0 @@
|
||||
name: boilerplate
|
||||
release: 1
|
||||
version: 0.6.1
|
||||
build:
|
||||
- distro: el/8
|
||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||
- distro: el/9
|
||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||
github: gruntwork-io/boilerplate
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Download the required files
|
||||
wget -O /app/boilerplate https://github.com/gruntwork-io/boilerplate/releases/download/v${PACKAGE_VERSION}/boilerplate_linux_amd64
|
||||
|
||||
# Build the RPM
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,38 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: boilerplate
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "Boilerplate is a tool for generating files and folders (boilerplate) from a set of templates."
|
||||
|
||||
maintainer: Gruntwork
|
||||
homepage: https://github.com/gruntwork-io/boilerplate
|
||||
license: MIT
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- boilerplate
|
||||
|
||||
provides:
|
||||
- boilerplate
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/boilerplate
|
||||
dst: /usr/bin/boilerplate
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,25 @@
|
||||
# Start with the AlmaLinux 8.10 base image
|
||||
FROM git.query.consul/unkin/almalinux8-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 nfpm.yaml /app/nfpm.yaml
|
||||
COPY scripts /app/scripts
|
||||
|
||||
# Download the required files
|
||||
RUN dnf install -y unzip && \
|
||||
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
|
||||
|
||||
# Default command to build RPMs
|
||||
CMD nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,9 +0,0 @@
|
||||
name: cni-plugins
|
||||
release: 1
|
||||
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
|
||||
github: containernetworking/plugins
|
||||
@@ -131,7 +131,7 @@ contents:
|
||||
|
||||
# Scripts to run during installation/removal (optional)
|
||||
scripts:
|
||||
preinstall: /app/resources/scripts/preinstall.sh
|
||||
preinstall: ./scripts/preinstall.sh
|
||||
# postinstall: ./scripts/postinstall.sh
|
||||
# preremove: ./scripts/preremove.sh
|
||||
# postremove: ./scripts/postremove.sh
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# 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
|
||||
tar xf cni-plugins-linux-amd64.tgz
|
||||
|
||||
# Build the RPM
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,8 +0,0 @@
|
||||
name: consul-cni
|
||||
release: 1
|
||||
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 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Install dependencies
|
||||
dnf install -y unzip
|
||||
|
||||
# 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
|
||||
unzip consul-cni.zip
|
||||
|
||||
# Build the RPM
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,34 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: consul-cni
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "Plugin for Consul on Kubernetes to allow configuring traffic redirection rules without escalated container privileges."
|
||||
maintainer: Hashicorp
|
||||
homepage: https://hashicorp.com
|
||||
license: Mozilla Public License, version 2.0
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- consul-cni
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/consul-cni
|
||||
dst: /opt/cni/bin/consul-cni
|
||||
file_info:
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
# Scripts to run during installation/removal (optional)
|
||||
scripts:
|
||||
preinstall: /app/resources/scripts/preinstall.sh
|
||||
# postinstall: ./scripts/postinstall.sh
|
||||
# preremove: ./scripts/preremove.sh
|
||||
# postremove: ./scripts/postremove.sh
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
mkdir -p /opt/cni/bin
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,24 @@
|
||||
# Start with the AlmaLinux 8.10 base image
|
||||
FROM git.query.consul/unkin/almalinux8-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 nfpm.yaml /app/nfpm.yaml
|
||||
|
||||
# Download the required files
|
||||
RUN dnf install -y unzip && \
|
||||
wget -O /app/consul.zip https://releases.hashicorp.com/consul/${PACKAGE_VERSION}/consul_${PACKAGE_VERSION}_linux_amd64.zip && \
|
||||
unzip consul.zip
|
||||
|
||||
# Default command to build RPMs
|
||||
CMD nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,8 +0,0 @@
|
||||
name: consul
|
||||
release: 1
|
||||
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 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Install dependencies
|
||||
dnf install -y unzip
|
||||
|
||||
# Download and extract consul
|
||||
curl -o /app/consul.zip https://releases.hashicorp.com/consul/${PACKAGE_VERSION}/consul_${PACKAGE_VERSION}_linux_amd64.zip
|
||||
unzip consul.zip
|
||||
|
||||
# Build the RPM
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -0,0 +1 @@
|
||||
2
|
||||
@@ -0,0 +1,24 @@
|
||||
# Start with the AlmaLinux 8.10 base image
|
||||
FROM git.query.consul/unkin/almalinux8-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 nfpm.yaml /app/nfpm.yaml
|
||||
|
||||
# Download the required files
|
||||
RUN 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 && \
|
||||
mv /app/etcd-v${PACKAGE_VERSION}-linux-amd64/* /app/
|
||||
|
||||
# Default command to build RPMs
|
||||
CMD nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,9 +0,0 @@
|
||||
name: etcd
|
||||
release: 2
|
||||
version: 3.5.18
|
||||
build:
|
||||
- distro: el/8
|
||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||
- distro: el/9
|
||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||
github: etcd-io/etcd
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# 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
|
||||
tar xf /app/etcd-v${PACKAGE_VERSION}-linux-amd64.tar.gz
|
||||
mv /app/etcd-v${PACKAGE_VERSION}-linux-amd64/* /app/
|
||||
|
||||
# Build the RPM
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,8 +0,0 @@
|
||||
name: exportarr
|
||||
release: 1
|
||||
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 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# 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 -
|
||||
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,37 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: exportarr
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "AIO Prometheus Exporter for Sabnzbd, Bazarr, Prowlarr, Lidarr, Readarr, Radarr, and Sonarr"
|
||||
maintainer: onedr0p
|
||||
homepage: https://github.com/onedr0p/exportarr
|
||||
license: MIT license
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- exportarr
|
||||
|
||||
provides:
|
||||
- exportarr
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/exportarr
|
||||
dst: /usr/bin/exportarr
|
||||
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
|
||||
@@ -1,9 +0,0 @@
|
||||
name: frr_exporter
|
||||
release: 1
|
||||
version: 1.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
|
||||
github: tynany/frr_exporter
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
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
|
||||
@@ -1,37 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: frr_exporter
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "Prometheus exporter for Free Range Routing"
|
||||
maintainer: Prometheus
|
||||
homepage: https://github.com/tynany/frr_exporter
|
||||
license: MIT
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- frr_exporter
|
||||
|
||||
provides:
|
||||
- frr_exporter
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/frr_exporter
|
||||
dst: /usr/bin/frr_exporter
|
||||
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
|
||||
@@ -1,9 +0,0 @@
|
||||
name: g10k
|
||||
release: 1
|
||||
version: 0.9.10
|
||||
build:
|
||||
- distro: el/8
|
||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||
- distro: el/9
|
||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||
github: xorpaul/g10k
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# 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
|
||||
pushd /app
|
||||
unzip /app/g10k.zip
|
||||
popd
|
||||
|
||||
# Build the RPM
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,38 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: g10k
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "An r10k fork written in Go, designed to work somwhat similar like puppetlabs/r10k."
|
||||
|
||||
maintainer: xorpaul
|
||||
homepage: https://github.com/xorpaul/g10k
|
||||
license: Apache2.0
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- g10k
|
||||
|
||||
provides:
|
||||
- g10k
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/g10k
|
||||
dst: /usr/bin/g10k
|
||||
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
|
||||
@@ -1,9 +0,0 @@
|
||||
name: helmfile
|
||||
release: 1
|
||||
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,14 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# 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
|
||||
|
||||
# Extract the binary
|
||||
cd /app
|
||||
tar -xzf helmfile.tar.gz
|
||||
|
||||
# Make the binary executable
|
||||
chmod +x /app/helmfile
|
||||
|
||||
# Build the RPM
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,38 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: helmfile
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
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."
|
||||
|
||||
maintainer: Helmfile Contributors
|
||||
homepage: https://github.com/helmfile/helmfile
|
||||
license: MIT
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- helmfile
|
||||
|
||||
provides:
|
||||
- helmfile
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/helmfile
|
||||
dst: /usr/bin/helmfile
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,55 @@
|
||||
# Start with the AlmaLinux 8.10 base image
|
||||
FROM git.query.consul/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 scripts /app/scripts
|
||||
COPY resources /app/resources
|
||||
|
||||
# Download the required files
|
||||
RUN dnf install -y \
|
||||
unzip \
|
||||
libtool \
|
||||
autoconf \
|
||||
automake \
|
||||
gcc \
|
||||
make \
|
||||
git \
|
||||
go \
|
||||
cowsql-devel \
|
||||
libacl-devel \
|
||||
libcap-devel \
|
||||
libseccomp-devel \
|
||||
libuv-devel \
|
||||
raft-devel \
|
||||
libudev-devel \
|
||||
lxc-devel \
|
||||
libsqlite3x-devel \
|
||||
sqlite-devel \
|
||||
systemd-rpm-macros \
|
||||
bash-completion \
|
||||
gettext \
|
||||
help2man \
|
||||
wget && \
|
||||
wget -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 && \
|
||||
wget https://go.dev/dl/go1.24.1.linux-amd64.tar.gz && rm -rf /usr/local/go && tar -C /usr/local -xzf go1.24.1.linux-amd64.tar.gz && \
|
||||
export PATH=/usr/local/go/bin:$PATH && \
|
||||
pushd /app/incus-${PACKAGE_VERSION} && \
|
||||
make deps && \
|
||||
export CGO_CFLAGS="-I/root/go/deps/raft/include/ -I/root/go/deps/cowsql/include/" && \
|
||||
export CGO_LDFLAGS="-L/root/go/deps/raft/.libs -L/root/go/deps/cowsql/.libs/" && \
|
||||
export LD_LIBRARY_PATH="/root/go/deps/raft/.libs/:/root/go/deps/cowsql/.libs/" && \
|
||||
export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)" && \
|
||||
make build
|
||||
|
||||
# Default command to build RPMs
|
||||
CMD /app/scripts/build-packages.sh
|
||||
@@ -1,9 +0,0 @@
|
||||
name: incus
|
||||
release: 1
|
||||
version: 6.10.1
|
||||
build:
|
||||
- distro: el/8
|
||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||
- distro: el/9
|
||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||
github: lxc/incus
|
||||
@@ -1,52 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Install build dependencies
|
||||
dnf install -y \
|
||||
unzip \
|
||||
libtool \
|
||||
autoconf \
|
||||
automake \
|
||||
gcc \
|
||||
make \
|
||||
git \
|
||||
go \
|
||||
cowsql-devel \
|
||||
libacl-devel \
|
||||
libcap-devel \
|
||||
libseccomp-devel \
|
||||
libuv-devel \
|
||||
raft-devel \
|
||||
libudev-devel \
|
||||
lxc-devel \
|
||||
libsqlite3x-devel \
|
||||
sqlite-devel \
|
||||
systemd-rpm-macros \
|
||||
bash-completion \
|
||||
gettext \
|
||||
help2man \
|
||||
curl
|
||||
|
||||
# Download and extract incus source
|
||||
curl -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
|
||||
|
||||
# Install specific Go version
|
||||
curl -O https://go.dev/dl/go1.24.1.linux-amd64.tar.gz
|
||||
rm -rf /usr/local/go
|
||||
tar -C /usr/local -xzf go1.24.1.linux-amd64.tar.gz
|
||||
|
||||
# Set up Go environment and build incus
|
||||
export PATH=/usr/local/go/bin:$PATH
|
||||
pushd /app/incus-${PACKAGE_VERSION}
|
||||
make deps
|
||||
export CGO_CFLAGS="-I/root/go/deps/raft/include/ -I/root/go/deps/cowsql/include/"
|
||||
export CGO_LDFLAGS="-L/root/go/deps/raft/.libs -L/root/go/deps/cowsql/.libs/"
|
||||
export LD_LIBRARY_PATH="/root/go/deps/raft/.libs/:/root/go/deps/cowsql/.libs/"
|
||||
export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)"
|
||||
make build
|
||||
popd
|
||||
|
||||
# Build the RPMs
|
||||
nfpm pkg --config /app/resources/nfpm_incus.yaml --target /app/dist --packager rpm
|
||||
nfpm pkg --config /app/resources/nfpm_incus-client.yaml --target /app/dist --packager rpm
|
||||
nfpm pkg --config /app/resources/nfpm_incus-tools.yaml --target /app/dist --packager rpm
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/bash
|
||||
nfpm pkg --config /app/resources/nfpm_incus.yaml --target /app/dist --packager rpm && \
|
||||
nfpm pkg --config /app/resources/nfpm_incus-client.yaml --target /app/dist --packager rpm && \
|
||||
nfpm pkg --config /app/resources/nfpm_incus-tools.yaml --target /app/dist --packager rpm
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,22 @@
|
||||
# Start with the AlmaLinux 8.10 base image
|
||||
FROM git.query.consul/unkin/almalinux8-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
|
||||
|
||||
# Download the required files
|
||||
RUN spectool -g -R /app/resources/jellyfin-ffmpeg-bin_${PACKAGE_VERSION}.spec && \
|
||||
rpmbuild -ba /app/resources/jellyfin-ffmpeg-bin_${PACKAGE_VERSION}.spec && \
|
||||
cp /root/rpmbuild/RPMS/x86_64/jellyfin-ffmpeg-bin-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.*.rpm /app/dist/ && \
|
||||
cp /root/rpmbuild/SRPMS/jellyfin-ffmpeg-bin-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.*.rpm /app/dist
|
||||
@@ -1,8 +0,0 @@
|
||||
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,14 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Setup rpmbuild directory structure
|
||||
mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
|
||||
|
||||
# Download source files using spectool
|
||||
spectool -g -R /app/resources/jellyfin-ffmpeg-bin_${PACKAGE_VERSION}.spec
|
||||
|
||||
# Build the RPM
|
||||
rpmbuild -ba /app/resources/jellyfin-ffmpeg-bin_${PACKAGE_VERSION}.spec
|
||||
|
||||
# Copy the built RPMs to output directory
|
||||
cp /root/rpmbuild/RPMS/x86_64/jellyfin-ffmpeg-bin-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.*.rpm /app/dist/
|
||||
cp /root/rpmbuild/SRPMS/jellyfin-ffmpeg-bin-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.*.rpm /app/dist
|
||||
@@ -1,11 +1,11 @@
|
||||
%global debug_package %{nil}
|
||||
%define _missing_build_ids_terminate_build 0
|
||||
%global jellyfin_release 3
|
||||
%global jellyfin_release 1
|
||||
|
||||
|
||||
Name: jellyfin-ffmpeg-bin
|
||||
Version: 7.1.1
|
||||
Release: %{jellyfin_release}
|
||||
Release: %{jellyfin_release}%{?dist}
|
||||
Summary: FFmpeg for Jellyfin with custom extensions and enhancements
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,25 @@
|
||||
# Start with the AlmaLinux 8.10 base image
|
||||
FROM git.query.consul/unkin/almalinux8-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
|
||||
|
||||
# Download the required files
|
||||
RUN dnf install dotnet-sdk-8.0 -y && \
|
||||
spectool -g -R /app/resources/jellyfin-server_${PACKAGE_VERSION}.spec && \
|
||||
cp /app/resources/fix-envfile-path.patch /root/rpmbuild/SOURCES/fix-envfile-path.patch && \
|
||||
cp /app/resources/tmpfiles.conf /root/rpmbuild/SOURCES/tmpfiles.conf && \
|
||||
rpmbuild -ba /app/resources/jellyfin-server_${PACKAGE_VERSION}.spec && \
|
||||
cp /root/rpmbuild/RPMS/x86_64/jellyfin-server-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.x86_64.rpm /app/dist/ && \
|
||||
cp /root/rpmbuild/SRPMS/jellyfin-server-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.src.rpm /app/dist/
|
||||
@@ -1,8 +0,0 @@
|
||||
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,21 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Setup rpmbuild directory structure
|
||||
mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
|
||||
|
||||
# Install .NET SDK for building
|
||||
dnf install dotnet-sdk-8.0 -y
|
||||
|
||||
# Download source files using spectool
|
||||
spectool -g -R /app/resources/jellyfin-server_${PACKAGE_VERSION}.spec
|
||||
|
||||
# Copy additional files to SOURCES
|
||||
cp /app/resources/fix-envfile-path.patch /root/rpmbuild/SOURCES/fix-envfile-path.patch
|
||||
cp /app/resources/tmpfiles.conf /root/rpmbuild/SOURCES/tmpfiles.conf
|
||||
|
||||
# Build the RPM
|
||||
rpmbuild -ba /app/resources/jellyfin-server_${PACKAGE_VERSION}.spec
|
||||
|
||||
# Copy the built RPMs to output directory
|
||||
cp /root/rpmbuild/RPMS/x86_64/jellyfin-server-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.x86_64.rpm /app/dist/
|
||||
cp /root/rpmbuild/SRPMS/jellyfin-server-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.src.rpm /app/dist/
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,24 @@
|
||||
# Start with the AlmaLinux 8.10 base image
|
||||
FROM git.query.consul/unkin/almalinux8-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
|
||||
|
||||
# Download the required files
|
||||
RUN dnf module enable nodejs:20 -y && \
|
||||
dnf install nodejs npm -y && \
|
||||
spectool -g -R /app/resources/jellyfin-web_${PACKAGE_VERSION}.spec && \
|
||||
rpmbuild -ba /app/resources/jellyfin-web_${PACKAGE_VERSION}.spec && \
|
||||
cp /root/rpmbuild/RPMS/noarch/jellyfin-web-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.noarch.rpm /app/dist/ && \
|
||||
cp /root/rpmbuild/SRPMS/jellyfin-web-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.src.rpm /app/dist/
|
||||
@@ -1,8 +0,0 @@
|
||||
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,18 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Setup rpmbuild directory structure
|
||||
mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
|
||||
|
||||
# Install Node.js for building
|
||||
dnf module enable nodejs:20 -y
|
||||
dnf install nodejs npm -y
|
||||
|
||||
# Download source files using spectool
|
||||
spectool -g -R /app/resources/jellyfin-web_${PACKAGE_VERSION}.spec
|
||||
|
||||
# Build the RPM
|
||||
rpmbuild -ba /app/resources/jellyfin-web_${PACKAGE_VERSION}.spec
|
||||
|
||||
# Copy the built RPMs to output directory
|
||||
cp /root/rpmbuild/RPMS/noarch/jellyfin-web-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.noarch.rpm /app/dist/
|
||||
cp /root/rpmbuild/SRPMS/jellyfin-web-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.src.rpm /app/dist/
|
||||
@@ -1,9 +0,0 @@
|
||||
name: jsonnet-language-server
|
||||
release: 1
|
||||
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 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# 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
|
||||
|
||||
# Make the binary executable
|
||||
chmod +x /app/jsonnet-language-server
|
||||
|
||||
# Build the RPM
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,38 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: jsonnet-language-server
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "Jsonnet Language Server Protocol implementation for the Jsonnet templating language."
|
||||
|
||||
maintainer: Grafana Labs
|
||||
homepage: https://github.com/grafana/jsonnet-language-server
|
||||
license: Apache-2.0
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- jsonnet-language-server
|
||||
|
||||
provides:
|
||||
- jsonnet-language-server
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/jsonnet-language-server
|
||||
dst: /usr/bin/jsonnet-language-server
|
||||
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
|
||||
@@ -1,9 +0,0 @@
|
||||
name: jsonnet-lint
|
||||
release: 1
|
||||
version: 0.21.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: google/go-jsonnet
|
||||
@@ -1,19 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Install dependencies and Go 1.24
|
||||
dnf install -y wget git make
|
||||
|
||||
# Download and install Go 1.24.7
|
||||
wget https://go.dev/dl/go1.24.7.linux-amd64.tar.gz
|
||||
rm -rf /usr/local/go
|
||||
tar -C /usr/local -xzf go1.24.7.linux-amd64.tar.gz
|
||||
export PATH=/usr/local/go/bin:$PATH
|
||||
|
||||
# Verify Go installation
|
||||
go version
|
||||
|
||||
# Build jsonnet-lint binary
|
||||
GOBIN=/app go install github.com/google/go-jsonnet/cmd/jsonnet-lint@v${PACKAGE_VERSION}
|
||||
|
||||
# Build RPM package
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,30 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: jsonnet-lint
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "Linter for Jsonnet"
|
||||
maintainer: Google
|
||||
homepage: https://github.com/google/go-jsonnet
|
||||
license: Apache-2.0
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- jsonnet-lint
|
||||
|
||||
provides:
|
||||
- jsonnet-lint
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/jsonnet-lint
|
||||
dst: /usr/bin/jsonnet-lint
|
||||
file_info:
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
@@ -1,9 +0,0 @@
|
||||
name: jsonnet
|
||||
release: 1
|
||||
version: 0.21.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: google/go-jsonnet
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Install dependencies and Go 1.24
|
||||
dnf install -y wget git make
|
||||
|
||||
# Download and install Go 1.24.7
|
||||
wget https://go.dev/dl/go1.24.7.linux-amd64.tar.gz
|
||||
rm -rf /usr/local/go
|
||||
tar -C /usr/local -xzf go1.24.7.linux-amd64.tar.gz
|
||||
export PATH=/usr/local/go/bin:$PATH
|
||||
|
||||
# Verify Go installation
|
||||
go version
|
||||
|
||||
# Build jsonnet binaries
|
||||
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}
|
||||
|
||||
# Build RPM package
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,36 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: jsonnet
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "A data templating language"
|
||||
maintainer: Google
|
||||
homepage: https://github.com/google/go-jsonnet
|
||||
license: Apache-2.0
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- jsonnet
|
||||
|
||||
provides:
|
||||
- jsonnet
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/jsonnet
|
||||
dst: /usr/bin/jsonnet
|
||||
file_info:
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
- src: /app/jsonnetfmt
|
||||
dst: /usr/bin/jsonnetfmt
|
||||
file_info:
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
@@ -1,9 +0,0 @@
|
||||
name: libfoundationdb
|
||||
release: 1
|
||||
version: 7.3.71
|
||||
github: apple/foundationdb
|
||||
build:
|
||||
- distro: el/8
|
||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||
- distro: el/9
|
||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# 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
|
||||
|
||||
# Make the library readable
|
||||
chmod 755 /app/libfdb_c.so
|
||||
|
||||
# Build the RPM
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,36 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: libfoundationdb
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "FoundationDB client library - Shared library for FoundationDB applications"
|
||||
|
||||
maintainer: FoundationDB Community
|
||||
homepage: https://github.com/apple/foundationdb
|
||||
license: Apache-2.0
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- libfoundationdb
|
||||
|
||||
provides:
|
||||
- libfoundationdb
|
||||
- libfdb_c.so()(64bit)
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/libfdb_c.so
|
||||
dst: /usr/lib64/libfdb_c.so
|
||||
file_info:
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
# Scripts to run during installation/removal
|
||||
scripts:
|
||||
postinstall: /app/resources/scripts/postinstall.sh
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Update the dynamic linker cache to include the new library
|
||||
ldconfig
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,22 @@
|
||||
# Start with the AlmaLinux 8.10 base image
|
||||
FROM git.query.consul/unkin/almalinux8-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 nfpm.yaml /app/nfpm.yaml
|
||||
|
||||
# Compile the binaries
|
||||
RUN GOBIN=/app go install github.com/goreleaser/nfpm/v2/cmd/nfpm@v${PACKAGE_VERSION}
|
||||
|
||||
# Default command to build RPMs
|
||||
CMD nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,9 +0,0 @@
|
||||
name: nfpm
|
||||
release: 1
|
||||
version: 2.41.1
|
||||
build:
|
||||
- distro: el/8
|
||||
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
|
||||
- distro: el/9
|
||||
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
|
||||
github: goreleaser/nfpm
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Compile nfpm binary using Go
|
||||
GOBIN=/app go install github.com/goreleaser/nfpm/v2/cmd/nfpm@v${PACKAGE_VERSION}
|
||||
|
||||
# Build the RPM
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,8 +0,0 @@
|
||||
name: node_exporter
|
||||
release: 1
|
||||
version: 1.9.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,6 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Download the required files
|
||||
curl --output - -L https://github.com/prometheus/node_exporter/releases/download/v${PACKAGE_VERSION}/node_exporter-${PACKAGE_VERSION}.linux-amd64.tar.gz | tar --strip-components=1 -xzf -
|
||||
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,37 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: node_exporter
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "exporter for machine metrics"
|
||||
maintainer: Prometheus
|
||||
homepage: https://github.com/prometheus/node_exporter
|
||||
license: Apache-2.0 license
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- node_exporter
|
||||
|
||||
provides:
|
||||
- node_exporter
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/node_exporter
|
||||
dst: /usr/bin/node_exporter
|
||||
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
|
||||
@@ -1,8 +0,0 @@
|
||||
name: nomad-autoscaler
|
||||
release: 1
|
||||
version: 0.4.6
|
||||
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 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Install dependencies
|
||||
dnf install -y unzip
|
||||
|
||||
# Download and extract nomad-autoscaler
|
||||
curl -o /app/nomad-autoscaler.zip https://releases.hashicorp.com/nomad-autoscaler/${PACKAGE_VERSION}/nomad-autoscaler_${PACKAGE_VERSION}_linux_amd64.zip
|
||||
unzip nomad-autoscaler.zip
|
||||
|
||||
# Build the RPM
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,35 +0,0 @@
|
||||
# nfpm.yaml
|
||||
|
||||
name: nomad-autoscaler
|
||||
version: ${PACKAGE_VERSION}
|
||||
release: ${PACKAGE_RELEASE}
|
||||
arch: amd64
|
||||
platform: linux
|
||||
section: default
|
||||
priority: extra
|
||||
description: "The Nomad Autoscaler is an autoscaling daemon for Nomad, architectured around plug-ins to allow for easy extensibility in terms of supported metrics sources, scaling targets and scaling algorithms."
|
||||
|
||||
maintainer: Hashicorp
|
||||
homepage: https://github.com/hashicorp/nomad-autoscaler
|
||||
license: Mozilla Public License, version 2.0
|
||||
|
||||
disable_globbing: false
|
||||
|
||||
replaces:
|
||||
- nomad-autoscaler
|
||||
|
||||
# Files to include in the package
|
||||
contents:
|
||||
- src: /app/nomad-autoscaler
|
||||
dst: /usr/bin/nomad-autoscaler
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,24 @@
|
||||
# Start with the AlmaLinux 8.10 base image
|
||||
FROM git.query.consul/unkin/almalinux8-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 nfpm.yaml /app/nfpm.yaml
|
||||
|
||||
# Download the required files
|
||||
RUN dnf install -y unzip && \
|
||||
wget -O /app/nomad.zip https://releases.hashicorp.com/nomad/${PACKAGE_VERSION}/nomad_${PACKAGE_VERSION}_linux_amd64.zip && \
|
||||
unzip nomad.zip
|
||||
|
||||
# Default command to build RPMs
|
||||
CMD nfpm pkg --config /app/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -1,8 +0,0 @@
|
||||
name: nomad
|
||||
release: 1
|
||||
version: 1.10.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 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Install dependencies
|
||||
dnf install -y unzip
|
||||
|
||||
# Download and extract nomad
|
||||
curl -o /app/nomad.zip https://releases.hashicorp.com/nomad/${PACKAGE_VERSION}/nomad_${PACKAGE_VERSION}_linux_amd64.zip
|
||||
unzip nomad.zip
|
||||
|
||||
# Build the RPM
|
||||
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,20 @@
|
||||
# Start with the AlmaLinux 8.10 base image
|
||||
FROM git.query.consul/unkin/almalinux8-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 nfpm.yaml /app/nfpm.yaml
|
||||
|
||||
# Download the required files
|
||||
RUN wget -O /app/dist/nzbget-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.x86_64.rpm \
|
||||
https://github.com/nzbgetcom/nzbget/releases/download/v$PACKAGE_VERSION/nzbget-${PACKAGE_VERSION}-${PACKAGE_RELEASE}.x86_64.rpm
|
||||
@@ -1,9 +0,0 @@
|
||||
name: nzbget
|
||||
release: 1
|
||||
version: '25.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: nzbgetcom/nzbget
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user