Fix coverity issue
[platform/core/connectivity/wifi-direct-manager.git] / packaging / wifi-direct-manager.spec
index 221fdcf..9867706 100644 (file)
@@ -1,14 +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|tv|ivi|common)$
+%global __provides_exclude_from ^.*\\.(wearable|mobile|tm1|tv|ivi|common)$
 %endif
 
-%define upgrade_script_path /usr/share/upgrade/scripts
-
 Name:          wifi-direct-manager
 Summary:       Wi-Fi Direct manger
-Version:       1.2.217
+Version:       1.3.7
 Release:       1
 Group:      Network & Connectivity/Wireless
 License:    Apache-2.0
@@ -16,30 +14,30 @@ Source0:    %{name}-%{version}.tar.gz
 Source1:       dbus-wfd-manager.conf
 Source2:       net.wifidirect.service
 Source3:       wifi-direct-manager.service
-Source4:       500.wifi-direct-manager_upgrade.sh
+
 BuildRequires: pkgconfig(capi-network-wifi-direct)
 BuildRequires: pkgconfig(gio-2.0)
 BuildRequires: pkgconfig(dlog)
 BuildRequires: pkgconfig(vconf)
-BuildRequires:  pkgconfig(libnl-2.0)
+BuildRequires:  pkgconfig(libnl-3.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(libsystemd)
+BuildRequires:  pkgconfig(libtzplatform-config)
+BuildRequires:  pkgconfig(hal-api-wifi)
+%if 0%{?gtests:1}
+BuildRequires: pkgconfig(gmock)
+%endif
 BuildRequires: cmake
-#BuildRequires:  model-build-features
+
 Requires:      net-tools
-#Requires:     sys-assert
-#Requires:     tizen-coreutils
-Requires:      %{name}-compat = %{version}-%{release}
-Recommends:    %{name}-profile_common = %{version}-%{release}
 
 Requires: toybox-symlinks-dhcpd
 Requires: toybox-symlinks-dhcp
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
 
 %description
 Manager for handling wifi-direct functionalities
@@ -48,12 +46,8 @@ Manager for handling wifi-direct functionalities
 # if common || ivi || "undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "mobile"
 %package profile_common
-Summary:       Wi-Fi Direct manger for common/ivi
-Provides:      %{name}-compat = %{version}-%{release}
-Provides:      %{name}-profile_ivi = %{version}-%{release}
-Conflicts:     %{name}-profile_mobile
-Conflicts:     %{name}-profile_wearable
-Conflicts:     %{name}-profile_tv
+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
@@ -62,24 +56,26 @@ Manager for handling wifi-direct functionalities for common/ivi
 # if mobile || "undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
 %package profile_mobile
-Summary:       Wi-Fi Direct manger for mobile
-Provides:      %{name}-compat = %{version}-%{release}
-Conflicts:     %{name}-profile_common
-Conflicts:     %{name}-profile_wearable
-Conflicts:     %{name}-profile_tv
+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 manger for wearable
-Provides:      %{name}-compat = %{version}-%{release}
-Conflicts:     %{name}-profile_common
-Conflicts:     %{name}-profile_mobile
-Conflicts:     %{name}-profile_tv
+Summary:       Wi-Fi Direct manager for wearable
+Requires:      %{name} = %{version}-%{release}
 %description profile_wearable
 Manager for handling wifi-direct functionalities for wearable
 %endif
@@ -88,11 +84,8 @@ Manager for handling wifi-direct functionalities for wearable
 # if tv || "undefined"
 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
 %package profile_tv
-Summary:       Wi-Fi Direct manger for tv
-Provides:      %{name}-compat = %{version}-%{release}
-Conflicts:     %{name}-profile_common
-Conflicts:     %{name}-profile_mobile
-Conflicts:     %{name}-profile_wearable
+Summary:       Wi-Fi Direct manager for tv
+Requires:      %{name} = %{version}-%{release}
 %description profile_tv
 Manager for handling wifi-direct functionalities for tv
 %endif
@@ -101,68 +94,9 @@ Manager for handling wifi-direct functionalities for tv
 Summary:    Wifi direct plugin for wpa supplicant
 Group:      Network & Connectivity/Wireless
 Requires:   %{name} = %{version}-%{release}
-Requires:      wifi-direct-plugin-wpasupplicant-compat = %{version}-%{release}
-Recommends:    wifi-direct-plugin-wpasupplicant-profile_common = %{version}-%{release}
 %description -n wifi-direct-plugin-wpasupplicant
 Wi-Fi direct manager plugin to abstract wpa_supplicant
 
-# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
-# if common || ivi || "undefined"
-%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "mobile"
-%package -n wifi-direct-plugin-wpasupplicant-profile_common
-Summary:    Wifi direct plugin for wpa supplicant for common/ivi
-Group:      Network & Connectivity/Wireless
-Provides:      wifi-direct-plugin-wpasupplicant-compat = %{version}-%{release}
-Provides:      wifi-direct-plugin-wpasupplicant-profile_ivi = %{version}-%{release}
-Conflicts:     wifi-direct-plugin-wpasupplicant-profile_wearable
-Conflicts:     wifi-direct-plugin-wpasupplicant-profile_mobile
-Conflicts:     wifi-direct-plugin-wpasupplicant-profile_tv
-%description -n wifi-direct-plugin-wpasupplicant-profile_common
-Wi-Fi direct manager plugin to abstract wpa_supplicant 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 -n wifi-direct-plugin-wpasupplicant-profile_mobile
-Summary:    Wifi direct plugin for wpa supplicant for mobile
-Group:      Network & Connectivity/Wireless
-Provides:      wifi-direct-plugin-wpasupplicant-compat = %{version}-%{release}
-Conflicts:     wifi-direct-plugin-wpasupplicant-profile_wearable
-Conflicts:     wifi-direct-plugin-wpasupplicant-profile_common
-Conflicts:     wifi-direct-plugin-wpasupplicant-profile_tv
-%description -n wifi-direct-plugin-wpasupplicant-profile_mobile
-Wi-Fi direct manager plugin to abstract wpa_supplicant for mobile
-%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 -n wifi-direct-plugin-wpasupplicant-profile_wearable
-Summary:    Wifi direct plugin for wpa supplicant for wearable
-Group:      Network & Connectivity/Wireless
-Provides:      wifi-direct-plugin-wpasupplicant-compat = %{version}-%{release}
-Conflicts:     wifi-direct-plugin-wpasupplicant-profile_mobile
-Conflicts:     wifi-direct-plugin-wpasupplicant-profile_common
-Conflicts:     wifi-direct-plugin-wpasupplicant-profile_tv
-%description -n wifi-direct-plugin-wpasupplicant-profile_wearable
-Wi-Fi direct manager plugin to abstract wpa_supplicant 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 -n wifi-direct-plugin-wpasupplicant-profile_tv
-Summary:    Wifi direct plugin for wpa supplicant for tv
-Group:      Network & Connectivity/Wireless
-Provides:      wifi-direct-plugin-wpasupplicant-compat = %{version}-%{release}
-Conflicts:     wifi-direct-plugin-wpasupplicant-profile_mobile
-Conflicts:     wifi-direct-plugin-wpasupplicant}-profile_wearable
-Conflicts:     wifi-direct-plugin-wpasupplicant-profile_common
-%description -n wifi-direct-plugin-wpasupplicant-profile_tv
-Wi-Fi direct manager plugin to abstract wpa_supplicant for tv
-%endif
-
 #%package -n wifi-direct-prd-plugin-wpasupplicant
 #Summary:    Wifi direct prd plugin for wpa supplicant
 #Group:      Network & Connectivity/Wireless
