15b83f8b55
This performs a lot of bugfixing and general cleanup to the Fedora/CentOS builds, including moving the create_tarball into the docker-build.sh script, remove some old long versions from the spec file, correcting several bugs with the Docker environment including splitting them into more discrete layers, and finally making sure jellyfin-web is included properly in the RPM.
38 lines
1.1 KiB
Docker
38 lines
1.1 KiB
Docker
FROM fedora:29
|
|
# Docker build arguments
|
|
ARG SOURCE_DIR=/jellyfin
|
|
ARG PLATFORM_DIR=/jellyfin/deployment/fedora-package-x64
|
|
ARG ARTIFACT_DIR=/dist
|
|
ARG SDK_VERSION=2.2
|
|
# Docker run environment
|
|
ENV SOURCE_DIR=/jellyfin
|
|
ENV ARTIFACT_DIR=/dist
|
|
|
|
# Prepare Fedora environment
|
|
RUN dnf update -y
|
|
|
|
# Install build dependencies
|
|
RUN dnf install -y @buildsys-build rpmdevtools dnf-plugins-core libcurl-devel fontconfig-devel freetype-devel openssl-devel glibc-devel libicu-devel nodejs wget git
|
|
|
|
# Install DotNET SDK
|
|
RUN dnf copr enable -y @dotnet-sig/dotnet \
|
|
&& rpmdev-setuptree \
|
|
&& dnf install -y dotnet-sdk-${SDK_VERSION} dotnet-runtime-${SDK_VERSION}
|
|
|
|
# Install yarn package manager
|
|
RUN wget -q -O /etc/yum.repos.d/yarn.repo https://dl.yarnpkg.com/rpm/yarn.repo \
|
|
&& dnf install -y yarn
|
|
|
|
# Create symlinks and directories
|
|
RUN 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 \
|
|
&& mkdir -p ${SOURCE_DIR}/SOURCES \
|
|
&& ln -s ${PLATFORM_DIR}/pkg-src ${SOURCE_DIR}/SOURCES
|
|
|
|
VOLUME ${ARTIFACT_DIR}/
|
|
|
|
COPY . ${SOURCE_DIR}/
|
|
|
|
ENTRYPOINT ["/docker-build.sh"]
|