44
55set -u
66
7+ # https://originhelp.synology.com/developer-guide/appendix/index.html
8+ # https://github.com/SynoCommunity/spksrc/wiki/Architecture-per-Synology-model
9+ # https://github.com/SynoCommunity/spksrc/blob/master/mk/spksrc.common.mk
10+ ARM5_ARCHES=" 88f6281"
11+ ARM7_ARCHES=" alpine armada370 armada375 armada38x armadaxp comcerto2k monaco hi3535 ipq806x northstarplus"
12+ ARM8_ARCHES=" rtd1296 armada37xx aarch64"
13+ ARM_ARCHES=" $ARM5_ARCHES $ARM7_ARCHES $ARM8_ARCHES "
14+ PPC32_ARCHES=" powerpc ppc824x ppc853x ppc854x qoriq"
15+ x86_ARCHES=" evansport"
16+ x64_ARCHES=" apollolake avoton braswell broadwell broadwellnk bromolow cedarview denverton dockerx64 grantley kvmx64 x86 x64 x86_64"
17+ # x64_ARCHES="x86 cedarview bromolow"
18+
719usage () {
820 echo " Usage: $0 command"
921 echo
1022 echo " Commands:"
1123 echo " compress compresses compiled binary with upx"
1224 echo " update update dependencies with yarn or npm"
13- echo " dependencies installs dependencies and bundles them through browserify "
14- echo " all Runs browserify and Compiles go project for all architectures"
25+ echo " dependencies installs npm and go dependencies (yarn/npm and dep) "
26+ echo " all Compiles go project for all architectures"
1527 echo " compile compile go project"
1628 echo " package create spk"
1729 echo " dev runs '_cp', 'compile' and 'package' commands"
@@ -74,11 +86,37 @@ dependencies() {
7486compileAll () {
7587 dependencies
7688
89+ # # match arches to go build arches:
7790 arch=" arm arm64 386 amd64 ppc64"
78- for ARCH in ${arch}
79- do
80- compile " $ARCH "
81- package " $ARCH "
91+ for ARCH in ${arch} ; do
92+ compile " $ARCH "
93+ supported_arches=" "
94+ case " $ARCH " in
95+ " arm" )
96+ supported_arches=" $ARM5_ARCHES $ARM7_ARCHES "
97+ package " $ARCH " " ipq806x northstarplus" " 1.1"
98+
99+ supported_arches=$( echo " $supported_arches " | sed ' s/ ipq806x//' | sed ' s/ northstarplus//' )
100+ ;;
101+ " arm64" )
102+ supported_arches=" $ARM8_ARCHES "
103+ ;;
104+ " 386" )
105+ supported_arches=" $x86_ARCHES "
106+ ;;
107+ " amd64" )
108+ supported_arches=" $x64_ARCHES "
109+ ;;
110+ " ppc64" )
111+ supported_arches=" "
112+ ;;
113+ * )
114+ echo " Unsupported Architecture!"
115+ exit 1
116+ ;;
117+ esac
118+ OS_MIN_VER=6.1-14715
119+ package " $ARCH " " $supported_arches " " $OS_MIN_VER "
82120 done
83121}
84122
@@ -119,6 +157,8 @@ compress() { # not recommended, slows down launch time ~0.8s
119157# # Step 3 Compress package and create spk
120158package () {
121159 ARCH=${1:- native}
160+ SUPP_ARCH=${2:- noarch}
161+ OS_MIN_VER=${3:- 6.1-14715}
122162 # sha1sum="$(shell command -v sha1sum 2>/dev/null || command -v gsha1sum 2>/dev/null)"
123163 # sha256sum="$(shell command -v sha256sum 2>/dev/null || command -v gsha256sum 2>/dev/null)"
124164 md5sum=" $( shell command -v md5sum 2> /dev/null || command -v gmd5sum 2> /dev/null) "
@@ -136,12 +176,13 @@ package() {
136176 # # Create checksum
137177 checksum=$( $md5sum package.tgz | awk ' {print $1}' )
138178 sed -i ' ' -e " s/checksum=.*/checksum=\" ${checksum} \" /" INFO
139- # sed -i '' -e "s/arch=.*/arch=\"${ARCH}\"/" INFO
179+ sed -i ' ' -e " s/arch=.*/arch=\" ${SUPP_ARCH} \" /" INFO
180+ sed -i ' ' -e " s/os_min_ver=.*/os_min_ver=\" ${OS_MIN_VER} \" /" INFO
140181 # pkg_get_spk_platform
141182 # pkg_get_spk_family
142183
143184 # # Create spk
144- tar cpf synoedit-" $ARCH " .spk \
185+ tar cpf synoedit-" $ARCH " - " $OS_MIN_VER " .spk \
145186 --exclude=' node_modules' \
146187 --exclude=' *.afdesign' \
147188 --exclude=' *.afphoto' \
0 commit comments