jellyfin-server/deployment/fedora-package-x64/package.sh
Joshua Boniface 15b83f8b55 Clean up and fix Fedora/CentOS builds
This performs a lot of bugfixing and general cleanup to the
Fedora/CentOS builds, including moving the create_tarball into the
docker-build.sh script, remove some old long versions from the spec
file, correcting several bugs with the Docker environment including
splitting them into more discrete layers, and finally making sure
jellyfin-web is included properly in the RPM.
2019-09-25 14:45:15 -04:00

35 lines
1016 B
Bash
Executable File

#!/usr/bin/env bash
args="${@}"
declare -a docker_envvars
for arg in ${args}; do
docker_envvars+=("-e ${arg}")
done
WORKDIR="$( pwd )"
package_temporary_dir="${WORKDIR}/pkg-dist-tmp"
output_dir="${WORKDIR}/pkg-dist"
current_user="$( whoami )"
image_name="jellyfin-fedora-build"
# Determine if sudo should be used for Docker
if [[ ! -z $(id -Gn | grep -q 'docker') ]] \
&& [[ ! ${EUID:-1000} -eq 0 ]] \
&& [[ ! ${USER} == "root" ]] \
&& [[ ! -z $( echo "${OSTYPE}" | grep -q "darwin" ) ]]; then
docker_sudo="sudo"
else
docker_sudo=""
fi
# Prepare temporary package dir
mkdir -p "${package_temporary_dir}"
# Set up the build environment Docker image
${docker_sudo} docker build ../.. -t "${image_name}" -f ./Dockerfile
# Build the RPMs and copy out to ${package_temporary_dir}
${docker_sudo} docker run --rm -v "${package_temporary_dir}:/dist" "${image_name}" ${docker_envvars}
# Move the RPMs to the output directory
mkdir -p "${output_dir}"
mv "${package_temporary_dir}"/rpm/* "${output_dir}"