123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- # 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
|