Browse Source

Update CentOS package build

Joshua Boniface 6 years ago
parent
commit
8413c56392

+ 35 - 14
deployment/centos-package-x64/Dockerfile

@@ -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"]

+ 1 - 0
deployment/centos-package-x64/dependencies.txt

@@ -0,0 +1 @@
+docker

+ 1 - 0
deployment/centos-package-x64/docker-build.sh

@@ -0,0 +1 @@
+../fedora-package-x64/docker-build.sh