diff options
Diffstat (limited to 'extensions/ostree.check')
-rw-r--r-- | extensions/ostree.check | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/extensions/ostree.check b/extensions/ostree.check deleted file mode 100644 index e5fefe36..00000000 --- a/extensions/ostree.check +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/python -# Copyright (C) 2015 Codethink Limited -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see <http://www.gnu.org/licenses/>. - -'''Preparatory checks for Baserock 'ostree' write extension.''' - -from gi.repository import GLib -from gi.repository import Gio -from gi.repository import OSTree - -import logging -import os -import urlparse - -import writeexts - - -class OSTreeCheckExtension(writeexts.WriteExtension): - - def process_args(self, args): - if len(args) != 1: - raise writeexts.ExtensionError( - 'Wrong number of command line args') - - upgrade = self.get_environment_boolean('UPGRADE') - if upgrade: - raise writeexts.ExtensionError( - 'Use the `ssh-rsync` write extension to deploy upgrades to an ' - 'existing remote system.') - - location = args[0] - self.check_location(location) - - self.check_ostree_parameters() - - def check_location(self, location): - repo = OSTree.Repo.new(Gio.File.new_for_path(location)) - try: - repo.open() - except GLib.GError as e: - logging.debug("Error from OSTree: %s", e) - if 'No such file or directory' in e.message: - raise writeexts.ExtensionError( - "OSTree repo %s was not found." % location) - else: - raise writeexts.ExtensionError( - "Error opening OSTree repo %s: %s" % (location, e)) - - def check_ostree_parameters(self): - required = ['OSTREE_BRANCH', 'OSTREE_COMMIT_SUBJECT'] - for var in required: - if os.environ.get(var, '') == '': - raise writeexts.ExtensionError('%s was not given' % var) - - -OSTreeCheckExtension().run() |