diff --git a/build-deb.sh b/build-deb.sh new file mode 100755 index 0000000000..8d701910d6 --- /dev/null +++ b/build-deb.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env sh + +# Build a Jellyfin .deb file with Docker on Linux +# Places the output .deb file in the parent directory + +set -o xtrace +set -o nounset + +package_temporary_dir="`mktemp -d`" +current_user="`whoami`" +image_name="jellyfin-debuild" + +cleanup() { + docker image rm $image_name --force + test -d "$package_temporary_dir" && rm -r "$package_temporary_dir" +} +trap cleanup EXIT INT + +docker build . -t "$image_name" -f ./Dockerfile.debian_package || exit 1 +docker run --rm -v "$package_temporary_dir:/temp" "$image_name" cp -r /dist /temp/ || exit 1 +sudo chown -R "$current_user" "$package_temporary_dir" || exit 1 +mv "$package_temporary_dir"/dist/*.deb ../ || exit 1