From 1f38eb05bc38e07580423627dc863f3cfd7b636c Mon Sep 17 00:00:00 2001 From: phnzb Date: Tue, 16 Apr 2024 14:43:45 +0300 Subject: [PATCH] Update build workflow. Fix systemd unit location. --- .github/workflows/build.yml | 16 ++++++++++++++-- .github/workflows/linux-pkg.yml | 3 --- linux/pkg/build-pkg.sh | 9 ++++----- linux/pkg/rpm/nzbget.spec | 4 ++-- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 73f117792..7f791e00a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,6 +25,14 @@ jobs: build-qnap: uses: ./.github/workflows/qnap.yml + build-linux-pkg: + uses: ./.github/workflows/linux-pkg.yml + with: + external_call: true + needs: [build-linux] + permissions: + actions: write + repack-qnap: uses: ./.github/workflows/qnap-repack.yml with: @@ -54,6 +62,8 @@ jobs: mv nzbget-synology-packages/* builds || true mv nzbget-qnap-packages/* builds || true mv nzbget-qnap-native-packages/* builds || true + mv nzbget-deb-packages/* builds || true + mv nzbget-rpm-packages/* builds || true cd builds VERSION=$(ls | grep bin-windows-setup | cut -d - -f 2) if [ "$GITHUB_REF_NAME" != "main" ]; then VERSION="$VERSION-testing"; fi @@ -65,7 +75,7 @@ jobs: echo "nzbget_signatures({" | tee $SIGS_FILE echo | tee -a $SIGS_FILE - for FILE in *.exe *.run *.zip *.spk *.qpkg; do + for FILE in *.exe *.run *.zip *.spk *.qpkg *.deb *.rpm; do [ -f $FILE ] || continue MD5=$(openssl dgst -md5 $FILE | cut -d ' ' -f 2) @@ -104,9 +114,11 @@ jobs: nzbget-synology-packages nzbget-qnap-packages nzbget-qnap-native-packages + nzbget-deb-packages + nzbget-rpm-packages make-testing-release: - runs-on: [self-hosted, linux] + runs-on: [self-hosted, nzbget-linux] needs: [generate-signatures] permissions: contents: write diff --git a/.github/workflows/linux-pkg.yml b/.github/workflows/linux-pkg.yml index 538284cdc..f91c68da3 100644 --- a/.github/workflows/linux-pkg.yml +++ b/.github/workflows/linux-pkg.yml @@ -9,9 +9,6 @@ on: required: false default: false workflow_dispatch: - push: - branches: - - feature/* jobs: build-linux: diff --git a/linux/pkg/build-pkg.sh b/linux/pkg/build-pkg.sh index f6d6155de..2a2679f18 100755 --- a/linux/pkg/build-pkg.sh +++ b/linux/pkg/build-pkg.sh @@ -126,10 +126,9 @@ for ARCH in $ARCHS; do # copy additional CONTENTS files cp -r $NZBGET_ROOT/linux/pkg/deb/CONTENTS "$PWD/$ARCH/" 2>/dev/null || true eval "echo \"$(cat ../linux/pkg/deb/DEBIAN/control)\"" > "$CONTENTS/DEBIAN/control" - mkdir -p "$CONTENTS/lib/systemd/system/" - cp ../linux/pkg/nzbget.service "$CONTENTS/lib/systemd/system/" + mkdir -p "$CONTENTS/usr/lib/systemd/system/" + cp ../linux/pkg/nzbget.service "$CONTENTS/usr/lib/systemd/system/" # fix permissions - chmod -R u+rwX,go+rX,go-w "$CONTENTS/lib" chmod -R u+rwX,go+rX,go-w "$CONTENTS/usr" # remove unneeded files find $PWD/$ARCH/ -maxdepth 1 -type f -delete @@ -152,8 +151,8 @@ for ARCH in $ARCHS; do cp -r $CONTENTS/usr/ $RPM_SRC # replace 7zz with 7za (p7zip-full) sed -i -e "s|^SevenZipCmd=.*|SevenZipCmd=7za|g" "$RPM_SRC/usr/share/nzbget/nzbget.conf" - mkdir -p "$RPM_SRC/lib/systemd/system/" - cp ../linux/pkg/nzbget.service "$RPM_SRC/lib/systemd/system/" + mkdir -p "$RPM_SRC/usr/lib/systemd/system/" + cp ../linux/pkg/nzbget.service "$RPM_SRC/usr/lib/systemd/system/" # remove unneeded files find $PWD/$ARCH/ -maxdepth 1 -type f ! -name "nzbget.spec" -delete rpmbuild --define "_topdir $PWD/$ARCH" -bb $PWD/$ARCH/nzbget.spec --target $RPM_ARCH diff --git a/linux/pkg/rpm/nzbget.spec b/linux/pkg/rpm/nzbget.spec index e12f65648..bd0a2a5ad 100644 --- a/linux/pkg/rpm/nzbget.spec +++ b/linux/pkg/rpm/nzbget.spec @@ -4,7 +4,7 @@ Release: 1 Group: Applications/Internet Provides: nzbget Requires: systemd -Recommends: p7zip unrar +Recommends: p7zip unrar >= 6 Summary: Command-line based binary newsgrabber for nzb files, written in C++ License: GPLv2 @@ -26,7 +26,7 @@ unpack and web-interface. NZBGet requires low system resources. /usr/bin/nzbget /usr/share/doc/nzbget/ /usr/share/nzbget/ -/lib/systemd/system/nzbget.service +/usr/lib/systemd/system/nzbget.service %post if [ $1 == 1 ]; then # install