summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorOndrej Patrovic2016-06-21 23:54:46 -0400
committerOndrej Patrovic2016-06-21 23:54:46 -0400
commita78f7694e757906ff964988a3c05103886c73e03 (patch)
tree23263d59c54a960bf936a97987746830e2f617b8
downloadaur-a78f7694e757906ff964988a3c05103886c73e03.tar.gz
Initial commit of version 0.11.12.r0.g9198eb6
-rw-r--r--.SRCINFO29
-rw-r--r--PKGBUILD53
-rw-r--r--fix-signal-handling.patch14
-rw-r--r--sickgear.install64
-rw-r--r--sickgear.service15
-rw-r--r--sickgear.sysusers1
-rw-r--r--sickgear.tmpfiles1
7 files changed, 177 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..e5c34d05fb44
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,29 @@
+pkgbase = sickgear-git
+ pkgdesc = Provides management of TV shows and/or Anime, detects new episodes, links to downloader apps, and more.
+ pkgver = 0.11.12.r0.g9198eb6
+ pkgrel = 1
+ url = https://github.com/SickGear/SickGear
+ install = sickgear.install
+ arch = any
+ license = GPL3
+ makedepends = git
+ depends = python2-cheetah
+ optdepends = python2-notify: desktop notifications
+ optdepends = python2-pyopenssl: enable SSL
+ optdepends = unrar: RAR archives
+ provides = sickgear
+ conflicts = sickgear
+ options = !strip
+ source = sickgear.service
+ source = sickgear.tmpfiles
+ source = sickgear.sysusers
+ source = fix-signal-handling.patch
+ source = sickgear::git+https://github.com/SickGear/SickGear.git
+ sha256sums = 1b80f3f749e357e1509dd4524eecb3f044ec0a266cf96c31f665dabb7fe07f8f
+ sha256sums = 5c7a327168f2b2d361eeaa9e9f82e79a87381908d8ba6b1d1eb90ac64ad38ac2
+ sha256sums = 54873ee12aa334a0c0830dbe48251f994d8ae851ae0b55250c098ff9f7f9ea60
+ sha256sums = fae4616bf9dbf19d5bb2fcc89abd49b27db9f1f0181589a60bbcde07b840ae99
+ sha256sums = SKIP
+
+pkgname = sickgear-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..6ec022c735cf
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Ondrej Patrovic <ondrej@patrovic.com>
+
+_pkgname=sickgear
+pkgname=${_pkgname}-git
+pkgver=0.11.12.r0.g9198eb6
+pkgrel=1
+pkgdesc="Provides management of TV shows and/or Anime, detects new episodes, links to downloader apps, and more."
+arch=('any')
+url="https://github.com/SickGear/SickGear"
+license=('GPL3')
+makedepends=('git')
+depends=('python2-cheetah')
+optdepends=('python2-notify: desktop notifications'
+ 'python2-pyopenssl: enable SSL'
+ 'unrar: RAR archives')
+provides=(${_pkgname})
+conflicts=(${_pkgname})
+options=('!strip')
+install=${_pkgname}.install
+
+source=(
+ "sickgear.service"
+ "sickgear.tmpfiles"
+ "sickgear.sysusers"
+ "fix-signal-handling.patch"
+ "${_pkgname}::git+https://github.com/SickGear/SickGear.git"
+)
+
+sha256sums=('1b80f3f749e357e1509dd4524eecb3f044ec0a266cf96c31f665dabb7fe07f8f'
+ '5c7a327168f2b2d361eeaa9e9f82e79a87381908d8ba6b1d1eb90ac64ad38ac2'
+ '54873ee12aa334a0c0830dbe48251f994d8ae851ae0b55250c098ff9f7f9ea60'
+ 'fae4616bf9dbf19d5bb2fcc89abd49b27db9f1f0181589a60bbcde07b840ae99'
+ 'SKIP')
+
+pkgver() {
+ cd "${_pkgname}"
+ git describe --long | sed 's/^release_//;s/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+prepare() {
+ cd "${_pkname}"
+ patch -Np1 -i "${srcdir}/fix-signal-handling.patch"
+}
+
+package() {
+ install -dm 755 "${pkgdir}"/{opt/sickgear/app,usr/lib/{tmpfiles.d,sysusers.d,systemd/system}}
+
+ cp -dr --no-preserve=ownership "${_pkgname}"/* "${pkgdir}/opt/sickgear/app/"
+
+ install -m 644 sickgear.service "${pkgdir}/usr/lib/systemd/system/"
+ install -m 644 sickgear.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/sickgear.conf"
+ install -m 644 sickgear.sysusers "${pkgdir}/usr/lib/sysusers.d/sickgear.conf"
+}
diff --git a/fix-signal-handling.patch b/fix-signal-handling.patch
new file mode 100644
index 000000000000..cc219ae8967c
--- /dev/null
+++ b/fix-signal-handling.patch
@@ -0,0 +1,14 @@
+--- a/sickgear/sickbeard/__init__.py
++++ b/sickgear/sickbeard/__init__.py
+@@ -1339,9 +1339,8 @@
+
+
+ def sig_handler(signum=None, frame=None):
+- if isinstance(signum, type(None)):
+- logger.log(u'Signal %i caught, saving and exiting...' % int(signum))
+- events.put(events.SystemEvent.SHUTDOWN)
++ logger.log(u'Signal %i caught, saving and exiting...' % int(signum))
++ events.put(events.SystemEvent.SHUTDOWN)
+
+
+ def save_all():
diff --git a/sickgear.install b/sickgear.install
new file mode 100644
index 000000000000..fe3f623bcdcb
--- /dev/null
+++ b/sickgear.install
@@ -0,0 +1,64 @@
+post_install() {
+ systemd-sysusers sickgear.conf
+ systemd-tmpfiles --create sickgear.conf
+
+ if [ ! -d /opt/sickgear/data ]; then
+ mkdir -p -m 755 /opt/sickgear/data &> /dev/null
+
+cat << 'EOM'
+
+==> In order to start SickGear, you must issue the following command:
+
+ systemctl start sickgear.service
+
+==> To have SickGear start automatically on system startup and after
+==> version upgrades, also issue the following command:
+
+ systemctl enable sickgear.service
+
+==> Once started, SickGear can be accessed by navigating your browser to:
+
+ http://localhost:8081/
+
+EOM
+ fi
+
+ chown -R sickgear:sickgear /opt/sickgear &> /dev/null
+}
+
+pre_upgrade() {
+ if systemctl is-active sickgear.service &> /dev/null; then
+ systemctl stop sickgear.service &> /dev/null
+ fi
+}
+
+post_upgrade() {
+ post_install
+ systemctl daemon-reload &> /dev/null
+
+ if systemctl is-enabled sickgear.service &> /dev/null; then
+ systemctl start sickgear.service
+ fi
+}
+
+pre_remove() {
+ pre_upgrade
+
+ if systemctl is-enabled sickgear.service &> /dev/null; then
+ systemctl disable sickgear.service &> /dev/null
+ fi
+}
+
+post_remove() {
+ if ! rmdir /opt/sickgear/data &> /dev/null; then
+cat << 'EOM'
+
+==> Data directory has not been removed since it contains files.
+==> If you no longer want your show data, you may removing it by issuing
+==> the following command:
+
+ rm -rf /opt/sickgear
+
+EOM
+ fi
+} \ No newline at end of file
diff --git a/sickgear.service b/sickgear.service
new file mode 100644
index 000000000000..f7770e04c87d
--- /dev/null
+++ b/sickgear.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=SickGear Daemon
+After=network.target
+
+[Service]
+Restart=on-success
+User=sickgear
+Group=sickgear
+Type=forking
+ExecStart=/usr/bin/env python2 /opt/%p/app/SickBeard.py -q -d --nolaunch --pidfile=%t/%p/%p.pid --datadir=/opt/%p/data
+ExecStartPost=/usr/bin/chmod 644 %t/%p/%p.pid
+PIDFile=%t/%p/%p.pid
+
+[Install]
+WantedBy=multi-user.target \ No newline at end of file
diff --git a/sickgear.sysusers b/sickgear.sysusers
new file mode 100644
index 000000000000..d046424eef74
--- /dev/null
+++ b/sickgear.sysusers
@@ -0,0 +1 @@
+u sickgear - "SickGear Daemon" /opt/sickgear
diff --git a/sickgear.tmpfiles b/sickgear.tmpfiles
new file mode 100644
index 000000000000..b0e76e1cd8f4
--- /dev/null
+++ b/sickgear.tmpfiles
@@ -0,0 +1 @@
+d /run/sickgear 0755 sickgear sickgear