From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6498671579909586944 X-Received: by 10.46.34.69 with SMTP id i66mr458139lji.10.1517314668700; Tue, 30 Jan 2018 04:17:48 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 10.25.92.150 with SMTP id u22ls391764lfi.2.gmail; Tue, 30 Jan 2018 04:17:48 -0800 (PST) X-Google-Smtp-Source: AH8x227HuyISE79ycVoB67VqNxn1xIatf/9XWfuKd9w4IAbXKUGsNdo8TV6S1CfrEEw5at8Y4XBt X-Received: by 10.46.9.80 with SMTP id 77mr27998ljj.11.1517314668118; Tue, 30 Jan 2018 04:17:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517314668; cv=none; d=google.com; s=arc-20160816; b=jHIOX5joMAQPh2KPQ8wmm5YI7pxU2PkP3vZVdkU07pPwCJpJAER+0Khzbs8JC1tQMZ z6xN7kUIixFN5+3Fzzi5N8/b0tZanwV/q0tS08RLAa5vl3LJKw5tiM8pC9j5eCKRYZUC W9FRvPD3nFNamn0HN6S8So1OG9Zczs9NR4GGXzr5K87MsA91lCIWHaYllBTSRGWfRsfr dwcaUByY0F7kiVVctAqvJfnlkmZOR8Uu8Fasor5nLgIQqcudVMkGh40/pGEbV0LzSShK MgfgZPDAxFc78WzEejEvtc+nIwSmKQQK/I+R21E6SNHG5u2A+esJVOgfJoazrSdEL8H9 baZA== 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:subject:cc:to:from:date:arc-authentication-results; bh=6YNsRQ6QNZ968QXHx1TcSoNqodMugpUl+16G0ZzBKRo=; b=LYmEk4JoI1LIS9/2jDEjRf19TxXbExCN0ElOoOq2sw2wnqCIdPEPj5VHCkGECDHafC WPIqpKSTjeqFMWIWCgOGNxQGCGzHLjhqSax3BUjvInhDI+lg/aKYuhe5WL3jiKx42cUY xXqcboRhSt8QR19QjO4rkdRnRFFcF0DgDu7deh0GJhZ5fqA5avFZ6uetbTSCnz4iGD4G IJbWlANW4q2ZzeHYlzZOmONM+VgLy1HTyNK8NfSKrjCyPGAf8REfPi1vzCojq3L+/Lmw //V1/S9Rxf8MMNRX4cfhPXXUNbTIXCqgzVgDApifYvva8l8XbFPV0L3wvP5nz2NOEVFO Sw2w== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=henning.schild@siemens.com Return-Path: Received: from thoth.sbs.de (thoth.sbs.de. [192.35.17.2]) by gmr-mx.google.com with ESMTPS id b10si1470928lfe.4.2018.01.30.04.17.47 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 30 Jan 2018 04:17:48 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 as permitted sender) client-ip=192.35.17.2; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=henning.schild@siemens.com Received: from mail3.siemens.de (mail3.siemens.de [139.25.208.14]) by thoth.sbs.de (8.15.2/8.15.2) with ESMTPS id w0UCHl8j007741 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 30 Jan 2018 13:17:47 +0100 Received: from mmd1pvb1c.ad001.siemens.net (md1pvb1c.ad001.siemens.net [139.25.68.40] (may be forged)) by mail3.siemens.de (8.15.2/8.15.2) with ESMTP id w0UCHl4u027799; Tue, 30 Jan 2018 13:17:47 +0100 Date: Tue, 30 Jan 2018 13:18:05 +0100 From: Henning Schild To: , Richard Purdie Cc: Subject: Re: [PATCH] fetch/git: add support for disabling shared clones on unpack Message-ID: <20180130131805.4725ccf3@mmd1pvb1c.ad001.siemens.net> In-Reply-To: <20171220174538.441d517f@mmd1pvb1c.ad001.siemens.net> References: <20171220164209.9609-1-henning.schild@siemens.com> <20171220174538.441d517f@mmd1pvb1c.ad001.siemens.net> X-Mailer: Claws Mail 3.15.0-dirty (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: 9WME5IB7dnLj Bump! Could i please get a review on this patch? regards, Henning Am Wed, 20 Dec 2017 17:45:38 +0100 schrieb Henning Schild : > We actually ran into that issue on a build system called Isar. > > https://github.com/ilbers/isar > > This build system executes some tasks in a chroot. In this chroot a > "shared" clone will not work because it expects its "alternate" to be > at the very same location it was outside the chroot. We considered > several hacks in Isar > - patching the alternates before and after chroot > - mounting the "alternate" to the exact location in chroot > None of this is really nice, so we decided to try and do something > about it upstream. > > regards, > Henning > > Am Wed, 20 Dec 2017 17:42:09 +0100 > schrieb Henning Schild : > > > 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" > > >