diff --git a/cross/prowlarr/Makefile b/cross/prowlarr/Makefile
index ed41903cf5c..ef5b1406b4a 100644
--- a/cross/prowlarr/Makefile
+++ b/cross/prowlarr/Makefile
@@ -1,13 +1,13 @@
PKG_NAME = Prowlarr
-PKG_VERS = 0.2.0.1678
+PKG_VERS = 0.4.10.2111
PKG_EXT = tar.gz
PKG_DIST_NAME = $(PKG_NAME).develop.$(PKG_VERS).linux-core-$(PKG_DIST_ARCH).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/Prowlarr/Prowlarr/releases/download/v$(PKG_VERS)
-PKG_DIR = Prowlarr
+PKG_DIR = $(PKG_NAME)
DEPENDS = cross/curl cross/sqlite
-UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) $(ARMv7L_ARCHS) $(i686_ARCHS)
+UNSUPPORTED_ARCHS = $(DOTNET_UNSUPPORTED_ARCHS)
HOMEPAGE = https://prowlarr.com/
COMMENT = Prowlarr is an indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports management of both Torrent Trackers and Usenet Indexers. It integrates seamlessly with Lidarr, Mylar3, Radarr, Readarr, and Sonarr offering complete management of your indexers with no per app Indexer setup required (we do it all).
@@ -28,8 +28,8 @@ endif
include ../../mk/spksrc.install-resources.mk
-.PHONY: prowlarr
+.PHONY: prowlarr_install
prowlarr_install:
rm -rf $(WORK_DIR)/$(PKG_DIR)/Prowlarr.Update
- mkdir -p $(STAGING_INSTALL_PREFIX)/share/$(PKG_DIR)/bin
- tar -cf - -C $(WORK_DIR)/$(PKG_DIR) . | tar -xf - -C $(STAGING_INSTALL_PREFIX)/share/$(PKG_DIR)/bin
+ mkdir -p $(STAGING_INSTALL_PREFIX)/share/$(PKG_NAME)/bin
+ tar -cf - -C $(WORK_DIR)/$(PKG_DIR) . | tar -xf - -C $(STAGING_INSTALL_PREFIX)/share/$(PKG_NAME)/bin
diff --git a/cross/prowlarr/digests b/cross/prowlarr/digests
index 6eed169117e..1c5e61ac5ef 100644
--- a/cross/prowlarr/digests
+++ b/cross/prowlarr/digests
@@ -1,9 +1,9 @@
-Prowlarr.develop.0.2.0.1678.linux-core-x64.tar.gz SHA1 062d2f6da68101d06f0f1c7fc74340ef3a0cb5d7
-Prowlarr.develop.0.2.0.1678.linux-core-x64.tar.gz SHA256 5f66c08f7f2afce13ab9acdb81d63350c5eee704befe2998226a9b7d6374f4cf
-Prowlarr.develop.0.2.0.1678.linux-core-x64.tar.gz MD5 15421c04a533f0c03f530692698f45e7
-Prowlarr.develop.0.2.0.1678.linux-core-arm.tar.gz SHA1 b2fa289f3e67e0e249e30c1c1bddb1bb4b983be5
-Prowlarr.develop.0.2.0.1678.linux-core-arm.tar.gz SHA256 8fa16259fbbf94b5fc80211736a83bf8dca272ee2504f874ee43e8ca5eb5839c
-Prowlarr.develop.0.2.0.1678.linux-core-arm.tar.gz MD5 374bba9f291a21bf28fa00e5ee85fb4c
-Prowlarr.develop.0.2.0.1678.linux-core-arm64.tar.gz SHA1 b39cda7930851519ed8f63118e7e549493af5478
-Prowlarr.develop.0.2.0.1678.linux-core-arm64.tar.gz SHA256 fe040c1c0e67c19a4fff176743fb8fca4233ae68af1d158dd0a6c56cc3124c2f
-Prowlarr.develop.0.2.0.1678.linux-core-arm64.tar.gz MD5 c1debbebc52941b4e96c774775bac1aa
+Prowlarr.develop.0.4.10.2111.linux-core-x64.tar.gz SHA1 ca277fea7173bdc139055451afef131bf88364e4
+Prowlarr.develop.0.4.10.2111.linux-core-x64.tar.gz SHA256 bcf7a2f7bc6ce63a588564a35d491bbb9fc44de33338ca8b3991e1ecdd001ef6
+Prowlarr.develop.0.4.10.2111.linux-core-x64.tar.gz MD5 6dfe377771fc83959d1f0a6e262a4bf0
+Prowlarr.develop.0.4.10.2111.linux-core-arm.tar.gz SHA1 18765eb3bb551a22caa54ccb3b2433a3f2b5ff6a
+Prowlarr.develop.0.4.10.2111.linux-core-arm.tar.gz SHA256 3f0a5d27934260a67eafb182cf11fb5ce1590e627f1cb2615b9a3de0ad8f7022
+Prowlarr.develop.0.4.10.2111.linux-core-arm.tar.gz MD5 d3e1267a88f4ea68b283da0eca759253
+Prowlarr.develop.0.4.10.2111.linux-core-arm64.tar.gz SHA1 b3ba793cced86aad0567c8f56c51631de0339160
+Prowlarr.develop.0.4.10.2111.linux-core-arm64.tar.gz SHA256 35366d4152d5a3964fc5c8b08f3fda6d73b956bc4883bd8bd72dc7e1a6ac26e8
+Prowlarr.develop.0.4.10.2111.linux-core-arm64.tar.gz MD5 c0ae7015d9242d8eff0b0a8462d6706b
diff --git a/spk/prowlarr/Makefile b/spk/prowlarr/Makefile
index b5396dea156..160d1d87575 100644
--- a/spk/prowlarr/Makefile
+++ b/spk/prowlarr/Makefile
@@ -1,10 +1,9 @@
SPK_NAME = prowlarr
SPK_VERS = $(shell date +%Y%m%d)
-SPK_REV = 3
+SPK_REV = 4
SPK_ICON = src/prowlarr.png
-# .NET is not supported on PPC, ARM5, ARM7L and x86
-UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) $(ARMv7L_ARCHS) $(i686_ARCHS)
+UNSUPPORTED_ARCHS = $(DOTNET_UNSUPPORTED_ARCHS)
DEPENDS = cross/libstdc++ cross/prowlarr
@@ -15,13 +14,13 @@ HELPURL = https://wiki.servarr.com/prowlarr
SUPPORTURL = https://prowlarr.com/\#support
DESCRIPTION = Prowlarr is an indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports management of both Torrent Trackers and Usenet Indexers. It integrates seamlessly with Lidarr, Mylar3, Radarr, Readarr, and Sonarr offering complete management of your indexers with no per app Indexer setup required \(we do it all\).
-STARTABLE = yes
DISPLAY_NAME = Prowlarr
-CHANGELOG = "Enlarge the service start/stop timeout to 90 seconds."
+CHANGELOG = "1. Enlarge the service start/stop timeout to 90 seconds.
2. Update Prowlarr to v0.4.10.2111.
3. Avoid Prowlarr downgrade on package update."
HOMEPAGE = https://prowlarr.com/
LICENSE = GPLv3
+STARTABLE = yes
SERVICE_USER = auto
SERVICE_SETUP = src/service-setup.sh
SERVICE_PORT = 9696
@@ -44,6 +43,6 @@ PACKAGE_AUTHOR = [Team Prowlarr](https://prowlarr.com)
.PHONY: prowlarr_extra_install
prowlarr_extra_install:
- @install -m 755 -d $(STAGING_DIR)/app
- @install -m 644 src/config.xml $(STAGING_DIR)/app/config.xml
+ @install -m 755 -d $(STAGING_DIR)/var/.config/Prowlarr
+ @install -m 644 src/config.xml $(STAGING_DIR)/var/.config/Prowlarr/config.xml
@echo "PackageVersion=$(PACKAGE_VERSION)\nPackageAuthor=$(PACKAGE_AUTHOR)" > $(STAGING_DIR)/share/Prowlarr/package_info
diff --git a/spk/prowlarr/src/config.xml b/spk/prowlarr/src/config.xml
index f25a825d9f7..b2ac89b6b0e 100644
--- a/spk/prowlarr/src/config.xml
+++ b/spk/prowlarr/src/config.xml
@@ -1,8 +1,8 @@
-
develop
BuiltIn
+ True
False
+ info
9696
- 6969
diff --git a/spk/prowlarr/src/service-setup.sh b/spk/prowlarr/src/service-setup.sh
index 0ad022e799e..401fe1dd792 100644
--- a/spk/prowlarr/src/service-setup.sh
+++ b/spk/prowlarr/src/service-setup.sh
@@ -5,30 +5,42 @@ PROWLARR="${SYNOPKG_PKGDEST}/share/Prowlarr/bin/Prowlarr"
# Prowlarr uses custom Config and PID directories
HOME_DIR="${SYNOPKG_PKGVAR}"
CONFIG_DIR="${HOME_DIR}/.config"
-PID_FILE="${CONFIG_DIR}/Prowlarr/prowlarr.pid"
+PROWLARR_CONFIG_DIR="${CONFIG_DIR}/Prowlarr"
+PID_FILE="${PROWLARR_CONFIG_DIR}/prowlarr.pid"
SERVICE_COMMAND="env HOME=${HOME_DIR} LD_LIBRARY_PATH=${SYNOPKG_PKGDEST}/lib ${PROWLARR}"
SVC_BACKGROUND=y
SVC_WAIT_TIMEOUT=90
+
service_postinst ()
{
- # Move config.xml to .config
- mkdir -p ${CONFIG_DIR}/Prowlarr
- mv ${SYNOPKG_PKGDEST}/app/config.xml ${CONFIG_DIR}/Prowlarr/config.xml
+ echo "Set update required"
+ # Make Prowlarr do an update check on start
+ # REMARKS: there is a bug in Prowlarr and the update_required file is not checked.
+ touch ${PROWLARR_CONFIG_DIR}/update_required
if [ ${SYNOPKG_DSM_VERSION_MAJOR} -lt 7 ]; then
set_unix_permissions "${CONFIG_DIR}"
fi
}
-service_postupgrade ()
+service_preupgrade ()
{
- # Make Prowlarr do an update check on start to avoid possible Prowlarr
- # downgrade when synocommunity package is updated
- touch ${CONFIG_DIR}/Prowlarr/update_required
+ ## never update Prowlarr distribution, use internal updater only
+ [ -d ${SYNOPKG_TEMP_UPGRADE_FOLDER}/backup ] && rm -rf ${SYNOPKG_TEMP_UPGRADE_FOLDER}/backup
+ echo "Backup existing distribution to ${SYNOPKG_TEMP_UPGRADE_FOLDER}/backup"
+ mkdir -p ${SYNOPKG_TEMP_UPGRADE_FOLDER}/backup 2>&1
+ rsync -aX ${SYNOPKG_PKGDEST}/share ${SYNOPKG_TEMP_UPGRADE_FOLDER}/backup/ 2>&1
+}
- if [ ${SYNOPKG_DSM_VERSION_MAJOR} -lt 7 ]; then
- set_unix_permissions "${CONFIG_DIR}"
+service_postupgrade ()
+{
+ ## restore Prowlarr distribution
+ if [ -d ${SYNOPKG_TEMP_UPGRADE_FOLDER}/backup/share ]; then
+ echo "Restore previous distribution from ${SYNOPKG_TEMP_UPGRADE_FOLDER}/backup"
+ rm -rf ${SYNOPKG_PKGDEST}/share/Prowlarr/bin 2>&1
+ # prevent overwrite of updated package_info
+ rsync -aX --exclude=package_info ${SYNOPKG_TEMP_UPGRADE_FOLDER}/backup/share/ ${SYNOPKG_PKGDEST}/share 2>&1
fi
}
diff --git a/spk/prowlarr/src/wizard/install_uifile b/spk/prowlarr/src/wizard/install_uifile
index 23f33dddd98..ba6ec5ef16f 100644
--- a/spk/prowlarr/src/wizard/install_uifile
+++ b/spk/prowlarr/src/wizard/install_uifile
@@ -1,6 +1,6 @@
[{
"step_title": "Starting and updating Prowlarr",
"items": [{
- "desc": "The first time Prowlarr is started it might take a few moments for the interface to become available!
Keep Prowlarr up-to-date by using Prowlarr's built-in updater.
Navigate to System>Updates in the Prowlarr UI."
+ "desc": "The first time Prowlarr is started it might take a few moments for the interface to become available.
Keep Prowlarr up-to-date by using Prowlarr's built-in updater.
Navigate to System>Updates in the Prowlarr UI."
}]
}]