aboutsummaryrefslogtreecommitdiff
path: root/package/chrony/chrony.mk
blob: 72c4c4bb6c27535a9d4ad391c626c8297aca5d9a (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
################################################################################
#
# chrony
#
################################################################################

CHRONY_VERSION = 1.31
CHRONY_SITE = http://download.tuxfamily.org/chrony
CHRONY_LICENSE = GPLv2
CHRONY_LICENSE_FILES = COPYING

CHRONY_CONF_OPTS = --host-system=Linux --host-machine=$(BR2_ARCH) --prefix=/usr

ifeq ($(BR2_PACKAGE_LIBNSS),y)
CHRONY_DEPENDENCIES += host-pkgconf libnss
else
CHRONY_CONF_OPTS += --without-nss
endif

ifeq ($(BR2_PACKAGE_READLINE),y)
CHRONY_DEPENDENCIES += readline
else
CHRONY_CONF_OPTS += --disable-readline
endif

# Ditch the doc build, needs makeinfo and we don't need them
define CHRONY_DISABLE_DOCS
	$(SED) 's/chronyc chrony.txt/chronyc/' $(@D)/Makefile.in
endef
CHRONY_POST_PATCH_HOOKS += CHRONY_DISABLE_DOCS

define CHRONY_CONFIGURE_CMDS
	cd $(@D) && $(TARGET_CONFIGURE_OPTS) ./configure $(CHRONY_CONF_OPTS)
endef

define CHRONY_BUILD_CMDS
	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
endef

define CHRONY_INSTALL_TARGET_CMDS
	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install
endef

define CHRONY_INSTALL_INIT_SYSV
	$(INSTALL) -D -m 755 package/chrony/S49chrony $(TARGET_DIR)/etc/init.d/S49chrony
endef

define CHRONY_INSTALL_INIT_SYSTEMD
	$(INSTALL) -D -m 644 package/chrony/chrony.service \
		$(TARGET_DIR)/usr/lib/systemd/system/chrony.service
	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
	ln -sf ../../../../usr/lib/systemd/system/chrony.service \
		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/chrony.service
endef

$(eval $(generic-package))