From e0dec89f2f82c5f769fcddba9ec40a1b1e9c9f27 Mon Sep 17 00:00:00 2001 From: junkyu Han Date: Mon, 4 Apr 2016 19:31:57 +0900 Subject: [PATCH] Changed data directory for tizen3.0 Change-Id: I2c8b2c4f50aeb5cc361a054de133941d0cc171f3 --- CMakeLists.txt | 4 +- data/CMakeLists.txt | 8 ++-- ...enu-screen.xml.in => org.tizen.menu-screen.xml} | 0 packaging/org.tizen.menu-screen.spec | 54 ++++------------------ src/all_apps/db.c | 2 +- src/db.c | 44 +++++++++++++++++- src/page_scroller.c | 4 +- 7 files changed, 59 insertions(+), 57 deletions(-) rename data/{org.tizen.menu-screen.xml.in => org.tizen.menu-screen.xml} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 60db78a..7029658 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,9 +5,9 @@ SET(PACKAGE_NAME "org.tizen.${PROJECT_NAME}") SET(PREFIX "/usr/apps/${PACKAGE_NAME}") SET(EXEC_PREFIX "${PREFIX}/bin") SET(LIBDIR "${PREFIX}/lib") -SET(DATADIR "/opt${PREFIX}/data") +SET(DATADIR "${PREFIX}/res/data") SET(RESDIR "${PREFIX}/res") -SET(ICONDIR "/usr/share/icons/default/small") +SET(ICONDIR "${PREFIX}/shared/res") SET(IMAGEDIR "${RESDIR}/images") SET(EDJEDIR "${RESDIR}/edje") SET(LOCALEDIR "${RESDIR}/locale") diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index 9c423e5..4a70181 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -1,11 +1,9 @@ SET(MANIFESTDIR "/usr/share/packages") # manifest -CONFIGURE_FILE(${PACKAGE_NAME}.xml.in ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}.xml) -INSTALL(FILES ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}.xml DESTINATION ${MANIFESTDIR}) - -INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/main_operation.launch DESTINATION ${RESDIR}/data) -INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/${PACKAGE_NAME}.png DESTINATION /usr/share/icons/default/small) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/main_operation.launch DESTINATION /usr/apps/org.tizen.menu-screen/res/data) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.menu-screen.xml DESTINATION /usr/share/packages) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/${PACKAGE_NAME}.png DESTINATION /usr/apps/org.tizen.menu-screen/shared/res) ADD_SUBDIRECTORY(edje) ADD_SUBDIRECTORY(images) diff --git a/data/org.tizen.menu-screen.xml.in b/data/org.tizen.menu-screen.xml similarity index 100% rename from data/org.tizen.menu-screen.xml.in rename to data/org.tizen.menu-screen.xml diff --git a/packaging/org.tizen.menu-screen.spec b/packaging/org.tizen.menu-screen.spec index c981e9c..ec8c3e0 100644 --- a/packaging/org.tizen.menu-screen.spec +++ b/packaging/org.tizen.menu-screen.spec @@ -56,6 +56,7 @@ BuildRequires: pkgconfig(capi-system-system-settings) BuildRequires: cmake BuildRequires: edje-tools BuildRequires: gettext-tools +BuildRequires: pkgconfig(libtzplatform-config) # %ifarch %{arm} # %define ARCH arm # BuildRequires: pkgconfig(bincfg) @@ -109,59 +110,22 @@ make %{?jobs:-j%jobs} %define tizen_author_sign 1 %define tizen_dist_sign 1 -mkdir -p %{buildroot}%{_datadir} mkdir -p %{buildroot}/usr/share/license -cp -f LICENSE %{buildroot}/usr/share/license/%{name} %post PRIVATE_OPTION="-s org.tizen.menu-screen" -if [ ! -d %{_datadir}/dbspace ] -then - mkdir -p %{_datadir}/dbspace -fi - -if [ ! -d %{_datadir}/shortcut ] -then - mkdir -p %{_datadir}/shortcut -else - rm -rf %{_datadir}/shortcut/* -fi - -sqlite3 %{_datadir}/dbspace/.menu_screen.db 'PRAGMA journal_mode = PERSIST; - create table if not exists shortcut ( - ROWID INTEGER PRIMARY KEY AUTOINCREMENT, - appid TEXT, - name TEXT, - type INTEGER, - content_info TEXT, - icon TEXT - ); -' - INHOUSE_ID="5000" -chown -R $INHOUSE_ID:$INHOUSE_ID %{_datadir} -chown root:$INHOUSE_ID %{_datadir}/dbspace/.menu_screen.db -chown root:$INHOUSE_ID %{_datadir}/dbspace/.menu_screen.db-journal - -chmod 660 %{_datadir}/dbspace/.menu_screen.db -chmod 660 %{_datadir}/dbspace/.menu_screen.db-journal %files %manifest %{name}.manifest %defattr(-,root,root,-) -%{_bindir}/menu-screen -%{_resdir}/edje/all_apps_portrait.edj -%{_resdir}/edje/button_edit.edj -%{_resdir}/edje/group_4x4_portrait.edj -%{_resdir}/edje/item_4x4.edj -%{_resdir}/edje/layout_portrait.edj -%{_resdir}/edje/index.edj -%{_resdir}/images/default.png -%{_resdir}/data/main_operation.launch -%{_localedir}/*/*/*.mo -%{_usr_datadir}/icons/default/small/org.tizen.menu-screen.png -%{_usr_datadir}/packages/org.tizen.menu-screen.xml -/usr/share/license/%{name} -#%{_packagedir}/*.xml +%{TZ_SYS_RO_APP}/org.tizen.menu-screen/bin/* +%{TZ_SYS_RO_APP}/org.tizen.menu-screen/res/edje/* +%{TZ_SYS_RO_APP}/org.tizen.menu-screen/res/images/* +%{TZ_SYS_RO_APP}/org.tizen.menu-screen/res/data/main_operation.launch +%{TZ_SYS_RO_APP}/org.tizen.menu-screen/res/locale/* +%{TZ_SYS_RO_APP}/org.tizen.menu-screen/shared/res/org.tizen.menu-screen.png +#%{TZ_SYS_RO_PACKAGES}/org.tizen.menu-screen.xml +/usr/share/packages/org.tizen.menu-screen.xml diff --git a/src/all_apps/db.c b/src/all_apps/db.c index 104d13c..9f77c64 100644 --- a/src/all_apps/db.c +++ b/src/all_apps/db.c @@ -31,7 +31,7 @@ #define QUERY_LEN 1024 -#define MENU_SCREEN_DB_FILE "/opt/usr/apps/org.tizen.menu-screen/data/dbspace/.menu_screen.db" +#define MENU_SCREEN_DB_FILE ".menu_screen.db" #define SHORTCUT_TABLE "shortcut" #define QUERY_INSERT_SHORTCUT "INSERT INTO "SHORTCUT_TABLE" ("\ "appid,"\ diff --git a/src/db.c b/src/db.c index 19473dd..68657a0 100644 --- a/src/db.c +++ b/src/db.c @@ -39,6 +39,14 @@ } \ } while (0) +#define CREATE_APPS_DB_TABLE "CREATE TABLE IF NOT EXISTS shortcut (\ + ROWID INTEGER PRIMARY KEY AUTOINCREMENT,\ + appid TEXT,\ + name TEXT,\ + type INTEGER,\ + content_info TEXT,\ + icon TEXT );" + static struct { @@ -55,15 +63,47 @@ struct stmt { HAPI menu_screen_error_e db_open(const char *db_file) { + _D("db open"); int ret; + char *errMsg; + char *res_path = NULL; + char db_file_path[1024]; + + res_path = app_get_data_path(); + snprintf(db_file_path, sizeof(db_file_path), "%s%s", res_path, db_file); retv_if(NULL == db_file, MENU_SCREEN_ERROR_INVALID_PARAMETER); if (db_info.db) { + _D("db is already exist"); return MENU_SCREEN_ERROR_OK; } - ret = db_util_open(db_file, &db_info.db, DB_UTIL_REGISTER_HOOK_METHOD); - retv_with_dbmsg_if(ret != SQLITE_OK, MENU_SCREEN_ERROR_FAIL); + FILE *fp = fopen(db_file_path, "r"); + if (fp) { + fclose(fp); + _D("Apps DB[%s] exist", db_file_path); + return MENU_SCREEN_ERROR_OK; + } + + ret = sqlite3_open(db_file_path, &db_info.db); + if (ret != SQLITE_OK) { + _E("SQL error(%d) : %s", ret, db_file_path); + } + + ret = sqlite3_exec(db_info.db, "PRAGMA journal_mode = PERSIST", NULL, NULL, &errMsg); + if (ret != SQLITE_OK) { + _E("SQL error(%d) : %s", ret, errMsg); + sqlite3_free(errMsg); + return MENU_SCREEN_ERROR_FAIL; + } + + ret = sqlite3_exec(db_info.db, CREATE_APPS_DB_TABLE, NULL, NULL, &errMsg); + if (ret != SQLITE_OK) { + _E("SQL error(%d) : %s", ret, errMsg); + sqlite3_free(errMsg); + return MENU_SCREEN_ERROR_FAIL; + } + _D("Create DB[%s] : [%s] OK", db_file, CREATE_APPS_DB_TABLE); return MENU_SCREEN_ERROR_OK; } diff --git a/src/page_scroller.c b/src/page_scroller.c index 71739ba..bec4f6e 100644 --- a/src/page_scroller.c +++ b/src/page_scroller.c @@ -41,6 +41,7 @@ #define BUFSZE 1024 #define PAGE_SCROLL_SENSITIVE 0.2 #define PROP_PORTRAIT_HEIGHT (PAGE_PORTRAIT_HEIGHT / BASE_HEIGHT) +#define MAIN_OPERATION_FILE "/usr/apps/org.tizen.menu-screen/res/data/main_operation.launch" @@ -555,14 +556,13 @@ static inline int _rtrim(char *str) static int _create_main_operation_list(Evas_Object *scroller) { FILE *fp; - const char *filename = RESDIR"/data/main_operation.launch"; char *line = NULL; size_t size = 0; ssize_t read; char *data = NULL; Eina_List *main_operation_list = NULL; - fp = fopen(filename, "r"); + fp = fopen(MAIN_OPERATION_FILE, "r"); if (!fp) { _D("cannot open fp"); return 0; -- 2.7.4