From 29566bfe7d726d825e823fada9908b3165b15d3f Mon Sep 17 00:00:00 2001
From: Joseph Henry <joseph.henry@zerotier.com>
Date: Sun, 10 Apr 2022 22:50:53 -0700
Subject: [PATCH] Add Synology target to Linux makefile

---
 make-linux.mk                  |  3 ++
 synology/build.sh              | 22 +++++++--------
 synology/syn-pkg-entrypoint.sh | 50 +++++++++++++++++-----------------
 3 files changed, 38 insertions(+), 37 deletions(-)

diff --git a/make-linux.mk b/make-linux.mk
index 08ca1f990..ab11cba10 100644
--- a/make-linux.mk
+++ b/make-linux.mk
@@ -486,4 +486,7 @@ snap-upload-stable: FORCE
 		snapcraft upload --release=stable $${SNAPFILE};\
 	done
 
+synology: FORCE
+	./synology/build.sh build
+
 FORCE:
diff --git a/synology/build.sh b/synology/build.sh
index b5b1c0246..c59757fd2 100755
--- a/synology/build.sh
+++ b/synology/build.sh
@@ -1,11 +1,11 @@
 #!/bin/bash
 
-ZTO_VER=$(jq -r '.version' config.json)
-PKG_REV=$(jq -r '.rev' config.json)
+ZTO_VER=$(jq -r '.version' synology/config.json)
+PKG_REV=$(jq -r '.rev' synology/config.json)
 echo $ZTO_VER-$PKG_REV
-ZTO_DESC=$(jq -r '.desc' config.json)
+ZTO_DESC=$(jq -r '.desc' synology/config.json)
 echo $ZTO_DESC
-ZTO_EMAIL=$(jq -r '.email' config.json)
+ZTO_EMAIL=$(jq -r '.email' synology/config.json)
 echo $ZTO_EMAIL
 read -p "Confirm details [y/n] ? " -n 1 -r; echo; if [[ ! $REPLY =~ ^[Yy]$ ]]; then echo "Exiting."; exit; fi
 
@@ -18,12 +18,14 @@ build_environment()
 generate_package_sources()
 {
   # Clean up any intermediate files
-  make -C spksrc clean
+  sudo make -C spksrc clean
   rm -rf spksrc/distrib/*
   rm -rf spksrc/packages/*
   rm -rf spksrc/distrib/*source.tar.gz*
+  rm -rf spksrc/cross/*
+  mkdir -p spksrc/cross/zerotier
 
-  # Generate the SPK
+  # Generate the SPK contents
 
   # Copy package scripts to spksrc so they're accessible to container
   rm -rf spksrc/dsm6-pkg
@@ -38,12 +40,6 @@ generate_package_sources()
   mkdir -p synology/spksrc/distrib
   cp source.tar.gz synology/spksrc/distrib/source.tar.gz
 
-  #
-  # Set up (cross) directory contents
-  #
-  rm -rf spksrc/cross/*
-  mkdir -p spksrc/cross/zerotier
-
 cat > synology/spksrc/cross/zerotier/digests <<- EOM
 source.tar.gz SHA1 $(sha1sum source.tar.gz | awk '{print $1}')
 source.tar.gz SHA256 $(sha256sum source.tar.gz | awk '{print $1}')
@@ -133,9 +129,11 @@ EOM
 
 build()
 {
+  pushd synology
   build_environment
   generate_package_sources
   sudo docker run -it -v $(pwd)/spksrc:/spksrc zt-spksrc /bin/bash
+  popd
 }
 
 "$@"
diff --git a/synology/syn-pkg-entrypoint.sh b/synology/syn-pkg-entrypoint.sh
index beb171215..1764e8e6c 100755
--- a/synology/syn-pkg-entrypoint.sh
+++ b/synology/syn-pkg-entrypoint.sh
@@ -3,36 +3,36 @@
 pushd spk/zerotier
 
 make arch-x64-6.2.4
-# make arch-braswell-6.2.4
+make arch-braswell-6.2.4
 # make arch-88f6281-6.2.4 #(std11)
 # make arch-monaco-6.2.4 #(ZT_AES_NO_ACCEL=1)
 # make arch-hi3535-6.2.4 #(take out -mfloat-abi=hard)
 # make arch-comcerto2k-6.2.4 #(ZT_AES_NO_ACCEL=1, remove all flags from arm hf section)
 # make arch-alpine4k-6.2.4 #(problem?)
 # make arch-alpine-6.2.4 #(problem?)
-# make arch-aarch64-6.2.4
-# make arch-apollolake-6.2.4
-# make arch-armada370-6.2.4
-# make arch-armada375-6.2.4
-# make arch-armada37xx-6.2.4
-# make arch-armada38x-6.2.4
-# make arch-armadaxp-6.2.4
-# make arch-armv7-6.2.4
-# make arch-avoton-6.2.4
-# make arch-broadwell-6.2.4
-# make arch-broadwellnk-6.2.4
-# make arch-bromolow-6.2.4
-# make arch-cedarview-6.2.4
-# make arch-denverton-6.2.4
-# make arch-evansport-6.2.4
-# make arch-geminilake-6.2.4
-# make arch-grantley-6.2.4
-# make arch-kvmx64-6.2.4
-# make arch-dockerx64-6.2.3
-# make arch-purley-6.2.4
-# make arch-qoriq-6.2.4
-# make arch-rtd1296-6.2.4
-# make arch-v1000-6.2.4
-# make arch-x86-6.2.4
+make arch-aarch64-6.2.4
+make arch-apollolake-6.2.4
+make arch-armada370-6.2.4
+make arch-armada375-6.2.4
+make arch-armada37xx-6.2.4
+make arch-armada38x-6.2.4
+make arch-armadaxp-6.2.4
+make arch-armv7-6.2.4
+make arch-avoton-6.2.4
+make arch-broadwell-6.2.4
+make arch-broadwellnk-6.2.4
+make arch-bromolow-6.2.4
+make arch-cedarview-6.2.4
+make arch-denverton-6.2.4
+make arch-evansport-6.2.4
+make arch-geminilake-6.2.4
+make arch-grantley-6.2.4
+make arch-kvmx64-6.2.4
+make arch-dockerx64-6.2.3
+make arch-purley-6.2.4
+make arch-qoriq-6.2.4
+make arch-rtd1296-6.2.4
+make arch-v1000-6.2.4
+make arch-x86-6.2.4
 
 popd