diff --git a/cross/libstdc++/Makefile b/cross/libstdc++/Makefile new file mode 100644 index 000000000000..3f41d0130f94 --- /dev/null +++ b/cross/libstdc++/Makefile @@ -0,0 +1,41 @@ +include ../../mk/spksrc.archs.mk + +PKG_NAME = libstdc++6 +PKG_VERS = 6.3.0-18+deb9u1 +PKG_EXT = deb + +PKG_ARCH = +LIB_ARCH = +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 +else +PKG_ARCH = amd64 +LIB_DIR = x86_64-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) + +DEPENDS = + +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 000000000000..bad681499d5d --- /dev/null +++ b/cross/libstdc++/PLIST @@ -0,0 +1,2 @@ +lnk:lib/libstdc++.so.6 +lib:lib/libstdc++.so.6.0.22 \ No newline at end of file diff --git a/cross/radarr/Makefile b/cross/radarr/Makefile index 7d4dfa370580..6ce523ad4bff 100644 --- a/cross/radarr/Makefile +++ b/cross/radarr/Makefile @@ -1,7 +1,19 @@ +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 = +ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS)),$(ARCH)) +PKG_ARCH = arm +else ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +PKG_ARCH = arm64 +else +PKG_ARCH = x64 +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 @@ -11,13 +23,24 @@ 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. 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: + rm -rf $(WORK_DIR)/$(PKG_DIR)/Radarr.Update mkdir -p $(STAGING_INSTALL_PREFIX)/share/$(PKG_DIR) tar -cf - -C $(WORK_DIR)/$(PKG_DIR) . | tar -xf - -C $(STAGING_INSTALL_PREFIX)/share/$(PKG_DIR) diff --git a/cross/radarr/digests b/cross/radarr/digests deleted file mode 100644 index 0a3914ce47d0..000000000000 --- 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 000000000000..c98fd9d7b7c6 --- /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 000000000000..59f5b169036e --- /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 000000000000..5ef04807f360 --- /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 0cb5423807d7..da780b31128d 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)),) @@ -46,7 +47,7 @@ endif .PHONY: $(PRE_EXTRACT_TARGET) $(EXTRACT_TARGET) $(POST_EXTRACT_TARGET) extract_msg: - @$(MSG) "Extracting for $(NAME)" + @$(MSG) "Extracting for $(NAME) $(EXTRACT_PATH)" pre_extract_target: extract_msg diff --git a/spk/radarr/Makefile b/spk/radarr/Makefile index 63c7c7fab30f..6fe1a8283088 100644 --- a/spk/radarr/Makefile +++ b/spk/radarr/Makefile @@ -1,22 +1,21 @@ 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 support 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 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,9 +32,6 @@ WIZARDS_DIR = src/wizard/ POST_STRIP_TARGET = radarr_extra_install -BUSYBOX_CONFIG = usrmng -ENV += BUSYBOX_CONFIG="$(BUSYBOX_CONFIG)" - include ../../mk/spksrc.spk.mk .PHONY: radarr_extra_install diff --git a/spk/radarr/src/config.xml b/spk/radarr/src/config.xml index 7052343833b3..1f4a81999255 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/service-setup.sh b/spk/radarr/src/service-setup.sh index 4de8d0742d45..66af9502e9d1 100644 --- a/spk/radarr/src/service-setup.sh +++ b/spk/radarr/src/service-setup.sh @@ -1,10 +1,7 @@ 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/Radarr" # Radarr uses custom Config and PID directories HOME_DIR="${SYNOPKG_PKGDEST}/var" @@ -14,15 +11,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 +27,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 +41,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}/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 }