cros_sdk.py: Execve bypassing chromite_wrapper help.
In the original implementation this tried to go load cros_sdk's main, and
invoke that. While it works, it also means that if chromite_wrapper triggers
cros_sdk, that invocation bypasses any setup (signal handlers for example)
that our wrapper does. Since phasing chromite_wrapper out will take a bit,
that isn't acceptable.
As such if we're invoked by chromite_wrapper, we assume total control and
execve to the proper entry point for cros_sdk.
BUG=chromium-os:26916
TEST=break scripts/wrapper, then try bin/cros_sdk vs cros_sdk. Former fails,
latter won't because chromite_wrapper is loading bin/cros_sdk.py
Change-Id: I6fa35ce98ce35b1463500ea1d72c3a85d62d8fc1
Reviewed-on: https://gerrit.chromium.org/gerrit/17131
Commit-Ready: Brian Harring <ferringb@chromium.org>
Tested-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
diff --git a/scripts/cros_sdk.py b/scripts/cros_sdk.py
index 66db447..0afa0a0 100644
--- a/scripts/cros_sdk.py
+++ b/scripts/cros_sdk.py
@@ -212,10 +212,8 @@
sys.exit(1)
-def main(argv=None):
+def main(argv):
# TODO(ferringb): make argv required once depot_tools is fixed.
- if argv is None:
- argv = sys.argv[1:]
usage="""usage: %prog [options] [VAR1=val1 .. VARn=valn -- <args>]
This script manages a local CrOS SDK chroot. Depending on the flags,
@@ -353,7 +351,3 @@
lock.read_lock()
EnterChroot(chroot_path, options.chrome_root,
options.chrome_root_mount, remaining_arguments)
-
-
-if __name__ == '__main__':
- main(sys.argv[1:])