@@ -176,17 +110,21 @@ chmod 644 %{SOURCE0}
 chmod 644 %{SOURCE1}
 chmod 644 %{SOURCE2}
 chmod 644 %{SOURCE3}
-chmod 755 %{SOURCE4}
 cp -a %{SOURCE1} ./wfd-manager.conf
 cp -a %{SOURCE2} .
 cp -a %{SOURCE3} .
-cp -a %{SOURCE4} .
 
 %build
 
 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
@@ -200,99 +138,11 @@ export ARCH=i586
 
 %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"
-mkdir -p build_mobile
-pushd build_mobile
-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
-%if ! 0%{?model_build_feature_network_tethering_disable}
-       -DTIZEN_TETHERING_ENABLE=0 \
-%endif
-%if "%{?tizen_target_name}" == "TM1"
-       -DTIZEN_WLAN_BOARD_SPRD=1 \
-%endif
-       -DTIZEN_FEATURE_WIFI_DIRECT_ON_DEMAND=1 \
-       -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 \
-%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}
-
-make %{?_smp_mflags}
-popd
-%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"
-mkdir -p build_wearable
-pushd build_wearable
-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
-%if ! 0%{?model_build_feature_network_tethering_disable}
-       -DTIZEN_TETHERING_ENABLE=0 \
-%endif
-       -DTIZEN_FEATURE_SERVICE_DISCOVERY=0 \
-       -DTIZEN_FEATURE_WIFI_DISPLAY=0 \
-%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}
-
-make %{?_smp_mflags}
-popd
-%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"
-mkdir -p build_tv
-pushd build_tv
-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
-       -DTIZEN_FEATURE_WIFI_DIRECT_ON_DEMAND=1 \
-       -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 \
 %if "%{?_lib}" == "lib64"
        -DTIZEN_ARCH_64=1 \
 %endif
