From patchwork Mon Sep 24 10:05:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Dechesne X-Patchwork-Id: 147342 Delivered-To: patch@linaro.org Received: by 2002:a2e:8595:0:0:0:0:0 with SMTP id b21-v6csp520385lji; Mon, 24 Sep 2018 03:05:21 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZzHupf9cNb6C52j9F0YeLME63ODo2QVriY/Grh5HeMo5c3XrAnPhSXxlVKEguDhd83fThV X-Received: by 2002:a62:1c06:: with SMTP id c6-v6mr1102084pfc.41.1537783521653; Mon, 24 Sep 2018 03:05:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537783521; cv=none; d=google.com; s=arc-20160816; b=tz3uUJuKrH77vIkx6AZ6ypWZva1w7lp1DzzBen4DtRAbIY260CAkiSSglVvzxRSygB 9BwJngS86Llz8CFMJFqm8TdMYOB47NseixV3/vQbD2YOyeDyUTF4A40LjbbtiVkv11vN UipTkbJEMRHMgA+bQ8Nddnowuj9h4uUa6Yuiy6icaIduvK5avSuiWwERJgoPQq3/dy73 0IXf6AY7lGhSmq7iwtV7GnO33p4L2LKTj66UnptRkLlaN/no0Iy4lXGhSV8ImJfwr+Ng So5imyzGM6wNKjjQKrCiAsFi15LzcjOL1AiMc+dEzr2MciY4aK59p64U4NnJn9TdMWX0 keLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:sender:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :cc:to:message-id:date:from:mime-version:dkim-signature:delivered-to; bh=o/bT9KYsgVOdRXYvMdxbg98Yykqq4FdTedxnr6919I8=; b=k/qD/tK323hDJCP7hAox+BIkfsS6A4AJPoKVpxcRJRYQvoDSMIi0UVBIZI0xh2pmp+ Qz4qXFZYweRrsasvFJVIPFoxQ68qNhrNecd0IQHb/Ma8LFtjaObtZ4grmehrhOevsxBo kLO5VdwfPXNgbhM258BeTFnt07t3W/y85/GcqtguE8hJIa9qtJTEc5Mz01/07X53yb3+ 5GPeWRhtRGQooINa8hIQLvoP2OvkX0vpS9InyqkMb667xhQltQ+QzgKth3lGDlDcEDDU cTb6INvNSYjNs9VIlbtOjEZWYs89KrdUUH9bl4l+x5V/6f6e+Vo4lNuqa6JvrjppUSS4 neSg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=GLdpal6P; spf=pass (google.com: best guess record for domain of openembedded-devel-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-devel-bounces@lists.openembedded.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from mail.openembedded.org (mail.openembedded.org. [140.211.169.62]) by mx.google.com with ESMTP id s195-v6si34088890pgs.492.2018.09.24.03.05.21; Mon, 24 Sep 2018 03:05:21 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of openembedded-devel-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) client-ip=140.211.169.62; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=GLdpal6P; spf=pass (google.com: best guess record for domain of openembedded-devel-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-devel-bounces@lists.openembedded.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from layers.openembedded.org (localhost [127.0.0.1]) by mail.openembedded.org (Postfix) with ESMTP id 83E7F78F5C; Mon, 24 Sep 2018 10:05:14 +0000 (UTC) X-Original-To: openembedded-devel@lists.openembedded.org Delivered-To: openembedded-devel@lists.openembedded.org Received: from mail-lj1-f194.google.com (mail-lj1-f194.google.com [209.85.208.194]) by mail.openembedded.org (Postfix) with ESMTP id 386D378EE0 for ; Mon, 24 Sep 2018 10:05:13 +0000 (UTC) Received: by mail-lj1-f194.google.com with SMTP id l19-v6so3184016ljb.0 for ; Mon, 24 Sep 2018 03:05:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:from:date:message-id:subject:to:cc; bh=QyGOahtbHyJXTAgEr5ad4OLOBL4vzWxvWgEyxvPQzxc=; b=GLdpal6PrSFiPgtk3UYNXSq4tySTkEIsjvhr6E8KCTgqYbm+ci1aHsyaZxQn5EbRuQ xlwRb/Zxc8Ro9gyVvNS4VuVsqtxE7whJZ1vWNzE1gNx1zLEbIYS59GUpMgxCSB5X8PWh 3GGqShJzMho8sFq7dC6Tg6dzP77ETnylfxons= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=QyGOahtbHyJXTAgEr5ad4OLOBL4vzWxvWgEyxvPQzxc=; b=Dk3S+wMjXf7U1nqsI9B84K45FsLd/2b/eTi28oWueafzyqQ/oH4/Ob+1MzNgqKxzrC dVjpK2D9cdZy4ImjAlaZM/wgtpz1rLw3lL6vE6qvL2p7asEllI69sCUtvE/JpiEajLh5 SD19peD1PfTpj3UjJ6LfVSSfI5HbFHfoIrVQyKN3+sixYa+9cxXLutSQ4yWy7WEnoS14 omyTgX6LMhEhIYSg7jNSInCEA3GC0Ek6bK/uyx/ePLODIK6rfd1BK8cE74KJNd4rlYp7 gjxOsKr9XGAu/4seyPS6pskxdPppqcy6pvJpawn/NwJ3UvAE6+81uTgkYSg6vdraIbMP +WBw== X-Gm-Message-State: ABuFfog+A4sXU0tisa3/jXbzfbX05L/JIhdQ+bI37lzOqpDVXcCFKh7Y 8QpbLmji2k7fT6hK4submr5n8msBIAQ3u2H+FonJRw== X-Received: by 2002:a2e:4c09:: with SMTP id z9-v6mr8493816lja.19.1537783513709; Mon, 24 Sep 2018 03:05:13 -0700 (PDT) MIME-Version: 1.0 From: Nicolas Dechesne Date: Mon, 24 Sep 2018 12:05:02 +0200 Message-ID: To: akuster808 , Richard Purdie , Paul Eggleton Cc: openembedded-devel Subject: [oe] meta-oe and yocto-check-layer X-BeenThere: openembedded-devel@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Using the OpenEmbedded metadata to build Distributions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: openembedded-devel-bounces@lists.openembedded.org Errors-To: openembedded-devel-bounces@lists.openembedded.org hi Armin, Paul, Richard, I was looking at getting the compliance report for meta-oe (sumo branch), and I have found a few issues. * in meta-openembedded/sumo, grpc is in meta-oe layer, while it depends on meta-networking (c-ares). It was fixes in master, with 251878e8b6b9 (grpc: move it from oe to networking layer), so I think this fix needs to be backported to sumo as well if we want the YP 2.0 compliance script to even work. If agreed, once merged, please let me know so that I can try again to generate a compliance report. * in order to run the compliance report, i locally added networking-layer in meta-oe/conf/layer.conf, and it creates a dependency loop since meta-oe <-> meta-networking. I found out that yocto-check-layer doesn't like that too much, and brutally fails. The following patch makes yocto-check-layer work again even with dependency loop. I am going to do a few more tests and send that over as a patch. logger.error('Layer %s depends on %s and isn\'t found.' % \ cheers nico -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel diff --git a/scripts/lib/checklayer/__init__.py b/scripts/lib/checklayer/__init__.py index 2618416fab..0cc9bf3b6d 100644 --- a/scripts/lib/checklayer/__init__.py +++ b/scripts/lib/checklayer/__init__.py @@ -151,11 +151,21 @@ def add_layer_dependencies(bblayersconf, layer, layers, logger): logger.debug('Processing dependencies %s for layer %s.' % \ (depends, layer['name'])) + # To avoid never ending recursion, we keep track of layers while + # they are being processed in this 'static' attribute. + if not hasattr(recurse_dependencies, "layers"): + recurse_dependencies.layers = [] + for depend in depends.split(): # core (oe-core) is suppose to be provided if depend == 'core': continue + if depend in recurse_dependencies.layers: + continue + + recurse_dependencies.layers.append(depend) + layer_depend = _find_layer_depends(depend, layers) if not layer_depend: