Compare commits

..

1 Commits

Author SHA1 Message Date
66cb37fa32 feat: enhance GitHub release tracking with pattern support and version extraction
Some checks failed
Build / build-8 (pull_request) Failing after 2m45s
Build / build-9 (pull_request) Failing after 8m40s
- Add github_release_pattern field to support multi-product repositories
- Implement get_github_releases_by_pattern() for filtered release matching
- Add parse_github_version_release() to extract version-release components
- Update openbao plugin packages with release patterns and correct versions
- Configure openbao-plugins meta package for manual versioning
- Fix HashiCorp package GitHub repository references
- Support complex tag formats like "secrets-consul-v0.1.0" and "v7.1.3-1"

This enables automatic updates for packages sharing GitHub repos while
maintaining proper RPM version/release semantics and backward compatibility.
2025-12-30 21:44:55 +11:00
5 changed files with 21 additions and 15 deletions

View File

@ -3,7 +3,7 @@
set -e
# Install build dependencies
dnf install -y \
dnf makecache && dnf install -y \
unzip \
libtool \
autoconf \

View File

@ -10,10 +10,10 @@ builds:
- repository:
- almalinux/el8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
release: 1.1-el8
release: 1.1
version: 7.1.3
- repository:
- almalinux/el9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
release: 1.1-el9
release: 1.1
version: 7.1.3

View File

@ -3,12 +3,15 @@
# Setup rpmbuild directory structure
mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
# Process the spec file template with environment variables
envsubst < /app/resources/jellyfin-ffmpeg-bin.spec.template > /root/rpmbuild/SPECS/jellyfin-ffmpeg-bin.spec
# Download source files using spectool
spectool -g -R /app/resources/jellyfin-ffmpeg-bin_${PACKAGE_VERSION}.spec
spectool -g -R /root/rpmbuild/SPECS/jellyfin-ffmpeg-bin.spec
# Build the RPM
rpmbuild -ba /app/resources/jellyfin-ffmpeg-bin_${PACKAGE_VERSION}.spec
rpmbuild -ba /root/rpmbuild/SPECS/jellyfin-ffmpeg-bin.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
cp /root/rpmbuild/RPMS/x86_64/jellyfin-ffmpeg-bin-*.rpm /app/dist/
cp /root/rpmbuild/SRPMS/jellyfin-ffmpeg-bin-*.rpm /app/dist

View File

@ -1,20 +1,20 @@
%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}
Name: ${PACKAGE_NAME}
Version: ${PACKAGE_VERSION}
Release: ${PACKAGE_RELEASE}
Summary: FFmpeg for Jellyfin with custom extensions and enhancements
License: GPL-3.0-only
URL: https://github.com/jellyfin/jellyfin-ffmpeg
Source0: https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v%{version}-%{jellyfin_release}/jellyfin-ffmpeg_%{version}-%{jellyfin_release}_portable_linux64-gpl.tar.xz
Source1: https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v%{version}-%{jellyfin_release}/jellyfin-ffmpeg_%{version}-%{jellyfin_release}_portable_linuxarm64-gpl.tar.xz
Source2: https://raw.githubusercontent.com/jellyfin/jellyfin-ffmpeg/v%{version}-%{jellyfin_release}/LICENSE.md
Source3: https://raw.githubusercontent.com/jellyfin/jellyfin-ffmpeg/v%{version}-%{jellyfin_release}/README.md
Source0: https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${PACKAGE_VERSION}-1/jellyfin-ffmpeg_${PACKAGE_VERSION}-1_portable_linux64-gpl.tar.xz
Source1: https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${PACKAGE_VERSION}-1/jellyfin-ffmpeg_${PACKAGE_VERSION}-1_portable_linuxarm64-gpl.tar.xz
Source2: https://raw.githubusercontent.com/jellyfin/jellyfin-ffmpeg/v${PACKAGE_VERSION}-1/LICENSE.md
Source3: https://raw.githubusercontent.com/jellyfin/jellyfin-ffmpeg/v${PACKAGE_VERSION}-1/README.md
ExclusiveArch: x86_64 aarch64

View File

@ -1,6 +1,9 @@
#!/usr/bin/bash
set -e
# Set Go toolchain to support newer nfpm versions
export GOTOOLCHAIN=go1.25.0
# Compile nfpm binary using Go
GOBIN=/app go install github.com/goreleaser/nfpm/v2/cmd/nfpm@v${PACKAGE_VERSION}