Maintain connection status when wifi roaming
[platform/upstream/connman.git] / packaging / connman.spec
index dd32047..ba2c24c 100644 (file)
@@ -1,25 +1,28 @@
 %bcond_with     connman_openconnect
+%bcond_without  connman_wireguard
 %bcond_without  connman_openvpn
 %bcond_without  connman_ipsec
 %bcond_without  connman_vpnd
 
 Name:           connman
-Version:        1.35
-Release:        29
+Version:        1.40
+Release:        2
 License:        GPL-2.0+
 Summary:        Connection Manager
 Url:            http://connman.net
 Group:          Network & Connectivity/Connection Management
 Source0:        %{name}-%{version}.tar.gz
 BuildRequires:  systemd-devel
+BuildRequires:  pkgconfig(dlog)
 BuildRequires:  pkgconfig(dbus-1)
 BuildRequires:  pkgconfig(glib-2.0)
 BuildRequires:  pkgconfig(gio-2.0)
 BuildRequires:  pkgconfig(libiptc)
 BuildRequires:  pkgconfig(xtables)
 BuildRequires:  pkgconfig(libsmack)
-BuildRequires:  pkgconfig(libnl-2.0)
-BuildRequires:  pkgconfig(libsystemd-daemon)
+BuildRequires:  pkgconfig(libnl-3.0)
+BuildRequires:  pkgconfig(libnl-genl-3.0)
+BuildRequires:  pkgconfig(libsystemd)
 %if %{with connman_openconnect}
 BuildRequires:  openconnect
 %endif
@@ -36,14 +39,11 @@ Requires:         systemd
 Requires(post):   systemd
 Requires(preun):  systemd
 Requires(postun): systemd
-Requires:         net-config
 Requires:         security-config
 Provides:       %{name}-profile_common = %{version}-%{release}
 Provides:       %{name}-profile_mobile = %{version}-%{release}
 Provides:       %{name}-profile_wearable = %{version}-%{release}
-
-%define upgrade_script_filename 500.connman_upgrade.sh
-%define upgrade_script_path /usr/share/upgrade/scripts
+Provides:       %{name}-profile_robot = %{version}-%{release}
 
 %description
 Connection Manager provides a daemon for managing Internet connections
@@ -89,6 +89,16 @@ Requires:       %{name} = %{version}
 Provides VPN support for Connman
 %endif
 
+%if %{with connman_wireguard}
+%package plugin-wireguard
+Summary:        Wireguard Support for Connman
+BuildRequires:  pkgconfig(libmnl)
+Requires:       %{name} = %{version}
+
+%description plugin-wireguard
+Wireguard Support for Connman.
+%endif
+
 %package test
 Summary:        Test Scripts for Connection Manager
 Group:          Development/Tools
@@ -101,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}
 
@@ -137,6 +147,12 @@ Conflicts:      %{name}-extension-ivi
 Connman without ethernet support
 This overwrites conf file of %{name}.
 
+%package profile_robot
+Summary:               connman extension for robot profile
+Requires:              %{name} = %{version}-%{release}
+%description profile_robot
+connman extension for Tizen robot profile
+
 %prep
 %setup -q
 
@@ -149,9 +165,11 @@ VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
 chmod +x bootstrap
 ./bootstrap
 %configure \
-            --sysconfdir=/etc \
+           --sysconfdir=/etc \
            --enable-client \
            --enable-tizen-ext \
+           --disable-tizen-ext-ins \
+            --enable-tizen-ext-eap-on-ethernet \
            --enable-pacrunner \
             --enable-wifi=builtin \
 %if %{with connman_openconnect}
@@ -163,6 +181,9 @@ chmod +x bootstrap
 %if %{with connman_ipsec}
             --enable-ipsec \
 %endif
+%if %{without connman_wireguard}
+            --disable-wireguard \
+%endif
 %if 0%{?enable_connman_features}
             %connman_features \
 %endif
@@ -171,9 +192,11 @@ chmod +x bootstrap
             --enable-test \
            --enable-loopback \
            --enable-ethernet \
-           --with-systemdunitdir=%{_libdir}/systemd/system \
+           --with-systemdunitdir=%{_unitdir} \
            --enable-pie \
-           --disable-wispr
+           --disable-wispr \
+           --disable-backtrace \
+           --disable-tools
 
 make %{?_smp_mflags}
 
@@ -181,36 +204,19 @@ make %{?_smp_mflags}
 %make_install
 
 #Systemd service file
-mkdir -p %{buildroot}%{_libdir}/systemd/system/
-%if "%{?_lib}" == "lib64"
 mkdir -p %{buildroot}%{_unitdir}
-%endif
 
