summaryrefslogtreecommitdiff
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* image_types.bbclass: refactor cpio images generation.Andrea Adami2012-02-011-4/+17
| | | | | | | | | * Add common check for the presence of an /init * symlink, being 'touch' would fail with it * and 'touch -h' is not yet generally supported * (depends on distro on build host). Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
* rootfs_ipk: remove runtime_script_required usageMartin Jansa2012-02-011-1/+1
| | | | | | | | | * it was introduced in 87780fc09b066525e47d0f50ee5497db54d304cd * then partially removed in 2feba313c991170747381c7cf821a45c2cd04632 * so remove this use too as runtime_script_required is not initialized anymore and results in run.do_rootfs.6328: line 235: [: -eq: unary operator expected Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* useradd.bbclass: Fix missing quoteRichard Purdie2012-01-271-1/+1
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd: Ensure dependencies are only added for target recipes, not native ↵Richard Purdie2012-01-271-1/+4
| | | | | | or nativesdk Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd.bbclass: Add explict setscene dependencies to ensure correct ↵Richard Purdie2012-01-271-0/+2
| | | | | | ordering of setscene tasks Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd.bbclass: Ensure pseudo can load in the pseudo unloaded caseRichard Purdie2012-01-271-5/+11
| | | | | | | | | | In the do_populate_sysroot_setscene case, pseudo has been unloaded and we need to reload it. This code change ensures all the pseudo options are specified so pseudo loads correctly. It also improves some of the comments so all the different contexts are listed. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd.bbclass: Execute user addition code before do_package_setscene, not ↵Richard Purdie2012-01-271-2/+2
| | | | | | | | | | after do_populate_sysroot_setscene The user addition needs to happen before the do_package files are extracted by do_package_setscene since those are the ones we need to preserve the file ownership information for. This patch ensures this happens. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: Add support for sstate preinst functionsRichard Purdie2012-01-271-0/+5
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: Add test for static .a libraries in non-staticdev packagesSaul Wold2012-01-261-1/+14
| | | | | | | | | | | | | | | This check verifies that non staticdev and non pic packages do not have static libraries in them. There are a few exceptions for the libgcc-dev and libgcov-dev packages which are whitelisted, also the *_nonshared.a need to be part of their respective -dev packages. This is currently a warning to work out any other issues in the upper layers but will be moved to ERROR at somepoint in the future. [YOCTO #663] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bootimg: Fix a math thinko in the block count calculationDarren Hart2012-01-251-1/+1
| | | | | | | | | | | | | Fixes [YOCTO #1852] ... again. The conversion from sectors to blocks was multiplying by 2 instead of dividing by 2. Blocks are 1024 bytes, sectors are 512 bytes. The result was images being much larger than intended. Reported-by: Tom Zanussi <tom.zanussi@intel.com> Signed-off-by: Darren Hart <dvhart@linux.intel.com> CC: Joshua Lock <josh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: replace COMMERCIAL_LICENSE code with LICENSE_FLAGS codeTom Zanussi2012-01-241-6/+6
| | | | | | | | The COMMERCIAL_LICENSE mechanism has been superseded by LICENSE_FLAGS so remove the code that implements COMMERCIAL_LICENSE and replace it with the corresponding LICENSE_FLAGS version. Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
* license.bbclass: add support for LICENSE_FLAGSTom Zanussi2012-01-241-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LICENSE_FLAGS are a per-recipe replacement for the COMMERCIAL_LICENSE mechanism. In the COMMERCIAL_LICENSE mechanism, any package name mentioned in the global COMMERCIAL_LICENSE list is 'blacklisted' from being included in an image. To allow the blacklisted package into the image, the corresponding packages need to be removed from the COMMERCIAL_LICENSE list. This mechanism relies on a global list defined in default-distrovars.inc. The LICENSE_FLAGS mechanism essentially implements the same thing but turns the global blacklist into a per-recipe whitelist. Any recipe can optionally define one or more 'license flags'; if defined, each of the license flags defined for a recipe must have matching entries in a global LICENSE_FLAGS_WHITELIST variable. The definition of 'matching' is simple, but there are a couple things users need to know in order to correctly and effectively use it. Before we test a flag against the whitelist, we append _${PN} to it, thus automatically making each LICENSE_FLAG recipe-specific. We then try to match that string against the whitelist. So if the user specifies LICENSE_FLAGS = 'commercial' for recipe 'foo', the string 'commercial_foo' should be specified in the whitelist in order for it to match. However, the user can also broaden the match by putting any '_'-separated beginning subset of a LICENSE_FLAG in the whitelist, which will also match e.g. simply specifying 'commercial' in the whitelist would match any expanded LICENSE_FLAG starting with 'commercial' such as 'commercial_foo' and 'commercial_bar' which are the strings that would have been automatically generated if those recipes had simply specified LICENSE_FLAGS = 'commercial' This allows for a range of specificity for the items in the whitelist, from more general to perfectly specific. So users have the choice of exhaustively enumerating each license flag in the whitelist to allow only those specific recipes into the image, or of using a more general string to pick up anything matching just the first component(s). Note that this scheme works even if the flag already has _pn appended - the extra _pn is redundant, but doesn't affect the outcome e.g. a license flag of 'commercial_1.2_foo' would turn into 'commercial_1.2_foo_foo' and would match both the general 'commercial' and the specific 'commercial_1.2_foo' as expected (it would also match commercial_1.2_foo_foo' and 'commercial_1.2', which don't make much sense as far as something a user would think of specifying in the whitelist). For a versioned string, the user could instead specify 'commercial_foo_1.2', which would turn into 'commercial_foo_1.2_foo', but which would as expected allow the user to pick up this package along with anything else 'commercial' by specifying 'commercial' in the whitelist, or anything with a 'commercial_foo' license regardless of version by using 'commercial_foo' in the whitelist, or 'commercial_foo_1.1' to be completely specific about package and version. The current behavior of COMMERCIAL_LICENSE is replicated as mentioned above by having the current set of COMMERCIAL_LICENSE flags implemented using LICENSE_FLAGS = "commercial". That being the case, the current COMMERCIAL_LICENSE can equivalently be specified in the new scheme by putting the below in local.conf: # This is a list of packages that require a commercial license to ship # product. If shipped as part of an image these packages may have # implications so they are disabled by default. To enable them, # un-comment the below as appropriate. #LICENSE_FLAGS_WHITELIST = "commercial_gst-fluendo-mp3 \ # commercial_gst-openmax \ # commercial_gst-plugins-ugly \ # commercial_lame \ # commercial_libmad \ # commercial_libomxil \ # commercial_mpeg2dec \ # commercial_qmmp" The above allows all of the current COMMERCIAL_LICENSE packages in - to disallow a particular package from appearing in the image, simply remove it from the whitelist. To allow them all in, you could also specify LICENSE_FLAGS_WHITELIST = "commercial". Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
* lib/oe: Add sstatesig, OE specific signature generator classesRichard Purdie2012-01-231-1/+1
| | | | | | | | | | | | | This patch adds SignatureGenerator classes specific to OE. For now, these emulate the previous behaviour with the exception that dependencies on quilt-native are now ignored for checksum purposes. The intent is to allow easier experimentation and customisation of this code in future as a result of these changes. Note that these changes require pending bitbake patches. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/patch: avoid backtrace when patch does not applyPaul Eggleton2012-01-191-1/+4
| | | | | | | | | | | | We don't need to see a Python stack backtrace when a patch does not apply, just the error output from patch, so trap these kinds of errors and ensure that we display the message and fail the task and nothing else. Fixes [YOCTO #1143] Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: record additional image infoPaul Eggleton2012-01-191-0/+18
| | | | | | | | | | | | | | | Record some additional information about images - the uncompressed size of the final image as well as the values of various variables that may have influenced its contents. This is recorded in a machine-readable "image-info.txt" file similar in structure to the package history files. Also add some code to analyse changes to these values. (Most of the variable values aren't monitored directly but will be used as contextual information when they change at the same time as the content of the image changing.) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: restore WORKDIR as a patch source directoryBruce Ashfield2012-01-191-0/+2
| | | | | | | | | In the switch to using src_patches and using patches in their source directory, the scanning of WORKDIR migrated items like config fragments was dropped. Adding WORKDIR back as a patch directory restores the old functionality. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* package_rpm.bbclass: Add support for filenames with spacesMark Hatle2012-01-171-4/+4
| | | | | | | | Files with spaces must be fully quoted in an RPM spec file. It was easier to quote all file paths, then to do it selectively. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/packagehistory: remove now obsolete classPaul Eggleton2012-01-171-249/+0
| | | | | | | | packagehistory.bbclass has been superseded by buildhistory.bbclass, which gives more detailed output (including information on produced images) as well as other enhanced functionality. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* classes/package: remove out-of-date notice referring to the OE bugtrackerPaul Eggleton2012-01-171-3/+0
| | | | | | | | OpenEmbedded doesn't officially use a bug tracker anymore, and a message asking the user to fix the metadata could be applied to almost any error that occurs, so just remove the whole message. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* classes/base: note variable name in COMPATIBLE_* skip messagesPaul Eggleton2012-01-171-2/+2
| | | | | | | When raising SkipPackage for COMPATIBLE_MACHINE and COMPATIBLE_HOST exceptions, include the name of the variable as a hint to the user. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* package.bbclass: quote pathname given to objdumpEnrico Scholz2012-01-171-2/+2
| | | | | | | Packaging will fail with executable files containing spaces in their names. Patch quotes the parameter passed to 'objdump'. Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
* image_types_uboot.bbclass: Add uncompressed ext2 image optionMatthew McClintock2012-01-171-1/+5
| | | | Signed-off-by: Matthew McClintock <msm@freescale.com>
* image_types.bbclass: Fix generating uncompressed ext2 imagesMatthew McClintock2012-01-171-1/+6
| | | | Signed-off-by: Matthew McClintock <msm@freescale.com>
* bootimg: Account for FAT filesystem overhead in image sizeDarren Hart2012-01-171-9/+36
| | | | | | | | | | | | | | | | | | | | | | | Fixes [YOCTO #1852] The bootimg class wasn't accounting for non-trivial amount of space required by the directory entries and FATs for the FAT filesystem. This patch attempts to make an accurate prediction of FAT overhead and adjusts the image size accordingly. It assumes no more than 16 directory entries per directory (which fit in a single sector). It also assumes 8.3 filenames. With the ceiling functions rounding up to full sectors and tracks, these assumptions seem reasonable. In order to ensure the calculations are accurate, this patch forces the FAT size to 32, rather than allowing mkdosfs to automatically select 12, 16, or 32 depending on the image being built. Tested by setting BOOTIMG_EXTRA_SPACE=0 and building core-image-minimal and core-image-sato for fri2-noemgd from meta-intel. Signed-off-by: Darren Hart <dvhart@linux.intel.com> CC: Saul Wold <sgw@linux.intel.com>
* oe.license: avoid the need to catch SyntaxErrorChristopher Larson2012-01-171-3/+1
| | | | Signed-off-by: Christopher Larson <chris_larson@mentor.com>
* oe.license: add is_included convenience functionChristopher Larson2012-01-171-19/+4
| | | | | | | | | | | | | | | | | | | Given a license string and whitelist and blacklist, determine if the license string matches the whitelist and does not match the blacklist. When encountering an OR, it prefers the side with the highest weight (more included licenses). It then checks the inclusion of the flattened list of licenses from there. Returns a tuple holding the boolean state and a list of the applicable licenses which were excluded (or None, if the state is True) Examples: is_included, excluded = oe.license.is_included(licensestr, ['GPL*', 'LGPL*']) is_included, excluded = oe.license.is_included(licensestr, blacklist=['Proprietary', 'CLOSED']) Signed-off-by: Christopher Larson <chris_larson@mentor.com>
* copyleft_compliance: add debug message with the reason for exclusionChristopher Larson2012-01-171-7/+17
| | | | Signed-off-by: Christopher Larson <chris_larson@mentor.com>
* copyleft_compliance: add control of recipe types to includeChristopher Larson2012-01-171-3/+18
| | | | | | | | In this context, recipe "type" refers to whether it is 'target', 'native', 'cross', etc. COPYLEFT_RECIPE_TYPES is a space separated list of types to include. It defaults to 'target'. Signed-off-by: Christopher Larson <chris_larson@mentor.com>
* insane.bbclass: fix elf.arch not matching error for x32 kernelNitin A Kamble2012-01-171-1/+2
| | | | | | | | | | For x32 the user space is 32bit and the kernel is 64bit. So the elf.arch for vmlinuz is x86_64 and not x86. This commit fixes this QA error thrown for x32 kernel. | ERROR: QA Issue: Architecture did not match (62 to 3) on /work/qemux86_64-poky-linux-gnux32/linux-korg-3.1+git1+e2bf8464ddbf5da24d3d320cded5691828a91a0b-r1/packages-split/kernel-vmlinux/boot/vmlinux-3.1.0-yocto-standard-01628-ge2bf846 Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
* locale: fix package's "provides" tagNitin A Kamble2012-01-171-3/+0
| | | | | | | | | | | | | | | | | | Fixes this bug: [YOCTO #1874] Fixes an issue where a locale package depends on one package while it also provides the same, as seen bellow. Package: locale-base-de-de Version: 2.12-r19 Depends: eglibc-binary-localedata-de-de Provides: virtual-locale-de-de, virtual-locale-de, eglibc-binary-localedata-de-de Actually the eglibc-binary-localedata-de-de is ia separate package, and it should not be part of provides of the locale-base-de-de. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
* buildstats: tolerate absence of /proc/diskstatsJean-François Dagenais2012-01-161-10/+15
| | | | | | | | | | In OpenVZ containers (and probably lx containers as well), the diskstats entry is not even present. Use the "NoLogicalDrive" introduced by Elizabeth Flanagan in such case. This allows the bitbaking to occure within such containers. Signed-off-by: Jean-François Dagenais <jeff.dagenais@gmail.com>
* patch.bbclass: Ensure the DATE and SRCDATE variable exclusions apply to the ↵Richard Purdie2012-01-131-1/+3
| | | | | | | | | | | correct function People have noticed that sstate is now getting invalidated very readily. The issue is that the code using these variables was factored into a new function but the variable exclusion was not. This patch moves the variable exclusion to the correct place allowing the sstate checksums to work correctly. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: per recipe PRSERV_HOST supportLianhao Lu2012-01-111-0/+8
| | | | | | | [YOCTO #1126] Added per recipe PRSERV_HOST PRSERV_PORT support. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* meta/PRService: Added export/import fuctions.Lianhao Lu2012-01-114-25/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [YOCTO #1556] - Modified meta/class/package.bbclass and prserv.bbclass according to the change in PR service by adding PACKAGE_ARCH into the query tuple. - Added prexport.bbclass, primport.bbclass to export/import AUTOPR values from/to PRService. - Move PR service related common code to lib/oe/prservice.py. - Supported reading the AUTOPR values from the exported .inc file instead of reading it from remote PR service. - Created a new script bitbake-prserv-tool to export/import the AUTOPR values from/to the PR service. Typical usage scenario of the export/import is: 1. bitbake-prserv-tool export <file> to export the AUTOPR values from the current PR service into an exported .inc file. 2. Others may use that exported .inc file(to be included in the local.conf) to lockdown and reproduce the same AUTOPR when generating package feeds. 3. Others may "bitbake-prserv-tool import <file>" to import the AUTOPR values into their own PR service and the AUTOPR values will be incremented from there. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* Incremental rpm image generationRobert Yang2012-01-113-13/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Incremental rpm image generation, the rootfs would be totally removed and re-created in the second generation by default, but with INC_RPM_IMAGE_GEN = "1", the rpm based rootfs would be kept, and will do update(remove/add some pkgs) on it. NOTE: This is not suggested when you want to create a productive rootfs For example: 1) Add the follow config option to a conf file: INC_RPM_IMAGE_GEN = "1" 2) bitbake core-image-sato modify a package bitbake core-image-sato The rootfs would not be totally removed and re-created in the second generation, it would be simply updated based on the "package". Implatation: 1) Figure out the pkg which need to be removed or re-installed, then use 'rpm -e to remove the old one. Use the rpm's BUILDTIME to determine which pkg has been rebuilt. 2) Figure out the pkg which is newly added, and use 'rpm -U' to install it. This only for the rpm based rootfs, the deb and ipk based rootfs would be done later. [YOCTO #1651] Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
* license.bbclass base.bbclass: support for 'or' operand in LICENSE and for ↵Andrei Gherzan2012-01-102-2/+46
| | | | | | | | | | | | | | | | SPDX license names A new function was defined in license.bbclass in order to correctly exclude packages where OE-Style licence naming is used. In this way licenses as GPL-3, GPLv3, GPLv3.0 etc will be excluded from a non-GPLv3 build. This function takes into consideration if 'or' operand is used. The function defined in license.bbclass is called in base.bbclass where packages are excluded based on INCOMPATIBLE_LICENSE variable. [YOCTO #1884] [YOCTO #1844] Signed-off-by: Andrei Gherzan <andrei at gherzan.ro> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: Introduce CACHED_CONFIGUREVARSKhem Raj2012-01-091-1/+1
| | | | | | | | | | | | | | | This variable is for holding the cached configure variables to be specified in recipes. e.g. CACHED_CONFIGUREVARS += "ac_cv_foo=yes ac_cv_bar=no" This will make sure that the variables are not detected by configure. This is useful in cross builds where some features can not be detected correctly by configure and having it as a variables gives us capability to override it Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gtk-icon-cache.bbclass: add -f option to gtk-update-icon-cache in postinstSteve Sakoman2012-01-091-1/+1
| | | | | | | | | | The gtk-update-icon-cache utility does not create a cache file if one does not already exist. Since some packages (notably gnome-icon-theme) do not ship a cache file by default, the results of the utility are not saved. Adding the force option writes out the cache even if there wasn't a default cache in the package. Signed-off-by: Steve Sakoman <steve@sakoman.com>
* add sysroot support for meta-ide-support which is the toolchain within build ↵Jessica Zhang2012-01-091-4/+5
| | | | | | env case Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
* image.bbclass: Use ?= to set LINGUAS_INSTALLDongxiao Xu2012-01-061-1/+1
| | | | | | | | Hob may dynamically sets BBLAYERS to bitbake server, thus we need a flexible way to load LINGUAS_INSTALL value. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qt4x11.bbclass: add QT_BASE_NAME for use in recipesOtavio Salvador2012-01-061-0/+1
| | | | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* qt4e.bbclass: add QT_BASE_NAME for use in recipesOtavio Salvador2012-01-061-0/+1
| | | | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* linux-yocto: use src_patches for out of tree kernel feature supportBruce Ashfield2012-01-061-2/+65
| | | | | | | | | | | | To support larger out of tree kernel features and enhanced patching schemes, this changeset modifies the linux-yocto patching routines to call the recently factored out 'src_patches' routine. Using the returned list of local URIs for all valid patches, the logic can then determine whether or not patches can be used in place, or need to be migrated and have re-usable kernel features created. The results are then fed to the existing infrastructure to be applied and commited to the tree. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* classes/buildhistory: remove redundant package history checking stubPaul Eggleton2012-01-061-11/+0
| | | | | | | | | The code that would have gone here has been superseded by the buildhistory analysis functionality implemented in meta/lib/oe/buildhistory_analysis.py and scripts/buildhistory-diff, so remove it. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* classes/buildhistory: make the package version backwards error non-fatalPaul Eggleton2012-01-061-1/+1
| | | | | | | | Just make it a bb.error when a package version goes backwards, it doesn't make sense to fail the build immediately; the error(s) will still be reflected in bitbake's exit code. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* classes/buildhistory: add hostname to commit messagePaul Eggleton2012-01-061-1/+2
| | | | | | | If we're building on multiple hosts then it's useful to have the hostname in the commit message. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
* image-mklibs/package_ipk: Remove bashismsRichard Purdie2012-01-052-3/+7
| | | | | | | We now support using dash but these bashisms triggered build failures for me when using it. This replaces the code with something which works on dash. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: use bb.process.Popen instead of subprocess.check_outputScott Garman2012-01-051-10/+6
| | | | | | | | | | | | | | | | | | subprocess.check_output was only introduced in Python v2.7, so we cannot use it. This refactors the QA test to use bb.process.Popen instead. This fixes the error: AttributeError: 'module' object has no attribute 'check_output' It no longer checks the return status of prelink-rtld, as that case was simply adding noise. This QA test is intended to only warn about specific paths that binaries could be linking to, not handle the case where there is a missing library. Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Abstract class extension code into classextend.pyRichard Purdie2012-01-052-80/+26
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* native.bbclass: Fix variable remapping coverageRichard Purdie2012-01-051-1/+1
| | | | | | | | | | | | | | | When looking for RDEPENDS to process, bitbake iterates through PACKAGES *and* PN. Since native.bbclass sets PACKAGES to be empty, its pointless remapping the list of PACKAGES since this does nothing. There is a problem since *_${PN} are used by bitbake but not remapped by the native.bbclass class extension code. This changes the code to remap _${PN} in both expanded and unexpanded forms. As a result of this, various surprising dependencies are uncovered and the patch rectifies those. These are real bugs since they're injecting unneeded (unremapped) dependencies into the dependency chain. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>