summaryrefslogtreecommitdiffstats
path: root/rules/chrony.make
blob: 9f20c413dff4deb5ae3a1f3f163f107c66067bd1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# -*-makefile-*-
#
# Copyright (C) 2005 by Bjoern Buerger <b.buerger@pengutronix.de>
#               2009 by Marc Kleine-Budde <mkl@pengutronix.de>
#
# For further information about the PTXdist project and license conditions
# see the README file.
#

#
# We provide this package
#
PACKAGES-$(PTXCONF_CHRONY) += chrony

#
# Paths and names
#
CHRONY_VERSION	:= 3.5
CHRONY_MD5	:= 5f66338bc940a9b51eede8f391e7bed3
CHRONY		:= chrony-$(CHRONY_VERSION)
CHRONY_SUFFIX	:= tar.gz
CHRONY_URL	:= http://download.tuxfamily.org/chrony/$(CHRONY).$(CHRONY_SUFFIX)
CHRONY_SOURCE	:= $(SRCDIR)/$(CHRONY).$(CHRONY_SUFFIX)
CHRONY_DIR	:= $(BUILDDIR)/$(CHRONY)
CHRONY_LICENSE	:= GPL-2.0-only AND RSA-MD
CHRONY_LICENSE_FILES	:= \
	file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
	file://md5.c;startline=20;endline=36;md5=66d5a6df5fcc43891661c560cf5b74b1

# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------

#
# Chony is using a handcrafted configure script so normal ptx/endis
# and ptx/wwo are broken and causes "Unrecognized option".
# CROSS_AUTOCONF_USR is not used as that adds 3 unrecognized options:
# --libdir=, --build=, --host=
#
CHRONY_CONF_TOOL	:= autoconf
CHRONY_CONF_OPT		:= \
	--localstatedir=/var \
	--prefix=/usr \
	--sysconfdir=/etc \
	--disable-readline \
	--without-editline \
	$(call ptx/ifdef, PTXCONF_CHRONY_USE_NETTLE,,--disable-sechash) \
	$(call ptx/ifdef, PTXCONF_CHRONY_USE_NETTLE,,--without-nettle) \
	--without-nss \
	--without-tomcrypt \
	--disable-cmdmon \
	--disable-refclock \
	--disable-phc \
	--disable-pps \
	$(call ptx/ifdef, PTXCONF_GLOBAL_IPV6,,--disable-ipv6) \
	--without-seccomp

# ----------------------------------------------------------------------------
# Target-Install
# ----------------------------------------------------------------------------

$(STATEDIR)/chrony.targetinstall:
	@$(call targetinfo)

	@$(call install_init, chrony)
	@$(call install_fixup, chrony,PRIORITY,optional)
	@$(call install_fixup, chrony,SECTION,base)
	@$(call install_fixup, chrony,AUTHOR,"PTXdist Base Package <ptxdist@pengutronix.de>")
	@$(call install_fixup, chrony,DESCRIPTION,missing)

# binaries
	@$(call install_copy, chrony, 0, 0, 0755, -, \
		/usr/sbin/chronyd)
	@$(call install_copy, chrony, 0, 0, 0755, -, \
		/usr/bin/chronyc)

# command helper script
ifdef PTXCONF_CHRONY_INSTALL_CHRONY_COMMAND
	@$(call install_alternative, chrony, 0, 0, 0755, /usr/bin/chrony_command)
endif

# chrony stat convenience wrapper
ifdef PTXCONF_CHRONY_INSTALL_CHRONY_STAT
	@$(call install_alternative, chrony, 0, 0, 0755, /usr/bin/chrony_stat)
endif

# generic one
ifdef PTXCONF_CHRONY_INSTALL_CONFIG
	@$(call install_alternative, chrony, 0, 0, 0644, /etc/chrony/chrony.conf)
	@$(call install_alternative, chrony, 0, 0, 0600, /etc/chrony/chrony.keys)

# modify placeholders with data from configuration
	@$(call install_replace, chrony, /etc/chrony/chrony.conf, \
		@UNCONFIGURED_CHRONY_SERVER_IP@, $(PTXCONF_CHRONY_DEFAULT_NTP_SERVER))

	@$(call install_replace, chrony, /etc/chrony/chrony.keys, \
		@UNCONFIGURED_CHRONY_ACCESS_KEY@, $(PTXCONF_CHRONY_DEFAULT_ACCESS_KEY))
endif

#	#
#	# busybox init: startscripts
#	#
ifdef PTXCONF_INITMETHOD_BBINIT
ifdef PTXCONF_CHRONY_STARTSCRIPT
	@$(call install_alternative, chrony, 0, 0, 0755, /etc/init.d/chrony)

ifneq ($(call remove_quotes, $(PTXCONF_CHRONY_BBINIT_LINK)),)
	@$(call install_link, chrony, \
		../init.d/chrony, \
		/etc/rc.d/$(PTXCONF_CHRONY_BBINIT_LINK))
endif
endif
endif
	@$(call install_finish, chrony)

	@$(call touch)

# vim: syntax=make