From 104f91e697d8c5c4bb71ce995c2b95ab75d84dae Mon Sep 17 00:00:00 2001 From: Uruk Date: Fri, 23 Feb 2024 17:52:10 +0100 Subject: Refactor jellyfin-packaging - Fix typo in the README - Added -f to rm from fix https://github.com/jellyfin/jellyfin/pull/11008 - Apply fix from https://github.com/jellyfin/jellyfin/pull/10763 - Refactor Docker for better syntax and readability - Update Intel runtime drivers to 24.05.28454.6 - Added possible miss line 159 docker/Dockerfile : "--ffmpeg", "/usr/lib/jellyfin-ffmpeg/ffmpeg" - Removed wget in cleanup --- debian/conf/jellyfin.init | 5 +++-- debian/docker/Dockerfile | 16 ++++++++-------- debian/rules | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) (limited to 'debian') diff --git a/debian/conf/jellyfin.init b/debian/conf/jellyfin.init index 784536d..72cf2e2 100644 --- a/debian/conf/jellyfin.init +++ b/debian/conf/jellyfin.init @@ -19,13 +19,14 @@ fi . /lib/lsb/init-functions +JELLYFIN_HOME="/var/lib/jellyfin/" PIDFILE="/run/jellyfin.pid" case "$1" in start) log_daemon_msg "Starting Jellyfin Media Server" "jellyfin" || true - if start-stop-daemon --start --quiet --oknodo --background --pidfile $PIDFILE --make-pidfile --user $JELLYFIN_USER --chuid $JELLYFIN_USER --exec /usr/bin/jellyfin -- $JELLYFIN_ARGS; then + if start-stop-daemon --start --quiet --oknodo --background --chdir $JELLYFIN_HOME --pidfile $PIDFILE --make-pidfile --user $JELLYFIN_USER --chuid $JELLYFIN_USER --exec /usr/bin/jellyfin -- $JELLYFIN_ARGS; then log_end_msg 0 || true else log_end_msg 1 || true @@ -44,7 +45,7 @@ case "$1" in restart) log_daemon_msg "Restarting Jellyfin Media Server" "jellyfin" || true start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDFILE --remove-pidfile - if start-stop-daemon --start --quiet --oknodo --background --pidfile $PIDFILE --make-pidfile --user $JELLYFIN_USER --chuid $JELLYFIN_USER --exec /usr/bin/jellyfin -- $JELLYFIN_ARGS; then + if start-stop-daemon --start --quiet --oknodo --background --chdir $JELLYFIN_HOME --pidfile $PIDFILE --make-pidfile --user $JELLYFIN_USER --chuid $JELLYFIN_USER --exec /usr/bin/jellyfin -- $JELLYFIN_ARGS; then log_end_msg 0 || true else log_end_msg 1 || true diff --git a/debian/docker/Dockerfile b/debian/docker/Dockerfile index 02caa7b..8766278 100644 --- a/debian/docker/Dockerfile +++ b/debian/docker/Dockerfile @@ -32,11 +32,8 @@ RUN apt-get update -y \ && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC \ apt-get install --no-install-recommends -y \ wget debhelper gnupg devscripts build-essential mmv lsb-release \ - libssl*.* liblttng-ust* \ - libfontconfig*-dev libcurl*openssl-dev libfreetype*-dev libssl-dev \ - && apt-get clean autoclean -y \ - && apt-get autoremove -y \ - && rm -rf /var/lib/apt/lists/* + libssl*.* liblttng-ust* libfontconfig*-dev libcurl*openssl-dev \ + libfreetype*-dev libssl-dev # Prepare the cross-toolchain RUN if test "${PACKAGE_ARCH}" != "$( dpkg --print-architecture )"; then \ @@ -67,9 +64,6 @@ RUN if test "${PACKAGE_ARCH}" != "$( dpkg --print-architecture )"; then \ libc6-dev:${PACKAGE_ARCH} linux-libc-dev:${PACKAGE_ARCH} libgcc1:${PACKAGE_ARCH} libstdc++-${GCC_VERSION}-dev:${PACKAGE_ARCH} \ libfontconfig*-dev:${PACKAGE_ARCH} libcurl*openssl-dev:${PACKAGE_ARCH} libfreetype*-dev:${PACKAGE_ARCH} libssl-dev:${PACKAGE_ARCH} \ libssl[13].*:${PACKAGE_ARCH} liblttng-ust*:${PACKAGE_ARCH} \ - && apt-get clean autoclean -y \ - && apt-get autoremove -y \ - && rm -rf /var/lib/apt/lists/* \ ; fi # Prepare dotnet SDK @@ -86,6 +80,12 @@ RUN wget https://deb.nodesource.com/setup_${NODEJS_VERSION}.x -O nodejs-install. && apt-get install -y \ nodejs +# Clean up dependencies +RUN apt-get remove wget -y \ + && apt-get clean autoclean -y \ + && apt-get autoremove -y \ + && rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/* + # Link to build script RUN ln -sf ${SOURCE_DIR}/debian/docker/build.sh /build.sh diff --git a/debian/rules b/debian/rules index 678c4d8..e8a07bb 100755 --- a/debian/rules +++ b/debian/rules @@ -42,7 +42,7 @@ override_dh_auto_build: cd jellyfin-server && dotnet publish -maxcpucount:1 --configuration $(CONFIG) \ --output='$(CURDIR)/build/usr/lib/jellyfin/bin' --self-contained --runtime $(DOTNETRUNTIME) \ -p:DebugSymbols=false -p:DebugType=none Jellyfin.Server - rm $(CURDIR)/build/usr/lib/jellyfin/bin/libcoreclrtraceptprovider.so + rm -f $(CURDIR)/build/usr/lib/jellyfin/bin/libcoreclrtraceptprovider.so cd jellyfin-web && npm ci --no-audit --unsafe-perm && \ npm run build:production && mv $(CURDIR)/jellyfin-web/dist $(CURDIR)/build/web -- cgit