Revise the spec file
authorSung-jae Park <nicesj.park@samsung.com>
Fri, 4 Jan 2013 12:34:06 +0000 (21:34 +0900)
committerSung-jae Park <nicesj.park@samsung.com>
Mon, 7 Jan 2013 06:42:31 +0000 (15:42 +0900)
Change the package name of the web livebox provider.
(From org.tizen.data-provider-webapp-slave to livebox.web-provider)

Clear the files in the shared folder first before initiate the master.
Add reader & always folder parse code from conf file.

Change-Id: I10415faadda3dd267d728ce71b029abdb770964e

data/abi.ini
data/conf.ini
data/data-provider-master
include/conf.h
include/util.h
packaging/org.tizen.data-provider-master.spec
src/conf.c
src/main.c
src/util.c

index a2ef140..8822699 100644 (file)
@@ -5,7 +5,7 @@ package=org.tizen.data-provider-slave
 package=org.tizen.data-provider-slave
 
 [html]
-package=org.tizen.data-provider-webapp-slave
+package=livebox.web-provider
 
 [osp]
 package=gi2qxenosh.osp-livebox-service
index 2a10f07..b9ad80a 100644 (file)
@@ -14,8 +14,10 @@ max_log_line=1000
 max_log_file=3
 sqilte_flush_max=1048576
 db_path=/opt/dbspace/.livebox.db
-log_path=/opt/usr/share/live_magazine/log
 share_path=/opt/usr/share/live_magazine/
+log_path=/opt/usr/share/live_magazine/log
+always_path=/opt/usr/share/live_magazine/always
+reader_path=/opt/usr/share/live_magazine/reader
 script_port_path=/opt/usr/live/script_port/
 ping_interval=240.0
 slave_max_load=30
