diff options
Diffstat (limited to 'ext/installfiles/linux')
| -rw-r--r-- | ext/installfiles/linux/DEBIAN/control.in | 5 | ||||
| -rw-r--r-- | ext/installfiles/linux/RPM/README.md | 24 | ||||
| -rw-r--r-- | ext/installfiles/linux/RPM/zerotier-one.spec.in | 4 | ||||
| -rwxr-xr-x | ext/installfiles/linux/RPM/zerotier.spec | 194 | ||||
| -rwxr-xr-x | ext/installfiles/linux/buildinstaller.sh | 4 | ||||
| -rw-r--r-- | ext/installfiles/linux/install.tmpl.sh | 2 | ||||
| -rwxr-xr-x | ext/installfiles/linux/uninstall.sh | 2 |
7 files changed, 227 insertions, 8 deletions
diff --git a/ext/installfiles/linux/DEBIAN/control.in b/ext/installfiles/linux/DEBIAN/control.in index dab6587f..d1b5a8c1 100644 --- a/ext/installfiles/linux/DEBIAN/control.in +++ b/ext/installfiles/linux/DEBIAN/control.in @@ -7,5 +7,6 @@ Installed-Size: 1024 Homepage: https://github.com/zerotier/ZeroTierOne Description: ZeroTier One network virtualization service ZeroTier One is a fast, secure, and easy to use peer to peer network - virtualization engine. Visit https://www.zerotier.com/ for more - information. + virtualization engine that provides global-scale software defined + networking to any device or application. Visit https://www.zerotier.com/ + for more information. diff --git a/ext/installfiles/linux/RPM/README.md b/ext/installfiles/linux/RPM/README.md new file mode 100644 index 00000000..21ad0a1b --- /dev/null +++ b/ext/installfiles/linux/RPM/README.md @@ -0,0 +1,24 @@ +This folder contains two spec files which enable building of various RPM packages for ZeroTier. + +#zerotier-one.spec.in +This file contains the information to build an RPM from the bash based binary installer of ZeroTier. The resulting RPM cannot be recompiled to different architectures. + +#zerotier.spec +This spec file is a “standard” RPM spec file. It fits to the common rpmbuild process, SRPM and differnt architectures are supported too. The spec file can be used to build two packages: the standard zerotier and the zerotier-controller. It supports some of the build options exposed in the original Linux makefile: + +> `rpmbuild -ba zerotier.spec` #builds the standard zerotier package, this is what you need in most of the cases + +> `rpmbuild -ba zerotier.spec --with controller` #builds the zerotier-controller package + +> `rpmbuild -ba zerotier.spec --with debug` #builds the zerotier package with debug enable<>d + +> `rpmbuild -ba zerotier.spec --with miniupnpc` #builds the zerotier package with miniupnpc enabled + +> `rpmbuild -ba zerotier.spec --with cluster` #builds the zerotier package with cluster enabled + + +####Build environment preparation +As zerotier is not distributed in tar.gz format at the moment, the %prep section of the spec file takes care about the prepartion of an rpmbuild compatible tar.gz. + + + diff --git a/ext/installfiles/linux/RPM/zerotier-one.spec.in b/ext/installfiles/linux/RPM/zerotier-one.spec.in index a5445ba5..1ec3d42a 100644 --- a/ext/installfiles/linux/RPM/zerotier-one.spec.in +++ b/ext/installfiles/linux/RPM/zerotier-one.spec.in @@ -21,11 +21,11 @@ mkdir -p /var/lib/zerotier-one/updates.d %post chmod 0755 /var/lib/zerotier-one/updates.d/__INSTALLER__ -/var/lib/zerotier-one/updates.d/__INSTALLER__ +/var/lib/zerotier-one/updates.d/__INSTALLER__ >>/dev/null 2>&1 %preun if [ "$1" -lt 1 ]; then - /var/lib/zerotier-one/uninstall.sh + /var/lib/zerotier-one/uninstall.sh >>/dev/null 2>&1 fi %clean diff --git a/ext/installfiles/linux/RPM/zerotier.spec b/ext/installfiles/linux/RPM/zerotier.spec new file mode 100755 index 00000000..41230f0e --- /dev/null +++ b/ext/installfiles/linux/RPM/zerotier.spec @@ -0,0 +1,194 @@ +# add --with controller option to build controller (builds zerotier-controller package) +%bcond_with controller +# add --with miniupnpc option to enable the miniupnpc option during build +%bcond_with miniupnpc +# add --with cluster option to enable the cluster option during build +%bcond_with cluster +# add --with debug option to enable the debug option during build +%bcond_with debug +%if %{with controller} +Name:zerotier-controller +Conflicts:zerotier +%else +Name:zerotier +Conflicts:zerotier-controller +%endif +Version: 1.1.4 +Release: 1 +Summary: Network Virtualization Everywhere https://www.zerotier.com/ +Group: network +License: GPLv3 +BuildRoot: %{_tmppath}/%{name}-root +Provides: zerotier-one +Source0: http:///download/%{name}-%{version}.tar.gz +BuildRequires: gcc-c++ +BuildRequires: make +BuildRequires: gcc +%if %{with server} +BuildRequires: sqlite-devel +BuildRequires: wget +BuildRequires: unzip +Requires: sqlite +%endif +%description +ZeroTier One creates virtual Ethernet networks that work anywhere and everywhere. +Visit https://www.zerotier.com/ for more information. + +%prep +cd `mktemp -d` +wget -O master.zip https://github.com/zerotier/ZeroTierOne/archive/master.zip +unzip master.zip +mv ZeroTierOne-master zerotier-1.1.4 +ln -s zerotier-1.1.4 zerotier-controller-1.1.4 +tar zcvf zerotier-1.1.4.tar.gz zerotier-1.1.4 zerotier-controller-1.1.4 +ln -s zerotier-1.1.4.tar.gz zerotier-controller-1.1.4.tar.gz +mv zero*.tar.gz ~/rpmbuild/SOURCES +cd - +%setup -q + +%build +%if %{with miniupnpc} +ZT_USE_MINIUPNPC=1; export ZT_USE_MINIUPNPC; +%endif + +%if %{with controller} +ZT_ENABLE_NETWORK_CONTROLLER=1; export ZT_ENABLE_NETWORK_CONTROLLER; +%endif + +%if %{with cluster} +export ZT_ENABLE_CLUSTER=1 +%endif + +%if %{with debug} +export ZT_DEBUG=1 +%endif + +make + +%install + + +rm -rf $RPM_BUILD_ROOT +rm -f $RPM_BUILD_ROOT%{_prefix}/bin/zerotier-idtool $RPM_BUILD_ROOT%{_prefix}/bin/zerotier-idtool +echo 'Install...' +mkdir -p $RPM_BUILD_ROOT%{_vardir}/lib/zerotier-one/initfiles/{init.d,systemd} +install -m 0755 -D zerotier-one -t $RPM_BUILD_ROOT%{_vardir}/lib/zerotier-one/ +install -m 0755 -D ext/installfiles/linux/init.d/* -t $RPM_BUILD_ROOT%{_vardir}/lib/zerotier-one/initfiles/init.d/ +install -m 0755 -D ext/installfiles/linux/systemd/* -t $RPM_BUILD_ROOT%{_vardir}/lib/zerotier-one/initfiles/systemd/ + + + +%posttrans +echo -n 'Getting version of new install... ' +newVersion=`/var/lib/zerotier-one/zerotier-one -v` +echo $newVersion + +echo 'Creating symlinks...' + +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-idtool +echo 'Installing zerotier-one service...' + +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 + +if [ -n "$SYSTEMDUNITDIR" -a -d "$SYSTEMDUNITDIR" ]; then + # SYSTEMD + + # If this was updated or upgraded from an init.d based system, clean up the old + # init.d stuff before installing directly via systemd. + if [ -f /etc/init.d/zerotier-one ]; then + if [ -e /sbin/chkconfig -o -e /usr/sbin/chkconfig -o -e /bin/chkconfig -o -e /usr/bin/chkconfig ]; then + chkconfig zerotier-one off + fi + rm -f /etc/init.d/zerotier-one + fi + + cp -f /var/lib/zerotier-one/initfiles/systemd/zerotier-one.service "$SYSTEMDUNITDIR/zerotier-one.service" + chown 0 "$SYSTEMDUNITDIR/zerotier-one.service" + chgrp 0 "$SYSTEMDUNITDIR/zerotier-one.service" + chmod 0755 "$SYSTEMDUNITDIR/zerotier-one.service" + + systemctl enable zerotier-one.service + + echo + echo 'Done! Installed and service configured to start at system boot.' + echo + echo "To start now or restart the service if it's already running:" + echo ' sudo systemctl restart zerotier-one.service' +else + # SYSV INIT -- also covers upstart which supports SysVinit backward compatibility + + cp -f /var/lib/zerotier-one/initfiles/init.d/zerotier-one /etc/init.d/zerotier-one + chmod 0755 /etc/init.d/zerotier-one + + if [ -f /sbin/chkconfig -o -f /usr/sbin/chkconfig -o -f /usr/bin/chkconfig -o -f /bin/chkconfig ]; then + chkconfig zerotier-one on + else + # Yes Virginia, some systems lack chkconfig. + if [ -d /etc/rc0.d ]; then + rm -f /etc/rc0.d/???zerotier-one + ln -sf /etc/init.d/zerotier-one /etc/rc0.d/K89zerotier-one + fi + if [ -d /etc/rc1.d ]; then + rm -f /etc/rc1.d/???zerotier-one + ln -sf /etc/init.d/zerotier-one /etc/rc1.d/K89zerotier-one + fi + if [ -d /etc/rc2.d ]; then + rm -f /etc/rc2.d/???zerotier-one + ln -sf /etc/init.d/zerotier-one /etc/rc2.d/S11zerotier-one + fi + if [ -d /etc/rc3.d ]; then + rm -f /etc/rc3.d/???zerotier-one + ln -sf /etc/init.d/zerotier-one /etc/rc3.d/S11zerotier-one + fi + if [ -d /etc/rc4.d ]; then + rm -f /etc/rc4.d/???zerotier-one + ln -sf /etc/init.d/zerotier-one /etc/rc4.d/S11zerotier-one + fi + if [ -d /etc/rc5.d ]; then + rm -f /etc/rc5.d/???zerotier-one + ln -sf /etc/init.d/zerotier-one /etc/rc5.d/S11zerotier-one + fi + if [ -d /etc/rc6.d ]; then + rm -f /etc/rc6.d/???zerotier-one + ln -sf /etc/init.d/zerotier-one /etc/rc6.d/K89zerotier-one + fi + fi + echo + echo 'Done! Installed and service configured to start at system boot.' + echo + echo "To start now or restart the service if it's already running:" + echo ' sudo service zerotier-one restart' +fi +%preun +/sbin/chkconfig --del zerotier-one +rm -f /usr/bin/zerotier-cli /usr/bin/zerotier-idtool + +%clean +rm -rf $RPM_BUILD_ROOT +%files +%{_vardir}/lib/zerotier-one/zerotier-one +%{_vardir}/lib/zerotier-one/initfiles/systemd/zerotier-one.service +%{_vardir}/lib/zerotier-one/initfiles/init.d/zerotier-one + +%changelog +* Fri Feb 26 2016 Kristof Imre Szabo <kristof.szabo@lxsystems.de> 1.1.4-1 +- initial package diff --git a/ext/installfiles/linux/buildinstaller.sh b/ext/installfiles/linux/buildinstaller.sh index 1f6f8935..21f2f73e 100755 --- a/ext/installfiles/linux/buildinstaller.sh +++ b/ext/installfiles/linux/buildinstaller.sh @@ -91,14 +91,14 @@ case "$system" in rm -f "${debfolder}/postinst" "${debfolder}/prerm" echo '#!/bin/bash' >${debfolder}/postinst - echo "/var/lib/zerotier-one/updates.d/${targ}" >>${debfolder}/postinst + echo "/var/lib/zerotier-one/updates.d/${targ} >>/dev/null 2>&1" >>${debfolder}/postinst echo "/bin/rm -f /var/lib/zerotier-one/updates.d/*" >>${debfolder}/postinst chmod a+x ${debfolder}/postinst echo '#!/bin/bash' >${debfolder}/prerm echo 'export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin' >>${debfolder}/prerm echo 'if [ "$1" != "upgrade" ]; then' >>${debfolder}/prerm - echo ' /var/lib/zerotier-one/uninstall.sh' >>${debfolder}/prerm + echo ' /var/lib/zerotier-one/uninstall.sh >>/dev/null 2>&1' >>${debfolder}/prerm echo 'fi' >>${debfolder}/prerm chmod a+x ${debfolder}/prerm diff --git a/ext/installfiles/linux/install.tmpl.sh b/ext/installfiles/linux/install.tmpl.sh index 24425cbb..2d18d24c 100644 --- a/ext/installfiles/linux/install.tmpl.sh +++ b/ext/installfiles/linux/install.tmpl.sh @@ -115,7 +115,7 @@ if [ -n "$SYSTEMDUNITDIR" -a -d "$SYSTEMDUNITDIR" ]; then cp -f /tmp/systemd_zerotier-one.service "$SYSTEMDUNITDIR/zerotier-one.service" chown 0 "$SYSTEMDUNITDIR/zerotier-one.service" chgrp 0 "$SYSTEMDUNITDIR/zerotier-one.service" - chmod 0755 "$SYSTEMDUNITDIR/zerotier-one.service" + chmod 0644 "$SYSTEMDUNITDIR/zerotier-one.service" rm -f /tmp/systemd_zerotier-one.service /tmp/init.d_zerotier-one systemctl enable zerotier-one.service diff --git a/ext/installfiles/linux/uninstall.sh b/ext/installfiles/linux/uninstall.sh index bfc7ee6b..d9495a18 100755 --- a/ext/installfiles/linux/uninstall.sh +++ b/ext/installfiles/linux/uninstall.sh @@ -59,7 +59,7 @@ fi echo "Erasing binary and support files..." if [ -d /var/lib/zerotier-one ]; then cd /var/lib/zerotier-one - rm -rf zerotier-one *.persist identity.public *.log *.pid *.sh updates.d networks.d iddb.d root-topology + rm -rf zerotier-one *.persist identity.public *.log *.pid *.sh updates.d networks.d iddb.d root-topology ui fi echo "Erasing anything installed into system bin directories..." |
