Merge branch 'upstream' into tizen
[platform/upstream/connman.git] / packaging / connman.spec
index 4dabaed..e6f8eba 100755 (executable)
@@ -1,11 +1,16 @@
+%bcond_with     connman_openconnect
+%bcond_without  connman_openvpn
+%bcond_without  connman_vpnd
+
 Name:           connman
-Version:        1.26
-Release:        6
+Version:        1.29
+Release:        7
 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(dbus-1)
 BuildRequires:  pkgconfig(glib-2.0)
 BuildRequires:  pkgconfig(libiptc)
@@ -13,6 +18,13 @@ BuildRequires:  pkgconfig(xtables)
 BuildRequires:  pkgconfig(gnutls)
 BuildRequires:  pkgconfig(libsmack)
 BuildRequires:  pkgconfig(tpkp-gnutls)
+%if %{with connman_openconnect}
+BuildRequires:  openconnect
+%endif
+%if %{with connman_openvpn}
+BuildRequires:  openvpn
+%endif
+BuildRequires:  ca-certificates-devel
 BuildRequires:  readline-devel
 #%systemd_requires
 Requires:       iptables
@@ -20,11 +32,41 @@ Requires:         systemd
 Requires(post):   systemd
 Requires(preun):  systemd
 Requires(postun): systemd
+Requires:         net-config
 
 %description
 Connection Manager provides a daemon for managing Internet connections
 within embedded devices running the Linux operating system.
 
+%if %{with connman_openconnect}
+%package plugin-openconnect
+Summary:        Openconnect Support for Connman
+Requires:       %{name} = %{version}
+Requires:       openconnect
+
+%description plugin-openconnect
+Openconnect Support for Connman.
+%endif
+
+%if %{with connman_openvpn}
+%package plugin-openvpn
+Summary:        Openvpn Support for Connman
+Requires:       %{name} = %{version}
+Requires:       openvpn
+
+%description plugin-openvpn
+OpenVPN support for Connman.
+%endif
+
+%if %{with connman_vpnd}
+%package connman-vpnd
+Summary:        VPN Support for Connman
+#BuildRequires:  %{name} = %{version}
+Requires:       %{name} = %{version}
+
+%description connman-vpnd
+Provides VPN support for Connman
+%endif
 
 %package test
 Summary:        Test Scripts for Connection Manager
@@ -51,10 +93,15 @@ Header files and development files for connman.
 
 %build
 CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
+CFLAGS+=" -DTIZEN_SYS_CA_BUNDLE=\"%TZ_SYS_CA_BUNDLE\""
 %if "%{profile}" == "tv"
 CFLAGS+=" -DTIZEN_TV_EXT"
 %endif
 
+%if %{with connman_vpnd}
+VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
+%endif
+
 chmod +x bootstrap
 ./bootstrap
 %configure \
@@ -62,6 +109,12 @@ chmod +x bootstrap
             --enable-client \
             --enable-pacrunner \
             --enable-wifi=builtin \
+%if %{with connman_openconnect}
+            --enable-openconnect \
+%endif
+%if %{with connman_openvpn}
+            --enable-openvpn \
+%endif
 %if 0%{?enable_connman_features}
             %connman_features \
 %endif
@@ -87,7 +140,6 @@ mkdir -p %{buildroot}%{_unitdir}
 %if "%{profile}" == "tv"
 cp src/connman_tv.service %{buildroot}%{_libdir}/systemd/system/connman.service
 %else
-cp src/connman.service %{buildroot}%{_libdir}/systemd/system/connman.service
 %if "%{?_lib}" == "lib64"
 cp src/connman.service %{buildroot}%{_unitdir}/connman.service
 %endif
@@ -115,15 +167,16 @@ cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
 mkdir -p %{buildroot}%{_datadir}/license
 cp COPYING %{buildroot}%{_datadir}/license/connman
 
+%if %{with connman_vpnd}
+cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
+%endif
+
 %post
-#systemctl daemon-reload
-#systemctl restart connman.service
 
 %preun
-#systemctl stop connman.service
 
 %postun
-#systemctl daemon-reload
+systemctl daemon-reload
 
 %docs_package
 
@@ -147,10 +200,39 @@ cp COPYING %{buildroot}%{_datadir}/license/connman
 %{_datadir}/license/connman
 
 %files test
+%manifest connman.manifest
 %{_libdir}/%{name}/test/*
 
 %files devel
+%manifest connman.manifest
 %{_includedir}/*
 %{_libdir}/pkgconfig/*.pc
 
+%if %{with connman_openconnect}
+%files plugin-openconnect
+%manifest %{name}.manifest
+%{_libdir}/connman/plugins-vpn/openconnect.so
+%{_libdir}/connman/scripts/openconnect-script
+%{_datadir}/dbus-1/system-services/net.connman.vpn.service
+%endif
+
+%if %{with connman_openvpn}
+%files plugin-openvpn
+%manifest %{name}.manifest
+%{_libdir}/%{name}/plugins-vpn/openvpn.so
+%{_libdir}/%{name}/scripts/openvpn-script
+%{_datadir}/dbus-1/system-services/net.connman.vpn.service
+%endif
+
+%if %{with connman_vpnd}
+%files connman-vpnd
+%manifest %{name}.manifest
+%{_sbindir}/connman-vpnd
+%dir %{_libdir}/%{name}
+%dir %{_libdir}/%{name}/scripts
+%dir %{_libdir}/%{name}/plugins-vpn
+%config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
+%{_datadir}/dbus-1/system-services/net.connman.vpn.service
+%endif
+