From patchwork Mon Mar 6 20:55:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 9607651 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 24013601D2 for ; Mon, 6 Mar 2017 20:55:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4681E28428 for ; Mon, 6 Mar 2017 20:55:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3B66428434; Mon, 6 Mar 2017 20:55:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, T_DKIM_INVALID, WEIRD_PORT autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 9C7D428428 for ; Mon, 6 Mar 2017 20:55:47 +0000 (UTC) Received: from localhost ([::1]:46084 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ckzfW-0008SR-JJ for patchwork-qemu-devel@patchwork.kernel.org; Mon, 06 Mar 2017 15:55:46 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51610) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ckzfM-0008SL-8E for qemu-devel@nongnu.org; Mon, 06 Mar 2017 15:55:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ckzfI-00046t-7Y for qemu-devel@nongnu.org; Mon, 06 Mar 2017 15:55:36 -0500 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]:33610) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ckzfI-00046E-2n for qemu-devel@nongnu.org; Mon, 06 Mar 2017 15:55:32 -0500 Received: by mail-qk0-x242.google.com with SMTP id j127so29439826qke.0 for ; Mon, 06 Mar 2017 12:55:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=f8YQYIgU97xAKTYtW4NthUUpl5b1PngR+Lm2rjVEEk0=; b=BmMJIMYKIbhkEndKuLXw1cgfjitJ4OgTsyGvyYBm1a4bqpCpv45QQyztGVP0HIl3KV kNw4eoh2L8kXyAAKXlnBQeLZnu3B1h9WwiNcoXEFDukaTxi7U/7eikxHerOCxOKSkHkM e/qt/ToZwG/7Wd4Aw2ah6MYwtuvyJY8jX1QFNHEHtx544gw8qk0OG4ZUwaiaSiLQy6CU hwRrbZVABCgRw0yL2OLeqwJwX/It4CVM8hQNnCVwVHTa6awkHfDSkQR/1zyakWqTsMsh OQk3gF+NjsKGev5+cgNvjhhBFov/tnUTFmweW3UDHevpH6lkvuVDthYHNFonjpywdB4y S9tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=f8YQYIgU97xAKTYtW4NthUUpl5b1PngR+Lm2rjVEEk0=; b=WmoJIrkkKa0R2d6/s6rxLf8ZUbiwJlOjfipFMdEnguj0miChpjVZw5RwyUI/1D+0Ti LS90VaKR8zJ6O0QqBzP/zg2rQ9A/0tH1101b73PJWJd7/ivVVchcpKwoAR0JjMlPI+nc /ZCzFjV+dn7HhBCDocvoZ/SFWQ1u67MxJfoiRnGE/9iRGLB7BMHKCgpci0OCUEoUEBvD AQ4O3N6uSJg+9lyh+V1A5Wx0drDVDAGnGmfReyjJD8jHlA0JUy4SmHCbSbdXSkcDkeQI sepY2gV5ziq3Dkg1lmPjbxly2VLvm7rpTnJCXimqhzsw95jsKPdR38NFGgd5m9OudkqM BF5Q== X-Gm-Message-State: AMke39m/OrcojQCwKi5e5SMgmSeZGRDDCbkSD8v/CB06+VZYgQn08ZdMFbd2Ayx3QFfODA== X-Received: by 10.55.104.1 with SMTP id d1mr16198078qkc.299.1488833731382; Mon, 06 Mar 2017 12:55:31 -0800 (PST) Received: from yoga.lan ([138.117.48.226]) by smtp.gmail.com with ESMTPSA id f128sm14104155qkd.62.2017.03.06.12.55.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Mar 2017 12:55:30 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Fam Zheng Date: Mon, 6 Mar 2017 17:55:20 -0300 Message-Id: <20170306205520.32311-1-f4bug@amsat.org> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:400d:c09::242 Subject: [Qemu-devel] [PATCH v3] tests/docker: support proxy / corporate firewall X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP if ftp_proxy/http_proxy/https_proxy standard environment variables available, pass them to the docker daemon to build images. this is required when building behind corporate proxy/firewall, but also help when using local cache server (ie: apt/yum). Signed-off-by: Philippe Mathieu-Daudé --- v3: corrected test example v2: use Fam Zheng's pythonized one-line, renamed env vars to lowercase. debian builds can be tested using Sameer Naik docker image (see https://github.com/sameersbn/docker-apt-cacher-ng#quickstart) $ docker run --name apt-cacher-ng -d --restart=always \ --publish 3142:3142 \ --volume /var/cache/apt-cacher-ng:/var/cache/apt-cacher-ng \ --privileged \ sameersbn/apt-cacher-ng:latest $ HTTP_PROXY=http://172.17.0.1:3142 make docker-test-build@debian-armhf-cross ^ +-- docker gateway extracted with: $ docker inspect apt-cacher-ng | jq '[.. | objects | ."Gateway"] | unique' [ "172.17.0.1" ] tests/docker/docker.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/docker/docker.py b/tests/docker/docker.py index 9fd32ab5fa..8747f6a440 100755 --- a/tests/docker/docker.py +++ b/tests/docker/docker.py @@ -28,6 +28,9 @@ from shutil import copy, rmtree from pwd import getpwuid +FILTERED_ENV_NAMES = ['ftp_proxy', 'http_proxy', 'https_proxy'] + + DEVNULL = open(os.devnull, 'wb') @@ -272,6 +275,9 @@ class BuildCommand(SubCommand): _copy_binary_with_libs(args.include_executable, docker_dir) + argv += ["--build-arg=" + k.lower() + "=" + v + for k, v in os.environ.iteritems() + if k.lower() in FILTERED_ENV_NAMES] dkr.build_image(tag, docker_dir, dockerfile, quiet=args.quiet, user=args.user, argv=argv)