Add support of bpf
[platform/upstream/connman.git] / packaging / connman.spec
index 1a77426..31dcc3e 100644 (file)
@@ -1,12 +1,12 @@
 %bcond_with     connman_openconnect
-%bcond_without     connman_wireguard
+%bcond_without  connman_wireguard
 %bcond_without  connman_openvpn
 %bcond_without  connman_ipsec
 %bcond_without  connman_vpnd
 
 Name:           connman
 Version:        1.38
-Release:        9
+Release:        10
 License:        GPL-2.0+
 Summary:        Connection Manager
 Url:            http://connman.net
@@ -111,7 +111,7 @@ Requires:       python-xml
 Scripts for testing Connman and its functionality
 
 %package devel
-Summary:        Development Files for connman
+Summary:        Development files for connman
 Group:          Development/Tools
 Requires:       %{name} = %{version}
 
@@ -147,6 +147,22 @@ Conflicts:      %{name}-extension-ivi
 Connman without ethernet support
 This overwrites conf file of %{name}.
 
+%package extension-bpf
+Summary:        Files for BPF support
+Requires:       libelf0
+Requires:       %{name} = %{version}-%{release}
+%description extension-bpf
+Files for BPF support
+
+%package extension-bpf-devel
+License:        GPL-2.0+ and LGPL-2.1+
+Summary:        Development files for BPF support
+Requires:       %{name} = %{version}-%{release}
+Requires:       %{name}-extension-bpf
+%description extension-bpf-devel
+Header files and development files for BPF support
+
+
 %prep
 %setup -q
 
@@ -231,6 +247,17 @@ cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
 %endif
 
+# BPF file
+mkdir -p %{buildroot}/%{_includedir}/bpf
+cp -rf resources/usr/include/bpf/* %{buildroot}/%{_includedir}/bpf
+cp resources/var/lib/connman/bpf_code %{buildroot}/%{_localstatedir}/lib/connman/bpf_code
+
+%ifarch aarch64
+cp resources/usr/lib/libbpf.so.64 %{buildroot}/%{_libdir}/libbpf.so.0.2.0
+%else
+cp resources/usr/lib/libbpf.so.32 %{buildroot}/%{_libdir}/libbpf.so.0.2.0
+%endif
+
 %post
 #chsmack -a 'System' /%{_localstatedir}/lib/connman
 #chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
@@ -246,7 +273,6 @@ systemctl daemon-reload
 %manifest connman.manifest
 %attr(500,network_fw,network_fw) %{_bindir}/connmand
 %attr(500,network_fw,network_fw) %{_bindir}/connmanctl
-%attr(755,network_fw,network_fw) /%{_localstatedir}/lib/connman
 %attr(600,network_fw,network_fw) /%{_localstatedir}/lib/connman/settings
 %attr(644,root,root) %{_datadir}/dbus-1/system-services/net.connman.service
 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*
@@ -314,17 +340,37 @@ systemctl daemon-reload
 %post extension-tv
 mv -f %{_unitdir}/connman.service.tv %{_unitdir}/connman.service
 mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
+
 %files extension-tv
 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.tv
 %license COPYING
 %attr(644,root,root) %{_unitdir}/connman.service.tv
+
 %post extension-ivi
 mv -f %{_sysconfdir}/connman/main.conf.ivi %{_sysconfdir}/connman/main.conf
+
 %files extension-ivi
 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.ivi
 %license COPYING
+
 %post extension-disable-eth
 mv -f %{_sysconfdir}/connman/main.conf.disable.eth %{_sysconfdir}/connman/main.conf
+
 %files extension-disable-eth
 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.disable.eth
 %license COPYING
+
+%files extension-bpf
+%manifest %{name}.manifest
+%attr(755,root,root) %{_libdir}/libbpf.so.0.2.0
+%attr(640,network_fw,network_fw) %{_localstatedir}/lib/connman/bpf_code
+
+%post extension-bpf
+ln -s %{_libdir}/libbpf.so.0.2.0 %{_libdir}/libbpf.so.0
+ln -s %{_libdir}/libbpf.so.0.2.0 %{_libdir}/libbpf.so
+
+%files extension-bpf-devel
+%manifest %{name}.manifest
+%{_includedir}/bpf/*
+%license COPYING
+%license COPYING.LGPLv2