diff options
author | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2014-03-10 17:17:01 +0000 |
---|---|---|
committer | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2014-03-10 17:27:53 +0000 |
commit | c1d73faab8d3a9ad50e76c57d41ccbf266a88048 (patch) | |
tree | 963494ce8e72e429cdb105ca6e5023ff69aa6c4b /morphlib | |
parent | 444ba7c2f0f3d53753abeff6dfd33681279a3d84 (diff) | |
download | morph-c1d73faab8d3a9ad50e76c57d41ccbf266a88048.tar.gz |
Reduce spam from setting up staging area
Make the message "Installing chunk..." be chatty, i.e., only displayed
when the user turns verbosity higher. Most of the time the chunk is
already unpacked in the cache, so installing it takes a fraction of
a second.
Add a new message, at default verbosity, when a chunk needs to be
unpacked. This can take a while, so a message is appropriate, so the
user knows what is happening.
Diffstat (limited to 'morphlib')
-rw-r--r-- | morphlib/buildcommand.py | 9 | ||||
-rw-r--r-- | morphlib/stagingarea.py | 5 | ||||
-rw-r--r-- | morphlib/stagingarea_tests.py | 2 |
3 files changed, 10 insertions, 6 deletions
diff --git a/morphlib/buildcommand.py b/morphlib/buildcommand.py index 137c63b4..862ae715 100644 --- a/morphlib/buildcommand.py +++ b/morphlib/buildcommand.py @@ -454,10 +454,11 @@ class BuildCommand(object): if artifact.source.build_mode == 'bootstrap': if not self.in_same_stratum(artifact, target_artifact): continue - self.app.status(msg='Installing chunk %(chunk_name)s ' - 'from cache %(cache)s', - chunk_name=artifact.name, - cache=artifact.cache_key[:7]) + self.app.status( + msg='Installing chunk %(chunk_name)s from cache %(cache)s', + chunk_name=artifact.name, + cache=artifact.cache_key[:7], + chatty=True) handle = self.lac.get(artifact) staging_area.install_artifact(handle) diff --git a/morphlib/stagingarea.py b/morphlib/stagingarea.py index 286e5374..dca19c23 100644 --- a/morphlib/stagingarea.py +++ b/morphlib/stagingarea.py @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2013 Codethink Limited +# Copyright (C) 2012-2014 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 @@ -160,6 +160,9 @@ class StagingArea(object): unpacked_artifact = os.path.join( chunk_cache_dir, os.path.basename(handle.name) + '.d') if not os.path.exists(unpacked_artifact): + self._app.status( + msg='Unpacking chunk from cache %(filename)s', + filename=os.path.basename(handle.name)) savedir = tempfile.mkdtemp(dir=chunk_cache_dir) try: morphlib.bins.unpack_binary_from_file( diff --git a/morphlib/stagingarea_tests.py b/morphlib/stagingarea_tests.py index 27f85dff..1c424ab8 100644 --- a/morphlib/stagingarea_tests.py +++ b/morphlib/stagingarea_tests.py @@ -57,7 +57,7 @@ class FakeApplication(object): def runcmd_unchecked(self, *args, **kwargs): return cliapp.runcmd_unchecked(*args, **kwargs) - def status(self, msg): + def status(self, **kwargs): pass |