Merge "afm-user-daemon: Remove it by default"
[src/app-framework-main.git] / src / wgtpkg-info.c
index b2855b6..f32b265 100644 (file)
@@ -1,5 +1,5 @@
 /*
- Copyright 2015 IoT.bzh
+ Copyright (C) 2015-2019 IoT.bzh
 
  author: José Bollo <jose.bollo@iot.bzh>
 
@@ -39,13 +39,28 @@ static const char appname[] = "wgtpkg-info";
 
 static void show(const char *wgtfile);
 
+static void version()
+{
+       printf(
+               "\n"
+               "  %s  version="AFM_VERSION"\n"
+               "\n"
+               "  Copyright (C) 2015-2019 \"IoT.bzh\"\n"
+               "  AFB comes with ABSOLUTELY NO WARRANTY.\n"
+               "  Licence Apache 2\n"
+               "\n",
+               appname
+       );
+}
+
 static void usage()
 {
        printf(
-               "usage: %s [-f] [-q] [-v] wgtfile...\n"
+               "usage: %s [-q] [-v] wgtfile...\n"
                "\n"
                "   -q            quiet\n"
                "   -v            verbose\n"
+               "   -V            version\n"
                "\n",
                appname
        );
@@ -55,6 +70,7 @@ static struct option options[] = {
        { "help",        no_argument,       NULL, 'h' },
        { "quiet",       no_argument,       NULL, 'q' },
        { "verbose",     no_argument,       NULL, 'v' },
+       { "version",     no_argument,       NULL, 'V' },
        { NULL, 0, NULL, 0 }
 };
 
@@ -69,7 +85,7 @@ int main(int ac, char **av)
        xmlsec_init();
 
        for (;;) {
-               i = getopt_long(ac, av, "hqv", options, NULL);
+               i = getopt_long(ac, av, "hqvV", options, NULL);
                if (i < 0)
                        break;
                switch (i) {
@@ -83,6 +99,9 @@ int main(int ac, char **av)
                case 'v':
                        verbosity++;
                        break;
+               case 'V':
+                       version();
+                       return 0;
                case ':':
                        ERROR("missing argument value");
                        return 1;
@@ -128,7 +147,7 @@ static void show(const char *wgtfile)
        NOTICE("-- INFO for widget %s --", wgtfile);
 
        /* workdir */
-       if (make_workdir_base("/tmp", "UNPACK", 0)) {
+       if (make_workdir("/tmp", "UNPACK", 0)) {
                ERROR("failed to create a working directory");
                return;
        }
@@ -136,11 +155,11 @@ static void show(const char *wgtfile)
        if (zread(wgtfile, 0))
                goto error2;
 
-       if (check_all_signatures())
+       if (check_all_signatures(1)) /* info even on WGT without signature */
                goto error2;
 
        check_and_show();
-       
+
 error2:
        remove_workdir();
        return;