delete upgrade script because no need data migration
[platform/core/messaging/msg-service.git] / packaging / msg-service.spec
index e7ef5c1..f8947aa 100755 (executable)
@@ -1,5 +1,5 @@
 Name:           msg-service
-Version:        1.0.2
+Version:        1.0.9
 Release:        2
 License:        Apache-2.0
 Summary:        Messaging Framework Library
@@ -8,70 +8,67 @@ Source0:        %{name}-%{version}.tar.gz
 Source1:        msg-server.service
 Source2:        msg-server.socket
 
-%if "%{?profile}" == "tv"
-ExcludeArch: %{arm} %ix86 x86_64
-%endif
-
 Requires(post): /usr/bin/sqlite3
 Requires(post): /sbin/ldconfig
 Requires(postun): /sbin/ldconfig
 Requires(post): systemd
 Requires(postun): systemd
+Requires: acl
+Requires: security-config
+BuildRequires: boost-devel
 BuildRequires: cmake
-BuildRequires: libacl-devel
 BuildRequires: pkgconfig(alarm-service)
-BuildRequires: pkgconfig(appcore-agent)
 BuildRequires: pkgconfig(aul)
-BuildRequires: pkgconfig(badge)
 BuildRequires: pkgconfig(bundle)
-BuildRequires: pkgconfig(capi-appfw-application)
-BuildRequires: pkgconfig(capi-appfw-package-manager)
-BuildRequires: pkgconfig(capi-content-media-content)
 BuildRequires: pkgconfig(capi-media-image-util)
 BuildRequires: pkgconfig(capi-media-metadata-extractor)
-BuildRequires: pkgconfig(capi-media-player)
-BuildRequires: pkgconfig(capi-media-sound-manager)
 BuildRequires: pkgconfig(capi-media-thumbnail-util)
 BuildRequires: pkgconfig(capi-network-connection)
 BuildRequires: pkgconfig(capi-system-device)
 BuildRequires: pkgconfig(capi-system-info)
-BuildRequires: pkgconfig(capi-system-system-settings)
 BuildRequires: pkgconfig(capi-telephony)
-BuildRequires: pkgconfig(csr-framework)
+BuildRequires: pkgconfig(contacts-service2)
+BuildRequires: pkgconfig(csr)
 BuildRequires: pkgconfig(cynara-client)
 BuildRequires: pkgconfig(cynara-creds-commons)
 BuildRequires: pkgconfig(cynara-creds-socket)
 BuildRequires: pkgconfig(cynara-session)
 BuildRequires: pkgconfig(deviced)
 BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(dpm)
 BuildRequires: pkgconfig(eventsystem)
-BuildRequires: pkgconfig(feedback)
 BuildRequires: pkgconfig(gio-2.0)
-BuildRequires: pkgconfig(gobject-2.0)
 BuildRequires: pkgconfig(icu-uc)
-BuildRequires: pkgconfig(iniparser)
 BuildRequires: pkgconfig(json-glib-1.0)
 BuildRequires: pkgconfig(lbs-dbus)
 BuildRequires: pkgconfig(libcurl)
+BuildRequires: pkgconfig(libsmack)
 BuildRequires: pkgconfig(libsystemd-login)
 BuildRequires: pkgconfig(libtzplatform-config)
 BuildRequires: pkgconfig(libxml-2.0)
 BuildRequires: pkgconfig(libwbxml2)
 BuildRequires: pkgconfig(motion)
-BuildRequires: pkgconfig(notification)
-BuildRequires: pkgconfig(security-server)
+BuildRequires: pkgconfig(phonenumber-utils)
 BuildRequires: pkgconfig(sqlite3)
-BuildRequires: pkgconfig(storage)
 BuildRequires: pkgconfig(tapi)
 BuildRequires: pkgconfig(vconf)
