From dd3fe4f6e7763f0d5a8464f45f01e405ddd72438 Mon Sep 17 00:00:00 2001 From: Donald Webster Date: Tue, 13 Mar 2018 15:03:44 -0700 Subject: [PATCH] Move binaries to /usr/lib/jackett, config/db to /var/lib/jackett and migrate existing data. --- .SRCINFO | 8 ++++---- PKGBUILD | 22 +++++++++++++--------- jackett.install | 27 +++++++++++++++++++++++---- jackett.service | 2 +- jackett.sysusers | 2 +- 5 files changed, 42 insertions(+), 19 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 96397f1e9f5..154115e6fbc 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = jackett - pkgdesc = Use many trackers with Sonarr + pkgdesc = Use many torrent trackers with software that supports torznab/potato feeds. pkgver = 0.8.749 - pkgrel = 1 + pkgrel = 2 url = https://github.com/Jackett/Jackett install = jackett.install arch = any @@ -12,8 +12,8 @@ pkgbase = jackett source = jackett.service source = jackett.sysusers sha256sums = ef27eeb95249c33ab5e4f12c103e872aa9944a842748ced62bc81a4dad2a3055 - sha256sums = 47326614002708a829e8ce6b7d5fc5a068125e8d64ff47fdb5f3ab09d0c4b0c8 - sha256sums = f48165d816e2b2f9a94f816e5deed58326fa23d7a3dfeaab95473899b554c6db + sha256sums = 7d5396611df22b5a7605dda533ab876cd6647272eb56ad9d22e2f9b2b6fdff6a + sha256sums = d005fcd009ec5404e1ec88246c31e664167f5551d6cabc35f68eb41750bfe590 pkgname = jackett diff --git a/PKGBUILD b/PKGBUILD index 9d14ef829cf..5947c41961c 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,27 +1,31 @@ pkgname=jackett pkgver=0.8.749 pkgrel=2 -pkgdesc='Use many trackers with Sonarr' +pkgdesc='Use many torrent trackers with software that supports torznab/potato feeds.' arch=('any') license=('GPL') url='https://github.com/Jackett/Jackett' depends=('mono' 'curl') +install='jackett.install' source=("Jackett.Binaries.Mono-${pkgver}.tar.gz::https://github.com/Jackett/Jackett/releases/download/v${pkgver}/Jackett.Binaries.Mono.tar.gz" "jackett.service" "jackett.sysusers") sha256sums=('ef27eeb95249c33ab5e4f12c103e872aa9944a842748ced62bc81a4dad2a3055' - '47326614002708a829e8ce6b7d5fc5a068125e8d64ff47fdb5f3ab09d0c4b0c8' - 'f48165d816e2b2f9a94f816e5deed58326fa23d7a3dfeaab95473899b554c6db') -install=$pkgname.install + '7d5396611df22b5a7605dda533ab876cd6647272eb56ad9d22e2f9b2b6fdff6a' + 'd005fcd009ec5404e1ec88246c31e664167f5551d6cabc35f68eb41750bfe590') package() { cd "$srcdir" - install -d -m755 "${pkgdir}/opt/" - cp -dpr --no-preserve=ownership "${srcdir}/Jackett" "${pkgdir}/opt/" - install -D -m644 "${srcdir}/jackett.service" "${pkgdir}/usr/lib/systemd/system/jackett.service" - install -d -m755 "${pkgdir}/usr/share/Jackett" + install -d -m755 "${pkgdir}/usr/lib/jackett/" + cp -dpr --no-preserve=ownership "${srcdir}/Jackett/"* "${pkgdir}/usr/lib/jackett/" - install -Dm644 "$srcdir/jackett.sysusers" "$pkgdir/usr/lib/sysusers.d/jackett.conf" + install -d -m755 "${pkgdir}/var/lib/jackett" + + install -D -m644 "${srcdir}/jackett.service" "${pkgdir}/usr/lib/systemd/system/jackett.service" + install -D -m644 "$srcdir/jackett.sysusers" "$pkgdir/usr/lib/sysusers.d/jackett.conf" + + msg2 "Configs copied from /usr/share/Jackett/.config/Jackett -> /var/lib/jackett/." + msg2 "After confirming, rm -rf /opt/Jackett /usr/share/Jackett." } diff --git a/jackett.install b/jackett.install index e597c9a718e..554d8724179 100644 --- a/jackett.install +++ b/jackett.install @@ -1,9 +1,28 @@ post_install() { - systemd-sysusers jackett.conf - - chown -R jackett: /usr/share/Jackett /opt/Jackett + chown -R jackett: /usr/lib/jackett /var/lib/jackett } post_upgrade() { - post_install $1 + # At version 0.8.749-2 we moved configs to /var/lib/jackett, so + # migrate old config directory. + if [[ $(vercmp "0.8.749-2" "$2") -eq 1 ]]; then + + # Check for existing old config directory and non-existance of new config file. + if [[ -d /usr/share/Jackett/.config/Jackett && ! -f /var/lib/jackett/ServerConfig.json ]]; then + cp -a /usr/share/Jackett/.config/Jackett/* /var/lib/jackett/ + fi + + # Check for existing old mono config directory and non-existance of new mono config directory. + if [[ -d /usr/share/Jackett/.config/.mono && ! -d /var/lib/jackett/.config/.mono ]]; then + mkdir -p /var/lib/jackett/.config/ + cp -a /usr/share/Jackett/.config/.mono /var/lib/jackett/.config/ + fi + + # The jackett user's home directory needs to change too. + if [[ "$( getent passwd jackett | cut -d: -f6 )" != "/var/lib/jackett" ]]; then + usermod -d /var/lib/jackett jackett + fi + fi + + post_install "$1" } diff --git a/jackett.service b/jackett.service index a945b7e281f..edd75f9a697 100644 --- a/jackett.service +++ b/jackett.service @@ -8,7 +8,7 @@ Group=jackett Restart=always RestartSec=5 Type=simple -ExecStart=/usr/bin/mono --debug /opt/Jackett/JackettConsole.exe --NoRestart +ExecStart=/usr/bin/mono /usr/lib/jackett/JackettConsole.exe --NoRestart --DataFolder /var/lib/jackett TimeoutStopSec=20 [Install] diff --git a/jackett.sysusers b/jackett.sysusers index 78a6c5d05c7..b12f617e206 100644 --- a/jackett.sysusers +++ b/jackett.sysusers @@ -1 +1 @@ -u jackett - "Jackett daemon" /usr/share/Jackett +u jackett - "Jackett daemon" /var/lib/jackett