Merge branch 'ipsec' into tizen
[platform/upstream/connman.git] / packaging / connman.spec
index 4bf2d1a..f9a90f6 100755 (executable)
@@ -1,10 +1,11 @@
 %bcond_with     connman_openconnect
 %bcond_without  connman_openvpn
+%bcond_without  connman_ipsec
 %bcond_without  connman_vpnd
 
 Name:           connman
 Version:        1.29
-Release:        11
+Release:        21
 License:        GPL-2.0+
 Summary:        Connection Manager
 Url:            http://connman.net
@@ -13,16 +14,22 @@ Source0:        %{name}-%{version}.tar.gz
 BuildRequires:  systemd-devel
 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(tpkp-gnutls)
+BuildRequires:  pkgconfig(libsystemd-daemon)
 %if %{with connman_openconnect}
 BuildRequires:  openconnect
 %endif
 %if %{with connman_openvpn}
 BuildRequires:  openvpn
 %endif
+%if %{with connman_ipsec}
+BuildRequires:  strongswan
+BuildRequires:  pkgconfig(openssl)
+%endif
 BuildRequires:  ca-certificates-devel
 BuildRequires:  readline-devel
 #%systemd_requires
@@ -32,6 +39,12 @@ Requires(post):   systemd
 Requires(preun):  systemd
 Requires(postun): systemd
 Requires:         net-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
 
 %description
 Connection Manager provides a daemon for managing Internet connections
@@ -57,6 +70,17 @@ Requires:       openvpn
 OpenVPN support for Connman.
 %endif
 
+%if %{with connman_ipsec}
+%package plugin-ipsec
+Summary:        IPsec Support for Connman
+Requires:       %{name} = %{version}
+Requires:       strongswan
+BuildRequires:  pkgconfig(openssl)
+
+%description plugin-ipsec
+OpenVPN support for Connman.
+%endif
+
 %if %{with connman_vpnd}
 %package connman-vpnd
 Summary:        VPN Support for Connman
@@ -86,6 +110,24 @@ Requires:       %{name} = %{version}
 %description devel
 Header files and development files for connman.
 
+%package extension-tv
+Summary:        Connman service script for TV profile
+Requires:       %{name} = %{version}-%{release}
+Provides:       %{name}-profile_tv = %{version}-%{release}
+Conflicts:      %{name}-extension-ivi
+%description extension-tv
+Supplies Tizen TV profile systemd service scripts instead of the default one.
+This overwrites service script of %{name}.
+
+%package extension-ivi
+Summary:        Connman configuration for IVI profile
+Requires:       %{name} = %{version}-%{release}
+Provides:       %{name}-profile_ivi = %{version}-%{release}
+Conflicts:      %{name}-extension-tv
+%description extension-ivi
+Supplies Tizen IVI profile configuration instead of the default one.
+This overwrites conf file of %{name}.
+
 %prep
 %setup -q
 
@@ -93,9 +135,6 @@ Header files and development files for connman.
 %build
 CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
 CFLAGS+=" -DTIZEN_SYS_CA_BUNDLE=\"%TZ_SYS_RO_CA_BUNDLE\""
-%if "%{profile}" == "tv"
-CFLAGS+=" -DTIZEN_TV_EXT"
-%endif
 
 %if %{with connman_vpnd}
 VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
@@ -114,6 +153,9 @@ chmod +x bootstrap
 %if %{with connman_openvpn}
             --enable-openvpn \
 %endif
+%if %{with connman_ipsec}
+            --enable-ipsec \
+%endif
 %if 0%{?enable_connman_features}
             %connman_features \
 %endif
@@ -137,13 +179,12 @@ mkdir -p %{buildroot}%{_libdir}/systemd/system/
 mkdir -p %{buildroot}%{_unitdir}
 %endif
 
-%if "%{profile}" == "tv"
-cp src/connman_tv.service %{buildroot}%{_libdir}/systemd/system/connman.service
-%else
 %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
-%endif
+%else
+cp src/connman_tv.service %{buildroot}%{_libdir}/systemd/system/connman.service.tv
 %endif
 
 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
@@ -153,26 +194,42 @@ 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
 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
 cp resources/usr/share/dbus-1/system-services/net.connman.service %{buildroot}%{_datadir}/dbus-1/system-services/net.connman.service
 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.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/
 
-#License
-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
 
+#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
 
 %preun
 
@@ -199,8 +256,14 @@ systemctl daemon-reload
 %attr(644,root,root) %{_unitdir}/connman.service
 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
 %attr(644,root,root) %{_unitdir}/connman-vpn.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
-%{_datadir}/license/connman
+%license COPYING
+%{upgrade_script_path}/%{upgrade_script_filename}
 
 %files test
 %manifest connman.manifest
@@ -217,6 +280,7 @@ systemctl daemon-reload
 %{_libdir}/connman/plugins-vpn/openconnect.so
 %{_libdir}/connman/scripts/openconnect-script
 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
+%license COPYING
 %endif
 
 %if %{with connman_openvpn}
@@ -225,6 +289,15 @@ systemctl daemon-reload
 %{_libdir}/%{name}/plugins-vpn/openvpn.so
 %{_libdir}/%{name}/scripts/openvpn-script
 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
+%license COPYING
+%endif
+
+%if %{with connman_ipsec}
+%files plugin-ipsec
+%manifest %{name}.manifest
+%{_libdir}/%{name}/plugins-vpn/ipsec.so
+%{_libdir}/%{name}/scripts/ipsec-script
+%{_datadir}/dbus-1/system-services/net.connman.vpn.service
 %endif
 
 %if %{with connman_vpnd}
@@ -236,6 +309,23 @@ systemctl daemon-reload
 %dir %{_libdir}/%{name}/plugins-vpn
 %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
+%license COPYING
 %endif
 
+%post extension-tv
+mv -f %{_libdir}/systemd/system/connman.service.tv %{_libdir}/systemd/system/connman.service
+mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
+%files extension-tv
+%attr(644,root,root) %{_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,root,root) %{_sysconfdir}/connman/main.conf.ivi
+%license COPYING