]> git.ozlabs.org Git - petitboot/blobdiff - ui/twin/main-generic.c
Add UI option --dry-run
[petitboot] / ui / twin / main-generic.c
index d314cbcad340f4b3522d05d8c2508875a94ae355..1e665b38384a9c874ce8a86298f287c54f6ff530 100644 (file)
@@ -71,7 +71,7 @@ static struct pbt_item *setup_system_item(struct pbt_menu *menu,
        struct pbt_quad q;
 
        top_item = pbt_item_create_reduced(menu, "system", 0,
        struct pbt_quad q;
 
        top_item = pbt_item_create_reduced(menu, "system", 0,
-               PB_ARTWORK_PATH "/system.png");
+               PB_ARTWORK_PATH "/applications-system.png");
 
        if (!top_item)
                goto fail_top_item_create;
 
        if (!top_item)
                goto fail_top_item_create;
@@ -90,7 +90,7 @@ static struct pbt_item *setup_system_item(struct pbt_menu *menu,
                goto fail_sub_menu_create;
 
        sub_item = pbt_item_create(top_item->sub_menu, "Preferences", 0,
                goto fail_sub_menu_create;
 
        sub_item = pbt_item_create(top_item->sub_menu, "Preferences", 0,
-               PB_ARTWORK_PATH "/system.png", "Preferences",
+               PB_ARTWORK_PATH "/configure.png", "Preferences",
                "Edit petitboot preferences");
 
        if (!sub_item)
                "Edit petitboot preferences");
 
        if (!sub_item)
@@ -101,7 +101,7 @@ static struct pbt_item *setup_system_item(struct pbt_menu *menu,
        pbt_menu_set_selected(top_item->sub_menu, sub_item);
 
        sub_item = pbt_item_create(top_item->sub_menu, "Exit to Shell", 1,
        pbt_menu_set_selected(top_item->sub_menu, sub_item);
 
        sub_item = pbt_item_create(top_item->sub_menu, "Exit to Shell", 1,
-               PB_ARTWORK_PATH "/system.png", "Exit to Shell",
+               PB_ARTWORK_PATH "/utilities-terminal.png", "Exit to Shell",
                "Exit to a system shell prompt");
 
        if (!sub_item)
                "Exit to a system shell prompt");
 
        if (!sub_item)
@@ -199,7 +199,7 @@ fail_menu:
        return NULL;
 }
 
        return NULL;
 }
 
-static int kexec_cb(__attribute__((unused)) struct pbt_client *client, struct pb_opt_data *opt_data)
+static int kexec_cb(struct pbt_client *client, struct pb_opt_data *opt_data)
 {
        int result;
 
 {
        int result;
 
@@ -207,7 +207,7 @@ static int kexec_cb(__attribute__((unused)) struct pbt_client *client, struct pb
 
        pb_log("%s: %s\n", __func__, opt_data->name);
 
 
        pb_log("%s: %s\n", __func__, opt_data->name);
 
-       result = pb_run_kexec(opt_data->kd);
+       result = pb_run_kexec(opt_data->kd, client->dry_run);
 
        return result;
 }
 
        return result;
 }
@@ -285,7 +285,6 @@ int main(int argc, char *argv[])
        static struct pbt_opts opts;
        int result;
        int ui_result;
        static struct pbt_opts opts;
        int result;
        int ui_result;
-       FILE *log;
        struct pbt_client *client;
 
        result = pbt_opts_parse(&opts, argc, argv);
        struct pbt_client *client;
 
        result = pbt_opts_parse(&opts, argc, argv);
@@ -305,15 +304,19 @@ int main(int argc, char *argv[])
                return EXIT_SUCCESS;
        }
 
                return EXIT_SUCCESS;
        }
 
-       log = fopen(opts.log_file, "a");
-       assert(log);
-       pb_log_set_stream(log);
+       if (strcmp(opts.log_file, "-")) {
+               FILE *log = fopen(opts.log_file, "a");
+
+               assert(log);
+               pb_log_set_stream(log);
+       } else
+               pb_log_set_stream(stderr);
 
 #if defined(DEBUG)
        pb_log_always_flush(1);
 #endif
 
 
 #if defined(DEBUG)
        pb_log_always_flush(1);
 #endif
 
-       pb_log("--- pb-twin ---\n");
+       pb_log("--- petitboot-twin ---\n");
 
        sa.sa_handler = sig_handler;
        result = sigaction(SIGALRM, &sa, NULL);
 
        sa.sa_handler = sig_handler;
        result = sigaction(SIGALRM, &sa, NULL);
@@ -327,7 +330,8 @@ int main(int argc, char *argv[])
                return EXIT_FAILURE;
        }
 
                return EXIT_FAILURE;
        }
 
-       client = pbt_client_init(opts.backend, 900, 300, kexec_cb);
+       client = pbt_client_init(opts.backend, 900, 300, kexec_cb,
+               opts.start_daemon, opts.dry_run);
 
        if (!client) {
                ui_result = EXIT_FAILURE;
 
        if (!client) {
                ui_result = EXIT_FAILURE;