-%if "%{?profile}" != "wearable"
-BuildRequires: pkgconfig(contacts-service2)
-%endif
+# Below BuildRequires-statements are only for msg-manager
+BuildRequires: gettext-tools
+BuildRequires: hash-signer
+BuildRequires: pkgconfig(badge)
+BuildRequires: pkgconfig(callmgr_client)
+BuildRequires: pkgconfig(capi-appfw-event)
+BuildRequires: pkgconfig(capi-appfw-package-manager)
+BuildRequires: pkgconfig(capi-appfw-service-application)
+BuildRequires: pkgconfig(capi-media-player)
+BuildRequires: pkgconfig(capi-media-sound-manager)
+BuildRequires: pkgconfig(capi-media-recorder)
+BuildRequires: pkgconfig(feedback)
+BuildRequires: pkgconfig(notification)
 
 %description
 Description: Messaging Framework Library
 
-
 %package devel
 License:        Apache-2.0
 Summary:        Messaging Framework Library (development)
@@ -81,20 +78,6 @@ Group:          Development/Libraries
 %description devel
 Description: Messaging Framework Library (development)
 
-
-%package tools
-License:        Apache-2.0
-Summary:        Messaging server application
-Requires:       %{name} = %{version}-%{release}
-Group:          TO_BU / FILL_IN
-Requires(post): /usr/bin/sqlite3
-Requires(post): /sbin/ldconfig
-Requires(postun): /sbin/ldconfig
-
-%description tools
-Description:  Messaging server application
-
-
 %package -n sms-plugin
 License:        Apache-2.0
 Summary:        SMS plugin library
@@ -121,16 +104,20 @@ Description: MMS plugin library
 License:        Apache-2.0
 Summary:        Message manager application
 Requires:       %{name} = %{version}-%{release}
-Group:          Applications
+Group:          Applications/Messaging
 
 %description -n msg-manager
 Description: Message manager application
 
-%if "%{?profile}" != "wearable"
 %define APP_PKGNAME    org.tizen.msg-manager
 %define APP_PREFIX     %{TZ_SYS_RO_APP}/%{APP_PKGNAME}
-%define APP_BINDIR     %{APP_PREFIX}/bin
-%define APP_MANIFESTDIR        %{TZ_SYS_RO_PACKAGES}
+%define APP_RESDIR     %{APP_PREFIX}/res
+%define APP_LOCALEDIR  %{APP_RESDIR}/locale
+
+%ifarch i586
+%define i586_option    "-D_TIZEN_I586_ENABLED:BOOL=ON"
+%else
+%define i586_option    "-D_TIZEN_I586_ENABLED:BOOL=OFF"
 %endif
 
 %prep
@@ -139,33 +126,30 @@ Description: Message manager application
 %build
 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
                -DLIB_INSTALL_DIR=%{_libdir} \
-%if "%{?profile}" != "wearable"
-               -DAPP_MANIFESTDIR=%{APP_MANIFESTDIR}   \
-               -DAPP_BINDIR=%{APP_BINDIR}   \
-%endif
+               -DAPP_MANIFESTDIR=%{TZ_SYS_RO_PACKAGES}   \
+               -DAPP_BINDIR=%{APP_PREFIX}/bin   \
+               -DAPP_LOCALEDIR=%{APP_RESDIR}/locale \
                -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
-               -DTZ_SYS_DATA=%TZ_SYS_DATA \
-               -DTZ_SYS_DB=%TZ_SYS_DB \
-%ifarch i586
--D_TIZEN_I586_ENABLED:BOOL=ON \
-%else
--D_TIZEN_I586_ENABLED:BOOL=OFF \
-%endif
-%if "%{?profile}" == "wearable"
--D_MSG_WEARABLE_PROFILE:BOOL=ON \
-%else
--D_MSG_WEARABLE_PROFILE:BOOL=OFF \
-%endif
+               -DTZ_SYS_GLOBALUSER_DATA=%TZ_SYS_GLOBALUSER_DATA \
+               -DTZ_SYS_GLOBALUSER_DB=%TZ_SYS_GLOBALUSER_DB \
+               -DTZ_SYS_HOME=%TZ_SYS_HOME \
+               -DTZ_SYS_BIN=%TZ_SYS_BIN \
+               %{i586_option}
 
 make %{?jobs:-j%jobs}
 
 %install
 rm -rf %{buildroot}
-mkdir -p %{buildroot}/usr/share/license
 mkdir -p %{buildroot}/etc/config
 
 %make_install
 
