improves help message
[src/app-framework-main.git] / src / wgtpkg-info.c
index 1a7724b..177c207 100644 (file)
@@ -1,6 +1,8 @@
 /*
  Copyright 2015 IoT.bzh
 
+ author: José Bollo <jose.bollo@iot.bzh>
+
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
  limitations under the License.
 */
 
-#define _BSD_SOURCE /* see readdir */
-
 #include <stdlib.h>
 #include <stdio.h>
 #include <dirent.h>
 #include <unistd.h>
 #include <limits.h>
 #include <errno.h>
-#include <syslog.h>
 #include <getopt.h>
 
+#include <libxml/tree.h>
+
 #include "verbose.h"
-#include "wgtpkg.h"
+#include "wgtpkg-workdir.h"
+#include "wgtpkg-files.h"
+#include "wgtpkg-zip.h"
+#include "wgtpkg-digsig.h"
+#include "wgtpkg-xmlsec.h"
 #include "wgt.h"
 #include "wgt-info.h"
 
@@ -37,7 +42,7 @@ static void show(const char *wgtfile);
 static void usage()
 {
        printf(
-               "usage: %s [-f] [-q] [-v] wgtfile...\n"
+               "usage: %s [-q] [-v] wgtfile...\n"
                "\n"
                "   -q            quiet\n"
                "   -v            verbose\n"
@@ -59,7 +64,7 @@ int main(int ac, char **av)
        int i;
        char *wpath;
 
-       openlog(appname, LOG_PERROR, LOG_USER);
+       LOGUSER(appname);
 
        xmlsec_init();
 
@@ -79,10 +84,10 @@ int main(int ac, char **av)
                        verbosity++;
                        break;
                case ':':
-                       syslog(LOG_ERR, "missing argument value");
+                       ERROR("missing argument value");
                        return 1;
                default:
-                       syslog(LOG_ERR, "unrecognized option");
+                       ERROR("unrecognized option");
                        return 1;
                }
        }
@@ -92,7 +97,7 @@ int main(int ac, char **av)
        for (i = 0 ; av[i] != NULL ; i++) {
                wpath = realpath(av[i], NULL);
                if (wpath == NULL) {
-                       syslog(LOG_ERR, "error while getting realpath of %dth widget: %s", i+1, av[i]);
+                       ERROR("error while getting realpath of %dth widget: %s", i+1, av[i]);
                        return 1;
                }
                av[i] = wpath;
@@ -105,68 +110,29 @@ int main(int ac, char **av)
        return 0;
 }
 
-static struct wgt *wgt_at_workdir()
-{
-       int rc, wfd;
-       struct wgt *wgt;
-
-       wfd = workdirfd();
-       if (wfd < 0)
-               return NULL;
-
-       wgt = wgt_create();
-       if (!wgt) {
-               syslog(LOG_ERR, "failed to allocate wgt");
-               close(wfd);
-               return NULL;
-       }
-
-       rc = wgt_connectat(wgt, wfd, NULL);
-       if (rc) {
-               syslog(LOG_ERR, "failed to connect wgt to workdir");
-               close(wfd);
-               wgt_unref(wgt);
-               return NULL;
-       }
-
-       return wgt;
-}
-
-
 static int check_and_show()
 {
-       struct wgt *wgt;
        struct wgt_info *ifo;
 
-       wgt = wgt_at_workdir();
-       if (!wgt)
-               return -1;
-
-       ifo = wgt_info_get(wgt, 1, 1, 1);
-       if (!ifo) {
-               wgt_unref(wgt);
+       ifo = wgt_info_createat(workdirfd, NULL, 1, 1, 1);
+       if (!ifo)
                return -1;
-       }
        wgt_info_dump(ifo, 1, "");
        wgt_info_unref(ifo);
-       wgt_unref(wgt);
        return 0;
 }
 
 /* install the widget of the file */
 static void show(const char *wgtfile)
 {
-       notice("-- INFO for widget %s --", wgtfile);
+       NOTICE("-- INFO for widget %s --", wgtfile);
 
        /* workdir */
-       if (make_workdir_base("/tmp", "UNPACK", 0)) {
-               syslog(LOG_ERR, "failed to create a working directory");
+       if (make_workdir("/tmp", "UNPACK", 0)) {
+               ERROR("failed to create a working directory");
                return;
        }
 
-       if (enter_workdir(0))
-               goto error2;
-
        if (zread(wgtfile, 0))
                goto error2;