@@ -302,101 +152,55 @@ cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} -DARCHITECTURE=$ARCH \
        -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}
+       -DTZ_SYS_RUN=%{TZ_SYS_RUN} \
+       -DBUILD_GTESTS=%{?gtests:1}%{!?gtests:0} \
+       -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0}
 
 make %{?_smp_mflags}
-popd
-%endif
-
-# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
-# if common || ivi || "undefined"
-%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "mobile"
-# common
-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
-%if ! 0%{?model_build_feature_network_tethering_disable}
-       -DTIZEN_TETHERING_ENABLE=0 \
-%endif
-       -DTIZEN_FEATURE_WIFI_DIRECT_ON_DEMAND=1 \
-       -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 \
-%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}
-
-make %{?_smp_mflags}
-%endif
-
 
 %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"
-pushd build_mobile
-%make_install
-mv %{buildroot}%{_bindir}/wfd-manager %{buildroot}%{_bindir}/wfd-manager.mobile
-mv %{buildroot}%{_libdir}/wifi-direct-plugin-wpasupplicant.so %{buildroot}%{_libdir}/wifi-direct-plugin-wpasupplicant.so.mobile
-popd
+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"
-pushd build_wearable
-%make_install
-mv %{buildroot}%{_bindir}/wfd-manager %{buildroot}%{_bindir}/wfd-manager.wearable
-mv %{buildroot}%{_libdir}/wifi-direct-plugin-wpasupplicant.so %{buildroot}%{_libdir}/wifi-direct-plugin-wpasupplicant.so.wearable
-popd
+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"
-pushd build_tv
-%make_install
-mv %{buildroot}%{_bindir}/wfd-manager %{buildroot}%{_bindir}/wfd-manager.tv
-mv %{buildroot}%{_libdir}/wifi-direct-plugin-wpasupplicant.so %{buildroot}%{_libdir}/wifi-direct-plugin-wpasupplicant.so.tv
-popd
+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"
-%make_install
+cp files/wifi-direct-manager.conf.common %{buildroot}/etc/wifi-direct/wifi-direct-manager.conf.common
 %endif
 
+%make_install
+
 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d
 cp wfd-manager.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/wfd-manager.conf
 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
-mkdir -p %{buildroot}%{upgrade_script_path}
-cp -f 500.wifi-direct-manager_upgrade.sh %{buildroot}%{upgrade_script_path}
 
 %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
