admin: Rename prune -> cleanup, avoid doing repo prune twice
Calling it "cleanup" is better since it does more than repo pruning. We were also doing a prune twice; ot_admin_cleanup() already does one, so drop the bits to do it in cleanup.c.
This commit is contained in:
parent
d5f1ce4e17
commit
fb93b95807
|
|
@ -48,7 +48,7 @@ ostree_SOURCES += \
|
||||||
src/ostree/ot-admin-builtin-init-fs.c \
|
src/ostree/ot-admin-builtin-init-fs.c \
|
||||||
src/ostree/ot-admin-builtin-diff.c \
|
src/ostree/ot-admin-builtin-diff.c \
|
||||||
src/ostree/ot-admin-builtin-deploy.c \
|
src/ostree/ot-admin-builtin-deploy.c \
|
||||||
src/ostree/ot-admin-builtin-prune.c \
|
src/ostree/ot-admin-builtin-cleanup.c \
|
||||||
src/ostree/ot-admin-builtin-os-init.c \
|
src/ostree/ot-admin-builtin-os-init.c \
|
||||||
src/ostree/ot-admin-builtin-status.c \
|
src/ostree/ot-admin-builtin-status.c \
|
||||||
src/ostree/ot-admin-builtin-upgrade.c \
|
src/ostree/ot-admin-builtin-upgrade.c \
|
||||||
|
|
|
||||||
|
|
@ -28,59 +28,27 @@
|
||||||
|
|
||||||
#include <glib/gi18n.h>
|
#include <glib/gi18n.h>
|
||||||
|
|
||||||
static gboolean opt_no_repo_prune;
|
|
||||||
|
|
||||||
static GOptionEntry options[] = {
|
static GOptionEntry options[] = {
|
||||||
{ "no-repo-prune", 0, 0, G_OPTION_ARG_NONE, &opt_no_repo_prune, "Only prune deployment checkouts; don't prune repository", NULL },
|
|
||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
ot_admin_builtin_prune (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error)
|
ot_admin_builtin_cleanup (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error)
|
||||||
{
|
{
|
||||||
GOptionContext *context;
|
GOptionContext *context;
|
||||||
gboolean ret = FALSE;
|
gboolean ret = FALSE;
|
||||||
gs_unref_object GFile *repo_path = NULL;
|
|
||||||
gs_unref_object GFile *deploy_dir = NULL;
|
|
||||||
gs_unref_object GFile *current_deployment = NULL;
|
|
||||||
gs_unref_object GFile *previous_deployment = NULL;
|
|
||||||
gs_unref_object GFile *active_deployment = NULL;
|
|
||||||
gs_free char *active_osname = NULL;
|
|
||||||
__attribute__((unused)) GCancellable *cancellable = NULL;
|
__attribute__((unused)) GCancellable *cancellable = NULL;
|
||||||
|
|
||||||
context = g_option_context_new ("OSNAME - Delete untagged deployments and repository objects");
|
context = g_option_context_new ("Delete untagged deployments and repository objects");
|
||||||
|
|
||||||
g_option_context_add_main_entries (context, options, NULL);
|
g_option_context_add_main_entries (context, options, NULL);
|
||||||
|
|
||||||
if (!g_option_context_parse (context, &argc, &argv, error))
|
if (!g_option_context_parse (context, &argc, &argv, error))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
if (argc < 2)
|
|
||||||
{
|
|
||||||
ot_util_usage_error (context, "OSNAME must be specified", error);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!ot_admin_cleanup (admin_opts->sysroot, cancellable, error))
|
if (!ot_admin_cleanup (admin_opts->sysroot, cancellable, error))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
repo_path = g_file_resolve_relative_path (admin_opts->sysroot, "ostree/repo");
|
|
||||||
|
|
||||||
if (!opt_no_repo_prune)
|
|
||||||
{
|
|
||||||
gs_free char *repo_arg = NULL;
|
|
||||||
|
|
||||||
repo_arg = g_strconcat ("--repo=", gs_file_get_path_cached (repo_path), NULL);
|
|
||||||
|
|
||||||
if (!gs_subprocess_simple_run_sync (NULL,
|
|
||||||
GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT,
|
|
||||||
cancellable, error,
|
|
||||||
"ostree", repo_arg, "prune", "--refs-only",
|
|
||||||
"--depth=0", NULL))
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
out:
|
out:
|
||||||
if (context)
|
if (context)
|
||||||
|
|
@ -34,7 +34,7 @@ gboolean ot_admin_builtin_os_init (int argc, char **argv, OtAdminBuiltinOpts *ad
|
||||||
gboolean ot_admin_builtin_install (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
gboolean ot_admin_builtin_install (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
||||||
gboolean ot_admin_builtin_init_fs (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
gboolean ot_admin_builtin_init_fs (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
||||||
gboolean ot_admin_builtin_deploy (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
gboolean ot_admin_builtin_deploy (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
||||||
gboolean ot_admin_builtin_prune (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
gboolean ot_admin_builtin_cleanup (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
||||||
gboolean ot_admin_builtin_status (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
gboolean ot_admin_builtin_status (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
||||||
gboolean ot_admin_builtin_diff (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
gboolean ot_admin_builtin_diff (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
||||||
gboolean ot_admin_builtin_upgrade (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
gboolean ot_admin_builtin_upgrade (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ static OstreeAdminCommand admin_subcommands[] = {
|
||||||
{ "init-fs", ot_admin_builtin_init_fs },
|
{ "init-fs", ot_admin_builtin_init_fs },
|
||||||
{ "deploy", ot_admin_builtin_deploy },
|
{ "deploy", ot_admin_builtin_deploy },
|
||||||
{ "upgrade", ot_admin_builtin_upgrade },
|
{ "upgrade", ot_admin_builtin_upgrade },
|
||||||
{ "prune", ot_admin_builtin_prune },
|
{ "cleanup", ot_admin_builtin_cleanup },
|
||||||
{ "status", ot_admin_builtin_status },
|
{ "status", ot_admin_builtin_status },
|
||||||
{ "config-diff", ot_admin_builtin_diff },
|
{ "config-diff", ot_admin_builtin_diff },
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
|
|
|
||||||
|
|
@ -56,3 +56,9 @@ assert_has_dir sysroot/boot/ostree/testos-${bootcsum}
|
||||||
assert_file_has_content sysroot/ostree/deploy/testos/deploy/${newrev}.0/etc/os-release 'NAME=TestOS'
|
assert_file_has_content sysroot/ostree/deploy/testos/deploy/${newrev}.0/etc/os-release 'NAME=TestOS'
|
||||||
|
|
||||||
echo "ok deploy and GC /boot"
|
echo "ok deploy and GC /boot"
|
||||||
|
|
||||||
|
ostree admin --sysroot=sysroot cleanup
|
||||||
|
assert_has_dir sysroot/boot/ostree/testos-${bootcsum}
|
||||||
|
assert_file_has_content sysroot/ostree/deploy/testos/deploy/${newrev}.0/etc/os-release 'NAME=TestOS'
|
||||||
|
|
||||||
|
echo "ok manual cleanup"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue