diff options
| author | Andrew Rabert <6550543+nvllsvm@users.noreply.github.com> | 2019-01-24 23:00:51 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-01-24 23:00:51 -0500 |
| commit | 48e1a55d9e6605e09da08d9db21ad25d25c24c8c (patch) | |
| tree | cbc4beaa8151952f13d69547bc2ddafb90974009 | |
| parent | 1d7d4c573875093b97a5929fdee976cd0dcbedea (diff) | |
| parent | 6a3ed5d519b6670ddccbf8bb326ce51b424c9799 (diff) | |
Merge pull request #689 from Wuerfelbecher/fix-fedora-build
Fix RPM package build for fedora
| -rwxr-xr-x | deployment/common.build.sh | 3 | ||||
| -rwxr-xr-x | deployment/fedora-package-x64/clean.sh | 13 | ||||
| -rwxr-xr-x | deployment/fedora-package-x64/package.sh | 19 |
3 files changed, 24 insertions, 11 deletions
diff --git a/deployment/common.build.sh b/deployment/common.build.sh index 7392fd401..c191ec2a1 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 3df2d7796..d7233208f 100755 --- a/deployment/fedora-package-x64/clean.sh +++ b/deployment/fedora-package-x64/clean.sh @@ -4,4 +4,15 @@ 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:-1000} -eq 0 ] && \ + [ ! $USER == "root" ] && ! $(echo "$OSTYPE" | grep -q "darwin"); 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 416c8213b..d459cdb24 100755 --- a/deployment/fedora-package-x64/package.sh +++ b/deployment/fedora-package-x64/package.sh @@ -18,10 +18,15 @@ 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:-1000} -eq 0 ] && \ + [ ! $USER == "root" ] && ! $(echo "$OSTYPE" | grep -q "darwin"); 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 +35,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 +47,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 +78,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" |
