Added temporary solution to change sticker directory
[platform/core/uifw/capi-ui-sticker.git] / packaging / capi-ui-sticker.spec
index b0b7a4f..f0b9a81 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-ui-sticker
 Summary:    Sticker client library and daemon
-Version:    0.1.1
+Version:    0.1.49
 Release:    1
 Group:      Graphics & UI Framework/Input
 License:    Apache-2.0
@@ -11,6 +11,7 @@ Source3:    capi-ui-sticker.conf
 BuildRequires:  cmake, coreutils
 BuildRequires:  pkgconfig(capi-appfw-app-common)
 BuildRequires:  pkgconfig(capi-appfw-package-manager)
+BuildRequires:  pkgconfig(capi-appfw-event)
 BuildRequires:  pkgconfig(capi-system-info)
 BuildRequires:  pkgconfig(cynara-client)
 BuildRequires:  pkgconfig(cynara-session)
@@ -23,6 +24,23 @@ BuildRequires:  pkgconfig(json-glib-1.0)
 BuildRequires:  pkgconfig(libtzplatform-config)
 BuildRequires:  pkgconfig(pkgmgr-info)
 BuildRequires:  pkgconfig(sqlite3)
+
+%if 0%{?sec_product_feature_profile_wearable}
+BuildRequires:  pkgconfig(capi-base-common)
+BuildRequires:  pkgconfig(capi-appfw-service-application)
+BuildRequires:  pkgconfig(capi-message-port)
+BuildRequires:  pkgconfig(capi-appfw-preference)
+BuildRequires:  pkgconfig(capi-system-device)
+BuildRequires:  pkgconfig(sap-client-stub-api)
+BuildRequires:  pkgconfig(vconf)
+BuildRequires:  pkgconfig(capi-media-thumbnail-util)
+BuildRequires:  pkgconfig(ecore)
+BuildRequires:  hash-signer
+
+Requires(post): signing-client
+Requires:       org.tizen.sticker-receiver
+%endif
+
 Requires:       security-config
 Requires(post): /sbin/ldconfig
 Requires(post): dbus
@@ -36,30 +54,71 @@ Summary:    Sticker client library and daemon (Development)
 Group:      Graphics & UI Framework/Input
 Requires:   %{name} = %{version}-%{release}
 
+%if 0%{?sec_product_feature_profile_wearable}
+%define _companion_app_name org.tizen.sticker-receiver
+
+%package -n %{_companion_app_name}
+Summary:    Sticker companion service
+Group:      Graphics & UI Framework/Input
+Requires:   %{name} = %{version}-%{release}
+%endif
+
+
 %description devel
 Sticker client library and daemon (Development)
 
+%if 0%{?sec_product_feature_profile_wearable}
+%description -n %{_companion_app_name}
+Sticker companion service
+%endif
+
+%if 0%{?gcov:1}
+%package gcov
+Summary:  Sticker client library and daemon (gcov)
+Group:      Graphics & UI Framework/Input
+%description gcov
+Sticker client library and daemon (gcov)
+%endif
+
 %prep
 %setup -q -n %{name}-%{version}
 cp %{SOURCE2} .
 
 %build
+%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
 
 export CFLAGS+=" -DTIZEN_DEBUG_ENABLE -fvisibility=hidden -Werror"
 export CXXFLAGS+=" -DTIZEN_DEBUG_ENABLE -fvisibility=hidden -Werror"
 export FFLAGS+=" -DTIZEN_DEBUG_ENABLE -fvisibility=hidden"
 
-cmake . -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=%{_libdir} -DBINDIR=%{_bindir} -DINCLUDEDIR=%{_includedir} \
-        -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -DTZ_SYS_BIN=%TZ_SYS_BIN -DTZ_SYS_SHARE=%TZ_SYS_SHARE
+%cmake . \
+%if 0%{?sec_product_feature_profile_wearable}
+        -DCOMPANION_MODE=true \
+%endif
+         -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=%{_libdir} -DBINDIR=%{_bindir} -DINCLUDEDIR=%{_includedir} \
+         -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -DTZ_SYS_BIN=%TZ_SYS_BIN -DTZ_USER_SHARE=%TZ_USER_SHARE \
+         -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
 make %{?jobs:-j%jobs}
 
