diff options
Diffstat (limited to 'packaging/alarm-manager.spec')
-rw-r--r-- | packaging/alarm-manager.spec | 114 |
1 files changed, 99 insertions, 15 deletions
diff --git a/packaging/alarm-manager.spec b/packaging/alarm-manager.spec index e2d7a9b..53229cb 100644 --- a/packaging/alarm-manager.spec +++ b/packaging/alarm-manager.spec @@ -10,9 +10,10 @@ Source2: alarm-session-agent.service Source3: alarm-session-agent.socket Source4: alarm-manager.conf Source5: 99-rtc.rules -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig - +Source6: alarm-session-agent@.service +Source7: alarm-session-agent@.socket +Source1001: alarm-server.manifest +Source1002: alarm-lib.manifest BuildRequires: cmake BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(dlog) @@ -37,6 +38,21 @@ BuildRequires: pkgconfig(cynara-client) BuildRequires: pkgconfig(cynara-session) BuildRequires: pkgconfig(cynara-creds-gdbus) +%if 0%{?gcov:1} +BuildRequires: lcov +BuildRequires: zip +%endif + +%define gtests 0 + +%if 0%{?gtests:1} +BuildRequires: pkgconfig(gmock) +%endif +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig + +%define logdir /var/log/appfw/alarmmgr_log + %description Alarm Server and devel libraries @@ -93,31 +109,66 @@ Requires: libalarm = %{version}-%{release} %description -n alarm-config-service-restricted A configuration file package for restricting service applications +################################################# +# unittests +################################################# +%package unittests +Summary: GTest for alarm manager library +Group: Development/Libraries +Requires: %{name} + +%description unittests +GTest for alarm-manager library + + +################################################# +# gcov +################################################# +%if 0%{?gcov:1} +%package gcov +Summary: Alarm library (gcov) +Group: Application Framework/Testing + +%description gcov +Alarm library gcov objects +%endif + %prep %setup -q +cp %{SOURCE1001} ./ +cp %{SOURCE1002} ./ %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 + MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'` -export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE" -export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE" -export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE" %define appfw_feature_alarm_manager_module_log 1 %if 0%{?appfw_feature_alarm_manager_module_log} _APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG=ON %endif %cmake . -DOBS=1 \ - -DFULLVER=%{version} \ - -DMAJORVER=${MAJORVER} \ + -DFULLVER=%{version} -DMAJORVER=${MAJORVER} \ + -DBIN_INSTALL_DIR:PATH=%{_bindir} \ -DTZ_SYS_ETC=%{TZ_SYS_ETC} \ -D_APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG:BOOL=${_APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG} \ - -DALARM_CONF_DIR=%{_datadir}/alarm-manager + -DALARM_CONF_DIR=%{_datadir}/alarm-manager \ + -DBUILD_GTESTS=%{?gtests:1}%{!?gtests:0} \ make %{?jobs:-j%jobs} +%if 0%{?gcov:1} +mkdir -p gcov-obj +find . -name '*.gcno' -exec cp '{}' gcov-obj ';' +%endif %install rm -rf %{buildroot} @@ -125,15 +176,34 @@ rm -rf %{buildroot} mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants mkdir -p %{buildroot}%{_unitdir_user}/sockets.target.wants +mkdir -p %{buildroot}%{_unitdir}/user-sockets@.target.wants install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}/alarm-server.service install -m 0644 %SOURCE2 %{buildroot}%{_unitdir_user}/alarm-session-agent.service install -m 0644 %SOURCE3 %{buildroot}%{_unitdir_user}/alarm-session-agent.socket +install -m 0644 %SOURCE6 %{buildroot}%{_unitdir}/alarm-session-agent@.service +install -m 0644 %SOURCE7 %{buildroot}%{_unitdir}/alarm-session-agent@.socket ln -s ../alarm-server.service %{buildroot}%{_unitdir}/multi-user.target.wants/alarm-server.service ln -sf ../alarm-session-agent.socket %{buildroot}%{_unitdir_user}/sockets.target.wants/alarm-session-agent.socket +ln -sf ../alarm-session-agent@.socket %{buildroot}%{_unitdir}/user-sockets@.target.wants/alarm-session-agent@.socket mkdir -p %{buildroot}%{_tmpfilesdir} install -m 0644 %SOURCE4 %{buildroot}%{_tmpfilesdir}/alarm-manager.conf mkdir -p %{buildroot}%{_libdir}/udev/rules.d install -m 0644 %SOURCE5 %{buildroot}%{_libdir}/udev/rules.d +mkdir -p %{buildroot}%{logdir} + +%if 0%{?gcov:1} +mkdir -p %{buildroot}%{_datadir}/gcov/obj +install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj +%endif + +%check +(cd unittest && LD_LIBRARY_PATH=../lib ctest -V) +%if 0%{?gcov:1} +lcov -c --ignore-errors graph --no-external -q -d . -o alarm-manager.info +genhtml alarm-manager.info -o alarm-manager.out +zip -r alarm-manager.zip alarm-manager.out +install -m 0644 alarm-manager.zip %{buildroot}%{_datadir}/gcov/ +%endif %post -p /sbin/ldconfig @@ -157,27 +227,28 @@ fi %files -n alarm-server %manifest alarm-server.manifest -%{_bindir}/* -%attr(0755,root,root) %{_bindir}/alarm-server -%attr(0755,root,root) %{_bindir}/alarm_session_agent +%{_bindir}/alarm* %attr(0644,root,root) %{_unitdir}/alarm-server.service %{_unitdir}/multi-user.target.wants/alarm-server.service %{_unitdir_user}/alarm-session-agent.service %{_unitdir_user}/alarm-session-agent.socket +%{_unitdir}/alarm-session-agent@.service +%{_unitdir}/alarm-session-agent@.socket %{_unitdir_user}/sockets.target.wants/alarm-session-agent.socket +%{_unitdir}/user-sockets@.target.wants/alarm-session-agent@.socket %attr(0644,root,root) %{_datadir}/dbus-1/system-services/org.tizen.alarm.manager.service -%license LICENSE %config %{_sysconfdir}/dbus-1/system.d/alarm-service.conf %{_tmpfilesdir}/alarm-manager.conf %{_libdir}/udev/rules.d/99-rtc.rules +%license LICENSE %if 0%{?appfw_feature_alarm_manager_module_log} %attr(0755,root,root) %{TZ_SYS_ETC}/dump.d/module.d/alarmmgr_log_dump.sh +%attr(0755,app_fw,app_fw) %{logdir} %endif %files -n libalarm %manifest alarm-lib.manifest -%attr(0644,root,root) %{_libdir}/libalarm.so.* -%{_libdir}/*.so.* +%{_libdir}/libalarm.so.* %license LICENSE %files -n libalarm-devel @@ -193,3 +264,16 @@ fi %files -n alarm-config-service-restricted %{_datadir}/alarm-manager/alarm-config-service-restricted + +#%if 0%{?gtests:1} +#%files unittests +#%{_bindir}/gtest* +#%endif + +################################################# +# gcov +################################################# +%if 0%{?gcov:1} +%files gcov +%{_datadir}/gcov/* +%endif |