From cc3b1e5cc8243745f18719ee633c599580aa7637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20B=C3=BCttner?= Date: Wed, 23 Jan 2019 21:14:10 +0100 Subject: [PATCH 1/3] Fix package build for fedora --- deployment/common.build.sh | 3 +-- deployment/fedora-package-x64/clean.sh | 12 +++++++++++- deployment/fedora-package-x64/package.sh | 18 ++++++++++-------- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/deployment/common.build.sh b/deployment/common.build.sh index 7392fd4015..c191ec2a1b 100755 --- a/deployment/common.build.sh +++ b/deployment/common.build.sh @@ -23,8 +23,7 @@ get_version() ( local ROOT=${1-$DEFAULT_ROOT} grep "AssemblyVersion" ${ROOT}/SharedVersion.cs \ - | sed -E 's/\[assembly: ?AssemblyVersion\("([0-9\.]+)"\)\]/\1/' \ - | sed -E 's/.0$//' + | sed -E 's/\[assembly: ?AssemblyVersion\("([0-9\.]+)"\)\]/\1/' ) # Run a build diff --git a/deployment/fedora-package-x64/clean.sh b/deployment/fedora-package-x64/clean.sh index 3df2d7796e..d0f487648a 100755 --- a/deployment/fedora-package-x64/clean.sh +++ b/deployment/fedora-package-x64/clean.sh @@ -4,4 +4,14 @@ source ../common.build.sh VERSION=`get_version ../..` -clean_jellyfin ../.. Release `pwd`/dist/jellyfin_${VERSION} +package_temporary_dir="`pwd`/pkg-dist-tmp" +pkg_src_dir="`pwd`/pkg-src" +image_name="jellyfin-rpmbuild" +docker_sudo="" +if ! $(id -Gn | grep -q 'docker') && [ ! $EUID -eq 0 ]; then + docker_sudo=sudo +fi + +$docker_sudo docker image rm $image_name --force +rm -rf "$package_temporary_dir" +rm -rf "$pkg_src_dir/jellyfin-${VERSION}.tar.gz" diff --git a/deployment/fedora-package-x64/package.sh b/deployment/fedora-package-x64/package.sh index 416c8213b9..390c2d9b70 100755 --- a/deployment/fedora-package-x64/package.sh +++ b/deployment/fedora-package-x64/package.sh @@ -18,10 +18,14 @@ output_dir="`pwd`/pkg-dist" pkg_src_dir="`pwd`/pkg-src" current_user="`whoami`" image_name="jellyfin-rpmbuild" +docker_sudo="" +if ! $(id -Gn | grep -q 'docker') && [ ! $EUID -eq 0 ]; then + docker_sudo=sudo +fi cleanup() { set +o errexit - docker image rm $image_name --force + $docker_sudo docker image rm $image_name --force rm -rf "$package_temporary_dir" rm -rf "$pkg_src_dir/jellyfin-${VERSION}.tar.gz" } @@ -30,7 +34,7 @@ GNU_TAR=1 mkdir -p "$package_temporary_dir" echo "Bundling all sources for RPM build." tar \ ---transform "s,^\.,jellyfin-${VERSION}" \ +--transform "s,^\.,jellyfin-${VERSION}," \ --exclude='.git*' \ --exclude='**/.git' \ --exclude='**/.hg' \ @@ -42,10 +46,8 @@ tar \ --exclude='**/.nuget' \ --exclude='*.deb' \ --exclude='*.rpm' \ --Jcvf \ -"$package_temporary_dir/jellyfin-${VERSION}.tar.xz" \ --C "../.." \ -./ || true && GNU_TAR=0 +-zcf "$pkg_src_dir/jellyfin-${VERSION}.tar.gz" \ +-C "../.." ./ || GNU_TAR=0 if [ $GNU_TAR -eq 0 ]; then echo "The installed tar binary did not support --transform. Using workaround." @@ -75,9 +77,9 @@ if [ $GNU_TAR -eq 0 ]; then tar -zcf "$pkg_src_dir/jellyfin-${VERSION}.tar.gz" -C "$package_temporary_dir" "jellyfin-${VERSION}" fi -docker build ../.. -t "$image_name" -f ./Dockerfile +$docker_sudo docker build ../.. -t "$image_name" -f ./Dockerfile mkdir -p "$output_dir" -docker run --rm -v "$package_temporary_dir:/temp" "$image_name" sh -c 'find /build/rpmbuild -maxdepth 3 -type f -name "jellyfin*.rpm" -exec mv {} /temp \;' +$docker_sudo docker run --rm -v "$package_temporary_dir:/temp" "$image_name" sh -c 'find /build/rpmbuild -maxdepth 3 -type f -name "jellyfin*.rpm" -exec mv {} /temp \;' chown -R "$current_user" "$package_temporary_dir" \ || sudo chown -R "$current_user" "$package_temporary_dir" mv "$package_temporary_dir"/*.rpm "$output_dir" From f2d0d1f646c16cf2099f6395721822bbfa555fb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20B=C3=BCttner?= Date: Thu, 24 Jan 2019 15:24:04 +0100 Subject: [PATCH 2/3] Make the docker group check BSD compatible --- deployment/fedora-package-x64/clean.sh | 2 +- deployment/fedora-package-x64/package.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/fedora-package-x64/clean.sh b/deployment/fedora-package-x64/clean.sh index d0f487648a..001f568dda 100755 --- a/deployment/fedora-package-x64/clean.sh +++ b/deployment/fedora-package-x64/clean.sh @@ -8,7 +8,7 @@ package_temporary_dir="`pwd`/pkg-dist-tmp" pkg_src_dir="`pwd`/pkg-src" image_name="jellyfin-rpmbuild" docker_sudo="" -if ! $(id -Gn | grep -q 'docker') && [ ! $EUID -eq 0 ]; then +if ! $(id -Gn | grep -q 'docker') && [ ! ${EUID:-1000} -eq 0 ] && [ ! $USER == "root" ]; then docker_sudo=sudo fi diff --git a/deployment/fedora-package-x64/package.sh b/deployment/fedora-package-x64/package.sh index 390c2d9b70..6942240066 100755 --- a/deployment/fedora-package-x64/package.sh +++ b/deployment/fedora-package-x64/package.sh @@ -19,7 +19,7 @@ pkg_src_dir="`pwd`/pkg-src" current_user="`whoami`" image_name="jellyfin-rpmbuild" docker_sudo="" -if ! $(id -Gn | grep -q 'docker') && [ ! $EUID -eq 0 ]; then +if ! $(id -Gn | grep -q 'docker') && [ ! ${EUID:-1000} -eq 0 ] && [ ! $USER == "root" ]; then docker_sudo=sudo fi From 6a3ed5d519b6670ddccbf8bb326ce51b424c9799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20B=C3=BCttner?= Date: Thu, 24 Jan 2019 16:24:00 +0100 Subject: [PATCH 3/3] Added macOS to the docker sudo exception --- deployment/fedora-package-x64/clean.sh | 3 ++- deployment/fedora-package-x64/package.sh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/deployment/fedora-package-x64/clean.sh b/deployment/fedora-package-x64/clean.sh index 001f568dda..d7233208ff 100755 --- a/deployment/fedora-package-x64/clean.sh +++ b/deployment/fedora-package-x64/clean.sh @@ -8,7 +8,8 @@ package_temporary_dir="`pwd`/pkg-dist-tmp" pkg_src_dir="`pwd`/pkg-src" image_name="jellyfin-rpmbuild" docker_sudo="" -if ! $(id -Gn | grep -q 'docker') && [ ! ${EUID:-1000} -eq 0 ] && [ ! $USER == "root" ]; then +if ! $(id -Gn | grep -q 'docker') && [ ! ${EUID:-1000} -eq 0 ] && \ + [ ! $USER == "root" ] && ! $(echo "$OSTYPE" | grep -q "darwin"); then docker_sudo=sudo fi diff --git a/deployment/fedora-package-x64/package.sh b/deployment/fedora-package-x64/package.sh index 6942240066..d459cdb243 100755 --- a/deployment/fedora-package-x64/package.sh +++ b/deployment/fedora-package-x64/package.sh @@ -19,7 +19,8 @@ pkg_src_dir="`pwd`/pkg-src" current_user="`whoami`" image_name="jellyfin-rpmbuild" docker_sudo="" -if ! $(id -Gn | grep -q 'docker') && [ ! ${EUID:-1000} -eq 0 ] && [ ! $USER == "root" ]; then +if ! $(id -Gn | grep -q 'docker') && [ ! ${EUID:-1000} -eq 0 ] && \ + [ ! $USER == "root" ] && ! $(echo "$OSTYPE" | grep -q "darwin"); then docker_sudo=sudo fi