mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2024-12-26 08:01:05 +00:00
57 lines
1.6 KiB
Bash
Executable File
57 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#
|
|
# This script signs an installer, creates its .NFO file, and
|
|
# copies it to a destination directory. This in turn can be
|
|
# uploaded to the official ZeroTier Networks update site for
|
|
# auto-updating binary distribution users.
|
|
#
|
|
# It's in attic/ because end-users won't find it particularly
|
|
# useful. You must have the ZeroTier One official signing
|
|
# identity secret keys to sign binary releases for auto-update,
|
|
# and of course you'd also have to upload it to our servers.
|
|
#
|
|
|
|
# Build the app and the installer, then run this from the root
|
|
# of the source tree. It'll need the zerotier-idtool symlink
|
|
# that will be placed there after a build, too.
|
|
|
|
export PATH=/bin:/usr/bin:/sbin:/usr/sbin
|
|
|
|
if [ "$#" -ne 2 ]; then
|
|
echo "Usage: $0 <path to secret signing identity> <path to destination folder for .nfo and installer>"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -e zerotier-idtool ]; then
|
|
echo "Unable to find zerotier-idtool in current directory."
|
|
exit 1
|
|
fi
|
|
|
|
secret="$1"
|
|
dest="$2"
|
|
|
|
if [ ! -e "$secret" ]; then
|
|
echo "Can't find $secret"
|
|
exit 1
|
|
fi
|
|
if [ ! -d "$dest" ]; then
|
|
echo "Can't find $dest directory"
|
|
exit 1
|
|
fi
|
|
|
|
for inst in `ls ZeroTierOneInstaller-*-*-*_*_*`; do
|
|
echo "Found installer: $inst"
|
|
nfo="$inst.nfo"
|
|
rm -f "$nfo"
|
|
echo "tss=`date`" >>"$nfo"
|
|
echo "vMajor=`echo $inst | cut -d - -f 4 | cut -d _ -f 1`" >>"$nfo"
|
|
echo "vMinor=`echo $inst | cut -d - -f 4 | cut -d _ -f 2`" >>"$nfo"
|
|
echo "vRevision=`echo $inst | cut -d - -f 4 | cut -d _ -f 3`" >>"$nfo"
|
|
echo "signedBy=`cat $secret | cut -d : -f 1`" >>"$nfo"
|
|
echo "ed25519=`./zerotier-idtool sign $secret $inst`" >>"$nfo"
|
|
echo "url=http://download.zerotier.com/$inst" >>"$nfo"
|
|
cp $inst $nfo $dest
|
|
rm -f $nfo
|
|
done
|