+%if 0%{?gcov:1}
+mkdir -p gcov-obj
+find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
+%endif
+
 %install
 rm -rf %{buildroot}
 %make_install
 
-mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
+mkdir -p %{buildroot}/%{TZ_SYS_ETC}/dump.d/module.d
+cp -af dump/sticker_log_dump.sh %{buildroot}/%{TZ_SYS_ETC}/dump.d/module.d
+
+mkdir -p %{buildroot}%{_prefix}/lib/systemd/system
 install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}/capi-ui-sticker.service
-%install_service multi-user.target.wants capi-ui-sticker.service
 
 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
 install -m 0644 %SOURCE2 %{buildroot}%{_datadir}/dbus-1/system-services/org.tizen.sticker.server.service
@@ -67,29 +126,41 @@ install -m 0644 %SOURCE2 %{buildroot}%{_datadir}/dbus-1/system-services/org.tize
 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d
 install -m 0644 %SOURCE3 %{buildroot}%{_sysconfdir}/dbus-1/system.d/capi-ui-sticker.conf
 
+%if 0%{?gcov:1}
+mkdir -p %{buildroot}%{_datadir}/gcov/obj
+install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
+%endif
+
+%if 0%{?sec_product_feature_profile_wearable}
+%define tizen_sign 1
+%define tizen_sign_base %{TZ_SYS_RO_APP}/%{_companion_app_name}
+%define tizen_sign_level public
+%define tizen_author_sign 1
+%define tizen_dist_sign 1
+%endif
+
 %post
 /sbin/ldconfig
 
-mkdir -p -m 0775 %{TZ_SYS_SHARE}/sticker-data
-chown -R ui_fw:ui_fw %{TZ_SYS_SHARE}/sticker-data
-chsmack -t %{TZ_SYS_SHARE}/sticker-data
-chsmack -a "System::Shared" %{TZ_SYS_SHARE}/sticker-data
+mkdir -p -m 0775 /opt/usr/share/sticker-data
+chown -R ui_fw:ui_fw /opt/usr/share/sticker-data
+chsmack -t /opt/usr/share/sticker-data
+chsmack -a "User::App::Shared" /opt/usr/share/sticker-data
 
 %postun -p /sbin/ldconfig
 
 %files
 %manifest %{name}.manifest
 %license LICENSE
-%defattr(-,root,root,-)
 %{_libdir}/lib*.so
-%attr(0755,root,root) %{_bindir}/sticker-server
+%attr(0755,ui_fw,ui_fw) %{_bindir}/sticker-server
 %attr(0644,root,root) %{_unitdir}/capi-ui-sticker.service
-%attr(0644,root,root) %{_unitdir}/multi-user.target.wants/capi-ui-sticker.service
 %attr(0644,root,root) %{_datadir}/dbus-1/system-services/org.tizen.sticker.server.service
 %config %{_sysconfdir}/dbus-1/system.d/capi-ui-sticker.conf
 %{TZ_SYS_RO_SHARE}/parser-plugins/capi-ui-sticker.info
 %{TZ_SYS_RO_ETC}/package-manager/parserlib/category/libcapi-ui-sticker-parser.so*
 %{TZ_SYS_RO_ETC}/package-manager/parserlib/metadata/libcapi-ui-sticker-parser.so*
+%{TZ_SYS_ETC}/dump.d/module.d/*
 
 %files devel
 %manifest %{name}-devel.manifest
@@ -101,3 +172,19 @@ chsmack -a "System::Shared" %{TZ_SYS_SHARE}/sticker-data
 %{_includedir}/sticker_data.h
 %{_includedir}/sticker_consumer.h
 %{_includedir}/sticker_provider.h
+
+%if 0%{?sec_product_feature_profile_wearable}
+%post -n %{_companion_app_name}
+/usr/bin/signing-client/hash-signer-client.sh -a -d -p platform %{TZ_SYS_RO_APP}/%{_companion_app_name}
+
+%files -n %{_companion_app_name}
+%manifest receiver/%{_companion_app_name}.manifest
+%license LICENSE
+%{TZ_SYS_RO_PACKAGES}/%{_companion_app_name}.xml
+%{TZ_SYS_RO_APP}/%{_companion_app_name}/*
+%endif
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/obj/*
+%endif