From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yk0-f175.google.com (mail-yk0-f175.google.com [209.85.160.175]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id C6E2EE00902 for ; Mon, 24 Feb 2014 10:53:12 -0800 (PST) Received: by mail-yk0-f175.google.com with SMTP id 131so15642228ykp.6 for ; Mon, 24 Feb 2014 10:53:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :organization; bh=9KIasdHP0VDop1W2gfWqwGAVQmcHX/ZF4cZfoAcGsdo=; b=cY18EgGrT0xe/0MA5j3Vfm8U863nzoXzBaLckWSdBCxXkGmLHSHP7/RNAqcBFu2RR0 5qk0ER6l57ODcDBHHriX0dELJRzXjARgS1xFZLXgtzeeJxTmJIs1izDptv2xKs9AzDVc M42goFxDls8eRfHJ6ivRSrv4fQmkz9lYJddRu4nXnzRR7MEikyKVGePFFDVXjMRzxn9j wP3xBlRqQufLJar084ncv+dbUetz7Z8P4VSYYjXguUMoMMhd8wxSk7xJhAv+uPuv1uUO sHVetjX7QerFtjfgAFP4GibDmt9+I5jBrmDgNPHBFc8kmDYm4IZG3UhaHWVhuFQpjG7Q 2niA== X-Received: by 10.236.151.198 with SMTP id b46mr545671yhk.3.1393267992012; Mon, 24 Feb 2014 10:53:12 -0800 (PST) Received: from nano.lab.ossystems.com.br ([177.194.208.225]) by mx.google.com with ESMTPSA id g26sm203324yhk.3.2014.02.24.10.53.08 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 24 Feb 2014 10:53:10 -0800 (PST) Sender: Otavio Salvador Received: by nano.lab.ossystems.com.br (Postfix, from userid 1000) id 5DFD418B32B23; Mon, 24 Feb 2014 15:52:57 -0300 (BRT) From: Otavio Salvador To: meta-freescale Mailing List Date: Mon, 24 Feb 2014 15:52:49 -0300 Message-Id: <1393267973-4034-14-git-send-email-otavio@ossystems.com.br> X-Mailer: git-send-email 1.9.0 In-Reply-To: <1393267973-4034-1-git-send-email-otavio@ossystems.com.br> References: <1393267973-4034-1-git-send-email-otavio@ossystems.com.br> Organization: O.S. Systems Software LTDA. Cc: Otavio Salvador Subject: [meta-fsl-arm PATCH 13/16] linux-mfgtool.inc: Build a Manufactoring Tool variant X-BeenThere: meta-freescale@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Usage and development list for the meta-fsl-* layers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Feb 2014 18:53:13 -0000 This makes a separated binary set for Manufacturing Tool use without clobbering the Linux Kernel used for normal use. Signed-off-by: Otavio Salvador --- recipes-kernel/linux/linux-mfgtool.inc | 74 ++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 recipes-kernel/linux/linux-mfgtool.inc diff --git a/recipes-kernel/linux/linux-mfgtool.inc b/recipes-kernel/linux/linux-mfgtool.inc new file mode 100644 index 0000000..dd09552 --- /dev/null +++ b/recipes-kernel/linux/linux-mfgtool.inc @@ -0,0 +1,74 @@ +# Produces a Manufacturing Tool compatible Linux Kernel +# +# This makes a separated binary set for Manufacturing Tool use +# without clobbering the Linux Kernel used for normal use. +# +# This file must to be included after the original linux-imx.inc file +# as it overrides the needed values. +# +# Copyright (C) 2014 O.S. Systems Software LTDA. + +# Adjust provides +PROVIDES = "linux-mfgtool" + +# Avoid coliding files +LOCALVERSION_append = "-mfgtool" +KERNEL_SRC_PATH = "/usr/src/kernel-mfgtool" +KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-mfgtool-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" +KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-mfgtool-${MACHINE}" +MODULE_IMAGE_BASE_NAME = "modules-mfgtool-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" +MODULE_TARBALL_SYMLINK_NAME = "modules-mfgtool-${MACHINE}.tgz" + +# Ensures we prefer our mfgtool specific files +FILESEXTRAPATHS_prepend = "${THISDIR}/${ORIG_PN}-${PV}:${THISDIR}/${ORIG_PN}:" + +python mfgtool_recipe_handler () { + pn = e.data.getVar("PN", True) + if not (pn.endswith("-mfgtool") or pn.startswith("mfgtool-")): + return + + e.data.setVar("MLPREFIX", "mfgtool-") + e.data.setVar("ORIG_PN", e.data.getVar("PN", True)) + e.data.setVar("PN", "mfgtool-" + e.data.getVar("PN", True).replace("-mfgtool", "").replace("mfgtool-", "")) +} + +python () { + pn = d.getVar("PN", True) + if not pn.startswith("mfgtool-"): + return + + from oe.classextend import ClassExtender + + class LinuxMfgToolExtender(ClassExtender): + def extend_name(self, name): + if name.startswith("rtld"): + return name + if name.endswith("-" + self.extname): + name = name.replace("-" + self.extname, "") + if name.startswith("virtual/"): + subs = name.split("/", 1)[1] + if not subs.startswith(self.extname): + return "virtual/" + self.extname + "-" + subs + return name + if not name.startswith(self.extname): + return self.extname + "-" + name + return name + + clsextend = LinuxMfgToolExtender("mfgtool", d) + clsextend.rename_packages() + clsextend.rename_package_variables((d.getVar("PACKAGEVARS", True) or "").split()) + + clsextend.map_packagevars() +} + +addhandler mfgtool_recipe_handler +mfgtool_recipe_handler[eventmask] = "bb.event.RecipePreFinalise" + +# FIXME: We need to remove the KERNEL_SRC_PATH contents as +# kernel.bbclass has no way to skip its installation. +# FIXME: It is not possible to have external modules against +# this kernel variant. +do_install_append() { + rm -r ${D}${KERNEL_SRC_PATH} + rmdir ${D}/usr/src ${D}/usr +} -- 1.9.0