From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6522335879194738688 X-Received: by 10.223.182.6 with SMTP id f6mr664234wre.32.1518637231776; Wed, 14 Feb 2018 11:40:31 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 10.28.31.200 with SMTP id f191ls2351588wmf.5.canary-gmail; Wed, 14 Feb 2018 11:40:31 -0800 (PST) X-Google-Smtp-Source: AH8x227nVKeC4zgrMyjt5bMK+HfrZl0+379h5uTj4Froq75skzyx5HB4YIYE5rPC/UNRPMDWD5qR X-Received: by 10.28.69.194 with SMTP id l63mr378403wmi.18.1518637231005; Wed, 14 Feb 2018 11:40:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518637230; cv=none; d=google.com; s=arc-20160816; b=u1E/DU0EiLt3d7roEuGpWqvhG4EaP/9jgtaQbJFovOabMucgJDPIhwD2m1TPoLAGe7 tEgbaz/7nwPWA1ann8ApaZX0So12tgL7KsmWjfcu5EJQMRahpUc1NUFDOLzR/RsWGyJg s9qnl+gBk16pkAdabfHbs90InkxVVPKj5M/uztFz1IZH4I0LunMgP/8nMjcYLxalD5Qi NhttqjtApjeaiMChIADW5zWL6FToA6PgxdDbIyGRQdGVvCSaGDoQs1Y/BzhHf5Wi8fI0 xXZHAfwFMwTmE/9hc+sPM2alxT0zrtZ/CNl/65RTDk4p0O2Mh3DMs8GsCf7P5D6I0hgG +JrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:references:to:from:subject :arc-authentication-results; bh=uIQ4//a4xM+UNCYgwFDvjiY1kCNOoPCVjaUVt3TESbo=; b=nszsYFzETWGJid/L85DwERnkyTIK+xPBcldqA0ijSJuwu41/t7bltXV3DpiqrH47ou 2TehEwtkgShcL7xQxkFxL20ndxZuG1HlMy0etjxA964eojGK4OF+XQUAVx+t/YO/kTFA NDtWInJKCn30GQJxrzysKtG25FWkAdNQxDQAr3F6vZtSFnTsoXzUUFwv0UdHG3qtVVP9 7CLPyzh3lKyf/VeMChxHw75dY1udKh+ZwWt7+j3Pvgu/sWjjITmM95BKwVP9Teoa3tMW GAi1RIYjGSsRx2FuF6wPIUyOhbKnse2Iqsd/188al2BuYKyMCTlxpKZf6vUnSQ7xnr8j /Zqg== 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 g70si562675wmc.3.2018.02.14.11.40.30 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Feb 2018 11:40:30 -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 w1EJeUWv026291 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 14 Feb 2018 20:40:30 +0100 Received: from [139.25.68.37] (md1q0hnc.ad001.siemens.net [139.25.68.37] (may be forged)) by mail2.siemens.de (8.15.2/8.15.2) with ESMTP id w1EJeUUR014043 for ; Wed, 14 Feb 2018 20:40:30 +0100 Subject: [PATCH v2] Make sure git repos are usable inside buildchroot From: Jan Kiszka To: isar-users References: Message-ID: Date: Wed, 14 Feb 2018 20:40:30 +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 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: pLFbnhYstRZh 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 --- Changes in v2: - set stamp-extra-info properly meta/classes/dpkg-base.bbclass | 11 +++++++++++ meta/recipes-devtools/buildchroot/buildchroot.bb | 1 + 2 files changed, 12 insertions(+) diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index a4bdf16..98f25b7 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -1,6 +1,16 @@ # 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 +do_adjust_git[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" + # Add dependency from buildchroot creation do_build[depends] = "buildchroot:do_build" @@ -30,6 +40,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 504d798..520daf9 100644 --- a/meta/recipes-devtools/buildchroot/buildchroot.bb +++ b/meta/recipes-devtools/buildchroot/buildchroot.bb @@ -40,6 +40,7 @@ do_build() { # re-building a clean image: 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