summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2020-06-28 14:34:45 +0200
committerThomas Deutschmann <whissi@gentoo.org>2020-06-28 14:59:08 +0200
commit0f0e394cc4589571a6ed678fb9712c1aabcce5ea (patch)
tree283fd72abd8960e37fa5efb127b57c0e088c00dd /net-nntp
parentacct-user/sabnzbd: new user for net-nntp/sabnzbd, UID 397 (diff)
downloadgentoo-0f0e394cc4589571a6ed678fb9712c1aabcce5ea.tar.gz
gentoo-0f0e394cc4589571a6ed678fb9712c1aabcce5ea.tar.bz2
gentoo-0f0e394cc4589571a6ed678fb9712c1aabcce5ea.zip
net-nntp/sabnzbd: bump to v3.0.0 RC1
Bug: https://bugs.gentoo.org/708958 Package-Manager: Portage-2.3.101, Repoman-2.3.22 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'net-nntp')
-rw-r--r--net-nntp/sabnzbd/files/sabnzbd-r1.ini12
-rw-r--r--net-nntp/sabnzbd/files/sabnzbd-r1.initd71
-rw-r--r--net-nntp/sabnzbd/sabnzbd-3.0.0_rc1.ebuild (renamed from net-nntp/sabnzbd/sabnzbd-3.0.0_rc1_pre0.ebuild)45
3 files changed, 104 insertions, 24 deletions
diff --git a/net-nntp/sabnzbd/files/sabnzbd-r1.ini b/net-nntp/sabnzbd/files/sabnzbd-r1.ini
new file mode 100644
index 00000000000..5ccd7e19ca3
--- /dev/null
+++ b/net-nntp/sabnzbd/files/sabnzbd-r1.ini
@@ -0,0 +1,12 @@
+__version__ = 19
+[misc]
+log_dir = /var/log/sabnzbd
+admin_dir = /var/lib/sabnzbd/admin
+cache_dir = /var/lib/sabnzbd/cache
+complete_dir = /var/lib/sabnzbd/complete
+download_dir = /var/lib/sabnzbd/download
+dirscan_dir = /var/lib/sabnzbd/dirscan
+nzb_backup_dir = /var/lib/sabnzbd/backup
+auto_browser = 0
+host = ::
+port = 8080
diff --git a/net-nntp/sabnzbd/files/sabnzbd-r1.initd b/net-nntp/sabnzbd/files/sabnzbd-r1.initd
new file mode 100644
index 00000000000..eff3352a90b
--- /dev/null
+++ b/net-nntp/sabnzbd/files/sabnzbd-r1.initd
@@ -0,0 +1,71 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+PIDFILE="/run/sabnzbd/sabnzbd.pid"
+
+depend() {
+ use dns
+}
+
+get_var() {
+ grep -P -o -m 1 "(?<=^${1} = ).*" "${SABNZBD_CONFIGFILE}" || echo 0
+}
+
+start() {
+ ebegin "Starting SABnzbd"
+
+ checkpath -q -d -o ${SABNZBD_USER}:${SABNZBD_GROUP} -m 0770 "$(dirname "${PIDFILE}")"
+
+ start-stop-daemon \
+ --quiet \
+ --start \
+ --user ${SABNZBD_USER} \
+ --group ${SABNZBD_GROUP} \
+ --pidfile "${PIDFILE}" \
+ --wait 1000 \
+ --exec /usr/share/sabnzbd/SABnzbd.py \
+ -- \
+ --config-file "${SABNZBD_CONFIGFILE}" \
+ --logging "${SABNZBD_LOGGING}" \
+ --daemon \
+ --pidfile "${PIDFILE}"
+
+ eend $?
+}
+
+stop() {
+ local protocol="http"
+ local host="$(get_var "host")"
+ local port="$(get_var "port")"
+
+ if [ $(get_var "enable_https") -eq 1 ]; then
+ protocol="https"
+ port="$(get_var "https_port")"
+ fi
+
+ case "${host}" in
+ *:*) host="[${host}]" ;;
+ esac
+
+ local url="${protocol}://${host}:${port}/sabnzbd/api?mode=shutdown"
+
+ if [ $(get_var "disable_api_key") -eq 0 ]; then
+ url="${url}&apikey=$(get_var "api_key")"
+ fi
+
+ local signals="TERM/1/KILL/1"
+
+ ebegin "Stopping SABnzbd"
+
+ if [ "$(wget -o /dev/null -t 1 -O - -T 10 "${url}")" = "ok" ]; then
+ signals="NULL/5/${signals}"
+ fi
+
+ start-stop-daemon \
+ --stop \
+ --pidfile "${PIDFILE}" \
+ --retry "${signals}"
+
+ eend $?
+}
diff --git a/net-nntp/sabnzbd/sabnzbd-3.0.0_rc1_pre0.ebuild b/net-nntp/sabnzbd/sabnzbd-3.0.0_rc1.ebuild
index 2a8fb3992d6..afa365fd3af 100644
--- a/net-nntp/sabnzbd/sabnzbd-3.0.0_rc1_pre0.ebuild
+++ b/net-nntp/sabnzbd/sabnzbd-3.0.0_rc1.ebuild
@@ -7,7 +7,7 @@ EAPI="7"
PYTHON_COMPAT=( python3_{6..8} )
PYTHON_REQ_USE="sqlite"
-inherit python-single-r1 user systemd
+inherit python-single-r1 systemd
MY_PV="${PV/_rc/RC}"
MY_PV="${MY_PV//_pre*}"
@@ -21,13 +21,15 @@ SRC_URI="https://github.com/sabnzbd/sabnzbd/releases/download/${MY_PV}/${MY_P}-s
# Sabnzbd is GPL-2 but bundles software with the following licenses.
LICENSE="GPL-2 BSD LGPL-2 MIT BSD-1"
SLOT="0"
-KEYWORDS=""
+KEYWORDS="~amd64"
IUSE="+7za +rar unzip"
# Sabnzbd is installed to /usr/share/ as upstream makes it clear they should not
# be in python's sitedir. See: https://sabnzbd.org/wiki/advanced/unix-packaging
COMMON_DEPS="
+ acct-user/sabnzbd
+ acct-group/sabnzbd
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/chardet[${PYTHON_MULTI_USEDEP}]
@@ -60,11 +62,6 @@ S="${WORKDIR}/${MY_P}"
pkg_setup() {
MY_HOMEDIR="/var/lib/${PN}"
python-single-r1_pkg_setup
-
- # Create sabnzbd group
- enewgroup "${PN}"
- # Create sabnzbd user, put in sabnzbd group
- enewuser "${PN}" -1 -1 "${MY_HOMEDIR}" "${PN}"
}
src_install() {
@@ -81,7 +78,7 @@ src_install() {
python_fix_shebang "${ED}/usr/share/${PN}"
python_optimize "${ED}/usr/share/${PN}"
- newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ newinitd "${FILESDIR}/${PN}-r1.initd" "${PN}"
newconfd "${FILESDIR}/${PN}.confd" "${PN}"
diropts -o "${PN}" -g "${PN}"
@@ -90,7 +87,7 @@ src_install() {
insinto "/etc/${PN}"
insopts -m 0600 -o "${PN}" -g "${PN}"
- doins "${FILESDIR}/${PN}.ini"
+ newins "${FILESDIR}"/${PN}-r1.ini ${PN}.ini
dodoc {ABOUT,ISSUES}.txt README.mkd licenses/*
@@ -104,21 +101,21 @@ pkg_postinst() {
einfo
einfo "To add a user to the sabnzbd group so it can edit SABnzbd+ files, run:"
einfo
- einfo " gpasswd -a <user> sabnzbd"
+ einfo " usermod -a -G sabnzbd <user>"
einfo
- einfo "By default, SABnzbd+ will listen on TCP port 8080."
+ einfo "By default, SABnzbd will listen on TCP port 8080."
+ else
+ local v
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "${v}" -lt 3; then
+ ewarn
+ ewarn "Due to changes in this release, the queue will be converted when ${PN}"
+ ewarn "is started for the first time. Job order, settings and data will be"
+ ewarn "preserved, but all jobs will be unpaused and URLs that did not finish"
+ ewarn "fetching before the upgrade will be lost!"
+ ewarn
+ break
+ fi
+ done
fi
-
- local v
- for v in ${REPLACING_VERSIONS}; do
- if ver_test "${v}" -lt 3; then
- ewarn
- ewarn "Due to changes in this release, the queue will be converted when ${PN}"
- ewarn "is started for the first time. Job order, settings and data will be"
- ewarn "preserved, but all jobs will be unpaused and URLs that did not finish"
- ewarn "fetching before the upgrade will be lost!"
- ewarn
- break
- fi
- done
}