diff --git a/package b/package index 412f75d..c4e3332 100755 --- a/package +++ b/package @@ -21,7 +21,7 @@ def create_args_parser(): parser.add_argument("--rebuild", help="Ignore cache and rebuild container's image", action="store_true", default=False) parser.add_argument("--debug", help="Will add extra output and start the container in interactive mode", action="store_true", default=False) parser.add_argument("--cleanup", help="Clear the workspace and remove obsolete Docker images before build", action="store_true", default=False) - parser.add_argument("-d", "--docker-arg", help="Additional argument to pass to the Docker execution", default=[], action='append') + parser.add_argument("-f", "--override-run-flags", help="Override 'docker run' flags", default=[], action='append') return parser @@ -83,27 +83,28 @@ if __name__ == "__main__": image_tag = build_image(build_workspace, base_image, args.profile, profile, debug=args.debug, rebuild=args.rebuild) - # rkt run arguments - docker_args = [ - "run", - "--rm", - "-v", "{:s}:/src:ro".format(project_dir), - "-v", "{:s}:/dist".format(output_dir), - "-v", "{:s}:/tamarin/hooks:ro".format(tamarin.get_hooks_dir()), - "-v", "{:s}:/tamarin/lib:ro".format(tamarin.get_lib_dir()), - "-v", "{:s}:/tamarin/profiles:ro".format(tamarin.get_profiles_dir()) - ] - - # Use environment proxy if defined - for proxy_var in ['HTTP_PROXY', 'HTTPS_PROXY', 'http_proxy', 'https_proxy']: - if proxy_var in os.environ: - docker_args += ["-e", "{:s}={:s}".format(proxy_var, os.environ[proxy_var])] - kwargs = dict() kwargs['debug'] = args.debug # Append custom arguments - docker_args += args.docker_arg + if len(args.override_run_flags) > 0: + docker_args += args.override_run_flags + else: + # rkt run arguments + docker_args = [ + "run", + "--rm", + "-v", "{:s}:/src:ro".format(project_dir), + "-v", "{:s}:/dist".format(output_dir), + "-v", "{:s}:/tamarin/hooks:ro".format(tamarin.get_hooks_dir()), + "-v", "{:s}:/tamarin/lib:ro".format(tamarin.get_lib_dir()), + "-v", "{:s}:/tamarin/profiles:ro".format(tamarin.get_profiles_dir()) + ] + + # Use environment proxy if defined + for proxy_var in ['HTTP_PROXY', 'HTTPS_PROXY', 'http_proxy', 'https_proxy']: + if proxy_var in os.environ: + docker_args += ["-e", "{:s}={:s}".format(proxy_var, os.environ[proxy_var])] if args.debug: kwargs['pty'] = True