package.sh 1010 B

12345678910111213141516171819202122232425262728293031
  1. #!/usr/bin/env bash
  2. source ../common.build.sh
  3. VERSION=`get_version ../..`
  4. # TODO get the version in the package automatically. And using the changelog to decide the debian package suffix version.
  5. # Build a Jellyfin .deb file with Docker on Linux
  6. # Places the output .deb file in the parent directory
  7. package_temporary_dir="`pwd`/pkg-dist-tmp"
  8. output_dir="`pwd`/pkg-dist"
  9. current_user="`whoami`"
  10. image_name="jellyfin-debuild"
  11. cleanup() {
  12. set +o errexit
  13. docker image rm $image_name --force
  14. rm -rf "$package_temporary_dir"
  15. }
  16. trap cleanup EXIT INT
  17. docker build ../.. -t "$image_name" -f ./Dockerfile --build-arg SOURCEDIR="/jellyfin-${VERSION}"
  18. mkdir -p "$package_temporary_dir"
  19. mkdir -p "$output_dir"
  20. docker run --rm -v "$package_temporary_dir:/temp" "$image_name" sh -c 'find / -maxdepth 1 -type f -name "jellyfin*" -exec mv {} /temp \;'
  21. chown -R "$current_user" "$package_temporary_dir" \
  22. || sudo chown -R "$current_user" "$package_temporary_dir"
  23. mv "$package_temporary_dir"/* "$output_dir"