From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6522397978051739648 X-Received: by 10.80.134.135 with SMTP id r7mr1614820eda.1.1518614119646; Wed, 14 Feb 2018 05:15:19 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 10.80.215.80 with SMTP id i16ls2271742edj.5.gmail; Wed, 14 Feb 2018 05:15:19 -0800 (PST) X-Google-Smtp-Source: AH8x226+sUla994iLZfzTmBdqrNV6CreDa7ArO4hR+j/1Wl1b3Ni9EmL8OU6Mb68RUON1Hp/6eXQ X-Received: by 10.80.171.15 with SMTP id s15mr1640089edc.6.1518614119013; Wed, 14 Feb 2018 05:15:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518614118; cv=none; d=google.com; s=arc-20160816; b=Jg4sk6tWerXU2IkqFNIY1Nzno5lzyPKjF+95edljF1qLF/kWQ5u0obJFnP9Vl6t6Pc v0Gjv/wCsdCgda3eIqEGqB9idDMKAl+aUFEFABvXmsGAyEWLxToddgMYWXAUB2OxlAH1 KKfCr9o5L+dYeK3IVUs3PgOD7duUtDOPoIUnqPmr8huExpLHoBZWtYxM1WJjHFjZXwxM pdsDFW/Az15n6DNlWlaNDFjixOOmM6IQDzOgR+gGcOOJKXltG3XH2UytJ2vWB3LNmJx9 bXUin0z9Jolh0ntCCGew4/pf3Vo4r3kdp+w+aq/2vn6eCQND6xdS0lt2sHqyCjerKLCr XR0A== 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=WdjIzMW/4/9AMWy0MrXEtPnqL1azZmf3i2F+mF0WhwE=; b=W5lV5KJiNOycnjhSRThyIthnqX8/ooK+wbLEAC60xzwhp4MD7FlzuV1LBr5EEAyTi4 tl8MYINowQ1Y6u+Zl2/T1adkLzUuqJkdCSc30dx/eskyWITOk3KhlxOq1gpuqV8Y2GRA skjextewhhXd3LOxdWeZqoQ23E3xhS/lxuw8Px/6K2WxHpK5XtqP0aA7IDkHChL+kzzC KFCCorCvpO2N6W0dTjNAIN2YyUpgD9jegH9BC8+KDMMPkpw885BhI3QnNwQ7R38Pig1l y6Chtml1WfgZyDlS3dL5jJ5iBc61vSE7TVmfvJI9ZuJD3JQYRbbmzx1CGULL+YSqsf7K nzhQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of claudius.heine.ext@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=claudius.heine.ext@siemens.com Return-Path: Received: from david.siemens.de (david.siemens.de. [192.35.17.14]) by gmr-mx.google.com with ESMTPS id n22si538030edb.5.2018.02.14.05.15.18 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Feb 2018 05:15:18 -0800 (PST) Received-SPF: pass (google.com: domain of claudius.heine.ext@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 claudius.heine.ext@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=claudius.heine.ext@siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id w1EDFHLS028079 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 14 Feb 2018 14:15:18 +0100 Received: from ring.ppmd.siemens.net (linux-ses-ext02.ppmd.siemens.net [139.25.68.223]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id w1EDFHOm022563; Wed, 14 Feb 2018 14:15:17 +0100 From: claudius.heine.ext@siemens.com To: isar-users@googlegroups.com Cc: Claudius Heine Subject: [PATCH 1/2] meta/classes/base: extend sys.path with lib directory Date: Wed, 14 Feb 2018 14:15:08 +0100 Message-Id: <20180214131509.16361-2-claudius.heine.ext@siemens.com> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180214131509.16361-1-claudius.heine.ext@siemens.com> References: <20180214131509.16361-1-claudius.heine.ext@siemens.com> X-TUID: bJiTF9Hm03Kr From: Claudius Heine Currently scripts and modules that are placed in the 'lib' directory of layers are not available in the recipes. This change adds the required code to the base.bbclass in order to have those imports available. This change contains code from: http://git.openembedded.org/openembedded-core/tree/meta/classes/base.bbclass?id=4a4eff9b9e3c614ff41b17cbec359b72dcbd41bd Signed-off-by: Claudius Heine --- meta/classes/base.bbclass | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index ae84677..3334789 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -37,6 +37,30 @@ bbfatal() { exit 1 } +# Derived from openembedded-core/meta/classes/base.bbclass +ISAR_IMPORTS += "os sys time" + +def isar_imports(d): + import sys + + bbpath = d.getVar("BBPATH").split(":") + sys.path[0:0] = [os.path.join(dir, "lib") for dir in bbpath] + + def inject(name, value): + """Make a python object accessible from the metadata""" + if hasattr(bb.utils, "_context"): + bb.utils._context[name] = value + else: + __builtins__[name] = value + + for toimport in d.getVar("ISAR_IMPORTS", True).split(): + imported = __import__(toimport) + inject(toimport.split(".", 1)[0], imported) + + return "" + +ISAR_IMPORTED := "${@isar_imports(d)}" + # Derived from bitbake: bitbake/classes/base.bbclass addtask showdata do_showdata[nostamp] = "1" -- 2.15.1