Fix typo for the vconfkey
[platform/core/connectivity/wifi-direct-manager.git] / packaging / wifi-direct-manager.spec
index cea7975..befc7b8 100644 (file)
@@ -1,6 +1,12 @@
+# Do not provide .so automatically for the extensions.
+# This if statement is for backward compatibility with GBM/Obsolete build systems
+%if "%{?profile}" != "wearable" && "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%global __provides_exclude_from ^.*\\.(wearable|mobile|tm1|tv|ivi|common)$
+%endif
+
 Name:          wifi-direct-manager
 Summary:       Wi-Fi Direct manger
-Version:       1.2.198
+Version:       1.2.273
 Release:       1
 Group:      Network & Connectivity/Wireless
 License:    Apache-2.0
@@ -8,6 +14,7 @@ Source0:       %{name}-%{version}.tar.gz
 Source1:       dbus-wfd-manager.conf
 Source2:       net.wifidirect.service
 Source3:       wifi-direct-manager.service
+
 BuildRequires: pkgconfig(capi-network-wifi-direct)
 BuildRequires: pkgconfig(gio-2.0)
 BuildRequires: pkgconfig(dlog)
@@ -15,28 +22,77 @@ BuildRequires:      pkgconfig(vconf)
 BuildRequires:  pkgconfig(libnl-2.0)
 BuildRequires: pkgconfig(dbus-1)
 BuildRequires: pkgconfig(aul)
-
+BuildRequires:  pkgconfig(capi-system-info)
 BuildRequires: pkgconfig(capi-appfw-application)
 BuildRequires:  pkgconfig(libsystemd-login)
-
-BuildRequires: pkgconfig(libtzplatform-config)
-
+BuildRequires:  pkgconfig(libtzplatform-config)
+%if 0%{?gtests:1}
+BuildRequires: pkgconfig(gmock)
+%endif
 BuildRequires: cmake
-#BuildRequires:  model-build-features
+
 Requires:      net-tools
-#Requires:     sys-assert
-#Requires:     tizen-coreutils
+
 Requires: toybox-symlinks-dhcpd
 Requires: toybox-symlinks-dhcp
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
 
 %description
 Manager for handling wifi-direct functionalities
 
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common || ivi || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "mobile"
+%package profile_common
+Summary:       Wi-Fi Direct manager for common/ivi
+Requires:      %{name} = %{version}-%{release}
+%description profile_common
+Manager for handling wifi-direct functionalities for common/ivi
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%package profile_mobile
+Summary:       Wi-Fi Direct manager for mobile
+Requires:      %{name} = %{version}-%{release}
+%description profile_mobile
+Manager for handling wifi-direct functionalities for mobile
+
+%ifarch %{arm}
+%package extension-TM1
+Summary:       Extension for mobile TM1
+Requires:      %{name}-profile_mobile = %{version}-%{release}
+%description extension-TM1
+Manager for handling wifi-direct functionalities for mobile TM1
+%endif
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%package profile_wearable
+Summary:       Wi-Fi Direct manager for wearable
+Requires:      %{name} = %{version}-%{release}
+%description profile_wearable
+Manager for handling wifi-direct functionalities for wearable
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%package profile_tv
+Summary:       Wi-Fi Direct manager for tv
+Requires:      %{name} = %{version}-%{release}
+%description profile_tv
+Manager for handling wifi-direct functionalities for tv
+%endif
+
 %package -n wifi-direct-plugin-wpasupplicant
 Summary:    Wifi direct plugin for wpa supplicant
 Group:      Network & Connectivity/Wireless
 Requires:   %{name} = %{version}-%{release}
-
 %description -n wifi-direct-plugin-wpasupplicant
 Wi-Fi direct manager plugin to abstract wpa_supplicant
 
@@ -44,7 +100,6 @@ Wi-Fi direct manager plugin to abstract wpa_supplicant
 #Summary:    Wifi direct prd plugin for wpa supplicant
 #Group:      Network & Connectivity/Wireless
 #Requires:   %{name} = %{version}-%{release}
-
 #%description -n wifi-direct-prd-plugin-wpasupplicant
 #Wi-Fi direct manager prd plugin to abstract wpa_supplicant
 
@@ -63,6 +118,12 @@ cp -a %{SOURCE3} .
 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
+%if 0%{?gcov:1}
+export CFLAGS+=" -fprofile-arcs -ftest-coverage"
+export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
+export FFLAGS+=" -fprofile-arcs -ftest-coverage"
+export LDFLAGS+=" -lgcov"
+%endif
 
 %ifarch %{arm}
 export ARCH=arm
