aboutsummaryrefslogtreecommitdiff
path: root/deployment
diff options
context:
space:
mode:
authorJoshua Boniface <joshua@boniface.me>2019-02-05 19:04:20 -0500
committerJoshua Boniface <joshua@boniface.me>2019-02-05 19:19:55 -0500
commit8413c56392eb331bc319cddf135b671ec0a80123 (patch)
tree245c5ac4a68e5238934e182cde3f2da8e70a103c /deployment
parent88038d96448d57601e619572ed77d8c2f0fa4db9 (diff)
Update CentOS package build
Diffstat (limited to 'deployment')
-rw-r--r--deployment/centos-package-x64/Dockerfile49
-rw-r--r--deployment/centos-package-x64/dependencies.txt1
l---------deployment/centos-package-x64/docker-build.sh1
3 files changed, 37 insertions, 14 deletions
diff --git a/deployment/centos-package-x64/Dockerfile b/deployment/centos-package-x64/Dockerfile
index bbe5ffd27..89799bca2 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
-
-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; \ No newline at end of file
+# 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"]
diff --git a/deployment/centos-package-x64/dependencies.txt b/deployment/centos-package-x64/dependencies.txt
new file mode 100644
index 000000000..bdb967096
--- /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 000000000..7adc32954
--- /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