Increase the version to 7.5
[platform/core/connectivity/bluetooth-agent.git] / packaging / bluetooth-agent.spec
index 81ec62f..3b5b413 100644 (file)
@@ -2,7 +2,7 @@
 
 Name:       bluetooth-agent
 Summary:    Bluetooth agent packages that support various external profiles
-Version:    0.1.3
+Version:    0.7.5
 Release:    1
 Group:      Network & Connectivity/Bluetooth
 License:    Apache-2.0
@@ -11,6 +11,7 @@ Source1001:   bluetooth-agent.manifest
 
 BuildRequires:  pkgconfig(aul)
 BuildRequires:  pkgconfig(bluetooth-api)
+BuildRequires:  pkgconfig(capi-media-audio-io)
 
 # The profile macro usage with the following comments may be removed after
 # Tizen OBS build projects are merged. However, each vendor may keep using
@@ -46,7 +47,8 @@ BuildRequires:  pkgconfig(gio-2.0)
 BuildRequires:  cmake
 Requires: security-config
 %if 0%{?gcov:1}
-BuildRequires:  pkgconfig(gmock)
+BuildRequires:  gtest-devel
+BuildRequires:  lcov
 %endif
 
 #Requires:     %{name}-compat = %{version}-%{release}
@@ -97,15 +99,11 @@ Group:      Network & Connectivity/Bluetooth
 %description ipsp
 Bluetooth agent binary compiled for IPSP(Internet Protocol Support Profile)
 
-%if 0%{?gcov:1}
-%package test
-Summary: Test package for bluetooth-agent
-Group:   TO_BE/FILLED
-Requires: %{name} = %{version}-%{release}
+%package tool
+Summary:       Test Application for HF
 
-%description test
-This package is C-API test application.
-%endif
+%description tool
+Test Application for HF
 
 %prep
 %setup -q
@@ -115,24 +113,17 @@ cp %{SOURCE1001} .
 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
-#export CFLAGS="$CFLAGS -DTIZEN_FEATURE_BT_MEDIA_ENHANCE"
+export CFLAGS="$CFLAGS -DTIZEN_FEATURE_BT_MEDIA_ENHANCE"
 export CFLAGS="$CFLAGS -DTIZEN_FEATURE_BT_HFP_AG"
 export CFLAGS="$CFLAGS -DTIZEN_SUPPORT_DUAL_HF"
 
-%ifarch aarch64
+%ifarch aarch64 x86_64 riscv64
 echo arch64
 export CFLAGS+=" -DARCH64"
 export CXXFLAGS+=" -DARCH64"
 export FFLAGS+=" -DARCH64"
 %endif
 
-%ifarch x86_64
-echo x86_64
-export CFLAGS+=" -DARCH64"
-export CXXFLAGS+=" -DARCH64"
-export FFLAGS+=" -DARCH64"
-%endif
-
 export CFLAGS+=" -fpie -DTIZEN_FEATURE_BP_PBAP_SIM -fvisibility=hidden "
 export CXXFLAGS+=" -fpie -DTIZEN_FEATURE_BP_PBAP_SIM -fvisibility=hidden "
 
@@ -140,6 +131,13 @@ export LDFLAGS+=" -Wl,--rpath=/usr/lib -Wl,--as-needed -Wl,--unresolved-symbols=
 
 export CFLAGS_DEFAULT="$CFLAGS"
 
+%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
+
 # Build All (wearalbe/ivi/common/tv/mobile)
 %cmake . -DCMAKE_INSTALL_PREFIX=/usr \
        -DTIZEN_FEATURE_BT_HFP_AG=1 \
@@ -148,11 +146,17 @@ export CFLAGS_DEFAULT="$CFLAGS"
 
 make VERBOSE=1
 
+%if 0%{?gcov:1}
+mkdir -p gcov-obj
+find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
+%endif
+
 %install
 rm -rf %{buildroot}
 %make_install
 
-install -D -m 0644 packaging/bluetooth-map-agent.service %{buildroot}%{_libdir}/systemd/system/bluetooth-map-agent.service
+mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants/
+
 # This usage of profile macro does NOT conflict 4.0 configurability.
 #%if "%{?profile}" != "mobile" && "%{?profile}" != "tv"
 # Original: wearable, ivi. Added: common, "undefined"
@@ -163,18 +167,32 @@ install -D -m 0644 packaging/bluetooth-map-agent.service %{buildroot}%{_libdir}/
 #install -D -m 0644 %{buildroot}/usr/bin/bluetooth-hf-agent %{buildroot}%{_bindir}/
 #install -D -m 0644 %{buildroot}/usr/bin/bluetooth-ipsp-agent %{buildroot}%{_bindir}/
 #%endif
