diff options
| author | Cody Robibero <cody@robibe.ro> | 2024-03-18 08:42:07 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-18 10:42:07 -0400 |
| commit | 78b53a60b4018b25c64a2477408c10144a750252 (patch) | |
| tree | c193fcd988536af79ea3afb7f790d411128c4ba1 /deployment | |
| parent | 4bcabbde7b8c1a9a0ca7a89ab3e2b0de390393f5 (diff) | |
Remove legacy build utilities (#11162)
Diffstat (limited to 'deployment')
37 files changed, 0 insertions, 1324 deletions
diff --git a/deployment/Dockerfile.centos.amd64 b/deployment/Dockerfile.centos.amd64 deleted file mode 100644 index 6bd7d312c..000000000 --- a/deployment/Dockerfile.centos.amd64 +++ /dev/null @@ -1,39 +0,0 @@ -FROM quay.io/centos/centos:stream9 - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV IS_DOCKER=YES - -# Prepare CentOS environment -RUN dnf update -yq \ - && dnf install -yq \ - @buildsys-build rpmdevtools git \ - dnf-plugins-core libcurl-devel fontconfig-devel \ - freetype-devel openssl-devel glibc-devel \ - libicu-devel systemd wget make \ - && dnf clean all \ - && rm -rf /var/cache/dnf - -# Install DotNET SDK -RUN wget -q https://download.visualstudio.microsoft.com/download/pr/85bcc525-4e9c-471e-9c1d-96259aa1a315/930833ef34f66fe9ee2643b0ba21621a/dotnet-sdk-8.0.201-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 - -# Create symlinks and directories -RUN ln -sf ${SOURCE_DIR}/deployment/build.centos.amd64 /build.sh \ - && mkdir -p ${SOURCE_DIR}/SPECS \ - && ln -s ${SOURCE_DIR}/fedora/jellyfin.spec ${SOURCE_DIR}/SPECS/jellyfin.spec \ - && mkdir -p ${SOURCE_DIR}/SOURCES \ - && ln -s ${SOURCE_DIR}/fedora ${SOURCE_DIR}/SOURCES - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.debian.amd64 b/deployment/Dockerfile.debian.amd64 deleted file mode 100644 index da0c9dabd..000000000 --- a/deployment/Dockerfile.debian.amd64 +++ /dev/null @@ -1,33 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV ARCH=amd64 -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yq \ - && apt-get install --no-install-recommends -yq \ - debhelper gnupg devscripts build-essential mmv \ - libcurl4-openssl-dev libfontconfig1-dev libfreetype6-dev \ - libssl-dev libssl3 liblttng-ust1 \ - && apt-get clean autoclean -yq \ - && apt-get autoremove -yq \ - && rm -rf /var/lib/apt/lists/* - -# Link to build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.debian.amd64 /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.debian.arm64 b/deployment/Dockerfile.debian.arm64 deleted file mode 100644 index 6c4cb816f..000000000 --- a/deployment/Dockerfile.debian.arm64 +++ /dev/null @@ -1,46 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV ARCH=amd64 -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg devscripts build-essential mmv - -# Prepare the cross-toolchain -RUN dpkg --add-architecture arm64 \ - && apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq cross-gcc-dev \ - && TARGET_LIST="arm64" cross-gcc-gensource 12 \ - && cd cross-gcc-packages-amd64/cross-gcc-12-arm64 \ - && apt-get install --no-install-recommends -yqq \ - gcc-12-source libstdc++-12-dev-arm64-cross \ - binutils-aarch64-linux-gnu bison flex libtool \ - gdb sharutils netbase libmpc-dev libmpfr-dev libgmp-dev \ - systemtap-sdt-dev autogen expect chrpath zlib1g-dev zip \ - libc6-dev:arm64 linux-libc-dev:arm64 libgcc1:arm64 \ - libcurl4-openssl-dev:arm64 libfontconfig1-dev:arm64 \ - libfreetype6-dev:arm64 libssl-dev:arm64 liblttng-ust1:arm64 libstdc++-12-dev:arm64 \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.debian.arm64 /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.debian.armhf b/deployment/Dockerfile.debian.armhf deleted file mode 100644 index b1fa6cee5..000000000 --- a/deployment/Dockerfile.debian.armhf +++ /dev/null @@ -1,47 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV ARCH=amd64 -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg devscripts build-essential mmv - -# Prepare the cross-toolchain -RUN dpkg --add-architecture armhf \ - && apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq cross-gcc-dev \ - && TARGET_LIST="armhf" cross-gcc-gensource 12 \ - && cd cross-gcc-packages-amd64/cross-gcc-12-armhf \ - && apt-get install --no-install-recommends -yqq \ - gcc-12-source libstdc++-12-dev-armhf-cross \ - binutils-aarch64-linux-gnu bison flex libtool gdb \ - sharutils netbase libmpc-dev libmpfr-dev libgmp-dev \ - systemtap-sdt-dev autogen expect chrpath zlib1g-dev \ - zip binutils-arm-linux-gnueabihf libc6-dev:armhf \ - linux-libc-dev:armhf libgcc1:armhf libcurl4-openssl-dev:armhf \ - libfontconfig1-dev:armhf libfreetype6-dev:armhf libssl-dev:armhf \ - liblttng-ust1:armhf libstdc++-12-dev:armhf \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.debian.armhf /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.docker.amd64 b/deployment/Dockerfile.docker.amd64 deleted file mode 100644 index ca16a08fb..000000000 --- a/deployment/Dockerfile.docker.amd64 +++ /dev/null @@ -1,12 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -ARG SOURCE_DIR=/src -ARG ARTIFACT_DIR=/jellyfin - -WORKDIR ${SOURCE_DIR} -COPY . . -ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 - -RUN dotnet publish Jellyfin.Server --configuration Release --output="${ARTIFACT_DIR}" --self-contained --runtime linux-x64 -p:DebugSymbols=false -p:DebugType=none diff --git a/deployment/Dockerfile.docker.arm64 b/deployment/Dockerfile.docker.arm64 deleted file mode 100644 index 6e0f7d18e..000000000 --- a/deployment/Dockerfile.docker.arm64 +++ /dev/null @@ -1,12 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -ARG SOURCE_DIR=/src -ARG ARTIFACT_DIR=/jellyfin - -WORKDIR ${SOURCE_DIR} -COPY . . -ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 - -RUN dotnet publish Jellyfin.Server --configuration Release --output="${ARTIFACT_DIR}" --self-contained --runtime linux-arm64 -p:DebugSymbols=false -p:DebugType=none diff --git a/deployment/Dockerfile.docker.armhf b/deployment/Dockerfile.docker.armhf deleted file mode 100644 index 44fb705e6..000000000 --- a/deployment/Dockerfile.docker.armhf +++ /dev/null @@ -1,12 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -ARG SOURCE_DIR=/src -ARG ARTIFACT_DIR=/jellyfin - -WORKDIR ${SOURCE_DIR} -COPY . . -ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 - -RUN dotnet publish Jellyfin.Server --configuration Release --output="${ARTIFACT_DIR}" --self-contained --runtime linux-arm -p:DebugSymbols=false -p:DebugType=none diff --git a/deployment/Dockerfile.fedora.amd64 b/deployment/Dockerfile.fedora.amd64 deleted file mode 100644 index f1dc492de..000000000 --- a/deployment/Dockerfile.fedora.amd64 +++ /dev/null @@ -1,39 +0,0 @@ -FROM fedora:39 - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV IS_DOCKER=YES - -# Prepare Fedora environment -RUN dnf update -yq \ - && dnf install -yq \ - @buildsys-build rpmdevtools git \ - dnf-plugins-core libcurl-devel fontconfig-devel \ - freetype-devel openssl-devel glibc-devel \ - libicu-devel systemd wget make \ - && dnf clean all \ - && rm -rf /var/cache/dnf - -# Install DotNET SDK -RUN wget -q https://download.visualstudio.microsoft.com/download/pr/85bcc525-4e9c-471e-9c1d-96259aa1a315/930833ef34f66fe9ee2643b0ba21621a/dotnet-sdk-8.0.201-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 - -# Create symlinks and directories -RUN ln -sf ${SOURCE_DIR}/deployment/build.fedora.amd64 /build.sh \ - && mkdir -p ${SOURCE_DIR}/SPECS \ - && ln -s ${SOURCE_DIR}/fedora/jellyfin.spec ${SOURCE_DIR}/SPECS/jellyfin.spec \ - && mkdir -p ${SOURCE_DIR}/SOURCES \ - && ln -s ${SOURCE_DIR}/fedora ${SOURCE_DIR}/SOURCES - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.linux.amd64 b/deployment/Dockerfile.linux.amd64 deleted file mode 100644 index 6b8de3773..000000000 --- a/deployment/Dockerfile.linux.amd64 +++ /dev/null @@ -1,33 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV ARCH=amd64 -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg devscripts unzip \ - mmv libcurl4-openssl-dev libfontconfig1-dev \ - libfreetype6-dev libssl-dev libssl3 liblttng-ust1 \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to docker-build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.linux.amd64 /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.linux.amd64-musl b/deployment/Dockerfile.linux.amd64-musl deleted file mode 100644 index 49d98da2a..000000000 --- a/deployment/Dockerfile.linux.amd64-musl +++ /dev/null @@ -1,33 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV ARCH=amd64 -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg devscripts unzip \ - mmv libcurl4-openssl-dev libfontconfig1-dev \ - libfreetype6-dev libssl-dev libssl3 liblttng-ust1 \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to docker-build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.linux.amd64-musl /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.linux.arm64 b/deployment/Dockerfile.linux.arm64 deleted file mode 100644 index aba33c8b2..000000000 --- a/deployment/Dockerfile.linux.arm64 +++ /dev/null @@ -1,33 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV ARCH=arm64 -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg devscripts unzip \ - mmv libcurl4-openssl-dev libfontconfig1-dev \ - libfreetype6-dev libssl-dev libssl3 liblttng-ust1 \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to docker-build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.linux.arm64 /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.linux.armhf b/deployment/Dockerfile.linux.armhf deleted file mode 100644 index 247f75615..000000000 --- a/deployment/Dockerfile.linux.armhf +++ /dev/null @@ -1,33 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV ARCH=armhf -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg devscripts unzip \ - mmv libcurl4-openssl-dev libfontconfig1-dev \ - libfreetype6-dev libssl-dev libssl3 liblttng-ust1 \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to docker-build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.linux.armhf /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.linux.musl-linux-arm64 b/deployment/Dockerfile.linux.musl-linux-arm64 deleted file mode 100644 index a6e1ba217..000000000 --- a/deployment/Dockerfile.linux.musl-linux-arm64 +++ /dev/null @@ -1,33 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV ARCH=arm64 -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg devscripts unzip \ - mmv libcurl4-openssl-dev libfontconfig1-dev \ - libfreetype6-dev libssl-dev libssl3 liblttng-ust1 \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to docker-build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.linux.musl-linux-arm64 /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.macos.amd64 b/deployment/Dockerfile.macos.amd64 deleted file mode 100644 index 45980c363..000000000 --- a/deployment/Dockerfile.macos.amd64 +++ /dev/null @@ -1,33 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV ARCH=amd64 -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg devscripts \ - mmv libcurl4-openssl-dev libfontconfig1-dev \ - libfreetype6-dev libssl-dev libssl3 liblttng-ust1 \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to docker-build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.macos.amd64 /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.macos.arm64 b/deployment/Dockerfile.macos.arm64 deleted file mode 100644 index ee3a813dd..000000000 --- a/deployment/Dockerfile.macos.arm64 +++ /dev/null @@ -1,33 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV ARCH=amd64 -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg devscripts \ - mmv libcurl4-openssl-dev libfontconfig1-dev \ - libfreetype6-dev libssl-dev libssl3 liblttng-ust1 \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to docker-build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.macos.arm64 /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.portable b/deployment/Dockerfile.portable deleted file mode 100644 index 0ab1b1914..000000000 --- a/deployment/Dockerfile.portable +++ /dev/null @@ -1,32 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg devscripts \ - mmv libcurl4-openssl-dev libfontconfig1-dev \ - libfreetype6-dev libssl-dev libssl3 liblttng-ust1 \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to docker-build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.portable /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.ubuntu.amd64 b/deployment/Dockerfile.ubuntu.amd64 deleted file mode 100644 index 2326d3e85..000000000 --- a/deployment/Dockerfile.ubuntu.amd64 +++ /dev/null @@ -1,33 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-jammy - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV ARCH=amd64 -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg wget ca-certificates devscripts \ - mmv build-essential libcurl4-openssl-dev libfontconfig1-dev \ - libfreetype6-dev libssl-dev libssl3 liblttng-ust1 \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.ubuntu.amd64 /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.ubuntu.arm64 b/deployment/Dockerfile.ubuntu.arm64 deleted file mode 100644 index 461a287a1..000000000 --- a/deployment/Dockerfile.ubuntu.arm64 +++ /dev/null @@ -1,56 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-jammy - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV ARCH=amd64 -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg wget ca-certificates devscripts \ - mmv build-essential lsb-release - -# Prepare the cross-toolchain -RUN rm /etc/apt/sources.list \ - && export CODENAME="$( lsb_release -c -s )" \ - && echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ ${CODENAME} main restricted universe multiverse" >>/etc/apt/sources.list.d/amd64.list \ - && echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ ${CODENAME}-updates main restricted universe multiverse" >>/etc/apt/sources.list.d/amd64.list \ - && echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ ${CODENAME}-backports main restricted universe multiverse" >>/etc/apt/sources.list.d/amd64.list \ - && echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ ${CODENAME}-security main restricted universe multiverse" >>/etc/apt/sources.list.d/amd64.list \ - && echo "deb [arch=arm64] http://ports.ubuntu.com/ ${CODENAME} main restricted universe multiverse" >>/etc/apt/sources.list.d/arm64.list \ - && echo "deb [arch=arm64] http://ports.ubuntu.com/ ${CODENAME}-updates main restricted universe multiverse" >>/etc/apt/sources.list.d/arm64.list \ - && echo "deb [arch=arm64] http://ports.ubuntu.com/ ${CODENAME}-backports main restricted universe multiverse" >>/etc/apt/sources.list.d/arm64.list \ - && echo "deb [arch=arm64] http://ports.ubuntu.com/ ${CODENAME}-security main restricted universe multiverse" >>/etc/apt/sources.list.d/arm64.list \ - && dpkg --add-architecture arm64 \ - && apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq cross-gcc-dev \ - && TARGET_LIST="arm64" cross-gcc-gensource 12 \ - && cd cross-gcc-packages-amd64/cross-gcc-12-arm64 \ - && ln -fs /usr/share/zoneinfo/America/Toronto /etc/localtime \ - && apt-get install --no-install-recommends -yqq \ - gcc-12-source libstdc++6-arm64-cross binutils-aarch64-linux-gnu \ - bison flex libtool gdb sharutils netbase libmpc-dev \ - libmpfr-dev libgmp-dev systemtap-sdt-dev autogen expect chrpath zlib1g-dev \ - zip libc6-dev:arm64 linux-libc-dev:arm64 libgcc1:arm64 libcurl4-openssl-dev:arm64 \ - libfontconfig1-dev:arm64 libfreetype6-dev:arm64 liblttng-ust1:arm64 libstdc++6:arm64 libssl-dev:arm64 \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.ubuntu.arm64 /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.ubuntu.armhf b/deployment/Dockerfile.ubuntu.armhf deleted file mode 100644 index 83fe32acf..000000000 --- a/deployment/Dockerfile.ubuntu.armhf +++ /dev/null @@ -1,56 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-jammy - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV ARCH=amd64 -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg wget ca-certificates devscripts \ - mmv build-essential lsb-release - -# Prepare the cross-toolchain -RUN rm /etc/apt/sources.list \ - && export CODENAME="$( lsb_release -c -s )" \ - && echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ ${CODENAME} main restricted universe multiverse" >>/etc/apt/sources.list.d/amd64.list \ - && echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ ${CODENAME}-updates main restricted universe multiverse" >>/etc/apt/sources.list.d/amd64.list \ - && echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ ${CODENAME}-backports main restricted universe multiverse" >>/etc/apt/sources.list.d/amd64.list \ - && echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ ${CODENAME}-security main restricted universe multiverse" >>/etc/apt/sources.list.d/amd64.list \ - && echo "deb [arch=armhf] http://ports.ubuntu.com/ ${CODENAME} main restricted universe multiverse" >>/etc/apt/sources.list.d/armhf.list \ - && echo "deb [arch=armhf] http://ports.ubuntu.com/ ${CODENAME}-updates main restricted universe multiverse" >>/etc/apt/sources.list.d/armhf.list \ - && echo "deb [arch=armhf] http://ports.ubuntu.com/ ${CODENAME}-backports main restricted universe multiverse" >>/etc/apt/sources.list.d/armhf.list \ - && echo "deb [arch=armhf] http://ports.ubuntu.com/ ${CODENAME}-security main restricted universe multiverse" >>/etc/apt/sources.list.d/armhf.list \ - && dpkg --add-architecture armhf \ - && apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq cross-gcc-dev \ - && TARGET_LIST="armhf" cross-gcc-gensource 12 \ - && cd cross-gcc-packages-amd64/cross-gcc-12-armhf \ - && ln -fs /usr/share/zoneinfo/America/Toronto /etc/localtime \ - && apt-get install --no-install-recommends -yqq \ - gcc-12-source libstdc++6-armhf-cross binutils-arm-linux-gnueabihf \ - bison flex libtool gdb sharutils netbase 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-ust1:armhf libstdc++6:armhf libssl-dev:armhf \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.debian.armhf /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/Dockerfile.windows.amd64 b/deployment/Dockerfile.windows.amd64 deleted file mode 100644 index 358fb620a..000000000 --- a/deployment/Dockerfile.windows.amd64 +++ /dev/null @@ -1,32 +0,0 @@ -ARG DOTNET_VERSION=8.0 - -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION}-bookworm-slim - -# Docker build arguments -ARG SOURCE_DIR=/jellyfin -ARG ARTIFACT_DIR=/dist - -# Docker run environment -ENV SOURCE_DIR=/jellyfin -ENV ARTIFACT_DIR=/dist -ENV DEB_BUILD_OPTIONS=noddebs -ENV IS_DOCKER=YES - -# Prepare Debian build environment -RUN apt-get update -yqq \ - && apt-get install --no-install-recommends -yqq \ - debhelper gnupg devscripts unzip \ - mmv libcurl4-openssl-dev libfontconfig1-dev \ - libfreetype6-dev libssl-dev libssl3 liblttng-ust1 zip \ - && apt-get clean autoclean -yqq \ - && apt-get autoremove -yqq \ - && rm -rf /var/lib/apt/lists/* - -# Link to docker-build script -RUN ln -sf ${SOURCE_DIR}/deployment/build.windows.amd64 /build.sh - -VOLUME ${SOURCE_DIR}/ - -VOLUME ${ARTIFACT_DIR}/ - -ENTRYPOINT ["/build.sh"] diff --git a/deployment/build.centos.amd64 b/deployment/build.centos.amd64 deleted file mode 100755 index 26be377f1..000000000 --- a/deployment/build.centos.amd64 +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash - -#= CentOS/RHEL 9+ amd64 .rpm - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -if [[ ${IS_DOCKER} == YES ]]; then - # Remove BuildRequires for dotnet, since it's installed manually - pushd centos - - cp -a jellyfin.spec /tmp/spec.orig - sed -i 's/BuildRequires: dotnet/# BuildRequires: dotnet/' jellyfin.spec - - popd -fi - -# Modify changelog to unstable configuration if IS_UNSTABLE -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - pushd centos - - PR_ID=$( git log --grep 'Merge pull request' --oneline --single-worktree --first-parent | head -1 | grep --color=none -Eo '#[0-9]+' | tr -d '#' ) - - sed -i "s/Version:.*/Version: ${BUILD_ID}/" jellyfin.spec - sed -i "/%changelog/q" jellyfin.spec - - cat <<EOF >>jellyfin.spec -* $( LANG=C date '+%a %b %d %Y' ) Jellyfin Packaging Team <packaging@jellyfin.org> -- Jellyfin Server unstable build ${BUILD_ID} for merged PR #${PR_ID} -EOF - popd -fi - -# Build RPM -make -f centos/Makefile srpm outdir=/root/rpmbuild/SRPMS -rpmbuild --rebuild -bb /root/rpmbuild/SRPMS/jellyfin-*.src.rpm - -# Move the artifacts out -mv /root/rpmbuild/RPMS/x86_64/jellyfin-*.rpm /root/rpmbuild/SRPMS/jellyfin-*.src.rpm "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -rm -f centos/jellyfin*.tar.gz - -if [[ ${IS_DOCKER} == YES ]]; then - pushd centos - - cp -a /tmp/spec.orig jellyfin.spec - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" - - popd -fi - -popd diff --git a/deployment/build.debian.amd64 b/deployment/build.debian.amd64 deleted file mode 100755 index 350b22a85..000000000 --- a/deployment/build.debian.amd64 +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -#= Debian 12+ amd64 .deb - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Modify changelog to unstable configuration if IS_UNSTABLE -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - pushd debian - PR_ID=$( git log --grep 'Merge pull request' --oneline --single-worktree --first-parent | head -1 | grep --color=none -Eo '#[0-9]+' | tr -d '#' ) - - cat <<EOF >changelog -jellyfin-server (${BUILD_ID}-unstable) unstable; urgency=medium - - * Jellyfin Server unstable build ${BUILD_ID} for merged PR #${PR_ID} - - -- Jellyfin Packaging Team <packaging@jellyfin.org> $( date --rfc-2822 ) -EOF - popd -fi - -# Build DEB -dpkg-buildpackage -us -uc --pre-clean --post-clean - -mkdir -p "${ARTIFACT_DIR}/" -mv ../jellyfin*.{deb,dsc,tar.gz,buildinfo,changes} "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - cp -a /tmp/control.orig debian/control - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.debian.arm64 b/deployment/build.debian.arm64 deleted file mode 100755 index 0dfca0ab4..000000000 --- a/deployment/build.debian.arm64 +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -#= Debian 12+ arm64 .deb - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Modify changelog to unstable configuration if IS_UNSTABLE -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - pushd debian - PR_ID=$( git log --grep 'Merge pull request' --oneline --single-worktree --first-parent | head -1 | grep --color=none -Eo '#[0-9]+' | tr -d '#' ) - - cat <<EOF >changelog -jellyfin-server (${BUILD_ID}-unstable) unstable; urgency=medium - - * Jellyfin Server unstable build ${BUILD_ID} for merged PR #${PR_ID} - - -- Jellyfin Packaging Team <packaging@jellyfin.org> $( date --rfc-2822 ) -EOF - popd -fi - -# Build DEB -export CONFIG_SITE=/etc/dpkg-cross/cross-config.${ARCH} -dpkg-buildpackage -us -uc -a arm64 --pre-clean --post-clean - -mkdir -p "${ARTIFACT_DIR}/" -mv ../jellyfin*.{deb,dsc,tar.gz,buildinfo,changes} "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - cp -a /tmp/control.orig debian/control - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.debian.armhf b/deployment/build.debian.armhf deleted file mode 100755 index 0ab9e2f9a..000000000 --- a/deployment/build.debian.armhf +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -#= Debian 12+ arm64 .deb - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Modify changelog to unstable configuration if IS_UNSTABLE -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - pushd debian - PR_ID=$( git log --grep 'Merge pull request' --oneline --single-worktree --first-parent | head -1 | grep --color=none -Eo '#[0-9]+' | tr -d '#' ) - - cat <<EOF >changelog -jellyfin-server (${BUILD_ID}-unstable) unstable; urgency=medium - - * Jellyfin Server unstable build ${BUILD_ID} for merged PR #${PR_ID} - - -- Jellyfin Packaging Team <packaging@jellyfin.org> $( date --rfc-2822 ) -EOF - popd -fi - -# Build DEB -export CONFIG_SITE=/etc/dpkg-cross/cross-config.${ARCH} -dpkg-buildpackage -us -uc -a armhf --pre-clean --post-clean - -mkdir -p "${ARTIFACT_DIR}/" -mv ../jellyfin*.{deb,dsc,tar.gz,buildinfo,changes} "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - cp -a /tmp/control.orig debian/control - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.fedora.amd64 b/deployment/build.fedora.amd64 deleted file mode 100755 index 2b4ec2a9c..000000000 --- a/deployment/build.fedora.amd64 +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash - -#= Fedora 39+ amd64 .rpm - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -if [[ ${IS_DOCKER} == YES ]]; then - # Remove BuildRequires for dotnet, since it's installed manually - pushd fedora - - cp -a jellyfin.spec /tmp/spec.orig - sed -i 's/BuildRequires: dotnet/# BuildRequires: dotnet/' jellyfin.spec - - popd -fi - -# Modify changelog to unstable configuration if IS_UNSTABLE -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - pushd fedora - - PR_ID=$( git log --grep 'Merge pull request' --oneline --single-worktree --first-parent | head -1 | grep --color=none -Eo '#[0-9]+' | tr -d '#' ) - - sed -i "s/Version:.*/Version: ${BUILD_ID}/" jellyfin.spec - sed -i "/%changelog/q" jellyfin.spec - - cat <<EOF >>jellyfin.spec -* $( LANG=C date '+%a %b %d %Y' ) Jellyfin Packaging Team <packaging@jellyfin.org> -- Jellyfin Server unstable build ${BUILD_ID} for merged PR #${PR_ID} -EOF - popd -fi - -# Build RPM -make -f fedora/Makefile srpm outdir=/root/rpmbuild/SRPMS -rpmbuild -rb /root/rpmbuild/SRPMS/jellyfin-*.src.rpm - -# Move the artifacts out -mv /root/rpmbuild/RPMS/x86_64/jellyfin-*.rpm /root/rpmbuild/SRPMS/jellyfin-*.src.rpm "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -rm -f fedora/jellyfin*.tar.gz - -if [[ ${IS_DOCKER} == YES ]]; then - pushd fedora - - cp -a /tmp/spec.orig jellyfin.spec - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" - - popd -fi - -popd diff --git a/deployment/build.linux.amd64 b/deployment/build.linux.amd64 deleted file mode 100755 index 2998d2f9e..000000000 --- a/deployment/build.linux.amd64 +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -#= Generic Linux amd64 .tar.gz - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Get version -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - version="${BUILD_ID}" -else - version="$( grep "version:" ./build.yaml | sed -E 's/version: "([0-9\.]+.*)"/\1/' )" -fi - -# Build archives -dotnet publish Jellyfin.Server --configuration Release --self-contained --runtime linux-x64 --output dist/jellyfin-server_"${version}"/ -p:DebugSymbols=false -p:DebugType=none -p:UseAppHost=true -tar -czf jellyfin-server_"${version}"_linux-amd64.tar.gz -C dist jellyfin-server_"${version}" -rm -rf dist/jellyfin-server_"${version}" - -# Move the artifacts out -mkdir -p "${ARTIFACT_DIR}/" -mv jellyfin[-_]*.tar.gz "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.linux.amd64-musl b/deployment/build.linux.amd64-musl deleted file mode 100755 index 0fa176465..000000000 --- a/deployment/build.linux.amd64-musl +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -#= Generic Linux amd64-musl .tar.gz - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Get version -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - version="${BUILD_ID}" -else - version="$( grep "version:" ./build.yaml | sed -E 's/version: "([0-9\.]+.*)"/\1/' )" -fi - -# Build archives -dotnet publish Jellyfin.Server --configuration Release --self-contained --runtime linux-musl-x64 --output dist/jellyfin-server_"${version}"/ -p:DebugSymbols=false -p:DebugType=none -p:UseAppHost=true -tar -czf jellyfin-server_"${version}"_linux-amd64-musl.tar.gz -C dist jellyfin-server_"${version}" -rm -rf dist/jellyfin-server_"${version}" - -# Move the artifacts out -mkdir -p "${ARTIFACT_DIR}/" -mv jellyfin[-_]*.tar.gz "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.linux.arm64 b/deployment/build.linux.arm64 deleted file mode 100755 index dc44ca330..000000000 --- a/deployment/build.linux.arm64 +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -#= Generic Linux arm64 .tar.gz - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Get version -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - version="${BUILD_ID}" -else - version="$( grep "version:" ./build.yaml | sed -E 's/version: "([0-9\.]+.*)"/\1/' )" -fi - -# Build archives -dotnet publish Jellyfin.Server --configuration Release --self-contained --runtime linux-arm64 --output dist/jellyfin-server_"${version}"/ -p:DebugSymbols=false -p:DebugType=none -p:UseAppHost=true -tar -czf jellyfin-server_"${version}"_linux-arm64.tar.gz -C dist jellyfin-server_"${version}" -rm -rf dist/jellyfin-server_"${version}" - -# Move the artifacts out -mkdir -p "${ARTIFACT_DIR}/" -mv jellyfin[-_]*.tar.gz "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.linux.armhf b/deployment/build.linux.armhf deleted file mode 100755 index f9de9ff0a..000000000 --- a/deployment/build.linux.armhf +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -#= Generic Linux armhf .tar.gz - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Get version -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - version="${BUILD_ID}" -else - version="$( grep "version:" ./build.yaml | sed -E 's/version: "([0-9\.]+.*)"/\1/' )" -fi - -# Build archives -dotnet publish Jellyfin.Server --configuration Release --self-contained --runtime linux-arm --output dist/jellyfin-server_"${version}"/ -p:DebugSymbols=false -p:DebugType=none -p:UseAppHost=true -tar -czf jellyfin-server_"${version}"_linux-armhf.tar.gz -C dist jellyfin-server_"${version}" -rm -rf dist/jellyfin-server_"${version}" - -# Move the artifacts out -mkdir -p "${ARTIFACT_DIR}/" -mv jellyfin[-_]*.tar.gz "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.linux.musl-linux-arm64 b/deployment/build.linux.musl-linux-arm64 deleted file mode 100755 index ae9ab010f..000000000 --- a/deployment/build.linux.musl-linux-arm64 +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -#= Generic Linux musl-linux-arm64 .tar.gz - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Get version -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - version="${BUILD_ID}" -else - version="$( grep "version:" ./build.yaml | sed -E 's/version: "([0-9\.]+.*)"/\1/' )" -fi - -# Build archives -dotnet publish Jellyfin.Server --configuration Release --self-contained --runtime linux-musl-arm64 --output dist/jellyfin-server_"${version}"/ -p:DebugSymbols=false -p:DebugType=none -p:UseAppHost=true -tar -czf jellyfin-server_"${version}"_linux-arm64-musl.tar.gz -C dist jellyfin-server_"${version}" -rm -rf dist/jellyfin-server_"${version}" - -# Move the artifacts out -mkdir -p "${ARTIFACT_DIR}/" -mv jellyfin[-_]*.tar.gz "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.macos.amd64 b/deployment/build.macos.amd64 deleted file mode 100755 index 81e0f43f6..000000000 --- a/deployment/build.macos.amd64 +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -#= macOS 10.13+ amd64 .tar.gz - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Get version -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - version="${BUILD_ID}" -else - version="$( grep "version:" ./build.yaml | sed -E 's/version: "([0-9\.]+.*)"/\1/' )" -fi - -# Build archives -dotnet publish Jellyfin.Server --configuration Release --self-contained --runtime osx-x64 --output dist/jellyfin-server_"${version}"/ -p:DebugSymbols=false -p:DebugType=none -p:UseAppHost=true -tar -czf jellyfin-server_"${version}"_macos-amd64.tar.gz -C dist jellyfin-server_"${version}" -rm -rf dist/jellyfin-server_"${version}" - -# Move the artifacts out -mkdir -p "${ARTIFACT_DIR}/" -mv jellyfin[-_]*.tar.gz "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.macos.arm64 b/deployment/build.macos.arm64 deleted file mode 100755 index 0a6f37ede..000000000 --- a/deployment/build.macos.arm64 +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -#= macOS 11.0+ arm64 .tar.gz - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Get version -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - version="${BUILD_ID}" -else - version="$( grep "version:" ./build.yaml | sed -E 's/version: "([0-9\.]+.*)"/\1/' )" -fi - -# Build archives -dotnet publish Jellyfin.Server --configuration Release --self-contained --runtime osx-arm64 --output dist/jellyfin-server_"${version}"/ -p:DebugSymbols=false -p:DebugType=none -p:UseAppHost=true -tar -czf jellyfin-server_"${version}"_macos-arm64.tar.gz -C dist jellyfin-server_"${version}" -rm -rf dist/jellyfin-server_"${version}" - -# Move the artifacts out -mkdir -p "${ARTIFACT_DIR}/" -mv jellyfin[-_]*.tar.gz "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.portable b/deployment/build.portable deleted file mode 100755 index fad14fccf..000000000 --- a/deployment/build.portable +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -#= Portable .NET DLL .tar.gz - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Get version -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - version="${BUILD_ID}" -else - version="$( grep "version:" ./build.yaml | sed -E 's/version: "([0-9\.]+.*)"/\1/' )" -fi - -# Build archives -dotnet publish Jellyfin.Server --configuration Release --output dist/jellyfin-server_"${version}"/ -p:DebugSymbols=false -p:DebugType=none -p:UseAppHost=false -tar -czf jellyfin-server_"${version}"_portable.tar.gz -C dist jellyfin-server_"${version}" -rm -rf dist/jellyfin-server_"${version}" - -# Move the artifacts out -mkdir -p "${ARTIFACT_DIR}/" -mv jellyfin[-_]*.tar.gz "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.ubuntu.amd64 b/deployment/build.ubuntu.amd64 deleted file mode 100755 index 6fd87a3ae..000000000 --- a/deployment/build.ubuntu.amd64 +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -#= Ubuntu 22.04+ amd64 .deb - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Modify changelog to unstable configuration if IS_UNSTABLE -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - pushd debian - PR_ID=$( git log --grep 'Merge pull request' --oneline --single-worktree --first-parent | head -1 | grep --color=none -Eo '#[0-9]+' | tr -d '#' ) - - cat <<EOF >changelog -jellyfin-server (${BUILD_ID}-unstable) unstable; urgency=medium - - * Jellyfin Server unstable build ${BUILD_ID} for merged PR #${PR_ID} - - -- Jellyfin Packaging Team <packaging@jellyfin.org> $( date --rfc-2822 ) -EOF - popd -fi - -# Build DEB -dpkg-buildpackage -us -uc --pre-clean --post-clean - -mkdir -p "${ARTIFACT_DIR}/" -mv ../jellyfin*.{deb,dsc,tar.gz,buildinfo,changes} "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - cp -a /tmp/control.orig debian/control - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.ubuntu.arm64 b/deployment/build.ubuntu.arm64 deleted file mode 100755 index f783941c7..000000000 --- a/deployment/build.ubuntu.arm64 +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -#= Ubuntu 22.04+ arm64 .deb - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Modify changelog to unstable configuration if IS_UNSTABLE -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - pushd debian - PR_ID=$( git log --grep 'Merge pull request' --oneline --single-worktree --first-parent | head -1 | grep --color=none -Eo '#[0-9]+' | tr -d '#' ) - - cat <<EOF >changelog -jellyfin-server (${BUILD_ID}-unstable) unstable; urgency=medium - - * Jellyfin Server unstable build ${BUILD_ID} for merged PR #${PR_ID} - - -- Jellyfin Packaging Team <packaging@jellyfin.org> $( date --rfc-2822 ) -EOF - popd -fi - -# Build DEB -export CONFIG_SITE=/etc/dpkg-cross/cross-config.${ARCH} -dpkg-buildpackage -us -uc -a arm64 --pre-clean --post-clean - -mkdir -p "${ARTIFACT_DIR}/" -mv ../jellyfin*.{deb,dsc,tar.gz,buildinfo,changes} "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - cp -a /tmp/control.orig debian/control - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.ubuntu.armhf b/deployment/build.ubuntu.armhf deleted file mode 100755 index cde6708c5..000000000 --- a/deployment/build.ubuntu.armhf +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -#= Ubuntu 22.04+ arm64 .deb - -set -o errexit -set -o xtrace - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Modify changelog to unstable configuration if IS_UNSTABLE -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - pushd debian - PR_ID=$( git log --grep 'Merge pull request' --oneline --single-worktree --first-parent | head -1 | grep --color=none -Eo '#[0-9]+' | tr -d '#' ) - - cat <<EOF >changelog -jellyfin-server (${BUILD_ID}-unstable) unstable; urgency=medium - - * Jellyfin Server unstable build ${BUILD_ID} for merged PR #${PR_ID} - - -- Jellyfin Packaging Team <packaging@jellyfin.org> $( date --rfc-2822 ) -EOF - popd -fi - -# Build DEB -export CONFIG_SITE=/etc/dpkg-cross/cross-config.${ARCH} -dpkg-buildpackage -us -uc -a armhf --pre-clean --post-clean - -mkdir -p "${ARTIFACT_DIR}/" -mv ../jellyfin*.{deb,dsc,tar.gz,buildinfo,changes} "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - cp -a /tmp/control.orig debian/control - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd diff --git a/deployment/build.windows.amd64 b/deployment/build.windows.amd64 deleted file mode 100755 index cd07f4e0b..000000000 --- a/deployment/build.windows.amd64 +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash - -#= Windows 7+ amd64 (x64) .zip - -set -o errexit -set -o xtrace - -# Version variables -NSSM_VERSION="nssm-2.24-101-g897c7ad" -NSSM_URL="http://files.evilt.win/nssm/${NSSM_VERSION}.zip" -FFMPEG_URL="https://repo.jellyfin.org/releases/server/windows/ffmpeg/jellyfin-ffmpeg-portable_win64.zip"; - -# Move to source directory -pushd "${SOURCE_DIR}" - -# Get version -if [[ ${IS_UNSTABLE} == 'yes' ]]; then - version="${BUILD_ID}" -else - version="$( grep "version:" ./build.yaml | sed -E 's/version: "([0-9\.]+.*)"/\1/' )" -fi - -output_dir="dist/jellyfin-server_${version}" - -# Build binary -dotnet publish Jellyfin.Server --configuration Release --self-contained --runtime win-x64 --output "${output_dir}"/ -p:DebugSymbols=false -p:DebugType=none -p:UseAppHost=true - -# Prepare addins -addin_build_dir="$( mktemp -d )" -wget ${NSSM_URL} -O "${addin_build_dir}"/nssm.zip -wget ${FFMPEG_URL} -O "${addin_build_dir}"/jellyfin-ffmpeg.zip -unzip "${addin_build_dir}"/nssm.zip -d "${addin_build_dir}" -cp "${addin_build_dir}"/${NSSM_VERSION}/win64/nssm.exe "${output_dir}"/nssm.exe -unzip "${addin_build_dir}"/jellyfin-ffmpeg.zip -d "${addin_build_dir}"/jellyfin-ffmpeg -cp "${addin_build_dir}"/jellyfin-ffmpeg/* "${output_dir}" -rm -rf "${addin_build_dir}" - -# Create zip package -pushd dist -zip -qr jellyfin-server_"${version}".portable.zip jellyfin-server_"${version}" -popd -rm -rf "${output_dir}" - -# Move the artifacts out -mkdir -p "${ARTIFACT_DIR}/" -mv dist/jellyfin[-_]*.zip "${ARTIFACT_DIR}/" - -if [[ ${IS_DOCKER} == YES ]]; then - chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}" -fi - -popd |
