X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=packaging%2Fbluetooth-agent.spec;h=3b5b4134423bc0258c24932584a4d429ec71f474;hb=4ef25ddcc24cea979bb2332121045024c324ef7c;hp=2f5efc4f296a8e68268d601d34a273a25cd6f4a0;hpb=48a191563e13d34965f8991a313f6d6da903997f;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-agent.git diff --git a/packaging/bluetooth-agent.spec b/packaging/bluetooth-agent.spec index 2f5efc4..3b5b413 100644 --- a/packaging/bluetooth-agent.spec +++ b/packaging/bluetooth-agent.spec @@ -2,38 +2,109 @@ Name: bluetooth-agent Summary: Bluetooth agent packages that support various external profiles -Version: 0.1.0 +Version: 0.7.5 Release: 1 Group: Network & Connectivity/Bluetooth License: Apache-2.0 Source0: %{name}-%{version}.tar.gz Source1001: bluetooth-agent.manifest -Requires(post): sys-assert BuildRequires: pkgconfig(aul) BuildRequires: pkgconfig(bluetooth-api) -%if "%{?profile}" == "wearable" +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 +# such if/endif statement to skip building profiles not interested + +# This usage of profile macro does NOT conflict 4.0 configurability. +%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" +# Original: wearable, ivi. Added: common, "undefined" BuildRequires: pkgconfig(alarm-service) BuildRequires: pkgconfig(capi-appfw-app-manager) BuildRequires: pkgconfig(capi-system-device) -%else +%endif +# This usage of profile macro does NOT conflict 4.0 configurability. +%if "%{?profile}" != "wearable" && "%{?profile}" != "ivi" +# Original: common, mobile, tv. Added: "undefined" BuildRequires: pkgconfig(contacts-service2) BuildRequires: pkgconfig(msg-service) +BuildRequires: pkgconfig(email-service) %endif BuildRequires: pkgconfig(capi-system-info) -BuildRequires: pkgconfig(dbus-glib-1) +BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(tapi) BuildRequires: pkgconfig(dlog) BuildRequires: pkgconfig(vconf) BuildRequires: pkgconfig(appsvc) BuildRequires: pkgconfig(capi-appfw-application) +BuildRequires: pkgconfig(capi-network-connection) +BuildRequires: pkgconfig(capi-network-bluetooth) BuildRequires: pkgconfig(capi-media-image-util) +BuildRequires: pkgconfig(contacts-service2) BuildRequires: pkgconfig(libexif) +BuildRequires: pkgconfig(gio-2.0) BuildRequires: cmake +Requires: security-config +%if 0%{?gcov:1} +BuildRequires: gtest-devel +BuildRequires: lcov +%endif + +#Requires: %{name}-compat = %{version}-%{release} +#Recommends: %{name}-profile_common = %{version}-%{release} %description Bluetooth agent packages that support various external profiles +%package hfp_ag +Summary: Bluetooth agent for HFP(Hands-Free Profile)'s AG(Audio Gate) role +Requires: %{name} = %{version}-%{release} +Group: Network & Connectivity/Bluetooth +%description hfp_ag +Bluetooth agent binary compiled for HFP(Hands-Free Profile)'s AG(Audio Gate) role + +%package hfp_hf +Summary: Bluetooth agent for HFP(Hands-Free Profile)'s HF(Hands-Free) role +Requires: %{name} = %{version}-%{release} +Group: Network & Connectivity/Bluetooth +%description hfp_hf +Bluetooth agent binary compiled for HFP(Hands-Free Profile)'s HF(Hands-Free) role + +%package map +Summary: Bluetooth agent for MAP(Message Access Profile) server +Requires: %{name} = %{version}-%{release} +Group: Network & Connectivity/Bluetooth +%description map +Bluetooth agent binary compiled for MAP(Message Access Profile) server + +%package pbap +Summary: Bluetooth agent for PBAP(PhoneBook Access Profile) server +Requires: %{name} = %{version}-%{release} +Group: Network & Connectivity/Bluetooth +%description pbap +Bluetooth agent binary compiled for PBAP(PhoneBook Access Profile) server + +%package hid +Summary: Bluetooth agent for HID(Human Interface Device)'s device role +Requires: %{name} = %{version}-%{release} +Group: Network & Connectivity/Bluetooth +%description hid +Bluetooth agent binary compiled for HID(Human Interface Device)'s device role + +%package ipsp +Summary: Bluetooth agent for IPSP(Internet Protocol Support Profile) +Requires: %{name} = %{version}-%{release} +Group: Network & Connectivity/Bluetooth +%description ipsp +Bluetooth agent binary compiled for IPSP(Internet Protocol Support Profile) + +%package tool +Summary: Test Application for HF + +%description tool +Test Application for HF + %prep %setup -q cp %{SOURCE1001} . @@ -42,58 +113,139 @@ cp %{SOURCE1001} . export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE" export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE" export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE" -export CFLAGS="$CFLAGS -DTIZEN_MEDIA_ENHANCE" -export CFLAGS="$CFLAGS -DTIZEN_BT_HFP_AG_ENABLE" - -%if "%{?profile}" == "wearable" -export CFLAGS="$CFLAGS -DTIZEN_WEARABLE" -export CFLAGS="$CFLAGS -DTIZEN_SUPPORT_LUNAR_DEVICE" -%else -export CFLAGS="$CFLAGS -DTIZEN_KIRAN" +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 x86_64 riscv64 +echo arch64 +export CFLAGS+=" -DARCH64" +export CXXFLAGS+=" -DARCH64" +export FFLAGS+=" -DARCH64" %endif -export CFLAGS+=" -fpie -DPBAP_SIM_ENABLE" +export CFLAGS+=" -fpie -DTIZEN_FEATURE_BP_PBAP_SIM -fvisibility=hidden " +export CXXFLAGS+=" -fpie -DTIZEN_FEATURE_BP_PBAP_SIM -fvisibility=hidden " -export CFLAGS+=" -fpie -fvisibility=hidden" export LDFLAGS+=" -Wl,--rpath=/usr/lib -Wl,--as-needed -Wl,--unresolved-symbols=ignore-in-shared-libs -pie" -cmake . -DCMAKE_INSTALL_PREFIX=/usr \ -%if "%{?profile}" == "wearable" - -DTIZEN_WEARABLE=1 \ -%else - -DTIZEN_WEARABLE=0 \ +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 - -DTIZEN_BT_HFP_AG_ENABLE=1 + +# Build All (wearalbe/ivi/common/tv/mobile) +%cmake . -DCMAKE_INSTALL_PREFIX=/usr \ + -DTIZEN_FEATURE_BT_HFP_AG=1 \ + -DBUILD_GTESTS=%{?gcov:1}%{!?gcov:0} \ + -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0} 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 LICENSE %{buildroot}%{_datadir}/license/bluetooth-agent -mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants -%if "%{?profile}" != "wearable" -install -m 0644 packaging/bluetooth-ag-agent.service %{buildroot}%{_unitdir}/ -ln -s ../bluetooth-ag-agent.service %{buildroot}%{_unitdir}/multi-user.target.wants/bluetooth-ag-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" +#mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services +#mkdir -p %{buildroot}%{_bindir}/ +#install -D -m 0644 %{buildroot}/usr/share/dbus-1/system-services/org.bluez.hf_agent.service %{buildroot}%{_datadir}/dbus-1/system-services/ +#install -D -m 0644 %{buildroot}/usr/share/dbus-1/system-services/org.bluez.ipsp_agent.service %{buildroot}%{_datadir}/dbus-1/system-services/ +#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-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 + +%check +%if 0%{?gcov:1} +pushd unittest +./run_coverage.sh +popd %endif %files %manifest %{name}.manifest +%license LICENSE %defattr(-, root, root) -%if "%{?profile}" == "wearable" +%exclude %{_bindir}/gtest-bluetooth-agent +%exclude %{_libdir}/lib* +%exclude %{_datadir}/gcov/obj/* + +%files hfp_ag +%manifest %{name}.manifest +%license LICENSE +%{_bindir}/bluetooth-ag-agent +%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 +%{_unitdir}/bluetooth-ag-agent.service +#%exclude %{_unitdir}/bluetooth-map-agent.service +#%exclude %{_unitdir}/bluetooth-pbap-agent.service + +%files hfp_hf +%manifest %{name}.manifest +%license LICENSE %{_bindir}/bluetooth-hf-agent %{_datadir}/dbus-1/system-services/org.bluez.hf_agent.service -%else -%{_bindir}/bluetooth-ag-agent +%{_sysconfdir}/dbus-1/system.d/bluetooth-hf-agent.conf +%{_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 +%{_unitdir}/bluetooth-map-agent.service +%{_sysconfdir}/dbus-1/system.d/bluetooth_map_agent.conf + +%files pbap +%manifest %{name}.manifest +%license LICENSE %{_bindir}/bluetooth-pb-agent %{_datadir}/dbus-1/system-services/org.bluez.pb_agent.service -%{_datadir}/dbus-1/system-services/org.bluez.map_agent.service -%{_datadir}/dbus-1/system-services/org.bluez.ag_agent.service -%{_usrlibdir}/systemd/system/bluetooth-ag-agent.service -%{_usrlibdir}/systemd/system/multi-user.target.wants/bluetooth-ag-agent.service -%attr(0666,-,-) /opt/var/lib/bluetooth/voice-recognition-blacklist -%endif -%{_datadir}/license/bluetooth-agent -%{_sysconfdir}/dbus-1/system.d/bluetooth-ag-agent.conf +%{_unitdir}/bluetooth-pbap-agent.service +%{_sysconfdir}/dbus-1/system.d/bluetooth_pb_agent.conf + +%files hid +%manifest %{name}.manifest +%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 +%manifest %{name}.manifest +%license LICENSE +%{_bindir}/bluetooth-ipsp-agent +%{_datadir}/dbus-1/system-services/org.bluez.ipsp_agent.service +%{_sysconfdir}/dbus-1/system.d/bluetooth-ipsp-agent.conf + +%files tool +%{_bindir}/hf-test