From 2f136bbe47aaeadecccd4313567faa390fa93229 Mon Sep 17 00:00:00 2001 From: Giuseppe Scrivano Date: Wed, 26 Apr 2017 15:15:18 +0200 Subject: [PATCH] syscontainers: drop support for OSTree < 2016.8 Assume OSTree is new enough that `checkout_at` is present. Signed-off-by: Giuseppe Scrivano Closes: #979 Approved by: rhatdan --- Atomic/syscontainers.py | 33 +++++++-------------------------- 1 file changed, 7 insertions(+), 26 deletions(-) diff --git a/Atomic/syscontainers.py b/Atomic/syscontainers.py index 133b1d1..3785ee8 100644 --- a/Atomic/syscontainers.py +++ b/Atomic/syscontainers.py @@ -94,32 +94,13 @@ class SystemContainers(object): return OSTREE_PRESENT def _checkout_layer(self, repo, rootfs_fd, rootfs, rev): - # ostree 2016.8 has a glib introspection safe API for checkout, use it - # when available. - if hasattr(repo, "checkout_at"): - options = OSTree.RepoCheckoutAtOptions() # pylint: disable=no-member - options.overwrite_mode = OSTree.RepoCheckoutOverwriteMode.UNION_FILES - options.process_whiteouts = True - options.disable_fsync = True - if self.user: - options.mode = OSTree.RepoCheckoutMode.USER - repo.checkout_at(options, rootfs_fd, rootfs, rev) - else: - if self.user: - user = ["--user-mode"] - else: - user = [] - util.check_call(["ostree", "--repo=%s" % self.get_ostree_repo_location(), - "checkout", - "--union"] + - user + - ["--whiteouts", - "--fsync=no", - rev, - rootfs], - stdin=DEVNULL, - stdout=DEVNULL, - stderr=DEVNULL) + options = OSTree.RepoCheckoutAtOptions() # pylint: disable=no-member + options.overwrite_mode = OSTree.RepoCheckoutOverwriteMode.UNION_FILES + options.process_whiteouts = True + options.disable_fsync = True + if self.user: + options.mode = OSTree.RepoCheckoutMode.USER + repo.checkout_at(options, rootfs_fd, rootfs, rev) def set_args(self, args): self.args = args