Adding uninstallation of widgets
[src/app-framework-main.git] / src / wgtpkg-install.c
index 70198e9..deb2741 100644 (file)
 
 #define _GNU_SOURCE
 
+#include <limits.h>
 #include <errno.h>
 #include <string.h>
 #include <ctype.h>
 #include <assert.h>
 #include <unistd.h>
+#include <stdio.h>
 
 #include "verbose.h"
-#include "wgtpkg.h"
 #include "wgt.h"
 #include "wgt-info.h"
+#include "wgtpkg-files.h"
+#include "wgtpkg-workdir.h"
+#include "wgtpkg-zip.h"
+#include "wgtpkg-permissions.h"
+#include "wgtpkg-digsig.h"
 #include "wgtpkg-install.h"
 #include "secmgr-wrap.h"
 #include "utils-dir.h"
@@ -65,6 +71,7 @@ static int check_temporary_constraints(const struct wgt_desc *desc)
 {
        int result = check_valid_string(desc->id, "id");
        result |= check_valid_string(desc->version, "version");
+       result |= check_valid_string(desc->ver, "ver");
        result |= check_defined(desc->icons, "icon");
        result |= check_defined(desc->content_src, "content");
        if (result)
@@ -113,7 +120,7 @@ static int move_widget(const char *root, const struct wgt_desc *desc, int force)
        char newdir[PATH_MAX];
        int rc;
 
-       rc = snprintf(newdir, sizeof newdir, "%s/%s/%s", root, desc->id, desc->version);
+       rc = snprintf(newdir, sizeof newdir, "%s/%s/%s", root, desc->id, desc->ver);
        if (rc >= sizeof newdir) {
                ERROR("path to long in move_widget");
                errno = EINVAL;
@@ -130,7 +137,7 @@ static int install_icon(const struct wgt_desc *desc)
        int rc;
 
        create_directory(FWK_ICON_DIR, 0755, 1);
-       rc = snprintf(link, sizeof link, "%s/%s@%s", FWK_ICON_DIR, desc->id, desc->version);
+       rc = snprintf(link, sizeof link, "%s/%s", FWK_ICON_DIR, desc->idaver);
        if (rc >= sizeof link) {
                ERROR("link to long in install_icon");
                errno = EINVAL;
@@ -226,7 +233,7 @@ struct wgt_info *install_widget(const char *wgtfile, const char *root, int force
 
        /* workdir */
        create_directory(root, 0755, 1);
-       if (make_workdir_base(root, "TMP", 0)) {
+       if (make_workdir(root, "TMP", 0)) {
                ERROR("failed to create a working directory");
                goto error1;
        }