package.sh 1010 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/env bash
  2. args="${@}"
  3. declare -a docker_envvars
  4. for arg in ${args}; do
  5. docker_envvars+="-e ${arg} "
  6. done
  7. WORKDIR="$( pwd )"
  8. package_temporary_dir="${WORKDIR}/pkg-dist-tmp"
  9. output_dir="${WORKDIR}/pkg-dist"
  10. current_user="$( whoami )"
  11. image_name="jellyfin-macos-build"
  12. # Determine if sudo should be used for Docker
  13. if [[ ! -z $(id -Gn | grep -q 'docker') ]] \
  14. && [[ ! ${EUID:-1000} -eq 0 ]] \
  15. && [[ ! ${USER} == "root" ]] \
  16. && [[ ! -z $( echo "${OSTYPE}" | grep -q "darwin" ) ]]; then
  17. docker_sudo="sudo"
  18. else
  19. docker_sudo=""
  20. fi
  21. # Prepare temporary package dir
  22. mkdir -p "${package_temporary_dir}"
  23. # Set up the build environment Docker image
  24. ${docker_sudo} docker build ../.. -t "${image_name}" -f ./Dockerfile
  25. # Build the DEBs and copy out to ${package_temporary_dir}
  26. ${docker_sudo} docker run --rm ${docker_envvars} -v "${package_temporary_dir}:/dist" "${image_name}"
  27. # Move the DEBs to the output directory
  28. mkdir -p "${output_dir}"
  29. mv "${package_temporary_dir}"/* "${output_dir}"