yggdrasil-go/contrib/nas/nas-qnap.sh
vadym d8a4000141 1. added multipath protocol and schema suport
2. added SCTP protocol and schema support
3. added set of NAS models support (Asustor, ReadyNAS, Drobo, QNAP, WD, Synology, Terramaster)
4. moved to fc00::/7 private segment
5. added Windows, MacOS and Linux UI for peers edit and current status
2022-10-27 22:03:37 +03:00

84 lines
2.4 KiB
Bash

#!/bin/sh
# This is a lazy script to create a .bin for WD NAS build.
# You can give it the PKGARCH= argument
# i.e. PKGARCH=x86_64 contrib/nas/nas-asustor.sh
if [ `pwd` != `git rev-parse --show-toplevel` ]
then
echo "You should run this script from the top-level directory of the git repo"
exit 1
fi
PKGBRANCH=$(basename `git name-rev --name-only HEAD`)
PKG=$(sh contrib/semmsiver/name.sh)
PKGVERSION=$(sh contrib/msi/msversion.sh --bare)
PKGARCH=${PKGARCH-amd64}
PKGFOLDER=$ENV_TAG-$PKGARCH-$PKGVERSION
PKGFILE=mesh-$PKGFOLDER.qpkg
PKGREPLACES=mesh
if [ $PKGBRANCH = "master" ]; then
PKGREPLACES=mesh-develop
fi
if [ $PKGARCH = "x86-64" ]; then GOOS=linux GOARCH=amd64 ./build
elif [ $PKGARCH = "arm-x31" ]; then GOOS=linux GOARCH=arm GOARM=7 ./build
else
echo "Specify PKGARCH=x86-64 or arm-x31"
exit 1
fi
echo "Building $PKGFOLDER"
rm -rf /tmp/$PKGFOLDER
mkdir -p /tmp/$PKGFOLDER/mesh
mkdir -p /tmp/$PKGFOLDER/mesh/icons
mkdir -p /tmp/$PKGFOLDER/mesh/shared/bin
mkdir -p /tmp/$PKGFOLDER/mesh/shared/tmp
mkdir -p /tmp/$PKGFOLDER/mesh/shared/lib
mkdir -p /tmp/$PKGFOLDER/mesh/shared/www
mkdir -p /tmp/$PKGFOLDER/mesh/shared/var/log
chmod 0775 /tmp/$PKGFOLDER/ -R
echo "coping ui package..."
cp contrib/ui/nas-qnap/package/* /tmp/$PKGFOLDER/mesh -r
cp contrib/ui/nas-qnap/au/* /tmp/$PKGFOLDER/mesh/shared -r
cp contrib/ui/www/* /tmp/$PKGFOLDER/mesh/shared/www/ -r
echo "Converting icon for: 64x64"
convert -colorspace sRGB ./riv.png -resize 64x64 /tmp/$PKGFOLDER/mesh/icons/mesh.gif
echo "Converting icon for: 80x80"
convert -colorspace sRGB ./riv.png -resize 80x80 /tmp/$PKGFOLDER/mesh/icons/mesh_80.gif
convert -colorspace sRGB ./riv.png -resize 64x64 /tmp/$PKGFOLDER/mesh/icons/mesh_gray.gif
cat > /tmp/$PKGFOLDER/mesh/qpkg.cfg << EOF
QPKG_DISPLAY_NAME="RiV Mesh"
QPKG_NAME="mesh"
QPKG_VER="$PKGVERSION"
QPKG_AUTHOR="Riv Chain ltd"
QPKG_SUMMARY="RiV-mesh is an implementation of a fully end-to-end encrypted IPv6 network."
QPKG_RC_NUM="198"
QPKG_SERVICE_PROGRAM="mesh.sh"
QPKG_WEBUI="/mesh"
QPKG_WEB_PORT=
QPKG_LICENSE="LGPLv3"
QDK_BUILD_ARCH="$PKGARCH"
EOF
touch /tmp/$PKGFOLDER/mesh/qdk.conf
cp mesh /tmp/$PKGFOLDER/mesh/shared/bin
cp meshctl /tmp/$PKGFOLDER/mesh/shared/bin
chmod +x /tmp/$PKGFOLDER/mesh/shared/bin/*
chmod 0775 /tmp/$PKGFOLDER/mesh/shared/www -R
chmod -R u+rwX,go+rX,g-w /tmp/$PKGFOLDER
curent_dir=$(pwd)
cd /tmp/$PKGFOLDER/mesh && /opt/tomcat/tool/Qnap/bin/qbuild --force-config -v
mv build/*.qpkg "$curent_dir"/$PKGFILE
rm -rf /tmp/$PKGFOLDER/