-%if "%{?_lib}" == "lib64"
 cp src/connman_tv.service %{buildroot}%{_unitdir}/connman.service.tv
 cp src/connman.service %{buildroot}%{_unitdir}/connman.service
 cp vpn/connman-vpn.service %{buildroot}%{_unitdir}/connman-vpn.service
-%else
-cp src/connman_tv.service %{buildroot}%{_libdir}/systemd/system/connman.service.tv
-%endif
 
-mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
-ln -s ../connman.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/connman.service
-%if "%{?_lib}" == "lib64"
 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
 ln -s ../connman.service %{buildroot}%{_unitdir}/multi-user.target.wants/connman.service
-%endif
 
 #Systemd socket file for DNS proxy
-%if "%{?_lib}" == "lib64"
 cp src/connman.socket %{buildroot}%{_unitdir}/connman.socket
 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
 ln -s ../connman.socket %{buildroot}%{_unitdir}/sockets.target.wants/connman.socket
-%else
-cp src/connman.socket %{buildroot}%{_libdir}/systemd/system/connman.socket
-mkdir -p %{buildroot}%{_libdir}/systemd/system/sockets.target.wants
-ln -s ../connman.socket %{buildroot}%{_libdir}/systemd/system/sockets.target.wants/connman.socket
-%endif
 
 mkdir -p %{buildroot}/%{_localstatedir}/lib/connman
 cp resources/var/lib/connman/settings %{buildroot}/%{_localstatedir}/lib/connman/settings
@@ -221,20 +227,18 @@ mkdir -p %{buildroot}/etc/connman
 cp src/main_ivi.conf %{buildroot}/etc/connman/main.conf.ivi
 cp src/main_tv.conf %{buildroot}/etc/connman/main.conf.tv
 cp src/main_disable_eth.conf %{buildroot}/etc/connman/main.conf.disable.eth
+cp src/main_robot.conf %{buildroot}/etc/connman/main.conf.robot
 cp src/main.conf %{buildroot}/etc/connman/main.conf
 
 rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/*.conf
 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d/
 cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
+cp src/connman-robot.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
 
 %if %{with connman_vpnd}
 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
 %endif
 
-#OS Upgrade
-mkdir -p %{buildroot}%{upgrade_script_path}
-cp -f scripts/%{upgrade_script_filename} %{buildroot}%{upgrade_script_path}
-
 %post
 #chsmack -a 'System' /%{_localstatedir}/lib/connman
 #chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
@@ -250,25 +254,17 @@ 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/*
+%exclude %{_sysconfdir}/dbus-1/system.d/connman-robot.conf
 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf
 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*.conf
-%attr(644,root,root) %{_libdir}/systemd/system/connman.service
-%attr(644,root,root) %{_libdir}/systemd/system/multi-user.target.wants/connman.service
-%if "%{?_lib}" == "lib64"
 %attr(644,root,root) %{_unitdir}/connman.service
 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
 %attr(644,root,root) %{_unitdir}/connman.socket
 %attr(644,root,root) %{_unitdir}/sockets.target.wants/connman.socket
-%else
-%attr(644,root,root) %{_libdir}/systemd/system/connman.socket
-%attr(644,root,root) %{_libdir}/systemd/system/sockets.target.wants/connman.socket
-%endif
 %license COPYING
-%{upgrade_script_path}/%{upgrade_script_filename}
 
 %files test
 %manifest connman.manifest
@@ -313,30 +309,44 @@ systemctl daemon-reload
 %attr(644,root,root) %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
 %license COPYING
-%attr(644,root,root) %{_libdir}/systemd/system/connman-vpn.service
-%if "%{?_lib}" == "lib64"
 %attr(644,root,root) %{_unitdir}/connman-vpn.service
 %endif
+
+%if %{with connman_wireguard}
+%files plugin-wireguard
+%manifest %{name}.manifest
+%{_libdir}/%{name}/plugins-vpn/wireguard.so
+%license COPYING
 %endif
 
 %post extension-tv
-mv -f %{_libdir}/systemd/system/connman.service.tv %{_libdir}/systemd/system/connman.service
+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
-%if "%{?_lib}" == "lib64"
 %attr(644,root,root) %{_unitdir}/connman.service.tv
-%else
-%attr(644,root,root) %{_libdir}/systemd/system/connman.service.tv
-%endif
+
 %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
+
+%post profile_robot
+mv %{_sysconfdir}/dbus-1/system.d/connman-robot.conf %{_sysconfdir}/dbus-1/system.d/connman.conf
+mv -f %{_sysconfdir}/connman/main.conf.robot %{_sysconfdir}/connman/main.conf
+
+%files profile_robot
+%manifest %{name}.manifest
+%attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/connman-robot.conf
+%attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.robot