deploy: Don't prune repo at finalization time by default

Doing so can break rpm-ostree, which wants to own the cleanup process
to ensure its baselayer refs are generated.

Further, doing the cleanup at shutdown time adds latency.  It's also
going to be generally unnecessary as we expect repo pruning to have
been done when writing the refs.

Closes: #1567
Approved by: jlebon
This commit is contained in:
Colin Walters 2018-04-30 14:41:30 -04:00 committed by Atomic Bot
parent 33d5b6f514
commit 11c12cc19a

View File

@ -2799,13 +2799,23 @@ _ostree_sysroot_finalize_staged (OstreeSysroot *self,
staged->staged = FALSE;
g_ptr_array_remove_index (self->deployments, 0);
/* TODO: Proxy across flags too? */
OstreeSysrootSimpleWriteDeploymentFlags flags = 0;
/* TODO: Proxy across flags too?
*
* But note that we always use NO_CLEAN to avoid adding more latency at
* shutdown, and also because e.g. rpm-ostree wants to own the cleanup
* process.
*/
OstreeSysrootSimpleWriteDeploymentFlags flags =
OSTREE_SYSROOT_SIMPLE_WRITE_DEPLOYMENT_FLAGS_NO_CLEAN;
if (!ostree_sysroot_simple_write_deployment (self, ostree_deployment_get_osname (staged),
staged, merge_deployment, flags,
cancellable, error))
return FALSE;
/* Do the basic cleanup that may impact /boot, but not the repo pruning */
if (!ostree_sysroot_prepare_cleanup (self, cancellable, error))
return FALSE;
return TRUE;
}