From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6607733288662466560 X-Received: by 2002:a1c:e482:: with SMTP id b124-v6mr268827wmh.22.1539276809931; Thu, 11 Oct 2018 09:53:29 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:208d:: with SMTP id g135-v6ls1506365wmg.20.canary-gmail; Thu, 11 Oct 2018 09:53:29 -0700 (PDT) X-Google-Smtp-Source: ACcGV62tpWByJRc0liOvz7WOXxU70MDyEks5ErwEiPQ6Tq3hqaC7Q2ZQ226lUSCppIdfmBcPLdPA X-Received: by 2002:a1c:9010:: with SMTP id s16-v6mr277378wmd.23.1539276809504; Thu, 11 Oct 2018 09:53:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539276809; cv=none; d=google.com; s=arc-20160816; b=xqoRpT1JGXNU/0b2mAH0DLmy1GfixizLMXRcrEBTKa9lnOAi3uQVGcZmFNMeTNIX9S CKD4bVJGakwnr7j9sGMILwy5RGAwBZARchlTrL0kDWzFoNkx6QZ2AHfVf5q8jl2uSaK9 IWIopfISUAJzDBPULwxPwbTzezlfCAQWaMBZWIz85JEjhNJKllWxF/6xW+EByI4gCoQA wh1/UIvdIcdBkK+Mb75MijQAn7u3tOePgzoEtCODyW72WuDof//8QGb9QMkLW6mkd0uz eAPydBacLzVSqgKEg5aDsk8RPOQJ8CipLdkQxAil0ZupdKUdH3cTnmXSVm0MzNAIuW8s 3gew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:to:from; bh=B/pZr0ikuRhkZiuhhW0NG0qvJJokwXlA7G4vOGRsNCI=; b=AVQJ22B3PFydUsb91w4LS5irud7lBingTx83S7/fShd/Q1ubA82GcJ19Psu5o4dVF9 zjvMaQQSOm2xNw4NH0wgETUyA5243au8TnBj/gpkGCjE1PJuaEXEtfDI8qxIlsDEfawE Xiya4sAt94CTwJme/CtxsogdJBlQXzpq1tHP7Lor9pCEonXe2T97HaRE6qq5OLBjfS6z jZomECPnwHNROwZcfnVaD/uY9LR/c8Gbz1k9TCekG3NHRvix3jD1YzlOTqo5wnrXhzgz f5UNFksoT4WEzh0PCeg00SKkvmqFNF4EaJIVwOT5dBfW+Ubogu1ylh0HuD8n/+sTLrVO x5qA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: best guess record for domain of mosipov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=mosipov@ilbers.de Return-Path: Received: from aqmola.ilbers.de (aqmola.ilbers.de. [85.214.62.211]) by gmr-mx.google.com with ESMTPS id 191-v6si1117268wmv.0.2018.10.11.09.53.29 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Oct 2018 09:53:29 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of mosipov@ilbers.de designates 85.214.62.211 as permitted sender) client-ip=85.214.62.211; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: best guess record for domain of mosipov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=mosipov@ilbers.de Received: from azat.m.ilbers.de (host-80-81-17-52.static.customer.m-online.net [80.81.17.52]) (authenticated bits=0) by aqmola.ilbers.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id w9BGr67c015654 (version=TLSv1/SSLv3 cipher=AES128-SHA256 bits=128 verify=NOT) for ; Thu, 11 Oct 2018 18:53:28 +0200 From: "Maxim Yu. Osipov" To: isar-users@googlegroups.com Subject: [PATCH v2 06/10] isar-bootstrap: Make possible to reuse the cache Date: Thu, 11 Oct 2018 18:53:01 +0200 Message-Id: <20181011165305.1622-7-mosipov@ilbers.de> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181011165305.1622-1-mosipov@ilbers.de> References: <20181011165305.1622-1-mosipov@ilbers.de> X-TUID: YN6aQOsn/xgS From: Alexander Smirnov Signed-off-by: Alexander Smirnov Signed-off-by: Maxim Yu. Osipov --- .../isar-bootstrap/files/base-apt-sources | 1 + .../recipes-core/isar-bootstrap/isar-bootstrap.inc | 32 ++++++++++++++++------ 2 files changed, 24 insertions(+), 9 deletions(-) create mode 100644 meta/recipes-core/isar-bootstrap/files/base-apt-sources diff --git a/meta/recipes-core/isar-bootstrap/files/base-apt-sources b/meta/recipes-core/isar-bootstrap/files/base-apt-sources new file mode 100644 index 0000000..594db56 --- /dev/null +++ b/meta/recipes-core/isar-bootstrap/files/base-apt-sources @@ -0,0 +1 @@ +deb file:///base-apt/debian {DISTRO} main diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc index cfad136..cc1791c 100644 --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc +++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc @@ -12,18 +12,24 @@ SRC_URI = " \ file://isar-apt.conf \ file://isar-apt-fallback.conf \ file://locale \ - file://chroot-setup.sh" + file://chroot-setup.sh \ + file://base-apt-sources" PV = "1.0" DEBOOTSTRAP ?= "qemu-debootstrap" ROOTFSDIR = "${WORKDIR}/rootfs" APTPREFS = "${WORKDIR}/apt-preferences" APTSRCS = "${WORKDIR}/apt-sources" +BASEAPTSRCS = "${WORKDIR}/base-apt-sources" APTKEYFILES = "" APTKEYRING = "${WORKDIR}/apt-keyring.gpg" DEBOOTSTRAP_KEYRING = "" DEPLOY_ISAR_BOOTSTRAP ?= "" +DISTRO_APT_PREMIRRORS ?= "${@ "http://ftp\.(\S+\.)?debian.org file:///${REPO_BASE_DIR} \n" if bb.utils.to_boolean(d.getVar('ISAR_USE_CACHED_BASE_REPO')) else "" }" + +inherit base-apt-helper + python () { from urllib.parse import urlparse distro_apt_keys = d.getVar("DISTRO_APT_KEYS", False) @@ -171,6 +177,10 @@ isar_bootstrap() { esac shift done + debootstrap_args="--verbose --variant=minbase --include=locales " + if [ "${ISAR_USE_CACHED_BASE_REPO}" = "1" ]; then + debootstrap_args="$debootstrap_args --no-check-gpg" + fi E="${@bb.utils.export_proxies(d)}" sudo -E flock "${ISAR_BOOTSTRAP_LOCK}" -c "\ set -e @@ -181,9 +191,7 @@ isar_bootstrap() { rm -rf "${ROOTFSDIR}" fi if [ ${IS_HOST} ]; then - ${DEBOOTSTRAP} --verbose \ - --variant=minbase \ - --include=locales \ + ${DEBOOTSTRAP} $debootstrap_args \ ${@get_distro_components_argument(d, True)} \ ${DEBOOTSTRAP_KEYRING} \ "${@get_distro_suite(d, True)}" \ @@ -191,10 +199,8 @@ isar_bootstrap() { "${@get_distro_source(d, True)}" else - "${DEBOOTSTRAP}" --verbose \ - --variant=minbase \ + "${DEBOOTSTRAP}" $debootstrap_args \ --arch="${DISTRO_ARCH}" \ - --include=locales \ ${@get_distro_components_argument(d, False)} \ ${DEBOOTSTRAP_KEYRING} \ "${@get_distro_suite(d, False)}" \ @@ -207,8 +213,16 @@ isar_bootstrap() { install -v -m644 "${APTPREFS}" \ "${ROOTFSDIR}/etc/apt/preferences.d/bootstrap" mkdir -p "${ROOTFSDIR}/etc/apt/sources.list.d" - install -v -m644 "${APTSRCS}" \ - "${ROOTFSDIR}/etc/apt/sources.list.d/bootstrap.list" + if [ "${ISAR_USE_CACHED_BASE_REPO}" = "1" ]; then + sed -i -e "s#{DISTRO}#"${DISTRO_SUITE}"#g" ${BASEAPTSRCS} + mkdir -p ${ROOTFSDIR}/base-apt + sudo mount --bind ${REPO_BASE_DIR} ${ROOTFSDIR}/base-apt + install -v -m644 "${BASEAPTSRCS}" \ + "${ROOTFSDIR}/etc/apt/sources.list.d/base-apt.list" + else + install -v -m644 "${APTSRCS}" \ + "${ROOTFSDIR}/etc/apt/sources.list.d/bootstrap.list" + fi rm -f "${ROOTFSDIR}/etc/apt/sources.list" mkdir -p "${ROOTFSDIR}/etc/apt/apt.conf.d" install -v -m644 "${WORKDIR}/isar-apt.conf" \ -- 2.11.0