Remove hardcoded path for multiuser support 39/16739/4 accepted/tizen_3.0.2014.q3_common accepted/tizen_3.0.m14.3_ivi tizen_3.0.2014.q3_common tizen_3.0.m14.2_ivi tizen_3.0.m14.3_ivi submit/tizen_common/20140521.163740 submit/tizen_common/20140522.130648 submit/tizen_common/20140522.135644 submit/tizen_ivi/20140618.000000 submit/tizen_ivi/20140618.000001 submit/tizen_ivi/20140619.000000 submit/tizen_ivi/20140622.000000 submit/tizen_ivi/20140623.000000 submit/tizen_ivi/20140624.064036 submit/tizen_ivi/20140626.125712 submit/tizen_ivi/20140626.130032 submit/tizen_ivi/20140626.144348 submit/tizen_mobile/20141120.000000 tizen_3.0.2014.q3_common_release tizen_3.0.m14.2_ivi_release tizen_3.0.m14.3_ivi_release
authorSabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
Mon, 24 Feb 2014 10:54:44 +0000 (11:54 +0100)
committerSabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
Fri, 16 May 2014 15:52:27 +0000 (17:52 +0200)
Change-Id: Ia9f29d274a933909bb7757589c19ae5b5721184a
Bug-Tizen: PTREL-226
Signed-off-by: Sabera Djelti (sdi2) <sabera.djelti@open.eurogiciel.org>
12 files changed:
CMakeLists.txt
build-util/generator.sh
common/ctsvc_notify.h
common/ctsvc_struct.h
common/ctsvc_vcard.c
native/CMakeLists.txt
native/ctsvc_db_plugin_company_helper.h
native/ctsvc_db_plugin_group_helper.h
native/ctsvc_schema.h
packaging/contacts-service.spec
server/ctsvc_schema_recovery.h
server/ctsvc_server.c

index d5be967..0325e66 100755 (executable)
@@ -23,7 +23,7 @@ SET(PC_REQUIRED "capi-base-common")
 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -I${SRC_INCLUDE_DIR}")
 
 INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED glib-2.0 capi-base-common vconf dlog db-util icu-i18n security-server)
