mirror of
https://github.com/yggdrasil-network/yggdrasil-go.git
synced 2025-04-29 14:45:07 +03:00

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
90 lines
2.5 KiB
Bash
90 lines
2.5 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/semver/name.sh)
|
|
PKGVERSION=$(sh contrib/semver/version.sh --bare)
|
|
PKGARCH=${PKGARCH-amd64}
|
|
PKGNAME=$ENV_TAG-$PKGARCH-$PKGVERSION
|
|
PKGFOLDER=$PKGNAME/mesh
|
|
PKGFILE=mesh-$PKGNAME.tar.gz
|
|
PKGREPLACES=mesh
|
|
|
|
if [ $PKGBRANCH = "master" ]; then
|
|
PKGREPLACES=mesh-develop
|
|
fi
|
|
|
|
if [ $PKGARCH = "armv7" ]; then GOOS=linux GOARCH=arm GOARM=7 ./build
|
|
else
|
|
echo "Specify PKGARCH=armv7"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Building $PKGFOLDER"
|
|
|
|
rm -rf /tmp/$PKGFOLDER
|
|
|
|
mkdir -p /tmp/$PKGFOLDER/bin
|
|
mkdir -p /tmp/$PKGFOLDER/config
|
|
mkdir -p /tmp/$PKGFOLDER/var/log
|
|
mkdir -p /tmp/$PKGFOLDER/lib/modules
|
|
|
|
if [ $ENV_TAG = "nas-drobo-5n" ]; then
|
|
for kernel in 3.2.96-3 3.2.58-2 3.2.58-1 3.2.58 3.2.27; do
|
|
echo "Loading tun module for Linux kernel $kernel"
|
|
wget -N ftp://updates.drobo.com/droboapps/kernelmodules/5N/3.2.96-3/tun.ko -P /tmp/$PKGFOLDER/lib/modules/$kernel
|
|
done
|
|
elif [ $ENV_TAG = "nas-drobo-5n2" ]; then
|
|
for kernel in 3.2.96-3 3.2.58-2; do
|
|
echo "Loading tun module for Linux kernel $kernel"
|
|
wget -N ftp://updates.drobo.com/droboapps/kernelmodules/5N2/3.2.96-3/tun.ko -P /tmp/$PKGFOLDER/lib/modules/$kernel
|
|
done
|
|
elif [ $ENV_TAG = "nas-drobo-b810n" ]; then
|
|
for kernel in 3.2.96-3 3.2.58-2 3.2.58-1 3.2.58; do
|
|
echo "Loading tun module for Linux kernel $kernel"
|
|
wget -N ftp://updates.drobo.com/droboapps/kernelmodules/B810n/3.2.96-3/tun.ko -P /tmp/$PKGFOLDER/lib/modules/$kernel
|
|
done
|
|
else
|
|
echo "Specify ENV_TAG=nas-drobo-5n or nas-drobo-5n2 or nas-drobo-b810n"
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p /tmp/$PKGFOLDER/tmp
|
|
chmod 0775 /tmp/$PKGFOLDER/ -R
|
|
|
|
echo "coping ui package..."
|
|
cp contrib/ui/nas-drobo/Content/* /tmp/$PKGFOLDER/ -r
|
|
cp contrib/ui/www/* /tmp/$PKGFOLDER/www/ -r
|
|
|
|
cat > /tmp/$PKGFOLDER/version.txt << EOF
|
|
$PKGVERSION
|
|
EOF
|
|
|
|
cp mesh /tmp/$PKGFOLDER/bin
|
|
cp meshctl /tmp/$PKGFOLDER/bin
|
|
cp LICENSE /tmp/$PKGFOLDER/
|
|
chmod +x /tmp/$PKGFOLDER/*.sh
|
|
chmod +x /tmp/$PKGFOLDER/bin/*
|
|
chmod 0775 /tmp/$PKGFOLDER/www -R
|
|
|
|
current_dir=$(pwd)
|
|
|
|
cd /tmp/$PKGFOLDER && tar czf ../mesh.tgz $(ls .)
|
|
cd ../ && md5sum mesh.tgz > mesh.tgz.md5
|
|
tar czf $PKGFILE mesh.tgz mesh.tgz.md5
|
|
|
|
mv $PKGFILE "$current_dir"
|
|
|
|
cd "$current_dir"
|
|
|
|
rm -rf /tmp/$PKGNAME/
|
|
|