|
@@ -1,15 +1,36 @@
|
|
|
FROM centos:7
|
|
|
-ARG HOME=/build
|
|
|
-RUN mkdir /build && \
|
|
|
- yum install -y @buildsys-build rpmdevtools yum-plugins-core && \
|
|
|
- rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm && \
|
|
|
- rpmdev-setuptree
|
|
|
-
|
|
|
-WORKDIR /build/rpmbuild
|
|
|
-COPY ./deployment/centos-package-x64/pkg-src/jellyfin.spec SPECS
|
|
|
-COPY ./deployment/centos-package-x64/pkg-src/ SOURCES
|
|
|
-
|
|
|
-RUN spectool -g -R SPECS/jellyfin.spec && \
|
|
|
- rpmbuild -bs SPECS/jellyfin.spec && \
|
|
|
- yum-builddep -y SRPMS/jellyfin-*.src.rpm && \
|
|
|
- rpmbuild -bb SPECS/jellyfin.spec;
|
|
|
+# Docker build arguments
|
|
|
+ARG SOURCE_DIR=/jellyfin
|
|
|
+ARG PLATFORM_DIR=/jellyfin/deployment/centos-package-x64
|
|
|
+ARG ARTIFACT_DIR=/dist
|
|
|
+ARG SDK_VERSION=2.2
|
|
|
+# Docker run environment
|
|
|
+ENV SOURCE_DIR=/jellyfin
|
|
|
+ENV ARTIFACT_DIR=/dist
|
|
|
+
|
|
|
+# Prepare CentOS build environment
|
|
|
+RUN yum update -y \
|
|
|
+ && yum install -y @buildsys-build rpmdevtools yum-plugins-core libcurl-devel fontconfig-devel freetype-devel openssl-devel glibc-devel libicu-devel \
|
|
|
+ && rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm \
|
|
|
+ && rpmdev-setuptree \
|
|
|
+ && yum install -y dotnet-sdk-${SDK_VERSION}
|
|
|
+
|
|
|
+# Link to docker-build script
|
|
|
+RUN ln -sf ${PLATFORM_DIR}/docker-build.sh /docker-build.sh
|
|
|
+
|
|
|
+# Link to RPM spec; mkdir needed or it fails, can't force dest
|
|
|
+RUN mkdir -p ${SOURCE_DIR}/SPECS \
|
|
|
+ && ln -s ${PLATFORM_DIR}/pkg-src/jellyfin.spec ${SOURCE_DIR}/SPECS/jellyfin.spec
|
|
|
+
|
|
|
+# Link to RPM sources; mkdir needed or it fails, can't force dest
|
|
|
+RUN mkdir -p ${SOURCE_DIR}/SOURCES \
|
|
|
+ && ln -s ${PLATFORM_DIR}/pkg-src ${SOURCE_DIR}/SOURCES
|
|
|
+
|
|
|
+# Prepare artifact volume
|
|
|
+VOLUME ${ARTIFACT_DIR}/
|
|
|
+
|
|
|
+# Copy repository
|
|
|
+COPY . ${SOURCE_DIR}/
|
|
|
+
|
|
|
+# Set docker-build entrypoint
|
|
|
+ENTRYPOINT ["/docker-build.sh"]
|