diff --git a/Makefile b/Makefile index a5fdb037efa..b285142fa9a 100644 --- a/Makefile +++ b/Makefile @@ -157,7 +157,7 @@ local.mk: @echo "PUBLISH_URL=" > $@ @echo "PUBLISH_API_KEY=" >> $@ @echo "MAINTAINER?=" >> $@ - @echo "MAINTAINER_URL=" >> $@ + @echo "MAINTAINER_URL?=" >> $@ @echo "DISTRIBUTOR=" >> $@ @echo "DISTRIBUTOR_URL=" >> $@ @echo "REPORT_URL=" >> $@ @@ -171,7 +171,7 @@ dsm-%: local.mk setup-synocommunity: setup @sed -i -e "s|PUBLISH_URL=.*|PUBLISH_URL=https://api.synocommunity.com|" \ -e "s|MAINTAINER?=.*|MAINTAINER?=SynoCommunity|" \ - -e "s|MAINTAINER_URL=.*|MAINTAINER_URL=https://synocommunity.com|" \ + -e "s|MAINTAINER_URL?=.*|MAINTAINER_URL?=https://synocommunity.com|" \ -e "s|DISTRIBUTOR=.*|DISTRIBUTOR=SynoCommunity|" \ -e "s|DISTRIBUTOR_URL=.*|DISTRIBUTOR_URL=https://synocommunity.com|" \ -e "s|REPORT_URL=.*|REPORT_URL=https://github.com/SynoCommunity/spksrc/issues|" \ diff --git a/cross/libstdc++/Makefile b/cross/libstdc++/Makefile new file mode 100644 index 00000000000..a90980163b4 --- /dev/null +++ b/cross/libstdc++/Makefile @@ -0,0 +1,36 @@ +include ../../mk/spksrc.archs.mk + +PKG_NAME = libstdc++6 +PKG_VERS = 6.3.0-18+deb9u1 +PKG_EXT = deb + +PKG_ARCH = amd64 +LIB_DIR = x86_64-linux-gnu +ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS)),$(ARCH)) +PKG_ARCH = armhf +LIB_DIR = arm-linux-gnueabihf +else ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +PKG_ARCH = arm64 +LIB_DIR = aarch64-linux-gnu +endif + +PKG_DIST_NAME = $(PKG_NAME)_$(PKG_VERS)_$(PKG_ARCH).deb +PKG_DIST_SITE = http://http.us.debian.org/debian/pool/main/g/gcc-6/ +PKG_DIR = $(PKG_NAME)-$(PKG_VERS) + +HOMEPAGE = https://gcc.gnu.org/ +COMMENT = The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, Go, and D, as well as libraries for these languages (libstdc++,...). GCC was originally written as the compiler for the GNU operating system. The GNU system was developed to be 100% free software, free in the sense that it respects the user\'s freedom. +LICENSE = GNU GPL v3 + +EXTRACT_PATH = $(WORK_DIR)/$(PKG_DIR) +CONFIGURE_TARGET = nop +COMPILE_TARGET = nop +INSTALL_TARGET = libstdc++6_install + +include ../../mk/spksrc.cross-cc.mk + +.PHONY: libstdc++6_install +libstdc++6_install: + install -m 755 -d $(STAGING_INSTALL_PREFIX)/lib + install -m 644 $(WORK_DIR)/$(PKG_DIR)/usr/lib/$(LIB_DIR)/libstdc++.so.6.0.22 $(STAGING_INSTALL_PREFIX)/lib + ln -s libstdc++.so.6.0.22 $(STAGING_INSTALL_PREFIX)/lib/libstdc++.so.6 diff --git a/cross/libstdc++/PLIST b/cross/libstdc++/PLIST new file mode 100644 index 00000000000..ed8e82b710f --- /dev/null +++ b/cross/libstdc++/PLIST @@ -0,0 +1,2 @@ +lnk:lib/libstdc++.so.6 +lib:lib/libstdc++.so.6.0.22 diff --git a/cross/radarr/Makefile b/cross/radarr/Makefile index 7d4dfa37058..34eb4b10b0e 100644 --- a/cross/radarr/Makefile +++ b/cross/radarr/Makefile @@ -1,23 +1,42 @@ +include ../../mk/spksrc.archs.mk + PKG_NAME = Radarr -PKG_VERS = 3.0.1.4259 +PKG_VERS = 3.0.2.4552 PKG_EXT = tar.gz -PKG_DIST_NAME = $(PKG_NAME).master.$(PKG_VERS).linux.$(PKG_EXT) + +PKG_ARCH = x64 +ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS)),$(ARCH)) +PKG_ARCH = arm +else ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +PKG_ARCH = arm64 +endif + +PKG_DIST_NAME = $(PKG_NAME).master.$(PKG_VERS).linux-core-$(PKG_ARCH).$(PKG_EXT) PKG_DIST_SITE = https://github.com/Radarr/Radarr/releases/download/v$(PKG_VERS) PKG_DIR = Radarr -DEPENDS = - HOMEPAGE = https://radarr.video/ -COMMENT = Radarr is a movie manager like Couchpotato, but based on the Sonarr codebase. It can monitor multiple RSS feeds for new movie releases and will grab, sorts and rename them. It can also be configured to automatically upgrade the quality of files already downloaded if a better quality format becomes available. +COMMENT = Radarr is a movie collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new movies and will interface with clients and indexers to grab, sort, and rename them. It can also be configured to automatically upgrade the quality of existing files in the library when a better quality format becomes available. LICENSE = GNU GPL v3 +PRE_CHECKSUM_TARGET = radarr_prechecksum +POST_CHECKSUM_TARGET = radarr_postchecksum CONFIGURE_TARGET = nop COMPILE_TARGET = nop INSTALL_TARGET = radarr_install include ../../mk/spksrc.cross-cc.mk +.PHONY: radarr_prechecksum +radarr_prechecksum: + cp digests_dir/$(PKG_ARCH) digests + +.PHONY: radarr_postchecksum +radarr_postchecksum: + rm digests + .PHONY: radarr_install radarr_install: - mkdir -p $(STAGING_INSTALL_PREFIX)/share/$(PKG_DIR) - tar -cf - -C $(WORK_DIR)/$(PKG_DIR) . | tar -xf - -C $(STAGING_INSTALL_PREFIX)/share/$(PKG_DIR) + rm -rf $(WORK_DIR)/$(PKG_DIR)/Radarr.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 diff --git a/cross/radarr/digests b/cross/radarr/digests deleted file mode 100644 index 0a3914ce47d..00000000000 --- a/cross/radarr/digests +++ /dev/null @@ -1,3 +0,0 @@ -Radarr.master.3.0.1.4259.linux.tar.gz SHA1 4c527002b56bc2f636ae41bcb326397c23932a2f -Radarr.master.3.0.1.4259.linux.tar.gz SHA256 e8af5a006b234c0646429040936ff4851aff7c05593a58019ecb2409a3cad653 -Radarr.master.3.0.1.4259.linux.tar.gz MD5 08c8418a9aacee4b5e0e3bad8a4ff6a8 diff --git a/cross/radarr/digests_dir/arm b/cross/radarr/digests_dir/arm new file mode 100644 index 00000000000..c98fd9d7b7c --- /dev/null +++ b/cross/radarr/digests_dir/arm @@ -0,0 +1,3 @@ +Radarr.master.3.0.2.4552.linux-core-arm.tar.gz SHA1 4c305bce6bbd20d596ca756b4811497141ef79ad +Radarr.master.3.0.2.4552.linux-core-arm.tar.gz SHA256 e3095e85861fd5b95b279b87cac6e99dbcba870dff5afdefac508b5cf1a96a6e +Radarr.master.3.0.2.4552.linux-core-arm.tar.gz MD5 1be130931c8e3d6edc17e9ead5a80c77 diff --git a/cross/radarr/digests_dir/arm64 b/cross/radarr/digests_dir/arm64 new file mode 100644 index 00000000000..59f5b169036 --- /dev/null +++ b/cross/radarr/digests_dir/arm64 @@ -0,0 +1,3 @@ +Radarr.master.3.0.2.4552.linux-core-arm64.tar.gz SHA1 0d7e4342d9178f8b4a0f17098d6a0aaeab35b5ae +Radarr.master.3.0.2.4552.linux-core-arm64.tar.gz SHA256 688cd548846e18d8881493d3a17090c18b1b2022ae3edc0a0139d0864c6f26e0 +Radarr.master.3.0.2.4552.linux-core-arm64.tar.gz MD5 1453e87e974a15c3433f6d349800cf21 diff --git a/cross/radarr/digests_dir/x64 b/cross/radarr/digests_dir/x64 new file mode 100644 index 00000000000..5ef04807f36 --- /dev/null +++ b/cross/radarr/digests_dir/x64 @@ -0,0 +1,3 @@ +Radarr.master.3.0.2.4552.linux-core-x64.tar.gz SHA1 0e8f9025a6beab22ecfee11567dcbc9a2652c8fc +Radarr.master.3.0.2.4552.linux-core-x64.tar.gz SHA256 6d387e679c396642f688fb5e4ada9572814319921ba558ee5e7db44d9b1f82d6 +Radarr.master.3.0.2.4552.linux-core-x64.tar.gz MD5 e8c7ac278631c2ce8f12154fefddd534 diff --git a/mk/spksrc.extract.mk b/mk/spksrc.extract.mk index 0cb5423807d..878bdfc4774 100644 --- a/mk/spksrc.extract.mk +++ b/mk/spksrc.extract.mk @@ -18,6 +18,7 @@ EXTRACT_CMD.tar.xz = tar -xJpf $(DIST_FILE) -C $(EXTRACT_PATH) EXTRACT_CMD.tar.lzma = tar --lzma -xpf $(DIST_FILE) -C $(EXTRACT_PATH) EXTRACT_CMD.tar.lz = tar --lzip -xpf $(DIST_FILE) -C $(EXTRACT_PATH) EXTRACT_CMD.zip = unzip $(DIST_FILE) -d $(EXTRACT_PATH) +EXTRACT_CMD.deb = dpkg-deb -R $(DIST_FILE) $(EXTRACT_PATH) endif ifeq ($(strip $(EXTRACT_CMD)),) diff --git a/spk/radarr/Makefile b/spk/radarr/Makefile index 63c7c7fab30..823eae2ee22 100644 --- a/spk/radarr/Makefile +++ b/spk/radarr/Makefile @@ -1,22 +1,24 @@ SPK_NAME = radarr SPK_VERS = $(shell date +%Y%m%d) -SPK_REV = 14 +SPK_REV = 15 SPK_ICON = src/radarr.png REQUIRED_DSM = 5.0 -# Mono not supported on ppc platforms. C.f. cross/mono/Makefile and references therein for details. -UNSUPPORTED_ARCHS = $(PPC_ARCHS) -DEPENDS = cross/busybox cross/curl cross/mediainfo cross/sqlite cross/radarr +# .NET is not supported on PPC, ARM5 or x86 +UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARM5_ARCHES) $(x86_ARCHES) -SPK_DEPENDS = "mono>3.6" +DEPENDS = cross/libstdc++ cross/libmediainfo cross/sqlite cross/radarr -MAINTAINER = ressu -DESCRIPTION = Radarr is a movie manager like Couchpotato, but based on the Sonarr codebase. It can monitor multiple RSS feeds for new movie releases and will grab, sorts and rename them. It can also be configured to automatically upgrade the quality of files already downloaded if a better quality format becomes available. -RELOAD_UI = yes +MAINTAINER = Team Radarr +MAINTAINER_URL = https://radarr.video/ +HELPURL = https://wiki.servarr.com/Radarr +SUPPORTURL = https://radarr.video/\#support + +DESCRIPTION = Radarr is a movie collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new movies and will interface with clients and indexers to grab, sort, and rename them. It can also be configured to automatically upgrade the quality of existing files in the library when a better quality format becomes available. STARTABLE = yes DISPLAY_NAME = Radarr -CHANGELOG = "Update Radarr to v3.0.1.4259" +CHANGELOG = "Update Radarr to v3.0.2.4552 .NET Core" HOMEPAGE = https://radarr.video/ LICENSE = GPLv3 @@ -33,12 +35,13 @@ WIZARDS_DIR = src/wizard/ POST_STRIP_TARGET = radarr_extra_install -BUSYBOX_CONFIG = usrmng -ENV += BUSYBOX_CONFIG="$(BUSYBOX_CONFIG)" - include ../../mk/spksrc.spk.mk +PACKAGE_VERSION = $(SPK_NAME_ARCH)-$(SPK_TCVERS)_$(SPK_VERS)-$(SPK_REV) +PACKAGE_AUTHOR = [Team Radarr](https://radarr.video) + .PHONY: radarr_extra_install radarr_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)/app + @install -m 644 src/config.xml $(STAGING_DIR)/app/config.xml + @echo "PackageVersion=$(PACKAGE_VERSION)\nPackageAuthor=$(PACKAGE_AUTHOR)" > $(STAGING_DIR)/share/Radarr/package_info diff --git a/spk/radarr/src/config.xml b/spk/radarr/src/config.xml index 7052343833b..1f4a8199925 100644 --- a/spk/radarr/src/config.xml +++ b/spk/radarr/src/config.xml @@ -1,6 +1,6 @@ - develop + master BuiltIn False 8310 diff --git a/spk/radarr/src/radarr.png b/spk/radarr/src/radarr.png index c958e1bbf7d..2de496f4785 100644 Binary files a/spk/radarr/src/radarr.png and b/spk/radarr/src/radarr.png differ diff --git a/spk/radarr/src/service-setup.sh b/spk/radarr/src/service-setup.sh index 4de8d0742d4..5fab8a6f98a 100644 --- a/spk/radarr/src/service-setup.sh +++ b/spk/radarr/src/service-setup.sh @@ -1,10 +1,4 @@ -PATH="${SYNOPKG_PKGDEST}/bin:${PATH}" -MONO_PATH="/var/packages/mono/target/bin" -MONO="${MONO_PATH}/mono" - -# Check versions during upgrade -RADARR="${SYNOPKG_PKGDEST}/share/Radarr/Radarr.exe" -SPK_RADARR="${SYNOPKG_PKGINST_TEMP_DIR}/share/Radarr/Radarr.exe" +RADARR="${SYNOPKG_PKGDEST}/share/Radarr/bin/Radarr" # Radarr uses custom Config and PID directories HOME_DIR="${SYNOPKG_PKGDEST}/var" @@ -14,15 +8,10 @@ PID_FILE="${CONFIG_DIR}/Radarr/radarr.pid" # Some have it stored in the root of package LEGACY_CONFIG_DIR="${SYNOPKG_PKGDEST}/.config" -# workaround for mono bug with armv5 (https://github.com/mono/mono/issues/12537) -if [ "$SYNOPKG_DSM_ARCH" == "88f6281" -o "$SYNOPKG_DSM_ARCH" == "88f6282" ]; then - MONO="MONO_ENV_OPTIONS='-O=-aot,-float32' ${MONO_PATH}/mono" -fi - GROUP="sc-download" LEGACY_GROUP="sc-media" -SERVICE_COMMAND="env PATH=${MONO_PATH}:${PATH} HOME=${HOME_DIR} LD_LIBRARY_PATH=${SYNOPKG_PKGDEST}/lib ${MONO} ${RADARR}" +SERVICE_COMMAND="env HOME=${HOME_DIR} LD_LIBRARY_PATH=${SYNOPKG_PKGDEST}/lib ${RADARR}" SVC_BACKGROUND=y service_postinst () @@ -35,12 +24,6 @@ service_postinst () # If nessecary, add user also to the old group before removing it syno_user_add_to_legacy_group "${EFF_USER}" "${USER}" "${LEGACY_GROUP}" syno_user_add_to_legacy_group "${EFF_USER}" "${USER}" "users" - - # Discard legacy obsolete busybox user account - BIN=${SYNOPKG_PKGDEST}/bin - $BIN/busybox --install $BIN >> ${INST_LOG} - $BIN/delgroup "${USER}" "users" >> ${INST_LOG} - $BIN/deluser "${USER}" >> ${INST_LOG} } service_preupgrade () @@ -55,39 +38,17 @@ service_preupgrade () # Create, in case it's missing for some reason mkdir ${CONFIG_DIR} >> ${INST_LOG} 2>&1 fi - - # Is Installed Radarr Binary Ver. >= SPK Radarr Binary Ver.? - CUR_VER=$(${MONO_PATH}/monodis --assembly ${RADARR} | grep "Version:" | awk '{print $2}') - echo "Installed Radarr Binary: ${CUR_VER}" >> ${INST_LOG} - SPK_VER=$(${MONO_PATH}/monodis --assembly ${SPK_RADARR} | grep "Version:" | awk '{print $2}') - echo "Requested Radarr Binary: ${SPK_VER}" >> ${INST_LOG} - if [ "${CUR_VER//.}" -ge "${SPK_VER//.}" ]; then - echo 'KEEP_CUR="yes"' > ${CONFIG_DIR}/KEEP_VAR - echo "[KEEPING] Installed Radarr Binary - Upgrading Package Only" >> ${INST_LOG} - mv ${SYNOPKG_PKGDEST}/share ${INST_VAR} - else - echo 'KEEP_CUR="no"' > ${CONFIG_DIR}/KEEP_VAR - echo "[REPLACING] Installed Radarr Binary" >> ${INST_LOG} - fi } service_postupgrade () { - # Restore Current Radarr Binary if Current Ver. >= SPK Ver. - . ${CONFIG_DIR}/KEEP_VAR - if [ "$KEEP_CUR" == "yes" ]; then - echo "Restoring Radarr version from before upgrade" >> ${INST_LOG} - rm -fr ${SYNOPKG_PKGDEST}/share >> ${INST_LOG} 2>&1 - mv ${INST_VAR}/share ${SYNOPKG_PKGDEST}/ >> ${INST_LOG} 2>&1 - set_unix_permissions "${SYNOPKG_PKGDEST}/share" - fi + # Make Radarr do an update check on start to avoid possible Radarr + # downgrade when synocommunity package is updated + touch ${CONFIG_DIR}/Radarr/update_required set_unix_permissions "${CONFIG_DIR}" # If backup was created before new-style packages # new updates/backups will fail due to permissions (see #3185) set_unix_permissions "/tmp/radarr_backup" set_unix_permissions "/tmp/radarr_update" - - # Remove upgrade Flag - rm ${CONFIG_DIR}/KEEP_VAR }