From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dan.rpsys.net (5751f4a1.skybroadband.com [87.81.244.161]) by mail.openembedded.org (Postfix) with ESMTP id F193E73243 for ; Tue, 22 Sep 2015 11:09:48 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by dan.rpsys.net (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id t8MB9jaf023575; Tue, 22 Sep 2015 12:09:45 +0100 Received: from dan.rpsys.net ([127.0.0.1]) by localhost (dan.rpsys.net [127.0.0.1]) (amavisd-new, port 10024) with LMTP id GnmJuQKSXF6M; Tue, 22 Sep 2015 12:09:45 +0100 (BST) Received: from [192.168.3.10] ([192.168.3.10]) (authenticated bits=0) by dan.rpsys.net (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id t8MB9X7Q023564 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 22 Sep 2015 12:09:44 +0100 Message-ID: <1442920173.12435.259.camel@linuxfoundation.org> From: Richard Purdie To: "Reshetova, Elena" Date: Tue, 22 Sep 2015 12:09:33 +0100 In-Reply-To: <2236FBA76BA1254E88B949DDB74E612B419973E6@IRSMSX102.ger.corp.intel.com> References: <2236FBA76BA1254E88B949DDB74E612B41976CB1@IRSMSX102.ger.corp.intel.com> <55EF9D64.8000601@windriver.com> <2236FBA76BA1254E88B949DDB74E612B41979490@IRSMSX102.ger.corp.intel.com> <55F70A07.20409@windriver.com> <55F8D5CD.70606@windriver.com> <1442422369.26666.147.camel@linuxfoundation.org> <2236FBA76BA1254E88B949DDB74E612B419973E6@IRSMSX102.ger.corp.intel.com> X-Mailer: Evolution 3.12.11-0ubuntu3 Mime-Version: 1.0 Cc: "openembedded-core@lists.openembedded.org" Subject: Re: How to put a correct dependency with regards to gcc? X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Sep 2015 11:09:52 -0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit On Tue, 2015-09-22 at 11:03 +0000, Reshetova, Elena wrote: > > The idea is quite simple. Rather than having a copy of the gcc source for > > each recipe variant > > (-cross-initial, -cross, -crosssdk-initial, -crosssdk, -cross-canadian etc.) > > we have a single copy of the source. > > >We tried an older shared stamp scheme which was fragile and prone to weird > >failures. Instead we created the gcc-source recipe which is responsible for > >the fetch/unpack/patch/preconfigure and then each recipe can work off the > >shared source (and has >a dependency on gcc-source). > > Thank you Richard for explaining this! It helps greatly! > > >For Elena's use case, I therefore think it might be better to analyse the > >shared source once and not in the case of each recipe (e.g. if SRC_URI is > >empty). > > I am really not sure how to do it apart from hardcoding a check inside the > class that if the recipe happens to be gcc related, run the analysis only once > for gcc-source and do not run it for other related packages. > My task is currently run for every recipe uniformly and it would be not that > elegant to have this hardcoding part. Is there a better way of handling it? You could test if SRC_URI is empty in your code? Then all we'd need to do is ensure that SRC_URI was empty for the gcc recipes except for gcc-source? Cheers, Richard