mirror of
https://github.com/ostreedev/ostree.git
synced 2024-12-22 17:35:55 +03:00
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-diff.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-status.c \
|
||||
src/ostree/ot-admin-builtin-upgrade.c \
|
||||
|
@ -28,59 +28,27 @@
|
||||
|
||||
#include <glib/gi18n.h>
|
||||
|
||||
static gboolean opt_no_repo_prune;
|
||||
|
||||
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 }
|
||||
};
|
||||
|
||||
|
||||
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;
|
||||
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;
|
||||
|
||||
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);
|
||||
|
||||
if (!g_option_context_parse (context, &argc, &argv, error))
|
||||
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))
|
||||
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;
|
||||
out:
|
||||
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_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_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_diff (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 },
|
||||
{ "deploy", ot_admin_builtin_deploy },
|
||||
{ "upgrade", ot_admin_builtin_upgrade },
|
||||
{ "prune", ot_admin_builtin_prune },
|
||||
{ "cleanup", ot_admin_builtin_cleanup },
|
||||
{ "status", ot_admin_builtin_status },
|
||||
{ "config-diff", ot_admin_builtin_diff },
|
||||
{ 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'
|
||||
|
||||
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
Block a user