Source0: %{name}-%{version}.tar.gz
Source1: %{name}d.service
Source2: org.tizen.CalendarService.dbus.service
-Source5: %{name}d.service.tv
+Source5: tv.conf
+Source6: %{name}d@.service
Source1001: %{name}.manifest
Source1002: %{name}.conf.in
Source2001: ALARM.a%{name}.service
%endif
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
+Requires(post): %{_sbindir}/update-alternatives
+Requires(preun): %{_sbindir}/update-alternatives
Provides: %{name}-compat = %{version}-%{release}
+Requires: %{name}-units
%description
Calendar Service for using Calendar DB
Summary: for TV
Provides: %{name}-compat = %{version}-%{release}
Conflicts: %{name}
+Requires: %{name}-units
%description profile_tv
for TV
-
%package -n lib%{name}
Summary: client library
%if "%{?profile}" != "tv"
%description -n lib%{name}
client library for calendar
+%package units
+Summary: systemd and dbus-daemon units for %{name}
-
-%define _dbus_interface org.tizen.CalendarService.dbus
+%description units
+.
%package devel
Summary: DB library for calendar
%endif
%build
+%define _dbus_interface org.tizen.CalendarService.dbus
+
CXXFLAGS="$CXXFLAGS -DU_USING_ICU_NAMESPACE=1"
MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
%cmake . -DMAJORVER=${MAJORVER} -DFULLVER=%{version} -DBIN_INSTALL_DIR:PATH=%{_bindir} \
rm -rf %{buildroot}
%make_install
-mkdir -p %{buildroot}%{_unitdir_user}/default.target.wants
+mkdir -p %{buildroot}%{_unitdir_user}/%{name}d.service.d
install -m 0644 %SOURCE1 %{buildroot}%{_unitdir_user}
-install -m 0644 %SOURCE5 %{buildroot}%{_unitdir_user}
+install -m 0644 %SOURCE5 %{buildroot}%{_unitdir_user}/%{name}d.service.d/
+
+mkdir -p %{buildroot}%{_unitdir}/user-default@.target.wants
+mkdir -p %{buildroot}%{_unitdir}/%{name}d@.service.d/
+install -m 0644 %SOURCE6 %{buildroot}%{_unitdir}
+install -m 0644 %SOURCE5 %{buildroot}%{_unitdir}/%{name}d@.service.d/
+ln -s ../calendar-serviced@.service %{buildroot}%{_unitdir}/user-default@.target.wants/calendar-serviced@.service
mkdir -p %{buildroot}%{_datadir}/dbus-1/services
install -m 0644 %SOURCE2 %{buildroot}%{_datadir}/dbus-1/services
mkdir -p %{buildroot}%{_datadir}/dbus-1/services
install -m 0644 %SOURCE2001 %{buildroot}%{_datadir}/dbus-1/services
-
%post -n lib%{name} -p /sbin/ldconfig
%postun -n lib%{name} -p /sbin/ldconfig
-%post profile_tv
-mv %{_unitdir_user}/calendar-serviced.service.tv %{_unitdir_user}/calendar-serviced.service
+%post
+%{_sbindir}/update-alternatives --install %{_bindir}/calendar-serviced %{name} %{_bindir}/calendar-serviced-common 100
+%pre
+%{_sbindir}/update-alternatives --remove %{name} %{_bindir}/calendar-serviced-common
-%preun profile_tv
-mv %{_unitdir_user}/calendar-serviced.service %{_unitdir_user}/calendar-serviced.service.tv
+%post profile_tv
+%{_sbindir}/update-alternatives --install %{_bindir}/calendar-serviced %{name} %{_bindir}/calendar-serviced-tv 200
+%pre profile_tv
+%{_sbindir}/update-alternatives --remove %{name} %{_bindir}/calendar-serviced-tv
+%files units
+%config %{_sysconfdir}/dbus-1/session.d/%{name}.conf
+%{_datadir}/dbus-1/services/%{_dbus_interface}.service
+%{_datadir}/dbus-1/services/ALARM.acalendar-service.service
+%{_unitdir_user}/%{name}d.service
+%{_unitdir}/%{name}d@.service
+%{_unitdir}/user-default@.target.wants/calendar-serviced@.service
%files
-%{_unitdir_user}/%{name}d.service
+%manifest %{name}.manifest
+%defattr(-,root,root,-)
# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
# TV profile does not have contacts-service2.
# if wearable, ivi, common, mobile ||"undefined"
%if "%{?profile}" != "tv"
-%manifest %{name}.manifest
-%defattr(-,root,root,-)
-%{_bindir}/calendar-serviced
-%{_datadir}/dbus-1/services/%{_dbus_interface}.service
-%config %{_sysconfdir}/dbus-1/session.d/%{name}.conf
-%{_datadir}/dbus-1/services/ALARM.acalendar-service.service
+%{_bindir}/calendar-serviced-common
%license LICENSE.APLv2
%endif
-
%files profile_tv
%manifest %{name}.manifest
%defattr(-,root,root,-)
%{_bindir}/calendar-serviced-tv
-%{_unitdir_user}/%{name}d.service.tv
-%{_datadir}/dbus-1/services/%{_dbus_interface}.service
-%config %{_sysconfdir}/dbus-1/session.d/%{name}.conf
-%{_datadir}/dbus-1/services/ALARM.acalendar-service.service
+%{_unitdir_user}/%{name}d.service.d/tv.conf
+%{_unitdir}/%{name}d@.service.d/tv.conf
%license LICENSE.APLv2
%files -n lib%{name}
ENDFOREACH(INCLUDE_DIR)
IF(${TIZEN_PROFILE_TV} EQUAL 0)
-ADD_EXECUTABLE(${DAEMON} ${DAEMON_SRCS})
-ADD_DEPENDENCIES(${DAEMON} GENERATED_DBUS_CODE)
-SET_TARGET_PROPERTIES(${DAEMON} PROPERTIES COMPILE_FLAGS ${CONTACTS_CFLAGS})
-TARGET_LINK_LIBRARIES(${DAEMON} ${daemon_pkgs_LIBRARIES} ${daemon_contacts_pkgs_LIBRARIES})
+ADD_EXECUTABLE(${DAEMON}-common ${DAEMON_SRCS})
+ADD_DEPENDENCIES(${DAEMON}-common GENERATED_DBUS_CODE)
+SET_TARGET_PROPERTIES(${DAEMON}-common PROPERTIES COMPILE_FLAGS ${CONTACTS_CFLAGS})
+TARGET_LINK_LIBRARIES(${DAEMON}-common ${daemon_pkgs_LIBRARIES} ${daemon_contacts_pkgs_LIBRARIES})
ENDIF()
TARGET_LINK_LIBRARIES(${DAEMON}-tv ${daemon_pkgs_LIBRARIES})
IF(${TIZEN_PROFILE_TV} EQUAL 0)
-INSTALL(TARGETS ${DAEMON} DESTINATION ${BIN_INSTALL_DIR})
+INSTALL(TARGETS ${DAEMON}-common DESTINATION ${BIN_INSTALL_DIR})
ENDIF()
INSTALL(TARGETS ${DAEMON}-tv DESTINATION ${BIN_INSTALL_DIR})