+pkg_check_modules(pkgs REQUIRED glib-2.0 capi-base-common vconf dlog db-util icu-i18n security-server libtzplatform-config)
 
 FOREACH(flag ${pkgs_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
@@ -37,26 +37,11 @@ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
 
 ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
 
-# Install notification files
-FILE(GLOB NOTI_FILES ${CMAKE_SOURCE_DIR}/res/.CONTACTS_SVC_*)
-INSTALL(FILES ${NOTI_FILES} DESTINATION /opt/usr/data/contacts-svc
-               PERMISSIONS OWNER_WRITE OWNER_READ GROUP_WRITE GROUP_READ)
-
-# Install directory for image
-INSTALL(DIRECTORY DESTINATION /opt/usr/data/contacts-svc/img/vcard)
-INSTALL(DIRECTORY DESTINATION /opt/usr/data/contacts-svc/img/my)
-INSTALL(DIRECTORY DESTINATION /opt/usr/data/contacts-svc/img/group)
-INSTALL(DIRECTORY DESTINATION /opt/usr/data/contacts-svc/img/logo)
-
 # Install header file
 FILE(GLOB HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/*.h)
 
 INSTALL(FILES ${HEADER_FILES} DESTINATION ${DEST_INCLUDE_DIR})
 
-# Install DB file
-FILE(GLOB DB_FILES ${CMAKE_CURRENT_SOURCE_DIR}/build-util/.contacts-svc.db*)
-INSTALL(FILES ${DB_FILES} DESTINATION /opt/usr/dbspace)
-
 ADD_SUBDIRECTORY(client)
 ADD_SUBDIRECTORY(server)
 
index 69ab788..322d431 100755 (executable)
@@ -30,13 +30,4 @@ echo "static const char *schema_query = \"\\" > ../server/schema.h
 ./DB-schema-gen ../schema.sql >> ../server/schema.h
 echo \"\; >> ../server/schema.h
 
-# Make DB file at builing time
-echo "sqlite3 .contacts-svc.db \"" > DB-schema-create.sh
-./DB-schema-gen2 ../schema.sql >> DB-schema-create.sh
-echo \" >> DB-schema-create.sh
-chmod +x DB-schema-create.sh
-./DB-schema-create.sh
-rm DB-schema-create.sh
-
-
 make clean
index 28594f7..7ea391b 100644 (file)
  * limitations under the License.\r
  *\r
  */\r
+#include <tzplatform_config.h>\r
 \r
 #ifndef __TIZEN_SOCIAL_CTSVC_NOTIFY_H__\r
 #define __TIZEN_SOCIAL_CTSVC_NOTIFY_H__\r
 \r
-#define CTSVC_NOTI_ADDRESSBOOK_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_AB_CHANGED"\r
-#define CTSVC_NOTI_GROUP_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_GROUP_CHANGED"\r
-#define CTSVC_NOTI_PERSON_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_PERSON_CHANGED"\r
-#define CTSVC_NOTI_CONTACT_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_DB_CHANGED"\r
-#define CTSVC_NOTI_MY_PROFILE_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_MY_PROFILE_CHANGED"\r
-#define CTSVC_NOTI_NAME_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_NAME_CHANGED"\r
-#define CTSVC_NOTI_NUMBER_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_NUMBER_CHANGED"\r
-#define CTSVC_NOTI_EMAIL_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_EMAIL_CHANGED"\r
-#define CTSVC_NOTI_EVENT_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_EVENT_CHANGED"\r
-#define CTSVC_NOTI_URL_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_URL_CHANGED"\r
-#define CTSVC_NOTI_GROUP_RELATION_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_GROUP_RELATION_CHANGED"\r
-#define CTSVC_NOTI_ADDRESS_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_ADDRESS_CHANGED"\r
-#define CTSVC_NOTI_NOTE_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_NOTE_CHANGED"\r
-#define CTSVC_NOTI_COMPANY_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_COMPANY_CHANGED"\r
-#define CTSVC_NOTI_RELATIONSHIP_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_RELATIONSHIP_CHANGED"\r
-#define CTSVC_NOTI_IMAGE_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_IMAGE_CHANGED"\r
-#define CTSVC_NOTI_NICKNAME_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_NICKNAME_CHANGED"\r
-#define CTSVC_NOTI_MESSENGER_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_MESSENGER_CHANGED"\r
-#define CTSVC_NOTI_DATA_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_DATA_CHANGED"\r
-#define CTSVC_NOTI_SDN_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_SDN_CHANGED"\r
-#define CTSVC_NOTI_PROFILE_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_PROFILE_CHANGED"\r
-#define CTSVC_NOTI_ACTIVITY_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_ACTIVITY_CHANGED"\r
-#define CTSVC_NOTI_PHONELOG_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_PLOG_CHANGED"\r
-#define CTSVC_NOTI_SPEEDDIAL_CHANGED  "/opt/usr/data/contacts-svc/.CONTACTS_SVC_SPEED_CHANGED"\r
+#define DATA_REPERTORY tzplatform_getenv(TZ_USER_DATA)\r
+#define CTSVC_NOTI_REPERTORY tzplatform_mkpath(TZ_USER_DATA,"contacts-svc")\r
+#define CTSVC_NOTI_IMG_REPERTORY tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/img/")\r
+#define CTSVC_VCARD_IMAGE_LOCATION tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/img/vcard")\r
+#define CTS_MY_IMAGE_LOCATION tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/img/my")\r
+#define CTS_GROUP_IMAGE_LOCATION tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/img/group")\r
+#define CTS_LOGO_IMAGE_LOCATION tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/img/logo")\r
+#define CTSVC_NOTI_ADDRESSBOOK_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_AB_CHANGED")\r
+#define CTSVC_NOTI_GROUP_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_GROUP_CHANGED")\r
+#define CTSVC_NOTI_PERSON_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_PERSON_CHANGED")\r
+#define CTSVC_NOTI_CONTACT_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_DB_CHANGED")\r
+#define CTSVC_NOTI_MY_PROFILE_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_MY_PROFILE_CHANGED")\r
+#define CTSVC_NOTI_NAME_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_NAME_CHANGED")\r
+#define CTSVC_NOTI_NUMBER_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_NUMBER_CHANGED")\r
+#define CTSVC_NOTI_EMAIL_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_EMAIL_CHANGED")\r
+#define CTSVC_NOTI_EVENT_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_EVENT_CHANGED")\r
+#define CTSVC_NOTI_URL_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_URL_CHANGED")\r
+#define CTSVC_NOTI_GROUP_RELATION_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_GROUP_RELATION_CHANGED")\r
+#define CTSVC_NOTI_ADDRESS_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_ADDRESS_CHANGED")\r
+#define CTSVC_NOTI_NOTE_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_NOTE_CHANGED")\r
+#define CTSVC_NOTI_COMPANY_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_COMPANY_CHANGED")\r
+#define CTSVC_NOTI_RELATIONSHIP_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_RELATIONSHIP_CHANGED")\r
+#define CTSVC_NOTI_IMAGE_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_IMAGE_CHANGED")\r
+#define CTSVC_NOTI_NICKNAME_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_NICKNAME_CHANGED")\r
+#define CTSVC_NOTI_MESSENGER_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_MESSENGER_CHANGED")\r
+#define CTSVC_NOTI_DATA_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_DATA_CHANGED")\r
+#define CTSVC_NOTI_SDN_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_SDN_CHANGED")\r
+#define CTSVC_NOTI_PROFILE_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_PROFILE_CHANGED")\r
+#define CTSVC_NOTI_ACTIVITY_CHANGED tzplatform_mkpath(TZ_USER_DATA, "contacts-svc/.CONTACTS_SVC_ACTIVITY_CHANGED")\r
+#define CTSVC_NOTI_PHONELOG_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_PLOG_CHANGED")\r
+#define CTSVC_NOTI_SPEEDDIAL_CHANGED tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/.CONTACTS_SVC_SPEED_CHANGED")\r
 \r
 #define CTSVC_SETTING_DISPLAY_ORDER_CHANGED "contacts.setting.display_order"\r
 #define CTSVC_SETTING_SORTING_ORDER_CHANGED "contacts.setting.sorting_order"\r
index f33080a..5408ddd 100644 (file)
 #include <stdlib.h>
 #include <glib.h>
 #include <string.h>
+#include <tzplatform_config.h>
 
 #include "contacts_views.h"
 
 #define CTSVC_IMG_FULL_PATH_SIZE_MAX 1024
 #define CTSVC_NUMBER_MAX_LEN 512
-#define CTS_IMG_FULL_LOCATION "/opt/usr/data/contacts-svc/img"
+#define CTS_IMG_FULL_LOCATION tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/img")
 
 #define SAFE_STR(src) (src)?src:""
 #define SAFE_STRDUP(src) (src)?strdup(src):NULL
index d1bc7a3..ed1739b 100644 (file)
@@ -28,6 +28,7 @@
 #include <unistd.h>
 #include <unicode/ucnv.h>
 #include <unicode/ustring.h>
+#include <tzplatform_config.h>
 
 #include "contacts.h"
 #include "ctsvc_internal.h"
@@ -40,7 +41,7 @@
 
 #define SMART_STRDUP(src) (src && *src)?strdup(src):NULL
 #define CTSVC_VCARD_PHOTO_MAX_SIZE 1024*1024
-#define CTSVC_VCARD_IMAGE_LOCATION "/opt/usr/data/contacts-svc/img/vcard"
+#define CTSVC_VCARD_IMAGE_LOCATION tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/img/vcard")
 
 #define CTSVC_VCARD_APPEND_STR(buf, buf_size, len, str) do { \
        if ((len = __ctsvc_vcard_append_str(buf, buf_size, len, str, false)) < 0) { \
index 0bf0290..f1bc071 100755 (executable)
@@ -6,7 +6,7 @@ SET(NATIVE contacts-service3)
 FILE(GLOB SRCS *.c ../common/*.c)
 
 INCLUDE(FindPkgConfig)
-pkg_check_modules(service_pkgs REQUIRED sqlite3 db-util capi-media-image-util accounts-svc badge libexif libsmack)
+pkg_check_modules(service_pkgs REQUIRED sqlite3 db-util capi-media-image-util accounts-svc badge libexif libsmack libtzplatform-config)
 
 FOREACH(flag ${service_pkgs_CFLAGS})
        SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
index e885d48..e4571ce 100644 (file)
 #ifndef __CTSVC_DB_PLUGIN_COMPANY_HELPER_H__
 #define __CTSVC_DB_PLUGIN_COMPANY_HELPER_H__
 
+#include <tzplatform_config.h>
+
 #include "contacts.h"
 #include "ctsvc_sqlite.h"
 
-#define CTS_LOGO_IMAGE_LOCATION "/opt/usr/data/contacts-svc/img/logo"
+#define CTS_LOGO_IMAGE_LOCATION tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/img/logo")
 
 int ctsvc_db_company_insert(contacts_record_h record, int contact_id, bool is_my_profile, int *id);
 int ctsvc_db_company_update(contacts_record_h record, int contact_id, bool is_my_profile);
index 2000884..7de8b93 100644 (file)
 #ifndef __CTSVC_DB_PLUGIN_GROUP_HELPER_H__
 #define __CTSVC_DB_PLUGIN_GROUP_HELPER_H__
 
+#include <tzplatform_config.h>
+
 #include "contacts.h"
 #include "ctsvc_sqlite.h"
 
-#define CTS_GROUP_IMAGE_LOCATION "/opt/usr/data/contacts-svc/img/group"
+#define CTS_GROUP_IMAGE_LOCATION tzplatform_mkpath(TZ_USER_DATA,"contacts-svc/img/group")
 
 void ctsvc_db_group_delete_callback(sqlite3_context *context, int argc, sqlite3_value ** argv);
 
index ed0ef0f..22c1308 100755 (executable)
  * limitations under the License.
  *
  */
+#include <tzplatform_config.h>
 
 #ifndef __TIZEN_SOCIAL_CTSVC_SCHEMA_H__
 #define __TIZEN_SOCIAL_CTSVC_SCHEMA_H__
 
-#define CTSVC_DB_PATH "/opt/usr/dbspace/.contacts-svc.db"
-#define CTSVC_DB_JOURNAL_PATH "/opt/usr/dbspace/.contacts-svc.db-journal"
+#define CTSVC_DB_PATH tzplatform_mkpath(TZ_USER_DB,".contacts-svc.db")
+#define CTSVC_DB_JOURNAL_PATH tzplatform_mkpath(TZ_USER_DB,".contacts-svc.db-journal")
 
 // For Security
 #define CTS_SECURITY_FILE_GROUP 6005
index 827cdc3..a653f28 100644 (file)
@@ -25,6 +25,7 @@ BuildRequires:  pkgconfig(badge)
 BuildRequires:  pkgconfig(libexif)
 BuildRequires:  pkgconfig(libsmack)
 BuildRequires:  pkgconfig(security-server)
+BuildRequires:  pkgconfig(libtzplatform-config)
 Requires(post): /usr/bin/sqlite3, /bin/chmod, /bin/chown
 Requires(post): /usr/bin/vconftool
 Requires(post): /sbin/ldconfig
@@ -54,7 +55,7 @@ cp %{SOURCE3} .
 
 
 %build
-%cmake .
+%cmake . -DTZ_SYS_ETC=%TZ_SYS_ETC
 make %{?_smp_mflags}
 
 
@@ -74,20 +75,6 @@ ln -s ../contacts-service.socket %{buildroot}/usr/lib/systemd/user/sockets.targe
 %post -n contacts-service2
 /sbin/ldconfig
 
-chown :6005 /opt/usr/data/contacts-svc
-chown :6005 /opt/usr/dbspace/.contacts-svc.db
-chown :6005 /opt/usr/dbspace/.contacts-svc.db-journal
-chown :6005 -R /opt/usr/data/contacts-svc/img
-chown :6005 /opt/usr/data/contacts-svc/.CONTACTS_SVC_*_CHANGED
-
-chmod 660 /opt/usr/dbspace/.contacts-svc.db
-chmod 660 /opt/usr/dbspace/.contacts-svc.db-journal
-chmod 775 /opt/usr/data/contacts-svc
-chmod 770 -R /opt/usr/data/contacts-svc/img/
-chmod 660 /opt/usr/data/contacts-svc/.CONTACTS_SVC_*
-
-chsmack -a 'User' /opt/usr/dbspace/.contacts-svc.db*
-
 vconftool set -t int file/private/contacts-service/default_lang 0 -g 6005 -s contacts-service::vconf-private
 vconftool set -t int db/contacts-svc/name_sorting_order 0 -g 6005 -s contacts-service::vconf
 vconftool set -t int db/contacts-svc/name_display_order 0 -g 6005 -s contacts-service::vconf
@@ -104,13 +91,10 @@ vconftool set -t int db/contacts-svc/phonenumber_min_match_digit 8 -g 6005 -s co
 %defattr(-,root,root,-)
 %{_libdir}/libcontacts-service2.so.*
 %{_bindir}/contacts-service-ipcd*
-/opt/usr/data/contacts-svc/.CONTACTS_SVC_*
-/opt/usr/data/contacts-svc/img/*
 /usr/lib/systemd/user/contacts-service.service
 /usr/lib/systemd/user/tizen-middleware.target.wants/contacts-service.service
 /usr/lib/systemd/user/sockets.target.wants/contacts-service.socket
 /usr/lib/systemd/user/contacts-service.socket
-%config(noreplace) /opt/usr/dbspace/.contacts-svc.db*
 
 %files -n contacts-service2-devel
 %defattr(-,root,root,-)
index fa4f8b2..4641c39 100755 (executable)
@@ -20,7 +20,6 @@
 #define __CTSVC_SERVER_SCHEMA_RECOVERY_H__
 
 int ctsvc_server_check_schema();
-
 #endif // __CTSVC_SERVER_SCHEMA_RECOVERY_H__
 
 
index 5375e02..af70983 100644 (file)
@@ -20,6 +20,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/stat.h>
 #include <pims-ipc.h>
 #include <pims-ipc-svc.h>
 
@@ -37,6 +40,7 @@
 #include "ctsvc_ipc_server2.h"
 #include "ctsvc_ipc_server_sim.h"
 
+#include "ctsvc_notify.h"
 static int __server_main(void)
 {
        int ret;
@@ -131,6 +135,32 @@ static int __server_main(void)
        return -1;
 }
 
+#define CTSVC_SECURITY_FILE_GROUP 6005
+void ctsvc_create_file_set_permission(const char* file, mode_t mode)
+{
+       int fd, ret;
+       fd = creat(file, mode);
+       if (0 <= fd)
+       {
+               ret = fchown(fd, -1, CTSVC_SECURITY_FILE_GROUP);
+               if (-1 == ret)
+               {
+                       printf("Failed to fchown\n");
+                       return;
+               }
+               close(fd);
+       }
+
+}
+
+void ctsvc_create_rep_set_permission(const char* directory, mode_t mode)
+{
+       if (-1 == access (directory, F_OK))
+       {
+               mkdir(directory, mode);
+       }
+}
+
 int main(int argc, char *argv[])
 {
        CTS_FN_CALL;
@@ -139,6 +169,39 @@ int main(int argc, char *argv[])
        if (2 <= argc && !strcmp(argv[1], "schema"))
                return CONTACTS_ERROR_NONE;
 
+       ctsvc_create_rep_set_permission(DATA_REPERTORY, 0755);
+       ctsvc_create_rep_set_permission(CTSVC_NOTI_REPERTORY, 0775);
+       ctsvc_create_rep_set_permission(CTSVC_NOTI_IMG_REPERTORY, 0770);
+       ctsvc_create_rep_set_permission(CTSVC_VCARD_IMAGE_LOCATION, 0770);
+       ctsvc_create_rep_set_permission(CTS_MY_IMAGE_LOCATION, 0770);
+       ctsvc_create_rep_set_permission(CTS_GROUP_IMAGE_LOCATION, 0770);
+       ctsvc_create_rep_set_permission(CTS_LOGO_IMAGE_LOCATION, 0770);
+
+       ctsvc_create_file_set_permission(CTSVC_NOTI_ADDRESSBOOK_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_GROUP_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_PERSON_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_CONTACT_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_MY_PROFILE_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_NAME_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_NUMBER_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_EMAIL_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_EVENT_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_URL_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_GROUP_RELATION_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_ADDRESS_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_NOTE_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_COMPANY_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_RELATIONSHIP_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_IMAGE_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_NICKNAME_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_MESSENGER_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_DATA_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_SDN_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_PROFILE_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_ACTIVITY_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_PHONELOG_CHANGED, 0660);
+       ctsvc_create_file_set_permission(CTSVC_NOTI_SPEEDDIAL_CHANGED, 0660);
+
        ret = ctsvc_server_socket_init();
        CTS_DBG("%d", ret);
 
@@ -146,4 +209,3 @@ int main(int argc, char *argv[])
 
        return 0;
 }
-