feat: enhance GitHub release tracking with pattern support and version extraction
- 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.
This commit is contained in:
@@ -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
|
||||
+8
-8
@@ -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
|
||||
Reference in New Issue
Block a user