Port ostree-pull to GSConsole

As part of this, we need to ensure our streams are inherited across
the chain of child processes.
This commit is contained in:
Colin Walters 2013-01-24 15:22:16 -05:00
parent fafb256f57
commit 6fde0b61a8
6 changed files with 20 additions and 18 deletions

@ -1 +1 @@
Subproject commit 43a525fd40faf7dfd261bf3d7469f642a68fad68
Subproject commit 87bf968f3470657e5a80d3f937b2142f9f6fb53b

View File

@ -118,7 +118,6 @@ typedef struct {
GError **async_error;
gboolean caught_error;
gboolean stdout_is_tty;
guint last_padding;
} OtPullData;
@ -238,7 +237,8 @@ uri_fetch_update_status (gpointer user_data)
diff--;
}
}
g_print ("%c8%s", 0x1B, status->str);
gs_console_begin_status_line (gs_console_get (), status->str, NULL, NULL);
g_string_free (status, TRUE);
@ -289,10 +289,14 @@ static gboolean
run_mainloop_monitor_fetcher (OtPullData *pull_data)
{
GSource *update_timeout = NULL;
GSConsole *console;
if (pull_data->stdout_is_tty)
console = gs_console_get ();
if (console)
{
g_print ("%c7", 0x1B);
gs_console_begin_status_line (console, "", NULL, NULL);
update_timeout = g_timeout_source_new_seconds (1);
g_source_set_callback (update_timeout, uri_fetch_update_status, pull_data, NULL);
g_source_attach (update_timeout, g_main_loop_get_context (pull_data->loop));
@ -301,9 +305,9 @@ run_mainloop_monitor_fetcher (OtPullData *pull_data)
g_main_loop_run (pull_data->loop);
if (pull_data->stdout_is_tty)
if (console)
{
g_print ("\n");
gs_console_end_status_line (console, NULL, NULL);
g_source_destroy (update_timeout);
}
@ -1232,8 +1236,6 @@ ostree_builtin_pull (int argc, char **argv, GFile *repo_path, GError **error)
start_time = g_get_monotonic_time ();
pull_data->stdout_is_tty = isatty (1);
pull_data->remote_name = g_strdup (argv[1]);
pull_data->fetcher = ostree_fetcher_new (ostree_repo_get_tmpdir (pull_data->repo));
config = ostree_repo_get_config (repo);

View File

@ -134,7 +134,7 @@ ot_admin_builtin_install (int argc, char **argv, OtAdminBuiltinOpts *admin_opts,
NULL);
if (!gs_subprocess_simple_run_sync (gs_file_get_path_cached (ostree_dir),
GS_SUBPROCESS_STREAM_DISPOSITION_NULL,
GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT,
cancellable, error,
"ostree", "admin", ostree_dir_arg, "os-init", osname, NULL))
goto out;
@ -172,7 +172,7 @@ ot_admin_builtin_install (int argc, char **argv, OtAdminBuiltinOpts *admin_opts,
goto out;
if (!gs_subprocess_simple_run_sync (gs_file_get_path_cached (ostree_dir),
GS_SUBPROCESS_STREAM_DISPOSITION_NULL,
GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT,
cancellable, error,
"ostree", repoarg, "remote", "add",
osname, repourl, tree_to_deploy, NULL))
@ -180,13 +180,13 @@ ot_admin_builtin_install (int argc, char **argv, OtAdminBuiltinOpts *admin_opts,
}
if (!gs_subprocess_simple_run_sync (gs_file_get_path_cached (ostree_dir),
GS_SUBPROCESS_STREAM_DISPOSITION_NULL,
GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT,
cancellable, error,
"ostree", "pull", repoarg, osname, NULL))
goto out;
if (!gs_subprocess_simple_run_sync (gs_file_get_path_cached (ostree_dir),
GS_SUBPROCESS_STREAM_DISPOSITION_NULL,
GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT,
cancellable, error,
"ostree", "admin", ostree_dir_arg, "deploy", osname,
tree_to_deploy, NULL))

View File

@ -171,7 +171,7 @@ ot_admin_builtin_prune (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, G
repo_arg = g_strconcat ("--repo=", gs_file_get_path_cached (repo_path), NULL);
if (!gs_subprocess_simple_run_sync (gs_file_get_path_cached (ostree_dir),
GS_SUBPROCESS_STREAM_DISPOSITION_NULL,
GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT,
cancellable, error,
"ostree", repo_arg, "prune", "--refs-only",
"--depth=0", NULL))

View File

@ -106,7 +106,7 @@ ot_admin_builtin_pull_deploy (int argc, char **argv, OtAdminBuiltinOpts *admin_o
NULL);
if (!gs_subprocess_simple_run_sync (gs_file_get_path_cached (ostree_dir),
GS_SUBPROCESS_STREAM_DISPOSITION_NULL,
GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT,
cancellable, error,
"ostree", "pull", repo_arg, osname, NULL))
goto out;
@ -120,7 +120,7 @@ ot_admin_builtin_pull_deploy (int argc, char **argv, OtAdminBuiltinOpts *admin_o
gs_file_get_path_cached (admin_opts->boot_dir),
NULL);
if (!gs_subprocess_simple_run_sync (gs_file_get_path_cached (ostree_dir),
GS_SUBPROCESS_STREAM_DISPOSITION_NULL,
GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT,
cancellable, error,
"ostree", "admin", opt_ostree_dir_arg, opt_boot_dir_arg, "deploy", osname,
deploy_name, NULL))

View File

@ -63,13 +63,13 @@ ot_admin_builtin_upgrade (int argc, char **argv, OtAdminBuiltinOpts *admin_opts,
NULL);
if (!gs_subprocess_simple_run_sync (gs_file_get_path_cached (ostree_dir),
GS_SUBPROCESS_STREAM_DISPOSITION_NULL,
GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT,
cancellable, error,
"ostree", "admin", ostree_dir_arg, "pull-deploy", osname, NULL))
goto out;
if (!gs_subprocess_simple_run_sync (gs_file_get_path_cached (ostree_dir),
GS_SUBPROCESS_STREAM_DISPOSITION_NULL,
GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT,
cancellable, error,
"ostree", "admin", ostree_dir_arg, "prune", osname, NULL))
goto out;