summaryrefslogtreecommitdiffstats
path: root/rules/lldpd.make
blob: 7ab8c2f67e7f5ea3ff9e5e3ec70b81c637c3a168 (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
# -*-makefile-*-
#
# Copyright (C) 2013 by Alexander Dahl <post@lespocky.de>
# Copyright (C) 2015 by Clemens Gruber <clemens.gruber@pqgruber.com>
#
# See CREDITS for details about who has contributed to this project.
#
# For further information about the PTXdist project and license conditions
# see the README file.
#

#
# We provide this package
#
PACKAGES-$(PTXCONF_LLDPD) += lldpd

#
# Paths and names
#
LLDPD_VERSION	:= 0.9.2
LLDPD_MD5	:= b809887bc927fb558fd5dd64b6c0a494
LLDPD		:= lldpd-$(LLDPD_VERSION)
LLDPD_SUFFIX	:= tar.gz
LLDPD_URL	:= http://media.luffy.cx/files/lldpd//$(LLDPD).$(LLDPD_SUFFIX)
LLDPD_SOURCE	:= $(SRCDIR)/$(LLDPD).$(LLDPD_SUFFIX)
LLDPD_DIR	:= $(BUILDDIR)/$(LLDPD)
LLDPD_LICENSE	:= ISC

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

LLDPD_CONF_TOOL	:= autoconf
LLDPD_CONF_OPT	:= $(CROSS_AUTOCONF_USR) \
	--disable-doxygen-doc \
	--without-embedded-libevent \
	--$(call ptx/endis, PTXCONF_LLDPD_CDP)-cdp \
	--$(call ptx/endis, PTXCONF_LLDPD_FDP)-fdp \
	--$(call ptx/endis, PTXCONF_LLDPD_EDP)-edp \
	--$(call ptx/endis, PTXCONF_LLDPD_SONMP)-sonmp \
	--$(call ptx/endis, PTXCONF_LLDPD_LLDPMED)-lldpmed \
	--$(call ptx/endis, PTXCONF_LLDPD_DOT1)-dot1 \
	--$(call ptx/endis, PTXCONF_LLDPD_DOT3)-dot3 \
	--$(call ptx/endis, PTXCONF_LLDPD_CUSTOM_TLV)-custom \
	--$(call ptx/endis, PTXCONF_LLDPD_OLDIES)-oldies \
	--$(call ptx/wwo, PTXCONF_LLDPD_SNMP)-snmp \
	--$(call ptx/wwo, PTXCONF_LLDPD_JSON)-json \
	--$(call ptx/wwo, PTXCONF_LLDPD_XML)-xml \
	--with-systemdsystemunitdir=/lib/systemd/system \
	--with-privsep-user="$(PTXCONF_LLDPD_PRIVSEP_USER)" \
	--with-privsep-group="$(PTXCONF_LLDPD_PRIVSEP_GROUP)" \
	--with-privsep-chroot="$(PTXCONF_LLDPD_PRIVSEP_CHROOT)"

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

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

	@$(call install_init, lldpd)
	@$(call install_fixup, lldpd,PRIORITY,optional)
	@$(call install_fixup, lldpd,SECTION,base)
	@$(call install_fixup, lldpd,AUTHOR,"Alexander Dahl <post@lespocky.de>")
	@$(call install_fixup, lldpd,DESCRIPTION,missing)

	@$(call install_copy, lldpd, 0, 0, 0755, -, /usr/sbin/lldpd)
	@$(call install_copy, lldpd, $(PTXCONF_LLDPD_PRIVSEP_USER), \
		$(PTXCONF_LLDPD_PRIVSEP_GROUP), 4750, -, /usr/sbin/lldpcli)
	@$(call install_link, lldpd, lldpcli, /usr/sbin/lldpctl)

	@$(call install_lib, lldpd, 0, 0, 0644, liblldpctl)

ifdef PTXCONF_INITMETHOD_BBINIT
ifdef PTXCONF_LLDPD_STARTSCRIPT
	@$(call install_alternative, lldpd, 0, 0, 0755, /etc/init.d/lldpd)
	@$(call install_replace, lldpd, /etc/init.d/lldpd, \
		@DAEMON_ARGS@, $(PTXCONF_LLDPD_DAEMON_ARGS))
	@$(call install_replace, lldpd, /etc/init.d/lldpd, \
		@PRIVSEP_CHROOT@, $(PTXCONF_LLDPD_PRIVSEP_CHROOT))

ifneq ($(call remove_quotes,$(PTXCONF_LLDPD_BBINIT_LINK)),)
	@$(call install_link, lldpd, ../init.d/lldpd, \
		/etc/rc.d/$(PTXCONF_LLDPD_BBINIT_LINK))
endif
endif
endif

ifdef PTXCONF_LLDPD_SYSTEMD_UNIT
	@$(call install_alternative, lldpd, 0, 0, 0644, /lib/systemd/system/lldpd.service)
	@$(call install_replace, lldpd, /lib/systemd/system/lldpd.service, \
		@DAEMON_ARGS@, $(PTXCONF_LLDPD_DAEMON_ARGS))
	@$(call install_replace, lldpd, /lib/systemd/system/lldpd.service, \
		@PRIVSEP_CHROOT@, $(PTXCONF_LLDPD_PRIVSEP_CHROOT))
	@$(call install_link, lldpd, \
		../lldpd.service, \
		/lib/systemd/system/multi-user.target.wants/lldpd.service \
	)
endif

	@$(call install_finish, lldpd)

	@$(call touch)

# vim: ft=make noet