+%define tizen_sign 1
+%define tizen_sign_base %{APP_PREFIX}
+%define tizen_sign_level platform
+%define tizen_author_sign 1
+%define tizen_dist_sign 1
+
 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
 install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}/msg-server.service
 %install_service multi-user.target.wants msg-server.service
@@ -174,37 +158,13 @@ mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
 install -m 0644 %SOURCE2 %{buildroot}%{_unitdir}/msg-server.socket
 %install_service sockets.target.wants msg-server.socket
 
-mkdir -p %{buildroot}%{TZ_SYS_DB}
-sqlite3 %{buildroot}%{TZ_SYS_DB}/.msg_service.db "PRAGMA journal_mode = PERSIST;"
-sqlite3 %{buildroot}%{TZ_SYS_DB}/.msg_service.db < %{buildroot}/usr/share/msg-service/msg-service-db.sql
+mkdir -p %{buildroot}%{TZ_SYS_GLOBALUSER_DB}
+sqlite3 %{buildroot}%{TZ_SYS_GLOBALUSER_DB}/.msg_service.db "PRAGMA journal_mode = PERSIST;"
+sqlite3 %{buildroot}%{TZ_SYS_GLOBALUSER_DB}/.msg_service.db < %{buildroot}/usr/share/msg-service/msg-service-db.sql
 
 rm %{buildroot}/usr/share/msg-service/msg-service-db.sql
-
-%post tools
-/sbin/ldconfig
-
-chmod 640 %{TZ_SYS_DB}/.msg_service.db
-chmod 660 %{TZ_SYS_DB}/.msg_service.db-journal
-
-mkdir -p -m 775 %{TZ_SYS_DATA}/msg-service
-mkdir -p -m 770 %{TZ_SYS_DATA}/msg-service/msgdata
-mkdir -p -m 770 %{TZ_SYS_DATA}/msg-service/smildata
-mkdir -p -m 770 %{TZ_SYS_DATA}/msg-service/ipcdata
-mkdir -p -m 770 %{TZ_SYS_DATA}/msg-service/msgdata/thumbnails
-
-
-chgrp priv_message_read %{TZ_SYS_DB}/.msg_service.db
-chgrp priv_message_read %{TZ_SYS_DATA}/msg-service/msgdata
-chgrp priv_message_read %{TZ_SYS_DATA}/msg-service/smildata
-chgrp priv_message_write %{TZ_SYS_DATA}/msg-service/ipcdata
-chgrp priv_message_read %{TZ_SYS_DATA}/msg-service/msgdata/thumbnails
-
-
-chsmack -a "*" %{TZ_SYS_DB}/.msg_service.db
-chsmack -a "System::Shared" %{TZ_SYS_DATA}/msg-service/msgdata -t
-chsmack -a "System::Shared" %{TZ_SYS_DATA}/msg-service/smildata -t
-chsmack -a "System::Run" %{TZ_SYS_DATA}/msg-service/ipcdata -t
-chsmack -a "System::Shared" %{TZ_SYS_DATA}/msg-service/msgdata/thumbnails -t
+rm %{buildroot}%{TZ_SYS_GLOBALUSER_DB}/.msg_service.db-journal
+touch %{buildroot}%{TZ_SYS_GLOBALUSER_DB}/.msg_service.db-journal
 
 %post -n sms-plugin -p /sbin/ldconfig
 %post -n mms-plugin -p /sbin/ldconfig
@@ -212,15 +172,51 @@ chsmack -a "System::Shared" %{TZ_SYS_DATA}/msg-service/msgdata/thumbnails -t
 %post
 /sbin/ldconfig
 
