mirror of https://github.com/jellyfin/jellyfin.git
Merge pull request #1024 from jellyfin/release-10.2.z
Backmerge for 10.2.2
This commit is contained in:
commit
594b271383
12
Dockerfile
12
Dockerfile
|
@ -4,10 +4,8 @@ FROM microsoft/dotnet:${DOTNET_VERSION}-sdk as builder
|
||||||
WORKDIR /repo
|
WORKDIR /repo
|
||||||
COPY . .
|
COPY . .
|
||||||
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
|
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||||
RUN dotnet publish \
|
RUN bash -c "source deployment/common.build.sh && \
|
||||||
--configuration release \
|
build_jellyfin Jellyfin.Server Release linux-x64 /jellyfin"
|
||||||
--output /jellyfin \
|
|
||||||
Jellyfin.Server
|
|
||||||
|
|
||||||
FROM jellyfin/ffmpeg as ffmpeg
|
FROM jellyfin/ffmpeg as ffmpeg
|
||||||
FROM microsoft/dotnet:${DOTNET_VERSION}-runtime
|
FROM microsoft/dotnet:${DOTNET_VERSION}-runtime
|
||||||
|
@ -24,4 +22,8 @@ COPY --from=ffmpeg / /
|
||||||
COPY --from=builder /jellyfin /jellyfin
|
COPY --from=builder /jellyfin /jellyfin
|
||||||
EXPOSE 8096
|
EXPOSE 8096
|
||||||
VOLUME /cache /config /media
|
VOLUME /cache /config /media
|
||||||
ENTRYPOINT dotnet /jellyfin/jellyfin.dll --datadir /config --cachedir /cache
|
ENTRYPOINT dotnet /jellyfin/jellyfin.dll \
|
||||||
|
--datadir /config \
|
||||||
|
--cachedir /cache \
|
||||||
|
--ffmpeg /usr/local/bin/ffmpeg \
|
||||||
|
--ffprobe /usr/local/bin/ffprobe
|
||||||
|
|
|
@ -17,11 +17,8 @@ RUN find . -type f -exec sed -i 's/netcoreapp2.1/netcoreapp3.0/g' {} \;
|
||||||
# Discard objs - may cause failures if exists
|
# Discard objs - may cause failures if exists
|
||||||
RUN find . -type d -name obj | xargs -r rm -r
|
RUN find . -type d -name obj | xargs -r rm -r
|
||||||
# Build
|
# Build
|
||||||
RUN dotnet publish \
|
RUN bash -c "source deployment/common.build.sh && \
|
||||||
-r linux-arm \
|
build_jellyfin Jellyfin.Server Release linux-arm /jellyfin"
|
||||||
--configuration release \
|
|
||||||
--output /jellyfin \
|
|
||||||
Jellyfin.Server
|
|
||||||
|
|
||||||
|
|
||||||
FROM microsoft/dotnet:${DOTNET_VERSION}-runtime-stretch-slim-arm32v7
|
FROM microsoft/dotnet:${DOTNET_VERSION}-runtime-stretch-slim-arm32v7
|
||||||
|
@ -33,4 +30,8 @@ RUN apt-get update \
|
||||||
COPY --from=builder /jellyfin /jellyfin
|
COPY --from=builder /jellyfin /jellyfin
|
||||||
EXPOSE 8096
|
EXPOSE 8096
|
||||||
VOLUME /cache /config /media
|
VOLUME /cache /config /media
|
||||||
ENTRYPOINT dotnet /jellyfin/jellyfin.dll --datadir /config --cachedir /cache
|
ENTRYPOINT dotnet /jellyfin/jellyfin.dll \
|
||||||
|
--datadir /config \
|
||||||
|
--cachedir /cache \
|
||||||
|
--ffmpeg /usr/bin/ffmpeg \
|
||||||
|
--ffprobe /usr/bin/ffprobe
|
||||||
|
|
|
@ -18,11 +18,8 @@ RUN find . -type f -exec sed -i 's/netcoreapp2.1/netcoreapp3.0/g' {} \;
|
||||||
# Discard objs - may cause failures if exists
|
# Discard objs - may cause failures if exists
|
||||||
RUN find . -type d -name obj | xargs -r rm -r
|
RUN find . -type d -name obj | xargs -r rm -r
|
||||||
# Build
|
# Build
|
||||||
RUN dotnet publish \
|
RUN bash -c "source deployment/common.build.sh && \
|
||||||
-r linux-arm64 \
|
build_jellyfin Jellyfin.Server Release linux-arm64 /jellyfin"
|
||||||
--configuration release \
|
|
||||||
--output /jellyfin \
|
|
||||||
Jellyfin.Server
|
|
||||||
|
|
||||||
|
|
||||||
FROM microsoft/dotnet:${DOTNET_VERSION}-runtime-stretch-slim-arm64v8
|
FROM microsoft/dotnet:${DOTNET_VERSION}-runtime-stretch-slim-arm64v8
|
||||||
|
@ -34,4 +31,8 @@ RUN apt-get update \
|
||||||
COPY --from=builder /jellyfin /jellyfin
|
COPY --from=builder /jellyfin /jellyfin
|
||||||
EXPOSE 8096
|
EXPOSE 8096
|
||||||
VOLUME /cache /config /media
|
VOLUME /cache /config /media
|
||||||
ENTRYPOINT dotnet /jellyfin/jellyfin.dll --datadir /config --cachedir /cache
|
ENTRYPOINT dotnet /jellyfin/jellyfin.dll \
|
||||||
|
--datadir /config \
|
||||||
|
--cachedir /cache \
|
||||||
|
--ffmpeg /usr/bin/ffmpeg \
|
||||||
|
--ffprobe /usr/bin/ffprobe
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Entities.Audio;
|
using MediaBrowser.Controller.Entities.Audio;
|
||||||
|
@ -65,6 +66,12 @@ namespace MediaBrowser.LocalMetadata.Images
|
||||||
|
|
||||||
var path = item.ContainingFolderPath;
|
var path = item.ContainingFolderPath;
|
||||||
|
|
||||||
|
// Exit if the cache dir does not exist, alternative solution is to create it, but that's a lot of empty dirs...
|
||||||
|
if (!Directory.Exists(path))
|
||||||
|
{
|
||||||
|
return Array.Empty<FileSystemMetadata>();
|
||||||
|
}
|
||||||
|
|
||||||
if (includeDirectories)
|
if (includeDirectories)
|
||||||
{
|
{
|
||||||
return directoryService.GetFileSystemEntries(path)
|
return directoryService.GetFileSystemEntries(path)
|
||||||
|
|
|
@ -694,7 +694,8 @@ namespace MediaBrowser.MediaEncoding.Encoder
|
||||||
FileName = FFMpegPath,
|
FileName = FFMpegPath,
|
||||||
Arguments = args,
|
Arguments = args,
|
||||||
IsHidden = true,
|
IsHidden = true,
|
||||||
ErrorDialog = false
|
ErrorDialog = false,
|
||||||
|
EnableRaisingEvents = true
|
||||||
});
|
});
|
||||||
|
|
||||||
_logger.LogDebug("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments);
|
_logger.LogDebug("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments);
|
||||||
|
@ -816,7 +817,8 @@ namespace MediaBrowser.MediaEncoding.Encoder
|
||||||
FileName = FFMpegPath,
|
FileName = FFMpegPath,
|
||||||
Arguments = args,
|
Arguments = args,
|
||||||
IsHidden = true,
|
IsHidden = true,
|
||||||
ErrorDialog = false
|
ErrorDialog = false,
|
||||||
|
EnableRaisingEvents = true
|
||||||
});
|
});
|
||||||
|
|
||||||
_logger.LogInformation(process.StartInfo.FileName + " " + process.StartInfo.Arguments);
|
_logger.LogInformation(process.StartInfo.FileName + " " + process.StartInfo.Arguments);
|
||||||
|
|
|
@ -92,10 +92,7 @@ namespace MediaBrowser.Providers.Manager
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
localImagesFailed = true;
|
localImagesFailed = true;
|
||||||
if (!(item is IItemByName))
|
Logger.LogError(ex, "Error validating images for {0}", item.Path ?? item.Name ?? "Unknown name");
|
||||||
{
|
|
||||||
Logger.LogError(ex, "Error validating images for {0}", item.Path ?? item.Name ?? "Unknown name");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var metadataResult = new MetadataResult<TItemType>
|
var metadataResult = new MetadataResult<TItemType>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("10.2.1")]
|
[assembly: AssemblyVersion("10.2.2")]
|
||||||
[assembly: AssemblyFileVersion("10.2.1")]
|
[assembly: AssemblyFileVersion("10.2.2")]
|
||||||
|
|
|
@ -15,7 +15,6 @@ DEFAULT_CONFIG="Release"
|
||||||
DEFAULT_OUTPUT_DIR="dist/jellyfin-git"
|
DEFAULT_OUTPUT_DIR="dist/jellyfin-git"
|
||||||
DEFAULT_PKG_DIR="pkg-dist"
|
DEFAULT_PKG_DIR="pkg-dist"
|
||||||
DEFAULT_DOCKERFILE="Dockerfile"
|
DEFAULT_DOCKERFILE="Dockerfile"
|
||||||
DEFAULT_IMAGE_TAG="jellyfin:"`git rev-parse --abbrev-ref HEAD`
|
|
||||||
DEFAULT_ARCHIVE_CMD="tar -xvzf"
|
DEFAULT_ARCHIVE_CMD="tar -xvzf"
|
||||||
|
|
||||||
# Parse the version from the AssemblyVersion
|
# 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}"
|
echo -e "${CYAN}Building jellyfin in '${ROOT}' for ${DOTNETRUNTIME} with configuration ${CONFIG} and output directory '${OUTPUT_DIR}'.${NC}"
|
||||||
if [[ $DOTNETRUNTIME == 'framework' ]]; then
|
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
|
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
|
fi
|
||||||
EXIT_CODE=$?
|
EXIT_CODE=$?
|
||||||
if [ $EXIT_CODE -eq 0 ]; then
|
if [ $EXIT_CODE -eq 0 ]; then
|
||||||
|
@ -53,7 +52,7 @@ build_jellyfin_docker()
|
||||||
(
|
(
|
||||||
BUILD_CONTEXT=${1-$DEFAULT_BUILD_CONTEXT}
|
BUILD_CONTEXT=${1-$DEFAULT_BUILD_CONTEXT}
|
||||||
DOCKERFILE=${2-$DEFAULT_DOCKERFILE}
|
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}"
|
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}
|
docker build -t ${IMAGE_TAG} -f ${DOCKERFILE} ${BUILD_CONTEXT}
|
||||||
|
|
|
@ -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"]
|
|
@ -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"]
|
|
@ -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
|
|
@ -0,0 +1 @@
|
||||||
|
docker
|
|
@ -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/
|
|
@ -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}"
|
|
@ -0,0 +1 @@
|
||||||
|
../debian-package-x64/pkg-src
|
|
@ -1,3 +1,20 @@
|
||||||
|
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 (10.2.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
* jellyfin:
|
* jellyfin:
|
||||||
|
|
|
@ -21,9 +21,9 @@ JELLYFIN_CACHE_DIRECTORY="/var/cache/jellyfin"
|
||||||
# Restart script for in-app server control
|
# Restart script for in-app server control
|
||||||
JELLYFIN_RESTART_OPT="--restartpath=/usr/lib/jellyfin/restart.sh"
|
JELLYFIN_RESTART_OPT="--restartpath=/usr/lib/jellyfin/restart.sh"
|
||||||
|
|
||||||
# [OPTIONAL] ffmpeg binary paths, overriding the UI-configured values
|
# ffmpeg binary paths, overriding the system values
|
||||||
#JELLYFIN_FFMPEG_OPT="--ffmpeg=/usr/bin/ffmpeg"
|
JELLYFIN_FFMPEG_OPT="--ffmpeg=/usr/share/jellyfin-ffmpeg/ffmpeg"
|
||||||
#JELLYFIN_FFPROBE_OPT="--ffprobe=/usr/bin/ffprobe"
|
JELLYFIN_FFPROBE_OPT="--ffprobe=/usr/share/jellyfin-ffmpeg/ffprobe"
|
||||||
|
|
||||||
# [OPTIONAL] run Jellyfin as a headless service
|
# [OPTIONAL] run Jellyfin as a headless service
|
||||||
#JELLYFIN_SERVICE_OPT="--service"
|
#JELLYFIN_SERVICE_OPT="--service"
|
||||||
|
|
|
@ -20,7 +20,7 @@ Conflicts: mediabrowser, emby, emby-server-beta, jellyfin-dev, emby-server
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: at,
|
Depends: at,
|
||||||
libsqlite3-0,
|
libsqlite3-0,
|
||||||
ffmpeg (<7:4.1) | jellyfin-ffmpeg,
|
jellyfin-ffmpeg,
|
||||||
libfontconfig1,
|
libfontconfig1,
|
||||||
libfreetype6,
|
libfreetype6,
|
||||||
libssl1.0.0 | libssl1.0.2
|
libssl1.0.0 | libssl1.0.2
|
||||||
|
|
|
@ -2,7 +2,23 @@
|
||||||
CONFIG := Release
|
CONFIG := Release
|
||||||
TERM := xterm
|
TERM := xterm
|
||||||
SHELL := /bin/bash
|
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 DH_VERBOSE=1
|
||||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||||
|
|
||||||
|
@ -16,7 +32,8 @@ override_dh_auto_test:
|
||||||
override_dh_clistrip:
|
override_dh_clistrip:
|
||||||
|
|
||||||
override_dh_auto_build:
|
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:
|
override_dh_auto_clean:
|
||||||
dotnet clean -maxcpucount:1 --configuration $(CONFIG) Jellyfin.Server || true
|
dotnet clean -maxcpucount:1 --configuration $(CONFIG) Jellyfin.Server || true
|
||||||
|
|
|
@ -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 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 \
|
&& dnf copr enable -y @dotnet-sig/dotnet \
|
||||||
&& rpmdev-setuptree \
|
&& 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 \
|
&& ln -sf ${PLATFORM_DIR}/docker-build.sh /docker-build.sh \
|
||||||
&& mkdir -p ${SOURCE_DIR}/SPECS \
|
&& mkdir -p ${SOURCE_DIR}/SPECS \
|
||||||
&& ln -s ${PLATFORM_DIR}/pkg-src/jellyfin.spec ${SOURCE_DIR}/SPECS/jellyfin.spec \
|
&& ln -s ${PLATFORM_DIR}/pkg-src/jellyfin.spec ${SOURCE_DIR}/SPECS/jellyfin.spec \
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: jellyfin
|
Name: jellyfin
|
||||||
Version: 10.2.1
|
Version: 10.2.2
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: The Free Software Media Browser
|
Summary: The Free Software Media Browser
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
|
@ -27,7 +27,7 @@ BuildRequires: libcurl-devel, fontconfig-devel, freetype-devel, openssl-devel,
|
||||||
Requires: libcurl, fontconfig, freetype, openssl, glibc libicu
|
Requires: libcurl, fontconfig, freetype, openssl, glibc libicu
|
||||||
# Requirements not packaged in main repos
|
# Requirements not packaged in main repos
|
||||||
# COPR @dotnet-sig/dotnet
|
# COPR @dotnet-sig/dotnet
|
||||||
BuildRequires: dotnet-sdk-2.2
|
BuildRequires: dotnet-runtime-2.2, dotnet-sdk-2.2
|
||||||
# RPMfusion free
|
# RPMfusion free
|
||||||
Requires: ffmpeg
|
Requires: ffmpeg
|
||||||
|
|
||||||
|
@ -49,7 +49,8 @@ Jellyfin is a free software media system that puts you in control of managing an
|
||||||
%install
|
%install
|
||||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||||
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=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 LICENSE %{buildroot}%{_datadir}/licenses/%{name}/LICENSE
|
||||||
%{__install} -D -m 0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/systemd/system/%{name}.service.d/override.conf
|
%{__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
|
%{__install} -D -m 0644 Jellyfin.Server/Resources/Configuration/logging.json %{buildroot}%{_sysconfdir}/%{name}/logging.json
|
||||||
|
@ -73,7 +74,6 @@ EOF
|
||||||
%{_libdir}/%{name}/jellyfin-web/*
|
%{_libdir}/%{name}/jellyfin-web/*
|
||||||
%attr(755,root,root) %{_bindir}/%{name}
|
%attr(755,root,root) %{_bindir}/%{name}
|
||||||
%{_libdir}/%{name}/*.json
|
%{_libdir}/%{name}/*.json
|
||||||
%{_libdir}/%{name}/*.pdb
|
|
||||||
%{_libdir}/%{name}/*.dll
|
%{_libdir}/%{name}/*.dll
|
||||||
%{_libdir}/%{name}/*.so
|
%{_libdir}/%{name}/*.so
|
||||||
%{_libdir}/%{name}/*.a
|
%{_libdir}/%{name}/*.a
|
||||||
|
@ -140,6 +140,19 @@ fi
|
||||||
%systemd_postun_with_restart jellyfin.service
|
%systemd_postun_with_restart jellyfin.service
|
||||||
|
|
||||||
%changelog
|
%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>
|
* Wed Feb 20 2019 Jellyfin Packaging Team <packaging@jellyfin.org>
|
||||||
- jellyfin:
|
- jellyfin:
|
||||||
- PR920 Fix cachedir missing from Docker container
|
- PR920 Fix cachedir missing from Docker container
|
||||||
|
|
Loading…
Reference in New Issue