mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-06-06 12:33:44 +02:00
Merge branch 'adamierymenko-dev' into android-jni
This commit is contained in:
commit
e3feac17b1
2 changed files with 47 additions and 33 deletions
|
@ -12,22 +12,6 @@ if [ "$UID" -ne 0 ]; then
|
||||||
dryRun=1
|
dryRun=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Detect systemd vs. regular init
|
|
||||||
SYSTEMDUNITDIR=
|
|
||||||
if [ -e /bin/systemctl -o -e /usr/bin/systemctl -o -e /usr/local/bin/systemctl -o -e /sbin/systemctl -o -e /usr/sbin/systemctl ]; then
|
|
||||||
if [ -e /usr/bin/pkg-config ]; then
|
|
||||||
SYSTEMDUNITDIR=`/usr/bin/pkg-config systemd --variable=systemdsystemunitdir`
|
|
||||||
fi
|
|
||||||
if [ -z "$SYSTEMDUNITDIR" -o ! -d "$SYSTEMDUNITDIR" ]; then
|
|
||||||
if [ -d /usr/lib/systemd/system ]; then
|
|
||||||
SYSTEMDUNITDIR=/usr/lib/systemd/system
|
|
||||||
fi
|
|
||||||
if [ -d /etc/systemd/system ]; then
|
|
||||||
SYSTEMDUNITDIR=/etc/systemd/system
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $dryRun -gt 0 ]; then
|
if [ $dryRun -gt 0 ]; then
|
||||||
alias ln="echo '>> ln'"
|
alias ln="echo '>> ln'"
|
||||||
alias rm="echo '>> rm'"
|
alias rm="echo '>> rm'"
|
||||||
|
@ -51,6 +35,27 @@ if [ ! -r "$scriptPath" ]; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Check for systemd vs. old school SysV init
|
||||||
|
SYSTEMDUNITDIR=
|
||||||
|
if [ -e /bin/systemctl -o -e /usr/bin/systemctl -o -e /usr/local/bin/systemctl -o -e /sbin/systemctl -o -e /usr/sbin/systemctl ]; then
|
||||||
|
# Second check: test if systemd appears to actually be running. Apparently Ubuntu
|
||||||
|
# thought it was a good idea to ship with systemd installed but not used. Issue #133
|
||||||
|
if [ -d /var/run/systemd/system -o -d /run/systemd/system ]; then
|
||||||
|
if [ -e /usr/bin/pkg-config ]; then
|
||||||
|
SYSTEMDUNITDIR=`/usr/bin/pkg-config systemd --variable=systemdsystemunitdir`
|
||||||
|
fi
|
||||||
|
if [ -z "$SYSTEMDUNITDIR" -o ! -d "$SYSTEMDUNITDIR" ]; then
|
||||||
|
if [ -d /usr/lib/systemd/system ]; then
|
||||||
|
SYSTEMDUNITDIR=/usr/lib/systemd/system
|
||||||
|
fi
|
||||||
|
if [ -d /etc/systemd/system ]; then
|
||||||
|
SYSTEMDUNITDIR=/etc/systemd/system
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Find the end of this script, which is where we have appended binary data.
|
||||||
endMarkerIndex=`grep -a -b -E '^################' "$scriptPath" | head -c 16 | cut -d : -f 1`
|
endMarkerIndex=`grep -a -b -E '^################' "$scriptPath" | head -c 16 | cut -d : -f 1`
|
||||||
if [ "$endMarkerIndex" -le 100 ]; then
|
if [ "$endMarkerIndex" -le 100 ]; then
|
||||||
echo 'Internal error: unable to find end of script / start of binary data marker.'
|
echo 'Internal error: unable to find end of script / start of binary data marker.'
|
||||||
|
@ -86,7 +91,7 @@ echo -n 'Getting version of new install... '
|
||||||
newVersion=`/var/lib/zerotier-one/zerotier-one -v`
|
newVersion=`/var/lib/zerotier-one/zerotier-one -v`
|
||||||
echo $newVersion
|
echo $newVersion
|
||||||
|
|
||||||
echo 'Installing zerotier-cli command line utility...'
|
echo 'Creating symlinks...'
|
||||||
|
|
||||||
rm -f /usr/bin/zerotier-cli /usr/bin/zerotier-idtool
|
rm -f /usr/bin/zerotier-cli /usr/bin/zerotier-idtool
|
||||||
ln -sf /var/lib/zerotier-one/zerotier-one /usr/bin/zerotier-cli
|
ln -sf /var/lib/zerotier-one/zerotier-one /usr/bin/zerotier-cli
|
||||||
|
@ -94,10 +99,9 @@ ln -sf /var/lib/zerotier-one/zerotier-one /usr/bin/zerotier-idtool
|
||||||
|
|
||||||
echo 'Installing zerotier-one service...'
|
echo 'Installing zerotier-one service...'
|
||||||
|
|
||||||
# Note: ensure that service restarts are the last thing this script actually
|
|
||||||
# does, since these may kill the script itself. Also note the & to allow
|
|
||||||
# them to finish independently.
|
|
||||||
if [ -n "$SYSTEMDUNITDIR" -a -d "$SYSTEMDUNITDIR" ]; then
|
if [ -n "$SYSTEMDUNITDIR" -a -d "$SYSTEMDUNITDIR" ]; then
|
||||||
|
# SYSTEMD
|
||||||
|
|
||||||
# If this was updated or upgraded from an init.d based system, clean up the old
|
# If this was updated or upgraded from an init.d based system, clean up the old
|
||||||
# init.d stuff before installing directly via systemd.
|
# init.d stuff before installing directly via systemd.
|
||||||
if [ -f /etc/init.d/zerotier-one ]; then
|
if [ -f /etc/init.d/zerotier-one ]; then
|
||||||
|
@ -114,11 +118,13 @@ if [ -n "$SYSTEMDUNITDIR" -a -d "$SYSTEMDUNITDIR" ]; then
|
||||||
rm -f /tmp/systemd_zerotier-one.service /tmp/init.d_zerotier-one
|
rm -f /tmp/systemd_zerotier-one.service /tmp/init.d_zerotier-one
|
||||||
|
|
||||||
systemctl enable zerotier-one.service
|
systemctl enable zerotier-one.service
|
||||||
if [ "$origVersion" != "$newVersion" ]; then
|
#if [ "$origVersion" != "$newVersion" ]; then
|
||||||
echo 'Version has changed, starting...'
|
# echo 'Version has changed, starting...'
|
||||||
systemctl restart zerotier-one.service
|
# systemctl restart zerotier-one.service
|
||||||
fi
|
#fi
|
||||||
else
|
else
|
||||||
|
# SYSV INIT -- also covers upstart which supports SysVinit backward compatibility
|
||||||
|
|
||||||
cp -f /tmp/init.d_zerotier-one /etc/init.d/zerotier-one
|
cp -f /tmp/init.d_zerotier-one /etc/init.d/zerotier-one
|
||||||
chmod 0755 /etc/init.d/zerotier-one
|
chmod 0755 /etc/init.d/zerotier-one
|
||||||
rm -f /tmp/systemd_zerotier-one.service /tmp/init.d_zerotier-one
|
rm -f /tmp/systemd_zerotier-one.service /tmp/init.d_zerotier-one
|
||||||
|
@ -126,6 +132,7 @@ else
|
||||||
if [ -f /sbin/chkconfig -o -f /usr/sbin/chkconfig -o -f /usr/bin/chkconfig -o -f /bin/chkconfig ]; then
|
if [ -f /sbin/chkconfig -o -f /usr/sbin/chkconfig -o -f /usr/bin/chkconfig -o -f /bin/chkconfig ]; then
|
||||||
chkconfig zerotier-one on
|
chkconfig zerotier-one on
|
||||||
else
|
else
|
||||||
|
# Yes Virginia, some systems lack chkconfig.
|
||||||
if [ -d /etc/rc0.d ]; then
|
if [ -d /etc/rc0.d ]; then
|
||||||
rm -f /etc/rc0.d/???zerotier-one
|
rm -f /etc/rc0.d/???zerotier-one
|
||||||
ln -sf /etc/init.d/zerotier-one /etc/rc0.d/K89zerotier-one
|
ln -sf /etc/init.d/zerotier-one /etc/rc0.d/K89zerotier-one
|
||||||
|
@ -156,14 +163,14 @@ else
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$origVersion" != "$newVersion" ]; then
|
#if [ "$origVersion" != "$newVersion" ]; then
|
||||||
echo 'Version has changed, starting...'
|
# echo 'Version has changed, starting...'
|
||||||
if [ -f /sbin/service -o -f /usr/sbin/service ]; then
|
# if [ -f /sbin/service -o -f /usr/sbin/service ]; then
|
||||||
service zerotier-one restart
|
# service zerotier-one restart
|
||||||
else
|
# else
|
||||||
/etc/init.d/zerotier-one restart
|
# /etc/init.d/zerotier-one restart
|
||||||
fi
|
# fi
|
||||||
fi
|
#fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -39,6 +39,13 @@ ifeq ($(ZT_AUTO_UPDATE),1)
|
||||||
DEFS+=-DZT_AUTO_UPDATE
|
DEFS+=-DZT_AUTO_UPDATE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Build with ZT_ENABLE_NETWORK_CONTROLLER=1 to build with the Sqlite network controller
|
||||||
|
ifeq ($(ZT_ENABLE_NETWORK_CONTROLLER),1)
|
||||||
|
DEFS+=-DZT_ENABLE_NETWORK_CONTROLLER
|
||||||
|
LIBS+=-L/usr/local/lib -lsqlite3
|
||||||
|
OBJS+=controller/SqliteNetworkController.o
|
||||||
|
endif
|
||||||
|
|
||||||
# "make debug" is a shortcut for this
|
# "make debug" is a shortcut for this
|
||||||
ifeq ($(ZT_DEBUG),1)
|
ifeq ($(ZT_DEBUG),1)
|
||||||
DEFS+=-DZT_TRACE
|
DEFS+=-DZT_TRACE
|
||||||
|
@ -74,7 +81,7 @@ selftest: $(OBJS) selftest.o
|
||||||
$(STRIP) zerotier-selftest
|
$(STRIP) zerotier-selftest
|
||||||
|
|
||||||
installer: one FORCE
|
installer: one FORCE
|
||||||
./buildinstaller.sh
|
./ext/installfiles/linux/buildinstaller.sh
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf *.o node/*.o controller/*.o osdep/*.o service/*.o ext/http-parser/*.o ext/lz4/*.o ext/json-parser/*.o zerotier-one zerotier-idtool zerotier-cli zerotier-selftest build-* ZeroTierOneInstaller-* *.deb *.rpm
|
rm -rf *.o node/*.o controller/*.o osdep/*.o service/*.o ext/http-parser/*.o ext/lz4/*.o ext/json-parser/*.o zerotier-one zerotier-idtool zerotier-cli zerotier-selftest build-* ZeroTierOneInstaller-* *.deb *.rpm
|
||||||
|
|
Loading…
Add table
Reference in a new issue