aboutsummaryrefslogtreecommitdiff
path: root/deployment/fedora-package-x64/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'deployment/fedora-package-x64/Dockerfile')
-rw-r--r--deployment/fedora-package-x64/Dockerfile40
1 files changed, 26 insertions, 14 deletions
diff --git a/deployment/fedora-package-x64/Dockerfile b/deployment/fedora-package-x64/Dockerfile
index e5deac29fb..8bb1d527da 100644
--- a/deployment/fedora-package-x64/Dockerfile
+++ b/deployment/fedora-package-x64/Dockerfile
@@ -1,15 +1,27 @@
FROM fedora:29
-ARG HOME=/build
-RUN mkdir /build && \
- dnf install -y @buildsys-build rpmdevtools dnf-plugins-core && \
- dnf copr enable -y @dotnet-sig/dotnet && \
- rpmdev-setuptree
-
-WORKDIR /build/rpmbuild
-COPY ./deployment/fedora-package-x64/pkg-src/jellyfin.spec SPECS
-COPY ./deployment/fedora-package-x64/pkg-src/ SOURCES
-
-RUN spectool -g -R SPECS/jellyfin.spec && \
- rpmbuild -bs SPECS/jellyfin.spec && \
- dnf build-dep -y SRPMS/jellyfin-*.src.rpm && \
- rpmbuild -bb SPECS/jellyfin.spec; \ No newline at end of file
+# 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 build environment
+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} \
+ && 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"]