From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6498671579909586944 X-Received: by 10.46.126.10 with SMTP id z10mr359687ljc.13.1513091526708; Tue, 12 Dec 2017 07:12:06 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 10.46.68.140 with SMTP id b12ls1454693ljf.1.gmail; Tue, 12 Dec 2017 07:12:06 -0800 (PST) X-Google-Smtp-Source: ACJfBotNf+TsQn7PUTAE8UPzvWJMWAD9Qw/qHU8ctZ9KI3TOIZcOHoqYDGjpqZ+s63dlkfjgm1US X-Received: by 10.25.37.198 with SMTP id l189mr322282lfl.28.1513091526239; Tue, 12 Dec 2017 07:12:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1513091526; cv=none; d=google.com; s=arc-20160816; b=GiKUyIyMtwqxitCrVWdj6DAbXr7ZCSoP0KmNfF6kjFDzeT1pRW/jEFFwndv90xFv2t 76tlVZK6HcTvWb3ZGcGXnMAAkTxhhueqmTrozWKQSmMAL1X99zDI0UlBGhLNalffv9L2 x5yqfCfDzAjRUd5X0qtN9rM1vs4wlw9jToKpS2L55Pc4XBtlr4vxkekllXj6sD4awuCa 8PgTQ1zgyfZd3ii+gMVbaJjUTTYQaGRy0P0ARVV6+6o1lvflptW2mHp9kor9QzmNWqgs RoliHv3CpU+aeiS1ch0Xb5AC0OM8ynQTsw/0q0eBLzmCiN5MZOHXzzm/iyvHMqOGVtdh iPHA== 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:cc:to:from :arc-authentication-results; bh=a85f4PlOjbu0A9gziv/XNVbTxEYm3eLn/xz9dbBgYBk=; b=K1PEMvtXPDjevXAgRJRhvqL7+3DALLDUXHiGgDXhKd4MBAOfoazaPyilHrIdh26hcR 9g2feeP394SAZrt8SxR7wkKPMMfGEuNDVEFccPZvfntaFTW+pKLVB0ucrcN0uc3Hc5Jv Jxt9Ew5TYgJYrwuhGmErXremKNf2r0Vtn6VESFmL04HwbZXDX6Nb0od8DNZ2oWzi+8Y8 RE2MZ0ATEArPq00ez0z8W+RXecDqw08UsaBv6kPWGsVS/PNogEy1z2Px9t1ow//vkzf5 Lv/H6Tmi+hgqabQwCuSvbgP4vZm1bkid2+l6K8o/eA2A5vb58MhxcwhjIS09d3R17PFb O0kA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=henning.schild@siemens.com Return-Path: Received: from goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id n75si1691454ljb.0.2017.12.12.07.12.06 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Dec 2017 07:12:06 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 as permitted sender) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=henning.schild@siemens.com Received: from mail1.siemens.de (mail1.siemens.de [139.23.33.14]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id vBCFC5b7028585 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 12 Dec 2017 16:12:05 +0100 Received: from md1pvb1c.ad001.siemens.net (md1pvb1c.ad001.siemens.net [139.25.68.40] (may be forged)) by mail1.siemens.de (8.15.2/8.15.2) with ESMTP id vBCFC574032566; Tue, 12 Dec 2017 16:12:05 +0100 From: Henning Schild To: bitbake-devel@lists.openembedded.org Cc: isar-users@googlegroups.com, Henning Schild Subject: [PATCH v2] fetch/git: add support for disabling shared clones on unpack Date: Tue, 12 Dec 2017 16:12:03 +0100 Message-Id: <20171212151203.31408-1-henning.schild@siemens.com> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20171212144443.30618-1-henning.schild@siemens.com> References: <20171212144443.30618-1-henning.schild@siemens.com> X-TUID: W2R/xAWEAXBn By default the unpacker will create a "shared" clone when cloning from the DL_DIR to the WORKDIR. This patch introduces an option to control that behaviour. Probably something that hardly anyone would want to do. Imagine some recipe steps are executed in a namespace that is different from the one your downloader and unpacker ran in. (chroot) Because a "shared" clone has an absolute reference to its "alternate" you now have to make that "alternate" visible in that new namespace (chroot) at the exact place. With this patch you can unpack "noshared" and get a stand-alone copy. This copy will also work if the "alternate" is not visible or existant. Signed-off-by: Henning Schild --- lib/bb/fetch2/git.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py index 5ef8cd69..7b7f02b2 100644 --- a/lib/bb/fetch2/git.py +++ b/lib/bb/fetch2/git.py @@ -53,6 +53,13 @@ Supported SRC_URI options are: For local git:// urls to use the current branch HEAD as the revision for use with AUTOREV. Implies nobranch. +- noshared + When unpacking do not clone with the parameter "--shared". This option will + allow the unpacked copy to work stand-alone i.e. if your recipe runs in a + chroot where the "alternate" can not be found. Setting this will increase + the unpack-time and the disk-usage. + The default is "0", set noshared=1 if needed. + """ #Copyright (C) 2005 Richard Purdie @@ -159,6 +166,8 @@ class Git(FetchMethod): ud.nobranch = ud.parm.get("nobranch","0") == "1" + ud.noshared = ud.parm.get("noshared","0") == "1" + # usehead implies nobranch ud.usehead = ud.parm.get("usehead","0") == "1" if ud.usehead: @@ -176,7 +185,9 @@ class Git(FetchMethod): if len(branches) != len(ud.names): raise bb.fetch2.ParameterError("The number of name and branch parameters is not balanced", ud.url) - ud.cloneflags = "-s -n" + ud.cloneflags = "-n" + if not ud.noshared: + ud.cloneflags += " -s" if ud.bareclone: ud.cloneflags += " --mirror" -- 2.13.6