@@ -76,70 +137,56 @@ export ARCH=i586
 
 %endif
 
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DARCHITECTURE=$ARCH \
-       -DTIZEN_ENABLE_PRD=0 \
-%if 0%{?model_build_feature_wlan_concurrent_mode}
-       -DTIZEN_WLAN_CONCURRENT_ENABLE=1 \
-%endif
+%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DARCHITECTURE=$ARCH \
 %if ! 0%{?model_build_feature_network_tethering_disable}
        -DTIZEN_TETHERING_ENABLE=0 \
 %endif
-%if "%{profile}" == "common"
-        -DTIZEN_FEATURE_SERVICE_DISCOVERY=1 \
-        -DTIZEN_WLAN_CONCURRENT_ENABLE=1 \
-        -DTIZEN_FEATURE_WIFI_DISPLAY=1 \
-        -DTIZEN_FEATURE_IP_OVER_EAPOL=1 \
-        -DCTRL_IFACE_DBUS=1 \
-        -DTIZEN_DEBUG_DBUS_VALUE=1 \
-        -DTIZEN_PROFILE_COMMON=1 \
-%else
-%if "%{profile}" == "wearable"
-        -DTIZEN_FEATURE_SERVICE_DISCOVERY=0 \
-        -DTIZEN_FEATURE_WIFI_DISPLAY=0 \
-%else
-%if "%{profile}" == "mobile"
-%if "%{?tizen_target_name}" == "TM1"
-       -DTIZEN_WLAN_BOARD_SPRD=1 \
-%endif
-        -DTIZEN_FEATURE_SERVICE_DISCOVERY=1 \
-        -DTIZEN_WLAN_CONCURRENT_ENABLE=1 \
-        -DTIZEN_FEATURE_WIFI_DISPLAY=1 \
-        -DTIZEN_FEATURE_DEFAULT_CONNECTION_AGENT=1 \
-        -DTIZEN_FEATURE_IP_OVER_EAPOL=1 \
-        -DCTRL_IFACE_DBUS=1 \
-        -DTIZEN_DEBUG_DBUS_VALUE=1 \
-        -DTIZEN_PROFILE_MOBILE=1 \
-        -DTIZEN_FEATURE_ASP=1 \
-%else
-%if "%{profile}" == "tv"
-       -DTIZEN_FEATURE_SERVICE_DISCOVERY=1 \
-       -DTIZEN_WLAN_CONCURRENT_ENABLE=0 \
-       -DTIZEN_FEATURE_WIFI_DISPLAY=1 \
-       -DTIZEN_FEATURE_IP_OVER_EAPOL=1 \
-       -DCTRL_IFACE_DBUS=1 \
        -DTIZEN_DEBUG_DBUS_VALUE=1 \
-       -DTIZEN_WIFI_MODULE_BUNDLE=0 \
-       -DTIZEN_PROFILE_TV=1 \
-%endif
-%endif
-%endif
-%endif
 %if "%{?_lib}" == "lib64"
        -DTIZEN_ARCH_64=1 \
 %endif
--DLIB_DIR=%{_libdir} \
--DBIN_DIR=%{_bindir} \
--DSBIN_DIR=%{_sbindir} \
--DTZ_SYS_RO_ETC=%{TZ_SYS_RO_ETC} \
--DTZ_SYS_VAR=%{TZ_SYS_VAR} \
--DTZ_SYS_ETC=%{TZ_SYS_ETC} \
--DTZ_SYS_RUN=%{TZ_SYS_RUN}
+       -DLIB_DIR=%{_libdir} \
+       -DBIN_DIR=%{_bindir} \
+       -DSBIN_DIR=%{_sbindir} \
+       -DTZ_SYS_RO_ETC=%{TZ_SYS_RO_ETC} \
+       -DTZ_SYS_VAR=%{TZ_SYS_VAR} \
+       -DTZ_SYS_ETC=%{TZ_SYS_ETC} \
+       -DTZ_SYS_RUN=%{TZ_SYS_RUN} \
+       -DBUILD_GTESTS=%{?gtests:1}%{!?gtests:0} \
+       -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0}
 
 make %{?_smp_mflags}
 
-
 %install
 rm -rf %{buildroot}
+mkdir -p %{buildroot}/etc/wifi-direct
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+cp files/wifi-direct-manager.conf.mobile %{buildroot}/etc/wifi-direct/wifi-direct-manager.conf.mobile
+%ifarch %{arm}
+cp files/wifi-direct-manager.conf.tm1 %{buildroot}/etc/wifi-direct/wifi-direct-manager.conf.tm1
+%endif
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+cp files/wifi-direct-manager.conf.wearable %{buildroot}/etc/wifi-direct/wifi-direct-manager.conf.wearable
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+cp files/wifi-direct-manager.conf.tv %{buildroot}/etc/wifi-direct/wifi-direct-manager.conf.tv
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common || ivi || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "mobile"
+cp files/wifi-direct-manager.conf.common %{buildroot}/etc/wifi-direct/wifi-direct-manager.conf.common
+%endif
 
 %make_install
 
