jellyfin/deployment/build.centos.amd64
Gauvino a884b1f786
Refactor Dockerfile and build (#10603)
* Fix fedora

* Fix RID Linux

* Fix package and image versions

* Fix buildling and optimize docker images
```

* Removed find obj

* Changed curl command and added gpg

* Added to Contributors

* Removed apt-transport-https package

* Removed RASPI

* Update Intel drivers version

* Update Dockerfile for CentOS, Fedora, and portable deployments

 - Changed Jammy docker image to Built-in Jammy Microsoft .NET SDK image
 - Switched from using "Yum" to "Dnf" for CentOS and Fedora
 - Added "dnf clean all" and "rm -rf /var/cache/dnf" to the end of CentOS and Fedora Dockerfiles
 - Added "apt-get clean", "apt-get autoremove", "rm -rf /var/lib/apt/lists/*" to the end of the Debian/Ubuntu Dockerfiles
 - Added ${DOTNET_VERSION} in every Dockerfile except CentOS/Fedora
 - Removed previous warning comment for dotnet publish build in parallel
 - Arranged package installation

* Re-arranged Dockerfile package installation

* Re-align

* Remove curl

* Remove curl
2024-01-17 18:11:03 -07:00

60 lines
1.5 KiB
Bash
Executable file

#!/bin/bash
#= CentOS/RHEL 8+ amd64 .rpm
set -o errexit
set -o xtrace
# Move to source directory
pushd "${SOURCE_DIR}"
if [[ ${IS_DOCKER} == YES ]]; then
# Remove BuildRequires for dotnet, since it's installed manually
pushd fedora
cp -a jellyfin.spec /tmp/spec.orig
sed -i 's/BuildRequires: dotnet/# BuildRequires: dotnet/' jellyfin.spec
popd
fi
# Modify changelog to unstable configuration if IS_UNSTABLE
if [[ ${IS_UNSTABLE} == 'yes' ]]; then
pushd fedora
PR_ID=$( git log --grep 'Merge pull request' --oneline --single-worktree --first-parent | head -1 | grep --color=none -Eo '#[0-9]+' | tr -d '#' )
sed -i "s/Version:.*/Version: ${BUILD_ID}/" jellyfin.spec
sed -i "/%changelog/q" jellyfin.spec
cat <<EOF >>jellyfin.spec
* $( LANG=C date '+%a %b %d %Y' ) Jellyfin Packaging Team <packaging@jellyfin.org>
- Jellyfin Server unstable build ${BUILD_ID} for merged PR #${PR_ID}
EOF
popd
fi
# Build RPM
make -f fedora/Makefile srpm outdir=/root/rpmbuild/SRPMS
rpmbuild --rebuild -bb /root/rpmbuild/SRPMS/jellyfin-*.src.rpm
# Move the artifacts out
mv /root/rpmbuild/RPMS/x86_64/jellyfin-*.rpm /root/rpmbuild/SRPMS/jellyfin-*.src.rpm "${ARTIFACT_DIR}/"
if [[ ${IS_DOCKER} == YES ]]; then
chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}"
fi
rm -f fedora/jellyfin*.tar.gz
if [[ ${IS_DOCKER} == YES ]]; then
pushd fedora
cp -a /tmp/spec.orig jellyfin.spec
chown -Rc "$(stat -c %u:%g "${ARTIFACT_DIR}")" "${ARTIFACT_DIR}"
popd
fi
popd