[ostree] upgrade: Support --allow-downgrade again



commit 5bca5695067333086d8e6ff592e6d00ed578a885
Author: Colin Walters <walters verbum org>
Date:   Mon Mar 31 22:27:34 2014 -0400

    upgrade: Support --allow-downgrade again
    
    This was unintentially dropped with the OstreeSysrootUpgrader rebase.

 src/libostree/ostree-sysroot-upgrader.c |    5 ++++-
 src/ostree/ot-admin-builtin-upgrade.c   |    7 ++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/src/libostree/ostree-sysroot-upgrader.c b/src/libostree/ostree-sysroot-upgrader.c
index c262f2b..b62f8d4 100644
--- a/src/libostree/ostree-sysroot-upgrader.c
+++ b/src/libostree/ostree-sysroot-upgrader.c
@@ -464,8 +464,11 @@ ostree_sysroot_upgrader_pull (OstreeSysrootUpgrader  *self,
     }
   else
     {
+      gboolean allow_older = (upgrader_flags & OSTREE_SYSROOT_UPGRADER_PULL_FLAGS_ALLOW_OLDER) > 0;
+
       *out_changed = TRUE;
-      if (from_revision)
+
+      if (from_revision && !allow_older)
         {
           if (!ostree_sysroot_upgrader_check_timestamps (repo, from_revision,
                                                          self->new_revision,
diff --git a/src/ostree/ot-admin-builtin-upgrade.c b/src/ostree/ot-admin-builtin-upgrade.c
index a2de168..e6da241 100644
--- a/src/ostree/ot-admin-builtin-upgrade.c
+++ b/src/ostree/ot-admin-builtin-upgrade.c
@@ -61,6 +61,7 @@ ot_admin_builtin_upgrade (int argc, char **argv, OstreeSysroot *sysroot, GCancel
   GSConsole *console;
   gs_unref_object OstreeAsyncProgress *progress = NULL;
   gboolean changed;
+  OstreeSysrootUpgraderPullFlags upgraderpullflags = 0;
 
   context = g_option_context_new ("Construct new tree from current origin and deploy it, if it changed");
   g_option_context_add_main_entries (context, options, NULL);
@@ -83,7 +84,11 @@ ot_admin_builtin_upgrade (int argc, char **argv, OstreeSysroot *sysroot, GCancel
       progress = ostree_async_progress_new_and_connect (ot_common_pull_progress, console);
     }
 
-  if (!ostree_sysroot_upgrader_pull (upgrader, 0, 0, progress, &changed,
+  if (opt_allow_downgrade)
+    upgraderpullflags |= OSTREE_SYSROOT_UPGRADER_PULL_FLAGS_ALLOW_OLDER;
+
+  if (!ostree_sysroot_upgrader_pull (upgrader, 0, upgraderpullflags,
+                                     progress, &changed,
                                      cancellable, error))
     goto out;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]