+chmod 640 %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db
+chmod 640 %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db-journal
+
+mkdir -p -m 770 %{TZ_SYS_GLOBALUSER_DATA}/msg-service
+mkdir -p -m 750 %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata
+mkdir -p -m 750 %{TZ_SYS_GLOBALUSER_DATA}/msg-service/smildata
+mkdir -p -m 770 %{TZ_SYS_GLOBALUSER_DATA}/msg-service/ipcdata
+mkdir -p -m 750 %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata/thumbnails
+
+chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db
+chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db-journal
+chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DATA}/msg-service
+chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata
+chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DATA}/msg-service/smildata
+chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DATA}/msg-service/ipcdata
+chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata/thumbnails
+
+chmod g+s %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata
+chmod g+s %{TZ_SYS_GLOBALUSER_DATA}/msg-service/smildata
+chmod g+s %{TZ_SYS_GLOBALUSER_DATA}/msg-service/ipcdata
+chmod g+s %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata/thumbnails
+
+chsmack -a "*" %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db
+chsmack -a "*" %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db-journal
+chsmack -a "System::Shared" %{TZ_SYS_GLOBALUSER_DATA}/msg-service/
+chsmack -a "System::Shared" %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata -t
+chsmack -a "System::Shared" %{TZ_SYS_GLOBALUSER_DATA}/msg-service/smildata -t
+chsmack -a "System::Run" %{TZ_SYS_GLOBALUSER_DATA}/msg-service/ipcdata -t
+chsmack -a "System::Shared" %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata/thumbnails -t
+
+#Multi group to ipcdata directory
+chmod o= %{TZ_SYS_GLOBALUSER_DATA}/msg-service/ipcdata
+setfacl -m group:priv_message_write:rw %{TZ_SYS_GLOBALUSER_DATA}/msg-service/ipcdata
+
+
 %postun -p /sbin/ldconfig
 
-%postun tools -p /sbin/ldconfig
 %postun -n sms-plugin -p /sbin/ldconfig
 %postun -n mms-plugin -p /sbin/ldconfig
 
 %files
 %manifest msg-service.manifest
 %license LICENSE.APLv2
+%config(noreplace) %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db*
+%{_bindir}/msg-server
 %{_libdir}/libmsg_plugin_manager.so
 %{_libdir}/libmsg_mapi.so.*
 %{_libdir}/libmsg_framework_handler.so
@@ -229,6 +225,10 @@ chsmack -a "System::Shared" %{TZ_SYS_DATA}/msg-service/msgdata/thumbnails -t
 %{_libdir}/libmsg_externals.so
 %{_libdir}/libmsg_transaction_proxy.so
 %{_libdir}/libmsg_vobject.so
+%{_unitdir}/msg-server.service
+%{_unitdir}/multi-user.target.wants/msg-server.service
+%{_unitdir}/msg-server.socket
+%{_unitdir}/sockets.target.wants/msg-server.socket
 
 %files devel
 %license LICENSE.APLv2
@@ -236,17 +236,6 @@ chsmack -a "System::Shared" %{TZ_SYS_DATA}/msg-service/msgdata/thumbnails -t
 %{_libdir}/pkgconfig/msg-service.pc
 %{_includedir}/msg-service/*
 
-%files tools
-%manifest msg-service-tools.manifest
-%license LICENSE.APLv2
-%caps(cap_chown,cap_dac_override,cap_lease=eip) %{_bindir}/msg-server
-%config(noreplace) %{TZ_SYS_DB}/.msg_service.db*
-%{_unitdir}/msg-server.service
-%{_unitdir}/multi-user.target.wants/msg-server.service
-%{_unitdir}/msg-server.socket
-%{_unitdir}/sockets.target.wants/msg-server.socket
-/etc/config/*
-
 %files -n sms-plugin
 %manifest sms-plugin.manifest
 %license LICENSE.APLv2
@@ -257,12 +246,13 @@ chsmack -a "System::Shared" %{TZ_SYS_DATA}/msg-service/msgdata/thumbnails -t
 %license LICENSE.APLv2
 %{_libdir}/libmsg_mms_plugin.so
 
-%if "%{?profile}" != "wearable"
 %files -n msg-manager
 %manifest msg-manager.manifest
 %license LICENSE.APLv2
-%{APP_BINDIR}/msg-manager
-%{APP_MANIFESTDIR}/*.xml
-%endif
+%{APP_PREFIX}/bin/msg-manager
+%{TZ_SYS_RO_PACKAGES}/*.xml
+%{APP_PREFIX}/author-signature.xml
+%{APP_PREFIX}/signature1.xml
+%{APP_RESDIR}/*
 
 %changelog