1################################################################################
2#
3# network-manager
4#
5################################################################################
6
7NETWORK_MANAGER_VERSION_MAJOR = 1.46
8NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).0
9NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.xz
10NETWORK_MANAGER_SITE = https://download.gnome.org/sources/NetworkManager/$(NETWORK_MANAGER_VERSION_MAJOR)
11NETWORK_MANAGER_INSTALL_STAGING = YES
12NETWORK_MANAGER_LICENSE = GPL-2.0+ (app), LGPL-2.1+ (libnm)
13NETWORK_MANAGER_LICENSE_FILES = COPYING COPYING.LGPL
14NETWORK_MANAGER_CPE_ID_VENDOR = gnome
15NETWORK_MANAGER_CPE_ID_PRODUCT = networkmanager
16NETWORK_MANAGER_SELINUX_MODULES = networkmanager
17
18NETWORK_MANAGER_DEPENDENCIES = \
19	host-intltool \
20	host-libxslt \
21	host-pkgconf \
22	dbus \
23	libglib2 \
24	libndp \
25	udev \
26	util-linux
27
28NETWORK_MANAGER_CONF_OPTS = \
29	-Dintrospection=false \
30	-Ddocs=false \
31	-Dtests=no \
32	-Dqt=false \
33	-Diptables=/usr/sbin/iptables \
34	-Difupdown=false \
35	-Dnm_cloud_setup=false \
36	-Dsession_tracking_consolekit=false
37
38ifeq ($(BR2_PACKAGE_AUDIT),y)
39NETWORK_MANAGER_DEPENDENCIES += audit
40NETWORK_MANAGER_CONF_OPTS += -Dlibaudit=yes
41else
42NETWORK_MANAGER_CONF_OPTS += -Dlibaudit=no
43endif
44
45ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
46NETWORK_MANAGER_CONF_OPTS += -Ddhclient=/sbin/dhclient
47endif
48
49ifeq ($(BR2_PACKAGE_DHCPCD),y)
50NETWORK_MANAGER_CONF_OPTS += -Ddhcpcd=/sbin/dhcpcd
51endif
52
53ifeq ($(BR2_PACKAGE_IWD),y)
54NETWORK_MANAGER_DEPENDENCIES += iwd
55NETWORK_MANAGER_CONF_OPTS += -Diwd=true
56ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT),y)
57NETWORK_MANAGER_CONF_OPTS += -Dconfig_wifi_backend_default=wpa_supplicant
58else
59NETWORK_MANAGER_CONF_OPTS += -Dconfig_wifi_backend_default=iwd
60endif
61else
62NETWORK_MANAGER_CONF_OPTS += \
63	-Diwd=false \
64	-Dconfig_wifi_backend_default=wpa_supplicant
65endif
66
67ifeq ($(BR2_PACKAGE_LIBCURL),y)
68NETWORK_MANAGER_DEPENDENCIES += libcurl
69NETWORK_MANAGER_CONF_OPTS += -Dconcheck=true
70else
71NETWORK_MANAGER_CONF_OPTS += -Dconcheck=false
72endif
73
74ifeq ($(BR2_PACKAGE_LIBNSS),y)
75NETWORK_MANAGER_DEPENDENCIES += libnss
76NETWORK_MANAGER_CONF_OPTS += -Dcrypto=nss
77else
78NETWORK_MANAGER_DEPENDENCIES += gnutls
79NETWORK_MANAGER_CONF_OPTS += -Dcrypto=gnutls
80endif
81
82ifeq ($(BR2_PACKAGE_LIBPSL),y)
83NETWORK_MANAGER_DEPENDENCIES += libpsl
84NETWORK_MANAGER_CONF_OPTS += -Dlibpsl=true
85else
86NETWORK_MANAGER_CONF_OPTS += -Dlibpsl=false
87endif
88
89ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
90NETWORK_MANAGER_DEPENDENCIES += libselinux
91NETWORK_MANAGER_CONF_OPTS += -Dselinux=true
92else
93NETWORK_MANAGER_CONF_OPTS += -Dselinux=false
94endif
95
96ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER),y)
97NETWORK_MANAGER_DEPENDENCIES += modem-manager mobile-broadband-provider-info
98NETWORK_MANAGER_CONF_OPTS += -Dmodem_manager=true
99NETWORK_MANAGER_CONF_OPTS += -Dmobile_broadband_provider_info_database=/usr/share/mobile-broadband-provider-info/serviceproviders.xml
100else
101NETWORK_MANAGER_CONF_OPTS += -Dmodem_manager=false
102endif
103
104ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_OVS),y)
105NETWORK_MANAGER_CONF_OPTS += -Dovs=true
106NETWORK_MANAGER_DEPENDENCIES += jansson
107else
108NETWORK_MANAGER_CONF_OPTS += -Dovs=false
109endif
110
111ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_PPPD),y)
112NETWORK_MANAGER_DEPENDENCIES += pppd
113NETWORK_MANAGER_CONF_OPTS += \
114	-Dppp=true \
115	-Dpppd=/usr/sbin/pppd \
116	-Dpppd_plugin_dir=/usr/lib/pppd/$(PPPD_VERSION)
117else
118NETWORK_MANAGER_CONF_OPTS += -Dppp=false
119endif
120
121ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_TUI),y)
122NETWORK_MANAGER_DEPENDENCIES += newt
123NETWORK_MANAGER_CONF_OPTS += -Dnmtui=true
124else
125NETWORK_MANAGER_CONF_OPTS += -Dnmtui=false
126endif
127
128ifeq ($(BR2_PACKAGE_OFONO),y)
129NETWORK_MANAGER_DEPENDENCIES += ofono
130NETWORK_MANAGER_CONF_OPTS += -Dofono=true
131else
132NETWORK_MANAGER_CONF_OPTS += -Dofono=false
133endif
134
135ifeq ($(BR2_PACKAGE_SYSTEMD),y)
136NETWORK_MANAGER_DEPENDENCIES += systemd
137NETWORK_MANAGER_CONF_OPTS += \
138	-Dsystemd_journal=true \
139	-Dconfig_logging_backend_default=journal \
140	-Dsession_tracking=systemd \
141	-Dsuspend_resume=systemd
142else
143NETWORK_MANAGER_CONF_OPTS += \
144	-Dsystemd_journal=false \
145	-Dconfig_logging_backend_default=syslog \
146	-Dsession_tracking=no \
147	-Dsuspend_resume=upower \
148	-Dsystemdsystemunitdir=no
149endif
150
151ifeq ($(BR2_PACKAGE_POLKIT),y)
152NETWORK_MANAGER_DEPENDENCIES += polkit
153NETWORK_MANAGER_CONF_OPTS += -Dpolkit=true
154else
155NETWORK_MANAGER_CONF_OPTS += -Dpolkit=false
156endif
157
158ifeq ($(BR2_PACKAGE_NETWORK_MANAGER_CLI),y)
159NETWORK_MANAGER_DEPENDENCIES += readline
160NETWORK_MANAGER_CONF_OPTS += -Dnmcli=true
161else
162NETWORK_MANAGER_CONF_OPTS += -Dnmcli=false
163endif
164
165define NETWORK_MANAGER_INSTALL_INIT_SYSV
166	$(INSTALL) -m 0755 -D package/network-manager/S45network-manager $(TARGET_DIR)/etc/init.d/S45network-manager
167endef
168
169define NETWORK_MANAGER_INSTALL_INIT_SYSTEMD
170	ln -sf /usr/lib/systemd/system/NetworkManager.service \
171		$(TARGET_DIR)/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service
172
173endef
174
175$(eval $(meson-package))
176