@@ -149,9 +196,14 @@ mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services/
 cp net.wifidirect.service %{buildroot}%{_datadir}/dbus-1/system-services/net.wifidirect.service
 mkdir -p %{buildroot}%{_libdir}/systemd/system/
 cp wifi-direct-manager.service %{buildroot}%{_libdir}/systemd/system/wifi-direct-manager.service
+%if "%{?_lib}" == "lib64"
+mkdir -p %{buildroot}%{_unitdir}
+cp wifi-direct-manager.service %{buildroot}%{_unitdir}/wifi-direct-manager.service
+%endif
 
 %post
 chmod 644 %{TZ_SYS_RO_ETC}/wifi-direct/dhcpd.conf
+chmod 644 %{TZ_SYS_RO_ETC}/wifi-direct/wifi-direct-manager.conf
 chmod 755 %{_bindir}/dhcpd-notify.sh
 chmod 755 %{TZ_SYS_RO_ETC}/wifi-direct/udhcp_script.non-autoip
 chmod 755 %{_bindir}/wifi-direct-server.sh
@@ -165,13 +217,47 @@ fi
 touch %{TZ_SYS_VAR}/lib/misc/dhcpd.leases
 chmod 666 %{TZ_SYS_VAR}/lib/misc/dhcpd.leases
 
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%post profile_common
+mv -f %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.common %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%post profile_mobile
+mv -f %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.mobile %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf
+
+%ifarch %{arm}
+%post extension-TM1
+mv -f %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.tm1 %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf
+%endif
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%post profile_wearable
+mv -f %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.wearable %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%post profile_tv
+mv -f %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.tv %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf
+%endif
+
 %files
 %manifest wifi-direct-manager.manifest
 %license LICENSE
-%defattr(-,root,root,-)
-%{_bindir}/wfd-manager
+%defattr(-,network_fw,network_fw,-)
 %config %{TZ_SYS_RO_ETC}/wifi-direct/ccode.conf
 %config %{TZ_SYS_RO_ETC}/wifi-direct/dhcpd.conf
+%config %{TZ_SYS_RO_ETC}/wifi-direct/wifi-direct-manager.conf
 %config %{TZ_SYS_RO_ETC}/wifi-direct/p2p_supp.conf
 %config %{_sysconfdir}/dbus-1/system.d/wfd-manager.conf
 %attr(644,-,-) %{TZ_SYS_ETC}/p2p_supp.conf
@@ -179,18 +265,58 @@ chmod 666 %{TZ_SYS_VAR}/lib/misc/dhcpd.leases
 %attr(755,-,-) %{_bindir}/wifi-direct-server.sh
 %attr(755,-,-) %{_bindir}/wifi-direct-dhcp.sh
 %attr(755,-,-) %{TZ_SYS_RO_ETC}/wifi-direct/udhcp_script.non-autoip
+%attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/wfd-manager.conf
 %attr(644,root,root) %{_datadir}/dbus-1/system-services/*
 %attr(644,root,root) %{_libdir}/systemd/system/*
+%if "%{?_lib}" == "lib64"
+%attr(644,root,root) %{_unitdir}/wifi-direct-manager.service
+%endif
 %attr(755,-,-) %{_sbindir}/p2p_supp.sh
+%attr(755,-,-) %{_bindir}/wfd-manager
+%if 0%{?gtests:1}
+       %{_bindir}/gtest*
+%endif
 
 %files -n wifi-direct-plugin-wpasupplicant
 %manifest wifi-direct-plugin-wpasupplicant.manifest
 %license LICENSE
-%defattr(-,root,root,-)
+%defattr(-,network_fw,network_fw,-)
 %{_libdir}/wifi-direct-plugin-wpasupplicant.so
 
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common || ivi || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "mobile"
+%files profile_common
+%attr(644,network_fw,network_fw) %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.common
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%files profile_mobile
+%attr(644,network_fw,network_fw) %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.mobile
+%ifarch %{arm}
+%files extension-TM1
+%attr(644,root,root) %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.tm1
+%endif
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%files profile_wearable
+%attr(644,root,root) %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.wearable
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%files profile_tv
+%attr(644,network_fw,network_fw) %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.tv
+%endif
+
 #%files -n wifi-direct-prd-plugin-wpasupplicant
 #%manifest wifi-direct-prd-plugin-wpasupplicant.manifest
 #%license LICENSE
-#%defattr(-,root,root,-)
+#%defattr(-,network_fw,network_fw,-)
 #%{_libdir}/wifi-direct-prd-plugin-wpasupplicant.so