X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fwgtpkg-installer.c;h=9adeae43839dba62e8677c70ae681ec4435b7f57;hb=2a319cf90daa6e3b01e8139923f7073e1c9bcf28;hp=3d9c2379d566f32b11d937d50190d17365359c28;hpb=6c6177fcf8fdcc62c42a18407e95c7577897e10c;p=src%2Fapp-framework-main.git diff --git a/src/wgtpkg-installer.c b/src/wgtpkg-installer.c index 3d9c237..9adeae4 100644 --- a/src/wgtpkg-installer.c +++ b/src/wgtpkg-installer.c @@ -1,5 +1,7 @@ /* - Copyright 2015 IoT.bzh + Copyright (C) 2015-2019 IoT.bzh + + author: José Bollo Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -23,16 +25,34 @@ #include #include #include -#include #include +#include + #include "verbose.h" -#include "wgtpkg.h" +#include "wgtpkg-permissions.h" +#include "wgtpkg-xmlsec.h" +#include "wgt-info.h" +#include "wgtpkg-install.h" static const char appname[] = "wgtpkg-installer"; static const char *root; static int force; +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( @@ -43,6 +63,7 @@ static void usage() " -f force overwriting\n" " -q quiet\n" " -v verbose\n" + " -V version\n" "\n", appname ); @@ -54,21 +75,23 @@ 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 } }; /* install the widgets of the list */ int main(int ac, char **av) { - int i; + int i, rc; + struct wgt_info *ifo; - openlog(appname, LOG_PERROR, LOG_AUTH); + LOGAUTH(appname); xmlsec_init(); force = 0; for (;;) { - i = getopt_long(ac, av, "hfqvp:", options, NULL); + i = getopt_long(ac, av, "hfqvVp:", options, NULL); if (i < 0) break; switch (i) { @@ -85,8 +108,15 @@ int main(int ac, char **av) case 'v': verbosity++; break; + case 'V': + version(); + return 0; case 'p': - grant_permission_list(optarg); + rc = grant_permission_list(optarg); + if (rc < 0) { + ERROR("Can't set granted permission list"); + exit(1); + } break; case ':': ERROR("missing argument value"); @@ -106,8 +136,11 @@ int main(int ac, char **av) /* install widgets */ av += optind; root = *av++; - for ( ; *av ; av++) - install_widget(*av, root, force); + for ( ; *av ; av++) { + ifo = install_widget(*av, root, force); + if (ifo) + wgt_info_unref(ifo); + } return 0; }