summaryrefslogtreecommitdiffstats
path: root/net/libteam/Makefile
blob: 270cbf131f9b6b3f920c0f108646c7877a7542d1 (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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
include $(TOPDIR)/rules.mk

PKG_NAME:=libteam
PKG_VERSION:=1.32
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/jpirko/libteam/tar.gz/refs/tags/v$(PKG_VERSION)?
PKG_HASH:=7ad90555db8aecdcaf002f543d330408501600edf7065e0ca398fce9b1e64820

PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_BUILD_FLAGS:=lto

PKG_MAINTAINER:=Qingfang Deng <dqfext@gmail.com>
PKG_LICENSE:=LGPL-2.1-only
PKG_LICENSE_FILES:=COPYING

include $(INCLUDE_DIR)/package.mk

CONFIGURE_ARGS+=\
	--disable-static \
	--disable-dbus \
	--disable-zmq

define Package/libteam/default
  SECTION:=libs
  CATEGORY:=Libraries
  URL:=https://github.com/jpirko/libteam
endef

define Package/libteam
  $(call Package/libteam/default)
  TITLE:=Team common library
  DEPENDS:=+kmod-team +libnl-cli \
	   +kmod-team-mode-activebackup \
	   +kmod-team-mode-broadcast \
	   +kmod-team-mode-loadbalance \
	   +kmod-team-mode-random \
	   +kmod-team-mode-roundrobin
  ABI_VERSION:=5
endef

define Package/libteam/description
  Libteam lib is a userspace wrapper of Team Netlink communication.
endef

define Package/libteamdctl
  $(call Package/libteam/default)
  TITLE:=Team daemon control library
  ABI_VERSION:=0
endef

define Package/libteamdctl/description
  Common library for teamdctl.
endef

define Package/teamd/default
  SECTION:=net
  CATEGORY:=Network
  URL:=https://github.com/jpirko/libteam
endef

define Package/teamd
  $(call Package/teamd/default)
  TITLE:=Team daemon
  DEPENDS:=+libteam +libdaemon +jansson
endef

define Package/teamd/description
  teamd is a daemon to control a given team network device, during runtime,
  as a puppeteer controls a puppet. It uses libteam to communicate with the
  kernel team device instance via Netlink sockets. The behaviour depends on
  the selected runner and its configuration.
endef

define Package/teamdctl
  $(call Package/teamd/default)
  TITLE:=Team daemon control tool
  DEPENDS:=+teamd +libteamdctl
endef

define Package/teamdctl/description
  teamdctl is a tool that allows a user to interact with a running teamd instance.
endef

define Package/teamnl
  $(call Package/teamd/default)
  TITLE:=Team Netlink interface tool
  DEPENDS:=+libteam
endef

define Package/teamnl/description
  teamnl is a tool enabling interaction with a team device via the team driver
  Netlink interface. This tools serves mainly for debugging purposes. Note that
  it makes no sense to use this tool to change options on team device controlled
  by a teamd instance.
endef

define Build/InstallDev
	$(INSTALL_DIR) $(1)/usr
	$(CP) $(PKG_INSTALL_DIR)/usr/include $(1)/usr
	$(CP) $(PKG_INSTALL_DIR)/usr/lib $(1)/usr
endef

define Package/libteam/install
	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libteam.so.$(ABI_VERSION)* $(1)/usr/lib/
endef

define Package/libteamdctl/install
	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libteamdctl.so.$(ABI_VERSION)* $(1)/usr/lib/
endef

define Package/teamd/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/teamd $(1)/usr/bin/
endef

define Package/teamdctl/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/teamdctl $(1)/usr/bin/
endef

define Package/teamnl/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/teamnl $(1)/usr/bin/
endef

$(eval $(call BuildPackage,libteam))
$(eval $(call BuildPackage,libteamdctl))
$(eval $(call BuildPackage,teamd))
$(eval $(call BuildPackage,teamdctl))
$(eval $(call BuildPackage,teamnl))