From 8413c56392eb331bc319cddf135b671ec0a80123 Mon Sep 17 00:00:00 2001 From: Joshua Boniface Date: Tue, 5 Feb 2019 19:04:20 -0500 Subject: [PATCH] Update CentOS package build --- deployment/centos-package-x64/Dockerfile | 45 ++++++++++++++----- .../centos-package-x64/dependencies.txt | 1 + deployment/centos-package-x64/docker-build.sh | 1 + 3 files changed, 35 insertions(+), 12 deletions(-) create mode 100644 deployment/centos-package-x64/dependencies.txt create mode 120000 deployment/centos-package-x64/docker-build.sh diff --git a/deployment/centos-package-x64/Dockerfile b/deployment/centos-package-x64/Dockerfile index bbe5ffd277..89799bca20 100644 --- a/deployment/centos-package-x64/Dockerfile +++ b/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 +# 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 -WORKDIR /build/rpmbuild -COPY ./deployment/centos-package-x64/pkg-src/jellyfin.spec SPECS -COPY ./deployment/centos-package-x64/pkg-src/ SOURCES +# 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} -RUN spectool -g -R SPECS/jellyfin.spec && \ - rpmbuild -bs SPECS/jellyfin.spec && \ - yum-builddep -y SRPMS/jellyfin-*.src.rpm && \ - rpmbuild -bb SPECS/jellyfin.spec; \ No newline at end of file +# 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"] diff --git a/deployment/centos-package-x64/dependencies.txt b/deployment/centos-package-x64/dependencies.txt new file mode 100644 index 0000000000..bdb9670965 --- /dev/null +++ b/deployment/centos-package-x64/dependencies.txt @@ -0,0 +1 @@ +docker diff --git a/deployment/centos-package-x64/docker-build.sh b/deployment/centos-package-x64/docker-build.sh new file mode 120000 index 0000000000..7adc32954d --- /dev/null +++ b/deployment/centos-package-x64/docker-build.sh @@ -0,0 +1 @@ +../fedora-package-x64/docker-build.sh \ No newline at end of file