From: Randy Witt <randy.e.witt@linux.intel.com>
To: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>,
openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/1] insane.bbclass: Added QA test for expanded ${D}
Date: Wed, 07 Jan 2015 14:02:06 -0800 [thread overview]
Message-ID: <54ADACDE.2080404@linux.intel.com> (raw)
In-Reply-To: <4bedbe90e0589179b7c6010818a63596a9502671.1418337489.git.alejandro.hernandez@linux.intel.com>
On 12/11/2014 02:40 PM, Alejandro Hernandez wrote:
> Checks in FILES and pkg_* variables, solves common mistake of
>
> using ${D} instead of $D and warns the user accordingly.
>
> [YOCTO #6642]
>
> Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
> ---
> meta/classes/insane.bbclass | 30 +++++++++++++++++++++++++++++-
> 1 file changed, 29 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
> index 0b45374..8224124 100644
> --- a/meta/classes/insane.bbclass
> +++ b/meta/classes/insane.bbclass
> @@ -34,7 +34,7 @@ WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \
> ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
> perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
> split-strip packages-list pkgv-undefined var-undefined \
> - version-going-backwards \
> + version-going-backwards expanded_d \
> "
>
> ALL_QA = "${WARN_QA} ${ERROR_QA}"
> @@ -906,6 +906,34 @@ def package_qa_check_deps(pkg, pkgdest, skip, d):
>
> return sane
>
> +QAPATHTEST[expanded_d] = "package_qa_check_expanded_d"
> +def package_qa_check_expanded_d(path,name,d,elf,messages):
> + """
> + Check for the expanded D (${D}) value in pkg_* and FILES
> + variables, warn the user to use it correctly.
> + """
> +
> + sane = True
> + expanded_d = d.getVar('D',True)
> +
> + # Get packages for current recipe and iterate
> + packages = d.getVar('PACKAGES', True).split(" ")
> + for pak in packages:
> + # Go through all variables and check if expanded D is found, warn the user accordingly
> + for var in 'FILES','pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm':
> + # Variables are actually var_${PN}
> + bbvar = d.getVar(var + "_" + pak)
Would it be simpler to do "bbvar = d.getVar(var + "_" + pak, False)" so you
don't get the expanded value, and then just check for ${D}? I suppose it would
save one extra variable and a couple of expansions.
> + if bbvar:
> + # Bitbake expands ${D} within bbvar during the previous step, so we check for its expanded value
> + if expanded_d in bbvar:
> + if var == 'FILES':
> + messages["expanded_d"] = "FILES should not contain the ${D} variable as it references the local build directory not the target filesystem, best solution is to remove the ${D} reference"
> + sane = False
> + else:
> + messages["expanded_d"] = "%s in %s recipe contains ${D}, it should be replaced by $D instead" % (var, pak)
> + sane = False
> + return sane
> +
> # The PACKAGE FUNC to scan each package
> python do_package_qa () {
> import subprocess
>
next prev parent reply other threads:[~2015-01-07 22:02 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1418337489.git.alejandro.hernandez@linux.intel.com>
2014-12-11 22:40 ` [PATCH 1/1] insane.bbclass: Added QA test for expanded ${D} Alejandro Hernandez
2015-01-07 18:27 ` Burton, Ross
2015-01-13 22:49 ` Alejandro Hernandez
2015-01-07 22:02 ` Randy Witt [this message]
2015-01-07 23:04 ` Burton, Ross
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54ADACDE.2080404@linux.intel.com \
--to=randy.e.witt@linux.intel.com \
--cc=alejandro.hernandez@linux.intel.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.