index 2e6ce3c..9e2132a 100755 (executable)
@@ -34,9 +34,6 @@ launch_provider()
 
 start ()
 {
-       rm /opt/usr/share/live_magazine/*
-       rm /opt/usr/share/live_magazine/reader/*
-       rm /opt/usr/share/live_magazine/log/*
        rm /tmp/.stop.provider
        launch_provider &
 }
index 52f0a76..adf0cf5 100644 (file)
@@ -61,6 +61,8 @@ struct conf {
                char *root;
                char *script_port;
                char *slave_log;
+               char *reader;
+               char *always;
                char *db;
        } path;
 
@@ -120,6 +122,8 @@ extern int conf_loader(void);
 #define CONF_PATH              g_conf.path.conf
 #define ROOT_PATH              g_conf.path.root
 #define SLAVE_LOG_PATH         g_conf.path.slave_log
+#define READER_PATH            g_conf.path.reader
+#define ALWAYS_PATH            g_conf.path.always
 
 #define REPLACE_TAG_APPID      g_conf.replace_tag
 #define SLAVE_TTL              g_conf.slave_ttl
index 8bc9c72..1411f4f 100644 (file)
@@ -19,6 +19,7 @@ extern double util_timestamp(void);
 extern int util_check_ext(const char *filename, const char *check_ptr);
 extern int util_validate_livebox_package(const char *pkgname);
 extern int util_unlink(const char *filename);
+extern int util_unlink_files(const char *folder);
 extern char *util_slavename(void);
 extern const char *util_basename(const char *name);
 extern unsigned long util_free_space(const char *path);
index 1498d4a..df10c41 100644 (file)
@@ -1,6 +1,6 @@
 Name: org.tizen.data-provider-master
 Summary: Master data provider
-Version: 0.13.29
+Version: 0.13.30
 Release: 1
 Group: main/app
 License: Flora License
@@ -73,6 +73,9 @@ chown 5000:5000 /opt/usr/share/live_magazine/log
 mkdir -p /opt/usr/share/live_magazine/reader
 chown 5000:5000 /opt/usr/share/live_magazine/reader
 
+mkdir -p /opt/usr/share/live_magazine/always
+chown 5000:5000 /opt/usr/share/live_magazine/always
+
 # End of a list of affected folder by the transmute attribute
 
 if [ ! -f "/opt/dbspace/livebox.db" ]; then
@@ -125,3 +128,5 @@ echo "%{_sysconfdir}/init.d/data-provider-master start"
 %{_datarootdir}/data-provider-master/*
 %{_libdir}/systemd/user/data-provider-master.service
 %{_datarootdir}/license/*
+
+# End of a file
index a86747c..f7e3cf7 100644 (file)
@@ -64,6 +64,8 @@ HAPI struct conf g_conf = {
                .conf = "/opt/usr/live/%s/etc/%s.conf",
                .image = "/opt/usr/share/live_magazine/",
                .slave_log = "/opt/usr/share/live_magazine/log",
+               .reader = "/opt/usr/share/live_magazine/reader",
+               .always = "/opt/usr/share/live_magazine/always",
                .script = "/opt/usr/live/%s/res/script/%s.edj",
                .root = "/opt/usr/live/",
                .script_port = "/opt/usr/live/script_port/",
@@ -245,6 +247,22 @@ static void db_path_handler(char *buffer)
        DbgPrint("DB Path: %s\n", g_conf.path.db);
 }
 
+static void reader_path_handler(char *buffer)
+{
+       g_conf.path.reader = strdup(buffer);
+       if (!g_conf.path.reader)
+               ErrPrint("Heap: %s\n", strerror(errno));
+       DbgPrint("Reader Path: %s\n", g_conf.path.reader);
+}
+
+static void always_path_handler(char *buffer)
+{
+       g_conf.path.always = strdup(buffer);
+       if (!g_conf.path.always)
+               ErrPrint("Heap: %s\n", strerror(errno));
+       DbgPrint("Always Path: %s\n", g_conf.path.always);
+}
+
 static void log_path_handler(char *buffer)
 {
        g_conf.path.slave_log = strdup(buffer);
@@ -379,6 +397,14 @@ HAPI int conf_loader(void)
                        .handler = log_path_handler,
                },
                {
+                       .name = "reader_path",
+                       .handler = reader_path_handler,
+               },
+               {
+                       .name = "always_path",
+                       .handler = always_path_handler,
+               },
+               {
                        .name = "share_path",
                        .handler = share_path_handler,
                },
index 7e8efd2..32538bd 100644 (file)
@@ -226,6 +226,15 @@ int main(int argc, char *argv[])
 
        conf_loader();
 
+       /*!
+        * \note
+        * Clear old contents files before start the master provider.
+        */
+       (void)util_unlink_files(ALWAYS_PATH);
+       (void)util_unlink_files(READER_PATH);
+       (void)util_unlink_files(IMAGE_PATH);
+       (void)util_unlink_files(SLAVE_LOG_PATH);
+
        script_init();
 
        app_create();
index 48129b1..13c5ca9 100644 (file)
@@ -21,6 +21,8 @@
 #include <unistd.h>
 #include <stdlib.h>
 #include <sys/statvfs.h>
+#include <sys/types.h>
+#include <dirent.h>
 
 #include <dlog.h>
 #include <Eina.h>
@@ -411,4 +413,53 @@ HAPI char *util_get_file_kept_in_safe(const char *id)
        return new_path;
 }
 
+HAPI int util_unlink_files(const char *folder)
+{
+       struct stat info;
+       DIR *handle;
+       struct dirent *entry;
+       char *abspath;
+       int len;
+
+       if (lstat(folder, &info) < 0) {
+               ErrPrint("Error: %s\n", strerror(errno));
+               return -EIO;
+       }
+
+       if (!S_ISDIR(info.st_mode)) {
+               ErrPrint("Error: %s is not a folder", folder);
+               return -EINVAL;
+       }
+
+       handle = opendir(folder);
+       if (!handle) {
+               ErrPrint("Error: %s\n", strerror(errno));
+               return -EIO;
+       }
+
+       while ((entry = readdir(handle))) {
+               if (!strcmp(entry->d_name, "."))
+                       continue;
+
+               if (!strcmp(entry->d_name, ".."))
+                       continue;
+
+               len = strlen(folder) + strlen(entry->d_name) + 3;
+               abspath = calloc(1, len);
+               if (!abspath) {
+                       ErrPrint("Heap: %s\n", strerror(errno));
+                       continue;
+               }
+               snprintf(abspath, len - 1, "%s/%s", folder, entry->d_name);
+
+               if (unlink(abspath) < 0)
+                       DbgPrint("unlink: %s - %s\n", abspath, strerror(errno));
+
+               free(abspath);
+       }
+
+       closedir(handle);
+       return 0;
+}
+
 /* End of a file */