From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6750962531146137600 X-Received: by 2002:a05:6402:205c:: with SMTP id bc28mr5308937edb.124.1573152966949; Thu, 07 Nov 2019 10:56:06 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a50:f092:: with SMTP id v18ls1781176edl.9.gmail; Thu, 07 Nov 2019 10:56:06 -0800 (PST) X-Google-Smtp-Source: APXvYqzxECNNLiThPjJbgDWeW2TjE3KTFQ0gWEYeFocDc8FGGefkNA1jaZCdpVP/13jE9hZcmVSo X-Received: by 2002:a50:eacc:: with SMTP id u12mr5386158edp.290.1573152966498; Thu, 07 Nov 2019 10:56:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573152966; cv=none; d=google.com; s=arc-20160816; b=asHMOOp0oXyKh7M1VCE19EESBXPvT9P6Pxmcsrj9+4qDOnt0EvHDY4cMQaKmeewZvx fl2pnz3VbiDxnfk478+XlABSRYn18w5ouw0XMqoxK7SoS1s+c1xIKx7Lb0ZR05spuStW JBAAihY7DlpKXbSnUpZ38M5hU8WivTcRynIieZ2jpnoaDJyAsYzL/XK6oO6KJ9hmRyxW awlSCgafg0P31ND/LtrzAqMgyWJD5GnS8j7cgLSOvqC0ZSQ4yy6/OwdK8kk2SpULScC0 rP2+GxG/V6QE958oUfuQm7CBJLRzOlqE4jdhH45tdOsV4LuRypeeYbXnKdHudkoboxm9 e9Tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=2pge1377u71DzUdW88SBZGxYblyhYK2GoedDthYnsfs=; b=EqL65xVYwm7Dsa7K3Vv9p3Sv67mAcHAgqqahYpVtTXxX6XuoMIgKz8WjwJUvrVpsTZ a0UwfJrQityzqm94R7NA7vb1f/H6GUiDKipR7tI0ZMbCJpX/IIkau7BB5aO46iDPCpMP FG/RqN9Y+QSjZvlD+VPdKa9zpatSVqphoV/Ftpl8Qso23opuL/zAyECRiZyZg6kNiKPs lZG4YEGzQc2rJfmw2H/YrhHQTb0sBf04xmeIdQP6IJxXh7nPz2SI9W+vWKd1rBkcCjrQ bU8mgSxuQubsLAW6iK0sQ0IjD8bbM/dVO1ArSYVZGCd1A8FvrWdGZldo1b6fRRnDEBv2 ttIw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id q17si436459edi.1.2019.11.07.10.56.06 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Nov 2019 10:56:06 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id xA7Iu5u1008950 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 7 Nov 2019 19:56:05 +0100 Received: from md1za8fc.ad001.siemens.net ([139.25.0.32]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id xA7Iu5AC030558; Thu, 7 Nov 2019 19:56:05 +0100 From: Henning Schild To: isar-users@googlegroups.com Cc: Jan Kiszka , Baurzhan Ismagulov , chombourger@gmail.com, Henning Schild Subject: [PATCHv3 6/9] base: implement BB_NO_NETWORK for apt-get Date: Thu, 7 Nov 2019 19:56:00 +0100 Message-Id: <20191107185603.9077-7-henning.schild@siemens.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191107185603.9077-1-henning.schild@siemens.com> References: <20191107185603.9077-1-henning.schild@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUID: cFD0Gy9kz4Za From: Henning Schild BB_NO_NETWORK should stop all fetchers from downloading stuff, but apt-get will continue to access the network. To make it respect the wish for no network, inject a proxy that will not work, forcing it to eventually fail so when trying to download something. Signed-off-by: Henning Schild --- meta/classes/base.bbclass | 13 +++++++++++++ meta/classes/dpkg-base.bbclass | 4 ++-- meta/classes/dpkg-gbp.bbclass | 2 +- meta/classes/dpkg.bbclass | 4 ++-- meta/classes/image-tools-extension.bbclass | 2 +- meta/classes/rootfs.bbclass | 2 +- meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 2 +- meta/recipes-kernel/linux/linux-custom.inc | 4 ++-- 8 files changed, 23 insertions(+), 10 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 0670430..4bd17e3 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -125,6 +125,19 @@ python() { ) } +def isar_export_proxies(d): + deadend_proxy = 'http://this.should.fail:4242' + variables = ['http_proxy', 'HTTP_PROXY', 'https_proxy', 'HTTPS_PROXY', + 'ftp_proxy', 'FTP_PROXY' ] + + if d.getVar('BB_NO_NETWORK') == "1": + for v in variables: + d.setVar(v, deadend_proxy) + for v in [ 'no_proxy', 'NO_PROXY' ]: + d.setVar(v, '') + + return bb.utils.export_proxies(d) + # filter out all "apt://" URIs out of SRC_URI and stick them into SRC_APT python() { src_uri = (d.getVar('SRC_URI', True) or "").split() diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index adc0e85..0be1627 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -30,7 +30,7 @@ do_apt_fetch() { fi rm -rf ${S} dpkg_do_mounts - E="${@ bb.utils.export_proxies(d)}" + E="${@ isar_export_proxies(d)}" sudo -E chroot ${BUILDCHROOT_DIR} /usr/bin/apt-get update \ -o Dir::Etc::SourceList="sources.list.d/isar-apt.list" \ -o Dir::Etc::SourceParts="-" \ @@ -154,7 +154,7 @@ python do_devshell() { bb.build.exec_func('dpkg_do_mounts', d) - bb.utils.export_proxies(d) + isar_export_proxies(d) buildchroot = d.getVar('BUILDCHROOT_DIR') pp_pps = os.path.join(d.getVar('PP'), d.getVar('PPS')) diff --git a/meta/classes/dpkg-gbp.bbclass b/meta/classes/dpkg-gbp.bbclass index 8a8e0f4..e2db671 100644 --- a/meta/classes/dpkg-gbp.bbclass +++ b/meta/classes/dpkg-gbp.bbclass @@ -12,7 +12,7 @@ GBP_EXTRA_OPTIONS ?= "--git-pristine-tar" do_install_builddeps_append() { dpkg_do_mounts - E="${@ bb.utils.export_proxies(d)}" + E="${@ isar_export_proxies(d)}" sudo -E chroot ${BUILDCHROOT_DIR} \ apt-get install -y -o Debug::pkgProblemResolver=yes \ --no-install-recommends ${GBP_DEPENDS} diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass index 19d77a2..180a3a8 100644 --- a/meta/classes/dpkg.bbclass +++ b/meta/classes/dpkg.bbclass @@ -6,7 +6,7 @@ inherit dpkg-base # Install build dependencies for package do_install_builddeps() { dpkg_do_mounts - E="${@ bb.utils.export_proxies(d)}" + E="${@ isar_export_proxies(d)}" sudo -E chroot ${BUILDCHROOT_DIR} /isar/deps.sh ${PP}/${PPS} ${DISTRO_ARCH} dpkg_undo_mounts } @@ -19,7 +19,7 @@ addtask devshell after do_install_builddeps # Build package from sources using build script dpkg_runbuild() { - E="${@ bb.utils.export_proxies(d)}" + E="${@ isar_export_proxies(d)}" sudo -E chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} \ /isar/build.sh ${PP}/${PPS} ${DISTRO_ARCH} } diff --git a/meta/classes/image-tools-extension.bbclass b/meta/classes/image-tools-extension.bbclass index 2d8a777..d4f216d 100644 --- a/meta/classes/image-tools-extension.bbclass +++ b/meta/classes/image-tools-extension.bbclass @@ -24,7 +24,7 @@ do_install_imager_deps() { buildchroot_do_mounts - E="${@bb.utils.export_proxies(d)}" + E="${@ isar_export_proxies(d)}" sudo -E chroot ${BUILDCHROOT_DIR} sh -c ' \ apt-get update \ -o Dir::Etc::SourceList="sources.list.d/isar-apt.list" \ diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index 72303fe..fa915f8 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -18,7 +18,7 @@ ROOTFS_APT_ARGS="install --yes -o Debug::pkgProblemResolver=yes" ROOTFS_CLEAN_FILES="/etc/hostname /etc/resolv.conf" # Useful environment variables: -export E = "${@ bb.utils.export_proxies(d)}" +export E = "${@ isar_export_proxies(d)}" export DEBIAN_FRONTEND = "noninteractive" # To avoid Perl locale warnings: export LANG = "C" diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc index 1a58471..203a557 100644 --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc +++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc @@ -240,7 +240,7 @@ isar_bootstrap() { debootstrap_args="$debootstrap_args --no-check-gpg" fi fi - E="${@bb.utils.export_proxies(d)}" + E="${@ isar_export_proxies(d)}" export IS_HOST debootstrap_args E sudo -E -s <<'EOSUDO' set -e diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc index dc2af1a..fcbe326 100644 --- a/meta/recipes-kernel/linux/linux-custom.inc +++ b/meta/recipes-kernel/linux/linux-custom.inc @@ -40,7 +40,7 @@ KERNEL_LIBC_DEV_DEPLOY ?= "0" do_install_builddeps() { dpkg_do_mounts - E="${@ bb.utils.export_proxies(d)}" + E="${@ isar_export_proxies(d)}" sudo -E chroot ${BUILDCHROOT_DIR} \ apt-get update \ -o Dir::Etc::SourceList="sources.list.d/isar-apt.list" \ @@ -65,7 +65,7 @@ dpkg_runbuild() { cp ${WORKDIR}/${KERNEL_DEFCONFIG} ${S}/.config fi - E="${@ bb.utils.export_proxies(d)}" + E="${@ isar_export_proxies(d)}" export PV=${PV} export KERNEL_NAME=${KERNEL_NAME_PROVIDED} -- 2.23.0