@@ -410,148 +214,101 @@ 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
-pushd %{_bindir}
-ln -sf wfd-manager.mobile wfd-manager
-popd
-%preun profile_mobile
-rm %{_bindir}/wfd-manager
-
-%post -n wifi-direct-plugin-wpasupplicant-profile_mobile
-pushd %{_libdir}
-ln -sf wifi-direct-plugin-wpasupplicant.so.mobile wifi-direct-plugin-wpasupplicant.so
-popd
-/sbin/ldconfig
-
-%preun -n wifi-direct-plugin-wpasupplicant-profile_mobile
-rm %{_libdir}/wifi-direct-plugin-wpasupplicant.so
-/sbin/ldconfig
+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
-pushd %{_bindir}
-ln -sf wfd-manager.wearable wfd-manager
-popd
-%preun profile_wearable
-rm %{_bindir}/wfd-manager
-
-%post -n wifi-direct-plugin-wpasupplicant-profile_wearable
-pushd %{_libdir}
-ln -sf wifi-direct-plugin-wpasupplicant.so.wearable wifi-direct-plugin-wpasupplicant.so
-popd
-/sbin/ldconfig
-
-%preun -n wifi-direct-plugin-wpasupplicant-profile_wearable
-rm %{_libdir}/wifi-direct-plugin-wpasupplicant.so
-/sbin/ldconfig
+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
-pushd %{_bindir}
-ln -sf wfd-manager.tv wfd-manager
-popd
-%preun profile_tv
-rm %{_bindir}/wfd-manager
-
-%post -n wifi-direct-plugin-wpasupplicant-profile_tv
-pushd %{_libdir}
-ln -sf wifi-direct-plugin-wpasupplicant.so.tv wifi-direct-plugin-wpasupplicant.so
-popd
-/sbin/ldconfig
-
-%preun -n wifi-direct-plugin-wpasupplicant-profile_tv
-rm %{_libdir}/wifi-direct-plugin-wpasupplicant.so
-/sbin/ldconfig
+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,-)
+%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/p2p_supp.conf
+%config %{TZ_SYS_RO_ETC}/wifi-direct/wifi-direct-manager.conf
 %config %{_sysconfdir}/dbus-1/system.d/wfd-manager.conf
-%attr(644,-,-) %{TZ_SYS_ETC}/p2p_supp.conf
 %attr(755,-,-) %{_bindir}/dhcpd-notify.sh
 %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"
-%{_unitdir}/wifi-direct-manager.service
-%endif
+%attr(644,root,root) %{_unitdir}/wifi-direct-manager.service
 %attr(755,-,-) %{_sbindir}/p2p_supp.sh
-%{upgrade_script_path}/500.wifi-direct-manager_upgrade.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(-,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
-%defattr(-,root,root,-)
-%{_bindir}/wfd-manager
-
-%files -n wifi-direct-plugin-wpasupplicant-profile_common
-%manifest wifi-direct-plugin-wpasupplicant.manifest
-%defattr(-,root,root,-)
-%{_libdir}/wifi-direct-plugin-wpasupplicant.so
+%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
-%defattr(-,root,root,-)
-%{_bindir}/wfd-manager.mobile
-
-%files -n wifi-direct-plugin-wpasupplicant-profile_mobile
-%manifest wifi-direct-plugin-wpasupplicant.manifest
-%defattr(-,root,root,-)
-%{_libdir}/wifi-direct-plugin-wpasupplicant.so.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
-%defattr(-,root,root,-)
-%{_bindir}/wfd-manager.wearable
-
-%files -n wifi-direct-plugin-wpasupplicant-profile_wearable
-%manifest wifi-direct-plugin-wpasupplicant.manifest
-%defattr(-,root,root,-)
-%{_libdir}/wifi-direct-plugin-wpasupplicant.so.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
-%defattr(-,root,root,-)
-%{_bindir}/wfd-manager.tv
-
-%files -n wifi-direct-plugin-wpasupplicant-profile_tv
-%manifest wifi-direct-plugin-wpasupplicant.manifest
-%defattr(-,root,root,-)
-%{_libdir}/wifi-direct-plugin-wpasupplicant.so.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