From 1f2f1e7e36d870e593ab4c667808c8dcec114b3c Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Mon, 12 Oct 2020 16:04:55 +1100 Subject: [PATCH 01/24] prepare for dsm7 --- mk/spksrc.service.mk | 31 +++++++++++++++++++---- mk/spksrc.service.privilege | 21 +-------------- mk/spksrc.service.privilege-installasroot | 25 ++++++++++++++++++ mk/spksrc.service.resource-linker | 5 ++++ mk/spksrc.service.start-stop-status | 4 +-- mk/spksrc.spk.mk | 19 +++++++++++--- 6 files changed, 75 insertions(+), 30 deletions(-) create mode 100644 mk/spksrc.service.privilege-installasroot create mode 100644 mk/spksrc.service.resource-linker diff --git a/mk/spksrc.service.mk b/mk/spksrc.service.mk index ecc2e0804d1..2e9d4cfe16a 100644 --- a/mk/spksrc.service.mk +++ b/mk/spksrc.service.mk @@ -42,7 +42,8 @@ endif .PHONY: service_target service_msg_target .PHONY: $(PRE_SERVICE_TARGET) $(SERVICE_TARGET) $(POST_SERVICE_TARGET) .PHONY: $(DSM_SCRIPTS_DIR)/service-setup $(DSM_SCRIPTS_DIR)/start-stop-status -.PHONY: $(DSM_CONF_DIR)/privilege $(DSM_CONF_DIR)/$(SPK_NAME).sc $(STAGING_DIR)/$(DSM_UI_DIR)/config +.PHONY: $(DSM_CONF_DIR)/privilege $(DSM_CONF_DIR)/resource +.PHONY: $(DSM_CONF_DIR)/$(SPK_NAME).sc $(STAGING_DIR)/$(DSM_UI_DIR)/config service_msg_target: @$(MSG) "Generating service scripts for $(NAME)" @@ -59,9 +60,11 @@ endif # Recommend explicit STARTABLE=no ifeq ($(strip $(SSS_SCRIPT)),) ifeq ($(strip $(SERVICE_COMMAND)),) +ifeq ($(strip $(SPK_COMMANDS)),) ifeq ($(strip $(SERVICE_EXE)),) ifeq ($(strip $(STARTABLE)),) -$(error Set STARTABLE=no or provide either SERVICE_COMMAND or specific SSS_SCRIPT) +$(error Set STARTABLE=no or provide either SERVICE_COMMAND, SPK_COMMANDS or specific SSS_SCRIPT) +endif endif endif endif @@ -119,12 +122,25 @@ endif ifneq ($(strip $(SERVICE_SETUP)),) @cat $(CURDIR)/$(SERVICE_SETUP) >> $@ endif + +ifneq ($(shell expr "$(TCVERSION)" \>= 7.0),1) ifneq ($(strip $(SPK_COMMANDS) $(SPK_LINKS)),) @echo "# List of commands to create links for" >> $@ @echo "SPK_COMMANDS=\"${SPK_COMMANDS}\"" >> $@ @echo "SPK_LINKS=\"${SPK_LINKS}\"" >> $@ @cat $(SPKSRC_MK)spksrc.service.create_links >> $@ endif +else +SPK_COMMANDS_IN_JSON = $(shell printf '"%s",' ${SPK_COMMANDS} | sed 's/.$$//') +$(DSM_CONF_DIR)/resource: $(SPKSRC_MK)spksrc.service.resource-linker + $(create_target_dir) + @sed 's|"BINARIES"|${SPK_COMMANDS_IN_JSON}|' $< > $@ +SERVICE_FILES += $(DSM_CONF_DIR)/resource +# STARTABLE needs to be yes, the resource linking and unlinking works on start and stop +# see spsrc.spk.mk +endif + + DSM_SCRIPTS_ += service-setup SERVICE_FILES += $(DSM_SCRIPTS_DIR)/service-setup @@ -155,19 +171,24 @@ endif # Generate privilege file for service user (prefixed to avoid collision with busybox account) -ifneq ($(strip $(SPK_USER)),) -ifeq ($(strip $(SERVICE_EXE)),) +ifeq ($(shell expr "$(TCVERSION)" \>= 7.0),1) $(DSM_CONF_DIR)/privilege: $(SPKSRC_MK)spksrc.service.privilege +else ifeq ($(strip $(SERVICE_EXE)),) +$(DSM_CONF_DIR)/privilege: $(SPKSRC_MK)spksrc.service.privilege-installasroot else $(DSM_CONF_DIR)/privilege: $(SPKSRC_MK)spksrc.service.privilege-startasroot endif $(create_target_dir) +ifneq ($(strip $(SPK_USER)),) @sed 's|USER|sc-$(SPK_USER)|' $< > $@ +else + @sed 's|USER|sc-$(SPK_NAME)|' $< > $@ +# @sed '/.*USER.*/d' $< > $@ +endif ifneq ($(findstring conf,$(SPK_CONTENT)),conf) SPK_CONTENT += conf endif SERVICE_FILES += $(DSM_CONF_DIR)/privilege -endif # Generate service configuration for admin port diff --git a/mk/spksrc.service.privilege b/mk/spksrc.service.privilege index dc9e58afda7..e9b958738c7 100644 --- a/mk/spksrc.service.privilege +++ b/mk/spksrc.service.privilege @@ -2,24 +2,5 @@ "defaults":{ "run-as": "package" }, - "username": "USER", - "ctrl-script": [{ - "action": "preinst", - "run-as": "root" - }, { - "action": "postinst", - "run-as": "root" - }, { - "action": "preuninst", - "run-as": "root" - }, { - "action": "postuninst", - "run-as": "root" - }, { - "action": "preupgrade", - "run-as": "root" - }, { - "action": "postupgrade", - "run-as": "root" - }] + "username": "USER" } diff --git a/mk/spksrc.service.privilege-installasroot b/mk/spksrc.service.privilege-installasroot new file mode 100644 index 00000000000..02d5d7e927f --- /dev/null +++ b/mk/spksrc.service.privilege-installasroot @@ -0,0 +1,25 @@ +{ + "defaults":{ + "run-as": "package" + }, + "username": "USER", + "ctrl-script": [{ + "action": "preinst", + "run-as": "root" + }, { + "action": "postinst", + "run-as": "root" + }, { + "action": "preuninst", + "run-as": "root" + }, { + "action": "postuninst", + "run-as": "root" + }, { + "action": "preupgrade", + "run-as": "root" + }, { + "action": "postupgrade", + "run-as": "root" + }] +} diff --git a/mk/spksrc.service.resource-linker b/mk/spksrc.service.resource-linker new file mode 100644 index 00000000000..f41ad61966d --- /dev/null +++ b/mk/spksrc.service.resource-linker @@ -0,0 +1,5 @@ +{ + "usr-local-linker": { + "bin": ["BINARIES"] + } +} diff --git a/mk/spksrc.service.start-stop-status b/mk/spksrc.service.start-stop-status index d9a8c993482..ce1c6fa916e 100644 --- a/mk/spksrc.service.start-stop-status +++ b/mk/spksrc.service.start-stop-status @@ -36,9 +36,9 @@ start_daemon () SVC_CD="cd ${SVC_CWD}; " fi if [ -z "${SVC_BACKGROUND}" ]; then - su ${EFF_USER} -s ${SERVICE_SHELL} -c "${SVC_CD}${SERVICE_COMMAND}" >> ${OUT} 2>&1 + ${SERVICE_SHELL} -c "${SVC_CD}${SERVICE_COMMAND}" >> ${OUT} 2>&1 else - su ${EFF_USER} -s ${SERVICE_SHELL} -c "${SVC_CD}${SERVICE_COMMAND}" >> ${OUT} 2>&1 & + ${SERVICE_SHELL} -c "${SVC_CD}${SERVICE_COMMAND}" >> ${OUT} 2>&1 & fi else # DSM 6 user is set by conf/privilege diff --git a/mk/spksrc.spk.mk b/mk/spksrc.spk.mk index d769380fef4..cb92dc36bc7 100644 --- a/mk/spksrc.spk.mk +++ b/mk/spksrc.spk.mk @@ -125,9 +125,9 @@ endif ifneq ($(strip $(HELPURL)),) @echo helpurl=\"$(HELPURL)\" >> $@ else - ifneq ($(strip $(HOMEPAGE)),) +ifneq ($(strip $(HOMEPAGE)),) @echo helpurl=\"$(HOMEPAGE)\" >> $@ - endif +endif endif ifneq ($(strip $(SUPPORTURL)),) @echo support_url=\"$(SUPPORTURL)\" >> $@ @@ -141,15 +141,28 @@ endif ifneq ($(strip $(INSTUNINST_RESTART_SERVICES)),) @echo instuninst_restart_services=\"$(INSTUNINST_RESTART_SERVICES)\" >> $@ endif -ifneq ($(strip $(RELOAD_UI)),) +ifeq ($(RELOAD_UI),yes) @echo reloadui=\"$(RELOAD_UI)\" >> $@ endif + +ifneq ($(shell expr "$(TCVERSION)" \>= 7.0),1) +# old behaviour ifeq ($(STARTABLE),no) ifeq ($(shell expr "$(TC_OS_MIN_VER)" \<= 6.1),1) @echo startable=\"$(STARTABLE)\" >> $@ endif @echo ctl_stop=\"$(STARTABLE)\" >> $@ endif +else +# since 7.0 use Synology resource acquisition +ifeq ($(STARTABLE),no) +ifeq ($(strip $(SPK_COMMANDS)),) +# STARTABLE needs to be yes, Resource linking and unlinking works on start and stop + @echo ctl_stop=\"$(STARTABLE)\" >> $@ +endif +endif +endif + @echo displayname=\"$(DISPLAY_NAME)\" >> $@ ifneq ($(strip $(DSM_UI_DIR)),) @echo dsmuidir=\"$(DSM_UI_DIR)\" >> $@ From 2234b61d1ca4a3f61382713280b06c8d715b5559 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Mon, 12 Oct 2020 16:05:15 +1100 Subject: [PATCH 02/24] Add 7.0 toolchain for testing --- mk/spksrc.tc-vers.mk | 4 ++++ toolchain/syno-x64-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-x64-7.0/digests | 3 +++ 3 files changed, 21 insertions(+) create mode 100644 toolchain/syno-x64-7.0/Makefile create mode 100644 toolchain/syno-x64-7.0/digests diff --git a/mk/spksrc.tc-vers.mk b/mk/spksrc.tc-vers.mk index 4db00034094..e243c858b56 100644 --- a/mk/spksrc.tc-vers.mk +++ b/mk/spksrc.tc-vers.mk @@ -57,3 +57,7 @@ endif ifeq ($(TC_VERS),6.2.3) TC_BUILD = 25423 endif + +ifeq ($(TC_VERS),7.0) +TC_BUILD = 4000 +endif diff --git a/toolchain/syno-x64-7.0/Makefile b/toolchain/syno-x64-7.0/Makefile new file mode 100644 index 00000000000..bd7ad62a696 --- /dev/null +++ b/toolchain/syno-x64-7.0/Makefile @@ -0,0 +1,14 @@ +TC_NAME = syno-x64 + +TC_ARCH = apollolake avoton braswell broadwell broadwellnk bromolow cedarview denverton dockerx64 geminilake grantley purley kvmx64 x86 x86_64 +TC_VERS = 7.0 +TC_KERNEL = 4.4.180+ + +TC_DIST = apollolake-gcc730_glibc226_x86_64-GPL +TC_DIST_SITE_PATH = Intel%20x86%20Linux%204.4.180%20%28Apollolake%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-x64-7.0/digests b/toolchain/syno-x64-7.0/digests new file mode 100644 index 00000000000..14ea437008a --- /dev/null +++ b/toolchain/syno-x64-7.0/digests @@ -0,0 +1,3 @@ +apollolake-gcc730_glibc226_x86_64-GPL.txz SHA1 3d6a03823ef3465881354d1e68552a9546f9b6c8 +apollolake-gcc730_glibc226_x86_64-GPL.txz SHA256 40d97588d637294afc5b8377482b1ea982bd0acfe87962fbdc714cc350e35502 +apollolake-gcc730_glibc226_x86_64-GPL.txz MD5 d3e7cb99168a2ed98d5a6c1d5f49d8fc From da35dbbcbb3456c7aae413c350d505ae49ec809e Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Mon, 12 Oct 2020 16:07:13 +1100 Subject: [PATCH 03/24] Add x64-7.0 to CI --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0b24bd97237..1dd774dec2f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: matrix: # x64=x86_64, evansport=i686, aarch64=armv8, armv7, hi3535=armv7l, 88f6281=armv5, qoriq=ppc # https://github.com/SynoCommunity/spksrc/wiki/Synology-and-SynoCommunity-Package-Architectures - arch: [noarch, x64-6.1, evansport-6.1, aarch64-6.1, armv7-6.1, hi3535-6.1, 88f6281-6.1, qoriq-6.1] + arch: [noarch, x64-6.1, x64-7.0, evansport-6.1, aarch64-6.1, armv7-6.1, hi3535-6.1, 88f6281-6.1, qoriq-6.1] steps: - name: Cache toolchains From b4fb1d4285dddfb8343d553552251152653a20e5 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sun, 18 Oct 2020 12:03:46 +1100 Subject: [PATCH 04/24] start on dsm7 install/service script --- mk/spksrc.service.installer.dsm7 | 384 ++++++++++++++++++++++++++++ mk/spksrc.service.mk | 5 + mk/spksrc.service.start-stop-status | 10 +- 3 files changed, 397 insertions(+), 2 deletions(-) create mode 100644 mk/spksrc.service.installer.dsm7 diff --git a/mk/spksrc.service.installer.dsm7 b/mk/spksrc.service.installer.dsm7 new file mode 100644 index 00000000000..1a0cd1a9711 --- /dev/null +++ b/mk/spksrc.service.installer.dsm7 @@ -0,0 +1,384 @@ +#!/bin/sh + +# DSM 5 -> 6 upgrade path: +# Cannot remove user as still in use or may be DSM service itself +# Require warning in ChangeLog and manual user/group cleanup + +# if [ $SYNOPKG_DSM_VERSION_MAJOR -lt 7 ]; then + INST_LOG="/tmp/${SYNOPKG_PKGNAME}_install.log" +# else +# INST_LOG="${SYNOPKG_TEMP_LOGFILE}" +# fi + +INST_ETC="/var/packages/${SYNOPKG_PKGNAME}/etc" +INST_VARIABLES="${INST_ETC}/installer-variables" +INST_VAR="${SYNOPKG_PKGDEST}/var" +# INST_VAR="${SYNOPKG_PKGVAR}" + +# Optional FWPORTS file +FWPORTS_FILE="/var/packages/${SYNOPKG_PKGNAME}/conf/${SYNOPKG_PKGNAME}.sc" + +# Versions lower then DSM 6 don't support an upgrade folder +if [ $SYNOPKG_DSM_VERSION_MAJOR -lt 6 ]; then + TMP_DIR="/var/tmp/${SYNOPKG_PKGNAME}/var" +else + TMP_DIR="${SYNOPKG_TEMP_UPGRADE_FOLDER}/var" +fi + +# Source package specific variable and functions +SVC_SETUP=`dirname $0`"/service-setup" +if [ -r "${SVC_SETUP}" ]; then + . "${SVC_SETUP}" +fi + +# Reload wizard variables stored by postinst +if [ -r "${INST_VARIABLES}" ]; then + . "${INST_VARIABLES}" +fi + +# Expect user to be set from package specific variables +if [ -n "${USER}" -a -z "${USER_DESC}" ]; then + USER_DESC="User running $SYNOPKG_PKGNAME" +fi + +# Default description if group name provided by UI +if [ -n "${GROUP}" -a -z "${GROUP_DESC}" ]; then + GROUP_DESC="SynoCommunity Package Group" +fi + +# Extract share volume and share name from download location if provided +if [ -n "${SHARE_PATH}" ]; then + SHARE_VOLUME=$(echo "${SHARE_PATH}" | awk -F/ '{print "/"$2}') + SHARE_NAME=$(echo "${SHARE_PATH}" | awk -F/ '{print $3}') +fi + +# Tools shortcuts +MV="/bin/mv -f" +RM="/bin/rm -rf" +CP="/bin/cp -rfp" +MKDIR="/bin/mkdir -p" +LN="/bin/ln -nsf" +TEE="/usr/bin/tee -a" + +### Functions library + +log_step () +{ + date >> ${INST_LOG} + echo "===> Step $1. USER=$USER GROUP=$GROUP SHARE_PATH=${SHARE_PATH}" >> ${INST_LOG} +} + +save_wizard_variables () +{ + if [ -e "${INST_VARIABLES}" ]; then + $RM "${INST_VARIABLES}" + fi + if [ -n "${GROUP}" ]; then + echo "GROUP=${GROUP}" >> ${INST_VARIABLES} + fi + if [ -n "${SHARE_PATH}" ]; then + echo "SHARE_PATH=${SHARE_PATH}" >> ${INST_VARIABLES} + fi +} + +# Remove user from system and from groups it is member of +syno_remove_user () +{ + RM_USER=$1 + if [ -n "${RM_USER}" ]; then + # Check if user exists + if synouser --get "${RM_USER}" &> /dev/null; then + echo "Removing user ${RM_USER}" >> ${INST_LOG} + synouser --del "${RM_USER}" >> ${INST_LOG} 2>&1 + synouser --rebuild all >> ${INST_LOG} 2>&1 + # Also rebuild groups so users are removed + synogroup --rebuild all >> ${INST_LOG} 2>&1 + fi + fi +} + +# Create syno group $GROUP with parameter user as member +syno_group_create () +{ + EFF_USER=$1 + if [ -n "${EFF_USER}" ]; then + echo "Creating group ${GROUP}" >> ${INST_LOG} + # Create syno group + synogroup --add "${GROUP}" "${EFF_USER}" >> ${INST_LOG} 2>&1 + # Set description of the syno group + synogroup --descset "${GROUP}" "${GROUP_DESC}" >> ${INST_LOG} 2>&1 + fi +} + +# Delete syno group if empty +syno_group_remove () +{ + RM_GROUP=$1 + if [ -n "${RM_GROUP}" ]; then + # Check if syno group is empty + if ! synogroup --get "${RM_GROUP}" | grep -q "0:\["; then + echo "Removing group ${RM_GROUP}" >> ${INST_LOG} + # Remove syno group + synogroup --del "${RM_GROUP}" >> ${INST_LOG} 2>&1 + synogroup --rebuild all >> ${INST_LOG} 2>&1 + fi + fi +} + +# Add user to existing group +syno_user_add_to_group () +{ + ADD_USER=$1 + ADD_GROUP=$2 + # Check user already in group + if ! synogroup --get "$ADD_GROUP" | grep "^[0-9]:\[${ADD_USER}\]" &> /dev/null; then + # Add user, not in group yet + echo "Adding '${ADD_USER}' to '${ADD_GROUP}'" >> ${INST_LOG} + MEMBERS="$(synogroup --get $ADD_GROUP | grep '^[0-9]' | sed 's/.*\[\([^]]*\)].*/\1/' | tr '\n' ' ')" + # The "synogroup --member" command clears all users before adding new ones + # so all the users must be listed on the command line + synogroup --member "$ADD_GROUP" $MEMBERS "${ADD_USER}" >> ${INST_LOG} 2>&1 + fi +} + +# Sets recursive permissions for ${GROUP} on specified directory +# Usage: set_syno_permissions "${SHARE_FOLDER}" "${GROUP}" +set_syno_permissions () +{ + DIRNAME=`realpath "${1}"` + GROUP="${2}" + + VOLUME=$(echo "${DIRNAME}" | awk -F/ '{print "/"$2}') + + # Ensure directory resides in /volumeX before setting GROUP permissions + if [ "`echo ${VOLUME} | cut -c2-7`" = "volume" ]; then + # Set read/write permissions for GROUP for folder and subfolders + if [ ! "`synoacltool -get \"${DIRNAME}\"| grep \"group:${GROUP}:allow:rwxpdDaARWcC-:fd--\"`" ]; then + # First Unix permissions, but only if it's in Linux mode + if [ "`synoacltool -get \"${DIRNAME}\"| grep \"Linux mode\"`" ]; then + # If it is linux mode (due to old package) we need to add "administrators"-group, + # otherwise the folder is not accessible from File Station anymore! + synoacltool -add "${DIRNAME}" "group:administrators:allow:rwxpdDaARWc--:fd--" >> ${INST_LOG} 2>&1 + fi + + # Then fix the Synology permissions + echo "Granting '${GROUP}' group permissions on ${DIRNAME}" >> ${INST_LOG} + synoacltool -add "${DIRNAME}" "group:${GROUP}:allow:rwxpdDaARWcC-:fd--" >> ${INST_LOG} 2>&1 + find "${DIRNAME}" -type d -exec synoacltool -enforce-inherit "{}" \; >> ${INST_LOG} 2>&1 + fi + + # Walk up the tree and set traverse execute permissions for GROUP up to VOLUME + while [ "${DIRNAME}" != "${VOLUME}" ]; do + if [ ! "`synoacltool -get \"${DIRNAME}\"| grep \"group:${GROUP}:allow:r.x\"`" ]; then + # Here we also need to make sure the admin can access data via File Station + if [ "`synoacltool -get \"${DIRNAME}\"| grep \"Linux mode\"`" ]; then + synoacltool -add "${DIRNAME}" "group:administrators:allow:rwxpdDaARWc--:fd--" >> ${INST_LOG} 2>&1 + fi + # Add the new group permissions + echo "Granting '${GROUP}' group basic permissions on ${DIRNAME}" >> ${INST_LOG} + synoacltool -add "${DIRNAME}" "group:${GROUP}:allow:r-x---a-R----:---n" >> ${INST_LOG} 2>&1 + fi + DIRNAME="$(dirname "${DIRNAME}")" + done + else + echo "Skip granting '${GROUP}' group permissions on ${DIRNAME} as the directory does not reside in '/volumeX'. Set manually if needed." >> ${INST_LOG} + fi +} + +# If package was moved to new group, we need to add the new package user +# also to the old group. Only if the legacy user was in the old group. +# Usage: syno_user_add_to_legacy_group "${NEW_USER}" "${LEGACY_USER}" "${LEGACY_GROUP}" +syno_user_add_to_legacy_group () { + NEW_USER=$1 + LEGACY_USER=$2 + LEGACY_GROUP=$3 + + # Check if user in old group + if synogroup --get "$LEGACY_GROUP" | grep "^[0-9]:\[${LEGACY_USER}\]" &> /dev/null; then + # Add new user and remove old one + echo "Adding '${NEW_USER}' to '${LEGACY_GROUP}' for backwards compatibility" >> ${INST_LOG} + MEMBERS="$(synogroup --get $LEGACY_GROUP | grep '^[0-9]' | sed 's/.*\[\([^]]*\)].*/\1/' | tr '\n' ' ')" + MEMBERS=${MEMBERS//$LEGACY_USER} + # The "synogroup --member" command clears all users before adding new ones + # so all the users must be listed on the command line + synogroup --member "$LEGACY_GROUP" $MEMBERS "${NEW_USER}" >> ${INST_LOG} 2>&1 + fi +} + + +### Generic package behaviors + +preinst () +{ + log_step "preinst" + call_func "service_preinst" + + # Check volume exists + if [ -n "${SHARE_PATH}" ]; then + if [ ! -d "${SHARE_VOLUME}" ]; then + echo "Volume ${SHARE_VOLUME} does not exist." | $TEE ${INST_LOG} + exit 1 + fi + fi + + exit 0 +} + +postinst () +{ + log_step "postinst" + save_wizard_variables + + if [ $SYNOPKG_DSM_VERSION_MAJOR -lt 7 ]; then + # Link for backward compatibility of binaries location + $LN "${SYNOPKG_PKGDEST}" "/usr/local/${SYNOPKG_PKGNAME}" >> ${INST_LOG} + fi + # Add firewall config + if [ -r "${FWPORTS_FILE}" ]; then + echo "Installing service configuration ${FWPORTS_FILE}" >> ${INST_LOG} + servicetool --install-configure-file --package "${FWPORTS_FILE}" >> ${INST_LOG} 2>&1 + fi + + # Service user management + # if [ -n "${EFF_USER}" ]; then + # if [ $SYNOPKG_DSM_VERSION_MAJOR -lt 6 ]; then + # # DSM 5 specific operations + # # Create prefixed synouser + # if ! cat /etc/passwd | grep "${EFF_USER}:x:" &> /dev/null; then + # synouser --add "${EFF_USER}" "" "$USER_DESC" 0 "" 0 >> ${INST_LOG} 2>&1 + # # Set HOME for consistency with DSM 6, location available even if homes not enabled + # BACKUP_PASSWD="/tmp/install_${SYNOPKG_PKGNAME}_passwd" + # cp /etc/passwd ${BACKUP_PASSWD} + # sed -i "s#/var/services/homes/${EFF_USER}#/var/packages/${SYNOPKG_PKGNAME}/target#" /etc/passwd + # fi + # fi + # # Register service in "users" group to access any content + # if [ "$ADD_USER_IN_USERS" = "yes" ]; then + # syno_user_add_to_group "${EFF_USER}" "users" + # fi + # fi + + # # Only if a group is provided via UI or set by script + # if [ -n "$GROUP" ]; then + # # Check if group already exists + # if ! synogroup --get "$GROUP" &> /dev/null; then + # # Group does not exist yet: create with user as member + # syno_group_create "${EFF_USER}" + # fi + # if synogroup --get "$GROUP" &> /dev/null; then + # syno_user_add_to_group "${EFF_USER}" "${GROUP}" + # fi + # # Not sure but invoked with hope DSM is updated + # synogroup --rebuild all + # fi + + # Share management + if [ -n "${SHARE_PATH}" ]; then + echo "Configuring ${SHARE_PATH}" >> ${INST_LOG} + # Create share if does not exist + # !"#$%&’()*+,/:;<=>?@[]nˆ`{} | + if ! synoshare --get "${SHARE_NAME}" &> /dev/null ; then + synoshare --add "${SHARE_NAME}" "${SHARE_DESC}" "${SHARE_PATH}" "" "rw" "" 1 0 >> ${INST_LOG} 2>&1 + fi + + # Add user permission if no GROUP is set in UI + # GROUP permission will be added in set_syno_permissions + if [ ! -n "$GROUP" ] && [ -n "${EFF_USER}" ]; then + synoshare --setuser "${SHARE_NAME}" RW + "${EFF_USER}" >> ${INST_LOG} 2>&1 + fi + synoshare --build >> ${INST_LOG} 2>&1 + + $MKDIR "${SHARE_PATH}" + + # Permissions for folder, up to volume + if [ -n "$GROUP" ]; then + set_syno_permissions "${SHARE_PATH}" "${GROUP}" + fi + fi + + $MKDIR "${INST_VAR}" >> ${INST_LOG} 2>&1 + + call_func "service_postinst" + call_func "service_create_links" + + $CP "${INST_LOG}" "${INST_VAR}" >> ${INST_LOG} 2>&1 + if [ -n "${LOG_FILE}" ]; then + echo "Installation log: ${INST_VAR}/${SYNOPKG_PKGNAME}_install.log" >> ${LOG_FILE} + fi + exit 0 +} + +preuninst () +{ + log_step "preuninst" + + if [ "${SYNOPKG_PKG_STATUS}" == "UNINSTALL" ]; then + # Remove firewall config + if [ -r "${FWPORTS_FILE}" ]; then + echo "Removing service configuration ${SYNOPKG_PKGNAME}.sc" >> ${INST_LOG} + servicetool --remove-configure-file --package "${SYNOPKG_PKGNAME}.sc" >> ${INST_LOG} 2>&1 + fi + fi + + call_func "service_preuninst" + exit 0 +} + +postuninst () +{ + log_step "postuninst" + + if [ "${SYNOPKG_PKG_STATUS}" == "UNINSTALL" ]; then + # Remove link + $RM "/usr/local/${SYNOPKG_PKGNAME}" >> ${INST_LOG} 2>&1 + + # Remove syno group if empty + syno_group_remove "${GROUP}" + + # Remove user + syno_remove_user "${EFF_USER}" + fi + + call_func "service_postuninst" + call_func "service_remove_links" + + if [ "${SYNOPKG_PKG_STATUS}" == "UNINSTALL" ]; then + $RM "${INST_VARIABLES}" >> ${INST_LOG} 2>&1 + fi + exit 0 +} + +preupgrade () +{ + log_step "preupgrade" + call_func "service_preupgrade" + + # Save some stuff + $RM "$TMP_DIR" >> ${INST_LOG} 2>&1 + $MKDIR "$TMP_DIR" >> ${INST_LOG} 2>&1 + + call_func "service_save" + + # Beware of /. outside the quotes + # Needed to copy all files including hidden ones + $CP "${INST_VAR}"/. "$TMP_DIR" >> ${INST_LOG} 2>&1 + exit 0 +} + +postupgrade () +{ + log_step "postupgrade" + + call_func "service_restore" + + # Restore some stuff, has to be cp otherwise fails on directories + $CP "${TMP_DIR}"/. "${INST_VAR}" >> ${INST_LOG} 2>&1 + + $RM "$TMP_DIR" >> ${INST_LOG} 2>&1 + + call_func "service_postupgrade" + + # Make sure we also have the logging for this step + $CP "${INST_LOG}" "${INST_VAR}" + exit 0 +} diff --git a/mk/spksrc.service.mk b/mk/spksrc.service.mk index 2e9d4cfe16a..939d54b926d 100644 --- a/mk/spksrc.service.mk +++ b/mk/spksrc.service.mk @@ -148,9 +148,14 @@ SERVICE_FILES += $(DSM_SCRIPTS_DIR)/service-setup # Control use of generic installer ifeq ($(strip $(INSTALLER_SCRIPT)),) DSM_SCRIPTS_ += installer +ifeq ($(shell expr "$(TCVERSION)" \>= 7.0),1) +$(DSM_SCRIPTS_DIR)/installer: $(SPKSRC_MK)spksrc.service.installer.dsm7 + @$(dsm_script_copy) +else $(DSM_SCRIPTS_DIR)/installer: $(SPKSRC_MK)spksrc.service.installer @$(dsm_script_copy) endif +endif # Control use of generic start-stop-status scripts ifeq ($(strip $(SSS_SCRIPT)),) diff --git a/mk/spksrc.service.start-stop-status b/mk/spksrc.service.start-stop-status index ce1c6fa916e..e372c5bf93e 100644 --- a/mk/spksrc.service.start-stop-status +++ b/mk/spksrc.service.start-stop-status @@ -35,11 +35,17 @@ start_daemon () else SVC_CD="cd ${SVC_CWD}; " fi + if [ -n "${SYNOPKG_DSM_VERSION_MAJOR}" ] && [ "$SYNOPKG_DSM_VERSION_MAJOR" -gt 7 ]; then + SU="" + else + SU="su ${EFF_USER} -s" + fi if [ -z "${SVC_BACKGROUND}" ]; then - ${SERVICE_SHELL} -c "${SVC_CD}${SERVICE_COMMAND}" >> ${OUT} 2>&1 + $SU ${SERVICE_SHELL} -c "${SVC_CD}${SERVICE_COMMAND}" >> ${OUT} 2>&1 else - ${SERVICE_SHELL} -c "${SVC_CD}${SERVICE_COMMAND}" >> ${OUT} 2>&1 & + $SU ${SERVICE_SHELL} -c "${SVC_CD}${SERVICE_COMMAND}" >> ${OUT} 2>&1 & fi + else # DSM 6 user is set by conf/privilege if [ -n "${SVC_CWD}" ]; then From 3d4d52d2d9c0fdf1b9a07af177cfa5bd475cfc2a Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sun, 18 Oct 2020 11:08:43 +1100 Subject: [PATCH 05/24] fix DSM_APP_NAME in dsm7 --- mk/spksrc.service.mk | 6 +++--- mk/spksrc.spk.mk | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mk/spksrc.service.mk b/mk/spksrc.service.mk index 939d54b926d..0b1300886c3 100644 --- a/mk/spksrc.service.mk +++ b/mk/spksrc.service.mk @@ -184,10 +184,10 @@ else $(DSM_CONF_DIR)/privilege: $(SPKSRC_MK)spksrc.service.privilege-startasroot endif $(create_target_dir) -ifneq ($(strip $(SPK_USER)),) - @sed 's|USER|sc-$(SPK_USER)|' $< > $@ +ifneq ($(strip $(EFF_USER)),) + @sed 's|USER|$(EFF_USER)|' $< > $@ else - @sed 's|USER|sc-$(SPK_NAME)|' $< > $@ + @sed 's|USER|$(SPK_NAME)|' $< > $@ # @sed '/.*USER.*/d' $< > $@ endif ifneq ($(findstring conf,$(SPK_CONTENT)),conf) diff --git a/mk/spksrc.spk.mk b/mk/spksrc.spk.mk index cb92dc36bc7..9e398a34cdc 100644 --- a/mk/spksrc.spk.mk +++ b/mk/spksrc.spk.mk @@ -169,8 +169,12 @@ ifneq ($(strip $(DSM_UI_DIR)),) endif ifneq ($(strip $(DSM_APP_NAME)),) @echo dsmappname=\"$(DSM_APP_NAME)\" >> $@ + @echo dsmapppage=\"$(DSM_APP_NAME)\" >> $@ + @echo dsmapplaunchname=\"$(DSM_APP_NAME)\" >> $@ else @echo dsmappname=\"com.synocommunity.$(SPK_NAME)\" >> $@ + @echo dsmapppage=\"com.synocommunity.$(SPK_NAME)\" >> $@ + @echo dsmapplaunchname=\"com.synocommunity.$(SPK_NAME)\" >> $@ endif ifneq ($(strip $(ADMIN_PROTOCOL)),) @echo adminprotocol=\"$(ADMIN_PROTOCOL)\" >> $@ From 2031eb24a2fe8c49a760469fd6bacdf53cb9cb12 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sat, 12 Dec 2020 12:57:09 +1100 Subject: [PATCH 06/24] remove tools that require root permissions: (synouser, synogroup, synoshare) * remove tool that fail to modify permissions (synoacltool) * remove tool that fail to apply configuration (servicetool) servicetool, synouser, synogroup and synoshare have alternative ways to do the same thing using resource configuration --- mk/spksrc.service.installer.dsm7 | 199 +++++-------------------------- 1 file changed, 28 insertions(+), 171 deletions(-) diff --git a/mk/spksrc.service.installer.dsm7 b/mk/spksrc.service.installer.dsm7 index 1a0cd1a9711..0eeec929f68 100644 --- a/mk/spksrc.service.installer.dsm7 +++ b/mk/spksrc.service.installer.dsm7 @@ -1,8 +1,9 @@ #!/bin/sh -# DSM 5 -> 6 upgrade path: -# Cannot remove user as still in use or may be DSM service itself -# Require warning in ChangeLog and manual user/group cleanup +# DSM 5 -> 7 upgrade path: +# Not supported +# DSM 6 -> 7 upgrade path: +# Not supported (yet) # if [ $SYNOPKG_DSM_VERSION_MAJOR -lt 7 ]; then INST_LOG="/tmp/${SYNOPKG_PKGNAME}_install.log" @@ -84,125 +85,39 @@ save_wizard_variables () # Remove user from system and from groups it is member of syno_remove_user () { - RM_USER=$1 - if [ -n "${RM_USER}" ]; then - # Check if user exists - if synouser --get "${RM_USER}" &> /dev/null; then - echo "Removing user ${RM_USER}" >> ${INST_LOG} - synouser --del "${RM_USER}" >> ${INST_LOG} 2>&1 - synouser --rebuild all >> ${INST_LOG} 2>&1 - # Also rebuild groups so users are removed - synogroup --rebuild all >> ${INST_LOG} 2>&1 - fi - fi + return 0 } # Create syno group $GROUP with parameter user as member syno_group_create () { - EFF_USER=$1 - if [ -n "${EFF_USER}" ]; then - echo "Creating group ${GROUP}" >> ${INST_LOG} - # Create syno group - synogroup --add "${GROUP}" "${EFF_USER}" >> ${INST_LOG} 2>&1 - # Set description of the syno group - synogroup --descset "${GROUP}" "${GROUP_DESC}" >> ${INST_LOG} 2>&1 - fi + return 0 } # Delete syno group if empty syno_group_remove () { - RM_GROUP=$1 - if [ -n "${RM_GROUP}" ]; then - # Check if syno group is empty - if ! synogroup --get "${RM_GROUP}" | grep -q "0:\["; then - echo "Removing group ${RM_GROUP}" >> ${INST_LOG} - # Remove syno group - synogroup --del "${RM_GROUP}" >> ${INST_LOG} 2>&1 - synogroup --rebuild all >> ${INST_LOG} 2>&1 - fi - fi + return 0 } # Add user to existing group syno_user_add_to_group () { - ADD_USER=$1 - ADD_GROUP=$2 - # Check user already in group - if ! synogroup --get "$ADD_GROUP" | grep "^[0-9]:\[${ADD_USER}\]" &> /dev/null; then - # Add user, not in group yet - echo "Adding '${ADD_USER}' to '${ADD_GROUP}'" >> ${INST_LOG} - MEMBERS="$(synogroup --get $ADD_GROUP | grep '^[0-9]' | sed 's/.*\[\([^]]*\)].*/\1/' | tr '\n' ' ')" - # The "synogroup --member" command clears all users before adding new ones - # so all the users must be listed on the command line - synogroup --member "$ADD_GROUP" $MEMBERS "${ADD_USER}" >> ${INST_LOG} 2>&1 - fi + return 0 } # Sets recursive permissions for ${GROUP} on specified directory # Usage: set_syno_permissions "${SHARE_FOLDER}" "${GROUP}" set_syno_permissions () { - DIRNAME=`realpath "${1}"` - GROUP="${2}" - - VOLUME=$(echo "${DIRNAME}" | awk -F/ '{print "/"$2}') - - # Ensure directory resides in /volumeX before setting GROUP permissions - if [ "`echo ${VOLUME} | cut -c2-7`" = "volume" ]; then - # Set read/write permissions for GROUP for folder and subfolders - if [ ! "`synoacltool -get \"${DIRNAME}\"| grep \"group:${GROUP}:allow:rwxpdDaARWcC-:fd--\"`" ]; then - # First Unix permissions, but only if it's in Linux mode - if [ "`synoacltool -get \"${DIRNAME}\"| grep \"Linux mode\"`" ]; then - # If it is linux mode (due to old package) we need to add "administrators"-group, - # otherwise the folder is not accessible from File Station anymore! - synoacltool -add "${DIRNAME}" "group:administrators:allow:rwxpdDaARWc--:fd--" >> ${INST_LOG} 2>&1 - fi - - # Then fix the Synology permissions - echo "Granting '${GROUP}' group permissions on ${DIRNAME}" >> ${INST_LOG} - synoacltool -add "${DIRNAME}" "group:${GROUP}:allow:rwxpdDaARWcC-:fd--" >> ${INST_LOG} 2>&1 - find "${DIRNAME}" -type d -exec synoacltool -enforce-inherit "{}" \; >> ${INST_LOG} 2>&1 - fi - - # Walk up the tree and set traverse execute permissions for GROUP up to VOLUME - while [ "${DIRNAME}" != "${VOLUME}" ]; do - if [ ! "`synoacltool -get \"${DIRNAME}\"| grep \"group:${GROUP}:allow:r.x\"`" ]; then - # Here we also need to make sure the admin can access data via File Station - if [ "`synoacltool -get \"${DIRNAME}\"| grep \"Linux mode\"`" ]; then - synoacltool -add "${DIRNAME}" "group:administrators:allow:rwxpdDaARWc--:fd--" >> ${INST_LOG} 2>&1 - fi - # Add the new group permissions - echo "Granting '${GROUP}' group basic permissions on ${DIRNAME}" >> ${INST_LOG} - synoacltool -add "${DIRNAME}" "group:${GROUP}:allow:r-x---a-R----:---n" >> ${INST_LOG} 2>&1 - fi - DIRNAME="$(dirname "${DIRNAME}")" - done - else - echo "Skip granting '${GROUP}' group permissions on ${DIRNAME} as the directory does not reside in '/volumeX'. Set manually if needed." >> ${INST_LOG} - fi + return 0 } # If package was moved to new group, we need to add the new package user # also to the old group. Only if the legacy user was in the old group. # Usage: syno_user_add_to_legacy_group "${NEW_USER}" "${LEGACY_USER}" "${LEGACY_GROUP}" syno_user_add_to_legacy_group () { - NEW_USER=$1 - LEGACY_USER=$2 - LEGACY_GROUP=$3 - - # Check if user in old group - if synogroup --get "$LEGACY_GROUP" | grep "^[0-9]:\[${LEGACY_USER}\]" &> /dev/null; then - # Add new user and remove old one - echo "Adding '${NEW_USER}' to '${LEGACY_GROUP}' for backwards compatibility" >> ${INST_LOG} - MEMBERS="$(synogroup --get $LEGACY_GROUP | grep '^[0-9]' | sed 's/.*\[\([^]]*\)].*/\1/' | tr '\n' ' ')" - MEMBERS=${MEMBERS//$LEGACY_USER} - # The "synogroup --member" command clears all users before adding new ones - # so all the users must be listed on the command line - synogroup --member "$LEGACY_GROUP" $MEMBERS "${NEW_USER}" >> ${INST_LOG} 2>&1 - fi + return 0 } @@ -229,72 +144,29 @@ postinst () log_step "postinst" save_wizard_variables - if [ $SYNOPKG_DSM_VERSION_MAJOR -lt 7 ]; then - # Link for backward compatibility of binaries location - $LN "${SYNOPKG_PKGDEST}" "/usr/local/${SYNOPKG_PKGNAME}" >> ${INST_LOG} - fi - # Add firewall config - if [ -r "${FWPORTS_FILE}" ]; then - echo "Installing service configuration ${FWPORTS_FILE}" >> ${INST_LOG} - servicetool --install-configure-file --package "${FWPORTS_FILE}" >> ${INST_LOG} 2>&1 - fi - - # Service user management - # if [ -n "${EFF_USER}" ]; then - # if [ $SYNOPKG_DSM_VERSION_MAJOR -lt 6 ]; then - # # DSM 5 specific operations - # # Create prefixed synouser - # if ! cat /etc/passwd | grep "${EFF_USER}:x:" &> /dev/null; then - # synouser --add "${EFF_USER}" "" "$USER_DESC" 0 "" 0 >> ${INST_LOG} 2>&1 - # # Set HOME for consistency with DSM 6, location available even if homes not enabled - # BACKUP_PASSWD="/tmp/install_${SYNOPKG_PKGNAME}_passwd" - # cp /etc/passwd ${BACKUP_PASSWD} - # sed -i "s#/var/services/homes/${EFF_USER}#/var/packages/${SYNOPKG_PKGNAME}/target#" /etc/passwd - # fi + # # Share management + # if [ -n "${SHARE_PATH}" ]; then + # echo "Configuring ${SHARE_PATH}" >> ${INST_LOG} + # # Create share if does not exist + # # !"#$%&’()*+,/:;<=>?@[]nˆ`{} | + # if ! synoshare --get "${SHARE_NAME}" &> /dev/null ; then + # synoshare --add "${SHARE_NAME}" "${SHARE_DESC}" "${SHARE_PATH}" "" "rw" "" 1 0 >> ${INST_LOG} 2>&1 # fi - # # Register service in "users" group to access any content - # if [ "$ADD_USER_IN_USERS" = "yes" ]; then - # syno_user_add_to_group "${EFF_USER}" "users" - # fi - # fi - # # Only if a group is provided via UI or set by script - # if [ -n "$GROUP" ]; then - # # Check if group already exists - # if ! synogroup --get "$GROUP" &> /dev/null; then - # # Group does not exist yet: create with user as member - # syno_group_create "${EFF_USER}" + # # Add user permission if no GROUP is set in UI + # # GROUP permission will be added in set_syno_permissions + # if [ ! -n "$GROUP" ] && [ -n "${EFF_USER}" ]; then + # synoshare --setuser "${SHARE_NAME}" RW + "${EFF_USER}" >> ${INST_LOG} 2>&1 # fi - # if synogroup --get "$GROUP" &> /dev/null; then - # syno_user_add_to_group "${EFF_USER}" "${GROUP}" - # fi - # # Not sure but invoked with hope DSM is updated - # synogroup --rebuild all - # fi + # synoshare --build >> ${INST_LOG} 2>&1 - # Share management - if [ -n "${SHARE_PATH}" ]; then - echo "Configuring ${SHARE_PATH}" >> ${INST_LOG} - # Create share if does not exist - # !"#$%&’()*+,/:;<=>?@[]nˆ`{} | - if ! synoshare --get "${SHARE_NAME}" &> /dev/null ; then - synoshare --add "${SHARE_NAME}" "${SHARE_DESC}" "${SHARE_PATH}" "" "rw" "" 1 0 >> ${INST_LOG} 2>&1 - fi - - # Add user permission if no GROUP is set in UI - # GROUP permission will be added in set_syno_permissions - if [ ! -n "$GROUP" ] && [ -n "${EFF_USER}" ]; then - synoshare --setuser "${SHARE_NAME}" RW + "${EFF_USER}" >> ${INST_LOG} 2>&1 - fi - synoshare --build >> ${INST_LOG} 2>&1 + # $MKDIR "${SHARE_PATH}" - $MKDIR "${SHARE_PATH}" - - # Permissions for folder, up to volume - if [ -n "$GROUP" ]; then - set_syno_permissions "${SHARE_PATH}" "${GROUP}" - fi - fi + # # Permissions for folder, up to volume + # if [ -n "$GROUP" ]; then + # set_syno_permissions "${SHARE_PATH}" "${GROUP}" + # fi + # fi $MKDIR "${INST_VAR}" >> ${INST_LOG} 2>&1 @@ -311,15 +183,6 @@ postinst () preuninst () { log_step "preuninst" - - if [ "${SYNOPKG_PKG_STATUS}" == "UNINSTALL" ]; then - # Remove firewall config - if [ -r "${FWPORTS_FILE}" ]; then - echo "Removing service configuration ${SYNOPKG_PKGNAME}.sc" >> ${INST_LOG} - servicetool --remove-configure-file --package "${SYNOPKG_PKGNAME}.sc" >> ${INST_LOG} 2>&1 - fi - fi - call_func "service_preuninst" exit 0 } @@ -331,12 +194,6 @@ postuninst () if [ "${SYNOPKG_PKG_STATUS}" == "UNINSTALL" ]; then # Remove link $RM "/usr/local/${SYNOPKG_PKGNAME}" >> ${INST_LOG} 2>&1 - - # Remove syno group if empty - syno_group_remove "${GROUP}" - - # Remove user - syno_remove_user "${EFF_USER}" fi call_func "service_postuninst" From a9197a5f0c1402d21e1811d64cc77fef54af978d Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sat, 12 Dec 2020 13:43:30 +1100 Subject: [PATCH 07/24] fix username, keep DSM6 name convention sc-packagename --- mk/spksrc.service.mk | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/mk/spksrc.service.mk b/mk/spksrc.service.mk index 0b1300886c3..b7f5f066299 100644 --- a/mk/spksrc.service.mk +++ b/mk/spksrc.service.mk @@ -184,12 +184,7 @@ else $(DSM_CONF_DIR)/privilege: $(SPKSRC_MK)spksrc.service.privilege-startasroot endif $(create_target_dir) -ifneq ($(strip $(EFF_USER)),) - @sed 's|USER|$(EFF_USER)|' $< > $@ -else - @sed 's|USER|$(SPK_NAME)|' $< > $@ -# @sed '/.*USER.*/d' $< > $@ -endif + @sed 's|USER|sc-$(SPK_USER)|' $< > $@ ifneq ($(findstring conf,$(SPK_CONTENT)),conf) SPK_CONTENT += conf endif From db2a3bd10edef448101db54f2a3d9e827c8dbfe3 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sat, 12 Dec 2020 14:17:46 +1100 Subject: [PATCH 08/24] Issue user facing warning on unsupported functions --- mk/spksrc.service.installer.dsm7 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mk/spksrc.service.installer.dsm7 b/mk/spksrc.service.installer.dsm7 index 0eeec929f68..c65e97dbe67 100644 --- a/mk/spksrc.service.installer.dsm7 +++ b/mk/spksrc.service.installer.dsm7 @@ -85,24 +85,28 @@ save_wizard_variables () # Remove user from system and from groups it is member of syno_remove_user () { + echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_remove_user() is no longer supported." return 0 } # Create syno group $GROUP with parameter user as member syno_group_create () { + echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_group_create() is no longer supported." return 0 } # Delete syno group if empty syno_group_remove () { + echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_group_remove() is no longer supported." return 0 } # Add user to existing group syno_user_add_to_group () { + echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_user_add_to_group() is no longer supported." return 0 } @@ -110,6 +114,7 @@ syno_user_add_to_group () # Usage: set_syno_permissions "${SHARE_FOLDER}" "${GROUP}" set_syno_permissions () { + echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: set_syno_permissions() is no longer supported." return 0 } @@ -117,6 +122,7 @@ set_syno_permissions () # also to the old group. Only if the legacy user was in the old group. # Usage: syno_user_add_to_legacy_group "${NEW_USER}" "${LEGACY_USER}" "${LEGACY_GROUP}" syno_user_add_to_legacy_group () { + echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_user_add_to_legacy_group() is no longer supported." return 0 } From 3b88dd40166f0617ee1c59727bd1f3f540b1a7fe Mon Sep 17 00:00:00 2001 From: hgy59 Date: Sat, 12 Dec 2020 09:06:03 +0100 Subject: [PATCH 09/24] change package icon size - change icon size from 72x72 to 64x64 for DSM 7 --- mk/spksrc.spk.mk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mk/spksrc.spk.mk b/mk/spksrc.spk.mk index 9e398a34cdc..7390f3ef688 100644 --- a/mk/spksrc.spk.mk +++ b/mk/spksrc.spk.mk @@ -277,10 +277,14 @@ icons: ifneq ($(strip $(SPK_ICON)),) $(create_target_dir) @$(MSG) "Creating PACKAGE_ICON.PNG for $(SPK_NAME)" +ifneq ($(shell expr "$(TCVERSION)" \>= 7.0),1) (convert $(SPK_ICON) -thumbnail 72x72 -strip - > $(WORK_DIR)/PACKAGE_ICON.PNG) +else + (convert $(SPK_ICON) -thumbnail 64x64 -strip - > $(WORK_DIR)/PACKAGE_ICON.PNG) +endif @$(MSG) "Creating PACKAGE_ICON_256.PNG for $(SPK_NAME)" (convert $(SPK_ICON) -thumbnail 256x256 -strip - > $(WORK_DIR)/PACKAGE_ICON_256.PNG) - $(eval SPK_CONTENT += PACKAGE_ICON.PNG PACKAGE_ICON_256.PNG) + $(eval SPK_CONTENT += PACKAGE_ICON.PNG PACKAGE_ICON_256.PNG) endif .PHONY: info-checksum From 61ee3c278bc19d1bb1d0e5e1bb3fe1f53aa1030d Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sat, 12 Dec 2020 14:51:50 +1100 Subject: [PATCH 10/24] cleanup --- mk/spksrc.service.installer.dsm7 | 46 ++------------------------------ 1 file changed, 2 insertions(+), 44 deletions(-) diff --git a/mk/spksrc.service.installer.dsm7 b/mk/spksrc.service.installer.dsm7 index c65e97dbe67..67d14e7946d 100644 --- a/mk/spksrc.service.installer.dsm7 +++ b/mk/spksrc.service.installer.dsm7 @@ -5,11 +5,7 @@ # DSM 6 -> 7 upgrade path: # Not supported (yet) -# if [ $SYNOPKG_DSM_VERSION_MAJOR -lt 7 ]; then - INST_LOG="/tmp/${SYNOPKG_PKGNAME}_install.log" -# else -# INST_LOG="${SYNOPKG_TEMP_LOGFILE}" -# fi +INST_LOG="${SYNOPKG_TEMP_LOGFILE}" INST_ETC="/var/packages/${SYNOPKG_PKGNAME}/etc" INST_VARIABLES="${INST_ETC}/installer-variables" @@ -19,12 +15,7 @@ INST_VAR="${SYNOPKG_PKGDEST}/var" # Optional FWPORTS file FWPORTS_FILE="/var/packages/${SYNOPKG_PKGNAME}/conf/${SYNOPKG_PKGNAME}.sc" -# Versions lower then DSM 6 don't support an upgrade folder -if [ $SYNOPKG_DSM_VERSION_MAJOR -lt 6 ]; then - TMP_DIR="/var/tmp/${SYNOPKG_PKGNAME}/var" -else - TMP_DIR="${SYNOPKG_TEMP_UPGRADE_FOLDER}/var" -fi +TMP_DIR="${SYNOPKG_TEMP_UPGRADE_FOLDER}/var" # Source package specific variable and functions SVC_SETUP=`dirname $0`"/service-setup" @@ -82,45 +73,36 @@ save_wizard_variables () fi } -# Remove user from system and from groups it is member of syno_remove_user () { echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_remove_user() is no longer supported." return 0 } -# Create syno group $GROUP with parameter user as member syno_group_create () { echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_group_create() is no longer supported." return 0 } -# Delete syno group if empty syno_group_remove () { echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_group_remove() is no longer supported." return 0 } -# Add user to existing group syno_user_add_to_group () { echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_user_add_to_group() is no longer supported." return 0 } -# Sets recursive permissions for ${GROUP} on specified directory -# Usage: set_syno_permissions "${SHARE_FOLDER}" "${GROUP}" set_syno_permissions () { echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: set_syno_permissions() is no longer supported." return 0 } -# If package was moved to new group, we need to add the new package user -# also to the old group. Only if the legacy user was in the old group. -# Usage: syno_user_add_to_legacy_group "${NEW_USER}" "${LEGACY_USER}" "${LEGACY_GROUP}" syno_user_add_to_legacy_group () { echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_user_add_to_legacy_group() is no longer supported." return 0 @@ -150,30 +132,6 @@ postinst () log_step "postinst" save_wizard_variables - # # Share management - # if [ -n "${SHARE_PATH}" ]; then - # echo "Configuring ${SHARE_PATH}" >> ${INST_LOG} - # # Create share if does not exist - # # !"#$%&’()*+,/:;<=>?@[]nˆ`{} | - # if ! synoshare --get "${SHARE_NAME}" &> /dev/null ; then - # synoshare --add "${SHARE_NAME}" "${SHARE_DESC}" "${SHARE_PATH}" "" "rw" "" 1 0 >> ${INST_LOG} 2>&1 - # fi - - # # Add user permission if no GROUP is set in UI - # # GROUP permission will be added in set_syno_permissions - # if [ ! -n "$GROUP" ] && [ -n "${EFF_USER}" ]; then - # synoshare --setuser "${SHARE_NAME}" RW + "${EFF_USER}" >> ${INST_LOG} 2>&1 - # fi - # synoshare --build >> ${INST_LOG} 2>&1 - - # $MKDIR "${SHARE_PATH}" - - # # Permissions for folder, up to volume - # if [ -n "$GROUP" ]; then - # set_syno_permissions "${SHARE_PATH}" "${GROUP}" - # fi - # fi - $MKDIR "${INST_VAR}" >> ${INST_LOG} 2>&1 call_func "service_postinst" From 23d65fb8c424a6b108a8d330f3b4732167f2302d Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sat, 12 Dec 2020 22:29:22 +1100 Subject: [PATCH 11/24] Store log files, pid and other files in permanent storage fixes missing log entries on reinstall --- mk/spksrc.service.installer.dsm7 | 6 +++--- mk/spksrc.service.mk | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/mk/spksrc.service.installer.dsm7 b/mk/spksrc.service.installer.dsm7 index 67d14e7946d..e483ef34a36 100644 --- a/mk/spksrc.service.installer.dsm7 +++ b/mk/spksrc.service.installer.dsm7 @@ -5,12 +5,12 @@ # DSM 6 -> 7 upgrade path: # Not supported (yet) -INST_LOG="${SYNOPKG_TEMP_LOGFILE}" + +INST_LOG="${SYNOPKG_PKGVAR}/${SYNOPKG_PKGNAME}_install.log" INST_ETC="/var/packages/${SYNOPKG_PKGNAME}/etc" INST_VARIABLES="${INST_ETC}/installer-variables" -INST_VAR="${SYNOPKG_PKGDEST}/var" -# INST_VAR="${SYNOPKG_PKGVAR}" +INST_VAR="${SYNOPKG_PKGVAR}" # Optional FWPORTS file FWPORTS_FILE="/var/packages/${SYNOPKG_PKGNAME}/conf/${SYNOPKG_PKGNAME}.sc" diff --git a/mk/spksrc.service.mk b/mk/spksrc.service.mk index b7f5f066299..0b525cbb08e 100644 --- a/mk/spksrc.service.mk +++ b/mk/spksrc.service.mk @@ -98,10 +98,17 @@ ifneq ($(strip $(SERVICE_PORT)),) @echo 'SERVICE_PORT="$(SERVICE_PORT)"' >> $@ endif ifneq ($(STARTABLE),no) +ifneq ($(shell expr "$(TCVERSION)" \>= 7.0),1) @echo "# start-stop-status script redirect stdout/stderr to LOG_FILE" >> $@ @echo 'LOG_FILE="$${SYNOPKG_PKGDEST}/var/$${SYNOPKG_PKGNAME}.log"' >> $@ @echo "# Service command has to deliver its pid into PID_FILE" >> $@ @echo 'PID_FILE="$${SYNOPKG_PKGDEST}/var/$${SYNOPKG_PKGNAME}.pid"' >> $@ +else + @echo "# start-stop-status script redirect stdout/stderr to LOG_FILE" >> $@ + @echo 'LOG_FILE="$${SYNOPKG_PKGVAR}/$${SYNOPKG_PKGNAME}.log"' >> $@ + @echo "# Service command has to deliver its pid into PID_FILE" >> $@ + @echo 'PID_FILE="$${SYNOPKG_PKGVAR}/$${SYNOPKG_PKGNAME}.pid"' >> $@ +endif endif ifneq ($(strip $(SERVICE_COMMAND)),) ifneq ($(strip $(SERVICE_SHELL)),) From d36b7cc026bb319205be3640df70f0f14309a442 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sun, 20 Dec 2020 18:05:15 +1100 Subject: [PATCH 12/24] Migrate some JSON processing to jq TODO add moreutils package, use sponge to prevent overriding file with 0 content - 1<> $@ + | sponge $@ --- mk/spksrc.service.mk | 24 +++++++++++++++++------- mk/spksrc.service.privilege | 6 ------ mk/spksrc.service.resource-linker | 5 ----- 3 files changed, 17 insertions(+), 18 deletions(-) delete mode 100644 mk/spksrc.service.privilege delete mode 100644 mk/spksrc.service.resource-linker diff --git a/mk/spksrc.service.mk b/mk/spksrc.service.mk index 0b525cbb08e..f631cb7c58c 100644 --- a/mk/spksrc.service.mk +++ b/mk/spksrc.service.mk @@ -56,6 +56,9 @@ SPK_USER = $(SPK_NAME) else SPK_USER = $(SERVICE_USER) endif +ifeq ($(strip $(SPK_USER)),) +SPK_USER = $(SPK_NAME) +endif # Recommend explicit STARTABLE=no ifeq ($(strip $(SSS_SCRIPT)),) @@ -138,10 +141,11 @@ ifneq ($(strip $(SPK_COMMANDS) $(SPK_LINKS)),) @cat $(SPKSRC_MK)spksrc.service.create_links >> $@ endif else -SPK_COMMANDS_IN_JSON = $(shell printf '"%s",' ${SPK_COMMANDS} | sed 's/.$$//') -$(DSM_CONF_DIR)/resource: $(SPKSRC_MK)spksrc.service.resource-linker + +SPK_COMMANDS_IN_JSON = $(shell echo ${SPK_COMMANDS} | jq -Rc '. | split(" ")') +$(DSM_CONF_DIR)/resource: $(create_target_dir) - @sed 's|"BINARIES"|${SPK_COMMANDS_IN_JSON}|' $< > $@ + @jq -n '."usr-local-linker" = {"bin": $$binaries}' --argjson binaries '$(SPK_COMMANDS_IN_JSON)' > $@ SERVICE_FILES += $(DSM_CONF_DIR)/resource # STARTABLE needs to be yes, the resource linking and unlinking works on start and stop # see spsrc.spk.mk @@ -184,14 +188,20 @@ endif # Generate privilege file for service user (prefixed to avoid collision with busybox account) ifeq ($(shell expr "$(TCVERSION)" \>= 7.0),1) -$(DSM_CONF_DIR)/privilege: $(SPKSRC_MK)spksrc.service.privilege -else ifeq ($(strip $(SERVICE_EXE)),) +$(DSM_CONF_DIR)/privilege: + $(create_target_dir) + jq -n '.defaults = {"run-as": "package"}' > $@ +else +ifeq ($(strip $(SERVICE_EXE)),) $(DSM_CONF_DIR)/privilege: $(SPKSRC_MK)spksrc.service.privilege-installasroot else $(DSM_CONF_DIR)/privilege: $(SPKSRC_MK)spksrc.service.privilege-startasroot endif - $(create_target_dir) - @sed 's|USER|sc-$(SPK_USER)|' $< > $@ +endif +# TODO add moreutils package, use sponge to prevent overriding file with 0 content +#- 1<> $@ +#+ | sponge $@ + jq '.username = "sc-$(SPK_USER)"' $@ 1<>$@ ifneq ($(findstring conf,$(SPK_CONTENT)),conf) SPK_CONTENT += conf endif diff --git a/mk/spksrc.service.privilege b/mk/spksrc.service.privilege deleted file mode 100644 index e9b958738c7..00000000000 --- a/mk/spksrc.service.privilege +++ /dev/null @@ -1,6 +0,0 @@ -{ - "defaults":{ - "run-as": "package" - }, - "username": "USER" -} diff --git a/mk/spksrc.service.resource-linker b/mk/spksrc.service.resource-linker deleted file mode 100644 index f41ad61966d..00000000000 --- a/mk/spksrc.service.resource-linker +++ /dev/null @@ -1,5 +0,0 @@ -{ - "usr-local-linker": { - "bin": ["BINARIES"] - } -} From b7e55c360c7f76350f459ffba313527a05d7f144 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sun, 20 Dec 2020 21:18:36 +1100 Subject: [PATCH 13/24] fix adding GROUPs DSM7 --- mk/spksrc.service.mk | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/mk/spksrc.service.mk b/mk/spksrc.service.mk index f631cb7c58c..357cc4d6bc5 100644 --- a/mk/spksrc.service.mk +++ b/mk/spksrc.service.mk @@ -3,7 +3,7 @@ # scripts/installer # scripts/start-stop-status # scripts/service-setup -# conf/privilege if SERVICE_USER +# conf/privilege if SERVICE_USER or DSM7 # conf/SPK_NAME.sc if SERVICE_PORT # app/config if DSM_UI_DIR # @@ -60,6 +60,12 @@ ifeq ($(strip $(SPK_USER)),) SPK_USER = $(SPK_NAME) endif +# Temporary Shim +ifeq ($(strip $(GROUP)),) +GROUP = $(shell grep '^GROUP=' src/service-setup.sh 2>/dev/null | awk -F = '{print $$2}' | sed 's/"//g') +endif +# end shim + # Recommend explicit STARTABLE=no ifeq ($(strip $(SSS_SCRIPT)),) ifeq ($(strip $(SERVICE_COMMAND)),) @@ -202,6 +208,11 @@ endif #- 1<> $@ #+ | sponge $@ jq '.username = "sc-$(SPK_USER)"' $@ 1<>$@ +ifeq ($(shell expr "$(TCVERSION)" \>= 7.0),1) +ifneq ($(strip $(GROUP)),) + jq --arg packagename $(GROUP) '."join-pkg-groupnames" += [{$$packagename}]' $@ 1<>$@ +endif +endif ifneq ($(findstring conf,$(SPK_CONTENT)),conf) SPK_CONTENT += conf endif From 9e4ea101c6de35b5e5c3d88c12bf1ebc790a9c3c Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sun, 20 Dec 2020 23:34:17 +1100 Subject: [PATCH 14/24] update issue template with new log file path --- .github/ISSUE_TEMPLATE.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 9c981591a52..617889f050e 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,12 +1,12 @@ -_For new Package Requests, see the guidelines_ +_For new Package Requests, see the guidelines_ ### Setup -_Package Name:_ -_Package Version:_ +_Package Name:_ +_Package Version:_ -_NAS Model:_ -_NAS Architecture:_ -_DSM version:_ +_NAS Model:_ +_NAS Architecture:_ +_DSM version:_ ### Expected behavior Tell us what should happen @@ -15,12 +15,14 @@ Tell us what should happen Tell us what happens instead ### Steps to reproduce -_1._ -_2._ -_3._ +_1._ +_2._ +_3._ #### Package log _Check Package Center or `/usr/local/{package}/var/`_ + +_DSM7: `/var/log/packages/{package}.log`_ ``` Insert the package log here ``` From f9c60b8a22084c43d7c285f3c7a39e467111b158 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Tue, 22 Dec 2020 13:42:46 +1100 Subject: [PATCH 15/24] join-pkg-groupnames Creates group but is different from the groups the user can create, they are invisible in the UI an are only useful to access another packages permissions (ffmpeg comes to mind) For DSM7 I recommend setting permissions for individual packages (System Internal User) or use the shared folder resource worker to add permissions. We can ask the user from the wizard the folder name "join-groupname": "http" is for system groups, mainly for the web service ("root" don't work but "system" does) --- mk/spksrc.service.mk | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/mk/spksrc.service.mk b/mk/spksrc.service.mk index 357cc4d6bc5..ae9439be382 100644 --- a/mk/spksrc.service.mk +++ b/mk/spksrc.service.mk @@ -60,12 +60,6 @@ ifeq ($(strip $(SPK_USER)),) SPK_USER = $(SPK_NAME) endif -# Temporary Shim -ifeq ($(strip $(GROUP)),) -GROUP = $(shell grep '^GROUP=' src/service-setup.sh 2>/dev/null | awk -F = '{print $$2}' | sed 's/"//g') -endif -# end shim - # Recommend explicit STARTABLE=no ifeq ($(strip $(SSS_SCRIPT)),) ifeq ($(strip $(SERVICE_COMMAND)),) @@ -208,8 +202,12 @@ endif #- 1<> $@ #+ | sponge $@ jq '.username = "sc-$(SPK_USER)"' $@ 1<>$@ + jq '."groupname" = "sc-$(SPK_USER)"' $@ 1<>$@ ifeq ($(shell expr "$(TCVERSION)" \>= 7.0),1) ifneq ($(strip $(GROUP)),) + # Creates group but is different from the groups the user can create, they are invisible in the UI an are only usefull to access another packages permissions (ffmpeg comes to mind) + # For DSM7 I recommend setting permissions for individual packages (System Internal User) + # or use the shared folder resource worker to add permissions, ask user from wizard jq --arg packagename $(GROUP) '."join-pkg-groupnames" += [{$$packagename}]' $@ 1<>$@ endif endif From fa679e638e8fc44ec8f6ce607d0f0e63b5a29aaf Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Tue, 29 Dec 2020 17:51:46 +1100 Subject: [PATCH 16/24] DSM6->DSM7 move target/var to var/ [radarr] --- mk/spksrc.service.installer.dsm7 | 7 +++++++ spk/radarr/src/service-setup.sh | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/mk/spksrc.service.installer.dsm7 b/mk/spksrc.service.installer.dsm7 index e483ef34a36..0efcb66a56b 100644 --- a/mk/spksrc.service.installer.dsm7 +++ b/mk/spksrc.service.installer.dsm7 @@ -3,6 +3,7 @@ # DSM 5 -> 7 upgrade path: # Not supported # DSM 6 -> 7 upgrade path: +# files are migrated from ${SYNOPKG_PKGDEST}/var to ${SYNOPKG_PKGVAR} # Not supported (yet) @@ -172,6 +173,12 @@ postuninst () preupgrade () { log_step "preupgrade" + + # dsm6 -> dsm7 + # Migrate data to permanent storage + + $CP -RT ${SYNOPKG_PKGDEST}/var/. ${SYNOPKG_PKGVAR} + call_func "service_preupgrade" # Save some stuff diff --git a/spk/radarr/src/service-setup.sh b/spk/radarr/src/service-setup.sh index 2a5f7070634..e6280a1f22a 100644 --- a/spk/radarr/src/service-setup.sh +++ b/spk/radarr/src/service-setup.sh @@ -7,8 +7,8 @@ RADARR="${SYNOPKG_PKGDEST}/share/Radarr/Radarr.exe" SPK_RADARR="${SYNOPKG_PKGINST_TEMP_DIR}/share/Radarr/Radarr.exe" # Radarr uses custom Config and PID directories -HOME_DIR="${SYNOPKG_PKGDEST}/var" -CONFIG_DIR="${SYNOPKG_PKGDEST}/var/.config" +HOME_DIR="${SYNOPKG_PKGVAR}/" +CONFIG_DIR="${SYNOPKG_PKGVAR}/.config" PID_FILE="${CONFIG_DIR}/Radarr/radarr.pid" # Some have it stored in the root of package From ae7b579eedb5c927822a5aa6d2ead537c1506da8 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 31 Dec 2020 02:34:21 +0000 Subject: [PATCH 17/24] Added dsm7 preview toolchain for syno-armada38x-7.0 --- toolchains/syno-armada38x-7.0/Makefile | 11 +++++++++++ toolchains/syno-armada38x-7.0/digests | 3 +++ 2 files changed, 14 insertions(+) create mode 100644 toolchains/syno-armada38x-7.0/Makefile create mode 100644 toolchains/syno-armada38x-7.0/digests diff --git a/toolchains/syno-armada38x-7.0/Makefile b/toolchains/syno-armada38x-7.0/Makefile new file mode 100644 index 00000000000..941bb2f550f --- /dev/null +++ b/toolchains/syno-armada38x-7.0/Makefile @@ -0,0 +1,11 @@ +TC_ARCH = armada38x +TC_VERS = 7.0%20preview +TC_KERNEL = 3.10.108+ + +TC_DIST = armada38x-gcc730_glibc226_hard-GPL +TC_DIST_SITE_PATH = Marvell%20Armada%2038x%20Linux%203.10.108 + +TC_TARGET = arm-unknown-linux-gnueabi +TC_SYSROOT = $(TC_TARGET)/sysroot + +include ../../mk/spksrc.tc.mk diff --git a/toolchains/syno-armada38x-7.0/digests b/toolchains/syno-armada38x-7.0/digests new file mode 100644 index 00000000000..ab863037c97 --- /dev/null +++ b/toolchains/syno-armada38x-7.0/digests @@ -0,0 +1,3 @@ +armada38x-gcc730_glibc226_hard-GPL.txz SHA1 0B7ADCDE222AE902D54EDFD6D598A23D65F526B0 +armada38x-gcc730_glibc226_hard-GPL.txz SHA256 38C72D94A1CA2BC58CFC683D632908EC12C6745647C35DFDAE66062FDE2E7285 +armada38x-gcc730_glibc226_hard-GPL.txz MD5 1789A7A17C177AF1993CC030CDFF7840 From 899fade5b5bc916297712e1854871937d8f49f27 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sat, 2 Jan 2021 18:05:49 +1100 Subject: [PATCH 18/24] Add DSM7.0 toolchains --- toolchain/syno-aarch64-7.0/Makefile | 16 ++++++++++++++++ toolchain/syno-aarch64-7.0/digests | 3 +++ toolchain/syno-alpine-7.0/Makefile | 17 +++++++++++++++++ toolchain/syno-alpine-7.0/digests | 2 ++ toolchain/syno-apollolake-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-apollolake-7.0/digests | 2 ++ toolchain/syno-armada370-7.0/Makefile | 15 +++++++++++++++ toolchain/syno-armada370-7.0/digests | 2 ++ toolchain/syno-armada375-7.0/Makefile | 15 +++++++++++++++ toolchain/syno-armada375-7.0/digests | 2 ++ .../syno-armada38x-7.0/Makefile | 5 ++++- .../syno-armada38x-7.0/digests | 0 toolchain/syno-armadaxp-7.0/Makefile | 15 +++++++++++++++ toolchain/syno-armadaxp-7.0/digests | 2 ++ toolchain/syno-armv7-7.0/Makefile | 17 +++++++++++++++++ toolchain/syno-armv7-7.0/digests | 3 +++ toolchain/syno-avoton-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-avoton-7.0/digests | 2 ++ toolchain/syno-braswell-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-braswell-7.0/digests | 2 ++ toolchain/syno-broadwell-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-broadwell-7.0/digests | 3 +++ toolchain/syno-broadwellnk-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-broadwellnk-7.0/digests | 2 ++ toolchain/syno-bromolow-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-bromolow-7.0/digests | 2 ++ toolchain/syno-cedarview-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-cedarview-7.0/digests | 2 ++ toolchain/syno-comcerto2k-7.0/Makefile | 15 +++++++++++++++ toolchain/syno-comcerto2k-7.0/digests | 2 ++ toolchain/syno-denverton-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-denverton-7.0/digests | 2 ++ toolchain/syno-evansport-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-evansport-7.0/digests | 2 ++ toolchain/syno-geminilake-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-geminilake-7.0/digests | 2 ++ toolchain/syno-grantley-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-grantley-7.0/digests | 2 ++ toolchain/syno-kvmx64-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-kvmx64-7.0/digests | 2 ++ toolchain/syno-monaco-7.0/Makefile | 15 +++++++++++++++ toolchain/syno-monaco-7.0/digests | 2 ++ toolchain/syno-purley-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-purley-7.0/digests | 3 +++ toolchain/syno-rtd1296-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-rtd1296-7.0/digests | 3 +++ toolchain/syno-v1000-7.0/Makefile | 14 ++++++++++++++ toolchain/syno-v1000-7.0/digests | 2 ++ toolchain/syno-x64-7.0/Makefile | 2 ++ 49 files changed, 392 insertions(+), 1 deletion(-) create mode 100644 toolchain/syno-aarch64-7.0/Makefile create mode 100644 toolchain/syno-aarch64-7.0/digests create mode 100644 toolchain/syno-alpine-7.0/Makefile create mode 100644 toolchain/syno-alpine-7.0/digests create mode 100644 toolchain/syno-apollolake-7.0/Makefile create mode 100644 toolchain/syno-apollolake-7.0/digests create mode 100644 toolchain/syno-armada370-7.0/Makefile create mode 100644 toolchain/syno-armada370-7.0/digests create mode 100644 toolchain/syno-armada375-7.0/Makefile create mode 100644 toolchain/syno-armada375-7.0/digests rename {toolchains => toolchain}/syno-armada38x-7.0/Makefile (61%) rename {toolchains => toolchain}/syno-armada38x-7.0/digests (100%) create mode 100644 toolchain/syno-armadaxp-7.0/Makefile create mode 100644 toolchain/syno-armadaxp-7.0/digests create mode 100644 toolchain/syno-armv7-7.0/Makefile create mode 100644 toolchain/syno-armv7-7.0/digests create mode 100644 toolchain/syno-avoton-7.0/Makefile create mode 100644 toolchain/syno-avoton-7.0/digests create mode 100644 toolchain/syno-braswell-7.0/Makefile create mode 100644 toolchain/syno-braswell-7.0/digests create mode 100644 toolchain/syno-broadwell-7.0/Makefile create mode 100644 toolchain/syno-broadwell-7.0/digests create mode 100644 toolchain/syno-broadwellnk-7.0/Makefile create mode 100644 toolchain/syno-broadwellnk-7.0/digests create mode 100644 toolchain/syno-bromolow-7.0/Makefile create mode 100644 toolchain/syno-bromolow-7.0/digests create mode 100644 toolchain/syno-cedarview-7.0/Makefile create mode 100644 toolchain/syno-cedarview-7.0/digests create mode 100644 toolchain/syno-comcerto2k-7.0/Makefile create mode 100644 toolchain/syno-comcerto2k-7.0/digests create mode 100644 toolchain/syno-denverton-7.0/Makefile create mode 100644 toolchain/syno-denverton-7.0/digests create mode 100644 toolchain/syno-evansport-7.0/Makefile create mode 100644 toolchain/syno-evansport-7.0/digests create mode 100644 toolchain/syno-geminilake-7.0/Makefile create mode 100644 toolchain/syno-geminilake-7.0/digests create mode 100644 toolchain/syno-grantley-7.0/Makefile create mode 100644 toolchain/syno-grantley-7.0/digests create mode 100644 toolchain/syno-kvmx64-7.0/Makefile create mode 100644 toolchain/syno-kvmx64-7.0/digests create mode 100644 toolchain/syno-monaco-7.0/Makefile create mode 100644 toolchain/syno-monaco-7.0/digests create mode 100644 toolchain/syno-purley-7.0/Makefile create mode 100644 toolchain/syno-purley-7.0/digests create mode 100644 toolchain/syno-rtd1296-7.0/Makefile create mode 100644 toolchain/syno-rtd1296-7.0/digests create mode 100644 toolchain/syno-v1000-7.0/Makefile create mode 100644 toolchain/syno-v1000-7.0/digests diff --git a/toolchain/syno-aarch64-7.0/Makefile b/toolchain/syno-aarch64-7.0/Makefile new file mode 100644 index 00000000000..f02fcf88c30 --- /dev/null +++ b/toolchain/syno-aarch64-7.0/Makefile @@ -0,0 +1,16 @@ +TC_NAME = syno-aarch64 + +TC_ARCH = rtd1296 armada37xx aarch64 +TC_VERS = 7.0 +TC_KERNEL = 4.4.180 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = rtd1296-gcc730_glibc226_armv8-GPL +TC_DIST_SITE_PATH = Realtek%20RTD129x%20Linux%204.4.180 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = aarch64-unknown-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sysroot + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-aarch64-7.0/digests b/toolchain/syno-aarch64-7.0/digests new file mode 100644 index 00000000000..2dd2183e14b --- /dev/null +++ b/toolchain/syno-aarch64-7.0/digests @@ -0,0 +1,3 @@ +rtd1296-gcc730_glibc226_armv8-GPL.txz SHA1 5f4e8d3af9b31110c6cd139de51b662ecd3fe084 +rtd1296-gcc730_glibc226_armv8-GPL.txz SHA256 54042300cdc3ff65e3a1093df47238cf91f37d744592e594f685b46ead73522b +rtd1296-gcc730_glibc226_armv8-GPL.txz MD5 349a6f674c4698df3b9d334ac5c86b5e diff --git a/toolchain/syno-alpine-7.0/Makefile b/toolchain/syno-alpine-7.0/Makefile new file mode 100644 index 00000000000..532501a1200 --- /dev/null +++ b/toolchain/syno-alpine-7.0/Makefile @@ -0,0 +1,17 @@ +TC_NAME = syno-alpine + +TC_ARCH = alpine alpine4k +TC_VERS = 7.0 +TC_KERNEL = 3.10.108 +TC_GCC = 7.3.0 +TC_GLIBC = 2.36 + +TC_DIST = alpine4k-gcc730_glibc226_hard-GPL +TC_DIST_SITE_PATH = Annapurna%20Alpine%20Linux%203.10.108 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = arm-unknown-linux-gnueabi +TC_SYSROOT = $(TC_TARGET)/sysroot +TC_EXTRA_CFLAGS = -mfloat-abi=hard -mtune=cortex-a15 -mfpu=neon-vfpv4 -mthumb + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-alpine-7.0/digests b/toolchain/syno-alpine-7.0/digests new file mode 100644 index 00000000000..3b2e0ff3ca0 --- /dev/null +++ b/toolchain/syno-alpine-7.0/digests @@ -0,0 +1,2 @@ +alpine4k-gcc730_glibc226_hard-GPL.txz SHA1 a6082db9cc84066ba93da32968fc604e8525f0e9 +alpine4k-gcc730_glibc226_hard-GPL.txz MD5 a259283312b3489085fb658dbf768f8f diff --git a/toolchain/syno-apollolake-7.0/Makefile b/toolchain/syno-apollolake-7.0/Makefile new file mode 100644 index 00000000000..8b5fab9202d --- /dev/null +++ b/toolchain/syno-apollolake-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = apollolake +TC_VERS = 7.0 +TC_KERNEL = 4.4.180 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = apollolake-gcc730_glibc226_x86_64-GPL.txz +TC_DIST_SITE_PATH = Intel%20x86%20Linux%204.4.180%20%28Apollolake%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-apollolake-7.0/digests b/toolchain/syno-apollolake-7.0/digests new file mode 100644 index 00000000000..3e815e7c771 --- /dev/null +++ b/toolchain/syno-apollolake-7.0/digests @@ -0,0 +1,2 @@ +apollolake-gcc730_glibc226_x86_64-GPL.txz SHA1 3d6a03823ef3465881354d1e68552a9546f9b6c8 +apollolake-gcc730_glibc226_x86_64-GPL.txz MD5 d3e7cb99168a2ed98d5a6c1d5f49d8fc diff --git a/toolchain/syno-armada370-7.0/Makefile b/toolchain/syno-armada370-7.0/Makefile new file mode 100644 index 00000000000..7a35f23d046 --- /dev/null +++ b/toolchain/syno-armada370-7.0/Makefile @@ -0,0 +1,15 @@ +TC_ARCH = armada370 +TC_VERS = 7.0 +TC_KERNEL = 3.2.101 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = armada370-gcc730_glibc226_hard-GPL.txz +TC_DIST_SITE_PATH = Marvell%20Armada%20370%20Linux%203.2.101 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = arm-unknown-linux-gnueabi +TC_SYSROOT = $(TC_TARGET)/sysroot +TC_EXTRA_CFLAGS = -mhard-float -mfpu=vfpv3-d16 + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-armada370-7.0/digests b/toolchain/syno-armada370-7.0/digests new file mode 100644 index 00000000000..3c3957ce586 --- /dev/null +++ b/toolchain/syno-armada370-7.0/digests @@ -0,0 +1,2 @@ +armada370-gcc730_glibc226_hard-GPL.txz SHA1 8f0973be4c5f61ae919971cc9f1c1b9cfa76b96c +armada370-gcc730_glibc226_hard-GPL.txz MD5 ca60fb63a0ed204f523398051dab171b diff --git a/toolchain/syno-armada375-7.0/Makefile b/toolchain/syno-armada375-7.0/Makefile new file mode 100644 index 00000000000..c42651cd313 --- /dev/null +++ b/toolchain/syno-armada375-7.0/Makefile @@ -0,0 +1,15 @@ +TC_ARCH = armada375 +TC_VERS = 7.0 +TC_KERNEL = 3.2.101 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = aarmada375-gcc730_glibc226_hard-GPL +TC_DIST_SITE_PATH = Marvell%20Armada%20375%20Linux%203.2.101 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = arm-unknown-linux-gnueabi +TC_SYSROOT = $(TC_TARGET)/sysroot +TC_EXTRA_CFLAGS = -mhard-float -mfpu=vfpv3 + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-armada375-7.0/digests b/toolchain/syno-armada375-7.0/digests new file mode 100644 index 00000000000..8b603fbf84b --- /dev/null +++ b/toolchain/syno-armada375-7.0/digests @@ -0,0 +1,2 @@ +aarmada375-gcc730_glibc226_hard-GPL.txz SHA1 1e3253f06bf24f303134e9030cce73ffdc2d50ec +aarmada375-gcc730_glibc226_hard-GPL.txz MD5 ae1bf54e0b16955a43fd7b5991d35c14 diff --git a/toolchains/syno-armada38x-7.0/Makefile b/toolchain/syno-armada38x-7.0/Makefile similarity index 61% rename from toolchains/syno-armada38x-7.0/Makefile rename to toolchain/syno-armada38x-7.0/Makefile index 941bb2f550f..c89aa9ff7c9 100644 --- a/toolchains/syno-armada38x-7.0/Makefile +++ b/toolchain/syno-armada38x-7.0/Makefile @@ -1,9 +1,12 @@ TC_ARCH = armada38x -TC_VERS = 7.0%20preview +TC_VERS = 7.0 TC_KERNEL = 3.10.108+ +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 TC_DIST = armada38x-gcc730_glibc226_hard-GPL TC_DIST_SITE_PATH = Marvell%20Armada%2038x%20Linux%203.10.108 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ TC_TARGET = arm-unknown-linux-gnueabi TC_SYSROOT = $(TC_TARGET)/sysroot diff --git a/toolchains/syno-armada38x-7.0/digests b/toolchain/syno-armada38x-7.0/digests similarity index 100% rename from toolchains/syno-armada38x-7.0/digests rename to toolchain/syno-armada38x-7.0/digests diff --git a/toolchain/syno-armadaxp-7.0/Makefile b/toolchain/syno-armadaxp-7.0/Makefile new file mode 100644 index 00000000000..e651a83ea0f --- /dev/null +++ b/toolchain/syno-armadaxp-7.0/Makefile @@ -0,0 +1,15 @@ +TC_ARCH = armadaxp +TC_VERS = 7.0 +TC_KERNEL = 3.2.101 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = armadaxp-gcc730_glibc226_hard-GPL +TC_DIST_SITE_PATH = Marvell%20Armada%20XP%20Linux%203.2.101 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = arm-unknown-linux-gnueabi +TC_SYSROOT = $(TC_TARGET)/sysroot +TC_EXTRA_CFLAGS = -mhard-float -mfpu=vfpv3-d16 + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-armadaxp-7.0/digests b/toolchain/syno-armadaxp-7.0/digests new file mode 100644 index 00000000000..abe2aeb58db --- /dev/null +++ b/toolchain/syno-armadaxp-7.0/digests @@ -0,0 +1,2 @@ +armadaxp-gcc730_glibc226_hard-GPL.txz SHA1 d0331bdbff1ca21e5d3b0580228c81dbc6892b80 +armadaxp-gcc730_glibc226_hard-GPL.txz MD5 8fe37c76c43e9777b55bf8d0c5c469b7 diff --git a/toolchain/syno-armv7-7.0/Makefile b/toolchain/syno-armv7-7.0/Makefile new file mode 100644 index 00000000000..28c91d29a58 --- /dev/null +++ b/toolchain/syno-armv7-7.0/Makefile @@ -0,0 +1,17 @@ +TC_NAME = syno-armv7 + +# generic toolchain for arm7hf DSM +TC_ARCH = armada370 armada375 armada38x alpine alpine4k armadaxp comcerto2k monaco +TC_VERS = 7.0 +TC_KERNEL = 3.10.108 +TC_GCC = 7.30 +TC_GLIBC = 2.26 + +TC_DIST = armada38x-gcc730_glibc226_hard-GPL +TC_DIST_SITE_PATH = Marvell%20Armada%2038x%20Linux%203.10.108 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = arm-unknown-linux-gnueabi +TC_SYSROOT = $(TC_TARGET)/sysroot + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-armv7-7.0/digests b/toolchain/syno-armv7-7.0/digests new file mode 100644 index 00000000000..6f1a9cf6da4 --- /dev/null +++ b/toolchain/syno-armv7-7.0/digests @@ -0,0 +1,3 @@ +armada38x-gcc730_glibc226_hard-GPL.txz SHA1 0b7adcde222ae902d54edfd6d598a23d65f526b0 +armada38x-gcc730_glibc226_hard-GPL.txz SHA256 38c72d94a1ca2bc58cfc683d632908ec12c6745647c35dfdae66062fde2e7285 +armada38x-gcc730_glibc226_hard-GPL.txz MD5 1789a7a17c177af1993cc030cdff7840 diff --git a/toolchain/syno-avoton-7.0/Makefile b/toolchain/syno-avoton-7.0/Makefile new file mode 100644 index 00000000000..97502e48b91 --- /dev/null +++ b/toolchain/syno-avoton-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = avoton +TC_VERS = 7.0 +TC_KERNEL = 3.10.108 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = avoton-gcc730_glibc226_x86_64-GPL +TC_DIST_SITE_PATH = Intel%20x86%20Linux%203.10.108%20%28Avoton%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-avoton-7.0/digests b/toolchain/syno-avoton-7.0/digests new file mode 100644 index 00000000000..02d8f31e6aa --- /dev/null +++ b/toolchain/syno-avoton-7.0/digests @@ -0,0 +1,2 @@ +avoton-gcc730_glibc226_x86_64-GPL.txz SHA1 6ada3b4d7065fca46c5aa3f64f4b4a17049e8056 +avoton-gcc730_glibc226_x86_64-GPL.txz MD5 5be42d301d16afdb2d17a85334724a10 diff --git a/toolchain/syno-braswell-7.0/Makefile b/toolchain/syno-braswell-7.0/Makefile new file mode 100644 index 00000000000..f4660805745 --- /dev/null +++ b/toolchain/syno-braswell-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = braswell +TC_VERS = 7.0 +TC_KERNEL = 3.10.108 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = braswell-gcc730_glibc226_x86_64-GPL +TC_DIST_SITE_PATH = Intel%20x86%20Linux%203.10.108%20%28Braswell%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-braswell-7.0/digests b/toolchain/syno-braswell-7.0/digests new file mode 100644 index 00000000000..4cf45663b0b --- /dev/null +++ b/toolchain/syno-braswell-7.0/digests @@ -0,0 +1,2 @@ +braswell-gcc730_glibc226_x86_64-GPL.txz SHA1 c60558d8019175491da22b13635a3465571ea942 +braswell-gcc730_glibc226_x86_64-GPL.txz MD5 65a52968950cad6bb74a09ea175e175f diff --git a/toolchain/syno-broadwell-7.0/Makefile b/toolchain/syno-broadwell-7.0/Makefile new file mode 100644 index 00000000000..14f337e1f1c --- /dev/null +++ b/toolchain/syno-broadwell-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = broadwell +TC_VERS = 7.0 +TC_KERNEL = 4.4.180+ +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = broadwell-gcc730_glibc226_linaro_x86_64-GPL +TC_DIST_SITE_PATH = Intel%20x86%20Linux%204.4.180%20%28Broadwell%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-broadwell-7.0/digests b/toolchain/syno-broadwell-7.0/digests new file mode 100644 index 00000000000..5d949f8974d --- /dev/null +++ b/toolchain/syno-broadwell-7.0/digests @@ -0,0 +1,3 @@ +broadwell-gcc730_glibc226_linaro_x86_64-GPL.txz SHA1 465d7554fcea56b19fcff98aa26b9802617fa79e +broadwell-gcc730_glibc226_linaro_x86_64-GPL.txz SHA256 +broadwell-gcc730_glibc226_linaro_x86_64-GPL.txz MD5 e76bee0cb9b51157f3ceedb82c7766ec diff --git a/toolchain/syno-broadwellnk-7.0/Makefile b/toolchain/syno-broadwellnk-7.0/Makefile new file mode 100644 index 00000000000..a73c18c9732 --- /dev/null +++ b/toolchain/syno-broadwellnk-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = broadwellnk +TC_VERS = 7.0 +TC_KERNEL = 4.4.180 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = broadwellnk-gcc730_glibc226_x86_64-GPL +TC_DIST_SITE_PATH = Intel%20x86%20Linux%204.4.180%20%28Broadwellnk%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-broadwellnk-7.0/digests b/toolchain/syno-broadwellnk-7.0/digests new file mode 100644 index 00000000000..9cdd5cf47f5 --- /dev/null +++ b/toolchain/syno-broadwellnk-7.0/digests @@ -0,0 +1,2 @@ +broadwellnk-gcc730_glibc226_x86_64-GPL.txz SHA1 4e71cfcd91dddf7f43764462ed811945416ee253 +broadwellnk-gcc730_glibc226_x86_64-GPL.txz MD5 e517bf5018a76076b287a78b2eeb2312 diff --git a/toolchain/syno-bromolow-7.0/Makefile b/toolchain/syno-bromolow-7.0/Makefile new file mode 100644 index 00000000000..5d0fe9edd0b --- /dev/null +++ b/toolchain/syno-bromolow-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = bromolow +TC_VERS = 7.0 +TC_KERNEL = 3.10.108 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = bromolow-gcc730_glibc226_x86_64-GPL +TC_DIST_SITE_PATH = Intel%20x86%20linux%203.10.108%20%28Bromolow%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-bromolow-7.0/digests b/toolchain/syno-bromolow-7.0/digests new file mode 100644 index 00000000000..dc055d183d9 --- /dev/null +++ b/toolchain/syno-bromolow-7.0/digests @@ -0,0 +1,2 @@ +bromolow-gcc730_glibc226_x86_64-GPL.txz SHA1 eaac193a24092e69685e7cdb5b9b962d9b82beca +bromolow-gcc730_glibc226_x86_64-GPL.txz MD5 91be7674a8c53e80ce4fffbfb6510241 diff --git a/toolchain/syno-cedarview-7.0/Makefile b/toolchain/syno-cedarview-7.0/Makefile new file mode 100644 index 00000000000..1f3c4eb54d3 --- /dev/null +++ b/toolchain/syno-cedarview-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = cedarview +TC_VERS = 7.0 +TC_KERNEL = 3.10.108 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = cedarview-gcc730_glibc226_x86_64-GPL +TC_DIST_SITE_PATH = Intel%20x86%20Linux%203.10.108%20%28Cedarview%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-cedarview-7.0/digests b/toolchain/syno-cedarview-7.0/digests new file mode 100644 index 00000000000..4778cc5ef2d --- /dev/null +++ b/toolchain/syno-cedarview-7.0/digests @@ -0,0 +1,2 @@ +cedarview-gcc730_glibc226_x86_64-GPL.txz SHA1 aa9bbb6f3fe7f0a9afc19ea75bd5f2b2e1db7347 +cedarview-gcc730_glibc226_x86_64-GPL.txz MD5 472fba82343d13d0919eb36651891f76 diff --git a/toolchain/syno-comcerto2k-7.0/Makefile b/toolchain/syno-comcerto2k-7.0/Makefile new file mode 100644 index 00000000000..de6a548c6ac --- /dev/null +++ b/toolchain/syno-comcerto2k-7.0/Makefile @@ -0,0 +1,15 @@ +TC_ARCH = comcerto2k +TC_VERS = 7.0 +TC_KERNEL = 3.2.101 +TC_GCC = 4.9.3 +TC_GLIBC = 2.20 + +TC_DIST = comcerto2k-gcc493_glibc220_hard-GPL +TC_DIST_SITE_PATH = Mindspeed%20Comcerto%202000%20Linux%203.2.101 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = arm-unknown-linux-gnueabi +TC_SYSROOT = $(TC_TARGET)/sysroot +TC_EXTRA_CFLAGS = -mfloat-abi=hard -mtune=cortex-a15 -mfpu=neon-vfpv4 -mthumb + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-comcerto2k-7.0/digests b/toolchain/syno-comcerto2k-7.0/digests new file mode 100644 index 00000000000..f63e1393d34 --- /dev/null +++ b/toolchain/syno-comcerto2k-7.0/digests @@ -0,0 +1,2 @@ +comcerto2k-gcc493_glibc220_hard-GPL.txz SHA1 d7a5bbf790488be14ea59218e0564d897fc35b3b +comcerto2k-gcc493_glibc220_hard-GPL.txz MD5 3cc8d3711c5f4b618e40ac1c6896ae61 diff --git a/toolchain/syno-denverton-7.0/Makefile b/toolchain/syno-denverton-7.0/Makefile new file mode 100644 index 00000000000..937c5226633 --- /dev/null +++ b/toolchain/syno-denverton-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = denverton +TC_VERS = 7.0 +TC_KERNEL = 4.4.180 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = denverton-gcc730_glibc226_x86_64-GPL.txz +TC_DIST_SITE_PATH = Intel%20x86%20Linux%204.4.180%20%28Denverton%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-denverton-7.0/digests b/toolchain/syno-denverton-7.0/digests new file mode 100644 index 00000000000..d60f1b3a166 --- /dev/null +++ b/toolchain/syno-denverton-7.0/digests @@ -0,0 +1,2 @@ +denverton-gcc730_glibc226_x86_64-GPL.txz SHA1 0816af40584cab0d0b37566dfd1fe6db30184a9c +denverton-gcc730_glibc226_x86_64-GPL.txz MD5 f70d74dfa8813aae1d2ba87390d73363 diff --git a/toolchain/syno-evansport-7.0/Makefile b/toolchain/syno-evansport-7.0/Makefile new file mode 100644 index 00000000000..a50882401e0 --- /dev/null +++ b/toolchain/syno-evansport-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = evansport +TC_VERS = 7.0 +TC_KERNEL = 3.2.101 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = evansport-gcc730_glibc226_i686-GPL +TC_DIST_SITE_PATH = Intel%20x86%20Linux%203.2.101%20%28Evansport%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = i686-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-evansport-7.0/digests b/toolchain/syno-evansport-7.0/digests new file mode 100644 index 00000000000..38011ff6be4 --- /dev/null +++ b/toolchain/syno-evansport-7.0/digests @@ -0,0 +1,2 @@ +evansport-gcc730_glibc226_i686-GPL.txz SHA1 4771caf7d8ffddfebd97f20a8fc89f779902b4d5 +evansport-gcc730_glibc226_i686-GPL.txz MD5 2a2fcd24c5b52a93f71b92a33a5ff1c5 diff --git a/toolchain/syno-geminilake-7.0/Makefile b/toolchain/syno-geminilake-7.0/Makefile new file mode 100644 index 00000000000..df21dcf27bb --- /dev/null +++ b/toolchain/syno-geminilake-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = geminilake +TC_VERS = 7.0 +TC_KERNEL = 4.4.180+ +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = geminilake-gcc730_glibc226_x86_64-GPL +TC_DIST_SITE_PATH = Intel%20x86%20Linux%204.4.180%20%28GeminiLake%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-geminilake-7.0/digests b/toolchain/syno-geminilake-7.0/digests new file mode 100644 index 00000000000..f463e77afa7 --- /dev/null +++ b/toolchain/syno-geminilake-7.0/digests @@ -0,0 +1,2 @@ +geminilake-gcc730_glibc226_x86_64-GPL.txz SHA1 6872bddab01e63d07568be8ad5e96dee15aa897e +geminilake-gcc730_glibc226_x86_64-GPL.txz MD5 710dd6b43262a9de8f5cfd5341b5a314 diff --git a/toolchain/syno-grantley-7.0/Makefile b/toolchain/syno-grantley-7.0/Makefile new file mode 100644 index 00000000000..6ae4d41a833 --- /dev/null +++ b/toolchain/syno-grantley-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = grantley +TC_VERS = 7.0 +TC_KERNEL = 3.10.109 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = grantley-gcc730_glibc226_x86_64-GPL +TC_DIST_SITE_PATH = Intel%20x86%20Linux%203.10.109%20%28Grantley%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-grantley-7.0/digests b/toolchain/syno-grantley-7.0/digests new file mode 100644 index 00000000000..70fa35844ef --- /dev/null +++ b/toolchain/syno-grantley-7.0/digests @@ -0,0 +1,2 @@ +grantley-gcc730_glibc226_x86_64-GPL.txz SHA1 9bb9eda5c51c0659bd58fc4db4cef30dac26e162 +grantley-gcc730_glibc226_x86_64-GPL.txz MD5 e11d4021f09167753cea01f41b7ec589 diff --git a/toolchain/syno-kvmx64-7.0/Makefile b/toolchain/syno-kvmx64-7.0/Makefile new file mode 100644 index 00000000000..74883920d5c --- /dev/null +++ b/toolchain/syno-kvmx64-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = kvmx64 +TC_VERS = 7.0 +TC_KERNEL = 4.4.180 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = kvmx64-gcc730_glibc226_x86_64-GPL +TC_DIST_SITE_PATH = Intel%20x86%20Linux%204.4.180%20%28Kvmx64%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-kvmx64-7.0/digests b/toolchain/syno-kvmx64-7.0/digests new file mode 100644 index 00000000000..459c844af42 --- /dev/null +++ b/toolchain/syno-kvmx64-7.0/digests @@ -0,0 +1,2 @@ +kvmx64-gcc730_glibc226_x86_64-GPL.txz SHA1 9bfaa101dc96c05dbd10fe8101559093853e559c +kvmx64-gcc730_glibc226_x86_64-GPL.txz MD5 da921788460a5b4e3d33526cc019de2d diff --git a/toolchain/syno-monaco-7.0/Makefile b/toolchain/syno-monaco-7.0/Makefile new file mode 100644 index 00000000000..37cec06ef96 --- /dev/null +++ b/toolchain/syno-monaco-7.0/Makefile @@ -0,0 +1,15 @@ +TC_ARCH = monaco +TC_VERS = 7.0 +TC_KERNEL = 3.10.108 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = monaco-gcc730_glibc226_hard-GPL +TC_DIST_SITE_PATH = STMicroelectronics%20Monaco%20Linux%203.10.108 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = arm-unknown-linux-gnueabi +TC_SYSROOT = $(TC_TARGET)/sysroot +TC_EXTRA_CFLAGS = -mcpu=cortex-a9 -march=armv7-a -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-monaco-7.0/digests b/toolchain/syno-monaco-7.0/digests new file mode 100644 index 00000000000..8bae888a304 --- /dev/null +++ b/toolchain/syno-monaco-7.0/digests @@ -0,0 +1,2 @@ +monaco-gcc730_glibc226_hard-GPL.txz SHA1 daae9799b0d2b4b271193a8fb15615ee11efdf4e +monaco-gcc493_glibc220_hard-GPL.txz MD5 f07d0518ce30c70ee0095f9faa6e33e5 diff --git a/toolchain/syno-purley-7.0/Makefile b/toolchain/syno-purley-7.0/Makefile new file mode 100644 index 00000000000..54fb8e02367 --- /dev/null +++ b/toolchain/syno-purley-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = purley +TC_VERS = 7.0 +TC_KERNEL = 4.4.180+ +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = purley-gcc730_glibc226_x86_64-GPL +TC_DIST_SITE_PATH = Intel%20x86%20Linux%204.4.180%20%28Purley%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-purley-7.0/digests b/toolchain/syno-purley-7.0/digests new file mode 100644 index 00000000000..c66b4dfafc1 --- /dev/null +++ b/toolchain/syno-purley-7.0/digests @@ -0,0 +1,3 @@ +purley-gcc730_glibc226_x86_64-GPL.txz SHA1 63d362b1a4d684484537b1d0a67d321f372e84aa +purley-gcc730_glibc226_x86_64-GPL.txz SHA256 +purley-gcc730_glibc226_x86_64-GPL.txz MD5 b1b14f2da3f2785a92b896fc888da418 diff --git a/toolchain/syno-rtd1296-7.0/Makefile b/toolchain/syno-rtd1296-7.0/Makefile new file mode 100644 index 00000000000..e29821293a7 --- /dev/null +++ b/toolchain/syno-rtd1296-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = rtd1296 +TC_VERS = 7.0 +TC_KERNEL = 4.4.180 +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 + +TC_DIST = rtd1296-gcc730_glibc226_armv8-GPL +TC_DIST_SITE_PATH = Realtek%20RTD129x%20Linux%204.4.180 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = aarch64-unknown-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sysroot + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-rtd1296-7.0/digests b/toolchain/syno-rtd1296-7.0/digests new file mode 100644 index 00000000000..2dd2183e14b --- /dev/null +++ b/toolchain/syno-rtd1296-7.0/digests @@ -0,0 +1,3 @@ +rtd1296-gcc730_glibc226_armv8-GPL.txz SHA1 5f4e8d3af9b31110c6cd139de51b662ecd3fe084 +rtd1296-gcc730_glibc226_armv8-GPL.txz SHA256 54042300cdc3ff65e3a1093df47238cf91f37d744592e594f685b46ead73522b +rtd1296-gcc730_glibc226_armv8-GPL.txz MD5 349a6f674c4698df3b9d334ac5c86b5e diff --git a/toolchain/syno-v1000-7.0/Makefile b/toolchain/syno-v1000-7.0/Makefile new file mode 100644 index 00000000000..08aad630994 --- /dev/null +++ b/toolchain/syno-v1000-7.0/Makefile @@ -0,0 +1,14 @@ +TC_ARCH = v1000 +TC_VERS = 7.0 +TC_KERNEL = 4.4.180+ +TC_GCC = 7.3.0 +TC_GLIBC = 2.20 + +TC_DIST = v1000-gcc730_glibc226_x86_64-GPL +TC_DIST_SITE_PATH = Intel%20x86%20Linux%204.4.180%20%28V1000%29 +TC_DIST_SITE_URL = https://sourceforge.net/projects/dsgpl/files/Tool%20Chain/DSM%207.0%20preview%20Tool%20Chains/ + +TC_TARGET = x86_64-pc-linux-gnu +TC_SYSROOT = $(TC_TARGET)/sys-root + +include ../../mk/spksrc.tc.mk diff --git a/toolchain/syno-v1000-7.0/digests b/toolchain/syno-v1000-7.0/digests new file mode 100644 index 00000000000..5367c100ed0 --- /dev/null +++ b/toolchain/syno-v1000-7.0/digests @@ -0,0 +1,2 @@ +v1000-gcc730_glibc226_x86_64-GPL.txz SHA1 ccd0cdc867dcef8dcc703fe758608d4c2cfaf04b +v1000-gcc730_glibc226_x86_64-GPL.txz MD5 5093a4ec21e5ea76a88f759064b8747d diff --git a/toolchain/syno-x64-7.0/Makefile b/toolchain/syno-x64-7.0/Makefile index bd7ad62a696..ff8c182e3b1 100644 --- a/toolchain/syno-x64-7.0/Makefile +++ b/toolchain/syno-x64-7.0/Makefile @@ -3,6 +3,8 @@ TC_NAME = syno-x64 TC_ARCH = apollolake avoton braswell broadwell broadwellnk bromolow cedarview denverton dockerx64 geminilake grantley purley kvmx64 x86 x86_64 TC_VERS = 7.0 TC_KERNEL = 4.4.180+ +TC_GCC = 7.3.0 +TC_GLIBC = 2.26 TC_DIST = apollolake-gcc730_glibc226_x86_64-GPL TC_DIST_SITE_PATH = Intel%20x86%20Linux%204.4.180%20%28Apollolake%29 From fddbc7af6e5c7491a69d9d59a074e93ee3c005ac Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sat, 2 Jan 2021 19:00:53 +1100 Subject: [PATCH 19/24] Add v1000 to generic x64-7.0 --- toolchain/syno-x64-7.0/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/syno-x64-7.0/Makefile b/toolchain/syno-x64-7.0/Makefile index ff8c182e3b1..a8e0fde32c2 100644 --- a/toolchain/syno-x64-7.0/Makefile +++ b/toolchain/syno-x64-7.0/Makefile @@ -1,6 +1,6 @@ TC_NAME = syno-x64 -TC_ARCH = apollolake avoton braswell broadwell broadwellnk bromolow cedarview denverton dockerx64 geminilake grantley purley kvmx64 x86 x86_64 +TC_ARCH = apollolake avoton braswell broadwell broadwellnk bromolow cedarview denverton dockerx64 geminilake grantley purley kvmx64 v1000 x86 x86_64 TC_VERS = 7.0 TC_KERNEL = 4.4.180+ TC_GCC = 7.3.0 From 2449ad63603ba5f77b0644999feac6b217026175 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sat, 2 Jan 2021 19:09:39 +1100 Subject: [PATCH 20/24] Add evansport DSM 7.0 Toolkit --- toolkit/syno-evansport-7.0/Makefile | 6 ++++++ toolkit/syno-evansport-7.0/digests | 2 ++ 2 files changed, 8 insertions(+) create mode 100644 toolkit/syno-evansport-7.0/Makefile create mode 100644 toolkit/syno-evansport-7.0/digests diff --git a/toolkit/syno-evansport-7.0/Makefile b/toolkit/syno-evansport-7.0/Makefile new file mode 100644 index 00000000000..9ae44abf62d --- /dev/null +++ b/toolkit/syno-evansport-7.0/Makefile @@ -0,0 +1,6 @@ +TOOLKIT_ARCH = evansport +TOOLKIT_VERS = 7.0 + +TOOLKIT_TARGET = i686-pc-linux-gnu + +include ../../mk/spksrc.toolkit.mk diff --git a/toolkit/syno-evansport-7.0/digests b/toolkit/syno-evansport-7.0/digests new file mode 100644 index 00000000000..243148deb11 --- /dev/null +++ b/toolkit/syno-evansport-7.0/digests @@ -0,0 +1,2 @@ +ds.evansport-7.0.dev.txz SHA1 be47d9a3147d62bff0827b07d590f428483703a0 +ds.evansport-7.0.dev.txz MD5 9d1c7f8695f5b7abdb352919344d35ec From 30fac3999bc871ca09f4153c67691cc2ba44ed69 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sat, 2 Jan 2021 20:09:28 +1100 Subject: [PATCH 21/24] fix builds for dsm versions < 7 --- mk/spksrc.service.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/mk/spksrc.service.mk b/mk/spksrc.service.mk index ae9439be382..c52906ee053 100644 --- a/mk/spksrc.service.mk +++ b/mk/spksrc.service.mk @@ -201,6 +201,7 @@ endif # TODO add moreutils package, use sponge to prevent overriding file with 0 content #- 1<> $@ #+ | sponge $@ + $(create_target_dir) jq '.username = "sc-$(SPK_USER)"' $@ 1<>$@ jq '."groupname" = "sc-$(SPK_USER)"' $@ 1<>$@ ifeq ($(shell expr "$(TCVERSION)" \>= 7.0),1) From f16d7d8049edb42e55cd78cfbc3e01bb191c9f8f Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Sat, 2 Jan 2021 20:45:43 +1100 Subject: [PATCH 22/24] DSM7 Log install script to /var/log/packages/{package}.log Remove some more statements that modify files in places where we don't have permissions or is just unnecessary in DSM7 --- mk/spksrc.service.installer.dsm7 | 65 +++++++++++--------------------- 1 file changed, 22 insertions(+), 43 deletions(-) diff --git a/mk/spksrc.service.installer.dsm7 b/mk/spksrc.service.installer.dsm7 index 0efcb66a56b..037ae0c74de 100644 --- a/mk/spksrc.service.installer.dsm7 +++ b/mk/spksrc.service.installer.dsm7 @@ -6,9 +6,6 @@ # files are migrated from ${SYNOPKG_PKGDEST}/var to ${SYNOPKG_PKGVAR} # Not supported (yet) - -INST_LOG="${SYNOPKG_PKGVAR}/${SYNOPKG_PKGNAME}_install.log" - INST_ETC="/var/packages/${SYNOPKG_PKGNAME}/etc" INST_VARIABLES="${INST_ETC}/installer-variables" INST_VAR="${SYNOPKG_PKGVAR}" @@ -55,10 +52,16 @@ TEE="/usr/bin/tee -a" ### Functions library +log () +{ + echo "$1" 1>&2 # /var/log/packages/{package}.log +} + + log_step () { - date >> ${INST_LOG} - echo "===> Step $1. USER=$USER GROUP=$GROUP SHARE_PATH=${SHARE_PATH}" >> ${INST_LOG} + log $(date) + log "===> Step $1. USER=$USER GROUP=$GROUP SHARE_PATH=${SHARE_PATH}" } save_wizard_variables () @@ -74,39 +77,38 @@ save_wizard_variables () fi } +set_unix_permissions () +{ + log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. set_unix_permissions() is no longer supported." +} + syno_remove_user () { - echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_remove_user() is no longer supported." - return 0 + log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. syno_remove_user() is no longer supported." } syno_group_create () { - echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_group_create() is no longer supported." - return 0 + log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. syno_group_create() is no longer supported." } syno_group_remove () { - echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_group_remove() is no longer supported." - return 0 + log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. syno_group_remove() is no longer supported." } syno_user_add_to_group () { - echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_user_add_to_group() is no longer supported." - return 0 + log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. syno_user_add_to_group() is no longer supported." } set_syno_permissions () { - echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: set_syno_permissions() is no longer supported." - return 0 + log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. set_syno_permissions() is no longer supported." } syno_user_add_to_legacy_group () { - echo "This package has not been updated to DSM7 yet. Please open a new issue, mentioning this text: syno_user_add_to_legacy_group() is no longer supported." - return 0 + log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. syno_user_add_to_legacy_group() is no longer supported." } @@ -120,7 +122,7 @@ preinst () # Check volume exists if [ -n "${SHARE_PATH}" ]; then if [ ! -d "${SHARE_VOLUME}" ]; then - echo "Volume ${SHARE_VOLUME} does not exist." | $TEE ${INST_LOG} + echo "Volume ${SHARE_VOLUME} does not exist." | $TEE 1>&2 exit 1 fi fi @@ -133,15 +135,11 @@ postinst () log_step "postinst" save_wizard_variables - $MKDIR "${INST_VAR}" >> ${INST_LOG} 2>&1 + $MKDIR "${INST_VAR}" call_func "service_postinst" call_func "service_create_links" - $CP "${INST_LOG}" "${INST_VAR}" >> ${INST_LOG} 2>&1 - if [ -n "${LOG_FILE}" ]; then - echo "Installation log: ${INST_VAR}/${SYNOPKG_PKGNAME}_install.log" >> ${LOG_FILE} - fi exit 0 } @@ -156,16 +154,11 @@ postuninst () { log_step "postuninst" - if [ "${SYNOPKG_PKG_STATUS}" == "UNINSTALL" ]; then - # Remove link - $RM "/usr/local/${SYNOPKG_PKGNAME}" >> ${INST_LOG} 2>&1 - fi - call_func "service_postuninst" call_func "service_remove_links" if [ "${SYNOPKG_PKG_STATUS}" == "UNINSTALL" ]; then - $RM "${INST_VARIABLES}" >> ${INST_LOG} 2>&1 + $RM "${INST_VARIABLES}" fi exit 0 } @@ -181,15 +174,8 @@ preupgrade () call_func "service_preupgrade" - # Save some stuff - $RM "$TMP_DIR" >> ${INST_LOG} 2>&1 - $MKDIR "$TMP_DIR" >> ${INST_LOG} 2>&1 - call_func "service_save" - # Beware of /. outside the quotes - # Needed to copy all files including hidden ones - $CP "${INST_VAR}"/. "$TMP_DIR" >> ${INST_LOG} 2>&1 exit 0 } @@ -199,14 +185,7 @@ postupgrade () call_func "service_restore" - # Restore some stuff, has to be cp otherwise fails on directories - $CP "${TMP_DIR}"/. "${INST_VAR}" >> ${INST_LOG} 2>&1 - - $RM "$TMP_DIR" >> ${INST_LOG} 2>&1 - call_func "service_postupgrade" - # Make sure we also have the logging for this step - $CP "${INST_LOG}" "${INST_VAR}" exit 0 } From 09c8abe116a89cbfeb45e4b477e1ad80d6b4c352 Mon Sep 17 00:00:00 2001 From: Glenn Date: Sat, 2 Jan 2021 11:30:24 +0100 Subject: [PATCH 23/24] Should be user --- mk/spksrc.service.installer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/spksrc.service.installer b/mk/spksrc.service.installer index 3e50a7c8cfe..1734915b576 100644 --- a/mk/spksrc.service.installer +++ b/mk/spksrc.service.installer @@ -291,7 +291,7 @@ postinst () # Create share if does not exist # !"#$%&’()*+,/:;<=>?@[]nˆ`{} | if ! synoshare --get "${SHARE_NAME}" &> /dev/null ; then - synoshare --add "${SHARE_NAME}" "${SHARE_DESC}" "${SHARE_PATH}" "" "rw" "" 1 0 >> ${INST_LOG} + synoshare --add "${SHARE_NAME}" "${SHARE_DESC}" "${SHARE_PATH}" "" "$USER" "" 1 0 >> ${INST_LOG} 2>&1 fi # Add user permission if no GROUP is set in UI From 9b97c4287179df7a7227fd5537a829d127108796 Mon Sep 17 00:00:00 2001 From: Glenn Latomme Date: Sat, 2 Jan 2021 11:38:41 +0100 Subject: [PATCH 24/24] Revert "Dsm7" --- .github/ISSUE_TEMPLATE.md | 20 +- .github/workflows/build.yml | 10 +- .gitignore | 4 +- Dockerfile | 1 - Makefile | 10 +- README.rst | 8 +- cross/bison/Makefile | 5 +- cross/boost/Makefile | 2 +- cross/chromaprint/Makefile | 2 +- cross/davfs2/Makefile | 4 +- cross/dnscrypt-proxy/Makefile | 2 + cross/e2fsprogs/Makefile | 4 +- cross/erlang/Makefile | 7 +- cross/fdupes/Makefile | 15 +- cross/fdupes/digests | 6 +- cross/ffmpeg/Makefile | 21 +- cross/flac/Makefile | 4 +- cross/gensio/Makefile | 4 +- cross/glib/Makefile | 47 ++++- cross/glib/PLIST | 11 +- cross/glib/digests | 6 +- ...02-allow-explicit-disabling-of-tests.patch | 35 ---- cross/glibmm/Makefile | 10 +- cross/glibmm/digests | 6 +- cross/gnupg/Makefile | 6 +- cross/haproxy/Makefile | 8 +- cross/ifuse/Makefile | 5 +- cross/imagemagick/Makefile | 4 +- cross/intel-media-driver/Makefile | 2 +- cross/intel-media-sdk/Makefile | 2 +- cross/iperf3/Makefile | 2 +- cross/iperf3/digests | 6 +- cross/js/Makefile | 10 +- cross/lame/Makefile | 2 +- cross/libaom/Makefile | 18 +- cross/libdrm/Makefile | 16 +- cross/libdrm/digests | 6 +- cross/libgpg-error/Makefile | 2 +- cross/libicu/Makefile | 12 +- cross/libimagequant/Makefile | 11 +- cross/libimobiledevice/Makefile | 4 +- cross/libmysqlclient/Makefile | 2 +- cross/libplist/Makefile | 6 +- cross/librsync/Makefile | 12 +- cross/libsigc++/Makefile | 7 +- cross/libsigc++/digests | 6 +- cross/libthreadar/Makefile | 2 +- cross/libtorrent/Makefile | 4 +- cross/libusb/Makefile | 4 +- cross/libusbmuxd/Makefile | 5 +- cross/libvpx/Makefile | 12 +- cross/libwebsockets/Makefile | 2 +- cross/monit/Makefile | 4 +- cross/mono/Makefile | 10 +- cross/mutt/Makefile | 4 +- cross/mutt/digests | 6 +- cross/nodejs/Makefile | 15 +- cross/ntopng/Makefile | 17 +- cross/numpy/Makefile | 4 +- cross/openssl/Makefile | 14 +- cross/pcre2/Makefile | 2 - cross/pcre2/PLIST | 6 - cross/pixman/Makefile | 18 +- cross/pngquant/Makefile | 4 +- cross/redis/Makefile | 6 +- cross/rhash/Makefile | 11 +- cross/rmlint/Makefile | 4 +- cross/rnm/Makefile | 2 +- cross/rtorrent/Makefile | 6 +- cross/stockfish-niklasf/Makefile | 18 +- cross/stockfish/Makefile | 16 +- cross/svt-av1/Makefile | 3 +- cross/svt-hevc/Makefile | 5 +- cross/tcl/Makefile | 4 +- cross/tesseract-ocr/Makefile | 7 +- cross/tvheadend/Makefile | 4 +- cross/usbmuxd/Makefile | 5 +- cross/util-linux/Makefile | 4 +- cross/vim/Makefile | 4 +- cross/x264/Makefile | 10 +- cross/x265/Makefile | 14 +- cross/zstd/Makefile | 12 +- cross/zstd/PLIST | 2 +- cross/zstd/digests | 6 +- diyspk/dar/Makefile | 2 +- diyspk/fritzctl/Makefile | 3 +- diyspk/iperf3/Makefile | 7 +- diyspk/ser2net/Makefile | 3 +- mk/meson/aarch64.cfg | 8 - mk/meson/armv5.cfg | 5 - mk/meson/armv7.cfg | 8 - mk/meson/armv7l.cfg | 8 - mk/meson/i686.cfg | 11 - mk/meson/ppc.cfg | 5 - mk/meson/x86_64.cfg | 11 - mk/spksrc.archs.mk | 36 ---- mk/spksrc.common.mk | 67 +++--- mk/spksrc.cross-cc.mk | 2 +- mk/spksrc.cross-cmake-env.mk | 12 +- mk/spksrc.cross-env.mk | 4 +- mk/spksrc.cross-go-env.mk | 13 +- mk/spksrc.cross-meson-env.mk | 45 ----- mk/spksrc.cross-meson.mk | 34 ---- mk/spksrc.cross-ninja.mk | 44 ---- mk/spksrc.directories.mk | 4 +- mk/spksrc.install-resources.mk | 2 +- mk/spksrc.kernel-modules.mk | 2 +- mk/spksrc.native-meson-env.mk | 7 - mk/spksrc.native-meson.mk | 92 --------- mk/spksrc.patch.mk | 15 +- mk/spksrc.service.installer.dsm7 | 191 ------------------ mk/spksrc.service.mk | 62 +----- mk/spksrc.service.privilege | 25 +++ mk/spksrc.service.privilege-installasroot | 25 --- mk/spksrc.service.start-stop-status | 10 +- mk/spksrc.spk.mk | 76 ++----- mk/spksrc.tc-vers.mk | 4 - mk/spksrc.tc.mk | 5 +- native/glib/Makefile | 19 +- native/glib/digests | 6 +- spk/chromaprint/Makefile | 2 + spk/comskip/Makefile | 2 + spk/debian-chroot/Makefile | 22 +- spk/deluge/Makefile | 2 +- spk/dnscrypt-proxy/Makefile | 3 +- spk/domoticz/Makefile | 2 +- {diyspk => spk}/fdupes/Makefile | 12 +- {diyspk => spk}/fdupes/PLIST | 0 spk/fdupes/src/dsm-control.sh | 28 +++ {diyspk => spk}/fdupes/src/fdupes.png | Bin spk/fdupes/src/installer.sh | 51 +++++ spk/fishnet/Makefile | 3 +- spk/gentoo-chroot/Makefile | 20 +- spk/hassio/Makefile | 2 +- spk/homeassistant/Makefile | 9 +- spk/homeassistant/src/requirements.txt | 25 +-- spk/homeassistant/src/service-setup.sh | 22 +- spk/jackett/Makefile | 2 +- spk/lidarr/Makefile | 2 +- spk/lirc/Makefile | 6 +- spk/minio/Makefile | 3 +- spk/mosquitto/Makefile | 2 +- spk/mtproxy/Makefile | 2 +- spk/mutt/Makefile | 7 +- spk/mutt/src/service-setup.sh | 1 + spk/node-exporter/Makefile | 3 +- spk/ntopng/Makefile | 2 +- spk/python/Makefile | 2 +- spk/radarr/Makefile | 2 +- spk/radarr/src/service-setup.sh | 4 +- spk/redis/Makefile | 4 +- spk/rutorrent/Makefile | 8 +- spk/salt-minion/Makefile | 2 +- spk/sonarr/Makefile | 2 +- spk/stockfish/Makefile | 4 +- spk/syncthing/Makefile | 3 +- spk/synocli-disk/Makefile | 6 +- spk/synocli-file/Makefile | 24 +-- spk/synocli-monitor/Makefile | 3 +- spk/synocli-net/Makefile | 6 +- spk/tvheadend/Makefile | 8 +- spk/znc/Makefile | 2 +- toolchain/syno-aarch64-7.0/Makefile | 16 -- toolchain/syno-aarch64-7.0/digests | 3 - toolchain/syno-alpine-7.0/Makefile | 17 -- toolchain/syno-alpine-7.0/digests | 2 - toolchain/syno-apollolake-7.0/Makefile | 14 -- toolchain/syno-apollolake-7.0/digests | 2 - toolchain/syno-armada370-7.0/Makefile | 15 -- toolchain/syno-armada370-7.0/digests | 2 - toolchain/syno-armada375-7.0/Makefile | 15 -- toolchain/syno-armada375-7.0/digests | 2 - toolchain/syno-armada38x-7.0/Makefile | 14 -- toolchain/syno-armada38x-7.0/digests | 3 - toolchain/syno-armadaxp-7.0/Makefile | 15 -- toolchain/syno-armadaxp-7.0/digests | 2 - toolchain/syno-armv7-5.2/Makefile | 16 -- toolchain/syno-armv7-5.2/digests | 3 - toolchain/syno-armv7-7.0/Makefile | 17 -- toolchain/syno-armv7-7.0/digests | 3 - toolchain/syno-avoton-7.0/Makefile | 14 -- toolchain/syno-avoton-7.0/digests | 2 - toolchain/syno-braswell-7.0/Makefile | 14 -- toolchain/syno-braswell-7.0/digests | 2 - toolchain/syno-broadwell-7.0/Makefile | 14 -- toolchain/syno-broadwell-7.0/digests | 3 - toolchain/syno-broadwellnk-7.0/Makefile | 14 -- toolchain/syno-broadwellnk-7.0/digests | 2 - toolchain/syno-bromolow-7.0/Makefile | 14 -- toolchain/syno-bromolow-7.0/digests | 2 - toolchain/syno-cedarview-7.0/Makefile | 14 -- toolchain/syno-cedarview-7.0/digests | 2 - toolchain/syno-comcerto2k-7.0/Makefile | 15 -- toolchain/syno-comcerto2k-7.0/digests | 2 - toolchain/syno-denverton-7.0/Makefile | 14 -- toolchain/syno-denverton-7.0/digests | 2 - toolchain/syno-evansport-7.0/Makefile | 14 -- toolchain/syno-evansport-7.0/digests | 2 - toolchain/syno-geminilake-7.0/Makefile | 14 -- toolchain/syno-geminilake-7.0/digests | 2 - toolchain/syno-grantley-7.0/Makefile | 14 -- toolchain/syno-grantley-7.0/digests | 2 - toolchain/syno-kvmx64-7.0/Makefile | 14 -- toolchain/syno-kvmx64-7.0/digests | 2 - toolchain/syno-monaco-7.0/Makefile | 15 -- toolchain/syno-monaco-7.0/digests | 2 - toolchain/syno-purley-7.0/Makefile | 14 -- toolchain/syno-purley-7.0/digests | 3 - toolchain/syno-rtd1296-7.0/Makefile | 14 -- toolchain/syno-rtd1296-7.0/digests | 3 - toolchain/syno-v1000-7.0/Makefile | 14 -- toolchain/syno-v1000-7.0/digests | 2 - toolchain/syno-x64-4.3/Makefile | 17 -- toolchain/syno-x64-7.0/Makefile | 16 -- toolchain/syno-x64-7.0/digests | 3 - toolchain/syno-x86-4.3/digests | 3 - .../syno-88f6281-4.3/Makefile | 3 - .../syno-88f6281-4.3/digests | 0 .../syno-88f6281-5.0/Makefile | 3 - .../syno-88f6281-5.0/digests | 0 .../syno-88f6281-5.1/Makefile | 3 - .../syno-88f6281-5.1/digests | 0 .../syno-88f6281-5.2/Makefile | 4 +- .../syno-88f6281-5.2/digests | 0 .../syno-88f6281-6.0.2/Makefile | 3 - .../syno-88f6281-6.0.2/digests | 0 .../syno-88f6281-6.1/Makefile | 4 +- .../syno-88f6281-6.1/digests | 0 .../syno-88f6281-6.2.2/Makefile | 4 +- .../syno-88f6281-6.2.2/digests | 0 .../syno-88f6281-6.2.3/Makefile | 5 +- .../syno-88f6281-6.2.3/digests | 0 .../syno-88f6281-6.2/Makefile | 4 +- .../syno-88f6281-6.2/digests | 0 .../syno-aarch64-6.1/Makefile | 3 - .../syno-aarch64-6.1/digests | 0 .../syno-aarch64-6.2.2/Makefile | 3 - .../syno-aarch64-6.2.2/digests | 0 .../syno-aarch64-6.2.3/Makefile | 5 +- .../syno-aarch64-6.2.3/digests | 0 .../syno-aarch64-6.2/Makefile | 3 - .../syno-aarch64-6.2/digests | 0 .../syno-alpine-5.1/Makefile | 3 - .../syno-alpine-5.1/digests | 0 .../syno-alpine-5.2/Makefile | 4 +- .../syno-alpine-5.2/digests | 0 .../syno-alpine-6.0.2/Makefile | 3 - .../syno-alpine-6.0.2/digests | 0 .../syno-alpine-6.1/Makefile | 4 +- .../syno-alpine-6.1/digests | 0 .../syno-alpine-6.2.2/Makefile | 4 +- .../syno-alpine-6.2.2/digests | 0 .../syno-alpine-6.2.3/Makefile | 4 +- .../syno-alpine-6.2.3/digests | 0 .../syno-alpine-6.2/Makefile | 4 +- .../syno-alpine-6.2/digests | 0 .../syno-apollolake-6.1/Makefile | 4 +- .../syno-apollolake-6.1/digests | 0 .../syno-apollolake-6.2.2/Makefile | 4 +- .../syno-apollolake-6.2.2/digests | 0 .../syno-apollolake-6.2.3/Makefile | 4 +- .../syno-apollolake-6.2.3/digests | 0 .../syno-apollolake-6.2/Makefile | 4 +- .../syno-apollolake-6.2/digests | 0 .../syno-armada370-4.3/Makefile | 3 - .../syno-armada370-4.3/digests | 0 .../patches/001-includes.patch | 0 .../syno-armada370-5.0/Makefile | 3 - .../syno-armada370-5.0/digests | 0 .../patches/001-includes.patch | 0 .../syno-armada370-5.1/Makefile | 3 - .../syno-armada370-5.1/digests | 0 .../patches/001-includes.patch | 0 .../syno-armada370-5.2/Makefile | 4 +- .../syno-armada370-5.2/digests | 0 .../syno-armada370-6.0.2/Makefile | 3 - .../syno-armada370-6.0.2/digests | 0 .../syno-armada370-6.1/Makefile | 4 +- .../syno-armada370-6.1/digests | 0 .../syno-armada370-6.2.2/Makefile | 4 +- .../syno-armada370-6.2.2/digests | 0 .../syno-armada370-6.2.3/Makefile | 4 +- .../syno-armada370-6.2.3/digests | 0 .../syno-armada370-6.2/Makefile | 4 +- .../syno-armada370-6.2/digests | 0 .../syno-armada375-5.1/Makefile | 3 - .../syno-armada375-5.1/digests | 0 .../syno-armada375-5.2/Makefile | 4 +- .../syno-armada375-5.2/digests | 0 .../syno-armada375-6.0.2/Makefile | 3 - .../syno-armada375-6.0.2/digests | 0 .../syno-armada375-6.1/Makefile | 4 +- .../syno-armada375-6.1/digests | 0 .../syno-armada375-6.2.2/Makefile | 4 +- .../syno-armada375-6.2.2/digests | 0 .../syno-armada375-6.2.3/Makefile | 4 +- .../syno-armada375-6.2.3/digests | 0 .../syno-armada375-6.2/Makefile | 4 +- .../syno-armada375-6.2/digests | 0 .../syno-armada37xx-6.2.2/Makefile | 4 +- .../syno-armada37xx-6.2.2/digests | 0 .../syno-armada37xx-6.2.3/Makefile | 4 +- .../syno-armada37xx-6.2.3/digests | 0 toolchains/syno-armada37xx-6.2/Makefile | 11 + .../syno-armada37xx-6.2}/digests | 0 .../syno-armada38x-5.2/Makefile | 4 +- .../syno-armada38x-5.2/digests | 0 .../syno-armada38x-6.0.2/Makefile | 3 - .../syno-armada38x-6.0.2/digests | 0 .../syno-armada38x-6.1/Makefile | 4 +- .../syno-armada38x-6.1/digests | 0 .../syno-armada38x-6.2.2/Makefile | 4 +- .../syno-armada38x-6.2.2/digests | 0 .../syno-armada38x-6.2.3/Makefile | 4 +- .../syno-armada38x-6.2.3/digests | 0 .../syno-armada38x-6.2/Makefile | 4 +- .../syno-armada38x-6.2/digests | 0 .../syno-armadaxp-4.3/Makefile | 3 - .../syno-armadaxp-4.3/digests | 0 .../patches/001-includes.patch | 0 .../syno-armadaxp-5.0/Makefile | 3 - .../syno-armadaxp-5.0/digests | 0 .../patches/001-includes.patch | 0 .../syno-armadaxp-5.1/Makefile | 3 - .../syno-armadaxp-5.1/digests | 0 .../syno-armadaxp-5.2/Makefile | 4 +- .../syno-armadaxp-5.2/digests | 0 .../syno-armadaxp-6.0.2/Makefile | 3 - .../syno-armadaxp-6.0.2/digests | 0 .../syno-armadaxp-6.1/Makefile | 4 +- .../syno-armadaxp-6.1/digests | 0 .../syno-armadaxp-6.2.2/Makefile | 4 +- .../syno-armadaxp-6.2.2/digests | 0 .../syno-armadaxp-6.2.3/Makefile | 4 +- .../syno-armadaxp-6.2.3/digests | 0 .../syno-armadaxp-6.2/Makefile | 4 +- .../syno-armadaxp-6.2/digests | 0 .../syno-armv7-1.2/Makefile | 3 - .../syno-armv7-1.2/digests | 0 .../syno-armv7-6.1/Makefile | 3 - .../syno-armv7-6.1/digests | 0 .../syno-armv7-6.2.2/Makefile | 3 - .../syno-armv7-6.2.2/digests | 0 .../syno-armv7-6.2.3/Makefile | 3 - .../syno-armv7-6.2.3/digests | 0 .../syno-armv7-6.2/Makefile | 3 - .../syno-armv7-6.2/digests | 0 .../syno-avoton-5.1/Makefile | 3 - .../syno-avoton-5.1/digests | 0 .../syno-avoton-5.2/Makefile | 4 +- .../syno-avoton-5.2/digests | 0 .../syno-avoton-6.0.2/Makefile | 3 - .../syno-avoton-6.0.2/digests | 0 .../syno-avoton-6.1/Makefile | 4 +- .../syno-avoton-6.1/digests | 0 .../syno-avoton-6.2.2/Makefile | 4 +- .../syno-avoton-6.2.2/digests | 0 .../syno-avoton-6.2.3/Makefile | 4 +- .../syno-avoton-6.2.3/digests | 0 .../syno-avoton-6.2/Makefile | 4 +- .../syno-avoton-6.2/digests | 0 .../syno-braswell-5.2/Makefile | 4 +- .../syno-braswell-5.2/digests | 0 .../syno-braswell-6.0.2/Makefile | 3 - .../syno-braswell-6.0.2/digests | 0 .../syno-braswell-6.1/Makefile | 4 +- .../syno-braswell-6.1/digests | 0 .../syno-braswell-6.2.2/Makefile | 4 +- .../syno-braswell-6.2.2/digests | 0 .../syno-braswell-6.2.3/Makefile | 4 +- .../syno-braswell-6.2.3/digests | 0 .../syno-braswell-6.2/Makefile | 4 +- .../syno-braswell-6.2/digests | 0 .../syno-broadwell-6.0.2/Makefile | 3 - .../syno-broadwell-6.0.2/digests | 0 .../syno-broadwell-6.1/Makefile | 4 +- .../syno-broadwell-6.1/digests | 0 .../syno-broadwell-6.2.2/Makefile | 4 +- .../syno-broadwell-6.2.2/digests | 0 .../syno-broadwell-6.2.3/Makefile | 4 +- .../syno-broadwell-6.2.3/digests | 0 .../syno-broadwell-6.2/Makefile | 4 +- .../syno-broadwell-6.2/digests | 0 .../syno-broadwellnk-6.2.2/Makefile | 4 +- .../syno-broadwellnk-6.2.2/digests | 0 .../syno-broadwellnk-6.2.3/Makefile | 4 +- .../syno-broadwellnk-6.2.3/digests | 0 .../syno-broadwellnk-6.2/Makefile | 4 +- .../syno-broadwellnk-6.2/digests | 0 .../syno-bromolow-4.3/Makefile | 3 - .../syno-bromolow-4.3/digests | 0 .../syno-bromolow-5.0/Makefile | 3 - .../syno-bromolow-5.0/digests | 0 .../syno-bromolow-5.1/Makefile | 3 - .../syno-bromolow-5.1/digests | 0 .../syno-bromolow-5.2/Makefile | 4 +- .../syno-bromolow-5.2/digests | 0 .../syno-bromolow-6.0.2/Makefile | 3 - .../syno-bromolow-6.0.2/digests | 0 .../syno-bromolow-6.1/Makefile | 4 +- .../syno-bromolow-6.1/digests | 0 .../syno-bromolow-6.2.2/Makefile | 4 +- .../syno-bromolow-6.2.2/digests | 0 .../syno-bromolow-6.2.3/Makefile | 4 +- .../syno-bromolow-6.2.3/digests | 0 .../syno-bromolow-6.2/Makefile | 4 +- .../syno-bromolow-6.2/digests | 0 .../syno-cedarview-4.3/Makefile | 3 - .../syno-cedarview-4.3/digests | 0 .../syno-cedarview-5.0/Makefile | 3 - .../syno-cedarview-5.0/digests | 0 .../syno-cedarview-5.1/Makefile | 3 - .../syno-cedarview-5.1/digests | 0 .../syno-cedarview-5.2/Makefile | 4 +- .../syno-cedarview-5.2/digests | 0 .../syno-cedarview-6.0.2/Makefile | 3 - .../syno-cedarview-6.0.2/digests | 0 .../syno-cedarview-6.1/Makefile | 4 +- .../syno-cedarview-6.1/digests | 0 .../syno-cedarview-6.2.2/Makefile | 4 +- .../syno-cedarview-6.2.2/digests | 0 .../syno-cedarview-6.2.3/Makefile | 4 +- .../syno-cedarview-6.2.3/digests | 0 .../syno-cedarview-6.2/Makefile | 4 +- .../syno-cedarview-6.2/digests | 0 .../syno-comcerto2k-5.0/Makefile | 3 - .../syno-comcerto2k-5.0/digests | 0 .../syno-comcerto2k-5.1/Makefile | 3 - .../syno-comcerto2k-5.1/digests | 0 .../syno-comcerto2k-5.2/Makefile | 4 +- .../syno-comcerto2k-5.2/digests | 0 .../syno-comcerto2k-6.0.2/Makefile | 3 - .../syno-comcerto2k-6.0.2/digests | 0 .../syno-comcerto2k-6.1/Makefile | 4 +- .../syno-comcerto2k-6.1/digests | 0 .../syno-comcerto2k-6.2.2/Makefile | 4 +- .../syno-comcerto2k-6.2.2/digests | 0 .../syno-comcerto2k-6.2.3/Makefile | 4 +- .../syno-comcerto2k-6.2.3/digests | 0 .../syno-comcerto2k-6.2/Makefile | 4 +- .../syno-comcerto2k-6.2/digests | 0 .../syno-dakota-1.2/Makefile | 4 +- .../syno-dakota-1.2/digests | 0 .../syno-denverton-6.1/Makefile | 4 +- .../syno-denverton-6.1/digests | 0 .../syno-denverton-6.2.2/Makefile | 4 +- .../syno-denverton-6.2.2/digests | 0 .../syno-denverton-6.2.3/Makefile | 4 +- .../syno-denverton-6.2.3/digests | 0 .../syno-dockerx64-6.1/Makefile | 4 +- .../syno-dockerx64-6.1/digests | 0 .../syno-dockerx64-6.2.2/Makefile | 4 +- .../syno-dockerx64-6.2.2/digests | 0 .../syno-dockerx64-6.2.3/Makefile | 4 +- .../syno-dockerx64-6.2.3/digests | 0 .../syno-dockerx64-6.2/Makefile | 4 +- .../syno-dockerx64-6.2/digests | 0 .../syno-evansport-4.3/Makefile | 3 - .../syno-evansport-4.3/digests | 0 .../syno-evansport-5.0/Makefile | 3 - .../syno-evansport-5.0/digests | 0 .../syno-evansport-5.1/Makefile | 3 - .../syno-evansport-5.1/digests | 0 .../syno-evansport-5.2/Makefile | 4 +- .../syno-evansport-5.2/digests | 0 .../syno-evansport-6.0.2/Makefile | 3 - .../syno-evansport-6.0.2/digests | 0 .../syno-evansport-6.1/Makefile | 4 +- .../syno-evansport-6.1/digests | 0 .../syno-evansport-6.2.2/Makefile | 4 +- .../syno-evansport-6.2.2/digests | 0 .../syno-evansport-6.2.3/Makefile | 4 +- .../syno-evansport-6.2.3/digests | 0 .../syno-evansport-6.2/Makefile | 4 +- .../syno-evansport-6.2/digests | 0 .../syno-geminilake-6.2.2/Makefile | 4 +- .../syno-geminilake-6.2.2/digests | 0 .../syno-geminilake-6.2.3/Makefile | 4 +- .../syno-geminilake-6.2.3/digests | 0 .../syno-grantley-6.0.2/Makefile | 3 - .../syno-grantley-6.0.2/digests | 0 .../syno-grantley-6.1/Makefile | 4 +- .../syno-grantley-6.1/digests | 0 .../syno-grantley-6.2.2/Makefile | 4 +- .../syno-grantley-6.2.2/digests | 0 .../syno-grantley-6.2.3/Makefile | 4 +- .../syno-grantley-6.2.3/digests | 0 .../syno-grantley-6.2/Makefile | 4 +- .../syno-grantley-6.2/digests | 0 .../syno-hi3535-6.1/Makefile | 4 +- .../syno-hi3535-6.1/digests | 0 .../syno-hi3535-6.2.2/Makefile | 4 +- .../syno-hi3535-6.2.2/digests | 0 .../syno-hi3535-6.2.3/Makefile | 4 +- .../syno-hi3535-6.2.3/digests | 0 .../syno-ipq806x-1.1/Makefile | 3 - .../syno-ipq806x-1.1/digests | 0 .../syno-ipq806x-1.2/Makefile | 4 +- .../syno-ipq806x-1.2/digests | 0 .../syno-kvmx64-6.1/Makefile | 4 +- .../syno-kvmx64-6.1/digests | 0 .../syno-kvmx64-6.2.2/Makefile | 4 +- .../syno-kvmx64-6.2.2/digests | 0 .../syno-kvmx64-6.2.3/Makefile | 4 +- .../syno-kvmx64-6.2.3/digests | 0 .../syno-kvmx64-6.2/Makefile | 4 +- .../syno-kvmx64-6.2/digests | 0 .../syno-monaco-5.2/Makefile | 4 +- .../syno-monaco-5.2/digests | 0 .../syno-monaco-6.0.2/Makefile | 3 - .../syno-monaco-6.0.2/digests | 0 .../syno-monaco-6.1/Makefile | 4 +- .../syno-monaco-6.1/digests | 0 .../syno-monaco-6.2.2/Makefile | 4 +- .../syno-monaco-6.2.2/digests | 0 .../syno-monaco-6.2.3/Makefile | 4 +- .../syno-monaco-6.2.3/digests | 0 .../syno-monaco-6.2/Makefile | 4 +- .../syno-monaco-6.2/digests | 0 .../syno-northstarplus-1.1/Makefile | 3 - .../syno-northstarplus-1.1/digests | 0 .../syno-northstarplus-1.2/Makefile | 4 +- .../syno-northstarplus-1.2/digests | 0 .../syno-powerpc-4.0/Makefile | 3 - .../syno-powerpc-4.0/digests | 0 .../syno-ppc824x-4.2/Makefile | 3 - .../syno-ppc824x-4.2/digests | 0 .../syno-ppc853x-4.2/Makefile | 3 - .../syno-ppc853x-4.2/digests | 0 .../syno-ppc853x-4.3/Makefile | 3 - .../syno-ppc853x-4.3/digests | 0 .../syno-ppc853x-5.0/Makefile | 3 - .../syno-ppc853x-5.0/digests | 0 .../syno-ppc853x-5.1/Makefile | 3 - .../syno-ppc853x-5.1/digests | 0 .../syno-ppc853x-5.2/Makefile | 4 +- .../syno-ppc853x-5.2/digests | 0 .../syno-ppc854x-4.0/Makefile | 3 - .../syno-ppc854x-4.0/digests | 0 .../syno-purley-6.2.2/Makefile | 4 +- .../syno-purley-6.2.2/digests | 0 .../syno-purley-6.2.3/Makefile | 4 +- .../syno-purley-6.2.3/digests | 0 .../syno-qoriq-4.3/Makefile | 3 - .../syno-qoriq-4.3/digests | 0 .../syno-qoriq-5.0/Makefile | 3 - .../syno-qoriq-5.0/digests | 0 .../syno-qoriq-5.1/Makefile | 3 - .../syno-qoriq-5.1/digests | 0 .../syno-qoriq-5.2/Makefile | 4 +- .../syno-qoriq-5.2/digests | 0 .../syno-qoriq-6.0.2/Makefile | 3 - .../syno-qoriq-6.0.2/digests | 0 .../syno-qoriq-6.1/Makefile | 4 +- .../syno-qoriq-6.1/digests | 0 .../syno-qoriq-6.2.2/Makefile | 4 +- .../syno-qoriq-6.2.2/digests | 0 .../syno-qoriq-6.2.3/Makefile | 4 +- .../syno-qoriq-6.2.3/digests | 0 .../syno-qoriq-6.2/Makefile | 4 +- .../syno-qoriq-6.2/digests | 0 .../syno-rtd1296-6.1/Makefile | 4 +- .../syno-rtd1296-6.1/digests | 0 .../syno-rtd1296-6.2.2/Makefile | 4 +- .../syno-rtd1296-6.2.2/digests | 0 .../syno-rtd1296-6.2.3/Makefile | 4 +- .../syno-rtd1296-6.2.3/digests | 0 .../syno-rtd1296-6.2/Makefile | 4 +- toolchains/syno-rtd1296-6.2/digests | 3 + .../syno-v1000-6.2.3/Makefile | 4 +- .../syno-v1000-6.2.3/digests | 0 .../syno-x64-5.0/Makefile | 3 - .../syno-x64-5.0/digests | 0 .../syno-x64-5.1/Makefile | 3 - .../syno-x64-5.1/digests | 0 .../syno-x64-5.2/Makefile | 4 +- .../syno-x64-5.2/digests | 0 .../syno-x64-6.0.2/Makefile | 3 - .../syno-x64-6.0.2/digests | 0 .../syno-x64-6.1/Makefile | 4 +- .../syno-x64-6.1/digests | 0 .../syno-x64-6.2.2/Makefile | 4 +- .../syno-x64-6.2.2/digests | 0 .../syno-x64-6.2.3/Makefile | 4 +- .../syno-x64-6.2.3/digests | 0 .../syno-x64-6.2/Makefile | 4 +- .../syno-x64-6.2/digests | 0 .../syno-x86-4.3/Makefile | 3 - .../syno-x86-4.3}/digests | 0 .../syno-x86-5.0/Makefile | 3 - .../syno-x86-5.0/digests | 0 .../syno-x86-5.1/Makefile | 3 - .../syno-x86-5.1/digests | 0 .../syno-x86-5.2/Makefile | 4 +- .../syno-x86-5.2/digests | 0 .../syno-x86-6.0.2/Makefile | 3 - .../syno-x86-6.0.2/digests | 0 .../syno-x86-6.1/Makefile | 4 +- .../syno-x86-6.1/digests | 0 .../syno-x86-6.2.2/Makefile | 4 +- .../syno-x86-6.2.2/digests | 0 .../syno-x86-6.2.3/Makefile | 4 +- .../syno-x86-6.2.3/digests | 0 .../syno-x86-6.2/Makefile | 4 +- .../syno-x86-6.2/digests | 0 toolkit/syno-evansport-7.0/Makefile | 6 - toolkit/syno-evansport-7.0/digests | 2 - 607 files changed, 806 insertions(+), 2234 deletions(-) delete mode 100644 cross/glib/patches/0002-allow-explicit-disabling-of-tests.patch delete mode 100644 mk/meson/aarch64.cfg delete mode 100644 mk/meson/armv5.cfg delete mode 100644 mk/meson/armv7.cfg delete mode 100644 mk/meson/armv7l.cfg delete mode 100644 mk/meson/i686.cfg delete mode 100644 mk/meson/ppc.cfg delete mode 100644 mk/meson/x86_64.cfg delete mode 100644 mk/spksrc.archs.mk delete mode 100644 mk/spksrc.cross-meson-env.mk delete mode 100644 mk/spksrc.cross-meson.mk delete mode 100644 mk/spksrc.cross-ninja.mk delete mode 100644 mk/spksrc.native-meson-env.mk delete mode 100644 mk/spksrc.native-meson.mk delete mode 100644 mk/spksrc.service.installer.dsm7 create mode 100644 mk/spksrc.service.privilege delete mode 100644 mk/spksrc.service.privilege-installasroot rename {diyspk => spk}/fdupes/Makefile (69%) rename {diyspk => spk}/fdupes/PLIST (100%) create mode 100755 spk/fdupes/src/dsm-control.sh rename {diyspk => spk}/fdupes/src/fdupes.png (100%) create mode 100755 spk/fdupes/src/installer.sh delete mode 100644 toolchain/syno-aarch64-7.0/Makefile delete mode 100644 toolchain/syno-aarch64-7.0/digests delete mode 100644 toolchain/syno-alpine-7.0/Makefile delete mode 100644 toolchain/syno-alpine-7.0/digests delete mode 100644 toolchain/syno-apollolake-7.0/Makefile delete mode 100644 toolchain/syno-apollolake-7.0/digests delete mode 100644 toolchain/syno-armada370-7.0/Makefile delete mode 100644 toolchain/syno-armada370-7.0/digests delete mode 100644 toolchain/syno-armada375-7.0/Makefile delete mode 100644 toolchain/syno-armada375-7.0/digests delete mode 100644 toolchain/syno-armada38x-7.0/Makefile delete mode 100644 toolchain/syno-armada38x-7.0/digests delete mode 100644 toolchain/syno-armadaxp-7.0/Makefile delete mode 100644 toolchain/syno-armadaxp-7.0/digests delete mode 100644 toolchain/syno-armv7-5.2/Makefile delete mode 100644 toolchain/syno-armv7-5.2/digests delete mode 100644 toolchain/syno-armv7-7.0/Makefile delete mode 100644 toolchain/syno-armv7-7.0/digests delete mode 100644 toolchain/syno-avoton-7.0/Makefile delete mode 100644 toolchain/syno-avoton-7.0/digests delete mode 100644 toolchain/syno-braswell-7.0/Makefile delete mode 100644 toolchain/syno-braswell-7.0/digests delete mode 100644 toolchain/syno-broadwell-7.0/Makefile delete mode 100644 toolchain/syno-broadwell-7.0/digests delete mode 100644 toolchain/syno-broadwellnk-7.0/Makefile delete mode 100644 toolchain/syno-broadwellnk-7.0/digests delete mode 100644 toolchain/syno-bromolow-7.0/Makefile delete mode 100644 toolchain/syno-bromolow-7.0/digests delete mode 100644 toolchain/syno-cedarview-7.0/Makefile delete mode 100644 toolchain/syno-cedarview-7.0/digests delete mode 100644 toolchain/syno-comcerto2k-7.0/Makefile delete mode 100644 toolchain/syno-comcerto2k-7.0/digests delete mode 100644 toolchain/syno-denverton-7.0/Makefile delete mode 100644 toolchain/syno-denverton-7.0/digests delete mode 100644 toolchain/syno-evansport-7.0/Makefile delete mode 100644 toolchain/syno-evansport-7.0/digests delete mode 100644 toolchain/syno-geminilake-7.0/Makefile delete mode 100644 toolchain/syno-geminilake-7.0/digests delete mode 100644 toolchain/syno-grantley-7.0/Makefile delete mode 100644 toolchain/syno-grantley-7.0/digests delete mode 100644 toolchain/syno-kvmx64-7.0/Makefile delete mode 100644 toolchain/syno-kvmx64-7.0/digests delete mode 100644 toolchain/syno-monaco-7.0/Makefile delete mode 100644 toolchain/syno-monaco-7.0/digests delete mode 100644 toolchain/syno-purley-7.0/Makefile delete mode 100644 toolchain/syno-purley-7.0/digests delete mode 100644 toolchain/syno-rtd1296-7.0/Makefile delete mode 100644 toolchain/syno-rtd1296-7.0/digests delete mode 100644 toolchain/syno-v1000-7.0/Makefile delete mode 100644 toolchain/syno-v1000-7.0/digests delete mode 100644 toolchain/syno-x64-4.3/Makefile delete mode 100644 toolchain/syno-x64-7.0/Makefile delete mode 100644 toolchain/syno-x64-7.0/digests delete mode 100644 toolchain/syno-x86-4.3/digests rename {toolchain => toolchains}/syno-88f6281-4.3/Makefile (85%) rename {toolchain => toolchains}/syno-88f6281-4.3/digests (100%) rename {toolchain => toolchains}/syno-88f6281-5.0/Makefile (84%) rename {toolchain => toolchains}/syno-88f6281-5.0/digests (100%) rename {toolchain => toolchains}/syno-88f6281-5.1/Makefile (85%) rename {toolchain => toolchains}/syno-88f6281-5.1/digests (100%) rename {toolchain => toolchains}/syno-88f6281-5.2/Makefile (84%) rename {toolchain => toolchains}/syno-88f6281-5.2/digests (100%) rename {toolchain => toolchains}/syno-88f6281-6.0.2/Makefile (84%) rename {toolchain => toolchains}/syno-88f6281-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-88f6281-6.1/Makefile (82%) rename {toolchain => toolchains}/syno-88f6281-6.1/digests (100%) rename {toolchain => toolchains}/syno-88f6281-6.2.2/Makefile (82%) rename {toolchain => toolchains}/syno-88f6281-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-88f6281-6.2.3/Makefile (82%) rename {toolchain => toolchains}/syno-88f6281-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-88f6281-6.2/Makefile (82%) rename {toolchain => toolchains}/syno-88f6281-6.2/digests (100%) rename {toolchain => toolchains}/syno-aarch64-6.1/Makefile (85%) rename {toolchain => toolchains}/syno-aarch64-6.1/digests (100%) rename {toolchain => toolchains}/syno-aarch64-6.2.2/Makefile (85%) rename {toolchain => toolchains}/syno-aarch64-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-aarch64-6.2.3/Makefile (68%) rename {toolchain => toolchains}/syno-aarch64-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-aarch64-6.2/Makefile (85%) rename {toolchain => toolchains}/syno-aarch64-6.2/digests (100%) rename {toolchain => toolchains}/syno-alpine-5.1/Makefile (86%) rename {toolchain => toolchains}/syno-alpine-5.1/digests (100%) rename {toolchain => toolchains}/syno-alpine-5.2/Makefile (87%) rename {toolchain => toolchains}/syno-alpine-5.2/digests (100%) rename {toolchain => toolchains}/syno-alpine-6.0.2/Makefile (87%) rename {toolchain => toolchains}/syno-alpine-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-alpine-6.1/Makefile (87%) rename {toolchain => toolchains}/syno-alpine-6.1/digests (100%) rename {toolchain => toolchains}/syno-alpine-6.2.2/Makefile (87%) rename {toolchain => toolchains}/syno-alpine-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-alpine-6.2.3/Makefile (87%) rename {toolchain => toolchains}/syno-alpine-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-alpine-6.2/Makefile (87%) rename {toolchain => toolchains}/syno-alpine-6.2/digests (100%) rename {toolchain => toolchains}/syno-apollolake-6.1/Makefile (83%) rename {toolchain => toolchains}/syno-apollolake-6.1/digests (100%) rename {toolchain => toolchains}/syno-apollolake-6.2.2/Makefile (83%) rename {toolchain => toolchains}/syno-apollolake-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-apollolake-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-apollolake-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-apollolake-6.2/Makefile (83%) rename {toolchain => toolchains}/syno-apollolake-6.2/digests (100%) rename {toolchain => toolchains}/syno-armada370-4.3/Makefile (87%) rename {toolchain => toolchains}/syno-armada370-4.3/digests (100%) rename {toolchain => toolchains}/syno-armada370-4.3/patches/001-includes.patch (100%) rename {toolchain => toolchains}/syno-armada370-5.0/Makefile (86%) rename {toolchain => toolchains}/syno-armada370-5.0/digests (100%) rename {toolchain => toolchains}/syno-armada370-5.0/patches/001-includes.patch (100%) rename {toolchain => toolchains}/syno-armada370-5.1/Makefile (87%) rename {toolchain => toolchains}/syno-armada370-5.1/digests (100%) rename {toolchain => toolchains}/syno-armada370-5.1/patches/001-includes.patch (100%) rename {toolchain => toolchains}/syno-armada370-5.2/Makefile (86%) rename {toolchain => toolchains}/syno-armada370-5.2/digests (100%) rename {toolchain => toolchains}/syno-armada370-6.0.2/Makefile (85%) rename {toolchain => toolchains}/syno-armada370-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-armada370-6.1/Makefile (85%) rename {toolchain => toolchains}/syno-armada370-6.1/digests (100%) rename {toolchain => toolchains}/syno-armada370-6.2.2/Makefile (85%) rename {toolchain => toolchains}/syno-armada370-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-armada370-6.2.3/Makefile (85%) rename {toolchain => toolchains}/syno-armada370-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-armada370-6.2/Makefile (85%) rename {toolchain => toolchains}/syno-armada370-6.2/digests (100%) rename {toolchain => toolchains}/syno-armada375-5.1/Makefile (91%) rename {toolchain => toolchains}/syno-armada375-5.1/digests (100%) rename {toolchain => toolchains}/syno-armada375-5.2/Makefile (86%) rename {toolchain => toolchains}/syno-armada375-5.2/digests (100%) rename {toolchain => toolchains}/syno-armada375-6.0.2/Makefile (85%) rename {toolchain => toolchains}/syno-armada375-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-armada375-6.1/Makefile (85%) rename {toolchain => toolchains}/syno-armada375-6.1/digests (100%) rename {toolchain => toolchains}/syno-armada375-6.2.2/Makefile (85%) rename {toolchain => toolchains}/syno-armada375-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-armada375-6.2.3/Makefile (85%) rename {toolchain => toolchains}/syno-armada375-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-armada375-6.2/Makefile (85%) rename {toolchain => toolchains}/syno-armada375-6.2/digests (100%) rename {toolchain => toolchains}/syno-armada37xx-6.2.2/Makefile (83%) rename {toolchain => toolchains}/syno-armada37xx-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-armada37xx-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-armada37xx-6.2.3/digests (100%) create mode 100644 toolchains/syno-armada37xx-6.2/Makefile rename {toolchain/syno-rtd1296-6.2 => toolchains/syno-armada37xx-6.2}/digests (100%) rename {toolchain => toolchains}/syno-armada38x-5.2/Makefile (82%) rename {toolchain => toolchains}/syno-armada38x-5.2/digests (100%) rename {toolchain => toolchains}/syno-armada38x-6.0.2/Makefile (82%) rename {toolchain => toolchains}/syno-armada38x-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-armada38x-6.1/Makefile (82%) rename {toolchain => toolchains}/syno-armada38x-6.1/digests (100%) rename {toolchain => toolchains}/syno-armada38x-6.2.2/Makefile (82%) rename {toolchain => toolchains}/syno-armada38x-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-armada38x-6.2.3/Makefile (82%) rename {toolchain => toolchains}/syno-armada38x-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-armada38x-6.2/Makefile (82%) rename {toolchain => toolchains}/syno-armada38x-6.2/digests (100%) rename {toolchain => toolchains}/syno-armadaxp-4.3/Makefile (87%) rename {toolchain => toolchains}/syno-armadaxp-4.3/digests (100%) rename {toolchain => toolchains}/syno-armadaxp-4.3/patches/001-includes.patch (100%) rename {toolchain => toolchains}/syno-armadaxp-5.0/Makefile (88%) rename {toolchain => toolchains}/syno-armadaxp-5.0/digests (100%) rename {toolchain => toolchains}/syno-armadaxp-5.0/patches/001-includes.patch (100%) rename {toolchain => toolchains}/syno-armadaxp-5.1/Makefile (87%) rename {toolchain => toolchains}/syno-armadaxp-5.1/digests (100%) rename {toolchain => toolchains}/syno-armadaxp-5.2/Makefile (86%) rename {toolchain => toolchains}/syno-armadaxp-5.2/digests (100%) rename {toolchain => toolchains}/syno-armadaxp-6.0.2/Makefile (85%) rename {toolchain => toolchains}/syno-armadaxp-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-armadaxp-6.1/Makefile (85%) rename {toolchain => toolchains}/syno-armadaxp-6.1/digests (100%) rename {toolchain => toolchains}/syno-armadaxp-6.2.2/Makefile (85%) rename {toolchain => toolchains}/syno-armadaxp-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-armadaxp-6.2.3/Makefile (85%) rename {toolchain => toolchains}/syno-armadaxp-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-armadaxp-6.2/Makefile (85%) rename {toolchain => toolchains}/syno-armadaxp-6.2/digests (100%) rename {toolchain => toolchains}/syno-armv7-1.2/Makefile (88%) rename {toolchain => toolchains}/syno-armv7-1.2/digests (100%) rename {toolchain => toolchains}/syno-armv7-6.1/Makefile (87%) rename {toolchain => toolchains}/syno-armv7-6.1/digests (100%) rename {toolchain => toolchains}/syno-armv7-6.2.2/Makefile (87%) rename {toolchain => toolchains}/syno-armv7-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-armv7-6.2.3/Makefile (87%) rename {toolchain => toolchains}/syno-armv7-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-armv7-6.2/Makefile (87%) rename {toolchain => toolchains}/syno-armv7-6.2/digests (100%) rename {toolchain => toolchains}/syno-avoton-5.1/Makefile (84%) rename {toolchain => toolchains}/syno-avoton-5.1/digests (100%) rename {toolchain => toolchains}/syno-avoton-5.2/Makefile (82%) rename {toolchain => toolchains}/syno-avoton-5.2/digests (100%) rename {toolchain => toolchains}/syno-avoton-6.0.2/Makefile (83%) rename {toolchain => toolchains}/syno-avoton-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-avoton-6.1/Makefile (82%) rename {toolchain => toolchains}/syno-avoton-6.1/digests (100%) rename {toolchain => toolchains}/syno-avoton-6.2.2/Makefile (82%) rename {toolchain => toolchains}/syno-avoton-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-avoton-6.2.3/Makefile (82%) rename {toolchain => toolchains}/syno-avoton-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-avoton-6.2/Makefile (82%) rename {toolchain => toolchains}/syno-avoton-6.2/digests (100%) rename {toolchain => toolchains}/syno-braswell-5.2/Makefile (82%) rename {toolchain => toolchains}/syno-braswell-5.2/digests (100%) rename {toolchain => toolchains}/syno-braswell-6.0.2/Makefile (83%) rename {toolchain => toolchains}/syno-braswell-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-braswell-6.1/Makefile (83%) rename {toolchain => toolchains}/syno-braswell-6.1/digests (100%) rename {toolchain => toolchains}/syno-braswell-6.2.2/Makefile (83%) rename {toolchain => toolchains}/syno-braswell-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-braswell-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-braswell-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-braswell-6.2/Makefile (83%) rename {toolchain => toolchains}/syno-braswell-6.2/digests (100%) rename {toolchain => toolchains}/syno-broadwell-6.0.2/Makefile (83%) rename {toolchain => toolchains}/syno-broadwell-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-broadwell-6.1/Makefile (83%) rename {toolchain => toolchains}/syno-broadwell-6.1/digests (100%) rename {toolchain => toolchains}/syno-broadwell-6.2.2/Makefile (83%) rename {toolchain => toolchains}/syno-broadwell-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-broadwell-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-broadwell-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-broadwell-6.2/Makefile (83%) rename {toolchain => toolchains}/syno-broadwell-6.2/digests (100%) rename {toolchain => toolchains}/syno-broadwellnk-6.2.2/Makefile (84%) rename {toolchain => toolchains}/syno-broadwellnk-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-broadwellnk-6.2.3/Makefile (84%) rename {toolchain => toolchains}/syno-broadwellnk-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-broadwellnk-6.2/Makefile (83%) rename {toolchain => toolchains}/syno-broadwellnk-6.2/digests (100%) rename {toolchain => toolchains}/syno-bromolow-4.3/Makefile (85%) rename {toolchain => toolchains}/syno-bromolow-4.3/digests (100%) rename {toolchain => toolchains}/syno-bromolow-5.0/Makefile (83%) rename {toolchain => toolchains}/syno-bromolow-5.0/digests (100%) rename {toolchain => toolchains}/syno-bromolow-5.1/Makefile (84%) rename {toolchain => toolchains}/syno-bromolow-5.1/digests (100%) rename {toolchain => toolchains}/syno-bromolow-5.2/Makefile (83%) rename {toolchain => toolchains}/syno-bromolow-5.2/digests (100%) rename {toolchain => toolchains}/syno-bromolow-6.0.2/Makefile (83%) rename {toolchain => toolchains}/syno-bromolow-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-bromolow-6.1/Makefile (83%) rename {toolchain => toolchains}/syno-bromolow-6.1/digests (100%) rename {toolchain => toolchains}/syno-bromolow-6.2.2/Makefile (83%) rename {toolchain => toolchains}/syno-bromolow-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-bromolow-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-bromolow-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-bromolow-6.2/Makefile (83%) rename {toolchain => toolchains}/syno-bromolow-6.2/digests (100%) rename {toolchain => toolchains}/syno-cedarview-4.3/Makefile (85%) rename {toolchain => toolchains}/syno-cedarview-4.3/digests (100%) rename {toolchain => toolchains}/syno-cedarview-5.0/Makefile (83%) rename {toolchain => toolchains}/syno-cedarview-5.0/digests (100%) rename {toolchain => toolchains}/syno-cedarview-5.1/Makefile (85%) rename {toolchain => toolchains}/syno-cedarview-5.1/digests (100%) rename {toolchain => toolchains}/syno-cedarview-5.2/Makefile (83%) rename {toolchain => toolchains}/syno-cedarview-5.2/digests (100%) rename {toolchain => toolchains}/syno-cedarview-6.0.2/Makefile (83%) rename {toolchain => toolchains}/syno-cedarview-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-cedarview-6.1/Makefile (83%) rename {toolchain => toolchains}/syno-cedarview-6.1/digests (100%) rename {toolchain => toolchains}/syno-cedarview-6.2.2/Makefile (83%) rename {toolchain => toolchains}/syno-cedarview-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-cedarview-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-cedarview-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-cedarview-6.2/Makefile (83%) rename {toolchain => toolchains}/syno-cedarview-6.2/digests (100%) rename {toolchain => toolchains}/syno-comcerto2k-5.0/Makefile (88%) rename {toolchain => toolchains}/syno-comcerto2k-5.0/digests (100%) rename {toolchain => toolchains}/syno-comcerto2k-5.1/Makefile (87%) rename {toolchain => toolchains}/syno-comcerto2k-5.1/digests (100%) rename {toolchain => toolchains}/syno-comcerto2k-5.2/Makefile (87%) rename {toolchain => toolchains}/syno-comcerto2k-5.2/digests (100%) rename {toolchain => toolchains}/syno-comcerto2k-6.0.2/Makefile (86%) rename {toolchain => toolchains}/syno-comcerto2k-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-comcerto2k-6.1/Makefile (86%) rename {toolchain => toolchains}/syno-comcerto2k-6.1/digests (100%) rename {toolchain => toolchains}/syno-comcerto2k-6.2.2/Makefile (86%) rename {toolchain => toolchains}/syno-comcerto2k-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-comcerto2k-6.2.3/Makefile (86%) rename {toolchain => toolchains}/syno-comcerto2k-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-comcerto2k-6.2/Makefile (86%) rename {toolchain => toolchains}/syno-comcerto2k-6.2/digests (100%) rename {toolchain => toolchains}/syno-dakota-1.2/Makefile (88%) rename {toolchain => toolchains}/syno-dakota-1.2/digests (100%) rename {toolchain => toolchains}/syno-denverton-6.1/Makefile (83%) rename {toolchain => toolchains}/syno-denverton-6.1/digests (100%) rename {toolchain => toolchains}/syno-denverton-6.2.2/Makefile (83%) rename {toolchain => toolchains}/syno-denverton-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-denverton-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-denverton-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-dockerx64-6.1/Makefile (83%) rename {toolchain => toolchains}/syno-dockerx64-6.1/digests (100%) rename {toolchain => toolchains}/syno-dockerx64-6.2.2/Makefile (83%) rename {toolchain => toolchains}/syno-dockerx64-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-dockerx64-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-dockerx64-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-dockerx64-6.2/Makefile (83%) rename {toolchain => toolchains}/syno-dockerx64-6.2/digests (100%) rename {toolchain => toolchains}/syno-evansport-4.3/Makefile (83%) rename {toolchain => toolchains}/syno-evansport-4.3/digests (100%) rename {toolchain => toolchains}/syno-evansport-5.0/Makefile (83%) rename {toolchain => toolchains}/syno-evansport-5.0/digests (100%) rename {toolchain => toolchains}/syno-evansport-5.1/Makefile (84%) rename {toolchain => toolchains}/syno-evansport-5.1/digests (100%) rename {toolchain => toolchains}/syno-evansport-5.2/Makefile (83%) rename {toolchain => toolchains}/syno-evansport-5.2/digests (100%) rename {toolchain => toolchains}/syno-evansport-6.0.2/Makefile (83%) rename {toolchain => toolchains}/syno-evansport-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-evansport-6.1/Makefile (83%) rename {toolchain => toolchains}/syno-evansport-6.1/digests (100%) rename {toolchain => toolchains}/syno-evansport-6.2.2/Makefile (83%) rename {toolchain => toolchains}/syno-evansport-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-evansport-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-evansport-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-evansport-6.2/Makefile (83%) rename {toolchain => toolchains}/syno-evansport-6.2/digests (100%) rename {toolchain => toolchains}/syno-geminilake-6.2.2/Makefile (83%) rename {toolchain => toolchains}/syno-geminilake-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-geminilake-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-geminilake-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-grantley-6.0.2/Makefile (83%) rename {toolchain => toolchains}/syno-grantley-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-grantley-6.1/Makefile (83%) rename {toolchain => toolchains}/syno-grantley-6.1/digests (100%) rename {toolchain => toolchains}/syno-grantley-6.2.2/Makefile (83%) rename {toolchain => toolchains}/syno-grantley-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-grantley-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-grantley-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-grantley-6.2/Makefile (83%) rename {toolchain => toolchains}/syno-grantley-6.2/digests (100%) rename {toolchain => toolchains}/syno-hi3535-6.1/Makefile (82%) rename {toolchain => toolchains}/syno-hi3535-6.1/digests (100%) rename {toolchain => toolchains}/syno-hi3535-6.2.2/Makefile (82%) rename {toolchain => toolchains}/syno-hi3535-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-hi3535-6.2.3/Makefile (82%) rename {toolchain => toolchains}/syno-hi3535-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-ipq806x-1.1/Makefile (85%) rename {toolchain => toolchains}/syno-ipq806x-1.1/digests (100%) rename {toolchain => toolchains}/syno-ipq806x-1.2/Makefile (85%) rename {toolchain => toolchains}/syno-ipq806x-1.2/digests (100%) rename {toolchain => toolchains}/syno-kvmx64-6.1/Makefile (82%) rename {toolchain => toolchains}/syno-kvmx64-6.1/digests (100%) rename {toolchain => toolchains}/syno-kvmx64-6.2.2/Makefile (83%) rename {toolchain => toolchains}/syno-kvmx64-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-kvmx64-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-kvmx64-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-kvmx64-6.2/Makefile (82%) rename {toolchain => toolchains}/syno-kvmx64-6.2/digests (100%) rename {toolchain => toolchains}/syno-monaco-5.2/Makefile (86%) rename {toolchain => toolchains}/syno-monaco-5.2/digests (100%) rename {toolchain => toolchains}/syno-monaco-6.0.2/Makefile (86%) rename {toolchain => toolchains}/syno-monaco-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-monaco-6.1/Makefile (86%) rename {toolchain => toolchains}/syno-monaco-6.1/digests (100%) rename {toolchain => toolchains}/syno-monaco-6.2.2/Makefile (86%) rename {toolchain => toolchains}/syno-monaco-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-monaco-6.2.3/Makefile (86%) rename {toolchain => toolchains}/syno-monaco-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-monaco-6.2/Makefile (86%) rename {toolchain => toolchains}/syno-monaco-6.2/digests (100%) rename {toolchain => toolchains}/syno-northstarplus-1.1/Makefile (86%) rename {toolchain => toolchains}/syno-northstarplus-1.1/digests (100%) rename {toolchain => toolchains}/syno-northstarplus-1.2/Makefile (86%) rename {toolchain => toolchains}/syno-northstarplus-1.2/digests (100%) rename {toolchain => toolchains}/syno-powerpc-4.0/Makefile (84%) rename {toolchain => toolchains}/syno-powerpc-4.0/digests (100%) rename {toolchain => toolchains}/syno-ppc824x-4.2/Makefile (84%) rename {toolchain => toolchains}/syno-ppc824x-4.2/digests (100%) rename {toolchain => toolchains}/syno-ppc853x-4.2/Makefile (87%) rename {toolchain => toolchains}/syno-ppc853x-4.2/digests (100%) rename {toolchain => toolchains}/syno-ppc853x-4.3/Makefile (87%) rename {toolchain => toolchains}/syno-ppc853x-4.3/digests (100%) rename {toolchain => toolchains}/syno-ppc853x-5.0/Makefile (87%) rename {toolchain => toolchains}/syno-ppc853x-5.0/digests (100%) rename {toolchain => toolchains}/syno-ppc853x-5.1/Makefile (87%) rename {toolchain => toolchains}/syno-ppc853x-5.1/digests (100%) rename {toolchain => toolchains}/syno-ppc853x-5.2/Makefile (86%) rename {toolchain => toolchains}/syno-ppc853x-5.2/digests (100%) rename {toolchain => toolchains}/syno-ppc854x-4.0/Makefile (87%) rename {toolchain => toolchains}/syno-ppc854x-4.0/digests (100%) rename {toolchain => toolchains}/syno-purley-6.2.2/Makefile (83%) rename {toolchain => toolchains}/syno-purley-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-purley-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-purley-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-qoriq-4.3/Makefile (87%) rename {toolchain => toolchains}/syno-qoriq-4.3/digests (100%) rename {toolchain => toolchains}/syno-qoriq-5.0/Makefile (87%) rename {toolchain => toolchains}/syno-qoriq-5.0/digests (100%) rename {toolchain => toolchains}/syno-qoriq-5.1/Makefile (87%) rename {toolchain => toolchains}/syno-qoriq-5.1/digests (100%) rename {toolchain => toolchains}/syno-qoriq-5.2/Makefile (86%) rename {toolchain => toolchains}/syno-qoriq-5.2/digests (100%) rename {toolchain => toolchains}/syno-qoriq-6.0.2/Makefile (85%) rename {toolchain => toolchains}/syno-qoriq-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-qoriq-6.1/Makefile (85%) rename {toolchain => toolchains}/syno-qoriq-6.1/digests (100%) rename {toolchain => toolchains}/syno-qoriq-6.2.2/Makefile (85%) rename {toolchain => toolchains}/syno-qoriq-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-qoriq-6.2.3/Makefile (85%) rename {toolchain => toolchains}/syno-qoriq-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-qoriq-6.2/Makefile (85%) rename {toolchain => toolchains}/syno-qoriq-6.2/digests (100%) rename {toolchain => toolchains}/syno-rtd1296-6.1/Makefile (83%) rename {toolchain => toolchains}/syno-rtd1296-6.1/digests (100%) rename {toolchain => toolchains}/syno-rtd1296-6.2.2/Makefile (82%) rename {toolchain => toolchains}/syno-rtd1296-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-rtd1296-6.2.3/Makefile (82%) rename {toolchain => toolchains}/syno-rtd1296-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-rtd1296-6.2/Makefile (83%) create mode 100644 toolchains/syno-rtd1296-6.2/digests rename {toolchain => toolchains}/syno-v1000-6.2.3/Makefile (83%) rename {toolchain => toolchains}/syno-v1000-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-x64-5.0/Makefile (85%) rename {toolchain => toolchains}/syno-x64-5.0/digests (100%) rename {toolchain => toolchains}/syno-x64-5.1/Makefile (86%) rename {toolchain => toolchains}/syno-x64-5.1/digests (100%) rename {toolchain => toolchains}/syno-x64-5.2/Makefile (87%) rename {toolchain => toolchains}/syno-x64-5.2/digests (100%) rename {toolchain => toolchains}/syno-x64-6.0.2/Makefile (86%) rename {toolchain => toolchains}/syno-x64-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-x64-6.1/Makefile (88%) rename {toolchain => toolchains}/syno-x64-6.1/digests (100%) rename {toolchain => toolchains}/syno-x64-6.2.2/Makefile (88%) rename {toolchain => toolchains}/syno-x64-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-x64-6.2.3/Makefile (88%) rename {toolchain => toolchains}/syno-x64-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-x64-6.2/Makefile (88%) rename {toolchain => toolchains}/syno-x64-6.2/digests (100%) rename {toolchain => toolchains}/syno-x86-4.3/Makefile (85%) rename {toolchain/syno-x64-4.3 => toolchains/syno-x86-4.3}/digests (100%) rename {toolchain => toolchains}/syno-x86-5.0/Makefile (82%) rename {toolchain => toolchains}/syno-x86-5.0/digests (100%) rename {toolchain => toolchains}/syno-x86-5.1/Makefile (84%) rename {toolchain => toolchains}/syno-x86-5.1/digests (100%) rename {toolchain => toolchains}/syno-x86-5.2/Makefile (82%) rename {toolchain => toolchains}/syno-x86-5.2/digests (100%) rename {toolchain => toolchains}/syno-x86-6.0.2/Makefile (82%) rename {toolchain => toolchains}/syno-x86-6.0.2/digests (100%) rename {toolchain => toolchains}/syno-x86-6.1/Makefile (82%) rename {toolchain => toolchains}/syno-x86-6.1/digests (100%) rename {toolchain => toolchains}/syno-x86-6.2.2/Makefile (82%) rename {toolchain => toolchains}/syno-x86-6.2.2/digests (100%) rename {toolchain => toolchains}/syno-x86-6.2.3/Makefile (82%) rename {toolchain => toolchains}/syno-x86-6.2.3/digests (100%) rename {toolchain => toolchains}/syno-x86-6.2/Makefile (82%) rename {toolchain => toolchains}/syno-x86-6.2/digests (100%) delete mode 100644 toolkit/syno-evansport-7.0/Makefile delete mode 100644 toolkit/syno-evansport-7.0/digests diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 617889f050e..9c981591a52 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,12 +1,12 @@ -_For new Package Requests, see the guidelines_ +_For new Package Requests, see the guidelines_ ### Setup -_Package Name:_ -_Package Version:_ +_Package Name:_ +_Package Version:_ -_NAS Model:_ -_NAS Architecture:_ -_DSM version:_ +_NAS Model:_ +_NAS Architecture:_ +_DSM version:_ ### Expected behavior Tell us what should happen @@ -15,14 +15,12 @@ Tell us what should happen Tell us what happens instead ### Steps to reproduce -_1._ -_2._ -_3._ +_1._ +_2._ +_3._ #### Package log _Check Package Center or `/usr/local/{package}/var/`_ - -_DSM7: `/var/log/packages/{package}.log`_ ``` Insert the package log here ``` diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1dd774dec2f..53dac2e4a09 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -23,17 +23,17 @@ jobs: strategy: fail-fast: false matrix: - # x64=x86_64, evansport=i686, aarch64=armv8, armv7, hi3535=armv7l, 88f6281=armv5, qoriq=ppc + # x64=x86_64, evansport=x86, aarch64=armv8, armv7, 88f6281=armv5, ppc853x/qoriq=ppc # https://github.com/SynoCommunity/spksrc/wiki/Synology-and-SynoCommunity-Package-Architectures - arch: [noarch, x64-6.1, x64-7.0, evansport-6.1, aarch64-6.1, armv7-6.1, hi3535-6.1, 88f6281-6.1, qoriq-6.1] + arch: [noarch, x64-6.1, evansport-6.1, aarch64-6.1, armv7-6.1, armv7-1.2, 88f6281-6.1, qoriq-6.1, ppc853x-5.2] steps: - name: Cache toolchains uses: actions/cache@v1 with: - path: toolchain - key: toolchain-${{ matrix.arch }}-v2 - restore-keys: toolchain-${{ matrix.arch }} + path: toolchains + key: toolchains-${{ matrix.arch }}-v2 + restore-keys: toolchains-${{ matrix.arch }} - name: Checkout repository uses: actions/checkout@v2 diff --git a/.gitignore b/.gitignore index 54a63d6c7ed..46fe232d695 100644 --- a/.gitignore +++ b/.gitignore @@ -5,8 +5,8 @@ cross/*/work* kernel/*/work* spk/*/work* diyspk/*/work* -toolchain/*/work* -toolchain/*/*_done +toolchains/*/work* +toolchains/*/*_done toolkit/*/work* local.mk *.DS_Store diff --git a/Dockerfile b/Dockerfile index aacef7a86d5..4466b7d0d11 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,7 +45,6 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ lzip \ mercurial \ ncurses-dev \ - ninja-build \ php \ pkg-config \ python3 \ diff --git a/Makefile b/Makefile index a5fdb037efa..5e25f9ff3de 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -AVAILABLE_TCS = $(notdir $(wildcard toolchain/syno-*)) +AVAILABLE_TCS = $(notdir $(wildcard toolchains/syno-*)) AVAILABLE_ARCHS = $(notdir $(subst syno-,/,$(AVAILABLE_TCS))) SUPPORTED_SPKS = $(sort $(patsubst spk/%/Makefile,%,$(wildcard spk/*/Makefile))) @@ -26,7 +26,7 @@ native-clean: done toolchain-clean: - @for tc in $(dir $(wildcard toolchain/*/Makefile)) ; \ + @for tc in $(dir $(wildcard toolchains/*/Makefile)) ; \ do \ $(MAKE) -C $${tc} clean ; \ done @@ -91,7 +91,7 @@ endef $(foreach arch,$(AVAILABLE_ARCHS),$(foreach spk,$(SUPPORTED_SPKS),$(eval $(call SPK_ARCH_template,$(spk),$(arch))))) prepare: downloads - @for tc in $(dir $(wildcard toolchain/*/Makefile)) ; \ + @for tc in $(dir $(wildcard toolchains/*/Makefile)) ; \ do \ $(MAKE) -C $${tc} ; \ done @@ -115,7 +115,7 @@ native-digests: done toolchain-digests: - @for tc in $(dir $(wildcard toolchain/*/Makefile)) ; \ + @for tc in $(dir $(wildcard toolchains/*/Makefile)) ; \ do \ $(MAKE) -C $${tc} digests ; \ done @@ -145,7 +145,7 @@ toolchains: $(addprefix toolchain-,$(AVAILABLE_ARCHS)) kernel-modules: $(addprefix kernel-,$(AVAILABLE_ARCHS)) toolchain-%: - -@cd toolchain/syno-$*/ && MAKEFLAGS= $(MAKE) + -@cd toolchains/syno-$*/ && MAKEFLAGS= $(MAKE) kernel-%: -@cd kernel/syno-$*/ && MAKEFLAGS= $(MAKE) diff --git a/README.rst b/README.rst index d9dfab3f773..2cf295f82c4 100644 --- a/README.rst +++ b/README.rst @@ -26,12 +26,8 @@ A virtual machine based on an 64-bit version of Debian 10 stable OS is recommend * Install the requirements (in sync with Dockerfile):: sudo dpkg --add-architecture i386 && sudo apt-get update - sudo apt udpate - sudo apt install autogen automake bc bison build-essential check cmake curl cython debootstrap ed expect flex g++-multilib gawk gettext git gperf imagemagick intltool jq libbz2-dev libc6-i386 libcppunit-dev libffi-dev libgc-dev libgmp3-dev libltdl-dev libmount-dev libncurses-dev libpcre3-dev libssl-dev libtool libunistring-dev lzip mercurial ncurses-dev ninja-build php pkg-config python3 python3-distutils rename scons subversion swig texinfo unzip xmlto zlib1g-dev - wget https://bootstrap.pypa.io/get-pip.py -O - | sudo python2 - sudo pip2 install wheel httpie - wget https://bootstrap.pypa.io/get-pip.py -O - | sudo python3 - sudo pip3 install meson==0.56.0 + sudo apt install autogen automake bc bison build-essential check cmake curl cython debootstrap ed expect flex g++-multilib gawk gettext git gperf imagemagick intltool jq libbz2-dev libc6-i386 libcppunit-dev libffi-dev libgc-dev libgmp3-dev libltdl-dev libmount-dev libncurses-dev libpcre3-dev libssl-dev libtool libunistring-dev lzip mercurial ncurses-dev php pkg-config python3 python3-distutils rename scons subversion swig texinfo unzip xmlto zlib1g-dev + sudo pip install -U setuptools pip wheel httpie * You may need to install some packages from testing like autoconf. Read about Apt-Pinning to know how to do that. * Some older toolchains may require 32-bit development versions of packages, e.g. `zlib1g-dev:i386` diff --git a/cross/bison/Makefile b/cross/bison/Makefile index 77cb1da68e3..87b21f29902 100644 --- a/cross/bison/Makefile +++ b/cross/bison/Makefile @@ -12,10 +12,7 @@ COMMENT = General-purpose parser generator LICENSE = GPLv3 GNU_CONFIGURE = 1 - -include ../../mk/spksrc.archs.mk - -ifeq ($(findstring $(ARCH),$(OLD_PCC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), powerpc ppc824x ppc853x ppc854x),$(ARCH)) CONFIGURE_ARGS = gl_cv_func_signbit_gcc=no endif diff --git a/cross/boost/Makefile b/cross/boost/Makefile index 2d6a61f913e..33d46d085fe 100644 --- a/cross/boost/Makefile +++ b/cross/boost/Makefile @@ -47,7 +47,7 @@ endif include ../../mk/spksrc.cross-cc.mk ADDRESS_MODEL = 32 -ifeq ($(findstring $(ARCH),$(x64_ARCHS) $(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x64_ARCHES) $(ARM8_ARCHES)),$(ARCH)) ADDRESS_MODEL = 64 endif diff --git a/cross/chromaprint/Makefile b/cross/chromaprint/Makefile index 885827c846e..6724a32f567 100644 --- a/cross/chromaprint/Makefile +++ b/cross/chromaprint/Makefile @@ -12,7 +12,7 @@ LICENSE = LGPL2.1+ OPTIONAL_DEPENDS = cross/ffmpeg # compiler too old -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) +UNSUPPORTED_ARCHS = $(ARM5_ARCHES) powerpc ppc824x ppc853x ppc854x ifneq ($(wildcard $(FFMPEG_DIR)),) CMAKE_RPATH = /var/packages/ffmpeg/target/lib diff --git a/cross/davfs2/Makefile b/cross/davfs2/Makefile index 5ba18acfbc1..6f43a420439 100644 --- a/cross/davfs2/Makefile +++ b/cross/davfs2/Makefile @@ -16,9 +16,9 @@ GNU_CONFIGURE = 1 CONFIGURE_ARGS = --with-neon=$(STAGING_INSTALL_PREFIX) CONFIGURE_ARGS += ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(ARMv7L_ARCHS) $(OLD_PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM5_ARCHES) ppc853x hi3535),$(ARCH)) # patch Makefile.in for gcc -lt 4.9 # see https://savannah.nongnu.org/bugs/?51004 POST_CONFIGURE_TARGET = davfs2_post_configure diff --git a/cross/dnscrypt-proxy/Makefile b/cross/dnscrypt-proxy/Makefile index da7aaa65713..d6ecb2131bd 100644 --- a/cross/dnscrypt-proxy/Makefile +++ b/cross/dnscrypt-proxy/Makefile @@ -8,6 +8,8 @@ EXTRACT_PATH = $(WORK_DIR)/src/github.com/$(PKG_NAME) PKG_DIR = $(PKG_NAME)-$(PKG_VERS) DEPENDS = native/go +UNSUPPORTED_ARCHS = $(PPC_ARCHES) +GENERIC_ARCHS = ARM7 HOMEPAGE = https://github.com/jedisct1/dnscrypt-proxy COMMENT = A flexible DNS proxy, with support for modern encrypted DNS protocols such as DNSCrypt v2 and DNS-over-HTTP/2. diff --git a/cross/e2fsprogs/Makefile b/cross/e2fsprogs/Makefile index 91aeaf3dc86..4d82523ee43 100644 --- a/cross/e2fsprogs/Makefile +++ b/cross/e2fsprogs/Makefile @@ -14,10 +14,10 @@ LICENSE = GPL GNU_CONFIGURE = 1 CONFIGURE_ARGS = --enable-elf-shlibs -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk # This is more a toolchain than an arch limitation -ifeq ($(findstring $(ARCH),$(OLD_PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),ppc853x),$(ARCH)) CONFIGURE_ARGS += --disable-defrag PLIST_TRANSFORM = sed -e '/bin:sbin\/e4defrag/d' endif diff --git a/cross/erlang/Makefile b/cross/erlang/Makefile index 9f0c22e05ce..ce24b382d17 100644 --- a/cross/erlang/Makefile +++ b/cross/erlang/Makefile @@ -11,11 +11,12 @@ HOMEPAGE = https://www.erlang.org COMMENT = Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. LICENSE = Erlang Public License -include ../../mk/spksrc.archs.mk +# Get arch-defs now +include ../../mk/spksrc.cross-cc.mk GNU_CONFIGURE = 1 CONFIGURE_ARGS += --with-ssl=$(STAGING_INSTALL_PREFIX) erl_xcomp_sysroot=$(INSTALL_DIR) -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM5_ARCHES)),$(ARCH)) CONFIGURE_ARGS += --disable-smp-require-native-atomics endif @@ -23,8 +24,6 @@ INSTALL_TARGET = erlang_install ENV += PATH=$(WORK_DIR)/../../../native/$(PKG_NAME)/work-native/install/usr/local/bin:$$PATH -include ../../mk/spksrc.cross-cc.mk - .PHONY: erlang_install erlang_install: $(RUN) make install DESTDIR=$(INSTALL_DIR) INSTALL_PREFIX= diff --git a/cross/fdupes/Makefile b/cross/fdupes/Makefile index 6d6188178cf..49720af890c 100755 --- a/cross/fdupes/Makefile +++ b/cross/fdupes/Makefile @@ -1,19 +1,14 @@ PKG_NAME = fdupes -PKG_VERS = 2.1.2 -PKG_EXT = tar.gz +PKG_VERS = 1.51 +PKG_EXT = zip PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) -PKG_DIST_SITE = https://github.com/adrianlopezroche/$(PKG_NAME)/releases/download/v$(PKG_VERS) -PKG_DIR = $(PKG_NAME)-$(PKG_VERS) - -DEPENDS = cross/ncursesw cross/pcre2 +PKG_DIST_SITE = https://github.com/adrianlopezroche/fdupes/archive/ +PKG_DIR = $(PKG_NAME)-$(PKG_NAME)-$(PKG_VERS) HOMEPAGE = https://github.com/adrianlopezroche/fdupes COMMENT = FDUPES is a program for identifying or deleting duplicate files residing within specified directories. LICENSE = MIT -# fdupes needs pcre2-32 -ENV += PCRE2_CLI_FULL=1 - -GNU_CONFIGURE = 1 +CONFIGURE_TARGET = none include ../../mk/spksrc.cross-cc.mk diff --git a/cross/fdupes/digests b/cross/fdupes/digests index adee15819f5..1ceebaa289b 100755 --- a/cross/fdupes/digests +++ b/cross/fdupes/digests @@ -1,3 +1,3 @@ -fdupes-2.1.2.tar.gz SHA1 f28e91729b867bb28d18d05efbefad2c26df0e23 -fdupes-2.1.2.tar.gz SHA256 cd5cb53b6d898cf20f19b57b81114a5b263cc1149cd0da3104578b083b2837bd -fdupes-2.1.2.tar.gz MD5 03fa46275d8b04b0baea80ebde973926 +fdupes-1.51.zip SHA1 ea3b5fd7aa59c25a79e544777645a4ba63c608b7 +fdupes-1.51.zip SHA256 7b5bacf0519d0097041156dd46b707917c50fb980802af7ccc303d0ae250ba55 +fdupes-1.51.zip MD5 f1e12bda45245845d47d2f58e3c7344f diff --git a/cross/ffmpeg/Makefile b/cross/ffmpeg/Makefile index 929aab4387a..0fe9c1e8482 100644 --- a/cross/ffmpeg/Makefile +++ b/cross/ffmpeg/Makefile @@ -84,7 +84,7 @@ DEPENDS += cross/shine CONFIGURE_ARGS += --enable-libshine endif -ifeq ($(findstring $(ARCH),alpine comcerto2k monaco $(ARMv8_ARCHS) $(i686_ARCHS) $(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),alpine comcerto2k monaco $(ARM8_ARCHES) $(x86_ARCHES) $(x64_ARCHES)),$(ARCH)) DEPENDS += cross/libaom CONFIGURE_ARGS += --enable-libaom endif @@ -92,31 +92,31 @@ endif # Add SVT-AV1 codec to supported ARCH # Patch for support from: https://github.com/OpenVisualCloud/SVT-AV1/tree/master/ffmpeg_plugin -ifeq ($(findstring $(ARCH),alpine comcerto2k monaco $(ARMv8_ARCHS) $(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),alpine comcerto2k monaco $(ARM8_ARCHES) $(x64_ARCHES)),$(ARCH)) DEPENDS += cross/svt-av1 CONFIGURE_ARGS += --enable-libsvtav1 endif -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM5_ARCHES)),$(ARCH)) CONFIGURE_ARGS += --arch=arm --disable-neon --disable-yasm --disable-asm endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM7_ARCHES)),$(ARCH)) CONFIGURE_ARGS += --arch=arm --enable-neon --enable-thumb --disable-armv6 --disable-armv6t2 --disable-vfp --disable-armv5te --disable-yasm --disable-asm ifneq ($(findstring $(ARCH),alpine),$(ARCH)) CONFIGURE_ARGS += --extra-cflags=-DSYNO_ALPINE_NEON endif endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM8_ARCHES)),$(ARCH)) CONFIGURE_ARGS += --arch=arm64 --enable-neon --enable-thumb --disable-yasm --disable-asm endif -# only evansport is in i686 archs - no other x86 arch is supported -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x86_ARCHES)),$(ARCH)) DEPENDS += native/nasm ENV += PATH=$(NASM_PATH):$$PATH +ifeq ($(findstring $(ARCH),'evansport'),$(ARCH)) DEPENDS += cross/json-c CONFIGURE_ARGS += --arch=x86 --cpu=atom CONFIGURE_ARGS += --disable-x86asm @@ -138,15 +138,18 @@ CONFIGURE_ARGS += --disable-decoder=wmv3_smd #CONFIGURE_ARGS += --extra-cflags=-DSYNO_EVANSPORT_SMD #CONFIGURE_ARGS += --enable-libh264_smd --enable-smd +else +CONFIGURE_ARGS += --arch=i386 +endif endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x64_ARCHES)),$(ARCH)) DEPENDS += native/nasm cross/libva cross/libva-utils cross/intel-vaapi-driver cross/intel-media-driver cross/intel-media-sdk cross/svt-hevc ENV += PATH=$(NASM_PATH):$$PATH CONFIGURE_ARGS += --arch=x86_64 --enable-vaapi --enable-libmfx --enable-libsvthevc endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) DEPENDS += native/nasm ENV += PATH=$(NASM_PATH):$$PATH CONFIGURE_ARGS += --arch=ppc diff --git a/cross/flac/Makefile b/cross/flac/Makefile index 8007eb7c430..9bc3f1a244f 100644 --- a/cross/flac/Makefile +++ b/cross/flac/Makefile @@ -20,7 +20,7 @@ CONFIGURE_ARGS = --disable-thorough-tests --disable-doxygen-docs --disable-oggte include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) -# avoid error: AltiVec and SPE instructions cannot coexist +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) CONFIGURE_ARGS += --disable-altivec endif + diff --git a/cross/gensio/Makefile b/cross/gensio/Makefile index ec67c2720a2..af3f8ce8499 100644 --- a/cross/gensio/Makefile +++ b/cross/gensio/Makefile @@ -11,7 +11,7 @@ COMMENT = gensio - General Stream I/O LICENSE = GPLv2 # qoriq is the only PPC arch that is supported -UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) +UNSUPPORTED_ARCHS = powerpc ppc824x ppc853x ppc854x DEPENDS = cross/openssl @@ -22,7 +22,7 @@ CONFIGURE_ARGS = --with-python=no --with-swig=no include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) # archs/toolchains without compatible RS485 support (linux serial.h) CONFIGURE_ARGS += ac_cv_have_decl_TIOCSRS485=no endif diff --git a/cross/glib/Makefile b/cross/glib/Makefile index 3fddf9d7059..724cd0de7bd 100644 --- a/cross/glib/Makefile +++ b/cross/glib/Makefile @@ -1,24 +1,49 @@ PKG_NAME = glib -PKG_VERS = 2.62.6 -PKG_SHORT_VERS = $(word 1,$(subst ., ,$(PKG_VERS))).$(word 2,$(subst ., ,$(PKG_VERS))) +PKG_SHORT_VERS = 2.58 +PKG_VERS = $(PKG_SHORT_VERS).3 PKG_EXT = tar.xz PKG_DIR = $(PKG_NAME)-$(PKG_VERS) PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://ftp.gnome.org/pub/GNOME/sources/$(PKG_NAME)/$(PKG_SHORT_VERS) -DEPENDS = cross/libffi cross/pcre cross/zlib +DEPENDS = native/glib cross/libffi cross/pcre cross/zlib HOMEPAGE = https://developer.gnome.org/glib/ COMMENT = General-purpose utility library LICENSE = GPLv2 -UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) +GNU_CONFIGURE = 1 +CONFIGURE_ARGS = --disable-man --disable-libmount --enable-shared=yes --enable-static=no +CONFIGURE_ARGS += glib_cv_long_long_format=ll glib_cv_stack_grows=no glib_cv_uscore=no ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes +CONFIGURE_ARGS += GLIB_GENMARSHAL=$(WORK_DIR)/../../../native/glib/work-native/$(PKG_DIR)/gobject/glib-genmarshal +CONFIGURE_ARGS += GLIB_COMPILE_SCHEMAS=$(WORK_DIR)/../../../native/glib/work-native/$(PKG_DIR)/gio/glib-compile-schemas +CONFIGURE_ARGS += GLIB_COMPILE_RESOURCES=$(WORK_DIR)/../../../native/glib/work-native/$(PKG_DIR)/gio/glib-compile-resources -# https://developer.gnome.org/glib/ -# https://developer.gnome.org/glib/stable/glib-building.html -# 2.62.6, 2.63.3-OK, 2.63.4-ERROR -CONFIGURE_ARGS += -Dman=false -Dlibmount=false -Ddefault_library=shared -Dselinux=disabled -# 2.63.5, 2.66.3 -#CONFIGURE_ARGS += -Dman=false -Dlibmount=disabled -Ddefault_library=shared -Dselinux=disabled +ADDITIONAL_CFLAGS = -Wno-unused-value -include ../../mk/spksrc.cross-meson.mk +PRE_CONFIGURE_TARGET = glib_pre_configure + +include ../../mk/spksrc.cross-cc.mk + +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) +CONFIGURE_ARGS += --host=ppc-linux +endif + +ifeq ($(findstring $(ARCH),$(ARM_ARCHES)),$(ARCH)) +CONFIGURE_ARGS += --host=arm-linux +endif + +ifeq ($(findstring $(ARCH), $(x64_ARCHES)),$(ARCH)) +CONFIGURE_ARGS += --host=x86_64-linux-gnu +endif + +ifeq ($(findstring $(ARCH), $(x86_ARCHES)),$(ARCH)) +CONFIGURE_ARGS += --host=i686-linux-gnu +endif + +.PHONY: glib_pre_configure + +glib_pre_configure: + # force autogen to first use internal pcre instead of provided to prevent + # build failure. Subsequent default configure will superseed this afterwards + $(RUN) ./autogen.sh --with-pcre $(CONFIGURE_ARGS) diff --git a/cross/glib/PLIST b/cross/glib/PLIST index 411f6a24cfc..ec5987eb4dc 100644 --- a/cross/glib/PLIST +++ b/cross/glib/PLIST @@ -2,6 +2,7 @@ bin:bin/gapplication bin:bin/gdbus rsc:bin/gdbus-codegen bin:bin/gio +bin:bin/gio-launch-desktop bin:bin/gio-querymodules bin:bin/glib-compile-resources bin:bin/glib-compile-schemas @@ -15,16 +16,16 @@ bin:bin/gtester rsc:bin/gtester-report lnk:lib/libgio-2.0.so lnk:lib/libgio-2.0.so.0 -lib:lib/libgio-2.0.so.0.6200.6 +lib:lib/libgio-2.0.so.0.5800.3 lnk:lib/libglib-2.0.so lnk:lib/libglib-2.0.so.0 -lib:lib/libglib-2.0.so.0.6200.6 +lib:lib/libglib-2.0.so.0.5800.3 lnk:lib/libgmodule-2.0.so lnk:lib/libgmodule-2.0.so.0 -lib:lib/libgmodule-2.0.so.0.6200.6 +lib:lib/libgmodule-2.0.so.0.5800.3 lnk:lib/libgobject-2.0.so lnk:lib/libgobject-2.0.so.0 -lib:lib/libgobject-2.0.so.0.6200.6 +lib:lib/libgobject-2.0.so.0.5800.3 lnk:lib/libgthread-2.0.so lnk:lib/libgthread-2.0.so.0 -lib:lib/libgthread-2.0.so.0.6200.6 +lib:lib/libgthread-2.0.so.0.5800.3 diff --git a/cross/glib/digests b/cross/glib/digests index 8bfe39f27d2..e13cdde4e12 100644 --- a/cross/glib/digests +++ b/cross/glib/digests @@ -1,3 +1,3 @@ -glib-2.62.6.tar.xz SHA1 86098944337e3818a2f52f324d23aa93f6dcb65d -glib-2.62.6.tar.xz SHA256 104fa26fbefae8024ff898330c671ec23ad075c1c0bce45c325c6d5657d58b9c -glib-2.62.6.tar.xz MD5 46bba5410ad4e75f65e4b2cc61a1afc8 +glib-2.58.3.tar.xz SHA1 9499377d09ad52d94b4ab9f38c4040e9dce875e5 +glib-2.58.3.tar.xz SHA256 8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481 +glib-2.58.3.tar.xz MD5 8058c7bde846dcffe5fa453eca366d73 diff --git a/cross/glib/patches/0002-allow-explicit-disabling-of-tests.patch b/cross/glib/patches/0002-allow-explicit-disabling-of-tests.patch deleted file mode 100644 index c74a7fa5b61..00000000000 --- a/cross/glib/patches/0002-allow-explicit-disabling-of-tests.patch +++ /dev/null @@ -1,35 +0,0 @@ -From cdccbc6ec36243463613cb32d7058c26c3c51e16 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Wed, 18 Sep 2019 09:50:00 -0700 -Subject: [PATCH] allow explicit disabling of tests - -Upstream won't build tests when cross-compiling. However; this means still -building the tests during a host build. Building the tests causes build -failures on older distributions such as CentOS 6 and Debian 7 because the -command `objcopy --add-symbol` is used when building the test -"test_resources2," which is not available with the older version of objcopy -provided by the distributions. - -Instead, remove the conditional checks which set build_tests and only check if -installed_tests_enabled is passed. - -Signed-off-by: Adam Duskett -Refresh for 2.62.2 ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- meson.build.orig -+++ meson.build -@@ -84,7 +84,7 @@ installed_tests_template = files('template.test.in') - installed_tests_template_tap = files('template-tap.test.in') - - # Don’t build the tests unless we can run them (either natively, in an exe wrapper, or by installing them for later use) --build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper()) or installed_tests_enabled -+build_tests = installed_tests_enabled - - add_project_arguments('-D_GNU_SOURCE', language: 'c') - --- -2.23.0 - diff --git a/cross/glibmm/Makefile b/cross/glibmm/Makefile index 5e988230886..64c1de78a6d 100644 --- a/cross/glibmm/Makefile +++ b/cross/glibmm/Makefile @@ -1,6 +1,6 @@ PKG_NAME = glibmm -PKG_SHORT_VERS = 2.64 -PKG_VERS = $(PKG_SHORT_VERS).5 +PKG_SHORT_VERS = 2.58 +PKG_VERS = $(PKG_SHORT_VERS).1 PKG_EXT = tar.xz PKG_DIR = $(PKG_NAME)-$(PKG_VERS) PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) @@ -12,6 +12,8 @@ HOMEPAGE = https://www.gtkmm.org/en/ COMMENT = GLib is a low-level general-purpose library used mainly by GTK+/GNOME applications, but is useful for other programs as well. glibmm is the C++ wrapper for GLib. LICENSE = LGPLv2.1 -CONFIGURE_ARGS += -Dman=false -Ddefault_library=shared +GNU_CONFIGURE = 1 +CONFIGURE_ARGS = --disable-documentation --disable-static +CONFIGURE_ARGS += GLIB_COMPILE_SCHEMAS=$(WORK_DIR)/../../../native/glib/work-native/glib-*/gio/glib-compile-schemas -include ../../mk/spksrc.cross-meson.mk +include ../../mk/spksrc.cross-cc.mk diff --git a/cross/glibmm/digests b/cross/glibmm/digests index 39d2eee7afe..8b66c58372f 100644 --- a/cross/glibmm/digests +++ b/cross/glibmm/digests @@ -1,3 +1,3 @@ -glibmm-2.64.5.tar.xz SHA1 9708181a796f20b540e8ee15ffeb3e194e851dc9 -glibmm-2.64.5.tar.xz SHA256 508fc86e2c9141198aa16c225b16fd6b911917c0d3817602652844d0973ea386 -glibmm-2.64.5.tar.xz MD5 02c40e6bc0721c564e4b033a18cb3a8e +glibmm-2.58.1.tar.xz SHA1 6c1900d06797f89666c03e24db77b56c846a7a88 +glibmm-2.58.1.tar.xz SHA256 6e5fe03bdf1e220eeffd543e017fd2fb15bcec9235f0ffd50674aff9362a85f0 +glibmm-2.58.1.tar.xz MD5 77f1016cbb27e15d4e04a2b7bfdb4cae diff --git a/cross/gnupg/Makefile b/cross/gnupg/Makefile index cf489f2e60d..322775cef8a 100644 --- a/cross/gnupg/Makefile +++ b/cross/gnupg/Makefile @@ -19,14 +19,14 @@ CONFIGURE_ARGS += --with-libassuan-prefix=$(STAGING_INSTALL_PREFIX) CONFIGURE_ARGS += --with-ksba-prefix=$(STAGING_INSTALL_PREFIX) CONFIGURE_ARGS += --with-npth-prefix=$(STAGING_INSTALL_PREFIX) -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk -ifeq ($(findstring $(ARCH),$(OLD_PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), powerpc ppc824x ppc853x ppc854x),$(ARCH)) # kernel before 2.6.36 do not support inotify CONFIGURE_ARGS += ac_cv_func_inotify_init=no endif -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(OLD_PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM5_ARCHES) powerpc ppc824x ppc853x ppc854x),$(ARCH)) # use clock_gettime of librt ADDITIONAL_LDFLAGS = -lrt endif diff --git a/cross/haproxy/Makefile b/cross/haproxy/Makefile index cec5266efe2..da1b077e8d2 100644 --- a/cross/haproxy/Makefile +++ b/cross/haproxy/Makefile @@ -20,12 +20,12 @@ BUILD_OPTIONS = USE_TPROXY=1 USE_PTHREAD_PSHARED=1 USE_OPENSSL=1 USE_ZLIB=1 BUILD_OPTIONS += USE_PCRE2=1 PCRE2_INC=$(INSTALL_DIR)$(INSTALL_PREFIX)/include PCRE2_LIB=$(INSTALL_DIR)$(INSTALL_PREFIX)/lib BUILD_OPTIONS += USE_LUA=1 LUA_INC=$(INSTALL_DIR)$(INSTALL_PREFIX)/include LUA_LIB=$(INSTALL_DIR)$(INSTALL_PREFIX)/lib -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk ARCH_OPTIONS = -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(OLD_PPC_ARCHS)),$(ARCH)) -# ARMv5 and PPC archs (except QorIQ) have older kernels and need rt library for clock_gettime() +ifeq ($(findstring $(ARCH), $(ARM5_ARCHES) powerpc ppc824x ppc853x ppc854x),$(ARCH)) +# ARM5_ARCHES and PPC_ARCHES (except QorIQ) have older kernels and need rt library for clock_gettime() BUILD_OPTIONS += USE_RT=1 ADDITIONAL_CFLAGS += -DLUA_32BITS endif @@ -33,7 +33,7 @@ ifeq ($(findstring $(ARCH), qoriq),$(ARCH)) BUILD_OPTIONS += ADDLIB=-latomic endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x64_ARCHES)),$(ARCH)) ARCH_OPTIONS = ARCH=x86_64 endif diff --git a/cross/ifuse/Makefile b/cross/ifuse/Makefile index 2ffa1bc8958..ff52b03c504 100644 --- a/cross/ifuse/Makefile +++ b/cross/ifuse/Makefile @@ -21,13 +21,14 @@ IFUSE_AUTOGEN_ARGS = include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARM_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM_ARCHES)),$(ARCH)) IFUSE_AUTOGEN_ARGS += --host=arm-linux endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) IFUSE_AUTOGEN_ARGS += --host=ppc-linux endif + .PHONY ifuse_pre_configure: ifuse_pre_configure: $(RUN) ./autogen.sh $(IFUSE_AUTOGEN_ARGS) diff --git a/cross/imagemagick/Makefile b/cross/imagemagick/Makefile index 0df8a3093f9..d5c547fbd4c 100644 --- a/cross/imagemagick/Makefile +++ b/cross/imagemagick/Makefile @@ -18,8 +18,8 @@ INSTALL_TARGET = imagemagick_install include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(OLD_PPC_ARCHS)),$(ARCH)) -# ARMv5 and PPC archs (except QorIQ) have older kernels +ifeq ($(findstring $(ARCH), $(ARM5_ARCHES) powerpc ppc824x ppc853x ppc854x),$(ARCH)) +# ARM5_ARCHES and PPC_ARCHES (except QorIQ) have older kernels # linking to lib rt fixes unreferenced clock_gettime CONFIGURE_ARGS += CFLAGS=-lrt endif diff --git a/cross/intel-media-driver/Makefile b/cross/intel-media-driver/Makefile index ff7069bd1ce..f5c593a796d 100644 --- a/cross/intel-media-driver/Makefile +++ b/cross/intel-media-driver/Makefile @@ -6,7 +6,7 @@ PKG_DIST_SITE = https://github.com/intel/media-driver/archive PKG_DIR = media-driver-$(PKG_NAME)-$(PKG_VERS) DEPENDS = cross/gmmlib -UNSUPPORTED_ARCHS = $(ARM_ARCHS) $(PPC_ARCHS) $(i686_ARCHS) +UNSUPPORTED_ARCHS = $(ARM_ARCHES) $(PPC_ARCHES) $(x86_ARCHES) HOMEPAGE = https://github.com/intel/media-driver COMMENT = The Intel Media Driver for VAAPI is a new VA-API (Video Acceleration API) user mode driver supporting hardware accelerated decoding, encoding, and video post processing for GEN based graphics hardware. diff --git a/cross/intel-media-sdk/Makefile b/cross/intel-media-sdk/Makefile index b0766f03497..8eb5a3923a8 100644 --- a/cross/intel-media-sdk/Makefile +++ b/cross/intel-media-sdk/Makefile @@ -6,7 +6,7 @@ PKG_DIST_SITE = https://github.com/Intel-Media-SDK/MediaSDK/archive PKG_DIR = MediaSDK-$(PKG_NAME)-$(PKG_VERS) DEPENDS = cross/intel-media-driver -UNSUPPORTED_ARCHS = $(ARM_ARCHS) $(PPC_ARCHS) $(i686_ARCHS) +UNSUPPORTED_ARCHS = $(ARM_ARCHES) $(PPC_ARCHES) $(x86_ARCHES) HOMEPAGE = http://mediasdk.intel.com COMMENT = Intel Media SDK provides a plain C API to access hardware-accelerated video decode, encode and filtering on Intel® Gen graphics hardware platforms. Implementation written in C++ 11 with parts in C-for-Media (CM). diff --git a/cross/iperf3/Makefile b/cross/iperf3/Makefile index 4ff4ec93749..ab78ea75710 100644 --- a/cross/iperf3/Makefile +++ b/cross/iperf3/Makefile @@ -1,5 +1,5 @@ PKG_NAME = iperf3 -PKG_VERS = 3.9 +PKG_VERS = 3.7 PKG_EXT = tar.gz PKG_NAME_REAL = iperf PKG_DIST_NAME = $(PKG_VERS).$(PKG_EXT) diff --git a/cross/iperf3/digests b/cross/iperf3/digests index d86c3bfdb03..13f8eeda0fa 100644 --- a/cross/iperf3/digests +++ b/cross/iperf3/digests @@ -1,3 +1,3 @@ -iperf-3.9.tar.gz SHA1 52c9e7668d7cd371e5dabf187aab3123d0550145 -iperf-3.9.tar.gz SHA256 c6d8076b800f2b51f92dc941b0a9b77fbf2a867f623b5cb3cbf4754dabc40899 -iperf-3.9.tar.gz MD5 510fdb0943e88da5e0063f4599fa14f3 +iperf-3.7.tar.gz SHA1 13f8218d5321aef459749ab045e8ef8b57851f6b +iperf-3.7.tar.gz SHA256 c349924a777e8f0a70612b765e26b8b94cc4a97cc21a80ed260f65e9823c8fc5 +iperf-3.7.tar.gz MD5 9534aae7430791b46d8cb8fc44afb6f8 diff --git a/cross/js/Makefile b/cross/js/Makefile index 4fc310ab809..159687a076a 100644 --- a/cross/js/Makefile +++ b/cross/js/Makefile @@ -22,19 +22,19 @@ CONFIGURE_ARGS = ac_cv_va_copy=C99 --disable-dependency-tracking --disable-stati PRE_COMPILE_TARGET = js_pre_compile -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk PRE_COMPILE_HOST_CPU = -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x64_ARCHES)),$(ARCH)) PRE_COMPILE_HOST_CPU = -D__x86_64__ endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x86_ARCHES)),$(ARCH)) PRE_COMPILE_HOST_CPU = -D__i386__ endif -ifeq ($(findstring $(ARCH),$(ARM_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM_ARCHES)),$(ARCH)) PRE_COMPILE_HOST_CPU = -D__arm__ endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) PRE_COMPILE_HOST_CPU = -D__powerpc__ endif diff --git a/cross/lame/Makefile b/cross/lame/Makefile index 7c1b92b4899..ac17ac4a8dc 100644 --- a/cross/lame/Makefile +++ b/cross/lame/Makefile @@ -18,7 +18,7 @@ NASM_PATH = $(WORK_DIR)/../../../native/nasm/work-native/install/usr/local/bin include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(x64_ARCHS) $(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x86_ARCHES)),$(ARCH)) DEPENDS += native/nasm ENV += AS=$(NASM_PATH)/nasm ENV += PATH=$(NASM_PATH):$$PATH diff --git a/cross/libaom/Makefile b/cross/libaom/Makefile index 43c5c0efcc3..c3cdd7969e4 100644 --- a/cross/libaom/Makefile +++ b/cross/libaom/Makefile @@ -8,13 +8,13 @@ PKG_DIST_SITE = https://aomedia.googlesource.com/aom PKG_DIST_FILE = $(PKG_NAME)-git$(PKG_GIT_HASH).$(PKG_EXT) PKG_DIR = $(PKG_NAME)-git$(PKG_GIT_HASH) -DEPENDS = +DEPENDS = HOMEPAGE = https://aomedia.googlesource.com/aom/ COMMENT = AOMedia Video 1 (AV1) is an open, royalty-free video coding format designed for video transmissions over the Internet. LICENSE = Royalty-free -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) +UNSUPPORTED_ARCHS = $(ARM5_ARCHES) $(PPC_ARCHES) # Set working directory PKG_WORK_DIR = $(WORK_DIR)/$(PKG_NAME)_$(PKG_VERS)-build @@ -26,28 +26,26 @@ include ../../mk/spksrc.cross-cmake.mk # libaom specific cmake options CMAKE_ARGS += -DCONFIG_AV1_ENCODER=1 -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM5_ARCHES)),$(ARCH)) CMAKE_ARGS += -DAOM_TARGET_CPU=arm endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM7_ARCHES)),$(ARCH)) CMAKE_ARGS += -DAOM_TARGET_CPU=arm endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM8_ARCHES)),$(ARCH)) CMAKE_ARGS += -DAOM_TARGET_CPU=arm64 endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) CMAKE_ARGS += -DAOM_TARGET_CPU=ppc -# avoid error: AltiVec and SPE instructions cannot coexist -CMAKE_ARGS += -DENABLE_VSX=0 endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x64_ARCHES)),$(ARCH)) CMAKE_ARGS += -DAOM_TARGET_CPU=x86_64 endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x86_ARCHES)),$(ARCH)) CMAKE_ARGS += -DAOM_TARGET_CPU=x86 endif diff --git a/cross/libdrm/Makefile b/cross/libdrm/Makefile index 3f42055da24..641312714ed 100644 --- a/cross/libdrm/Makefile +++ b/cross/libdrm/Makefile @@ -1,6 +1,6 @@ PKG_NAME = libdrm -PKG_VERS = 2.4.103 -PKG_EXT = tar.xz +PKG_VERS = 2.4.100 +PKG_EXT = tar.bz2 PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://dri.freedesktop.org/libdrm PKG_DIR = $(PKG_NAME)-$(PKG_VERS) @@ -11,10 +11,10 @@ HOMEPAGE = COMMENT = Userspace interface to kernel DRM services LICENSE = -CONFIGURE_ARGS = -Dlibdir=lib -CONFIGURE_ARGS += -Dradeon=false -CONFIGURE_ARGS += -Damdgpu=false -CONFIGURE_ARGS += -Dnouveau=false -CONFIGURE_ARGS += -Dvmwgfx=false +GNU_CONFIGURE = 1 -include ../../mk/spksrc.cross-meson.mk +CONFIGURE_ARGS = --disable-radeon +CONFIGURE_ARGS += --disable-amdgpu +CONFIGURE_ARGS += --disable-nouveau + +include ../../mk/spksrc.cross-cc.mk diff --git a/cross/libdrm/digests b/cross/libdrm/digests index ecbcc994193..f21e7314ffd 100644 --- a/cross/libdrm/digests +++ b/cross/libdrm/digests @@ -1,3 +1,3 @@ -libdrm-2.4.103.tar.xz SHA1 7583f6c48fca590cbf813e6d92bc4d26f7f4e0ee -libdrm-2.4.103.tar.xz SHA256 3fe0affdba6460166a7323290c18cf68e9b59edcb520722826cb244e9cb50222 -libdrm-2.4.103.tar.xz MD5 002e4e06e7f23fadc2ec6dbd03f3d1ee +libdrm-2.4.100.tar.bz2 SHA1 9f526909aba08b5658cfba3f7fde9385cad6f3b5 +libdrm-2.4.100.tar.bz2 SHA256 c77cc828186c9ceec3e56ae202b43ee99eb932b4a87255038a80e8a1060d0a5d +libdrm-2.4.100.tar.bz2 MD5 f47bc87e28198ba527e6b44ffdd62f65 diff --git a/cross/libgpg-error/Makefile b/cross/libgpg-error/Makefile index 0a63e6b93ff..7d1a67dcd30 100644 --- a/cross/libgpg-error/Makefile +++ b/cross/libgpg-error/Makefile @@ -15,7 +15,7 @@ GNU_CONFIGURE = 1 include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM8_ARCHES)),$(ARCH)) # rename aarch64-unknown-linux-gnueabi to aarch64-unknown-linux-gnu # to match provided syscfg/lock-obj-pub.aarch64-unknown-linux-gnu.h CONFIGURE_ARGS = --host=aarch64-unknown-linux-gnu diff --git a/cross/libicu/Makefile b/cross/libicu/Makefile index 6df0aed8c22..d38f46c0b4b 100644 --- a/cross/libicu/Makefile +++ b/cross/libicu/Makefile @@ -15,22 +15,22 @@ COMMENT = International Components for Unicode LICENSE = https://www.unicode.org/copyright.html#License GNU_CONFIGURE = 1 -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM5_ARCHES)),$(ARCH)) CONFIGURE_ARGS = --host=arm-unknown-linux-gnueabi endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM7_ARCHES)),$(ARCH)) CONFIGURE_ARGS = --host=arm-unknown-linux-gnueabi endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM8_ARCHES)),$(ARCH)) CONFIGURE_ARGS = --host=aarch64-unknown-linux-gnu endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) CONFIGURE_ARGS = --host=powerpc-unknown-linux-gnu endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x86_ARCHES)),$(ARCH)) CONFIGURE_ARGS = --host=i686-pc-linux-gnu endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x64_ARCHES)),$(ARCH)) CONFIGURE_ARGS = --host=x86_64-pc-linux-gnu endif NATIVE_BUILD_DIR = $(WORK_DIR)/../../../native/$(PKG_NAME)/work-native/$(PKG_DIR) diff --git a/cross/libimagequant/Makefile b/cross/libimagequant/Makefile index 2a9d6a861ab..36b6225be24 100644 --- a/cross/libimagequant/Makefile +++ b/cross/libimagequant/Makefile @@ -2,11 +2,12 @@ PKG_NAME = libimagequant PKG_VERS = 2.12.6 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_VERS).$(PKG_EXT) -PKG_DIST_SITE = https://github.com/ImageOptim/$(PKG_NAME)/archive -PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) +PKG_DIST_SITE = https://github.com/ImageOptim/libimagequant/archive PKG_DIR = $(PKG_NAME)-$(PKG_VERS) +# Set an appropriate filename as release files on github doesn't +PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) -DEPENDS = +DEPENDS = HOMEPAGE = https://pngquant.org/lib/ COMMENT = Small, portable C library for high-quality conversion of RGBA images to 8-bit indexed-color (palette) images. @@ -15,9 +16,7 @@ LICENSE = GPLv3 GNU_CONFIGURE = 1 ADDITIONAL_CFLAGS = -O3 -include ../../mk/spksrc.archs.mk - -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x64_ARCHES)),$(ARCH)) CONFIGURE_ARGS += --enable-sse else CONFIGURE_ARGS += --disable-sse diff --git a/cross/libimobiledevice/Makefile b/cross/libimobiledevice/Makefile index b07fd0a6296..1566aab0450 100644 --- a/cross/libimobiledevice/Makefile +++ b/cross/libimobiledevice/Makefile @@ -21,10 +21,10 @@ LIBIMOBILEDEVICE_AUTOGEN_ARGS = $(CONFIGURE_ARGS) include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARM_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM_ARCHES)),$(ARCH)) LIBIMOBILEDEVICE_AUTOGEN_ARGS += --host=arm-linux endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) LIBIMOBILEDEVICE_AUTOGEN_ARGS += --host=ppc-linux endif diff --git a/cross/libmysqlclient/Makefile b/cross/libmysqlclient/Makefile index 71841537eb5..61ba09ce890 100644 --- a/cross/libmysqlclient/Makefile +++ b/cross/libmysqlclient/Makefile @@ -30,7 +30,7 @@ CMAKE_ARGS += -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci CMAKE_ARGS += -DSHARED_LIB_PATCH_VERSION=0 # Use gcc builtin atomic functions for ppc architectures -ifneq ($(findstring $(ARCH),$(PPC_ARCHS)),) +ifneq ($(findstring $(ARCH),$(PPC_ARCHES)),) CMAKE_ARGS += -DHAVE_GCC_ATOMIC_BUILTINS=1 endif diff --git a/cross/libplist/Makefile b/cross/libplist/Makefile index 40c803f83fb..1e8b0ca9df6 100644 --- a/cross/libplist/Makefile +++ b/cross/libplist/Makefile @@ -19,13 +19,15 @@ LIBPLIST_AUTOGEN_ARGS = $(CONFIGURE_ARGS) include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARM_ARCHS)),$(ARCH)) + +ifeq ($(findstring $(ARCH), $(ARM_ARCHES)),$(ARCH)) LIBPLIST_AUTOGEN_ARGS += --host=arm-linux endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) LIBPLIST_AUTOGEN_ARGS += --host=ppc-linux endif + .PHONY: libplist_pre_configure libplist_pre_configure: $(RUN) ; NOCONFIGURE=1 ./autogen.sh $(LIBPLIST_AUTOGEN_ARGS) diff --git a/cross/librsync/Makefile b/cross/librsync/Makefile index a8247c0d6f9..65938afbb35 100644 --- a/cross/librsync/Makefile +++ b/cross/librsync/Makefile @@ -25,22 +25,22 @@ CMAKE_ARGS += -Wno-dev include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM5_ARCHES)),$(ARCH)) CMAKE_ARGS += -D CMAKE_SYSTEM_PROCESSOR=armv5 endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM7_ARCHES)),$(ARCH)) CMAKE_ARGS += -D CMAKE_SYSTEM_PROCESSOR=armv7 endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x64_ARCHES)),$(ARCH)) CMAKE_ARGS += -D CMAKE_SYSTEM_PROCESSOR=x86_64 endif -ifeq ($(findstring $(ARCH),$(i686_ARCES)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x86_ARCHES)),$(ARCH)) CMAKE_ARGS += -D CMAKE_SYSTEM_PROCESSOR=i686 endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM8_ARCHES)),$(ARCH)) CMAKE_ARGS += -D CMAKE_SYSTEM_PROCESSOR=aarch64 endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) CMAKE_ARGS += -D CMAKE_SYSTEM_PROCESSOR=ppc endif diff --git a/cross/libsigc++/Makefile b/cross/libsigc++/Makefile index 2bfac8b6ef7..696c4e1f05b 100644 --- a/cross/libsigc++/Makefile +++ b/cross/libsigc++/Makefile @@ -1,6 +1,6 @@ PKG_NAME = libsigc++ PKG_SHORT_VERS = 2.10 -PKG_VERS = $(PKG_SHORT_VERS).6 +PKG_VERS = $(PKG_SHORT_VERS).3 PKG_EXT = tar.xz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://download.gnome.org/sources/$(PKG_NAME)/$(PKG_SHORT_VERS) @@ -16,4 +16,7 @@ HOMEPAGE = http://libsigc.sourceforge.net/ COMMENT = libsigc++ implements a typesafe callback system for standard C++ LICENSE = LGPL -include ../../mk/spksrc.cross-meson.mk +GNU_CONFIGURE = 1 + +include ../../mk/spksrc.cross-cc.mk + diff --git a/cross/libsigc++/digests b/cross/libsigc++/digests index c8715c59245..f3f25c9f6b8 100644 --- a/cross/libsigc++/digests +++ b/cross/libsigc++/digests @@ -1,3 +1,3 @@ -libsigc++-2.10.6.tar.xz SHA1 d59622d729cf18e507dcd54b317ebd77e0f693a8 -libsigc++-2.10.6.tar.xz SHA256 dda176dc4681bda9d5a2ac1bc55273bdd381662b7a6d49e918267d13e8774e1b -libsigc++-2.10.6.tar.xz MD5 34fdf5910c32763e5fbe61ac2a37cec2 +libsigc++-2.10.3.tar.xz SHA1 fb76ce551efa88e9aa4e84424ca1ab9fe75570bf +libsigc++-2.10.3.tar.xz SHA256 0b68dfc6313c6cc90ac989c6d722a1bf0585ad13846e79746aa87cb265904786 +libsigc++-2.10.3.tar.xz MD5 ea68c7afc23a4b89a2dfa78344460785 diff --git a/cross/libthreadar/Makefile b/cross/libthreadar/Makefile index ea58b7e339a..1b0a3eabebf 100644 --- a/cross/libthreadar/Makefile +++ b/cross/libthreadar/Makefile @@ -8,7 +8,7 @@ PKG_DIR = $(PKG_NAME)-$(PKG_VERS) DEPENDS = # archs without C++11 support are not supported: -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(ARMv7L_ARCHS) $(OLD_PPC_ARCHS) +UNSUPPORTED_ARCHS = $(ARM5_ARCHES) hi3535 powerpc ppc824x ppc853x ppc854x HOMEPAGE = http://libthreadar.sourceforge.net/ COMMENT = Libthreadar is a C++ library providing a small set of C++ classes to manipulate threads in a very simple and efficient way from your C++ code. diff --git a/cross/libtorrent/Makefile b/cross/libtorrent/Makefile index 8391d4264d4..d16d0c1df4b 100644 --- a/cross/libtorrent/Makefile +++ b/cross/libtorrent/Makefile @@ -9,9 +9,9 @@ PKG_DIR = $(PKG_NAME)-rasterbar-$(PKG_VERS) DEPENDS = cross/python cross/boost cross/geoip cross/libiconv cross/openssl # cross/boost: archs lacking C++11 compiler (88f6281 and ppc archs except QorIQ) -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PCC_ARCHS) +UNSUPPORTED_ARCHS = 88f6281 powerpc ppc824x ppc853x ppc854x # libtorrent: -UNSUPPORTED_ARCHS += $(ARMv7L_ARCHS) +UNSUPPORTED_ARCHS += hi3535 HOMEPAGE = https://www.rasterbar.com/products/libtorrent COMMENT = libtorrent is a feature complete C++ bittorrent implementation focusing on efficiency and scalability. It runs on embedded devices as well as desktops. diff --git a/cross/libusb/Makefile b/cross/libusb/Makefile index 85e1337b577..9d395abe140 100644 --- a/cross/libusb/Makefile +++ b/cross/libusb/Makefile @@ -20,10 +20,10 @@ LIBUSB_AUTOGEN_ARGS = $(CONFIGURE_ARGS) include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARM_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM_ARCHES)),$(ARCH)) LIBUSB_AUTOGEN_ARGS += --host=arm-linux endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) LIBUSB_AUTOGEN_ARGS += --host=ppc-linux endif diff --git a/cross/libusbmuxd/Makefile b/cross/libusbmuxd/Makefile index 9f4b42108b4..129f1118eb5 100644 --- a/cross/libusbmuxd/Makefile +++ b/cross/libusbmuxd/Makefile @@ -19,13 +19,14 @@ LIBUSBMUXD_AUTOGEN_ARGS = include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARM_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM_ARCHES)),$(ARCH)) LIBUSBMUXD_AUTOGEN_ARGS += --host=arm-linux endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) LIBUSBMUXD_AUTOGEN_ARGS += --host=ppc-linux endif + .PHONY: libusbmuxd_pre_configure libusbmuxd_pre_configure: $(RUN) NOCONFIGURE=1 ./autogen.sh $(LIBUSBMUXD_AUTOGEN_ARGS) diff --git a/cross/libvpx/Makefile b/cross/libvpx/Makefile index db843d7a71c..a0adec84ca9 100644 --- a/cross/libvpx/Makefile +++ b/cross/libvpx/Makefile @@ -25,31 +25,31 @@ CONFIGURE_ARGS += --disable-multithread include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM5_ARCHES)),$(ARCH)) CONFIGURE_ARGS += --target=generic-gnu endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM7_ARCHES)),$(ARCH)) CONFIGURE_ARGS += --target=armv7-linux-gcc endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM8_ARCHES)),$(ARCH)) CONFIGURE_ARGS += --target=armv8-linux-gcc endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x86_ARCHES)),$(ARCH)) DEPENDS += native/yasm ENV += PATH=$(YASM_PATH):$$PATH CONFIGURE_ARGS += --target=x86-linux-gcc --as=yasm endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x64_ARCHES)),$(ARCH)) DEPENDS += native/yasm ENV += PATH=$(YASM_PATH):$$PATH CONFIGURE_ARGS += --target=x86_64-linux-gcc --as=yasm endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) CONFIGURE_ARGS += --target=generic-gnu endif diff --git a/cross/libwebsockets/Makefile b/cross/libwebsockets/Makefile index 6b294b099c8..c2e3981c7cc 100644 --- a/cross/libwebsockets/Makefile +++ b/cross/libwebsockets/Makefile @@ -9,7 +9,7 @@ PKG_DIR = $(PKG_NAME)-$(PKG_VERS) DEPENDS = cross/openssl # ppc except qoriq -UNSUPPORTED_ARCHS = $(OLD_PCC_ARCHS) +UNSUPPORTED_ARCHS = powerpc ppc824x ppc853x ppc854x HOMEPAGE = https://libwebsockets.org/ COMMENT = Libwebsockets (LWS) is a flexible, lightweight pure C library for implementing modern network protocols easily with a tiny footprint, using a nonblocking event loop. diff --git a/cross/monit/Makefile b/cross/monit/Makefile index 37cdabf335f..63d9b3023cc 100644 --- a/cross/monit/Makefile +++ b/cross/monit/Makefile @@ -18,9 +18,9 @@ CONFIGURE_ARGS = --without-pam #CONFIGURE_ARGS += --enable-optimized CONFIGURE_ARGS += libmonit_cv_setjmp_available=yes libmonit_cv_vsnprintf_c99_conformant=yes -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) CONFIGURE_ARGS += ac_cv_c_bigendian=yes else CONFIGURE_ARGS += ac_cv_c_bigendian=no diff --git a/cross/mono/Makefile b/cross/mono/Makefile index e0afe3dc9fe..a30f105662c 100644 --- a/cross/mono/Makefile +++ b/cross/mono/Makefile @@ -14,7 +14,7 @@ LICENSE = https://www.mono-project.com/docs/faq/licensing REQUIRED_DSM = 5.0 # Although qoriq can be compiled successfully it won't run as classic floating point unit not available # For details see: https://github.com/SynoCommunity/spksrc/issues/3470#issuecomment-469391052 -UNSUPPORTED_ARCHS = $(PPC_ARCHS) +UNSUPPORTED_ARCHS = $(PPC_ARCHES) PRE_CONFIGURE_TARGET = mono_pre_configure GNU_CONFIGURE = 1 @@ -30,21 +30,21 @@ ADDITIONAL_CFLAGS = -Os include ../../mk/spksrc.cross-cc.mk PLIST_TRANSFORM = cat -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM5_ARCHES)),$(ARCH)) AG_ARGS = --host=arm-linux PLIST_TRANSFORM = sed -e '/:lib\/libmono-btls-shared.so/d' endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM7_ARCHES)),$(ARCH)) AG_ARGS = --host=arm-linux ifeq ($(findstring $(TCVERSION), "5.0 5.1 5.2"),$(TCVERSION)) PLIST_TRANSFORM = sed -e '/:lib\/libmono-btls-shared.so/d' endif endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM8_ARCHES)),$(ARCH)) AG_ARGS = --host=aarch64-linux PLIST_TRANSFORM = sed -e '/:bin\/mono-boehm/d' -e '/:lib\/libmonoboehm/d' endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x86_ARCHES)),$(ARCH)) ifeq ($(findstring $(TCVERSION), "5.0 5.1 5.2"),$(TCVERSION)) PLIST_TRANSFORM = sed -e '/:lib\/libmono-btls-shared.so/d' endif diff --git a/cross/mutt/Makefile b/cross/mutt/Makefile index abea250437b..55656eed9c5 100644 --- a/cross/mutt/Makefile +++ b/cross/mutt/Makefile @@ -1,5 +1,5 @@ PKG_NAME = mutt -PKG_VERS = 2.0.3 +PKG_VERS = 1.13.4 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = ftp://ftp.mutt.org/pub/$(PKG_NAME) @@ -21,4 +21,4 @@ include ../../mk/spksrc.cross-cc.mk .PHONY: mutt_install mutt_install: $(RUN) $(MAKE) install DESTDIR=$(INSTALL_DIR) - cp $(WORK_DIR)/$(PKG_DIR)/doc/Muttrc.head $(STAGING_INSTALL_PREFIX)/etc/Muttrc + cp $(WORK_DIR)/$(PKG_DIR)/doc/Muttrc $(STAGING_INSTALL_PREFIX)/etc/Muttrc diff --git a/cross/mutt/digests b/cross/mutt/digests index 7f12ef85eae..7e7983600cd 100644 --- a/cross/mutt/digests +++ b/cross/mutt/digests @@ -1,3 +1,3 @@ -mutt-2.0.3.tar.gz SHA1 02fb63980031df89d19939ec801b763e08b3023f -mutt-2.0.3.tar.gz SHA256 9c327cafb7acbfd4a57e7c817148fe438720a4545a5f628926f7745bc752c1ed -mutt-2.0.3.tar.gz MD5 34be16eacfdd6aca5d54d67e1075b6a4 +mutt-1.13.4.tar.gz SHA1 2d009e2dee3814fd6416ea12f9a501c475367ea3 +mutt-1.13.4.tar.gz SHA256 b57d3f1040d8018114cf1033dab229f36e4becbcdf59c2edeb294fc044ffcd04 +mutt-1.13.4.tar.gz MD5 8f08d01bb6379ce4f803560db3f1bc65 diff --git a/cross/nodejs/Makefile b/cross/nodejs/Makefile index 175bd81928e..5dc30e41cbd 100644 --- a/cross/nodejs/Makefile +++ b/cross/nodejs/Makefile @@ -5,7 +5,7 @@ PKG_DIST_NAME = node-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://nodejs.org/dist/$(PKG_VERS) PKG_DIR = node-$(PKG_VERS) -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(ARMv7L_ARCHS) $(PPC_ARCHS) +UNSUPPORTED_ARCHS = 88f6281 hi3535 ppc853x qoriq HOMEPAGE = https://www.nodejs.org COMMENT = A JavaScript runtime built on Chrome\'s V8 JavaScript engine. @@ -15,38 +15,39 @@ CONFIGURE_ARGS = --cross-compiling --dest-os=linux --prefix=$(INSTALL_PREFIX) include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM5_ARCHES)),$(ARCH)) ENV += CC_host="gcc -m32" ENV += CXX_host="g++ -m32" CONFIGURE_ARGS += --dest-cpu=arm endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM7_ARCHES)),$(ARCH)) ENV += CC_host="gcc -m32" ENV += CXX_host="g++ -m32" CONFIGURE_ARGS += --dest-cpu=arm endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM8_ARCHES)),$(ARCH)) ENV += CC_host=gcc ENV += CXX_host=g++ CONFIGURE_ARGS += --dest-cpu=arm64 endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x86_ARCHES)),$(ARCH)) ENV += CC_host="gcc -m32" ENV += CXX_host="g++ -m32" CONFIGURE_ARGS += --dest-cpu=x86 endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x64_ARCHES)),$(ARCH)) ENV += CC_host=gcc ENV += CXX_host=g++ CONFIGURE_ARGS += --dest-cpu=x86_64 --openssl-no-asm endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) ENV += CC_host="gcc -m32" ENV += CXX_host="g++ -m32" CONFIGURE_ARGS += --dest-cpu=ppc endif + diff --git a/cross/ntopng/Makefile b/cross/ntopng/Makefile index 3e5331fa22c..99a9aefb195 100644 --- a/cross/ntopng/Makefile +++ b/cross/ntopng/Makefile @@ -15,32 +15,29 @@ HOMEPAGE = https://www.ntop.org/ COMMENT = ntopng is the next generation version of the original ntop, a network traffic probe that monitors network usage. ntopng is based on libpcap and it has been written in a portable way in order to virtually run on every Unix platform, MacOSX and on Windows as well. LICENSE = GPLv3 -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk SYNOLOGY_OS = DSM -ifeq ($(findstring $(ARCH),$(SRM_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(SRM_ARCHS)),$(ARCH)) SYNOLOGY_OS = SRM endif # similar to 'uname -m' on the target plattform (not essential, for information only) PACKAGE_MACHINE = x86_64 -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM5_ARCHES)),$(ARCH)) PACKAGE_MACHINE = armv5 endif -ifeq ($(findstring $(ARCH),$(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM7_ARCHES)),$(ARCH)) PACKAGE_MACHINE = armv7l endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS)),$(ARCH)) -PACKAGE_MACHINE = armv7 -endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM8_ARCHES)),$(ARCH)) PACKAGE_MACHINE = aarch64 endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) PACKAGE_MACHINE = ppc endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x86_ARCHES)),$(ARCH)) PACKAGE_MACHINE = i686 endif diff --git a/cross/numpy/Makefile b/cross/numpy/Makefile index 3bfbec3e83c..4b4003b6f5c 100644 --- a/cross/numpy/Makefile +++ b/cross/numpy/Makefile @@ -11,9 +11,9 @@ HOMEPAGE = https://numpy.org/ COMMENT = The fundamental package for scientific computing with Python LICENSE = https://numpy.org/doc/stable/license.html -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM8_ARCHES)),$(ARCH)) # workaround for compiler bug, see: https://github.com/numpy/numpy/issues/13622 ADDITIONAL_CFLAGS += -O0 endif diff --git a/cross/openssl/Makefile b/cross/openssl/Makefile index 99b24a6b7d8..7d34b5f991a 100644 --- a/cross/openssl/Makefile +++ b/cross/openssl/Makefile @@ -25,27 +25,27 @@ OPENSSL_DATA_DIR=/etc/ssl # Map ARCH to arch expected by openssl Configure OPENSSL_ARCH = -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x64_ARCHES)),$(ARCH)) OPENSSL_ARCH = linux-x86_64 endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x86_ARCHES)),$(ARCH)) OPENSSL_ARCH = linux-x86 endif -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM5_ARCHES)),$(ARCH)) OPENSSL_ARCH = linux-armv4 -march=armv5 endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM7_ARCHES)),$(ARCH)) OPENSSL_ARCH = linux-armv4 endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM8_ARCHES)),$(ARCH)) OPENSSL_ARCH = linux-aarch64 endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) OPENSSL_ARCH = linux-ppc endif ifeq ($(strip $(OPENSSL_ARCH)),) -# Unexpected CPU architecture. Please add arch to mk/spksrc.archs.mk +# Unexpected CPU architecture. Please add arch to mk/spksrc.common.mk $(error Arch $(ARCH) not expected yet) endif diff --git a/cross/pcre2/Makefile b/cross/pcre2/Makefile index 504ba6fb873..db7e69bea7b 100644 --- a/cross/pcre2/Makefile +++ b/cross/pcre2/Makefile @@ -16,8 +16,6 @@ CONFIGURE_ARGS += --enable-jit CONFIGURE_ARGS += --enable-pcre2-16 --enable-pcre2-32 CONFIGURE_ARGS += --enable-pcre2grep-libz --enable-pcre2grep-libbz2 --enable-pcre2grep-callout CONFIGURE_ARGS += --enable-pcre2test-libreadline -else -PLIST_TRANSFORM = sed -e '/:lib\/libpcre2-16.so\|:lib\/libpcre2-32.so/d' endif HOMEPAGE = https://www.pcre.org diff --git a/cross/pcre2/PLIST b/cross/pcre2/PLIST index 4e9a8abd7da..7b9acdd10e5 100644 --- a/cross/pcre2/PLIST +++ b/cross/pcre2/PLIST @@ -1,12 +1,6 @@ rsc:bin/pcre2-config bin:bin/pcre2grep bin:bin/pcre2test -lnk:lib/libpcre2-16.so -lnk:lib/libpcre2-16.so.0 -lib:lib/libpcre2-16.so.0.10.0 -lnk:lib/libpcre2-32.so -lnk:lib/libpcre2-32.so.0 -lib:lib/libpcre2-32.so.0.10.0 lnk:lib/libpcre2-8.so lnk:lib/libpcre2-8.so.0 lib:lib/libpcre2-8.so.0.10.0 diff --git a/cross/pixman/Makefile b/cross/pixman/Makefile index 803ba167b1c..7eb7c3ea43f 100644 --- a/cross/pixman/Makefile +++ b/cross/pixman/Makefile @@ -11,12 +11,20 @@ HOMEPAGE = https://www.cairographics.org COMMENT = Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization. LICENSE = MIT -CONFIGURE_ARGS = -Dgtk=disabled +GNU_CONFIGURE = 1 +CONFIGURE_ARGS = --disable-gtk -include ../../mk/spksrc.archs.mk +PRE_COMPILE_TARGET = pixman_pre_compile -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) -CONFIGURE_ARGS += -Diwmmxt=disabled + +ifeq ($(ARCH),hi3535) +CONFIGURE_ARGS += --disable-arm-iwmmxt endif -include ../../mk/spksrc.cross-meson.mk + +include ../../mk/spksrc.cross-cc.mk + +.PHONY: pixman_pre_compile +pixman_pre_compile: + @$(MSG) "- patch generated Makefile to skip compilation of demos and test code" + @$(RUN) sed -i 's|SUBDIRS = pixman demos test|SUBDIRS = pixman|g' ./Makefile diff --git a/cross/pngquant/Makefile b/cross/pngquant/Makefile index 2409ff802a9..cfc661ee423 100644 --- a/cross/pngquant/Makefile +++ b/cross/pngquant/Makefile @@ -15,9 +15,7 @@ GNU_CONFIGURE = 1 ADDITIONAL_CFLAGS = -O3 CONFIGURE_ARGS = --with-libimagequant -include ../../mk/spksrc.archs.mk - -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x64_ARCHES)),$(ARCH)) CONFIGURE_ARGS += --enable-sse else CONFIGURE_ARGS += --disable-sse diff --git a/cross/redis/Makefile b/cross/redis/Makefile index de1389e6082..7fa2d39b08e 100644 --- a/cross/redis/Makefile +++ b/cross/redis/Makefile @@ -11,7 +11,7 @@ HOMEPAGE = https://redis.io COMMENT = Redis is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. LICENSE = BSD -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk GNU_CONFIGURE = 1 @@ -24,8 +24,8 @@ endif INSTALL_TARGET = redis_install -# use jemalloc for intel archs -ifeq ($(findstring $(ARCH),$(x64_ARCHS) $(i686_ARCHS)),$(ARCH)) +# use jemalloc for intel arches +ifeq ($(findstring $(ARCH),$(x64_ARCHES) $(x86_ARCHES)),$(ARCH)) ENV += USE_JEMALLOC=yes else ENV += USE_JEMALLOC=no diff --git a/cross/rhash/Makefile b/cross/rhash/Makefile index eb0f6c4f208..08b38960af1 100644 --- a/cross/rhash/Makefile +++ b/cross/rhash/Makefile @@ -12,21 +12,20 @@ HOMEPAGE = http://rhash.sourceforge.net/ COMMENT = RHash (Recursive Hasher) is a console utility for computing and verifying hash sums of files. It supports CRC32, CRC32C, MD4, MD5, SHA1, SHA256, SHA512, SHA3, AICH, ED2K, DC++ TTH, BitTorrent BTIH, Tiger, GOST R 34.11-94, RIPEMD-160, HAS-160, EDON-R, and Whirlpool. LICENSE = MIT -include ../../mk/spksrc.archs.mk -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM5_ARCHES) $(ARM7_ARCHES)),$(ARCH)) CONFIGURE_ARGS = --target=arm-linux endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM8_ARCHES)),$(ARCH)) CONFIGURE_ARGS = --target=aarch64-linux endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) CONFIGURE_ARGS = --target=ppc-linux endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x86_ARCHES)),$(ARCH)) CONFIGURE_ARGS = --target=x86-linux endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x64_ARCHES)),$(ARCH)) CONFIGURE_ARGS = --target=x86_64-linux endif CONFIGURE_ARGS += --prefix=$(INSTALL_PREFIX) --enable-symlinks --enable-static diff --git a/cross/rmlint/Makefile b/cross/rmlint/Makefile index d62cce09fd5..1d9f377a9cc 100644 --- a/cross/rmlint/Makefile +++ b/cross/rmlint/Makefile @@ -12,8 +12,8 @@ HOMEPAGE = https://rmlint.readthedocs.io COMMENT = rmlint finds space waste and other broken things on your filesystem and offers to remove it. LICENSE = GPLv3 -# PPC archs except QorIQ are not supported -UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) +# PPC_ARCHES except QorIQ are not supported +UNSUPPORTED_ARCHS = powerpc ppc824x ppc853x ppc854x CONFIGURE_TARGET = nop COMPILE_TARGET = rmlint_compile diff --git a/cross/rnm/Makefile b/cross/rnm/Makefile index 920de6e6c32..5d913675220 100644 --- a/cross/rnm/Makefile +++ b/cross/rnm/Makefile @@ -19,7 +19,7 @@ PRE_CONFIGURE_TARGET = rnm_pre_configure include ../../mk/spksrc.cross-cc.mk # requires gnu GCC >= 4.8 -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) +UNSUPPORTED_ARCHS = powerpc ppc824x ppc853x ppc854x $(ARM5_ARCHES) .PHONY: rnm_pre_configure rnm_pre_configure: diff --git a/cross/rtorrent/Makefile b/cross/rtorrent/Makefile index 9ebb0b52d06..6c997f074ac 100644 --- a/cross/rtorrent/Makefile +++ b/cross/rtorrent/Makefile @@ -6,12 +6,12 @@ PKG_DIST_SITE = https://github.com/rakshasa/rtorrent/archive PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIR = $(PKG_NAME)-$(PKG_VERS) -# PPC archs except qoriq -UNSUPPORTED_ARCHS = $(OLD_PCC_ARCHS) +# PPC_ARCHES except qoriq +UNSUPPORTED_ARCHS = powerpc ppc824x ppc853x ppc854x # error: template instantiation depth exceeds maximum of 900 (requires gcc >= 4.9) # see: https://github.com/rakshasa/rtorrent/issues/223 -UNSUPPORTED_ARCHS += $(ARMv7L_ARCHS) +UNSUPPORTED_ARCHS += hi3535 DEPENDS = cross/ncursesw cross/libsigc++ cross/curl cross/libtorrent-rakshasa cross/xmlrpc-c diff --git a/cross/stockfish-niklasf/Makefile b/cross/stockfish-niklasf/Makefile index 6c36f229825..2c4f89fa3d1 100644 --- a/cross/stockfish-niklasf/Makefile +++ b/cross/stockfish-niklasf/Makefile @@ -12,12 +12,12 @@ LICENSE = GPLv3 CONFIGURE_TARGET = nop INSTALL_TARGET = Stockfish-fishnet_install -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk -# Toolchains lacking c++11 compiler are not supported -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) +# Toolchains lacking c++11 compiler ar not supported +UNSUPPORTED_ARCHS = $(ARM5_ARCHES) powerpc ppc824x ppc853x ppc854x -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) # use builtin atomic support ADDITIONAL_LDFLAGS = -latomic endif @@ -25,19 +25,19 @@ endif include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM8_ARCHES)),$(ARCH)) BUILD_ARCH=arm64 endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM7_ARCHES)),$(ARCH)) BUILD_ARCH=armv7 endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x86_ARCHES)),$(ARCH)) BUILD_ARCH=x86-32 endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x64_ARCHES)),$(ARCH)) BUILD_ARCH=x86-64 endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) BUILD_ARCH=ppc-32 endif diff --git a/cross/stockfish/Makefile b/cross/stockfish/Makefile index bbecc06d21a..bcbbb191c3a 100644 --- a/cross/stockfish/Makefile +++ b/cross/stockfish/Makefile @@ -14,12 +14,12 @@ LICENSE = GPLv2/GPLv3 CONFIGURE_TARGET = nop INSTALL_TARGET = stockfish_install -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk # Toolchains lacking c++11 compiler ar not supported -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) +UNSUPPORTED_ARCHS = $(ARM5_ARCHES) powerpc ppc824x ppc853x ppc854x -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) # use builtin atomic support ADDITIONAL_LDFLAGS = -latomic endif @@ -27,19 +27,19 @@ endif include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM8_ARCHES)),$(ARCH)) BUILD_ARCH=arm64 endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM7_ARCHES)),$(ARCH)) BUILD_ARCH=armv7 endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x86_ARCHES)),$(ARCH)) BUILD_ARCH=x86-32 endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x64_ARCHES)),$(ARCH)) BUILD_ARCH=x86-64 endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) BUILD_ARCH=ppc-32 endif ifeq ($(BUILD_ARCH),) diff --git a/cross/svt-av1/Makefile b/cross/svt-av1/Makefile index 381073551cd..200a88ce48c 100644 --- a/cross/svt-av1/Makefile +++ b/cross/svt-av1/Makefile @@ -3,6 +3,7 @@ PKG_VERS = 0.8.4 PKG_EXT = tar.gz PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://github.com/OpenVisualCloud/SVT-AV1/archive +# Set an appropriate filename as release files on github doesn't PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIR = $(PKG_NAME)-$(PKG_VERS) @@ -12,7 +13,7 @@ HOMEPAGE = https://github.com/OpenVisualCloud/SVT-AV1 COMMENT = The Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) is an AV1-compliant encoder/decoder library core. LICENSE = SPDX short identifier: BSD-2-Clause-Patent -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(PPC_ARCHS) +UNSUPPORTED_ARCHS = $(ARM5_ARCHES) $(PPC_ARCHES) CMAKE_USE_NASM = 1 diff --git a/cross/svt-hevc/Makefile b/cross/svt-hevc/Makefile index 32421a7728a..a30c6efbbb4 100644 --- a/cross/svt-hevc/Makefile +++ b/cross/svt-hevc/Makefile @@ -3,17 +3,18 @@ PKG_VERS = 1.5.0 PKG_EXT = tar.gz PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://github.com/OpenVisualCloud/SVT-HEVC/archive +# Set an appropriate filename as release files on github doesn't PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIR = $(PKG_NAME)-$(PKG_VERS) -DEPENDS = +DEPENDS = HOMEPAGE = https://github.com/OpenVisualCloud/SVT-HEVC COMMENT = Scalable Video Technology (SVT) is a software-based video coding technology that is highly optimized for Intel® Xeon® processors allowing to spread video encoding processing across multiple processors to achieve a real advantage of processing efficiency. LICENSE = SPDX short identifier: BSD-2-Clause-Patent # SVT-HEVC is only supported on x86_64 Intel platforms -UNSUPPORTED_ARCHS = $(ARM_ARCHS) $(PPC_ARCHS) $(i686_ARCHS) +UNSUPPORTED_ARCHS = $(ARM5_ARCHES) $(ARM7_ARCHES) $(ARM8_ARCHES) $(PPC_ARCHES) $(x86_ARCHES) CMAKE_USE_NASM = 1 diff --git a/cross/tcl/Makefile b/cross/tcl/Makefile index 329cd7110a4..e0180d354ba 100644 --- a/cross/tcl/Makefile +++ b/cross/tcl/Makefile @@ -14,11 +14,11 @@ LICENSE = https://tcl.tk/software/tcltk/license.html GNU_CONFIGURE = 1 -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk # Enable 64-bit support in Tcl for x64 architectures # aarch64 does not support 64-bit (don't know magic for this platform) -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x64_ARCHES)),$(ARCH)) CONFIGURE_ARGS = --enable-64bit endif diff --git a/cross/tesseract-ocr/Makefile b/cross/tesseract-ocr/Makefile index 4e0af8fcf71..43ea624f933 100644 --- a/cross/tesseract-ocr/Makefile +++ b/cross/tesseract-ocr/Makefile @@ -15,13 +15,13 @@ LICENSE = Apache License 2.0 GNU_CONFIGURE = 1 CONFIGURE_ARGS = LIBLEPT_HEADERSDIR=$(STAGING_INSTALL_PREFIX)/include/leptonica -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk -ifeq ($(findstring $(ARCH),$(OLD_PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), powerpc ppc824x ppc853x ppc854x),$(ARCH)) # workaround and experimental c++ features for g++ compiler: ADDITIONAL_CXXFLAGS = -D nullptr=NULL -std=gnu++0x endif -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM5_ARCHES)),$(ARCH)) # enable experimental features for (old) g++ compiler: ADDITIONAL_CXXFLAGS = -std=gnu++0x endif @@ -30,6 +30,7 @@ PRE_CONFIGURE_TARGET = tesseract_pre_configure include ../../mk/spksrc.cross-cc.mk + .PHONY: tesseract_pre_configure tesseract_pre_configure: $(RUN) ./autogen.sh diff --git a/cross/tvheadend/Makefile b/cross/tvheadend/Makefile index e5c6ab60772..6973aa23442 100644 --- a/cross/tvheadend/Makefile +++ b/cross/tvheadend/Makefile @@ -41,11 +41,11 @@ endif include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM5_ARCHES)),$(ARCH)) CONFIGURE_ARGS += --nowerror endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x64_ARCHES)),$(ARCH)) CONFIGURE_ARGS += --enable-vaapi ifeq ($(wildcard $(FFMPEG_DIR)),) DEPENDS += cross/libva diff --git a/cross/usbmuxd/Makefile b/cross/usbmuxd/Makefile index 95aacd05a06..fb22c52adab 100644 --- a/cross/usbmuxd/Makefile +++ b/cross/usbmuxd/Makefile @@ -21,13 +21,14 @@ USBMUXD_AUTOGEN_ARGS = --without-cpython include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARM_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM_ARCHES)),$(ARCH)) USBMUXD_AUTOGEN_ARGS += --host=arm-linux endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) USBMUXD_AUTOGEN_ARGS += --host=ppc-linux endif + .PHONY: usbmuxd_pre_configure usbmuxd_pre_configure: $(RUN) NOCONFIGURE=1 ./autogen.sh $(USBMUXD_AUTOGEN_ARGS) diff --git a/cross/util-linux/Makefile b/cross/util-linux/Makefile index ac9011e350e..4ba1b5af3b7 100644 --- a/cross/util-linux/Makefile +++ b/cross/util-linux/Makefile @@ -17,9 +17,7 @@ GNU_CONFIGURE = 1 CONFIGURE_ARGS = --without-ncurses --without-python CONFIGURE_ARGS += --disable-all-programs --enable-libuuid -include ../../mk/spksrc.archs.mk - -ifeq ($(findstring $(ARCH),$(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), hi3535),$(ARCH)) CONFIGURE_ARGS += --disable-schedutils else CONFIGURE_ARGS += --enable-schedutils diff --git a/cross/vim/Makefile b/cross/vim/Makefile index 7b1eff86dee..df3c8b0a47b 100644 --- a/cross/vim/Makefile +++ b/cross/vim/Makefile @@ -23,10 +23,8 @@ CONFIGURE_ARGS += vi_cv_path_python3_pfx=$(PYTHON_PREFIX) CONFIGURE_ARGS += vi_cv_path_python3_epfx=$(PYTHON_EXEC_PREFIX) CONFIGURE_ARGS += vi_cv_path_python3path=$(PYTHONPATH) -include ../../mk/spksrc.archs.mk - # Avoid warning that _FORTIFY_SOURCE requires compiling with optimization -ifeq ($(findstring $(ARCH),$(OLD_PCC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),powerpc ppc824x ppc853x ppc854x),$(ARCH)) # With -O2 optimization there is an ICE with older ppc cross compilers # usercmd.c:1535: internal compiler error: in set_uids_in_ptset, at tree-ssa-structalias.c:4775 # bug of GCC 4.2/4.3 in tree-optimization diff --git a/cross/x264/Makefile b/cross/x264/Makefile index bcd9951fe92..056c18624f8 100644 --- a/cross/x264/Makefile +++ b/cross/x264/Makefile @@ -23,29 +23,29 @@ CONFIGURE_ARGS = --enable-shared --prefix=$(INSTALL_PREFIX) --enable-pic --cross include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM5_ARCHES) $(ARM7_ARCHES)),$(ARCH)) ENV += x264_ARCH=ARM CONFIGURE_ARGS += --disable-asm endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM8_ARCHES)),$(ARCH)) ENV += x264_ARCH=aarch64 CONFIGURE_ARGS += --disable-asm --host=arm-linux endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) ENV += x264_ARCH=PPC CONFIGURE_ARGS += --disable-asm endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x64_ARCHES)),$(ARCH)) DEPENDS += native/nasm ENV += AS=$(NASM_PATH)/nasm ENV += PATH=$(NASM_PATH):$$PATH ENV += x264_ARCH=X86_64 endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x86_ARCHES)),$(ARCH)) DEPENDS += native/nasm ENV += AS=$(NASM_PATH)/nasm ENV += PATH=$(NASM_PATH):$$PATH diff --git a/cross/x265/Makefile b/cross/x265/Makefile index 6f9808a174b..a43cb47ca7c 100644 --- a/cross/x265/Makefile +++ b/cross/x265/Makefile @@ -31,38 +31,38 @@ include ../../mk/spksrc.cross-cc.mk # gcc version above 4.8 required to support hdr10plus PLIST_TRANSFORM = sed -e '/:lib\/libhdr10plus.so/d' ifeq ($(findstring $(TCVERSION), "6.0.2 6.1 6.2"),$(TCVERSION)) -ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifneq ($(findstring $(ARCH), $(ARM5_ARCHES)),$(ARCH)) CMAKE_ARGS += -DENABLE_HDR10_PLUS=ON PLIST_TRANSFORM = cat endif endif -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM5_ARCHES)),$(ARCH)) CMAKE_ARGS += -DCROSS_COMPILE_ARM=ON -DENABLE_ASSEMBLY=OFF -DCMAKE_SYSTEM_PROCESSOR=armv5 endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM7_ARCHES)),$(ARCH)) CMAKE_ARGS += -DCMAKE_CXX_FLAGS=-fPIC -DCROSS_COMPILE_ARM=ON -DENABLE_ASSEMBLY=OFF CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=armv7 endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(ARM8_ARCHES)),$(ARCH)) CMAKE_ARGS += -DCMAKE_CXX_FLAGS=-fPIC -DCROSS_COMPILE_ARM=ON -DENABLE_ASSEMBLY=OFF CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=aarch64 endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=ppc64 -DENABLE_ALTIVEC=OFF -DCPU_POWER8=OFF endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x64_ARCHES)),$(ARCH)) DEPENDS += native/nasm cross/libnuma ENV += PATH=$(NASM_PATH):$$PATH ENV += AS=$(NASM_PATH)/nasm CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=x86_64 endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(x86_ARCHES)),$(ARCH)) DEPENDS += native/nasm cross/libnuma ENV += PATH=$(NASM_PATH):$$PATH ENV += AS=$(NASM_PATH)/nasm diff --git a/cross/zstd/Makefile b/cross/zstd/Makefile index 15ed070970a..81f580ea2af 100644 --- a/cross/zstd/Makefile +++ b/cross/zstd/Makefile @@ -1,6 +1,6 @@ PKG_NAME = zstd # warning: 1.4.4 and 1.4.5 fail for arch-aarch64 -PKG_VERS = 1.4.8 +PKG_VERS = 1.4.3 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://github.com/facebook/zstd/releases/download/v${PKG_VERS} @@ -12,7 +12,11 @@ HOMEPAGE = https://facebook.github.io/zstd/ COMMENT = Zstandard is a fast compression algorithm, providing high compression ratios. LICENSE = GPLv2/BSD -MESON_BUILD_DIR = build/meson -NINJA_BUILD_DIR = ./ +CONFIGURE_TARGET = nop +COMPILE_TARGET = zstd_compile -include ../../mk/spksrc.cross-meson.mk +include ../../mk/spksrc.cross-cc.mk + +.PHONY: zstd_compile +zstd_compile: + @$(RUN) $(MAKE) allmost diff --git a/cross/zstd/PLIST b/cross/zstd/PLIST index ea0380c58e9..0fdd399db3b 100644 --- a/cross/zstd/PLIST +++ b/cross/zstd/PLIST @@ -6,4 +6,4 @@ rsc:bin/zstdgrep rsc:bin/zstdless lnk:lib/libzstd.so lnk:lib/libzstd.so.1 -lib:lib/libzstd.so.1.4.8 +lib:lib/libzstd.so.1.4.3 diff --git a/cross/zstd/digests b/cross/zstd/digests index 54f9a5ab0f9..33f0e595db4 100644 --- a/cross/zstd/digests +++ b/cross/zstd/digests @@ -1,3 +1,3 @@ -zstd-1.4.8.tar.gz SHA1 2b79c836ed2e11956ebd112ddc731f1954b4074c -zstd-1.4.8.tar.gz SHA256 32478297ca1500211008d596276f5367c54198495cf677e9439f4791a4c69f24 -zstd-1.4.8.tar.gz MD5 e873db7cfa5ef05832e6d55a5a572840 +zstd-1.4.3.tar.gz SHA1 cadf7943c2df697e2350b3e6e3d156e5351519dc +zstd-1.4.3.tar.gz SHA256 e88ec8d420ff228610b77fba4fbf22b9f8b9d3f223a40ef59c9c075fcdad5767 +zstd-1.4.3.tar.gz MD5 8581c03b2f56c14ff097a737e60847b3 diff --git a/diyspk/dar/Makefile b/diyspk/dar/Makefile index 7ee955e9bc4..d7d0cd7121b 100644 --- a/diyspk/dar/Makefile +++ b/diyspk/dar/Makefile @@ -11,7 +11,7 @@ DISPLAY_NAME = DAR STARTABLE = no # archs without C++11 support are not supported (libthreadar): -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(ARMv7L_ARCHS) $(OLD_PPC_ARCHS) +UNSUPPORTED_ARCHS = $(ARM5_ARCHES) hi3535 powerpc ppc824x ppc853x ppc854x HOMEPAGE = http://dar.linux.free.fr/ diff --git a/diyspk/fritzctl/Makefile b/diyspk/fritzctl/Makefile index 88860e6adea..e055b12074f 100644 --- a/diyspk/fritzctl/Makefile +++ b/diyspk/fritzctl/Makefile @@ -16,6 +16,7 @@ LICENSE = MIT SPK_COMMANDS = bin/fritzctl -UNSUPPORTED_ARCHS = $(PPC_ARCHS) +GENERIC_ARCHS = ARM7 +UNSUPPORTED_ARCHS = $(PPC_ARCHES) include ../../mk/spksrc.spk.mk diff --git a/diyspk/iperf3/Makefile b/diyspk/iperf3/Makefile index b0cf17d96e4..a0c7b8891a2 100644 --- a/diyspk/iperf3/Makefile +++ b/diyspk/iperf3/Makefile @@ -1,6 +1,6 @@ SPK_NAME = iperf3 -SPK_VERS = 3.9 -SPK_REV = 2 +SPK_VERS = 3.7 +SPK_REV = 1 SPK_ICON = src/iperf3.png DEPENDS = cross/$(SPK_NAME) @@ -11,8 +11,9 @@ DISPLAY_NAME = iperf3 STARTABLE = no HOMEPAGE = https://iperf.fr/ -LICENSE = 3-clause BSD +LICENSE = three-clause BSD SPK_COMMANDS = bin/iperf3 + include ../../mk/spksrc.spk.mk diff --git a/diyspk/ser2net/Makefile b/diyspk/ser2net/Makefile index 67f425c9008..dbf1840d73b 100644 --- a/diyspk/ser2net/Makefile +++ b/diyspk/ser2net/Makefile @@ -6,7 +6,7 @@ SPK_ICON = src/ser2net.png DEPENDS = cross/ser2net # qoriq is the only PPC arch that is supported -UNSUPPORTED_ARCHS = $(OLD_PCC_ARCHS) +UNSUPPORTED_ARCHS = powerpc ppc824x ppc853x ppc854x MAINTAINER = SynoCommunity DESCRIPTION = ser2net provides a way for a user to connect from a network connection to a serial port. @@ -19,4 +19,5 @@ LICENSE = GPLv2 SPK_COMMANDS = sbin/ser2net + include ../../mk/spksrc.spk.mk diff --git a/mk/meson/aarch64.cfg b/mk/meson/aarch64.cfg deleted file mode 100644 index 986cf41aa41..00000000000 --- a/mk/meson/aarch64.cfg +++ /dev/null @@ -1,8 +0,0 @@ -[built-in] -cpp_args = ['-fPIC'] - -[host_machine] -system = 'linux' -cpu_family = 'aarch64' -cpu = 'aarch64' -endian = 'little' diff --git a/mk/meson/armv5.cfg b/mk/meson/armv5.cfg deleted file mode 100644 index 38ea8ad8ec8..00000000000 --- a/mk/meson/armv5.cfg +++ /dev/null @@ -1,5 +0,0 @@ -[host_machine] -system = 'linux' -cpu_family = 'arm' -cpu = 'armv5' -endian = 'little' diff --git a/mk/meson/armv7.cfg b/mk/meson/armv7.cfg deleted file mode 100644 index 9aebe7ae6d4..00000000000 --- a/mk/meson/armv7.cfg +++ /dev/null @@ -1,8 +0,0 @@ -[built-in] -cpp_args = ['-fPIC'] - -[host_machine] -system = 'linux' -cpu_family = 'arm' -cpu = 'armv7' -endian = 'little' diff --git a/mk/meson/armv7l.cfg b/mk/meson/armv7l.cfg deleted file mode 100644 index 8e55b9ab9e9..00000000000 --- a/mk/meson/armv7l.cfg +++ /dev/null @@ -1,8 +0,0 @@ -[built-in] -cpp_args = ['-fPIC'] - -[host_machine] -system = 'linux' -cpu_family = 'arm' -cpu = 'armv7l' -endian = 'little' diff --git a/mk/meson/i686.cfg b/mk/meson/i686.cfg deleted file mode 100644 index b78e6e6155b..00000000000 --- a/mk/meson/i686.cfg +++ /dev/null @@ -1,11 +0,0 @@ -[built-in] -c_args = ['-m32'] -c_link_args = ['-m32'] -cpp_args = ['-m32'] -cpp_link_args = ['-m32'] - -[host_machine] -system = 'linux' -cpu_family = 'x86' -cpu = 'i686' -endian = 'little' diff --git a/mk/meson/ppc.cfg b/mk/meson/ppc.cfg deleted file mode 100644 index d086ee9f247..00000000000 --- a/mk/meson/ppc.cfg +++ /dev/null @@ -1,5 +0,0 @@ -[host_machine] -system = 'linux' -cpu_family = 'ppc' -cpu = 'ppc' -endian = 'big' diff --git a/mk/meson/x86_64.cfg b/mk/meson/x86_64.cfg deleted file mode 100644 index fd3fa310f1a..00000000000 --- a/mk/meson/x86_64.cfg +++ /dev/null @@ -1,11 +0,0 @@ -[built-in] -c_args = [''] -c_link_args = [''] -cpp_args = [''] -cpp_link_args = [''] - -[host_machine] -system = 'linux' -cpu_family = 'x86_64' -cpu = 'x86_64' -endian = 'little' diff --git a/mk/spksrc.archs.mk b/mk/spksrc.archs.mk deleted file mode 100644 index 5a3fed2518a..00000000000 --- a/mk/spksrc.archs.mk +++ /dev/null @@ -1,36 +0,0 @@ -# Common arch definitions - -# All available CPU architectures - -# Distinct SRM and DSM archs to allow handling of different TCVERSION ranges. -# SRM - Synology Router Manager -SRM_ARMv7_ARCHS = northstarplus ipq806x dakota -# DSM - all ARMv7 except SRM specific archs -DSM_ARMv7_ARCHS = alpine armada370 armada375 armada38x armadaxp comcerto2k monaco - -# Generic archs used for packages supporting multiple archs (where applicable) -GENERIC_ARMv7_ARCH = armv7 -GENERIC_ARMv8_ARCH = aarch64 -GENERIC_x64_ARCH = x64 -GENERIC_ARCHS = $(GENERIC_ARMv7_ARCH) $(GENERIC_ARMv8_ARCH) $(GENERIC_x64_ARCH) - -ARMv5_ARCHS = 88f6281 -ARMv7_ARCHS = $(GENERIC_ARMv7_ARCH) $(DSM_ARMv7_ARCHS) $(SRM_ARMv7_ARCHS) -# hi3535 is not supported by generic ARMv7 arch -ARMv7L_ARCHS = hi3535 -ARMv8_ARCHS = $(GENERIC_ARMv8_ARCH) rtd1296 armada37xx -ARM_ARCHS = $(ARMv5_ARCHS) $(ARMv7_ARCHS) $(ARMv7L_ARCHS) $(ARMv8_ARCHS) - -PPC_ARCHS = powerpc ppc824x ppc853x ppc854x qoriq - -i686_ARCHS = evansport -x64_ARCHS = $(GENERIC_x64_ARCH) apollolake avoton braswell broadwell broadwellnk bromolow cedarview denverton dockerx64 geminilake grantley purley kvmx64 v1000 x86 x86_64 - -# Arch groups -ALL_ARCHS = $(x64_ARCHS) $(i686_ARCHS) $(PPC_ARCHS) $(ARM_ARCHS) -ARCHS_WITH_GENERIC_SUPPORT = $(filter-out $(GENERIC_ARCHS), $(ARMv7_ARCHS) $(ARMv8_ARCHS) $(x64_ARCHS)) -# PPC_ARCHS except qoriq -OLD_PPC_ARCHS = powerpc ppc824x ppc853x ppc854x - -# outdated unsupported archs -DEPRECATED_ARCHS = powerpc ppc824x ppc854x ppc853x diff --git a/mk/spksrc.common.mk b/mk/spksrc.common.mk index e7a6346a4be..92e082d6786 100644 --- a/mk/spksrc.common.mk +++ b/mk/spksrc.common.mk @@ -10,7 +10,7 @@ SHELL := $(SHELL) -e # Display message in a consistent way MSG = echo "===> " -# Launch command in the working dir of the package source and the right environment +# Launch command in the working dir of a software with the right environment RUN = cd $(WORK_DIR)/$(PKG_DIR) && env $(ENV) # Pip command @@ -23,12 +23,45 @@ PIP_WHEEL = $(PIP) $(PIP_WHEEL_ARGS) # Available languages LANGUAGES = chs cht csy dan enu fre ger hun ita jpn krn nld nor plk ptb ptg rus spn sve trk -# Available toolchains formatted as '{ARCH}-{TC}' -AVAILABLE_TOOLCHAINS = $(subst syno-,,$(sort $(notdir $(wildcard ../../toolchain/syno-*)))) -AVAILABLE_TCVERSIONS = $(sort $(foreach arch,$(AVAILABLE_TOOLCHAINS),$(shell echo ${arch} | cut -f2 -d'-'))) +# Toolchains +AVAILABLE_TCS = $(notdir $(wildcard ../../toolchains/syno-*)) +AVAILABLE_ARCHS = $(notdir $(subst syno-,/,$(AVAILABLE_TCS))) + +# Toolchain filters +SUPPORTED_ARCHS = $(sort $(filter-out $(ARCHS_DUPES), $(AVAILABLE_ARCHS)) apollolake-6.2.3 geminilake-6.2.3 purley-6.2.3) +DEFAULT_ARCHS = $(sort $(filter-out $(ARCHS_DUPES_DEFAULT), $(AVAILABLE_ARCHS))) +LEGACY_ARCHS = $(sort $(filter-out $(SUPPORTED_ARCHS) $(ARCHS_DUPES), $(AVAILABLE_ARCHS))) +# SRM - Synology Router Manager +SRM_ARCHS = northstarplus ipq806x dakota + +# Use generic archs when kernels are not needed +ARCHS_NO_KRNLSUPP = $(filter-out x64% armv7% aarch64%, $(SUPPORTED_ARCHS)) + +# remove specific DSM targets +ARCHS_DUPES = $(ARCHS_DUPES_DEFAULT) %6.2 %6.2.2 %6.2.3 +# remove archs for generic x64 build +ARCHS_DUPES_DEFAULT = apollolake% avoton% braswell% broadwell% broadwellnk% bromolow% cedarview% denverton% geminilake% grantley% purley% +ARCHS_DUPES_DEFAULT += v1000% +ARCHS_DUPES_DEFAULT += dockerx64% kvmx64% x86% x86_64% +# remove unsupported PPC +ARCHS_DUPES_DEFAULT += powerpc% ppc824% ppc854x% +# remove archs for generic aarch64 build +ARCHS_DUPES_DEFAULT += rtd1296% armada37xx% +# optional remove archs for generic armv7 build +ifneq ($(findstring ARM7,$(GENERIC_ARCHS)),ARM7) + ARCHS_DUPES_DEFAULT += alpine% armada370% armada375% armada38x% armadaxp% comcerto2k% monaco% northstarplus% ipq806x% dakota% +else + ARCHS_DUPES_DEFAULT += armv7% +endif -# Global arch definitions -include ../../mk/spksrc.archs.mk +# Available Arches +ARM5_ARCHES = 88f6281 +ARM7_ARCHES = armv7 alpine armada370 armada375 armada38x armadaxp comcerto2k monaco hi3535 ipq806x northstarplus dakota +ARM8_ARCHES = aarch64 rtd1296 armada37xx +ARM_ARCHES = $(ARM5_ARCHES) $(ARM7_ARCHES) $(ARM8_ARCHES) +PPC_ARCHES = powerpc ppc824x ppc853x ppc854x qoriq +x86_ARCHES = evansport +x64_ARCHES = x64 apollolake avoton braswell broadwell broadwellnk bromolow cedarview denverton dockerx64 geminilake grantley purley kvmx64 v1000 x86 x86_64 # Load local configuration LOCAL_CONFIG_MK = ../../local.mk @@ -36,28 +69,6 @@ ifneq ($(wildcard $(LOCAL_CONFIG_MK)),) include $(LOCAL_CONFIG_MK) endif -# Filter to exclude TC versions greater than DEFAULT_TC (from local configuration) -TCVERSION_DUPES = $(addprefix %,$(shell echo "$(AVAILABLE_TCVERSIONS) " | sed 's|.*\<$(DEFAULT_TC)[^.]||g')) - -# Archs that are supported by generic archs -ARCHS_DUPES_DEFAULT = $(addsuffix %,$(ARCHS_WITH_GENERIC_SUPPORT)) -# remove unsupported (outdated) archs -ARCHS_DUPES_DEFAULT += $(addsuffix %,$(DEPRECATED_ARCHS)) - -# Filter for all-supported -ARCHS_DUPES = $(ARCHS_DUPES_DEFAULT) $(TCVERSION_DUPES) - -# default: used for all-latest target -DEFAULT_ARCHS = $(sort $(filter-out $(ARCHS_DUPES_DEFAULT), $(AVAILABLE_TOOLCHAINS))) - -# supported: used for all-supported target -SUPPORTED_ARCHS = $(sort $(filter-out $(ARCHS_DUPES), $(AVAILABLE_TOOLCHAINS))) - -# legacy: used for all-legacy and when kernel support is used -# all archs except generic archs -LEGACY_ARCHS = $(sort $(filter-out $(addsuffix %,$(GENERIC_ARCHS)), $(AVAILABLE_TOOLCHAINS))) - - # Relocate to set conditionally according to existing parallel options in caller ifneq ($(PARALLEL_MAKE),) ifeq ($(PARALLEL_MAKE),max) diff --git a/mk/spksrc.cross-cc.mk b/mk/spksrc.cross-cc.mk index 6d052b63978..37635866fb3 100644 --- a/mk/spksrc.cross-cc.mk +++ b/mk/spksrc.cross-cc.mk @@ -73,7 +73,7 @@ include ../../mk/spksrc.generate-digests.mk include ../../mk/spksrc.dependency-tree.mk .PHONY: all-archs -all-archs: $(addprefix arch-,$(AVAILABLE_TOOLCHAINS)) +all-archs: $(addprefix arch-,$(AVAILABLE_ARCHS)) #### diff --git a/mk/spksrc.cross-cmake-env.mk b/mk/spksrc.cross-cmake-env.mk index 5443a6ad5e2..337fa26c32d 100644 --- a/mk/spksrc.cross-cmake-env.mk +++ b/mk/spksrc.cross-cmake-env.mk @@ -41,25 +41,25 @@ ifeq ($(strip $(CMAKE_BUILD_DIR)),) endif # Define per arch specific common options -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM5_ARCHES)),$(ARCH)) CMAKE_ARGS += -DCROSS_COMPILE_ARM=ON CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=armv5 endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM7_ARCHES)),$(ARCH)) CMAKE_ARGS += -DCMAKE_CXX_FLAGS=-fPIC -DCROSS_COMPILE_ARM=ON CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=armv7 endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM8_ARCHES)),$(ARCH)) CMAKE_ARGS += -DCMAKE_CXX_FLAGS=-fPIC -DCROSS_COMPILE_ARM=ON CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=aarch64 endif -ifeq ($(findstring $(ARCH), $(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH), $(PPC_ARCHES)),$(ARCH)) CMAKE_ARGS += -DCMAKE_C_FLAGS=-mcpu=8548 -mhard-float -mfloat-gprs=double CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=ppc64 endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x86_ARCHES)),$(ARCH)) CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=x86 -DARCH=32 endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x64_ARCHES)),$(ARCH)) CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DARCH=64 endif diff --git a/mk/spksrc.cross-env.mk b/mk/spksrc.cross-env.mk index e6915110b85..6f91d9c9fd6 100644 --- a/mk/spksrc.cross-env.mk +++ b/mk/spksrc.cross-env.mk @@ -24,9 +24,9 @@ export INSTALL_PREFIX $(TC_VARS_MK): $(create_target_dir) @$(MSG) "Set up toolchain " - @if env $(MAKE) --no-print-directory -C ../../toolchain/$(TC) ; \ + @if env $(MAKE) --no-print-directory -C ../../toolchains/$(TC) ; \ then \ - env $(MAKE) --no-print-directory -C ../../toolchain/$(TC) tc_vars > $@ ; \ + env $(MAKE) --no-print-directory -C ../../toolchains/$(TC) tc_vars > $@ ; \ else \ echo "$$""(error An error occured while setting up the toolchain, please check the messages above)" > $@; \ fi diff --git a/mk/spksrc.cross-go-env.mk b/mk/spksrc.cross-go-env.mk index fb958ad61ae..d29167ed006 100644 --- a/mk/spksrc.cross-go-env.mk +++ b/mk/spksrc.cross-go-env.mk @@ -1,7 +1,8 @@ # Configuration for go build # -UNSUPPORTED_ARCHS += $(PPC_ARCHS) +GENERIC_ARCHS = ARM7 +UNSUPPORTED_ARCHS += $(PPC_ARCHES) GOOS = linux ifeq ($(strip $(CGO_ENABLED)),) @@ -14,21 +15,21 @@ ifeq ($(strip $(GO_STATIC_BINARIES)),) endif # Define GO_ARCH for go compiler -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM5_ARCHES)),$(ARCH)) GO_ARCH = arm ENV += GOARM=5 endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM7_ARCHES)),$(ARCH)) GO_ARCH = arm ENV += GOARM=7 endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM8_ARCHES)),$(ARCH)) GO_ARCH = arm64 endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x86_ARCHES)),$(ARCH)) GO_ARCH = 386 endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x64_ARCHES)),$(ARCH)) GO_ARCH = amd64 endif ifeq ($(GO_ARCH),) diff --git a/mk/spksrc.cross-meson-env.mk b/mk/spksrc.cross-meson-env.mk deleted file mode 100644 index 1071722043e..00000000000 --- a/mk/spksrc.cross-meson-env.mk +++ /dev/null @@ -1,45 +0,0 @@ -# meson cross-compilation definitions - -# Set default build directory -ifeq ($(strip $(MESON_BUILD_DIR)),) -MESON_BUILD_DIR = builddir -endif - -# Set other build options -CONFIGURE_ARGS += -Dbuildtype=release - -# Use arch specific configuration file -MESON_CFG_DIR = $(realpath $(WORK_DIR)/../../../mk/meson) -MESON_CFG_FILE = - -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) - MESON_CFG_FILE = armv5.cfg -endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS)),$(ARCH)) - MESON_CFG_FILE = armv7.cfg -endif -ifeq ($(findstring $(ARCH),$(ARMv7L_ARCHS)),$(ARCH)) - MESON_CFG_FILE = armv7l.cfg -endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) - MESON_CFG_FILE = aarch64.cfg -endif -ifeq ($(findstring $(ARCH), $(PPC_ARCHS)),$(ARCH)) - MESON_CFG_FILE = ppc.cfg -endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) - MESON_CFG_FILE = i686.cfg -endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) - MESON_CFG_FILE = x86_64.cfg -endif - -ifeq ($(strip $(MESON_CFG_FILE)),) - $(warning No meson config file defined for $(ARCH)) -else - ifeq ($(wildcard $(MESON_CFG_DIR)/$(MESON_CFG_FILE)),) - $(warning meson config file not found: $(MESON_CFG_DIR)/$(MESON_CFG_FILE)) - endif -endif - -CONFIGURE_ARGS += --cross-file $(MESON_CFG_DIR)/$(MESON_CFG_FILE) diff --git a/mk/spksrc.cross-meson.mk b/mk/spksrc.cross-meson.mk deleted file mode 100644 index 9c4a44ea7b3..00000000000 --- a/mk/spksrc.cross-meson.mk +++ /dev/null @@ -1,34 +0,0 @@ -# Build CMake programs -# -# prerequisites: -# - cross/module depends on meson + ninja -# - -# Common makefiles -include ../../mk/spksrc.common.mk -include ../../mk/spksrc.directories.mk - -# meson specific configurations -include ../../mk/spksrc.cross-meson-env.mk - -# configure using meson -ifeq ($(strip $(CONFIGURE_TARGET)),) -CONFIGURE_TARGET = meson_configure_target -endif - -.PHONY: meson_configure_target - -# default meson configure: -meson_configure_target: - @$(MSG) - Meson configure - @$(MSG) - Dependencies = $(DEPENDS) - @$(MSG) - Build path = $(WORK_DIR)/$(PKG_DIR)/$(MESON_BUILD_DIR) - @$(MSG) - Configure ARGS = $(CONFIGURE_ARGS) - @$(MSG) - Install prefix = $(INSTALL_PREFIX) - cd $(WORK_DIR)/$(PKG_DIR) && env $(ENV) meson $(MESON_BUILD_DIR) -Dprefix=$(INSTALL_PREFIX) $(CONFIGURE_ARGS) - -# call-up ninja build process -include ../../mk/spksrc.cross-ninja.mk - -# call-up regular build process -include ../../mk/spksrc.cross-cc.mk diff --git a/mk/spksrc.cross-ninja.mk b/mk/spksrc.cross-ninja.mk deleted file mode 100644 index d387e369cae..00000000000 --- a/mk/spksrc.cross-ninja.mk +++ /dev/null @@ -1,44 +0,0 @@ -# Build CMake programs -# -# prerequisites: -# - cross/module depends on meson + ninja -# - -# Force path to pkg-config for cross-building -ENV += PKG_CONFIG=/usr/bin/pkg-config - -# Set default build directory -ifeq ($(strip $(NINJA_BUILD_DIR)),) -NINJA_BUILD_DIR = $(MESON_BUILD_DIR) -endif - -ifeq ($(strip $(NINJA_DESTDIR)),) -NINJA_DESTDIR = $(INSTALL_DIR) -endif - -# compile -ifeq ($(strip $(COMPILE_TARGET)),) -COMPILE_TARGET = ninja_compile_target -endif - -# install -ifeq ($(strip $(INSTALL_TARGET)),) -INSTALL_TARGET = ninja_install_target -endif - -.PHONY: ninja_compile_target - -# default ninja compile: -ninja_compile_target: - @$(MSG) - Ninja compile - @$(MSG) - Build path = $(WORK_DIR)/$(PKG_DIR)/$(NINJA_BUILD_DIR) - cd $(WORK_DIR)/$(PKG_DIR) && env $(ENV) ninja -C $(NINJA_BUILD_DIR) - -.PHONY: ninja_install_target - -# default ninja install: -ninja_install_target: - @$(MSG) - Ninja install - @$(MSG) - Build path = $(WORK_DIR)/$(PKG_DIR)/$(NINJA_BUILD_DIR) - @$(MSG) - Installation path = $(NINJA_DESTDIR) - cd $(WORK_DIR)/$(PKG_DIR) && env $(ENV) DESTDIR=$(NINJA_DESTDIR) ninja -C $(NINJA_BUILD_DIR) install diff --git a/mk/spksrc.directories.mk b/mk/spksrc.directories.mk index 7a666a32797..bab6a8619f1 100644 --- a/mk/spksrc.directories.mk +++ b/mk/spksrc.directories.mk @@ -13,9 +13,9 @@ PWD := $(shell pwd) BASE_DISTRIB_DIR = $(PWD)/../../distrib PIP_DIR = $(BASE_DISTRIB_DIR)/pip -TOOLCHAIN_DIR = $(BASE_DISTRIB_DIR)/toolchain +TOOLCHAINS_DIR = $(BASE_DISTRIB_DIR)/toolchains TOOLKIT_DIR = $(BASE_DISTRIB_DIR)/toolkit -KERNEL_DIR = $(BASE_DISTRIB_DIR)/kernel +KERNELS_DIR = $(BASE_DISTRIB_DIR)/kernels PACKAGES_DIR = $(PWD)/../../packages # Default download location, see spksrc.download.mk DISTRIB_DIR = $(BASE_DISTRIB_DIR) diff --git a/mk/spksrc.install-resources.mk b/mk/spksrc.install-resources.mk index ea8f757863d..24be4be1893 100644 --- a/mk/spksrc.install-resources.mk +++ b/mk/spksrc.install-resources.mk @@ -96,7 +96,7 @@ $(DIGESTS_FILE): download include ../../mk/spksrc.dependency-tree.mk .PHONY: all-archs -all-archs: $(addprefix arch-,$(AVAILABLE_TOOLCHAINS)) +all-archs: $(addprefix arch-,$(AVAILABLE_ARCHS)) #### diff --git a/mk/spksrc.kernel-modules.mk b/mk/spksrc.kernel-modules.mk index 155f471eead..501d902e16e 100644 --- a/mk/spksrc.kernel-modules.mk +++ b/mk/spksrc.kernel-modules.mk @@ -16,7 +16,7 @@ LOCAL_FILE = $(PKG_DIST_NAME) endif DIST_FILE = $(DISTRIB_DIR)/$(LOCAL_FILE) DIST_EXT = $(PKG_EXT) -DISTRIB_DIR = $(KERNEL_DIR)/$(PKG_BRANCH) +DISTRIB_DIR = $(KERNELS_DIR)/$(PKG_BRANCH) COMPILE_TARGET = kernel_module_compile_target EXTRACT_TARGET = kernel_extract_target CONFIGURE_TARGET = kernel_configure_target diff --git a/mk/spksrc.native-meson-env.mk b/mk/spksrc.native-meson-env.mk deleted file mode 100644 index 83b1efeddf0..00000000000 --- a/mk/spksrc.native-meson-env.mk +++ /dev/null @@ -1,7 +0,0 @@ -# Set default build directory -ifeq ($(strip $(MESON_BUILD_DIR)),) -MESON_BUILD_DIR = builddir -endif - -# Set other build options -CONFIGURE_ARGS += -Dbuildtype=release diff --git a/mk/spksrc.native-meson.mk b/mk/spksrc.native-meson.mk deleted file mode 100644 index 66d928c8a2b..00000000000 --- a/mk/spksrc.native-meson.mk +++ /dev/null @@ -1,92 +0,0 @@ -# Build CMake programs -# -# prerequisites: -# - native/module depends on meson + ninja -# - -# Common makefiles -include ../../mk/spksrc.common.mk -include ../../mk/spksrc.directories.mk - -# Force build in native tool directrory, not cross directory. -WORK_DIR := $(PWD)/work-native - -# Package dependend -URLS = $(PKG_DIST_SITE)/$(PKG_DIST_NAME) -NAME = $(PKG_NAME) -COOKIE_PREFIX = $(PKG_NAME)- -ifneq ($(PKG_DIST_FILE),) -LOCAL_FILE = $(PKG_DIST_FILE) -else -LOCAL_FILE = $(PKG_DIST_NAME) -endif -DIST_FILE = $(DISTRIB_DIR)/$(LOCAL_FILE) -DIST_EXT = $(PKG_EXT) - -##### - -.NOTPARALLEL: - -include ../../mk/spksrc.native-env.mk - -# meson specific configurations -include ../../mk/spksrc.native-meson-env.mk - -# configure using meson -ifeq ($(strip $(CONFIGURE_TARGET)),) -CONFIGURE_TARGET = meson_configure_target -endif - -.PHONY: meson_configure_target - -# default meson configure: -meson_configure_target: - @$(MSG) - Meson configure - @$(MSG) - Dependencies = $(DEPENDS) - @$(MSG) - Build path = $(WORK_DIR)/$(PKG_DIR)/$(MESON_BUILD_DIR) - @$(MSG) - Configure ARGS = $(CONFIGURE_ARGS) - @$(MSG) - Install prefix = $(INSTALL_PREFIX) - cd $(WORK_DIR)/$(PKG_DIR) && env $(ENV) meson $(MESON_BUILD_DIR) -Dprefix=$(INSTALL_PREFIX) $(CONFIGURE_ARGS) - -# call-up ninja build process -include ../../mk/spksrc.cross-ninja.mk - -include ../../mk/spksrc.download.mk - -include ../../mk/spksrc.depend.mk - -checksum: download -include ../../mk/spksrc.checksum.mk - -extract: checksum depend -include ../../mk/spksrc.extract.mk - -patch: extract -include ../../mk/spksrc.patch.mk - -configure: patch -include ../../mk/spksrc.configure.mk - -compile: configure -include ../../mk/spksrc.compile.mk - -install: compile -include ../../mk/spksrc.install.mk - -.PHONY: cat_PLIST -cat_PLIST: - @true - -### Clean rules -clean: - rm -fr $(WORK_DIR) - -all: install - -### For make digests -include ../../mk/spksrc.generate-digests.mk - -### For make dependency-tree -include ../../mk/spksrc.dependency-tree.mk - -#### diff --git a/mk/spksrc.patch.mk b/mk/spksrc.patch.mk index 88546d776a8..b07764d446c 100644 --- a/mk/spksrc.patch.mk +++ b/mk/spksrc.patch.mk @@ -17,16 +17,14 @@ endif # find patches into the following directory order: # patches/*.patch -# patches/DSM-$(TCVERSION)/*.patch -# patches/$(group)/*.patch -# patches/$(group)-$(TCVERSION)/*.patch # patches/$(arch)/*.patch -# patches/$(arch)-$(TCVERSION)/*.patch -# supported groups: armv5, armv7, armv7l, armv8, ppc, i686, x64 +# patches/DSM-$(TCVERSION)/*.patch +# patches/$(subarch)/*.patch +# patches/$(subarch)-$(TCVERSION)/*.patch ifeq ($(strip $(PATCHES)),) -PATCHES = $(foreach group,ARMv5_ARCHS ARMv7_ARCHS ARMv7L_ARCHS ARMv8_ARCHS PPC_ARCHS i686_ARCHS x64_ARCHS, \ - $(foreach arch,$($(group)), \ - $(if $(filter $(ARCH),$(arch)),$(sort $(wildcard patches/*.patch patches/DSM-$(TCVERSION)/*.patch patches/$(shell echo ${group} | cut -f1 -d'_'| tr '[:upper:]' '[:lower:]')/*.patch patches/$(shell echo ${group} | cut -f1 -d'_'| tr '[:upper:]' '[:lower:]')-$(TCVERSION)/*.patch patches/$(arch)/*.patch patches/$(arch)-$(TCVERSION)/*.patch)),))) +PATCHES = $(foreach arch,ARM5_ARCHES ARM7_ARCHES ARM8_ARCHES PPC_ARCHES x86_ARCHES x64_ARCHES, \ + $(foreach subarch,$($(arch)), \ + $(if $(filter $(ARCH),$(subarch)),$(sort $(wildcard patches/*.patch patches/DSM-$(TCVERSION)/*.patch patches/$(shell echo ${arch} | cut -f1 -d'_'| tr '[:upper:]' '[:lower:]')/*.patch patches/$(subarch)/*.patch patches/$(subarch)-$(TCVERSION)/*.patch)),))) endif PATCH_COOKIE = $(WORK_DIR)/.$(COOKIE_PREFIX)patch_done @@ -75,3 +73,4 @@ $(PATCH_COOKIE): $(POST_PATCH_TARGET) else patch: ; endif + diff --git a/mk/spksrc.service.installer.dsm7 b/mk/spksrc.service.installer.dsm7 deleted file mode 100644 index 037ae0c74de..00000000000 --- a/mk/spksrc.service.installer.dsm7 +++ /dev/null @@ -1,191 +0,0 @@ -#!/bin/sh - -# DSM 5 -> 7 upgrade path: -# Not supported -# DSM 6 -> 7 upgrade path: -# files are migrated from ${SYNOPKG_PKGDEST}/var to ${SYNOPKG_PKGVAR} -# Not supported (yet) - -INST_ETC="/var/packages/${SYNOPKG_PKGNAME}/etc" -INST_VARIABLES="${INST_ETC}/installer-variables" -INST_VAR="${SYNOPKG_PKGVAR}" - -# Optional FWPORTS file -FWPORTS_FILE="/var/packages/${SYNOPKG_PKGNAME}/conf/${SYNOPKG_PKGNAME}.sc" - -TMP_DIR="${SYNOPKG_TEMP_UPGRADE_FOLDER}/var" - -# Source package specific variable and functions -SVC_SETUP=`dirname $0`"/service-setup" -if [ -r "${SVC_SETUP}" ]; then - . "${SVC_SETUP}" -fi - -# Reload wizard variables stored by postinst -if [ -r "${INST_VARIABLES}" ]; then - . "${INST_VARIABLES}" -fi - -# Expect user to be set from package specific variables -if [ -n "${USER}" -a -z "${USER_DESC}" ]; then - USER_DESC="User running $SYNOPKG_PKGNAME" -fi - -# Default description if group name provided by UI -if [ -n "${GROUP}" -a -z "${GROUP_DESC}" ]; then - GROUP_DESC="SynoCommunity Package Group" -fi - -# Extract share volume and share name from download location if provided -if [ -n "${SHARE_PATH}" ]; then - SHARE_VOLUME=$(echo "${SHARE_PATH}" | awk -F/ '{print "/"$2}') - SHARE_NAME=$(echo "${SHARE_PATH}" | awk -F/ '{print $3}') -fi - -# Tools shortcuts -MV="/bin/mv -f" -RM="/bin/rm -rf" -CP="/bin/cp -rfp" -MKDIR="/bin/mkdir -p" -LN="/bin/ln -nsf" -TEE="/usr/bin/tee -a" - -### Functions library - -log () -{ - echo "$1" 1>&2 # /var/log/packages/{package}.log -} - - -log_step () -{ - log $(date) - log "===> Step $1. USER=$USER GROUP=$GROUP SHARE_PATH=${SHARE_PATH}" -} - -save_wizard_variables () -{ - if [ -e "${INST_VARIABLES}" ]; then - $RM "${INST_VARIABLES}" - fi - if [ -n "${GROUP}" ]; then - echo "GROUP=${GROUP}" >> ${INST_VARIABLES} - fi - if [ -n "${SHARE_PATH}" ]; then - echo "SHARE_PATH=${SHARE_PATH}" >> ${INST_VARIABLES} - fi -} - -set_unix_permissions () -{ - log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. set_unix_permissions() is no longer supported." -} - -syno_remove_user () -{ - log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. syno_remove_user() is no longer supported." -} - -syno_group_create () -{ - log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. syno_group_create() is no longer supported." -} - -syno_group_remove () -{ - log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. syno_group_remove() is no longer supported." -} - -syno_user_add_to_group () -{ - log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. syno_user_add_to_group() is no longer supported." -} - -set_syno_permissions () -{ - log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. set_syno_permissions() is no longer supported." -} - -syno_user_add_to_legacy_group () { - log "${SYNOPKG_PKGNAME} has not been updated to DSM7 yet. syno_user_add_to_legacy_group() is no longer supported." -} - - -### Generic package behaviors - -preinst () -{ - log_step "preinst" - call_func "service_preinst" - - # Check volume exists - if [ -n "${SHARE_PATH}" ]; then - if [ ! -d "${SHARE_VOLUME}" ]; then - echo "Volume ${SHARE_VOLUME} does not exist." | $TEE 1>&2 - exit 1 - fi - fi - - exit 0 -} - -postinst () -{ - log_step "postinst" - save_wizard_variables - - $MKDIR "${INST_VAR}" - - call_func "service_postinst" - call_func "service_create_links" - - exit 0 -} - -preuninst () -{ - log_step "preuninst" - call_func "service_preuninst" - exit 0 -} - -postuninst () -{ - log_step "postuninst" - - call_func "service_postuninst" - call_func "service_remove_links" - - if [ "${SYNOPKG_PKG_STATUS}" == "UNINSTALL" ]; then - $RM "${INST_VARIABLES}" - fi - exit 0 -} - -preupgrade () -{ - log_step "preupgrade" - - # dsm6 -> dsm7 - # Migrate data to permanent storage - - $CP -RT ${SYNOPKG_PKGDEST}/var/. ${SYNOPKG_PKGVAR} - - call_func "service_preupgrade" - - call_func "service_save" - - exit 0 -} - -postupgrade () -{ - log_step "postupgrade" - - call_func "service_restore" - - call_func "service_postupgrade" - - exit 0 -} diff --git a/mk/spksrc.service.mk b/mk/spksrc.service.mk index c52906ee053..ecc2e0804d1 100644 --- a/mk/spksrc.service.mk +++ b/mk/spksrc.service.mk @@ -3,7 +3,7 @@ # scripts/installer # scripts/start-stop-status # scripts/service-setup -# conf/privilege if SERVICE_USER or DSM7 +# conf/privilege if SERVICE_USER # conf/SPK_NAME.sc if SERVICE_PORT # app/config if DSM_UI_DIR # @@ -42,8 +42,7 @@ endif .PHONY: service_target service_msg_target .PHONY: $(PRE_SERVICE_TARGET) $(SERVICE_TARGET) $(POST_SERVICE_TARGET) .PHONY: $(DSM_SCRIPTS_DIR)/service-setup $(DSM_SCRIPTS_DIR)/start-stop-status -.PHONY: $(DSM_CONF_DIR)/privilege $(DSM_CONF_DIR)/resource -.PHONY: $(DSM_CONF_DIR)/$(SPK_NAME).sc $(STAGING_DIR)/$(DSM_UI_DIR)/config +.PHONY: $(DSM_CONF_DIR)/privilege $(DSM_CONF_DIR)/$(SPK_NAME).sc $(STAGING_DIR)/$(DSM_UI_DIR)/config service_msg_target: @$(MSG) "Generating service scripts for $(NAME)" @@ -56,18 +55,13 @@ SPK_USER = $(SPK_NAME) else SPK_USER = $(SERVICE_USER) endif -ifeq ($(strip $(SPK_USER)),) -SPK_USER = $(SPK_NAME) -endif # Recommend explicit STARTABLE=no ifeq ($(strip $(SSS_SCRIPT)),) ifeq ($(strip $(SERVICE_COMMAND)),) -ifeq ($(strip $(SPK_COMMANDS)),) ifeq ($(strip $(SERVICE_EXE)),) ifeq ($(strip $(STARTABLE)),) -$(error Set STARTABLE=no or provide either SERVICE_COMMAND, SPK_COMMANDS or specific SSS_SCRIPT) -endif +$(error Set STARTABLE=no or provide either SERVICE_COMMAND or specific SSS_SCRIPT) endif endif endif @@ -101,17 +95,10 @@ ifneq ($(strip $(SERVICE_PORT)),) @echo 'SERVICE_PORT="$(SERVICE_PORT)"' >> $@ endif ifneq ($(STARTABLE),no) -ifneq ($(shell expr "$(TCVERSION)" \>= 7.0),1) @echo "# start-stop-status script redirect stdout/stderr to LOG_FILE" >> $@ @echo 'LOG_FILE="$${SYNOPKG_PKGDEST}/var/$${SYNOPKG_PKGNAME}.log"' >> $@ @echo "# Service command has to deliver its pid into PID_FILE" >> $@ @echo 'PID_FILE="$${SYNOPKG_PKGDEST}/var/$${SYNOPKG_PKGNAME}.pid"' >> $@ -else - @echo "# start-stop-status script redirect stdout/stderr to LOG_FILE" >> $@ - @echo 'LOG_FILE="$${SYNOPKG_PKGVAR}/$${SYNOPKG_PKGNAME}.log"' >> $@ - @echo "# Service command has to deliver its pid into PID_FILE" >> $@ - @echo 'PID_FILE="$${SYNOPKG_PKGVAR}/$${SYNOPKG_PKGNAME}.pid"' >> $@ -endif endif ifneq ($(strip $(SERVICE_COMMAND)),) ifneq ($(strip $(SERVICE_SHELL)),) @@ -132,26 +119,12 @@ endif ifneq ($(strip $(SERVICE_SETUP)),) @cat $(CURDIR)/$(SERVICE_SETUP) >> $@ endif - -ifneq ($(shell expr "$(TCVERSION)" \>= 7.0),1) ifneq ($(strip $(SPK_COMMANDS) $(SPK_LINKS)),) @echo "# List of commands to create links for" >> $@ @echo "SPK_COMMANDS=\"${SPK_COMMANDS}\"" >> $@ @echo "SPK_LINKS=\"${SPK_LINKS}\"" >> $@ @cat $(SPKSRC_MK)spksrc.service.create_links >> $@ endif -else - -SPK_COMMANDS_IN_JSON = $(shell echo ${SPK_COMMANDS} | jq -Rc '. | split(" ")') -$(DSM_CONF_DIR)/resource: - $(create_target_dir) - @jq -n '."usr-local-linker" = {"bin": $$binaries}' --argjson binaries '$(SPK_COMMANDS_IN_JSON)' > $@ -SERVICE_FILES += $(DSM_CONF_DIR)/resource -# STARTABLE needs to be yes, the resource linking and unlinking works on start and stop -# see spsrc.spk.mk -endif - - DSM_SCRIPTS_ += service-setup SERVICE_FILES += $(DSM_SCRIPTS_DIR)/service-setup @@ -159,14 +132,9 @@ SERVICE_FILES += $(DSM_SCRIPTS_DIR)/service-setup # Control use of generic installer ifeq ($(strip $(INSTALLER_SCRIPT)),) DSM_SCRIPTS_ += installer -ifeq ($(shell expr "$(TCVERSION)" \>= 7.0),1) -$(DSM_SCRIPTS_DIR)/installer: $(SPKSRC_MK)spksrc.service.installer.dsm7 - @$(dsm_script_copy) -else $(DSM_SCRIPTS_DIR)/installer: $(SPKSRC_MK)spksrc.service.installer @$(dsm_script_copy) endif -endif # Control use of generic start-stop-status scripts ifeq ($(strip $(SSS_SCRIPT)),) @@ -187,35 +155,19 @@ endif # Generate privilege file for service user (prefixed to avoid collision with busybox account) -ifeq ($(shell expr "$(TCVERSION)" \>= 7.0),1) -$(DSM_CONF_DIR)/privilege: - $(create_target_dir) - jq -n '.defaults = {"run-as": "package"}' > $@ -else +ifneq ($(strip $(SPK_USER)),) ifeq ($(strip $(SERVICE_EXE)),) -$(DSM_CONF_DIR)/privilege: $(SPKSRC_MK)spksrc.service.privilege-installasroot +$(DSM_CONF_DIR)/privilege: $(SPKSRC_MK)spksrc.service.privilege else $(DSM_CONF_DIR)/privilege: $(SPKSRC_MK)spksrc.service.privilege-startasroot endif -endif -# TODO add moreutils package, use sponge to prevent overriding file with 0 content -#- 1<> $@ -#+ | sponge $@ $(create_target_dir) - jq '.username = "sc-$(SPK_USER)"' $@ 1<>$@ - jq '."groupname" = "sc-$(SPK_USER)"' $@ 1<>$@ -ifeq ($(shell expr "$(TCVERSION)" \>= 7.0),1) -ifneq ($(strip $(GROUP)),) - # Creates group but is different from the groups the user can create, they are invisible in the UI an are only usefull to access another packages permissions (ffmpeg comes to mind) - # For DSM7 I recommend setting permissions for individual packages (System Internal User) - # or use the shared folder resource worker to add permissions, ask user from wizard - jq --arg packagename $(GROUP) '."join-pkg-groupnames" += [{$$packagename}]' $@ 1<>$@ -endif -endif + @sed 's|USER|sc-$(SPK_USER)|' $< > $@ ifneq ($(findstring conf,$(SPK_CONTENT)),conf) SPK_CONTENT += conf endif SERVICE_FILES += $(DSM_CONF_DIR)/privilege +endif # Generate service configuration for admin port diff --git a/mk/spksrc.service.privilege b/mk/spksrc.service.privilege new file mode 100644 index 00000000000..dc9e58afda7 --- /dev/null +++ b/mk/spksrc.service.privilege @@ -0,0 +1,25 @@ +{ + "defaults":{ + "run-as": "package" + }, + "username": "USER", + "ctrl-script": [{ + "action": "preinst", + "run-as": "root" + }, { + "action": "postinst", + "run-as": "root" + }, { + "action": "preuninst", + "run-as": "root" + }, { + "action": "postuninst", + "run-as": "root" + }, { + "action": "preupgrade", + "run-as": "root" + }, { + "action": "postupgrade", + "run-as": "root" + }] +} diff --git a/mk/spksrc.service.privilege-installasroot b/mk/spksrc.service.privilege-installasroot deleted file mode 100644 index 02d5d7e927f..00000000000 --- a/mk/spksrc.service.privilege-installasroot +++ /dev/null @@ -1,25 +0,0 @@ -{ - "defaults":{ - "run-as": "package" - }, - "username": "USER", - "ctrl-script": [{ - "action": "preinst", - "run-as": "root" - }, { - "action": "postinst", - "run-as": "root" - }, { - "action": "preuninst", - "run-as": "root" - }, { - "action": "postuninst", - "run-as": "root" - }, { - "action": "preupgrade", - "run-as": "root" - }, { - "action": "postupgrade", - "run-as": "root" - }] -} diff --git a/mk/spksrc.service.start-stop-status b/mk/spksrc.service.start-stop-status index e372c5bf93e..d9a8c993482 100644 --- a/mk/spksrc.service.start-stop-status +++ b/mk/spksrc.service.start-stop-status @@ -35,17 +35,11 @@ start_daemon () else SVC_CD="cd ${SVC_CWD}; " fi - if [ -n "${SYNOPKG_DSM_VERSION_MAJOR}" ] && [ "$SYNOPKG_DSM_VERSION_MAJOR" -gt 7 ]; then - SU="" - else - SU="su ${EFF_USER} -s" - fi if [ -z "${SVC_BACKGROUND}" ]; then - $SU ${SERVICE_SHELL} -c "${SVC_CD}${SERVICE_COMMAND}" >> ${OUT} 2>&1 + su ${EFF_USER} -s ${SERVICE_SHELL} -c "${SVC_CD}${SERVICE_COMMAND}" >> ${OUT} 2>&1 else - $SU ${SERVICE_SHELL} -c "${SVC_CD}${SERVICE_COMMAND}" >> ${OUT} 2>&1 & + su ${EFF_USER} -s ${SERVICE_SHELL} -c "${SVC_CD}${SERVICE_COMMAND}" >> ${OUT} 2>&1 & fi - else # DSM 6 user is set by conf/privilege if [ -n "${SVC_CWD}" ]; then diff --git a/mk/spksrc.spk.mk b/mk/spksrc.spk.mk index 7390f3ef688..dc741d218b6 100644 --- a/mk/spksrc.spk.mk +++ b/mk/spksrc.spk.mk @@ -125,9 +125,9 @@ endif ifneq ($(strip $(HELPURL)),) @echo helpurl=\"$(HELPURL)\" >> $@ else -ifneq ($(strip $(HOMEPAGE)),) + ifneq ($(strip $(HOMEPAGE)),) @echo helpurl=\"$(HOMEPAGE)\" >> $@ -endif + endif endif ifneq ($(strip $(SUPPORTURL)),) @echo support_url=\"$(SUPPORTURL)\" >> $@ @@ -141,40 +141,23 @@ endif ifneq ($(strip $(INSTUNINST_RESTART_SERVICES)),) @echo instuninst_restart_services=\"$(INSTUNINST_RESTART_SERVICES)\" >> $@ endif -ifeq ($(RELOAD_UI),yes) +ifneq ($(strip $(RELOAD_UI)),) @echo reloadui=\"$(RELOAD_UI)\" >> $@ endif - -ifneq ($(shell expr "$(TCVERSION)" \>= 7.0),1) -# old behaviour ifeq ($(STARTABLE),no) ifeq ($(shell expr "$(TC_OS_MIN_VER)" \<= 6.1),1) @echo startable=\"$(STARTABLE)\" >> $@ endif @echo ctl_stop=\"$(STARTABLE)\" >> $@ endif -else -# since 7.0 use Synology resource acquisition -ifeq ($(STARTABLE),no) -ifeq ($(strip $(SPK_COMMANDS)),) -# STARTABLE needs to be yes, Resource linking and unlinking works on start and stop - @echo ctl_stop=\"$(STARTABLE)\" >> $@ -endif -endif -endif - @echo displayname=\"$(DISPLAY_NAME)\" >> $@ ifneq ($(strip $(DSM_UI_DIR)),) @echo dsmuidir=\"$(DSM_UI_DIR)\" >> $@ endif ifneq ($(strip $(DSM_APP_NAME)),) @echo dsmappname=\"$(DSM_APP_NAME)\" >> $@ - @echo dsmapppage=\"$(DSM_APP_NAME)\" >> $@ - @echo dsmapplaunchname=\"$(DSM_APP_NAME)\" >> $@ else @echo dsmappname=\"com.synocommunity.$(SPK_NAME)\" >> $@ - @echo dsmapppage=\"com.synocommunity.$(SPK_NAME)\" >> $@ - @echo dsmapplaunchname=\"com.synocommunity.$(SPK_NAME)\" >> $@ endif ifneq ($(strip $(ADMIN_PROTOCOL)),) @echo adminprotocol=\"$(ADMIN_PROTOCOL)\" >> $@ @@ -277,14 +260,10 @@ icons: ifneq ($(strip $(SPK_ICON)),) $(create_target_dir) @$(MSG) "Creating PACKAGE_ICON.PNG for $(SPK_NAME)" -ifneq ($(shell expr "$(TCVERSION)" \>= 7.0),1) (convert $(SPK_ICON) -thumbnail 72x72 -strip - > $(WORK_DIR)/PACKAGE_ICON.PNG) -else - (convert $(SPK_ICON) -thumbnail 64x64 -strip - > $(WORK_DIR)/PACKAGE_ICON.PNG) -endif @$(MSG) "Creating PACKAGE_ICON_256.PNG for $(SPK_NAME)" (convert $(SPK_ICON) -thumbnail 256x256 -strip - > $(WORK_DIR)/PACKAGE_ICON_256.PNG) - $(eval SPK_CONTENT += PACKAGE_ICON.PNG PACKAGE_ICON_256.PNG) + $(eval SPK_CONTENT += PACKAGE_ICON.PNG PACKAGE_ICON_256.PNG) endif .PHONY: info-checksum @@ -340,31 +319,16 @@ endif clean: rm -fr work work-* -spkclean: - rm -fr work-*/.copy_done \ - work-*/.depend_done \ - work-*/.icon_done \ - work-*/.strip_done \ - work-*/.wheel_done \ - work-*/conf \ - work-*/scripts \ - work-*/staging \ - work-*/package.tgz \ - work-*/INFO \ - work-*/PLIST \ - work-*/PACKAGE_ICON* \ - work-*/WIZARD_UIFILES - all: package ### For make dependency-tree include ../../mk/spksrc.dependency-tree.mk .PHONY: all-archs -all-archs: $(addprefix arch-,$(AVAILABLE_TOOLCHAINS)) +all-archs: $(addprefix arch-,$(AVAILABLE_ARCHS)) .PHONY: publish-all-archs -publish-all-archs: $(addprefix publish-arch-,$(AVAILABLE_TOOLCHAINS)) +publish-all-archs: $(addprefix publish-arch-,$(AVAILABLE_ARCHS)) #### @@ -383,7 +347,7 @@ endif KERNEL_REQUIRED = $(MAKE) kernel-required ifeq ($(strip $(KERNEL_REQUIRED)),) -ALL_ACTION = $(sort $(basename $(subst -,.,$(basename $(subst .,,$(ARCHS_WITH_KERNEL_SUPPORT)))))) +ALL_ACTION = $(sort $(basename $(subst -,.,$(basename $(subst .,,$(ARCHS_NO_KRNLSUPP)))))) endif #### @@ -392,7 +356,7 @@ endif pre-build-native: @$(MSG) Pre-build native dependencies for parallel build - @for depend in $(sort $(BUILD_DEPENDS) $(DEPENDS) $(OPTIONAL_DEPENDS)) ; \ + @for depend in `$(MAKE) dependency-list` ; \ do \ if [ "$${depend%/*}" = "native" ]; then \ echo "Pre-processing $${depend}" ; \ @@ -414,34 +378,34 @@ publish-supported-arch-%: latest-arch-%: @$(MSG) BUILDING package for arch $* with SynoCommunity ${ACTION} toolchain - -@MAKEFLAGS= $(MAKE) ARCH=$(basename $(subst -,.,$*)) TCVERSION=$(notdir $(subst -,/,$(sort $(filter %$(lastword $(notdir $(subst -,/,$(sort $(filter $*%, $(AVAILABLE_TOOLCHAINS)))))),$(sort $(filter $*%, $(AVAILABLE_TOOLCHAINS))))))) + -@MAKEFLAGS= $(MAKE) ARCH=$(basename $(subst -,.,$*)) TCVERSION=$(notdir $(subst -,/,$(sort $(filter %$(lastword $(notdir $(subst -,/,$(sort $(filter $*%, $(AVAILABLE_ARCHS)))))),$(sort $(filter $*%, $(AVAILABLE_ARCHS))))))) publish-latest-arch-%: @$(MSG) BUILDING and PUBLISHING package for arch $* with SynoCommunity ${ACTION} toolchain - -@MAKEFLAGS= $(MAKE) ARCH=$(basename $(subst -,.,$*)) TCVERSION=$(notdir $(subst -,/,$(sort $(filter %$(lastword $(notdir $(subst -,/,$(sort $(filter $*%, $(AVAILABLE_TOOLCHAINS)))))),$(sort $(filter $*%, $(AVAILABLE_TOOLCHAINS))))))) publish + -@MAKEFLAGS= $(MAKE) ARCH=$(basename $(subst -,.,$*)) TCVERSION=$(notdir $(subst -,/,$(sort $(filter %$(lastword $(notdir $(subst -,/,$(sort $(filter $*%, $(AVAILABLE_ARCHS)))))),$(sort $(filter $*%, $(AVAILABLE_ARCHS))))))) publish #### -all-legacy: - $(MAKE) legacy-toolchain-5.2 legacy-toolchain-1.2 - @$(MSG) Built legacy DSM and SRM archs +all-legacy: $(addprefix arch-,$(LEGACY_ARCHS)) + $(MAKE) all-toolchain-5.2 all-toolchain-1.1 + @$(MSG) Built legacy archs -publish-all-legacy: - $(MAKE) publish-legacy-toolchain-5.2 - @$(MSG) Published legacy DSM archs +publish-all-legacy: $(addprefix publish-arch-,$(LEGACY_ARCHS)) + $(MAKE) all-toolchain-5.2 + @$(MSG) Published legacy archs #### -legacy-toolchain-%: +all-toolchain-%: @$(MSG) Built packages for toolchain $* - @for arch in $(sort $(basename $(subst -,.,$(basename $(subst .,,$(filter %$*, $(LEGACY_ARCHS))))))) ; \ + @for arch in $(sort $(basename $(subst -,.,$(basename $(subst .,,$(filter %$*, $(AVAILABLE_ARCHS))))))) ; \ do \ $(MAKE) arch-$$arch-$* ; \ done \ -publish-legacy-toolchain-%: +publish-all-toolchain-%: @$(MSG) Built packages for toolchain $* - @for arch in $(sort $(basename $(subst -,.,$(basename $(subst .,,$(filter %$*, $(LEGACY_ARCHS))))))) ; \ + @for arch in $(sort $(basename $(subst -,.,$(basename $(subst .,,$(filter %$*, $(AVAILABLE_ARCHS))))))) ; \ do \ $(MAKE) publish-arch-$$arch-$* ; \ done \ diff --git a/mk/spksrc.tc-vers.mk b/mk/spksrc.tc-vers.mk index e243c858b56..4db00034094 100644 --- a/mk/spksrc.tc-vers.mk +++ b/mk/spksrc.tc-vers.mk @@ -57,7 +57,3 @@ endif ifeq ($(TC_VERS),6.2.3) TC_BUILD = 25423 endif - -ifeq ($(TC_VERS),7.0) -TC_BUILD = 4000 -endif diff --git a/mk/spksrc.tc.mk b/mk/spksrc.tc.mk index b2e79476d35..5dd40406e00 100644 --- a/mk/spksrc.tc.mk +++ b/mk/spksrc.tc.mk @@ -18,7 +18,7 @@ PKG_DIST_FILE = $(TC_DIST_FILE) else LOCAL_FILE = $(TC_DIST_NAME) endif -DISTRIB_DIR = $(TOOLCHAIN_DIR)/$(TC_VERS) +DISTRIB_DIR = $(TOOLCHAINS_DIR)/$(TC_VERS) DIST_FILE = $(DISTRIB_DIR)/$(LOCAL_FILE) DIST_EXT = $(TC_EXT) TC_LOCAL_VARS_MK = $(WORK_DIR)/tc_vars.mk @@ -83,9 +83,6 @@ tc_vars: fix @echo TC_BUILD := $(TC_BUILD) @echo TC_OS_MIN_VER := $(TC_OS_MIN_VER) @echo TC_ARCH := $(TC_ARCH) - @echo TC_KERNEL := $(TC_KERNEL) - @echo TC_GCC := $(TC_GCC) - @echo TC_GLIBC := $(TC_GLIBC) ### Clean rules diff --git a/native/glib/Makefile b/native/glib/Makefile index 143252f8038..8e9c85b0e37 100644 --- a/native/glib/Makefile +++ b/native/glib/Makefile @@ -1,19 +1,26 @@ PKG_NAME = glib -PKG_VERS = 2.62.6 -PKG_SHORT_VERS = $(word 1,$(subst ., ,$(PKG_VERS))).$(word 2,$(subst ., ,$(PKG_VERS))) +PKG_SHORT_VERS = 2.58 +PKG_VERS = $(PKG_SHORT_VERS).3 PKG_EXT = tar.xz PKG_DIR = $(PKG_NAME)-$(PKG_VERS) PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://ftp.gnome.org/pub/GNOME/sources/$(PKG_NAME)/$(PKG_SHORT_VERS) -DEPENDS = +DEPENDS = HOMEPAGE = https://developer.gnome.org/glib/ COMMENT = General-purpose utility library LICENSE = GPLv2 -UNSUPPORTED_ARCHS = powerpc ppc824x ppc853x ppc854x +GNU_CONFIGURE = 1 -CONFIGURE_ARGS += -Dman=false -Dlibmount=false -Ddefault_library=shared -Dselinux=disabled +PRE_CONFIGURE_TARGET = glib_pre_configure -include ../../mk/spksrc.native-meson.mk +include ../../mk/spksrc.native-cc.mk + +.PHONY: glib_pre_configure + +glib_pre_configure: + # force autogen to first use internal pcre instead of provided to prevent + # build failure. Subsequent default configure will superseed this afterwards + $(RUN) ./autogen.sh diff --git a/native/glib/digests b/native/glib/digests index 8bfe39f27d2..e13cdde4e12 100644 --- a/native/glib/digests +++ b/native/glib/digests @@ -1,3 +1,3 @@ -glib-2.62.6.tar.xz SHA1 86098944337e3818a2f52f324d23aa93f6dcb65d -glib-2.62.6.tar.xz SHA256 104fa26fbefae8024ff898330c671ec23ad075c1c0bce45c325c6d5657d58b9c -glib-2.62.6.tar.xz MD5 46bba5410ad4e75f65e4b2cc61a1afc8 +glib-2.58.3.tar.xz SHA1 9499377d09ad52d94b4ab9f38c4040e9dce875e5 +glib-2.58.3.tar.xz SHA256 8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481 +glib-2.58.3.tar.xz MD5 8058c7bde846dcffe5fa453eca366d73 diff --git a/spk/chromaprint/Makefile b/spk/chromaprint/Makefile index e080b3194c2..b7bb9eb10d8 100644 --- a/spk/chromaprint/Makefile +++ b/spk/chromaprint/Makefile @@ -15,6 +15,8 @@ CHANGELOG = "1. Update to ffmpeg 4.3.1" HOMEPAGE = https://acoustid.org/chromaprint LICENSE = LGPL2.1+ +include ../../mk/spksrc.common.mk + # Reuse FFmpeg libraries export FFMPEG_DIR = $(shell pwd)/../ffmpeg/work-$(ARCH)-$(TCVERSION)/install/var/packages/ffmpeg/target diff --git a/spk/comskip/Makefile b/spk/comskip/Makefile index 40058bbf002..f05203a7084 100755 --- a/spk/comskip/Makefile +++ b/spk/comskip/Makefile @@ -20,6 +20,8 @@ SPK_COMMANDS = bin/comskip POST_STRIP_TARGET = comskip_extra_install +include ../../mk/spksrc.common.mk + # Reuse FFmpeg libraries export FFMPEG_DIR = $(shell pwd)/../ffmpeg/work-$(ARCH)-$(TCVERSION)/install/var/packages/ffmpeg/target diff --git a/spk/debian-chroot/Makefile b/spk/debian-chroot/Makefile index d13f4b57d8a..246a9da49fa 100644 --- a/spk/debian-chroot/Makefile +++ b/spk/debian-chroot/Makefile @@ -4,18 +4,16 @@ SPK_REV = 7 SPK_ICON = src/debian.png DSM_UI_DIR = app -DEPENDS = +DEPENDS = WHEELS = pyextdirect==0.3.1 flask Werkzeug Jinja2 itsdangerous SPK_DEPENDS = "python>=2.7.6-8" -UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv8_ARCHS) - MAINTAINER = Diaoul DESCRIPTION = Debian is a free operating system \(OS\) that comes with over 29000 packages, precompiled software bundled up in a nice format for easy installation on your DiskStation. Debian Chroot allows you to benefit from the Debian OS inside your DiskStation, alongside DSM. This package is intended for advanced users only. DESCRIPTION_FRE = Debian est un système d\'exploitation \(SE\) qui rend disponible plus de 29000 paquets, logiciels précompilés et empaquetés dans un joli format pour rendre son installation facile sur votre DiskStation. Debian Chroot vous permet de bénéficier du SE Debian au sein de votre DiskStation, aux cotés de DSM. Ce paquet est destiné aux utilisateurs avancés uniquement. RELOAD_UI = yes DISPLAY_NAME = Debian Chroot -CHANGELOG = "1. Update to 8.4
2. Use amd64 for x86-64 archs" +CHANGELOG = "1. Update to 8.4
2. Use amd64 for x86-64 arches" HOMEPAGE = https://www.debian.org LICENSE = https://www.debian.org/legal/licenses @@ -28,25 +26,27 @@ INSTALL_PREFIX = /usr/local/$(SPK_NAME) POST_STRIP_TARGET = debian-chroot_extra_install -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk + +UNSUPPORTED_ARCHS = $(PPC_ARCHES) $(ARM8_ARCHES) DEBIAN_ARCH = -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM5_ARCHES)),$(ARCH)) DEBIAN_ARCH = armel endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM7_ARCHES)),$(ARCH)) DEBIAN_ARCH = armhf endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM8_ARCHES)),$(ARCH)) DEBIAN_ARCH = arm64 endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x86_ARCHES)),$(ARCH)) DEBIAN_ARCH = i386 endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x64_ARCHES)),$(ARCH)) DEBIAN_ARCH = amd64 endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) DEBIAN_ARCH = powerpc endif ifeq ($(strip $(DEBIAN_ARCH)),) diff --git a/spk/deluge/Makefile b/spk/deluge/Makefile index 0d1f90858e2..d11d3290591 100644 --- a/spk/deluge/Makefile +++ b/spk/deluge/Makefile @@ -10,7 +10,7 @@ SPK_DEPENDS = "python>=2.7.18" REQUIRED_DSM = 5.0 # archs lacking C++11 compiler (88f6281, hi3535 and ppc archs except QorIQ) required by cross/libtorrent -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(ARMv7L_ARCHS) $(OLD_PPC_ARCHS) +UNSUPPORTED_ARCHS = 88f6281 hi3535 powerpc ppc824x ppc853x ppc854x MAINTAINER = Safihre DESCRIPTION = Deluge is a full-featured BitTorrent client for Linux, OS X, Unix and Windows. It uses libtorrent in its backend and features multiple user-interfaces including: GTK+, web and console. It has been designed using the client server model with a daemon process that handles all the bittorrent activity. The Deluge daemon is able to run on headless machines with the user-interfaces being able to connect remotely from any platform. This package is intended for advanced users. diff --git a/spk/dnscrypt-proxy/Makefile b/spk/dnscrypt-proxy/Makefile index 3de9b70a7ed..0b3912e0ecf 100644 --- a/spk/dnscrypt-proxy/Makefile +++ b/spk/dnscrypt-proxy/Makefile @@ -5,7 +5,8 @@ SPK_ICON = src/dnscrypt-proxy.png DEPENDS = cross/$(SPK_NAME) SPK_CONFLICT = DNSServer -UNSUPPORTED_ARCHS = $(PPC_ARCHS) +GENERIC_ARCHS = ARM7 +UNSUPPORTED_ARCHS = $(PPC_ARCHES) MAINTAINER = publicarray DESCRIPTION = A flexible DNS proxy, with support for modern encrypted DNS protocols such as DNSCrypt v2 and DNS-over-HTTPS. https://github.com/jedisct1/dnscrypt-proxy diff --git a/spk/domoticz/Makefile b/spk/domoticz/Makefile index ca66287f8d4..d61bf52fc58 100644 --- a/spk/domoticz/Makefile +++ b/spk/domoticz/Makefile @@ -7,7 +7,7 @@ DSM_UI_DIR = app DEPENDS = cross/busybox cross/$(SPK_NAME) # archs lacking C++11 compiler (arm5 archs, ppc archs except QorIQ) -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) +UNSUPPORTED_ARCHS = $(ARM5_ARCHES) powerpc ppc824x ppc853x ppc854x MAINTAINER = Diaoul DESCRIPTION = Domoticz is a Home Automation System that lets you monitor and configure various devices like: Lights, Switches, various sensors/meters like Temperature, Rain, Wind, UV, Electra, Gas, Water and much more. Notifications/Alerts can be sent to any mobile device. diff --git a/diyspk/fdupes/Makefile b/spk/fdupes/Makefile similarity index 69% rename from diyspk/fdupes/Makefile rename to spk/fdupes/Makefile index 647fab1d6d5..2e9a8250992 100755 --- a/diyspk/fdupes/Makefile +++ b/spk/fdupes/Makefile @@ -1,19 +1,23 @@ SPK_NAME = fdupes -SPK_VERS = 2.1.2 -SPK_REV = 3 +SPK_VERS = 1.51 +SPK_REV = 2 SPK_ICON = src/fdupes.png DEPENDS = cross/fdupes MAINTAINER = biyiklioglu DESCRIPTION = FDUPES is a program for identifying or deleting duplicate files residing within specified directories. -DISPLAY_NAME = FDUPES +DISPLAY_NAME = Fdupes STARTABLE = no +BETA = 1 HOMEPAGE = https://github.com/adrianlopezroche/fdupes/ LICENSE = MIT HELP_URL = https://github.com/adrianlopezroche/fdupes/wiki -SPK_COMMANDS = bin/fdupes +INSTALLER_SCRIPT = src/installer.sh +SSS_SCRIPT = src/dsm-control.sh + +INSTALL_PREFIX = /usr/local/$(SPK_NAME) include ../../mk/spksrc.spk.mk diff --git a/diyspk/fdupes/PLIST b/spk/fdupes/PLIST similarity index 100% rename from diyspk/fdupes/PLIST rename to spk/fdupes/PLIST diff --git a/spk/fdupes/src/dsm-control.sh b/spk/fdupes/src/dsm-control.sh new file mode 100755 index 00000000000..e78e399b3e2 --- /dev/null +++ b/spk/fdupes/src/dsm-control.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +# Package +PACKAGE="fdupes" +DNAME="Fdupes" + +# Others +INSTALL_DIR="/usr/local/${PACKAGE}" +PATH="${INSTALL_DIR}/bin:${PATH}" + + +case $1 in + start) + exit 0 + ;; + stop) + exit 0 + ;; + status) + exit 1 + ;; + log) + exit 1 + ;; + *) + exit 1 + ;; +esac diff --git a/diyspk/fdupes/src/fdupes.png b/spk/fdupes/src/fdupes.png similarity index 100% rename from diyspk/fdupes/src/fdupes.png rename to spk/fdupes/src/fdupes.png diff --git a/spk/fdupes/src/installer.sh b/spk/fdupes/src/installer.sh new file mode 100755 index 00000000000..a604445ace7 --- /dev/null +++ b/spk/fdupes/src/installer.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +# Package +PACKAGE="fdupes" +DNAME="Fdupes" + +# Others +INSTALL_DIR="/usr/local/${PACKAGE}" +PATH="${INSTALL_DIR}/bin:${PATH}" + + +preinst () +{ + exit 0 +} + +postinst () +{ + # Link + ln -s ${SYNOPKG_PKGDEST} ${INSTALL_DIR} + + # Put fdupes in the PATH + mkdir -p /usr/local/bin + ln -s ${INSTALL_DIR}/bin/fdupes /usr/local/bin/fdupes + + exit 0 +} + +preuninst () +{ + exit 0 +} + +postuninst () +{ + # Remove link + rm -f ${INSTALL_DIR} + rm -f /usr/local/bin/fdupes + + exit 0 +} + +preupgrade () +{ + exit 0 +} + +postupgrade () +{ + exit 0 +} diff --git a/spk/fishnet/Makefile b/spk/fishnet/Makefile index 473be4c5217..8d42cd97325 100644 --- a/spk/fishnet/Makefile +++ b/spk/fishnet/Makefile @@ -18,7 +18,7 @@ CHANGELOG = "Initial release with fishnet-20200613." LICENSE = GPLv3 STARTABLE = no -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) +UNSUPPORTED_ARCHS = $(ARM5_ARCHES) powerpc ppc824x ppc853x ppc854x WHEELS = src/requirements.txt SERVICE_SETUP = src/service-setup.sh @@ -27,6 +27,7 @@ POST_STRIP_TARGET = fishnet_extra_install include ../../mk/spksrc.spk.mk + .PHONY: fishnet_extra_install fishnet_extra_install: install -m 755 -d $(STAGING_DIR)/var diff --git a/spk/gentoo-chroot/Makefile b/spk/gentoo-chroot/Makefile index 1038f6a8841..5555eb939fc 100644 --- a/spk/gentoo-chroot/Makefile +++ b/spk/gentoo-chroot/Makefile @@ -26,35 +26,31 @@ INSTALL_PREFIX = /usr/local/$(SPK_NAME) POST_STRIP_TARGET = gentoo-chroot_extra_install -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk -UNSUPPORTED_ARCHS = $(ARMv8_ARCHS) +UNSUPPORTED_ARCHS = $(ARM8_ARCHES) GENTOO_ARCH = -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM5_ARCHES)),$(ARCH)) GENTOO_CPU = arm GENTOO_ARCH = armv5tel endif -ifeq ($(findstring $(ARCH),$(ARMv7L_ARCHS)),$(ARCH)) -GENTOO_CPU = arm -GENTOO_ARCH = armv7a -endif -ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM7_ARCHES)),$(ARCH)) GENTOO_CPU = arm GENTOO_ARCH = armv7a_hardfp endif -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM8_ARCHES)),$(ARCH)) GENTOO_ARCH = arm64 endif -ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x86_ARCHES)),$(ARCH)) GENTOO_CPU = x86 GENTOO_ARCH = i386 endif -ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(x64_ARCHES)),$(ARCH)) GENTOO_CPU = x86 GENTOO_ARCH = i686 endif -ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) GENTOO_CPU = ppc GENTOO_ARCH = ppc endif diff --git a/spk/hassio/Makefile b/spk/hassio/Makefile index 8fa9ef7c950..5372b6ded92 100644 --- a/spk/hassio/Makefile +++ b/spk/hassio/Makefile @@ -16,7 +16,7 @@ STARTABLE = yes DISPLAY_NAME = Hass.io CHANGELOG = "" -UNSUPPORTED_ARCHS = $(ARM_ARCHS) $(PPC_ARCHS) $(i686_ARCHS) +UNSUPPORTED_ARCHS = $(ARM_ARCHES) $(PPC_ARCHES) $(x86_ARCHES) HOMEPAGE = https://www.home-assistant.io/hassio/ LICENSE = Apache License 2.0 diff --git a/spk/homeassistant/Makefile b/spk/homeassistant/Makefile index 8ea6bed0e1b..114e7c65543 100644 --- a/spk/homeassistant/Makefile +++ b/spk/homeassistant/Makefile @@ -1,6 +1,6 @@ SPK_NAME = homeassistant SPK_VERS = 0.118.5 -SPK_REV = 11 +SPK_REV = 10 SPK_ICON = src/${SPK_NAME}.png SPK_DEPENDS = "python3>=3.7.7" @@ -16,10 +16,11 @@ DEPENDS += cross/nmap # for mobile_app DEPENDS += cross/PyNaCl -include ../../mk/spksrc.archs.mk + +include ../../mk/spksrc.common.mk # unable to compile numpy 1.19.1 for x64 archs -ifneq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) +ifneq ($(findstring $(ARCH), $(x64_ARCHES)),$(ARCH)) # for iqvia DEPENDS += cross/numpy endif @@ -29,7 +30,7 @@ WHEELS = src/requirements.txt MAINTAINER = ymartin59 DESCRIPTION = Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control. DISPLAY_NAME = Home Assistant Core -CHANGELOG = "Fix integrations: Xiaomi Gateway (Aqara), Xiaomi Miio, Sony PlayStation 4, IKEA TRÅDFRI, Apple iCloud, Minut Point" +CHANGELOG = "1. Update Home Assistant to v0.118.5
2. Update dependencies" RELOAD_UI = yes STARTABLE = yes diff --git a/spk/homeassistant/src/requirements.txt b/spk/homeassistant/src/requirements.txt index a498aeda184..b75bb8f14cf 100644 --- a/spk/homeassistant/src/requirements.txt +++ b/spk/homeassistant/src/requirements.txt @@ -105,7 +105,7 @@ curve25519-donna==1.3 # https://github.com/ikalchev/HAP-python/blob/dev/requirem ecdsa==0.16.1 ed25519==1.5 pycryptodome==3.9.9 -tlslite-ng==0.7.6 +tlslite-ng==0.7.5 # homeassistant.components.mastodon @@ -159,7 +159,7 @@ PyTurboJPEG==1.4.0 #PyViCare==0.2.0 # homeassistant.components.xiaomi_aqara -PyXiaomiGateway==0.13.4 +#PyXiaomiGateway==0.13.4 # homeassistant.components.bmp280 # homeassistant.components.mcp23017 @@ -542,7 +542,7 @@ connect-box==0.2.8 # homeassistant.components.eddystone_temperature # homeassistant.components.eq3btsmart # homeassistant.components.xiaomi_miio -construct==2.9.45 +#construct==2.9.45 # homeassistant.components.coronavirus #coronavirus==1.1.1 @@ -786,7 +786,6 @@ gTTS-token==1.1.3 # homeassistant.components.nest #google-nest-sdm==0.1.14 -#grpcio==1.34.0 # fails to cross-compile wheel # homeassistant.components.google_travel_time #googlemaps==2.5.1 @@ -946,10 +945,10 @@ ua_parser==0.10.0 #keba-kecontact==1.1.0 # homeassistant.scripts.keyring -keyring==21.2.0 +#keyring==21.2.0 # homeassistant.scripts.keyring -keyrings.alt==3.4.0 +#keyrings.alt==3.4.0 # homeassistant.components.kiwi #kiwiki-client==0.1.1 @@ -1541,7 +1540,6 @@ pygatt[GATTTOOL]==4.0.5 # homeassistant.components.icloud pyicloud==0.9.7 -future==0.18.2 # homeassistant.components.insteon #pyinsteon==1.0.8 @@ -1713,11 +1711,7 @@ pyotp==2.3.0 #pypjlink2==1.2.1 # homeassistant.components.point -pypoint==2.0.0 -Authlib==0.15.2 -httpcore==0.12.2 -sniffio==1.2.0 -rfc3986==1.4.0 +#pypoint==2.0.0 # homeassistant.components.profiler #pyprof2calltree==1.4.5 @@ -1800,8 +1794,6 @@ pysabnzbd==1.1.0 # homeassistant.components.snmp pysnmp==4.4.12 -pysmi==0.3.4 -pycryptodomex==3.9.9 # homeassistant.components.soma #pysoma==0.0.10 @@ -1886,9 +1878,7 @@ demjson==2.2.4 # python-lirc==1.2.3 # homeassistant.components.xiaomi_miio -python-miio==0.5.3 -croniter==0.3.36 -natsort==7.1.0 +#python-miio==0.5.3 # homeassistant.components.mpd #python-mpd2==1.0.0 @@ -1972,7 +1962,6 @@ python-wink==1.10.5 # homeassistant.components.tradfri pytradfri[async]==7.0.4 -aiocoap==0.4b3 # homeassistant.components.trafikverket_train # homeassistant.components.trafikverket_weatherstation diff --git a/spk/homeassistant/src/service-setup.sh b/spk/homeassistant/src/service-setup.sh index b2b1852a119..c1ad0b45f2f 100644 --- a/spk/homeassistant/src/service-setup.sh +++ b/spk/homeassistant/src/service-setup.sh @@ -1,7 +1,3 @@ -# no shebang, this file is included by following scripts -# - installer -# - start-stop-status - PYTHON_DIR="/usr/local/python3" VIRTUALENV="${PYTHON_DIR}/bin/virtualenv" PATH="${SYNOPKG_PKGDEST}/env/bin:${SYNOPKG_PKGDEST}/bin:${PYTHON_DIR}/bin:${PATH}" @@ -14,24 +10,18 @@ HOME="${SYNOPKG_PKGDEST}/var/" service_postinst () { + # use alternate TMPDIR (as /tmp might have <400MB free space for 'pip install') + # TMPDIR is supported by pip https://github.com/pypa/pip/issues/4462 ('--build dir' is not supported anymore) + TMPDIR=${SYNOPKG_PKGDEST}/tmp + mkdir -p "${TMPDIR}" + # Create a Python virtualenv ${VIRTUALENV} --system-site-packages ${SYNOPKG_PKGDEST}/env >> ${INST_LOG} # Install the wheels - ${SYNOPKG_PKGDEST}/env/bin/pip install --no-deps --no-input --upgrade --no-index --find-links ${SYNOPKG_PKGDEST}/share/wheelhouse ${SYNOPKG_PKGDEST}/share/wheelhouse/*.whl >> ${INST_LOG} 2>&1 + TMPDIR=${SYNOPKG_PKGDEST}/tmp ${SYNOPKG_PKGDEST}/env/bin/pip install --no-deps --no-input --upgrade --no-index --find-links ${SYNOPKG_PKGDEST}/share/wheelhouse ${SYNOPKG_PKGDEST}/share/wheelhouse/*.whl >> ${INST_LOG} 2>&1 mkdir -p "${CONFIG_DIR}" # For pip to install pure python module (others have to be provided as wheels in requirement.txt) chown -R ${EFF_USER} ${SYNOPKG_PKGDEST}/env } - - -# use alternate TMPDIR for service_postinst and start_daemon (start-stop-status) -# /tmp might have <400MB free space -# TMPDIR is supported by pip https://github.com/pypa/pip/issues/4462 ('--build dir' is not supported anymore) -TMPDIR=${SYNOPKG_PKGDEST}/tmp -if [[ ! -e "${TMPDIR}" ]]; then - mkdir -p "${TMPDIR}" - chown ${EFF_USER} "${TMPDIR}" -fi -export TMPDIR=${SYNOPKG_PKGDEST}/tmp diff --git a/spk/jackett/Makefile b/spk/jackett/Makefile index db1d79e0642..5eacc3516f7 100644 --- a/spk/jackett/Makefile +++ b/spk/jackett/Makefile @@ -32,7 +32,7 @@ POST_STRIP_TARGET = jackett_extra_install REQUIRED_DSM = 5.0 # no PPC support for mono, see cross/mono/Makefile for details -UNSUPPORTED_ARCHS = $(PPC_ARCHS) +UNSUPPORTED_ARCHS = $(PPC_ARCHES) BUSYBOX_CONFIG = usrmng daemon ENV += BUSYBOX_CONFIG="$(BUSYBOX_CONFIG)" diff --git a/spk/lidarr/Makefile b/spk/lidarr/Makefile index 058ac5bebf6..9f131ec092d 100644 --- a/spk/lidarr/Makefile +++ b/spk/lidarr/Makefile @@ -5,7 +5,7 @@ SPK_ICON = src/lidarr.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) +UNSUPPORTED_ARCHS = $(PPC_ARCHES) DEPENDS = cross/curl cross/mediainfo cross/sqlite cross/lidarr diff --git a/spk/lirc/Makefile b/spk/lirc/Makefile index 1844475e2d1..4b74714ba6a 100644 --- a/spk/lirc/Makefile +++ b/spk/lirc/Makefile @@ -9,11 +9,11 @@ LIRC_SUPPORTED_DRIVERS = # Abort for ARCHs that won't compile LIRC cleanly UNSUPPORTED_ARCHS = powerpc -# include arch definitions -include ../../mk/spksrc.archs.mk +# include definition of PPC_ARCHES... +include ../../mk/spksrc.common.mk # Use older LIRC build for ARCHs with kernel < 2.6.36 -ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(PPC_ARCHS)),) +ifneq ($(findstring $(ARCH), $(ARM5_ARCHES) $(PPC_ARCHES)),) SPK_VERS = 0.8.7 LIRC_SUPPORTED_DRIVERS = mceusb uirt uirt2 endif diff --git a/spk/minio/Makefile b/spk/minio/Makefile index 2dc40462b98..d1edfd79049 100644 --- a/spk/minio/Makefile +++ b/spk/minio/Makefile @@ -6,7 +6,8 @@ DSM_UI_DIR = app DEPENDS = cross/busybox cross/$(SPK_NAME) -UNSUPPORTED_ARCHS = $(PPC_ARCHS) +UNSUPPORTED_ARCHS = $(PPC_ARCHES) +GENERIC_ARCHS = ARM7 MAINTAINER = fgma DESCRIPTION = MinIO is a high performance object storage server compatible with Amazon S3 APIs. diff --git a/spk/mosquitto/Makefile b/spk/mosquitto/Makefile index cc404511251..1406c61216d 100755 --- a/spk/mosquitto/Makefile +++ b/spk/mosquitto/Makefile @@ -5,7 +5,7 @@ SPK_ICON = src/mosquitto.png DEPENDS = cross/busybox cross/$(SPK_NAME) # libwebsockets is not supported for ppc except qoriq -UNSUPPORTED_ARCHS = $(OLD_PCC_ARCHS) +UNSUPPORTED_ARCHS = powerpc ppc824x ppc853x ppc854x MAINTAINER = SynoCommunity DESCRIPTION = Mosquitto is an open source message broker that implements the MQTT protocol versions 5.0, 3.1.1 and 3.1. diff --git a/spk/mtproxy/Makefile b/spk/mtproxy/Makefile index 98c50a933de..ae0370fea85 100644 --- a/spk/mtproxy/Makefile +++ b/spk/mtproxy/Makefile @@ -17,7 +17,7 @@ STARTABLE = yes DISPLAY_NAME = MTProxy CHANGELOG = "1. Update openssl to 1.1." -UNSUPPORTED_ARCHS = $(ARM_ARCHS) $(PPC_ARCHS) +UNSUPPORTED_ARCHS = $(ARM_ARCHES) $(PPC_ARCHES) HOMEPAGE = https://github.com/TelegramMessenger/MTProxy LICENSE = GPL diff --git a/spk/mutt/Makefile b/spk/mutt/Makefile index 32ffcede800..d6627b4fa47 100644 --- a/spk/mutt/Makefile +++ b/spk/mutt/Makefile @@ -1,6 +1,6 @@ SPK_NAME = mutt -SPK_VERS = 2.0.3 -SPK_REV = 6 +SPK_VERS = 1.13.4 +SPK_REV = 5 SPK_ICON = src/mutt.png DEPENDS = cross/mutt @@ -10,7 +10,7 @@ DESCRIPTION = Mutt is a small but very powerful text-based mail client for Unix DISPLAY_NAME = Mutt STARTABLE = no -CHANGELOG = "1. Update to mutt v2.0.3.
2. Update openssl to 1.1." +CHANGELOG = "Update openssl to 1.1." HOMEPAGE = http://www.mutt.org LICENSE = GPLv2 @@ -21,6 +21,7 @@ SPK_LINKS = /usr/local/bin/mutt:bin/mutt-utf8 POST_STRIP_TARGET = mutt_extra_install + include ../../mk/spksrc.spk.mk .PHONY: mutt_extra_install diff --git a/spk/mutt/src/service-setup.sh b/spk/mutt/src/service-setup.sh index 21c5e782f7c..e8ba045c53b 100644 --- a/spk/mutt/src/service-setup.sh +++ b/spk/mutt/src/service-setup.sh @@ -8,3 +8,4 @@ service_save () mv ${INSTALL_TARGET_DIR}/etc/Muttrc.local ${TMP_DIR}/Muttrc.local >> "${INST_LOG}" fi } + diff --git a/spk/node-exporter/Makefile b/spk/node-exporter/Makefile index 5f00fb92fac..385abd427ab 100644 --- a/spk/node-exporter/Makefile +++ b/spk/node-exporter/Makefile @@ -5,7 +5,8 @@ SPK_ICON = src/node-exporter.png DEPENDS = cross/$(SPK_NAME) -UNSUPPORTED_ARCHS = $(PPC_ARCHS) +UNSUPPORTED_ARCHS = $(PPC_ARCHES) +GENERIC_ARCHS = ARM7 MAINTAINER = FatMinMin DESCRIPTION = Prometheus exporter for hardware and OS metrics exposed by *NIX kernels diff --git a/spk/ntopng/Makefile b/spk/ntopng/Makefile index d9b3244cf61..9e5298fab41 100644 --- a/spk/ntopng/Makefile +++ b/spk/ntopng/Makefile @@ -8,7 +8,7 @@ DEPENDS = cross/$(SPK_NAME) SPK_DEPENDS = "redis" # toolchains of DSM <=5.2 have outdated compiler (PPC archs except qoriq) -UNSUPPORTED_ARCHS = $(OLD_PCC_ARCHS) +UNSUPPORTED_ARCHS = powerpc ppc824x ppc853x ppc854x MAINTAINER = hgy59 DESCRIPTION = ntopng is the next generation version of the original ntop, a network traffic probe that monitors network usage. ntopng is based on libpcap and it has been written in a portable way in order to virtually run on every Unix platform, MacOSX and on Windows as well. diff --git a/spk/python/Makefile b/spk/python/Makefile index f7087052e7c..3165a8be4d6 100644 --- a/spk/python/Makefile +++ b/spk/python/Makefile @@ -43,7 +43,7 @@ ENV += BUSYBOX_CONFIG="$(BUSYBOX_CONFIG)" include ../../mk/spksrc.spk.mk # Wheel "cryptography" lacks libpthread when cross-compile for ARM -ifeq ($(findstring $(ARCH),$(ARM_ARCHS)),$(ARCH)) +ifeq ($(findstring $(ARCH),$(ARM_ARCHES)),$(ARCH)) WHEELS_CFLAGS = "-pthread" WHEELS_LDFLAGS = "-lpthread" endif diff --git a/spk/radarr/Makefile b/spk/radarr/Makefile index 062ed6610fc..ed5f53deaf8 100644 --- a/spk/radarr/Makefile +++ b/spk/radarr/Makefile @@ -5,7 +5,7 @@ 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) +UNSUPPORTED_ARCHS = $(PPC_ARCHES) DEPENDS = cross/busybox cross/curl cross/mediainfo cross/sqlite cross/radarr diff --git a/spk/radarr/src/service-setup.sh b/spk/radarr/src/service-setup.sh index e6280a1f22a..2a5f7070634 100644 --- a/spk/radarr/src/service-setup.sh +++ b/spk/radarr/src/service-setup.sh @@ -7,8 +7,8 @@ RADARR="${SYNOPKG_PKGDEST}/share/Radarr/Radarr.exe" SPK_RADARR="${SYNOPKG_PKGINST_TEMP_DIR}/share/Radarr/Radarr.exe" # Radarr uses custom Config and PID directories -HOME_DIR="${SYNOPKG_PKGVAR}/" -CONFIG_DIR="${SYNOPKG_PKGVAR}/.config" +HOME_DIR="${SYNOPKG_PKGDEST}/var" +CONFIG_DIR="${SYNOPKG_PKGDEST}/var/.config" PID_FILE="${CONFIG_DIR}/Radarr/radarr.pid" # Some have it stored in the root of package diff --git a/spk/redis/Makefile b/spk/redis/Makefile index b36e2e95669..eb8a6cd70ee 100644 --- a/spk/redis/Makefile +++ b/spk/redis/Makefile @@ -15,8 +15,8 @@ DISPLAY_NAME = redis CHANGELOG = "Update to 5.0.7" -# PPC archs except qoriq are not supported anymore -UNSUPPORTED_ARCHS = $(OLD_PCC_ARCHS) +# PPC_ARCHES except qoriq are not supported anymore +UNSUPPORTED_ARCHS = powerpc ppc824x ppc853x ppc854x HOMEPAGE = https://redis.io LICENSE = 3-clause BSD diff --git a/spk/rutorrent/Makefile b/spk/rutorrent/Makefile index 476a1646570..67c3b3bcb0b 100644 --- a/spk/rutorrent/Makefile +++ b/spk/rutorrent/Makefile @@ -5,12 +5,12 @@ SPK_ICON = src/rutorrent.png DSM_UI_DIR = app # some dependents require C++11 support -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PCC_ARCHS) +UNSUPPORTED_ARCHS = $(ARM5_ARCHES) powerpc ppc824x ppc853x ppc854x # unsupported with cross/rtorrent -UNSUPPORTED_ARCHS += $(ARMv7L_ARCHS) +UNSUPPORTED_ARCHS += hi3535 -DEPENDS = cross/busybox cross/curl cross/procps-ng cross/mediainfo cross/rtorrent cross/rutorrent cross/screen cross/unzip -DEPENDS += cross/sox +DEPENDS = cross/busybox cross/curl cross/procps-ng cross/mediainfo cross/rtorrent cross/rutorrent cross/screen cross/unzip +DEPENDS += cross/sox MAINTAINER = smaarn DESCRIPTION = ruTorrent is a front-end for the popular Bittorrent client rTorrent. rTorrent is a BitTorrent client for ncurses, using the libtorrent library. The client and library is written in C++ with emphasis on speed and efficiency, while delivering equivalent features to those found in GUI based clients in an ncurses client. diff --git a/spk/salt-minion/Makefile b/spk/salt-minion/Makefile index a49cf43ba57..3b02cac4376 100644 --- a/spk/salt-minion/Makefile +++ b/spk/salt-minion/Makefile @@ -6,7 +6,7 @@ SPK_ICON = src/salt-minion.png PIP = $(WORK_DIR)/../../../native/python3/work-native/install/usr/local/bin/pip BUILD_DEPENDS = cross/python3 SPK_DEPENDS = "python3>=3.7" -UNSUPPORTED_ARCHS = $(PPC_ARCHS) $(ARMv5_ARCHS) +UNSUPPORTED_ARCHS = $(PPC_ARCHES) $(ARM5_ARCHES) # Requirements file generation # /usr/local/python3/bin/python3 -mvirtualenv --python=python3 salt-env diff --git a/spk/sonarr/Makefile b/spk/sonarr/Makefile index fa1d7a1d255..2472b301567 100644 --- a/spk/sonarr/Makefile +++ b/spk/sonarr/Makefile @@ -4,7 +4,7 @@ SPK_REV = 18 SPK_ICON = src/sonarr.png # Mono not supported on ppc platforms. C.f. cross/mono/Makefile and references therein for details. -UNSUPPORTED_ARCHS = $(PPC_ARCHS) +UNSUPPORTED_ARCHS = $(PPC_ARCHES) DEPENDS = cross/busybox cross/curl cross/mediainfo cross/sqlite cross/sonarr diff --git a/spk/stockfish/Makefile b/spk/stockfish/Makefile index 68b4dfc7b8a..d7ddfc46657 100644 --- a/spk/stockfish/Makefile +++ b/spk/stockfish/Makefile @@ -25,8 +25,10 @@ WIZARDS_DIR = src/wizard POST_STRIP_TARGET = stockfish_extra_install +include ../../mk/spksrc.common.mk + # Toolchains lacking c++11 compiler ar not supported -UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) +UNSUPPORTED_ARCHS = $(ARM5_ARCHES) powerpc ppc824x ppc853x ppc854x SPK_COMMANDS = bin/stockfish diff --git a/spk/syncthing/Makefile b/spk/syncthing/Makefile index 7d81a83f9b4..8a761e3c79c 100644 --- a/spk/syncthing/Makefile +++ b/spk/syncthing/Makefile @@ -6,7 +6,8 @@ DSM_UI_DIR = app DEPENDS = cross/busybox cross/$(SPK_NAME) -UNSUPPORTED_ARCHS = $(PPC_ARCHS) +UNSUPPORTED_ARCHS = $(PPC_ARCHES) +GENERIC_ARCHS = ARM7 MAINTAINER = Safihre DESCRIPTION = Automatically sync files via secure, distributed technology. diff --git a/spk/synocli-disk/Makefile b/spk/synocli-disk/Makefile index 45d301a9229..a68a0749920 100644 --- a/spk/synocli-disk/Makefile +++ b/spk/synocli-disk/Makefile @@ -3,6 +3,8 @@ SPK_VERS = 3.1 SPK_REV = 4 SPK_ICON = src/synocli-disk.png +include ../../mk/spksrc.common.mk + DEPENDS = cross/ntfs-3g_ntfsprogs cross/e2fsprogs cross/fuse cross/testdisk DEPENDS += cross/ncdu cross/davfs2 cross/lsscsi cross/ddrescue OPTIONAL_DEPENDS = cross/dar @@ -12,9 +14,7 @@ DISPLAY_NAME = SynoCli Disk Tools OPTIONAL_DESC = -include ../../mk/spksrc.archs.mk - -ifneq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(ARMv7L_ARCHS) $(OLD_PPC_ARCHS)),$(ARCH)) +ifneq ($(findstring $(ARCH),$(ARM5_ARCHES) hi3535 powerpc ppc824x ppc853x ppc854x),$(ARCH)) # DAR: archs without C++11 support are not supported DEPENDS += cross/dar OPTIONAL_DESC := $(OPTIONAL_DESC)", dar" diff --git a/spk/synocli-file/Makefile b/spk/synocli-file/Makefile index bead8416222..a118745baac 100644 --- a/spk/synocli-file/Makefile +++ b/spk/synocli-file/Makefile @@ -1,12 +1,13 @@ SPK_NAME = synocli-file -SPK_VERS = 2.1 -SPK_REV = 6 +SPK_VERS = 2.0 +SPK_REV = 5 SPK_ICON = src/synocli-file.png +include ../../mk/spksrc.common.mk + DEPENDS = cross/less cross/tree cross/ncdu cross/jdupes cross/rhash cross/mc cross/nano cross/file DEPENDS += cross/detox cross/pcre2 DEPENDS += cross/zstd -DEPENDS += cross/fdupes OPTIONAL_DEPENDS = cross/rmlint cross/rnm MAINTAINER = SynoCommunity @@ -14,28 +15,24 @@ DISPLAY_NAME = SynoCli File Tools OPTIONAL_DESC = -include ../../mk/spksrc.archs.mk - -# PPC archs except QorIQ -ifneq ($(findstring $(ARCH),$(OLD_PPC_ARCHS)),$(ARCH)) +# PPC_ARCHES except QorIQ +ifneq ($(findstring $(ARCH), powerpc ppc824x ppc853x ppc854x),$(ARCH)) DEPENDS += cross/rmlint OPTIONAL_DESC := $(OPTIONAL_DESC)", rmlint" endif -ifneq ($(findstring $(ARCH),$(OLD_PPC_ARCHS) $(ARMv5_ARCHS)),$(ARCH)) +ifneq ($(findstring $(ARCH), powerpc ppc824x ppc853x ppc854x $(ARM5_ARCHES)),$(ARCH)) # to build rnm, GCC >= 4.8 is required, but not contained in older toolchains. DEPENDS += cross/rnm OPTIONAL_DESC := $(OPTIONAL_DESC)", rnm" endif -# activate additional features for -# - pcre2grep and pcre2test -# - fdupes +# activate additional features for pcre2grep and pcre2test ENV += PCRE2_CLI_FULL=1 -DESCRIPTION = "SynoCli File Tools provides a set of small command-line utilities: less, tree, ncdu, jdupes, fdupes, rhash, mc \(midnight commander\), nano, file, detox, pcre2, zstd$(OPTIONAL_DESC)." +DESCRIPTION = "SynoCli File Tools provides a set of small command-line utilities: less, tree, ncdu, jdupes, rhash, mc \(midnight commander\), nano, file, detox, pcre2, zstd$(OPTIONAL_DESC)." STARTABLE = no -CHANGELOG = "Add fdupes v2.1.2" +CHANGELOG = "Add zstd (Zstandard compression tool) 1.4.3" HOMEPAGE = https://github.com/SynoCommunity/spksrc/wiki/FAQ-SynoCliFile LICENSE = Each tool is licensed under it\'s respective license. @@ -52,7 +49,6 @@ SPK_COMMANDS += bin/pcre2grep bin/pcre2test SPK_COMMANDS += bin/rmlint SPK_COMMANDS += bin/rnm SPK_COMMANDS += bin/zstd bin/unzstd bin/zstdcat bin/zstdmt bin/zstdgrep bin/zstdless -SPK_COMMANDS += bin/fdupes SPK_COMMANDS += bin/rhash SPK_LINKS = /usr/local/bin/ed2k-link:bin/rhash diff --git a/spk/synocli-monitor/Makefile b/spk/synocli-monitor/Makefile index a3cbd99c7d9..e5728da7719 100644 --- a/spk/synocli-monitor/Makefile +++ b/spk/synocli-monitor/Makefile @@ -23,7 +23,7 @@ MAINTAINER = SynoCommunity DESCRIPTION = SynoCli Monitor Tools provides a set of command-line utilities for system monitoring: nmon, iperf2, iperf3, htop$(OPTIONAL_DESC). DISPLAY_NAME = SynoCli Monitor Tools STARTABLE = no -CHANGELOG = "1. Update htop to 3.0.2 and include it in all DSM versions.
2. Update iperf3 to 3.9 and openssl to 1.1." +CHANGELOG = "1. Update htop to 3.0.2 and include it in all DSM versions.
2. Update openssl to 1.1. \(iperf3\)" HOMEPAGE = https://github.com/SynoCommunity/spksrc/wiki/FAQ-SynoCliMonitor LICENSE = Each tool is licensed under it\'s respective license. @@ -35,4 +35,5 @@ ENV += BUSYBOX_CONFIG="$(BUSYBOX_CONFIG)" SPK_COMMANDS = bin/htop bin/nmon bin/iperf2 bin/iperf3 bin/lsof SPK_COMMANDS += bin/iostat bin/lsof bin/pgrep bin/pmap bin/watch bin/pstree + include ../../mk/spksrc.spk.mk diff --git a/spk/synocli-net/Makefile b/spk/synocli-net/Makefile index 671aad699da..d27b8551542 100644 --- a/spk/synocli-net/Makefile +++ b/spk/synocli-net/Makefile @@ -8,16 +8,16 @@ DEPENDS += cross/rsync cross/autossh cross/arp-scan OPTIONAL_DEPENDS = cross/fritzctl cross/ser2net -include ../../mk/spksrc.archs.mk +include ../../mk/spksrc.common.mk OPTIONAL_DESC = -ifneq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) +ifneq ($(findstring $(ARCH),$(PPC_ARCHES)),$(ARCH)) DEPENDS += cross/fritzctl OPTIONAL_DESC := $(OPTIONAL_DESC)", fritzctl" endif -ifneq ($(findstring $(ARCH),$(OLD_PCC_ARCHS)),$(ARCH)) +ifneq ($(findstring $(ARCH), powerpc ppc824x ppc853x ppc854x),$(ARCH)) DEPENDS += cross/ser2net OPTIONAL_DESC := $(OPTIONAL_DESC)", ser2net" endif diff --git a/spk/tvheadend/Makefile b/spk/tvheadend/Makefile index e1c5b270ff2..58829f8e19a 100644 --- a/spk/tvheadend/Makefile +++ b/spk/tvheadend/Makefile @@ -24,9 +24,9 @@ CHANGELOG = "1. Update to latest git version 9ed76c0 as of October 11th 2020