%bcond_with connman_openconnect
%bcond_without connman_openvpn
+%bcond_without connman_ipsec
%bcond_without connman_vpnd
Name: connman
Version: 1.29
-Release: 18
+Release: 24
License: GPL-2.0+
Summary: Connection Manager
Url: http://connman.net
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
%if %{with connman_openvpn}
BuildRequires: openvpn
%endif
-BuildRequires: ca-certificates-devel
+%if %{with connman_ipsec}
+BuildRequires: strongswan
+BuildRequires: pkgconfig(openssl)
+%endif
BuildRequires: readline-devel
#%systemd_requires
Requires: iptables
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
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
%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
%build
-CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
-CFLAGS+=" -DTIZEN_SYS_CA_BUNDLE=\"%TZ_SYS_RO_CA_BUNDLE\""
-%if "%{profile}" == "tv"
-CFLAGS+=" -DTIZEN_TV_EXT"
-%endif
+#CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
%if %{with connman_vpnd}
VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
%configure \
--sysconfdir=/etc \
--enable-client \
+ --enable-tizen-ext \
--enable-pacrunner \
--enable-wifi=builtin \
%if %{with connman_openconnect}
%if %{with connman_openvpn}
--enable-openvpn \
%endif
+%if %{with connman_ipsec}
+ --enable-ipsec \
+%endif
%if 0%{?enable_connman_features}
%connman_features \
%endif
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
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
-%if "%{profile}" == "ivi"
-cp src/main_ivi.conf %{buildroot}/etc/connman/main.conf
-%else
+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
-%endif
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/connman_upgrade.sh %{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
+#chsmack -a 'System' /%{_localstatedir}/lib/connman
+#chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
%preun
%files
%manifest connman.manifest
-%attr(500,root,root) %{_sbindir}/*
-%attr(500,root,root) %{_bindir}/connmanctl
-%attr(600,root,root) /%{_localstatedir}/lib/connman/settings
-#%{_libdir}/connman/plugins/*.so
-%attr(644,root,root) %{_datadir}/dbus-1/system-services/*
-#%{_datadir}/dbus-1/services/*
+%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
%{_sysconfdir}/dbus-1/system.d/*
-%attr(644,root,root) %{_sysconfdir}/connman/main.conf
+%attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf
%{_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
-%attr(644,root,root) %{_libdir}/systemd/system/connman-vpn.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-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
-%{upgrade_script_path}/connman_upgrade.sh
+%license COPYING
+%{upgrade_script_path}/%{upgrade_script_filename}
%files test
%manifest connman.manifest
%manifest %{name}.manifest
%{_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}
%manifest %{name}.manifest
%{_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
+%license COPYING
%endif
%if %{with connman_vpnd}
%files connman-vpnd
%manifest %{name}.manifest
-#%{_sbindir}/connman-vpnd
+%{_bindir}/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
+%license COPYING
+%attr(644,root,root) %{_libdir}/systemd/system/connman-vpn.service
+%if "%{?_lib}" == "lib64"
+%attr(644,root,root) %{_unitdir}/connman-vpn.service
+%endif
%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,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