Compare commits
No commits in common. "b5bce92f7f2c96de9bfd49f5af9baa293bf4c00b" and "715d859bb5cd55d6ca38787142bb8c8d0c8d0e38" have entirely different histories.
b5bce92f7f
...
715d859bb5
@ -1 +0,0 @@
|
|||||||
3
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
# Start with the AlmaLinux 9 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 resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Download the required files
|
|
||||||
RUN mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} && \
|
|
||||||
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,65 +0,0 @@
|
|||||||
%global debug_package %{nil}
|
|
||||||
%define _missing_build_ids_terminate_build 0
|
|
||||||
%global jellyfin_release 3
|
|
||||||
|
|
||||||
|
|
||||||
Name: jellyfin-ffmpeg-bin
|
|
||||||
Version: 7.1.1
|
|
||||||
Release: %{jellyfin_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
|
|
||||||
|
|
||||||
|
|
||||||
ExclusiveArch: x86_64 aarch64
|
|
||||||
|
|
||||||
|
|
||||||
Requires: glibc >= 2.23
|
|
||||||
|
|
||||||
|
|
||||||
Recommends: intel-media-driver
|
|
||||||
Recommends: intel-mediasdk
|
|
||||||
Recommends: oneVPL-intel-gpu
|
|
||||||
Recommends: intel-compute-runtime
|
|
||||||
Recommends: libva-intel-driver
|
|
||||||
Recommends: mesa-va-drivers
|
|
||||||
Recommends: rocm-opencl
|
|
||||||
Recommends: mesa-vulkan-drivers
|
|
||||||
|
|
||||||
|
|
||||||
Conflicts: jellyfin-ffmpeg
|
|
||||||
|
|
||||||
|
|
||||||
%description
|
|
||||||
%{summary}.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
|
|
||||||
%ifarch x86_64
|
|
||||||
%setup -c -b 0
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch aarch64
|
|
||||||
%setup -c -b 1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
cp %{SOURCE2} "%{_builddir}/%{name}-%{version}/"
|
|
||||||
cp %{SOURCE3} "%{_builddir}/%{name}-%{version}/"
|
|
||||||
|
|
||||||
|
|
||||||
%install
|
|
||||||
install -D --mode=755 ffmpeg "%{buildroot}%{_exec_prefix}/lib/jellyfin-ffmpeg/ffmpeg"
|
|
||||||
install -D --mode=755 ffprobe "%{buildroot}%{_exec_prefix}/lib/jellyfin-ffmpeg/ffprobe"
|
|
||||||
|
|
||||||
|
|
||||||
%files
|
|
||||||
%license LICENSE.md
|
|
||||||
%doc README.md
|
|
||||||
%{_exec_prefix}/lib/jellyfin-ffmpeg/ffmpeg
|
|
||||||
%{_exec_prefix}/lib/jellyfin-ffmpeg/ffprobe
|
|
||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
# Start with the AlmaLinux 9 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 resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Download the required files
|
|
||||||
RUN mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} && \
|
|
||||||
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,11 +0,0 @@
|
|||||||
--- a/debian/conf/jellyfin.service
|
|
||||||
+++ b/debian/conf/jellyfin.service
|
|
||||||
@@ -4,7 +4,7 @@ After = network-online.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type = simple
|
|
||||||
-EnvironmentFile = /etc/default/jellyfin
|
|
||||||
+EnvironmentFile = /etc/jellyfin/jellyfin.env
|
|
||||||
User = jellyfin
|
|
||||||
Group = jellyfin
|
|
||||||
WorkingDirectory = /var/lib/jellyfin
|
|
||||||
@ -1,127 +0,0 @@
|
|||||||
%global debug_package %{nil}
|
|
||||||
|
|
||||||
%global jellyfin_version 10.10.7
|
|
||||||
%global jellyfin_packaging_timestamp 202504051515
|
|
||||||
%global jellyfin_packaging_version %{jellyfin_version}-%{jellyfin_packaging_timestamp}
|
|
||||||
|
|
||||||
%global dotnet_runtime %( \
|
|
||||||
if [ "%{_arch}" = "x86_64" ]; then \
|
|
||||||
echo -n "linux-x64"; \
|
|
||||||
elif [ "%{_arch}" = "aarch64" ]; then \
|
|
||||||
echo -n "linux-arm64"; \
|
|
||||||
else \
|
|
||||||
echo "Unsupported architecture: %{_arch}"; \
|
|
||||||
exit 1; \
|
|
||||||
fi \
|
|
||||||
)
|
|
||||||
|
|
||||||
Name: jellyfin-server
|
|
||||||
Version: %{jellyfin_version}
|
|
||||||
Release: 1
|
|
||||||
Summary: The Free Software Media System - Server Backend & API
|
|
||||||
|
|
||||||
|
|
||||||
License: GPL-2.0-or-later
|
|
||||||
URL: https://github.com/jellyfin/jellyfin
|
|
||||||
Source0: https://github.com/jellyfin/jellyfin/archive/refs/tags/v%{version}.tar.gz
|
|
||||||
Source1: https://github.com/jellyfin/jellyfin-packaging/archive/refs/tags/v%{jellyfin_packaging_version}.tar.gz
|
|
||||||
Source2: tmpfiles.conf
|
|
||||||
Patch0: fix-envfile-path.patch
|
|
||||||
|
|
||||||
|
|
||||||
ExclusiveArch: x86_64 aarch64
|
|
||||||
|
|
||||||
|
|
||||||
BuildRequires: dotnet-sdk-8.0
|
|
||||||
BuildRequires: git
|
|
||||||
BuildRequires: systemd-rpm-macros
|
|
||||||
|
|
||||||
|
|
||||||
Requires: aspnetcore-runtime-8.0
|
|
||||||
Requires: bash
|
|
||||||
Requires: fontconfig
|
|
||||||
Requires: jellyfin-ffmpeg-bin
|
|
||||||
Requires: sqlite
|
|
||||||
|
|
||||||
|
|
||||||
Recommends: jellyfin-web
|
|
||||||
Recommends: google-noto-fonts-common
|
|
||||||
|
|
||||||
|
|
||||||
%description
|
|
||||||
%{summary}.
|
|
||||||
|
|
||||||
|
|
||||||
%prep
|
|
||||||
tar --extract --file="%{SOURCE1}" --directory="%{_builddir}"
|
|
||||||
pushd %{_builddir}/jellyfin-packaging-%{jellyfin_packaging_version}
|
|
||||||
patch -p1 -i "%{PATCH0}"
|
|
||||||
popd
|
|
||||||
%setup -q -n jellyfin-%{version}
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
|
||||||
DOTNET_CLI_TELEMETRY_OPTOUT=1 \
|
|
||||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 \
|
|
||||||
DOTNET_NOLOGO=1 \
|
|
||||||
dotnet \
|
|
||||||
publish \
|
|
||||||
Jellyfin.Server \
|
|
||||||
--configuration Release \
|
|
||||||
--output builddir \
|
|
||||||
--self-contained false \
|
|
||||||
--runtime %{dotnet_runtime} \
|
|
||||||
-p:DebugSymbols=false \
|
|
||||||
-p:DebugType=none
|
|
||||||
|
|
||||||
|
|
||||||
%install
|
|
||||||
install --directory "%{buildroot}%{_libdir}"
|
|
||||||
cp --recursive builddir "%{buildroot}%{_libdir}/jellyfin"
|
|
||||||
|
|
||||||
install --directory "%{buildroot}%{_bindir}"
|
|
||||||
ln --symbolic --force "%{_libdir}/jellyfin/jellyfin" "%{buildroot}%{_bindir}/jellyfin"
|
|
||||||
|
|
||||||
pushd %{_builddir}/jellyfin-packaging-%{jellyfin_packaging_version}/debian/conf
|
|
||||||
install -D --mode=644 jellyfin.service "%{buildroot}%{_unitdir}/jellyfin.service"
|
|
||||||
install -D --mode=640 jellyfin "%{buildroot}%{_sysconfdir}/jellyfin/jellyfin.env"
|
|
||||||
popd
|
|
||||||
|
|
||||||
install -D --mode=0644 "%{SOURCE2}" "%{buildroot}%{_tmpfilesdir}/jellyfin.conf"
|
|
||||||
|
|
||||||
install --directory --mode=750 "%{buildroot}%{_localstatedir}/cache/jellyfin"
|
|
||||||
install --directory --mode=750 "%{buildroot}%{_sharedstatedir}/jellyfin"
|
|
||||||
find %{buildroot}
|
|
||||||
|
|
||||||
|
|
||||||
%files
|
|
||||||
%license LICENSE
|
|
||||||
%{_bindir}/jellyfin
|
|
||||||
%{_libdir}/jellyfin
|
|
||||||
%{_tmpfilesdir}/jellyfin.conf
|
|
||||||
%{_unitdir}/jellyfin.service
|
|
||||||
%defattr(640,jellyfin,jellyfin,750)
|
|
||||||
%dir %{_localstatedir}/cache/jellyfin
|
|
||||||
%dir %{_sharedstatedir}/jellyfin
|
|
||||||
%dir %{_sysconfdir}/jellyfin
|
|
||||||
%config(noreplace) %{_sysconfdir}/jellyfin/jellyfin.env
|
|
||||||
|
|
||||||
|
|
||||||
%pre
|
|
||||||
getent group jellyfin > /dev/null || groupadd --system jellyfin
|
|
||||||
getent passwd jellyfin > /dev/null || \
|
|
||||||
useradd --system --home-dir "%{_sharedstatedir}/jellyfin" --gid jellyfin \
|
|
||||||
-s /sbin/nologin -c "jellyfin daemon" jellyfin
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
|
|
||||||
%post
|
|
||||||
%systemd_post jellyfin.service
|
|
||||||
|
|
||||||
|
|
||||||
%preun
|
|
||||||
%systemd_preun jellyfin.service
|
|
||||||
|
|
||||||
|
|
||||||
%postun
|
|
||||||
%systemd_postun jellyfin.service
|
|
||||||
@ -1 +0,0 @@
|
|||||||
d /var/log/jellyfin 0750 jellyfin jellyfin
|
|
||||||
@ -1 +0,0 @@
|
|||||||
1
|
|
||||||
@ -1,25 +0,0 @@
|
|||||||
# Start with the AlmaLinux 9 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 resources from the context into the container
|
|
||||||
COPY resources /app/resources
|
|
||||||
|
|
||||||
# Download the required files
|
|
||||||
RUN mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} && \
|
|
||||||
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,43 +0,0 @@
|
|||||||
%global jellyfin_version 10.10.7
|
|
||||||
|
|
||||||
|
|
||||||
Name: jellyfin-web
|
|
||||||
Version: %{jellyfin_version}
|
|
||||||
Release: 1
|
|
||||||
Summary: The Free Software Media System - Official Web Client
|
|
||||||
|
|
||||||
|
|
||||||
License: GPL-2.0-or-later
|
|
||||||
URL: https://github.com/jellyfin/jellyfin-web
|
|
||||||
Source0: https://github.com/jellyfin/jellyfin-web/archive/refs/tags/v%{version}.tar.gz
|
|
||||||
|
|
||||||
|
|
||||||
BuildArch: noarch
|
|
||||||
|
|
||||||
|
|
||||||
BuildRequires: git
|
|
||||||
BuildRequires: nodejs
|
|
||||||
BuildRequires: npm
|
|
||||||
|
|
||||||
|
|
||||||
%description
|
|
||||||
%{summary}.
|
|
||||||
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q -n jellyfin-web-%{version}
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
|
||||||
SKIP_PREPARE=1 npm ci --no-audit --no-fund --no-update-notifier
|
|
||||||
npm run build:production
|
|
||||||
|
|
||||||
|
|
||||||
%install
|
|
||||||
install --directory "%{buildroot}%{_datadir}/jellyfin/web"
|
|
||||||
cp --recursive dist/* "%{buildroot}%{_datadir}/jellyfin/web"
|
|
||||||
|
|
||||||
|
|
||||||
%files
|
|
||||||
%license LICENSE
|
|
||||||
%{_datadir}/jellyfin/web
|
|
||||||
Loading…
Reference in New Issue
Block a user