From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6522335879194738688 X-Received: by 10.46.69.131 with SMTP id s125mr43719lja.41.1518599660835; Wed, 14 Feb 2018 01:14:20 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 10.25.78.215 with SMTP id u84ls304425lfk.13.gmail; Wed, 14 Feb 2018 01:14:19 -0800 (PST) X-Google-Smtp-Source: AH8x227M1AeylPvjdizkfGEfzcRLktN+1F/s7Uot7wIPBqXNjeKNQF0kCyUAoopITpIK2gG1h2Z0 X-Received: by 10.25.32.194 with SMTP id g185mr298132lfg.13.1518599659877; Wed, 14 Feb 2018 01:14:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518599659; cv=none; d=google.com; s=arc-20160816; b=zwZv85JrQSWeVKxy4rwUG4SZ94phsd4OlRulgUyFb6ex+Hye/pHozn7qy9h3XBx1Mf sRBVOcKJgSWqOzvTjEJsJ1p9EGczmgd1cvMXFs+UeuvxAqNulxqd6WLxooPwzwtCYqed OfaOguXmJ2KQRRKb8bkb4m0TNj3BOILRXN9LQipmKg1Gr/YQG5KAuRX52K3sNxsh1Uik W/ia3OU19St1L3qyM0OS0Rc6gH0j6iC88NNHpyv7aqZL/rbPoajxDv95sU1g7+g1or2K JZUXu5a88UWOrDqQYGwpgYYzGW2DJGa/p3QB3dpGHGnnNeVnhdFEyZlFM6ibAfVXxr6z P/eA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:mime-version:user-agent :date:message-id:subject:from:cc:to:arc-authentication-results; bh=9gf6EGPYu5o05Fwrcrq3yI7auuHU6dB7s5croTPkuME=; b=sv9MPBtDqqj5amU+k6U5jf9n4Mm5pBskLWi/kakj+2MrNyo+46FwfoFhXFRj5chmaj Mf59PXkBP4hvAJvZMHutuUp0JmbmKTmBNGa+LkafblqDLPCCTDjceULXevo2ikjZES4w PmEBgWYoNwAIl+l7LYYGo4DEoiicYKAe4Bj7pwvw3GCyQR+xws5NA95IjBHq0NrwKAr3 EVMbmqHDhvvAK/aEhLm8YdlWkYf83bso8MXeqPMudghor8yaeCf4CeCyvQN6mZGJ1r8K xO53dsz4fKg/X9AyHaWv/4HaZFJoKshlNLfSGXUvUhSkhqucZoohjrAPFz/6mlR4+u6V 2OWw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Return-Path: Received: from david.siemens.de (david.siemens.de. [192.35.17.14]) by gmr-mx.google.com with ESMTPS id b10si592649lfe.4.2018.02.14.01.14.19 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Feb 2018 01:14:19 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.14 as permitted sender) client-ip=192.35.17.14; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Received: from mail2.siemens.de (mail2.siemens.de [139.25.208.11]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id w1E9EJ2u027393 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 14 Feb 2018 10:14:19 +0100 Received: from [167.87.36.169] ([167.87.36.169]) by mail2.siemens.de (8.15.2/8.15.2) with ESMTP id w1E9EIpd011344; Wed, 14 Feb 2018 10:14:18 +0100 To: isar-users Cc: Henning Schild From: Jan Kiszka Subject: [PATCH] Make sure git repos are usable inside buildchroot Message-ID: Date: Wed, 14 Feb 2018 10:14:18 +0100 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: 7LglR3eWfUa6 From: Jan Kiszka bitbake clones git repos into the package workdir in shared mode. This creates an alternates link to the original download folder. However, that path is invalid inside buildchroot. This disturbs package builds which try to derive information from the git repo, such as tags or the delta to the last release. Bind-mount the downloads folder and patch the alternates file to restore the git repo access inside buildchroot. Signed-off-by: Jan Kiszka --- Applies on top of "Move buildchroot mounts into dpkg-base class", v3. This obsoletes the bitbake patch Henning developed to disable sharing. Tested via jailhouse-images (required changes not yet pushed) where the Jailhouse recipe makes use of this. meta/classes/dpkg-base.bbclass | 10 ++++++++++ meta/recipes-devtools/buildchroot/buildchroot.bb | 1 + 2 files changed, 11 insertions(+) diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 895ff26..241dc2c 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -1,6 +1,15 @@ # This software is a part of ISAR. # Copyright (C) 2017 Siemens AG +do_adjust_git() { + if [ -f ${WORKDIR}/${S}/.git/objects/info/alternates ]; then + sed -i ${WORKDIR}/${S}/.git/objects/info/alternates \ + -e 's|${DL_DIR}|/downloads|' + fi +} + +addtask adjust_git after do_unpack before do_build + # Add dependency from buildchroot creation do_build[depends] = "buildchroot:do_build" @@ -30,6 +39,7 @@ do_build() { sudo flock ${MOUNT_LOCKFILE} -c ' \ if ! grep -q ${BUILDCHROOT_DIR}/isar-apt /proc/mounts; then \ mount --bind ${DEPLOY_DIR_APT}/${DISTRO} ${BUILDCHROOT_DIR}/isar-apt; \ + mount --bind ${DL_DIR} ${BUILDCHROOT_DIR}/downloads; \ mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${BUILDCHROOT_DIR}/dev; \ mount -t proc none ${BUILDCHROOT_DIR}/proc; \ fi' diff --git a/meta/recipes-devtools/buildchroot/buildchroot.bb b/meta/recipes-devtools/buildchroot/buildchroot.bb index 62979f5..9b4e7d3 100644 --- a/meta/recipes-devtools/buildchroot/buildchroot.bb +++ b/meta/recipes-devtools/buildchroot/buildchroot.bb @@ -38,6 +38,7 @@ do_build() { sudo rm -rf ${BUILDCHROOT_DIR} mkdir -p ${BUILDCHROOT_DIR}/isar-apt + mkdir -p ${BUILDCHROOT_DIR}/downloads mkdir -p ${BUILDCHROOT_DIR}/dev mkdir -p ${BUILDCHROOT_DIR}/proc mkdir -p ${BUILDCHROOT_DIR}/sys -- 2.13.6