mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-06-07 13:03:45 +02:00
non-static build debian packages
This commit is contained in:
parent
0477e16860
commit
b126bf727a
11 changed files with 165 additions and 9 deletions
|
@ -1,11 +1,23 @@
|
||||||
cmake_minimum_required (VERSION 3.8)
|
cmake_minimum_required (VERSION 3.8)
|
||||||
project(zerotier DESCRIPTION "ZeroTier Network Hypervisor" LANGUAGES CXX C)
|
|
||||||
|
cmake_policy(SET CMP0048 NEW)
|
||||||
|
if(${CMAKE_VERSION} VERSION_LESS 3.15)
|
||||||
|
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
|
||||||
|
else()
|
||||||
|
cmake_policy(VERSION 3.15)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(ZEROTIER_VERSION_MAJOR 1 CACHE INTERNAL "")
|
set(ZEROTIER_VERSION_MAJOR 1 CACHE INTERNAL "")
|
||||||
set(ZEROTIER_VERSION_MINOR 9 CACHE INTERNAL "")
|
set(ZEROTIER_VERSION_MINOR 9 CACHE INTERNAL "")
|
||||||
set(ZEROTIER_VERSION_REVISION 0 CACHE INTERNAL "")
|
set(ZEROTIER_VERSION_REVISION 0 CACHE INTERNAL "")
|
||||||
set(ZEROTIER_VERSION_BUILD 0 CACHE INTERNAL "")
|
set(ZEROTIER_VERSION_BUILD 0 CACHE INTERNAL "")
|
||||||
|
|
||||||
|
project(zerotier
|
||||||
|
VERSION ${ZEROTIER_VERSION_MAJOR}.${ZEROTIER_VERSION_MINOR}.${ZEROTIER_VERSION_REVISION}.${ZEROTIER_VERSION_BUILD}
|
||||||
|
DESCRIPTION "ZeroTier Network Hypervisor"
|
||||||
|
LANGUAGES CXX C)
|
||||||
|
|
||||||
|
|
||||||
if(${CMAKE_VERSION} VERSION_LESS 3.15)
|
if(${CMAKE_VERSION} VERSION_LESS 3.15)
|
||||||
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
|
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
|
||||||
else()
|
else()
|
||||||
|
@ -222,3 +234,12 @@ add_custom_target(
|
||||||
COMMENT "Compiling Go Code..."
|
COMMENT "Compiling Go Code..."
|
||||||
)
|
)
|
||||||
add_dependencies(zerotier zt_osdep zt_core zt_controller zt_service_io_core)
|
add_dependencies(zerotier zt_osdep zt_core zt_controller zt_service_io_core)
|
||||||
|
|
||||||
|
|
||||||
|
if("${ZT_PACKAGE_FORMAT}" MATCHES "DEB")
|
||||||
|
include(packaging/debian.cmake)
|
||||||
|
elseif("${ZT_PACKAGE_FORMAT}" MATCHES "RPM")
|
||||||
|
|
||||||
|
else()
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
11
Jenkinsfile
vendored
11
Jenkinsfile
vendored
|
@ -377,11 +377,14 @@ def buildDebianNative() {
|
||||||
|
|
||||||
sh 'whoami'
|
sh 'whoami'
|
||||||
dir("build") {
|
dir("build") {
|
||||||
sh "${cmakeFlags} make -j4"
|
sh "${cmakeFlags} make setup"
|
||||||
|
dir("build") {
|
||||||
|
sh "make package"
|
||||||
}
|
}
|
||||||
// sh "mkdir -p ${distro}"
|
}
|
||||||
// sh "mv *.deb ${distro}"
|
sh "mkdir -p ${distro}"
|
||||||
// archiveArtifacts artifacts: "${distro}/*.deb", onlyIfSuccessful: true
|
sh "mv build/build/*.deb ${distro}"
|
||||||
|
archiveArtifacts artifacts: "${distro}/*.deb", onlyIfSuccessful: true
|
||||||
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
cleanWs deleteDirs: true, disableDeferredWipeout: true, notFailBuild: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
project(zt_controller)
|
project(zt_controller)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
cmake_minimum_required (VERSION 2.8)
|
cmake_minimum_required (VERSION 3.0)
|
||||||
project(zt_core)
|
project(zt_core)
|
||||||
|
|
||||||
configure_file(
|
configure_file(
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
project(zt_osdep)
|
project(zt_osdep)
|
||||||
|
|
||||||
set(src
|
set(src
|
||||||
|
|
45
packaging/debian.cmake
Normal file
45
packaging/debian.cmake
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
set(CPACK_PACKAGE_VENDOR "ZeroTier, Inc.")
|
||||||
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "ZeroTier network virtualization service
|
||||||
|
ZeroTier One lets you join ZeroTier virtual networks and
|
||||||
|
have them appear as tun/tap ports on your system. See
|
||||||
|
https://www.zerotier.com/ for instructions and
|
||||||
|
documentation.")
|
||||||
|
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
|
||||||
|
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
|
||||||
|
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
|
||||||
|
set(CPACK_PACKAGE_VERSION_RELEASE ${PROJECT_VERSION_RELEASE})
|
||||||
|
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt")
|
||||||
|
set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
|
||||||
|
set(CPACK_GENERATOR "DEB")
|
||||||
|
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "ZeroTier, Inc. <support@zerotier.com>")
|
||||||
|
set(CPACK_DEBIAN_PACKAGE_SECTION "net")
|
||||||
|
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
|
||||||
|
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://www.zerotier.com")
|
||||||
|
set(CPACK_DEBIAN_PACKAGE_DEPENDS "iproute2, adduser")
|
||||||
|
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
|
||||||
|
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON)
|
||||||
|
set(CPACK_DEBIAN_PACKAGE_REPLACES "zerotier-one")
|
||||||
|
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/packaging/debian/postinst")
|
||||||
|
|
||||||
|
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
|
||||||
|
|
||||||
|
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/zerotier DESTINATION bin)
|
||||||
|
|
||||||
|
if(IS_DIRECTORY /lib/systemd/system)
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/debian/zerotier.service
|
||||||
|
DESTINATION /lib/systemd/system
|
||||||
|
)
|
||||||
|
elseif(IS_DIRECTORY /usr/lib/systemd/system)
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/debian/zerotier.service
|
||||||
|
DESTINATION /usr/lib/systemd/system
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_SOURCE_DIR}/packaging/debian/zerotier.init
|
||||||
|
DESTINATION /etc/init.d
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include(CPack)
|
11
packaging/debian/postinst
Normal file
11
packaging/debian/postinst
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
configure)
|
||||||
|
if ! id zerotier >>/dev/null 2>&1; then
|
||||||
|
useradd --system --user-group --home-dir /var/lib/zerotier --no-create-home zerotier
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#DEBHELPER#
|
49
packaging/debian/zerotier.init
Normal file
49
packaging/debian/zerotier.init
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: zerotier
|
||||||
|
# Required-Start: $remote_fs $syslog
|
||||||
|
# Required-Stop: $remote_fs $syslog
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop:
|
||||||
|
# Short-Description: ZeroTier One network virtualization service
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
PATH=/bin:/usr/bin:/sbin:/usr/sbin
|
||||||
|
DESC="zerotier daemon"
|
||||||
|
NAME=zerotier
|
||||||
|
DAEMON=/usr/sbin/zerotier
|
||||||
|
PIDFILE=/var/lib/zerotier/zerotier.pid
|
||||||
|
SCRIPTNAME=/etc/init.d/"$NAME"
|
||||||
|
EXTRA_OPTS=service -d
|
||||||
|
|
||||||
|
test -f $DAEMON || exit 0
|
||||||
|
|
||||||
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start) log_daemon_msg "Starting ZeroTier One" "zerotier-one"
|
||||||
|
start_daemon -p $PIDFILE $DAEMON $EXTRA_OPTS
|
||||||
|
log_end_msg $?
|
||||||
|
;;
|
||||||
|
stop) log_daemon_msg "Stopping ZeroTier One" "zerotier-one"
|
||||||
|
killproc -p $PIDFILE $DAEMON
|
||||||
|
RETVAL=$?
|
||||||
|
[ $RETVAL -eq 0 ] && [ -e "$PIDFILE" ] && rm -f $PIDFILE
|
||||||
|
log_end_msg $RETVAL
|
||||||
|
;;
|
||||||
|
restart) log_daemon_msg "Restarting ZeroTier One" "zerotier-one"
|
||||||
|
$0 stop
|
||||||
|
$0 start
|
||||||
|
;;
|
||||||
|
reload|force-reload) log_daemon_msg "Reloading ZeroTier One" "zerotier-one"
|
||||||
|
log_end_msg 0
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
|
||||||
|
;;
|
||||||
|
*) log_action_msg "Usage: /etc/init.d/cron {start|stop|status|restart|reload|force-reload}"
|
||||||
|
exit 2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
exit 0
|
12
packaging/debian/zerotier.service
Normal file
12
packaging/debian/zerotier.service
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Unit]
|
||||||
|
Description=ZeroTier One
|
||||||
|
After=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/sbin/zerotier service
|
||||||
|
Restart=always
|
||||||
|
KillMode=process
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
15
packaging/rpm.cmake
Normal file
15
packaging/rpm.cmake
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
set(CPACK_PACKAGE_VENDOR "ZeroTier, Inc.")
|
||||||
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "zerotier")
|
||||||
|
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
|
||||||
|
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
|
||||||
|
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
|
||||||
|
set(CPACK_PACKAGE_VERSION_RELEASE ${PROJECT_VERSION_RELEASE})
|
||||||
|
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt")
|
||||||
|
set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
|
||||||
|
set(CPACK_GENERATOR "RPM")
|
||||||
|
# set(CPACK_DEBIAN_PACKAGE_MAINTAINER "ZeroTier, Inc.")
|
||||||
|
|
||||||
|
|
||||||
|
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/zerotier DESTINATION bin)
|
||||||
|
|
||||||
|
include(CPack)
|
|
@ -1,4 +1,4 @@
|
||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
project(zt_service_io_core)
|
project(zt_service_io_core)
|
||||||
|
|
||||||
set(src
|
set(src
|
||||||
|
|
Loading…
Add table
Reference in a new issue