All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] scripts/combo-layer: Fix exit codes and tty handling
@ 2015-06-03 16:44 Richard Purdie
  0 siblings, 0 replies; only message in thread
From: Richard Purdie @ 2015-06-03 16:44 UTC (permalink / raw)
  To: openembedded-core

If combo-layer is called from a non-interactive context we should exit
with a correct error code rather than try and drop to a shell.

This patch cleans up a few error case exit codes as well as
detecting and handling non-interactive usage.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

diff --git a/scripts/combo-layer b/scripts/combo-layer
index 698d3e3..4029d2b 100755
--- a/scripts/combo-layer
+++ b/scripts/combo-layer
@@ -502,6 +502,10 @@ def check_patch(patchfile):
         os.rename(patchfile + '.tmp', patchfile)
 
 def drop_to_shell(workdir=None):
+    if not sys.stdin.isatty():
+        print "Not a TTY so can't drop to shell for resolution, exiting."
+        return False
+
     shell = os.environ.get('SHELL', 'bash')
     print('Dropping to shell "%s"\n' \
           'When you are finished, run the following to continue:\n' \
@@ -547,7 +551,7 @@ def get_repos(conf, repo_names):
     for repo in repos:
         if not repo in conf.repos:
             logger.error("Specified component '%s' not found in configuration" % repo)
-            sys.exit(0)
+            sys.exit(1)
 
     if not repos:
         repos = conf.repos
@@ -695,7 +699,7 @@ def action_update(conf, args):
         print('You may now edit the patch and patch list in %s\n' \
               'For example, you can remove unwanted patch entries from patchlist-*, so that they will be not applied later' % patch_dir);
         if not drop_to_shell(patch_dir):
-            sys.exit(0)
+            sys.exit(1)
 
     # Step 6: apply the generated and revised patch
     apply_patchlist(conf, repos)
@@ -761,7 +765,7 @@ def apply_patchlist(conf, repos):
                         if not drop_to_shell():
                             if prevrev != repo['last_revision']:
                                 conf.update(name, "last_revision", prevrev)
-                            sys.exit(0)
+                            sys.exit(1)
                 prevrev = lastrev
                 i += 1
             # Once all patches are applied, we should update




^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2015-06-03 16:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-03 16:44 [PATCH] scripts/combo-layer: Fix exit codes and tty handling Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.