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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox