summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2013-05-09class/lib: Fix up various file access methodsRichard Purdie9
There are various bits of cruft that have built up around our file accesses. This patch cleans some of them up, specifically: * Remove pointless "from __builtin__ import file" * Use open(), not file() * Wrap file usage in a with container to ensure files are closed * Add missing .close() calls in some cases Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09buildstats: Drop spurious open() callRichard Purdie1
This file is already opened a few lines previously, so drop the duplicated call. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09useradd: Use modern join syntaxRichard Purdie1
string.join() is deprecated syntax and doesn't work under python3 so use the modern sytax instead. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09classes/lib: Fix getcmdstatus breakageRichard Purdie3
I mistakenly thought subprocess had getcmdstatus in python 2. It doesn't so lets add a wrapper and have this work in both worlds. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09base.bbclass: Drop unused/obsolete importRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09image/kernel-module-split/eglibc-ld.inc: Remove has_key() usageRichard Purdie2
The has_key() attribute has been removed in python 3 since there is better syntax available. Use the improved syntax. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09sanity/patch.py: Remove commands module usageRichard Purdie3
The commands module is removed in python3. Use the subprocess module instead and the pipes module to replace the mkargs usage. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09insane: Open file in binary modeRichard Purdie1
We open the file we're writing to in binary mode so open the input stream with the same mode so things match. This avoids errors with python3. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09classes/lib: Update to use print as a function callRichard Purdie2
In python 3 print is a function call. In some cases bb.note is a more appropriate call to make. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09metadata_scm: Replace deprecated operatorRichard Purdie1
The <> operator is deprecated, use != instead which is equivalent. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09sanity.bbclass: Use open(), not file()Richard Purdie1
file() syntax is removed in python 3, use open() instead. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09classes/recipes/lib: Fix various python whitespace issuesRichard Purdie2
There are some left over tab characters in the python functions. This removes them and resolves python 3 errors. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09classes: Use modern exception raising syntaxRichard Purdie5
Modern expection rasing syntax is function call format, convert to this to keep python 3 happy and model correct coding style in the core. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09buildstats: Update to ensure files are closedRichard Purdie1
python3 doesn't like files being left open. This updates the code style to ensure file are closed. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09clases/lib: Use modern exception syntaxRichard Purdie3
Update older code to use modern exception handling syntax which is the form accepted by python 3. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09bootimg.bbclass: add comment for NOHDDRobert Yang1
Add comment for NOHDD which is used for skipping building the HDDIMG if set to 1 Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-07archive-*-source.bbclass: handle dependency in anonymous functionLaurentiu Palcu3
Using "before do_rootfs" would have this task added to do_rootfs dependencies regardless of the filtering options. Instead, add this dependency in the anonymous python function. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-03buildhistory: change default BUILDHISTORY_DIR to TOPDIRMartin Jansa1
* like PERSISTENT_DIR I find BUILDHISTORY_DIR more persistent then tmp-eglibc directory * WARN: people with existing checkouts in TMPDIR/buildhistory need to move it to new location first (in order to save history) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-03archive-*-source.bbclass: have do_dumpdata_create_diff_gz task run before ↵Laurentiu Palcu3
do_rootfs do_rootfs[cleandirs] contains ${S} and, if do_rootfs task starts before the do_dumpdata_create_diff_gz is finished, an error will occur in the process because the directory will be removed while still needed by the create_diff_gz() function. This patch will force the do_dumpdata_create_diff_gz task to run before do_rootfs when the final image is created. [YOCTO #4310] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-03image_types: fix default location of kernel when generating elf imagesTomas Frydrych1
Generation of elf images fails because kernel images are no longer staged under ${STAGING_DIR_HOST}/kernel, but rather ${STAGING_DIR_HOST}/usr/src/kernel. This patch fixes the path to point to the correct location. Signed-off-by: Tomas Frydrych <tomas@sleepfive.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-03image.bbclass: Don't mark do_rootfs and do_build as nostampPhil Blundell1
When image.bbclass was first conceived (as rootfs_ipk.bbclass), oemake was unable to figure out when the inputs to do_rootfs had changed in such a way that it would need to be rerun. Absent any reliable information of this kind, it was necessary to adopt the conservative assumption that images always needed rebuilding and, to this end, do_rootfs and do_build in image recipes were marked as nostamp. (The nostamp annotation for do_build was added in oe-classic commit 80d622e0c1dbc284858e01d3eb670303a6d8cdf9 from January 2005; the exact point at which do_rootfs was made nostamp is obscure, but it predates oe-classic revision 63fad339e01d4b16105146c32a61f24460397126.) This situation persisted for the following eight years but, during that period, oemake evolved into today's sstate-enabled bitbake, oe itself gained the OEBasicHash algorithm which can reliably detect changes to the input data for do_rootfs or any other task, and OEBasicHash was made the default for oe-core in 4199efed48005a62267fa3374c33b13627d85f44 (June 2012). Given these various changes in the wider landscape, there is no longer any obvious benefit to having these two tasks marked as nostamp, and indeed having them so marked causes needless rebuilds which can be annoying. Anybody who does genuinely wish to rerun these tasks when nothing in the input has changed can run "bitbake -f", just like with any other task. So, let's remove the nostamp annotations and just let bitbake figure out when to rerun them. Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-03classes/image: allow complementary package globs to be extendedPaul Eggleton1
Make it easy for the wildcard specifications for complementary package features to be extended outside of image.bbclass. For example, to add a new "foo-pkgs" item that could be added to IMAGE_FEATURES that would cause *-foo packages to be installed for all packages currently in the image, you can now use this line at the global level: COMPLEMENTARY_GLOB[foo-pkgs] = "*-foo" Implements [YOCTO #4228]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-02Make toolchain output name using SDK_VERSION instead of DISTRO_VERSION to be ↵Jessica Zhang1
consistent [yocto #2342] Signed-off-by: Jessica Zhang <jessica.zhang@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-01sstate.bbclass: make hard links for staging filesRobert Yang1
Make hard links for staging files instead of copy to save the disk space (3G will be saved for a core-image-sato build), and it doesn't affect much on the build time. The following directories are affected: 1) The sysroot 2) The DEPLOY_DIR 3) The pkgdata [YOCTO #4372] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-29Pass the mlprefix to postinst_intercept scriptLaurentiu Palcu3
This is needed in order to have separate multilib intercept hooks. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-29Revert "qemu.bbclass: Use the correct qemu binary in multilib cases"Laurentiu Palcu1
This reverts commit 9f5a6f89d9f4a6c7bed3b163e6eaa764d762f523. The reason for reverting this is: * qemuwrapper has now a fallback method; * when using multilib, calling qemu_target_binary from recipes would always point to the qemu binary corresponding to the machine architecture. Hence, postinstalls needing to use qemu would call the wrong qemu user emulation binary; Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-29cpan.bbclass: use '|' as sed separator for entry with pathsMarcin Juszkiewicz1
With normal toolchain it works. But fails badly when external Linaro toolchain is used. And this is why: -e "s/^\(CCFLAGS =.*\)/\1 -isystem/home/hrw/devel/canonical/aarch64/openembedded/build/linaro-tcwg/gcc-linaro-aarch64-linux-gnu-4.7-2013.04-20130415_linux//aarch64-linux-gnu/include -O2 -pipe -g -feliminate-unused-debug-types/" \ Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-29sstate: Set umask to 002 before packaging runsPhil Blundell1
Otherwise we might end up creating directories under sstate-cache with whatever random umask has been selected for the task that we're trying to package. This would be a bad thing since it might result in losing group write access for newly created dirs, and/or losing group read access for the sstate files themselves. Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-28kernel-arch: Always use ld.bfd to link the kernelPhil Blundell1
The kernel's penchant for custom linker scripts means that it doesn't generally get on very well with gold. Make sure we are using the BFD linker here no matter what the distro default is set to. Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-22package.bbclass: ensure license excluded files aren't packagedChristopher Larson1
An excluded package left its files behind, which meant they could end up in another package instead, meaning we could ship GPLv3 binaries even with GPLv3 in INCOMPATIBLE_LICENSE. Skip the files belonging to the excluded packages to prevent this from occurring. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-22package.bbclass: add LICENSE_EXCLUSION to vardepsChristopher Larson1
Ensure that changes to INCOMPATIBLE_LICENSE re-run do_package for affected recipes. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-04-22image.bbclass: change the logic when intercepts failLaurentiu Palcu1
Due to some issues with postinstalls that register hooks, we changed the logic a bit. Now, all postinstalls that register hooks will return successfully and only after, if hooks fail, mark the package as unpacked. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-22pixbufcache.bbclass: do not exit 1 after installing intercept hookLaurentiu Palcu1
This will allow to register, in a single postinstall, multiple hooks. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-22gtk-icon-cache.bbclass: do not exit 1 after installing intercept hookLaurentiu Palcu1
This will allow to register, in a single postinstall, multiple hooks. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-22fontcache.bbclass: do not exit with 1 after installing intercept hookLaurentiu Palcu1
This will allow to register, in a single postinstall, multiple hooks. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-18package_ipk: Ensure the status file existsRichard Purdie1
The postinstall for the opkg run-postinst hook checks for the existence of this file. We therefore ensure it always exists during image generation. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-18package.bbclass: Add useradd variables to PACKAGEVARSRichard Purdie1
THe USERADD_PARAMS and similar group variables are package specific variables which should get added to the vardeps of the packaging process. This change also ensures they get remapped correctly by the multilib code. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-18multilib: Ensure we map the USERADD_PACKAGES variableRichard Purdie1
If we don't do this, multilib packages don't have any code added to the postinstalls to handle user additions. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-17packagegroup: Add init-manager sanity checkRichard Purdie1
Currently, you can set VIRTUAL-RUNTIME_init_manager to an init system that isn't in DISTRO_FEATURES. This leads to head scratching over unbootable images. This adds a sanity check which ensures more valid systems are built. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-17package.bbclass: Fix populate_packages for glob expansion issuesRichard Purdie1
If we put a valid glob like "*/foo/*" into FILES, populate_packages breaks with a "file exists" message. This is because the glob expansion does not have "./" prefix however there may already be an entry in the seen list which does have such a prefix. The easiest/simplest fix right now is to add the prefix if it doesn't exist which only happens for certain globs. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-15update-alternatives: Ensure DEPENDS is correct in multilib caseRichard Purdie1
Ensure that the DEPENDS we're adding is correct in the multilib case by including MLPREFIX, fixing unnecessary dependencies in those images. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-15kernel.bbclass: Ensure we have correct version information in deploy dataRichard Purdie1
Currently the names used for the kernel in deploy will contain "AUTOINC" instead of the final incremental numbering. This fixes the problem by ensuring data is obtained from the PR service and using the PKG* variables instead of PE/PV/PR directly. [YOCTO #4293] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-13package/image.bbclass: Fix multilib rprovidesRichard Purdie3
allarch multilib recipes are meant to provide a list of different multilib variants. Unfortunately since the pkgdata also has mappings for these, they get mapped back to the original package name which means the effect is undone at package creation time when the remapping code is called. This patch adds in a conditional to break that chain meaning the packages get the correct RPROVIDES and image builds work correctly with opkg. [YOCTO #3453] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-13classes/sanity: fix handling of bblayers.conf updatingPaul Eggleton1
Fix the fairly long-standing problem of treating a newer bblayers.conf in the same manner as an older one (reporting that it had been updated even if nothing was done). The recent work to do a reparse without having to manually re-run bitbake turned this from an annoyance into an endless loop, so it had to be fixed. As part of fixing this the following changes have been made: * Extensions are now implemented using a function list, so distro layers can add their own functions which should either succeed (indicating they have successfully updated the file) or raise an exception (indicating nothing could be done). The functions are called in succession until one succeeds, at which point we reparse. * If we can't do the update, the error message now says "older/newer" instead of just "older" since we only know the version is different. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-12kernel.bbclass: Optionally create lib dir during deployKhem Raj1
when we have multilib and a 64bit machine and initramfs then image/lib directory will not be created and it will end up with errors like | DEBUG: Executing python function sstate_task_prefunc | DEBUG: Python function sstate_task_prefunc finished | DEBUG: Executing shell function do_deploy | tar: lib: Cannot stat: No such file or directory | tar: Exiting with failure status due to previous errors So in order to overcome this shortcoming lets mkdir -p the lib directory so the modules can be happily installed. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-11icecc: Allow to use this bbclass together with external toolchainsMartin Jansa1
* original implementation by Antti Harju Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-11package_rpm.bbclass: fix build multilib image failed when PR Server enabledHongxu Jia1
1, In bitbake.conf PKGR ?= "${PR}${EXTENDPRAUTO}" EXTENDPKGV ?= "${EXTENDPKGEVER}${PKGV}-${PKGR}" RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})" 2, When PR Server is enabled, EXTENDPRAUTO is not none which means PKGR and PR don't have the same value. 3, When multilib is enabled, RDEPENDS_${PN}-dev is not expanded correctly which uses PR rather than PKGR in the versioned dependency string. 4, Make sure PKGR rather than PR in version string when do_package_rpm. [YOCTO #4050] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-11ptest bug fixesBjörn Stenberg3
Move ${PN}-ptest to start of PACKAGES to ensure all ptest files are packaged in the -ptest package. Add QA exclusions to insane.bbclass to ensure -ptest packages can contain any files they need. Disable ptest for native packages. Don't emit errors on missing _ptest functions. Signed-off-by: Björn Stenberg <bjst@enea.com> Signed-off-by: Anders Roxell <anders.roxell@enea.com> Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-11kernel.bbclass: do_strip: allow recipes to strip the kernelMichel Thebeau1
Allow recipes to specify sections to be stripped from the kernel output using KERNEL_IMAGE_STRIP_EXTRA_SECTIONS. For example: KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment .unwanted" The kernel output is stripped in place. Since the toolchain does not give indication when the specified sections are absent, we read the sections first and make this report by issuing a warning to the developer. The toolchain by default strips the image with the -s option (even when -s is not specified): -s --strip-all Remove all symbol and relocation information For example, these sections are always removed: .debug_aranges .debug_info .debug_abbrev .debug_line .debug_frame .debug_str .debug_loc .debug_ranges .symtab .strtab In addition to these, the sections listed in KERNEL_IMAGE_STRIP_EXTRA_SECTIONS will also be removed. Only stripping of vmlinux (elf) is supported at this time. A warning will be given if the image type is not vmlinux. Stripping the image could also be done in the kernel, but that would only work for linux-yocto based kernels, so it's not the route we decided to go. [YOCTO 3515] Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-10postinst-intercepts, qemu.bbclass: fix segfaults in postinstallsLaurentiu Palcu4
Postinstalls that use qemu are throwing a segmentation fault when building for qemux86-64 on a 64bit host (it might also happen for qemux86 if building on a 32bit host but I didn't test). It looks like qemu looks for ld.so.cache which is not found because it is generated after rootfs_(rpm|ipk|deb)_do_rootfs is called and then it tries to load libraries from the default paths (which are the host's). In order to avoid this, pass the LD_LIBRARY_PATH explicitly to the target's dynamic loader. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>