-install -D -m 0644 packaging/bluetooth-pbap-agent.service %{buildroot}%{_libdir}/systemd/system/bluetooth-pbap-agent.service
+install -D -m 0644 packaging/bluetooth-map-agent.service %{buildroot}%{_unitdir}/bluetooth-map-agent.service
+install -D -m 0644 packaging/bluetooth-pbap-agent.service %{buildroot}%{_unitdir}/bluetooth-pbap-agent.service
+install -D -m 0644 packaging/bluetooth-ag-agent.service %{buildroot}%{_unitdir}/bluetooth-ag-agent.service
+install -D -m 0644 packaging/bluetooth-hf-agent.service %{buildroot}%{_unitdir}/bluetooth-hf-agent.service
+install -D -m 0644 packaging/bluetooth-hid-agent.service %{buildroot}%{_unitdir}/bluetooth-hid-agent.service
+ln -s ../bluetooth-hf-agent.service %{buildroot}%{_unitdir}/multi-user.target.wants/bluetooth-hf-agent.service
+
+%if 0%{?gcov:1}
+mkdir -p %{buildroot}%{_datadir}/gcov/obj/%{name}
+install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj/%{name}/
+%endif
 
-%post
-%if 0%{?sec_product_feature_bt_map_server_enable}
-ln -sf %{_libdir}/systemd/user/bluetooth-map-agent.service %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
+%check
+%if 0%{?gcov:1}
+pushd unittest
+./run_coverage.sh
+popd
 %endif
-ln -sf %{_libdir}/systemd/system/bluetooth-pbap-agent.service %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
 
 %files
 %manifest %{name}.manifest
 %license LICENSE
 %defattr(-, root, root)
+%exclude %{_bindir}/gtest-bluetooth-agent
+%exclude %{_libdir}/lib*
+%exclude %{_datadir}/gcov/obj/*
 
 %files hfp_ag
 %manifest %{name}.manifest
@@ -183,8 +201,9 @@ ln -sf %{_libdir}/systemd/system/bluetooth-pbap-agent.service %{_sysconfdir}/sys
 %attr(0666,-,-) /var/lib/bluetooth/voice-recognition-blacklist
 %{_datadir}/dbus-1/system-services/org.bluez.ag_agent.service
 %{_sysconfdir}/dbus-1/system.d/bluetooth-ag-agent.conf
-#%exclude %{_libdir}/systemd/system/bluetooth-map-agent.service
-#%exclude %{_libdir}/systemd/system/bluetooth-pbap-agent.service
+%{_unitdir}/bluetooth-ag-agent.service
+#%exclude %{_unitdir}/bluetooth-map-agent.service
+#%exclude %{_unitdir}/bluetooth-pbap-agent.service
 
 %files hfp_hf
 %manifest %{name}.manifest
@@ -192,15 +211,17 @@ ln -sf %{_libdir}/systemd/system/bluetooth-pbap-agent.service %{_sysconfdir}/sys
 %{_bindir}/bluetooth-hf-agent
 %{_datadir}/dbus-1/system-services/org.bluez.hf_agent.service
 %{_sysconfdir}/dbus-1/system.d/bluetooth-hf-agent.conf
-#%exclude %{_libdir}/systemd/system/bluetooth-map-agent.service
-#%exclude %{_libdir}/systemd/system/bluetooth-pbap-agent.service
+%{_unitdir}/bluetooth-hf-agent.service
+%{_unitdir}/multi-user.target.wants/bluetooth-hf-agent.service
+#%exclude %{_unitdir}/bluetooth-map-agent.service
+#%exclude %{_unitdir}/bluetooth-pbap-agent.service
 
 %files map
 %manifest %{name}.manifest
 %license LICENSE
 %{_bindir}/bluetooth-map-agent
 %{_datadir}/dbus-1/system-services/org.bluez.map_agent.service
-%{_libdir}/systemd/system/bluetooth-map-agent.service
+%{_unitdir}/bluetooth-map-agent.service
 %{_sysconfdir}/dbus-1/system.d/bluetooth_map_agent.conf
 
 %files pbap
@@ -208,7 +229,7 @@ ln -sf %{_libdir}/systemd/system/bluetooth-pbap-agent.service %{_sysconfdir}/sys
 %license LICENSE
 %{_bindir}/bluetooth-pb-agent
 %{_datadir}/dbus-1/system-services/org.bluez.pb_agent.service
-%{_libdir}/systemd/system/bluetooth-pbap-agent.service
+%{_unitdir}/bluetooth-pbap-agent.service
 %{_sysconfdir}/dbus-1/system.d/bluetooth_pb_agent.conf
 
 %files hid
@@ -216,6 +237,7 @@ ln -sf %{_libdir}/systemd/system/bluetooth-pbap-agent.service %{_sysconfdir}/sys
 %license LICENSE
 %{_bindir}/bluetooth-hid-agent
 %{_datadir}/dbus-1/system-services/org.bluez.hid_agent.service
+%{_unitdir}/bluetooth-hid-agent.service
 %{_sysconfdir}/dbus-1/system.d/bluetooth-hid-agent.conf
 
 %files ipsp
@@ -225,9 +247,5 @@ ln -sf %{_libdir}/systemd/system/bluetooth-pbap-agent.service %{_sysconfdir}/sys
 %{_datadir}/dbus-1/system-services/org.bluez.ipsp_agent.service
 %{_sysconfdir}/dbus-1/system.d/bluetooth-ipsp-agent.conf
 
-%if 0%{?gcov:1}
-%files test
-%manifest %{name}.manifest
-%{_bindir}/gtest-bluetooth-agent
-%{_libdir}/lib*
-%endif
+%files tool
+%{_bindir}/hf-test