aboutsummaryrefslogtreecommitdiff
path: root/deployment
diff options
context:
space:
mode:
Diffstat (limited to 'deployment')
-rwxr-xr-xdeployment/common.build.sh7
-rw-r--r--deployment/debian-package-armhf/Dockerfile.amd6442
-rw-r--r--deployment/debian-package-armhf/Dockerfile.armhf34
-rwxr-xr-xdeployment/debian-package-armhf/clean.sh29
-rw-r--r--deployment/debian-package-armhf/dependencies.txt1
-rwxr-xr-xdeployment/debian-package-armhf/docker-build.sh20
-rwxr-xr-xdeployment/debian-package-armhf/package.sh42
l---------deployment/debian-package-armhf/pkg-src1
-rw-r--r--deployment/debian-package-x64/pkg-src/changelog141
-rw-r--r--deployment/debian-package-x64/pkg-src/conf/jellyfin6
-rw-r--r--deployment/debian-package-x64/pkg-src/control7
-rw-r--r--deployment/debian-package-x64/pkg-src/rules21
-rwxr-xr-xdeployment/debian-x64/build.sh7
-rw-r--r--deployment/fedora-package-x64/Dockerfile2
-rwxr-xr-xdeployment/fedora-package-x64/create_tarball.sh55
-rwxr-xr-xdeployment/fedora-package-x64/package.sh47
-rw-r--r--deployment/fedora-package-x64/pkg-src/jellyfin.spec137
-rwxr-xr-xdeployment/macos/build.sh (renamed from deployment/osx-x64/build.sh)0
-rwxr-xr-xdeployment/macos/clean.sh (renamed from deployment/debian-x64/clean.sh)0
-rw-r--r--deployment/macos/dependencies.txt (renamed from deployment/debian-x64/dependencies.txt)0
-rwxr-xr-xdeployment/macos/package.sh (renamed from deployment/debian-x64/package.sh)0
-rwxr-xr-xdeployment/osx-x64/clean.sh7
-rwxr-xr-xdeployment/osx-x64/package.sh7
-rwxr-xr-xdeployment/portable/build.sh (renamed from deployment/framework/build.sh)0
-rwxr-xr-xdeployment/portable/clean.sh (renamed from deployment/framework/clean.sh)0
-rwxr-xr-xdeployment/portable/package.sh (renamed from deployment/framework/package.sh)0
-rwxr-xr-xdeployment/ubuntu-x64/build.sh7
-rwxr-xr-xdeployment/ubuntu-x64/clean.sh7
-rw-r--r--deployment/ubuntu-x64/dependencies.txt1
-rwxr-xr-xdeployment/ubuntu-x64/package.sh7
-rw-r--r--deployment/win-generic/dependencies.txt1
-rwxr-xr-xdeployment/win-x64/package.sh3
-rw-r--r--deployment/windows/build-jellyfin.ps1 (renamed from deployment/win-generic/build-jellyfin.ps1)4
-rw-r--r--deployment/windows/dependencies.txt (renamed from deployment/osx-x64/dependencies.txt)0
-rw-r--r--deployment/windows/install-jellyfin.ps1 (renamed from deployment/win-generic/install-jellyfin.ps1)0
-rw-r--r--deployment/windows/install.bat (renamed from deployment/win-generic/install.bat)0
36 files changed, 535 insertions, 108 deletions
diff --git a/deployment/common.build.sh b/deployment/common.build.sh
index c191ec2a1..d028e3a66 100755
--- a/deployment/common.build.sh
+++ b/deployment/common.build.sh
@@ -15,7 +15,6 @@ DEFAULT_CONFIG="Release"
DEFAULT_OUTPUT_DIR="dist/jellyfin-git"
DEFAULT_PKG_DIR="pkg-dist"
DEFAULT_DOCKERFILE="Dockerfile"
-DEFAULT_IMAGE_TAG="jellyfin:"`git rev-parse --abbrev-ref HEAD`
DEFAULT_ARCHIVE_CMD="tar -xvzf"
# Parse the version from the AssemblyVersion
@@ -36,9 +35,9 @@ build_jellyfin()
echo -e "${CYAN}Building jellyfin in '${ROOT}' for ${DOTNETRUNTIME} with configuration ${CONFIG} and output directory '${OUTPUT_DIR}'.${NC}"
if [[ $DOTNETRUNTIME == 'framework' ]]; then
- dotnet publish "${ROOT}" --configuration "${CONFIG}" --output="${OUTPUT_DIR}"
+ dotnet publish "${ROOT}" --configuration "${CONFIG}" --output="${OUTPUT_DIR}" "-p:GenerateDocumentationFile=false;DebugSymbols=false;DebugType=none"
else
- dotnet publish "${ROOT}" --configuration "${CONFIG}" --output="${OUTPUT_DIR}" --self-contained --runtime ${DOTNETRUNTIME}
+ dotnet publish "${ROOT}" --configuration "${CONFIG}" --output="${OUTPUT_DIR}" --self-contained --runtime ${DOTNETRUNTIME} "-p:GenerateDocumentationFile=false;DebugSymbols=false;DebugType=none"
fi
EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ]; then
@@ -53,7 +52,7 @@ build_jellyfin_docker()
(
BUILD_CONTEXT=${1-$DEFAULT_BUILD_CONTEXT}
DOCKERFILE=${2-$DEFAULT_DOCKERFILE}
- IMAGE_TAG=${3-$DEFAULT_IMAGE_TAG}
+ IMAGE_TAG=${3-"jellyfin:$(git rev-parse --abbrev-ref HEAD)"}
echo -e "${CYAN}Building jellyfin docker image in '${BUILD_CONTEXT}' with Dockerfile '${DOCKERFILE}' and tag '${IMAGE_TAG}'.${NC}"
docker build -t ${IMAGE_TAG} -f ${DOCKERFILE} ${BUILD_CONTEXT}
diff --git a/deployment/debian-package-armhf/Dockerfile.amd64 b/deployment/debian-package-armhf/Dockerfile.amd64
new file mode 100644
index 000000000..0d62352e0
--- /dev/null
+++ b/deployment/debian-package-armhf/Dockerfile.amd64
@@ -0,0 +1,42 @@
+FROM debian:9
+# Docker build arguments
+ARG SOURCE_DIR=/jellyfin
+ARG PLATFORM_DIR=/jellyfin/deployment/debian-package-armhf
+ARG ARTIFACT_DIR=/dist
+ARG SDK_VERSION=2.2
+# Docker run environment
+ENV SOURCE_DIR=/jellyfin
+ENV ARTIFACT_DIR=/dist
+ENV DEB_BUILD_OPTIONS=noddebs
+ENV ARCH=amd64
+
+# Prepare Debian build environment
+RUN apt-get update \
+ && apt-get install -y apt-transport-https debhelper gnupg wget devscripts mmv
+
+# Install dotnet repository
+# https://dotnet.microsoft.com/download/linux-package-manager/debian9/sdk-current
+RUN wget https://download.visualstudio.microsoft.com/download/pr/69937b49-a877-4ced-81e6-286620b390ab/8ab938cf6f5e83b2221630354160ef21/dotnet-sdk-2.2.104-linux-x64.tar.gz -O dotnet-sdk.tar.gz \
+ && mkdir -p dotnet-sdk \
+ && tar -xzf dotnet-sdk.tar.gz -C dotnet-sdk \
+ && ln -s $( pwd )/dotnet-sdk/dotnet /usr/bin/dotnet
+
+# Prepare the cross-toolchain
+RUN dpkg --add-architecture armhf \
+ && apt-get update \
+ && apt-get install -y cross-gcc-dev \
+ && TARGET_LIST="armhf" cross-gcc-gensource 6 \
+ && cd cross-gcc-packages-amd64/cross-gcc-6-armhf \
+ && apt-get install -y gcc-6-source libstdc++6-armhf-cross binutils-arm-linux-gnueabihf bison flex libtool gdb sharutils netbase libcloog-isl-dev libmpc-dev libmpfr-dev libgmp-dev systemtap-sdt-dev autogen expect chrpath zlib1g-dev zip libc6-dev:armhf linux-libc-dev:armhf libgcc1:armhf libcurl4-openssl-dev:armhf libfontconfig1-dev:armhf libfreetype6-dev:armhf liblttng-ust0:armhf libstdc++6:armhf
+
+# Link to docker-build script
+RUN ln -sf ${PLATFORM_DIR}/docker-build.sh /docker-build.sh
+
+# Link to Debian source dir; mkdir needed or it fails, can't force dest
+RUN mkdir -p ${SOURCE_DIR} && ln -sf ${PLATFORM_DIR}/pkg-src ${SOURCE_DIR}/debian
+
+VOLUME ${ARTIFACT_DIR}/
+
+COPY . ${SOURCE_DIR}/
+
+ENTRYPOINT ["/docker-build.sh"]
diff --git a/deployment/debian-package-armhf/Dockerfile.armhf b/deployment/debian-package-armhf/Dockerfile.armhf
new file mode 100644
index 000000000..eb4152116
--- /dev/null
+++ b/deployment/debian-package-armhf/Dockerfile.armhf
@@ -0,0 +1,34 @@
+FROM debian:9
+# Docker build arguments
+ARG SOURCE_DIR=/jellyfin
+ARG PLATFORM_DIR=/jellyfin/deployment/debian-package-armhf
+ARG ARTIFACT_DIR=/dist
+ARG SDK_VERSION=2.2
+# Docker run environment
+ENV SOURCE_DIR=/jellyfin
+ENV ARTIFACT_DIR=/dist
+ENV DEB_BUILD_OPTIONS=noddebs
+ENV ARCH=armhf
+
+# Prepare Debian build environment
+RUN apt-get update \
+ && apt-get install -y apt-transport-https debhelper gnupg wget devscripts mmv libc6-dev libcurl4-openssl-dev libfontconfig1-dev libfreetype6-dev liblttng-ust0
+
+# Install dotnet repository
+# https://dotnet.microsoft.com/download/linux-package-manager/debian9/sdk-current
+RUN wget https://download.visualstudio.microsoft.com/download/pr/d9f37b73-df8d-4dfa-a905-b7648d3401d0/6312573ac13d7a8ddc16e4058f7d7dc5/dotnet-sdk-2.2.104-linux-arm.tar.gz -O dotnet-sdk.tar.gz \
+ && mkdir -p dotnet-sdk \
+ && tar -xzf dotnet-sdk.tar.gz -C dotnet-sdk \
+ && ln -s $( pwd )/dotnet-sdk/dotnet /usr/bin/dotnet
+
+# Link to docker-build script
+RUN ln -sf ${PLATFORM_DIR}/docker-build.sh /docker-build.sh
+
+# Link to Debian source dir; mkdir needed or it fails, can't force dest
+RUN mkdir -p ${SOURCE_DIR} && ln -sf ${PLATFORM_DIR}/pkg-src ${SOURCE_DIR}/debian
+
+VOLUME ${ARTIFACT_DIR}/
+
+COPY . ${SOURCE_DIR}/
+
+ENTRYPOINT ["/docker-build.sh"]
diff --git a/deployment/debian-package-armhf/clean.sh b/deployment/debian-package-armhf/clean.sh
new file mode 100755
index 000000000..3898110af
--- /dev/null
+++ b/deployment/debian-package-armhf/clean.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+source ../common.build.sh
+
+keep_artifacts="${1}"
+
+WORKDIR="$( pwd )"
+
+package_temporary_dir="${WORKDIR}/pkg-dist-tmp"
+output_dir="${WORKDIR}/pkg-dist"
+current_user="$( whoami )"
+image_name="jellyfin-debian_armhf-build"
+
+rm -rf "${package_temporary_dir}" &>/dev/null \
+ || sudo rm -rf "${package_temporary_dir}" &>/dev/null
+
+rm -rf "${output_dir}" &>/dev/null \
+ || sudo rm -rf "${output_dir}" &>/dev/null
+
+if [[ ${keep_artifacts} == 'n' ]]; then
+ docker_sudo=""
+ if [[ ! -z $(id -Gn | grep -q 'docker') ]] \
+ && [[ ! ${EUID:-1000} -eq 0 ]] \
+ && [[ ! ${USER} == "root" ]] \
+ && [[ ! -z $( echo "${OSTYPE}" | grep -q "darwin" ) ]]; then
+ docker_sudo=sudo
+ fi
+ ${docker_sudo} docker image rm ${image_name} --force
+fi
diff --git a/deployment/debian-package-armhf/dependencies.txt b/deployment/debian-package-armhf/dependencies.txt
new file mode 100644
index 000000000..bdb967096
--- /dev/null
+++ b/deployment/debian-package-armhf/dependencies.txt
@@ -0,0 +1 @@
+docker
diff --git a/deployment/debian-package-armhf/docker-build.sh b/deployment/debian-package-armhf/docker-build.sh
new file mode 100755
index 000000000..45e68f0c6
--- /dev/null
+++ b/deployment/debian-package-armhf/docker-build.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+# Builds the DEB inside the Docker container
+
+set -o errexit
+set -o xtrace
+
+# Move to source directory
+pushd ${SOURCE_DIR}
+
+# Remove build-dep for dotnet-sdk-2.2, since it's not a package in this image
+sed -i '/dotnet-sdk-2.2,/d' debian/control
+
+# Build DEB
+export CONFIG_SITE=/etc/dpkg-cross/cross-config.${ARCH}
+dpkg-buildpackage -us -uc -aarmhf
+
+# Move the artifacts out
+mkdir -p ${ARTIFACT_DIR}/deb
+mv /jellyfin_* ${ARTIFACT_DIR}/deb/
diff --git a/deployment/debian-package-armhf/package.sh b/deployment/debian-package-armhf/package.sh
new file mode 100755
index 000000000..0ec0dc95c
--- /dev/null
+++ b/deployment/debian-package-armhf/package.sh
@@ -0,0 +1,42 @@
+#!/usr/bin/env bash
+
+source ../common.build.sh
+
+ARCH="$( arch )"
+WORKDIR="$( pwd )"
+
+package_temporary_dir="${WORKDIR}/pkg-dist-tmp"
+output_dir="${WORKDIR}/pkg-dist"
+current_user="$( whoami )"
+image_name="jellyfin-debian_armhf-build"
+
+# Determine if sudo should be used for Docker
+if [[ ! -z $(id -Gn | grep -q 'docker') ]] \
+ && [[ ! ${EUID:-1000} -eq 0 ]] \
+ && [[ ! ${USER} == "root" ]] \
+ && [[ ! -z $( echo "${OSTYPE}" | grep -q "darwin" ) ]]; then
+ docker_sudo="sudo"
+else
+ docker_sudo=""
+fi
+
+# Determine which Dockerfile to use
+case $ARCH in
+ 'x86_64')
+ DOCKERFILE="Dockerfile.amd64"
+ ;;
+ 'armv7l')
+ DOCKERFILE="Dockerfile.armhf"
+ ;;
+esac
+
+# Set up the build environment Docker image
+${docker_sudo} docker build ../.. -t "${image_name}" -f ./${DOCKERFILE}
+# Build the DEBs and copy out to ${package_temporary_dir}
+${docker_sudo} docker run --rm -v "${package_temporary_dir}:/dist" "${image_name}"
+# Correct ownership on the DEBs (as current user, then as root if that fails)
+chown -R "${current_user}" "${package_temporary_dir}" &>/dev/null \
+ || sudo chown -R "${current_user}" "${package_temporary_dir}" &>/dev/null
+# Move the DEBs to the output directory
+mkdir -p "${output_dir}"
+mv "${package_temporary_dir}"/deb/* "${output_dir}"
diff --git a/deployment/debian-package-armhf/pkg-src b/deployment/debian-package-armhf/pkg-src
new file mode 120000
index 000000000..4c695fea1
--- /dev/null
+++ b/deployment/debian-package-armhf/pkg-src
@@ -0,0 +1 @@
+../debian-package-x64/pkg-src \ No newline at end of file
diff --git a/deployment/debian-package-x64/pkg-src/changelog b/deployment/debian-package-x64/pkg-src/changelog
index 7f3f12b00..349e8787f 100644
--- a/deployment/debian-package-x64/pkg-src/changelog
+++ b/deployment/debian-package-x64/pkg-src/changelog
@@ -1,3 +1,144 @@
+jellyfin (10.2.2-1) unstable; urgency=medium
+
+ * jellyfin:
+ * PR968 Release 10.2.z copr autobuild
+ * PR964 Install the dotnet runtime package in Fedora build
+ * PR979 Build Package releases without debug turned on
+ * PR990 Fix slow local image validation
+ * PR991 Fix the ffmpeg compatibility
+ * PR992 Add Debian armhf (Raspberry Pi) build plus crossbuild
+ * PR998 Set EnableRaisingEvents to true for processes that require it
+ * PR1017 Set ffmpeg+ffprobe paths in Docker container
+ * jellyfin-web:
+ * PR152 Go back on Media stop
+ * PR156 Fix volume slider not working on nowplayingbar
+
+ -- Jellyfin Packaging Team <packaging@jellyfin.org> Thu, 28 Feb 2019 15:32:16 -0500
+
+jellyfin (10.2.1-1) unstable; urgency=medium
+
+ * jellyfin:
+ * PR920 Fix cachedir missing from Docker container
+ * PR924 Use the movie name instead of folder name
+ * PR933 Semi-revert to prefer old movie grouping behaviour
+ * PR948 Revert movie matching (supercedes PR933, PR924, PR739)
+ * PR960 Use jellyfin/ffmpeg image
+ * jellyfin-web:
+ * PR136 Re-add OpenSubtitles configuration page
+ * PR137 Replace HeaderEmbyServer with HeaderJellyfinServer on plugincatalog
+ * PR138 Remove left-over JS for Customize Home Screen
+ * PR141 Exit fullscreen automatically after video playback ends
+
+ -- Jellyfin Packaging Team <packaging@jellyfin.org> Wed, 20 Feb 2019 11:36:16 -0500
+
+jellyfin (10.2.0-2) unstable; urgency=medium
+
+ * jellyfin:
+ * PR452 Use EF Core for Activity database
+ * PR535 Clean up streambuilder
+ * PR655 Support trying local branches in submodule
+ * PR656 Do some logging in MediaInfoService
+ * PR657 Remove conditions that are always true/false
+ * PR661 Fix NullRef from progress report
+ * PR663 Use TagLibSharp Nuget package
+ * PR664 Revert "Fix segment_time_delta for ffmpeg 4.1"
+ * PR666 Add cross-platform build for arm64
+ * PR668 Return Audio objects from MusicAlbum.Tracks
+ * PR671 Set EnableRaisingEvents correctly
+ * PR672 Remove unconditional caching, modified since header and use ETags
+ * PR677 Fix arm32 Docker
+ * PR681 Fix Windows build script errors + pin ffmpeg to 4.0
+ * PR686 Disable some StyleCop warnings
+ * PR687 Fix some analyzer warnings
+ * PR689 Fix RPM package build for fedora
+ * PR702 Fix debug build on windows
+ * PR706 Make another docker layer reusable
+ * PR709 Fix always null expressions
+ * PR710 Fix a spelling mistake
+ * PR711 Remove remnants of system events
+ * PR713 Fix empty statement in DidlBuilder.cs
+ * PR716 Remove more compile time warnings
+ * PR721 Change image dimentions from double to int
+ * PR723 Minor improvements to db code
+ * PR724 Move Skia back into it's own project
+ * PR726 Clean up IFileSystem wrappers around stdlib.
+ * PR727 Change default aspect ratio to 2/3 from 0
+ * PR728 Use ffmpeg from jrottenberg/ffmpeg
+ * PR732 Reworked LocalizationManager to load data async
+ * PR733 Remove unused function
+ * PR734 Fix more analyzer warnings
+ * PR736 Start startup tasks async
+ * PR737 Add AssemblyInfo for Jellyfin.Drawing.Skia
+ * PR739 Change multi version logic for movies
+ * PR740 Remove code for pre-installed plugins & properly check if file exists
+ * PR756 Make cache dir configurable
+ * PR757 Fix default aspect ratio
+ * PR758 Add password field to initial setup
+ * PR764 Remove dead code, made some functions properly async
+ * PR769 Fix conditions where the ! was swallowed in #726
+ * PR774 reimplement support for plugin repository
+ * PR782 Remove commented file MediaBrowser.LocalMetadata.Savers.PersonXmlSaver
+ * PR783 Update builds to use #749 and #756
+ * PR788 Fix more warnings
+ * PR794 Remove MoreLINQ
+ * PR797 Fix all warnings
+ * PR798 Cleanup around the api endpoints
+ * PR800 Add CentOS and update rpm spec for the cachedir option
+ * PR802 Fix build error
+ * PR804 Handle new option parser properly
+ * PR805 Add weblate translation status to README
+ * PR807 Fix restart script in OS packages
+ * PR810 Fix loading of rating files
+ * PR812 Fix up the explicit docs links in the README
+ * PR819 Some small changes in Device.cs and DidlBuilder.cs
+ * PR822 Complete rename ImageSize -> ImageDimensions
+ * PR824 Improved Docker pkgbuild
+ * PR831 Move some arrays to generics
+ * PR833 Add await to GetCountries in LocalizationService
+ * PR834 Add donation badge and reorganize badges
+ * PR838 Quick style fix
+ * PR840 Fix more warnings
+ * PR841 Fix OC badge to all and add forum badge
+ * PR842 Use VAAPI-enabled ffmpeg
+ * PR852 Use SQLitePCL.pretty.netstandard on NuGet
+ * PR853 Fix poor handling of cache directories
+ * PR864: Add support for ZIP plugin archives
+ * PR868: Fix audio streaming via BaseProgressiveStreamingService
+ * PR869: Remove DLL support and require all packages/plugins to be zip archives
+ * PR872: Fix potential NullReferenceException
+ * PR890: Drop ETag and use Last-Modified header
+ * PR892: Add jellyfin-ffmpeg and versioning to package deps
+ * PR899: DLNA: Fix race condition leading to missing device names
+ * PR901: Properly dispose HttpWebResponse when the request failed to avoid 'too many open files'
+ * PR909: Fix docker arm builds
+ * PR910: Enhance Dockerfiles
+ * PR911: Checkout submodules in Docker Hub hook
+ * jellyfin-web:
+ * PR51 remove more code for sync and camera roll
+ * PR56 Use English for fallback translations and clean up language files
+ * PR58 Css slider fixes
+ * PR62 remove BOM markers
+ * PR65 Fix profile image not being shown on profile page
+ * PR73 Dev sync
+ * PR74 Add download menu option to media items
+ * PR75 User profile fixes
+ * PR76 Fix syntax error caused by deminification
+ * PR79 Remove unused Connect related from the frontend
+ * PR80 Remove games
+ * PR92 Added frontend support for a password field on setup
+ * PR94 Update british strings
+ * PR95 add display language option back
+ * PR112 Removed seasonal theme support
+ * PR116 Consolidate all strings into a single file per language
+ * PR117 Fix volume slider behavior
+ * PR118 Enable and fix PiP for Safari
+ * PR119 Make the toggle track visible on all themes
+ * PR121 Fix syntax error in site.js
+ * PR127 Change sharedcomponents module to core
+ * PR135 Make sure fallback culture is always available
+
+ -- Jellyfin Packaging Team <packaging@jellyfin.org> Fri, 15 Feb 2019 20:51:25 -0500
+
jellyfin (10.1.0-1) unstable; urgency=medium
* jellyfin:
diff --git a/deployment/debian-package-x64/pkg-src/conf/jellyfin b/deployment/debian-package-x64/pkg-src/conf/jellyfin
index b052b2ec6..58fe79332 100644
--- a/deployment/debian-package-x64/pkg-src/conf/jellyfin
+++ b/deployment/debian-package-x64/pkg-src/conf/jellyfin
@@ -21,9 +21,9 @@ JELLYFIN_CACHE_DIRECTORY="/var/cache/jellyfin"
# Restart script for in-app server control
JELLYFIN_RESTART_OPT="--restartpath=/usr/lib/jellyfin/restart.sh"
-# [OPTIONAL] ffmpeg binary paths, overriding the UI-configured values
-#JELLYFIN_FFMPEG_OPT="--ffmpeg=/usr/bin/ffmpeg"
-#JELLYFIN_FFPROBE_OPT="--ffprobe=/usr/bin/ffprobe"
+# ffmpeg binary paths, overriding the system values
+JELLYFIN_FFMPEG_OPT="--ffmpeg=/usr/share/jellyfin-ffmpeg/ffmpeg"
+JELLYFIN_FFPROBE_OPT="--ffprobe=/usr/share/jellyfin-ffmpeg/ffprobe"
# [OPTIONAL] run Jellyfin as a headless service
#JELLYFIN_SERVICE_OPT="--service"
diff --git a/deployment/debian-package-x64/pkg-src/control b/deployment/debian-package-x64/pkg-src/control
index 74bebeaf1..d96660590 100644
--- a/deployment/debian-package-x64/pkg-src/control
+++ b/deployment/debian-package-x64/pkg-src/control
@@ -18,6 +18,11 @@ Replaces: mediabrowser, emby, emby-server-beta, jellyfin-dev, emby-server
Breaks: mediabrowser, emby, emby-server-beta, jellyfin-dev, emby-server
Conflicts: mediabrowser, emby, emby-server-beta, jellyfin-dev, emby-server
Architecture: any
-Depends: at, libsqlite3-0, ffmpeg, libfontconfig1, libfreetype6, libssl1.0.0 | libssl1.0.2
+Depends: at,
+ libsqlite3-0,
+ jellyfin-ffmpeg,
+ libfontconfig1,
+ libfreetype6,
+ libssl1.0.0 | libssl1.0.2
Description: Jellyfin is a home media server.
It is built on top of other popular open source technologies such as Service Stack, jQuery, jQuery mobile, and Mono. It features a REST-based api with built-in documentation to facilitate client development. We also have client libraries for our api to enable rapid development.
diff --git a/deployment/debian-package-x64/pkg-src/rules b/deployment/debian-package-x64/pkg-src/rules
index ce98cb8f8..62f75bc6b 100644
--- a/deployment/debian-package-x64/pkg-src/rules
+++ b/deployment/debian-package-x64/pkg-src/rules
@@ -2,7 +2,23 @@
CONFIG := Release
TERM := xterm
SHELL := /bin/bash
-DOTNETRUNTIME := debian-x64
+
+HOST_ARCH := $(shell arch)
+BUILD_ARCH := ${DEB_HOST_MULTIARCH}
+ifeq ($(HOST_ARCH),x86_64)
+ ifeq ($(BUILD_ARCH),arm-linux-gnueabihf)
+ # Cross-building ARM on AMD64
+ DOTNETRUNTIME := debian-arm
+ else
+ # Building AMD64
+ DOTNETRUNTIME := debian-x64
+ endif
+endif
+ifeq ($(HOST_ARCH),armv7l)
+ # Building ARM
+ DOTNETRUNTIME := debian-arm
+endif
+
export DH_VERBOSE=1
export DOTNET_CLI_TELEMETRY_OPTOUT=1
@@ -16,7 +32,8 @@ override_dh_auto_test:
override_dh_clistrip:
override_dh_auto_build:
- dotnet publish --configuration $(CONFIG) --output='$(CURDIR)/usr/lib/jellyfin/bin' --self-contained --runtime $(DOTNETRUNTIME) Jellyfin.Server
+ dotnet publish --configuration $(CONFIG) --output='$(CURDIR)/usr/lib/jellyfin/bin' --self-contained --runtime $(DOTNETRUNTIME) \
+ "-p:GenerateDocumentationFile=false;DebugSymbols=false;DebugType=none" Jellyfin.Server
override_dh_auto_clean:
dotnet clean -maxcpucount:1 --configuration $(CONFIG) Jellyfin.Server || true
diff --git a/deployment/debian-x64/build.sh b/deployment/debian-x64/build.sh
deleted file mode 100755
index 47cfb5327..000000000
--- a/deployment/debian-x64/build.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-source ../common.build.sh
-
-VERSION=`get_version ../..`
-
-build_jellyfin ../../Jellyfin.Server Release debian-x64 `pwd`/dist/jellyfin_${VERSION}
diff --git a/deployment/fedora-package-x64/Dockerfile b/deployment/fedora-package-x64/Dockerfile
index 8bb1d527d..397c944ea 100644
--- a/deployment/fedora-package-x64/Dockerfile
+++ b/deployment/fedora-package-x64/Dockerfile
@@ -13,7 +13,7 @@ RUN dnf update -y \
&& dnf install -y @buildsys-build rpmdevtools dnf-plugins-core libcurl-devel fontconfig-devel freetype-devel openssl-devel glibc-devel libicu-devel \
&& dnf copr enable -y @dotnet-sig/dotnet \
&& rpmdev-setuptree \
- && dnf install -y dotnet-sdk-${SDK_VERSION} \
+ && dnf install -y dotnet-sdk-${SDK_VERSION} dotnet-runtime-${SDK_VERSION} \
&& ln -sf ${PLATFORM_DIR}/docker-build.sh /docker-build.sh \
&& mkdir -p ${SOURCE_DIR}/SPECS \
&& ln -s ${PLATFORM_DIR}/pkg-src/jellyfin.spec ${SOURCE_DIR}/SPECS/jellyfin.spec \
diff --git a/deployment/fedora-package-x64/create_tarball.sh b/deployment/fedora-package-x64/create_tarball.sh
new file mode 100755
index 000000000..e8301c989
--- /dev/null
+++ b/deployment/fedora-package-x64/create_tarball.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+
+# shellcheck disable=SC1091
+source ../common.build.sh
+
+WORKDIR="$( pwd )"
+VERSION="$( sed -ne '/^Version:/s/.* *//p' "${WORKDIR}"/pkg-src/jellyfin.spec )"
+
+package_temporary_dir="${WORKDIR}/pkg-dist-tmp"
+pkg_src_dir="${WORKDIR}/pkg-src"
+
+GNU_TAR=1
+echo "Bundling all sources for RPM build."
+tar \
+--transform "s,^\.,jellyfin-${VERSION}," \
+--exclude='.git*' \
+--exclude='**/.git' \
+--exclude='**/.hg' \
+--exclude='**/.vs' \
+--exclude='**/.vscode' \
+--exclude='deployment' \
+--exclude='**/bin' \
+--exclude='**/obj' \
+--exclude='**/.nuget' \
+--exclude='*.deb' \
+--exclude='*.rpm' \
+-czf "$pkg_src_dir/jellyfin-${VERSION}.tar.gz" \
+-C "../.." ./ || GNU_TAR=0
+
+if [ $GNU_TAR -eq 0 ]; then
+ echo "The installed tar binary did not support --transform. Using workaround."
+ mkdir -p "${package_temporary_dir}/jellyfin"{,-"${VERSION}"}
+ # Not GNU tar
+ tar \
+ --exclude='.git*' \
+ --exclude='**/.git' \
+ --exclude='**/.hg' \
+ --exclude='**/.vs' \
+ --exclude='**/.vscode' \
+ --exclude='deployment' \
+ --exclude='**/bin' \
+ --exclude='**/obj' \
+ --exclude='**/.nuget' \
+ --exclude='*.deb' \
+ --exclude='*.rpm' \
+ -zcf \
+ "${package_temporary_dir}/jellyfin/jellyfin-${VERSION}.tar.gz" \
+ -C "../.." ./
+ echo "Extracting filtered package."
+ tar -xzf "${package_temporary_dir}/jellyfin/jellyfin-${VERSION}.tar.gz" -C "${package_temporary_dir}/jellyfin-${VERSION}"
+ echo "Removing filtered package."
+ rm -f "${package_temporary_dir}/jellyfin/jellyfin-${VERSION}.tar.gz"
+ echo "Repackaging package into final tarball."
+ tar -czf "${pkg_src_dir}/jellyfin-${VERSION}.tar.gz" -C "${package_temporary_dir}" "jellyfin-${VERSION}"
+fi
diff --git a/deployment/fedora-package-x64/package.sh b/deployment/fedora-package-x64/package.sh
index 74586417d..eed29aef3 100755
--- a/deployment/fedora-package-x64/package.sh
+++ b/deployment/fedora-package-x64/package.sh
@@ -21,52 +21,7 @@ else
docker_sudo=""
fi
-# Create RPM source archive
-GNU_TAR=1
-mkdir -p "${package_temporary_dir}"
-echo "Bundling all sources for RPM build."
-tar \
---transform "s,^\.,jellyfin-${VERSION}," \
---exclude='.git*' \
---exclude='**/.git' \
---exclude='**/.hg' \
---exclude='**/.vs' \
---exclude='**/.vscode' \
---exclude='deployment' \
---exclude='**/bin' \
---exclude='**/obj' \
---exclude='**/.nuget' \
---exclude='*.deb' \
---exclude='*.rpm' \
--czf "${pkg_src_dir}/jellyfin-${VERSION}.tar.gz" \
--C "../.." ./ || GNU_TAR=0
-
-if [ $GNU_TAR -eq 0 ]; then
- echo "The installed tar binary did not support --transform. Using workaround."
- mkdir -p "${package_temporary_dir}/jellyfin"
- # Not GNU tar
- tar \
- --exclude='.git*' \
- --exclude='**/.git' \
- --exclude='**/.hg' \
- --exclude='**/.vs' \
- --exclude='**/.vscode' \
- --exclude='deployment' \
- --exclude='**/bin' \
- --exclude='**/obj' \
- --exclude='**/.nuget' \
- --exclude='*.deb' \
- --exclude='*.rpm' \
- -zcf \
- "${package_temporary_dir}/jellyfin/jellyfin-${VERSION}.tar.gz" \
- -C "../.." ./
- echo "Extracting filtered package."
- tar -xzf "${package_temporary_dir}/jellyfin/jellyfin-${VERSION}.tar.gz" -C "${package_temporary_dir}/jellyfin-${VERSION}"
- echo "Removing filtered package."
- rm -f "${package_temporary_dir}/jellyfin/jellyfin-${VERSION}.tar.gz"
- echo "Repackaging package into final tarball."
- tar -czf "${pkg_src_dir}/jellyfin-${VERSION}.tar.gz" -C "${package_temporary_dir}" "jellyfin-${VERSION}"
-fi
+./create_tarball.sh
# Set up the build environment Docker image
${docker_sudo} docker build ../.. -t "${image_name}" -f ./Dockerfile
diff --git a/deployment/fedora-package-x64/pkg-src/jellyfin.spec b/deployment/fedora-package-x64/pkg-src/jellyfin.spec
index 851c40044..e24bd2fcb 100644
--- a/deployment/fedora-package-x64/pkg-src/jellyfin.spec
+++ b/deployment/fedora-package-x64/pkg-src/jellyfin.spec
@@ -7,7 +7,7 @@
%endif
Name: jellyfin
-Version: 10.1.0
+Version: 10.2.2
Release: 1%{?dist}
Summary: The Free Software Media Browser
License: GPLv2
@@ -27,7 +27,7 @@ BuildRequires: libcurl-devel, fontconfig-devel, freetype-devel, openssl-devel,
Requires: libcurl, fontconfig, freetype, openssl, glibc libicu
# Requirements not packaged in main repos
# COPR @dotnet-sig/dotnet
-BuildRequires: dotnet-sdk-2.2
+BuildRequires: dotnet-runtime-2.2, dotnet-sdk-2.2
# RPMfusion free
Requires: ffmpeg
@@ -49,7 +49,8 @@ Jellyfin is a free software media system that puts you in control of managing an
%install
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
-dotnet publish --configuration Release --output='%{buildroot}%{_libdir}/jellyfin' --self-contained --runtime %{dotnet_runtime} Jellyfin.Server
+dotnet publish --configuration Release --output='%{buildroot}%{_libdir}/jellyfin' --self-contained --runtime %{dotnet_runtime} \
+ "-p:GenerateDocumentationFile=false;DebugSymbols=false;DebugType=none" Jellyfin.Server
%{__install} -D -m 0644 LICENSE %{buildroot}%{_datadir}/licenses/%{name}/LICENSE
%{__install} -D -m 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/systemd/system/%{name}.service.d/override.conf
%{__install} -D -m 0644 Jellyfin.Server/Resources/Configuration/logging.json %{buildroot}%{_sysconfdir}/%{name}/logging.json
@@ -73,7 +74,6 @@ EOF
%{_libdir}/%{name}/jellyfin-web/*
%attr(755,root,root) %{_bindir}/%{name}
%{_libdir}/%{name}/*.json
-%{_libdir}/%{name}/*.pdb
%{_libdir}/%{name}/*.dll
%{_libdir}/%{name}/*.so
%{_libdir}/%{name}/*.a
@@ -140,6 +140,135 @@ fi
%systemd_postun_with_restart jellyfin.service
%changelog
+* Thu Feb 28 2019 Jellyfin Packaging Team <packaging@jellyfin.org>
+- jellyfin:
+- PR968 Release 10.2.z copr autobuild
+- PR964 Install the dotnet runtime package in Fedora build
+- PR979 Build Package releases without debug turned on
+- PR990 Fix slow local image validation
+- PR991 Fix the ffmpeg compatibility
+- PR992 Add Debian armhf (Raspberry Pi) build plus crossbuild
+- PR998 Set EnableRaisingEvents to true for processes that require it
+- PR1017 Set ffmpeg+ffprobe paths in Docker container
+- jellyfin-web:
+- PR152 Go back on Media stop
+- PR156 Fix volume slider not working on nowplayingbar
+* Wed Feb 20 2019 Jellyfin Packaging Team <packaging@jellyfin.org>
+- jellyfin:
+- PR920 Fix cachedir missing from Docker container
+- PR924 Use the movie name instead of folder name
+- PR933 Semi-revert to prefer old movie grouping behaviour
+- PR948 Revert movie matching (supercedes PR933, PR924, PR739)
+- PR960 Use jellyfin/ffmpeg image
+- jellyfin-web:
+- PR136 Re-add OpenSubtitles configuration page
+- PR137 Replace HeaderEmbyServer with HeaderJellyfinServer on plugincatalog
+- PR138 Remove left-over JS for Customize Home Screen
+- PR141 Exit fullscreen automatically after video playback ends
+* Fri Feb 15 2019 Jellyfin Packaging Team <packaging@jellyfin.org>
+- jellyfin:
+- PR452 Use EF Core for Activity database
+- PR535 Clean up streambuilder
+- PR655 Support trying local branches in submodule
+- PR656 Do some logging in MediaInfoService
+- PR657 Remove conditions that are always true/false
+- PR661 Fix NullRef from progress report
+- PR663 Use TagLibSharp Nuget package
+- PR664 Revert "Fix segment_time_delta for ffmpeg 4.1"
+- PR666 Add cross-platform build for arm64
+- PR668 Return Audio objects from MusicAlbum.Tracks
+- PR671 Set EnableRaisingEvents correctly
+- PR672 Remove unconditional caching, modified since header and use ETags
+- PR677 Fix arm32 Docker
+- PR681 Fix Windows build script errors + pin ffmpeg to 4.0
+- PR686 Disable some StyleCop warnings
+- PR687 Fix some analyzer warnings
+- PR689 Fix RPM package build for fedora
+- PR702 Fix debug build on windows
+- PR706 Make another docker layer reusable
+- PR709 Fix always null expressions
+- PR710 Fix a spelling mistake
+- PR711 Remove remnants of system events
+- PR713 Fix empty statement in DidlBuilder.cs
+- PR716 Remove more compile time warnings
+- PR721 Change image dimentions from double to int
+- PR723 Minor improvements to db code
+- PR724 Move Skia back into it's own project
+- PR726 Clean up IFileSystem wrappers around stdlib.
+- PR727 Change default aspect ratio to 2/3 from 0
+- PR728 Use ffmpeg from jrottenberg/ffmpeg
+- PR732 Reworked LocalizationManager to load data async
+- PR733 Remove unused function
+- PR734 Fix more analyzer warnings
+- PR736 Start startup tasks async
+- PR737 Add AssemblyInfo for Jellyfin.Drawing.Skia
+- PR739 Change multi version logic for movies
+- PR740 Remove code for pre-installed plugins & properly check if file exists
+- PR756 Make cache dir configurable
+- PR757 Fix default aspect ratio
+- PR758 Add password field to initial setup
+- PR764 Remove dead code, made some functions properly async
+- PR769 Fix conditions where the ! was swallowed in #726
+- PR774 reimplement support for plugin repository
+- PR782 Remove commented file MediaBrowser.LocalMetadata.Savers.PersonXmlSaver
+- PR783 Update builds to use #749 and #756
+- PR788 Fix more warnings
+- PR794 Remove MoreLINQ
+- PR797 Fix all warnings
+- PR798 Cleanup around the api endpoints
+- PR800 Add CentOS and update rpm spec for the cachedir option
+- PR802 Fix build error
+- PR804 Handle new option parser properly
+- PR805 Add weblate translation status to README
+- PR807 Fix restart script in OS packages
+- PR810 Fix loading of rating files
+- PR812 Fix up the explicit docs links in the README
+- PR819 Some small changes in Device.cs and DidlBuilder.cs
+- PR822 Complete rename ImageSize -> ImageDimensions
+- PR824 Improved Docker pkgbuild
+- PR831 Move some arrays to generics
+- PR833 Add await to GetCountries in LocalizationService
+- PR834 Add donation badge and reorganize badges
+- PR838 Quick style fix
+- PR840 Fix more warnings
+- PR841 Fix OC badge to all and add forum badge
+- PR842 Use VAAPI-enabled ffmpeg
+- PR852 Use SQLitePCL.pretty.netstandard on NuGet
+- PR853 Fix poor handling of cache directories
+- PR864 Add support for ZIP plugin archives
+- PR868 Fix audio streaming via BaseProgressiveStreamingService
+- PR869 Remove DLL support and require all packages/plugins to be zip archives
+- PR872 Fix potential NullReferenceException
+- PR899: DLNA: Fix race condition leading to missing device names
+- PR890 Drop ETag and use Last-Modified header
+- PR892: Add jellyfin-ffmpeg and versioning to package deps
+- PR901: Properly dispose HttpWebResponse when the request failed to avoid 'too many open files'
+- PR909: Fix docker arm builds
+- PR910: Enhance Dockerfiles
+- PR911: Checkout submodules in Docker Hub hook
+- jellyfin-web:
+- PR51 remove more code for sync and camera roll
+- PR56 Use English for fallback translations and clean up language files
+- PR58 Css slider fixes
+- PR62 remove BOM markers
+- PR65 Fix profile image not being shown on profile page
+- PR73 Dev sync
+- PR74 Add download menu option to media items
+- PR75 User profile fixes
+- PR76 Fix syntax error caused by deminification
+- PR79 Remove unused Connect related from the frontend
+- PR80 Remove games
+- PR92 Added frontend support for a password field on setup
+- PR94 Update british strings
+- PR95 add display language option back
+- PR112 Removed seasonal theme support
+- PR116 Consolidate all strings into a single file per language
+- PR117 Fix volume slider behavior
+- PR118 Enable and fix PiP for Safari
+- PR119 Make the toggle track visible on all themes
+- PR121 Fix syntax error in site.js
+- PR127 Change sharedcomponents module to core
+- PR135 Make sure fallback culture is always available
* Sun Jan 20 2019 Jellyfin Packaging Team <packaging@jellyfin.org>
- jellyfin:
- PR335 Build scripts and build system consolidation.
diff --git a/deployment/osx-x64/build.sh b/deployment/macos/build.sh
index d6bfb9f5e..d6bfb9f5e 100755
--- a/deployment/osx-x64/build.sh
+++ b/deployment/macos/build.sh
diff --git a/deployment/debian-x64/clean.sh b/deployment/macos/clean.sh
index 3df2d7796..3df2d7796 100755
--- a/deployment/debian-x64/clean.sh
+++ b/deployment/macos/clean.sh
diff --git a/deployment/debian-x64/dependencies.txt b/deployment/macos/dependencies.txt
index 3d25d1bdf..3d25d1bdf 100644
--- a/deployment/debian-x64/dependencies.txt
+++ b/deployment/macos/dependencies.txt
diff --git a/deployment/debian-x64/package.sh b/deployment/macos/package.sh
index 13b943ea8..13b943ea8 100755
--- a/deployment/debian-x64/package.sh
+++ b/deployment/macos/package.sh
diff --git a/deployment/osx-x64/clean.sh b/deployment/osx-x64/clean.sh
deleted file mode 100755
index 3df2d7796..000000000
--- a/deployment/osx-x64/clean.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-source ../common.build.sh
-
-VERSION=`get_version ../..`
-
-clean_jellyfin ../.. Release `pwd`/dist/jellyfin_${VERSION}
diff --git a/deployment/osx-x64/package.sh b/deployment/osx-x64/package.sh
deleted file mode 100755
index 13b943ea8..000000000
--- a/deployment/osx-x64/package.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-source ../common.build.sh
-
-VERSION=`get_version ../..`
-
-package_portable ../.. `pwd`/dist/jellyfin_${VERSION}
diff --git a/deployment/framework/build.sh b/deployment/portable/build.sh
index 4f2e6363e..4f2e6363e 100755
--- a/deployment/framework/build.sh
+++ b/deployment/portable/build.sh
diff --git a/deployment/framework/clean.sh b/deployment/portable/clean.sh
index 3df2d7796..3df2d7796 100755
--- a/deployment/framework/clean.sh
+++ b/deployment/portable/clean.sh
diff --git a/deployment/framework/package.sh b/deployment/portable/package.sh
index 13b943ea8..13b943ea8 100755
--- a/deployment/framework/package.sh
+++ b/deployment/portable/package.sh
diff --git a/deployment/ubuntu-x64/build.sh b/deployment/ubuntu-x64/build.sh
deleted file mode 100755
index 870bac780..000000000
--- a/deployment/ubuntu-x64/build.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-source ../common.build.sh
-
-VERSION=`get_version ../..`
-
-build_jellyfin ../../Jellyfin.Server Release ubuntu-x64 `pwd`/dist/jellyfin_${VERSION}
diff --git a/deployment/ubuntu-x64/clean.sh b/deployment/ubuntu-x64/clean.sh
deleted file mode 100755
index 3df2d7796..000000000
--- a/deployment/ubuntu-x64/clean.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-source ../common.build.sh
-
-VERSION=`get_version ../..`
-
-clean_jellyfin ../.. Release `pwd`/dist/jellyfin_${VERSION}
diff --git a/deployment/ubuntu-x64/dependencies.txt b/deployment/ubuntu-x64/dependencies.txt
deleted file mode 100644
index 3d25d1bdf..000000000
--- a/deployment/ubuntu-x64/dependencies.txt
+++ /dev/null
@@ -1 +0,0 @@
-dotnet
diff --git a/deployment/ubuntu-x64/package.sh b/deployment/ubuntu-x64/package.sh
deleted file mode 100755
index 13b943ea8..000000000
--- a/deployment/ubuntu-x64/package.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-source ../common.build.sh
-
-VERSION=`get_version ../..`
-
-package_portable ../.. `pwd`/dist/jellyfin_${VERSION}
diff --git a/deployment/win-generic/dependencies.txt b/deployment/win-generic/dependencies.txt
deleted file mode 100644
index 3d25d1bdf..000000000
--- a/deployment/win-generic/dependencies.txt
+++ /dev/null
@@ -1 +0,0 @@
-dotnet
diff --git a/deployment/win-x64/package.sh b/deployment/win-x64/package.sh
index befddb2e7..d21e3b532 100755
--- a/deployment/win-x64/package.sh
+++ b/deployment/win-x64/package.sh
@@ -1,4 +1,5 @@
#!/usr/bin/env bash
+set -x
package_win64() (
local NSSM_VERSION="nssm-2.24-101-g897c7ad"
local NSSM_URL="https://nssm.cc/ci/${NSSM_VERSION}.zip"
@@ -15,7 +16,7 @@ package_win64() (
wget ${NSSM_URL} -O ${TEMP_DIR}/nssm.zip
wget ${FFMPEG_URL} -O ${TEMP_DIR}/ffmpeg.zip
unzip ${TEMP_DIR}/nssm.zip -d $TEMP_DIR
- cp ${TEMP_DIR}/${NSSM_VERSION}}/win64/nssm.exe ${OUTPUT_DIR}/nssm.exe
+ cp ${TEMP_DIR}/${NSSM_VERSION}/win64/nssm.exe ${OUTPUT_DIR}/nssm.exe
unzip ${TEMP_DIR}/ffmpeg.zip -d $TEMP_DIR
cp ${TEMP_DIR}/${FFMPEG_VERSION}/bin/ffmpeg.exe ${OUTPUT_DIR}/ffmpeg.exe
cp ${TEMP_DIR}/${FFMPEG_VERSION}/bin/ffprobe.exe ${OUTPUT_DIR}/ffprobe.exe
diff --git a/deployment/win-generic/build-jellyfin.ps1 b/deployment/windows/build-jellyfin.ps1
index 1121c3398..2c83f264c 100644
--- a/deployment/win-generic/build-jellyfin.ps1
+++ b/deployment/windows/build-jellyfin.ps1
@@ -102,8 +102,8 @@ if($InstallNSSM.IsPresent -or ($InstallNSSM -eq $true)){
Write-Verbose "Starting NSSM Install"
Install-NSSM $InstallLocation $Architecture
}
-Copy-Item .\deployment\win-generic\install-jellyfin.ps1 $InstallLocation\install-jellyfin.ps1
-Copy-Item .\deployment\win-generic\install.bat $InstallLocation\install.bat
+Copy-Item .\deployment\windows\install-jellyfin.ps1 $InstallLocation\install-jellyfin.ps1
+Copy-Item .\deployment\windows\install.bat $InstallLocation\install.bat
if($GenerateZip.IsPresent -or ($GenerateZip -eq $true)){
Compress-Archive -Path $InstallLocation -DestinationPath "$InstallLocation/jellyfin.zip" -Force
}
diff --git a/deployment/osx-x64/dependencies.txt b/deployment/windows/dependencies.txt
index 3d25d1bdf..3d25d1bdf 100644
--- a/deployment/osx-x64/dependencies.txt
+++ b/deployment/windows/dependencies.txt
diff --git a/deployment/win-generic/install-jellyfin.ps1 b/deployment/windows/install-jellyfin.ps1
index b6e00e056..b6e00e056 100644
--- a/deployment/win-generic/install-jellyfin.ps1
+++ b/deployment/windows/install-jellyfin.ps1
diff --git a/deployment/win-generic/install.bat b/deployment/windows/install.bat
index e21479a79..e21479a79 100644
--- a/deployment/win-generic/install.bat
+++ b/deployment/windows/install.bat