summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* classes/externalsrc: set do_compile as nostampPaul Eggleton2014-12-231-0/+3
| | | | | | | | | | | | | | Most of the time what you want when using this class is for do_compile to execute more than just once - every time the source changes would be ideal, but that's a little tricky to accomplish. Thus, set do_compile as nostamp to get something close. Note that in order to be effective this also requires the change to bitbake that causes nostamp task signatures to change on each execution. (From OE-Core rev: e734e12fd1478cdacdadf4e0fae5247cb70b9fb1) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/package: move read_shlib_providers() to a common unitPaul Eggleton2014-12-211-23/+1
| | | | | | | | | This allows us to use this function elsewhere in the code. (From OE-Core rev: 657cff8a0f0e5db171b2ed9388a790ee0b135842) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* boot-directdisk: Use kernel from DEPLOY_DIR_IMAGE, not sysrootRichard Purdie2014-12-211-1/+2
| | | | | | | | | | | | After the recent kernel changes, this avoids failures like: DEBUG: Executing shell function build_boot_dd install: cannot stat '/home/pokybuild/yocto-autobuilder/yocto-worker/build-appliance/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/bzImage': No such file or directory WARNING: exit code 1 from a shell command. (From OE-Core rev: 40e83470ca45ae5c305609a5065278612e69a7e2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bootimg: Use deploy artefacts, not STAGING_KERNEL_DIRRichard Purdie2014-12-211-1/+2
| | | | | | | | | bzImage is no longer in STAGING_KERNEL_DIR. Rather than add it back, depend on the kernel deploy task and find it in DEPLOY_DIR_IMAGE. (From OE-Core rev: 75f83fdc5a78bf1b84dbcd6acb9fa3f76b2aac2c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Fix non linux-yocto buildsRichard Purdie2014-12-211-4/+25
| | | | | | | | | | | | | | | | | | | | After the recent kernel changes, non linux-yocto builds stopped working properly for two reasons: a) ${S} was being reset to ${WORKDIR}/git for example and STAGING_KERNEL_DIR did not contain the source b) Most builds were using ${B} == ${S} This patch adds a fixup to the unpack function to handle the case where ${S} != ${STAGING_KERNEL_DIR} and also set up the infrastrcture so that B != S for kernel builds from now on. The kernel build system is one of the best for supporting this and there is no good reason not to take advantage of it. (From OE-Core rev: 106dab2fd0321e6b4e77b40111e59a3a31d329d4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernelsrc.bbclass: Ensure fetch/unpack/patch tasks don't runRichard Purdie2014-12-211-0/+3
| | | | | | | | | In particular this removes a race condition where a ${S}/patches directory could be created by do_unpack. This confuses kern-tools. (From OE-Core rev: a64d36e3bec47fedc788c33b23736914cfbd62bb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Clean ${S} before unpackRichard Purdie2014-12-211-0/+2
| | | | | | | | | | | | | | Currently unpack just forces sources over the current files. This change ensures ${S} is cleaned out before sources are unpacked. This resolves issues seen when upgrading to the new kernel class changes. Ultimately, this should probably move to base.bbclass but one step at a time, this solves an immediate problem blocking the other patches from merging. (From OE-Core rev: 7deb1f670c188c24744b7888a2d2f73c2a8ddff7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity: TMPDIR ABI change for kernel processRichard Purdie2014-12-211-0/+10
| | | | | | | | | | | | The kernel source is being moved into the sysroot, to do this and preserve previous builds, we need to change the TMPDIR ABI and provide a function to uninstall all kernels from the sysroot. This change adds code to do that and increases the ABI number. (From OE-Core rev: 323f9ea99cff00a751e446286bf8bcf8756e4351) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: make sure git tags get dereferenced properly in do_patch()Jeff Wang2014-12-211-1/+1
| | | | | | | | | | | | | | | | | | | | Commit 92c1ece6c347030d48995a36f4c67861356e59d3 causes the test in do_patch() in kernel-yocto.bbclass to fail if ${machine_srcrev} is an annotated tag. The check is meant to ensure that ${machine_srcrev} is an ancestor of HEAD, but if ${machine_srcrev} is a tag, then "$(git rev-parse --verify ${machine_srcrev})" evaluates to the SHA of the tag instead of what it's pointing to. Replacing "$(git rev-parse --verify ${machine_srcrev})" with "$(git rev-parse --verify ${machine_srcrev}~0)" fixed the problem by finding the object pointed to by the tag, and not the tag itself. This also works for commit IDs that are not tags, hence is safe in a scenarios. Jeff Wang <jeffrey.wang@ll.mit.edu> (From OE-Core rev: f79c9334f670ed6fce86047fbadb817af8d4fe14) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: fix non-git buildsBruce Ashfield2014-12-211-1/+3
| | | | | | | | | | | | | | | | | | | The ability to build non-git repositories was broken by two changes: - The existence of an empty 'patches' directory created during the unpack phase. This dir was incorrectly identified as a valid meta directory and broke the build. By ensuring that it is removed before creating the empty repository, it will no longer be found instead of the real meta directory. - The attempt to reset the git repository to a specific SRCREV when no SRCREV was provided. By checking for a SRCREV of 'INVALID', we avoid any processing and failed git operations. (From OE-Core rev: d5451dda1b8cfbbe8b6a779b0cd9b1397ebf1a07) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: fix out of tree module buildsBruce Ashfield2014-12-211-0/+23
| | | | | | | | | | | | | | With the kernel build optimizations, we no longer copy the source from the built kernel into the staging dir, since the kernel is unpacked and built directly from the staging dir. This means that a few build artifacts need to be restored to allow out of tree modules to once again build. (From OE-Core rev: 4b981e4fd5a4744d0d83053219274296e7785e77) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: Rearrange for 1.8Richard Purdie2014-12-214-92/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 1.8 we want to streamline the kernel build process. Basically we currently have multiple copies of the kernel source floating around and the copying/compression/decompression is painful. Lets assume we have a kernel source per machine since in most cases this is true (and we have a sysroot per machine anyway). Basically, instead of extracting a source into WORKDIR, then copying to a sysroot, we now set S to point straight at STAGING_DIR_KERNEL. Anything using kernel source can then just point at it and use: do_configure[depends] += "virtual/kernel:do_patch" to depend on the kernel source being present. Note this is different behaviour to DEPENDS += "virtual/kernel" which equates to do_configure[depends] += "virtual/kernel:do_populate_sysroot". Once we do this, we no longer need the copy operation in do_populate_sysroot, in fact there is nothing to do there (yay). The remaining part of the challenge is to kill off the horrible do_install. This patch splits it off to a different class, the idea here is to have a separate recipe which depends on the virtual/kernel:do_patch and just installs and packages the source needed to build modules on target into a specific package. Right now this code is proof of concept. It builds kernels and kernel modules. perf blows up in do_package with issues on finding the kernel version which can probably be fixed by adding back the right bit of do_install, and adding a dependency of do_package[depends] += "virtual/kernel:do_install" to perf. The whole thing needs a good write up, the corner cases testing and probably a good dose of cleanup to the remaining code. (From OE-Core rev: 3b3f7e785e27990ba21bc7cd97289c826a9a95d1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image: Avoid race over directory creationRichard Purdie2014-12-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | There is a race over the do_package_qa task and the do_rootfs task since rootfs recreates a directory. This patch disables the task (which isn't used for images) to avoid the race: NOTE: recipe core-image-minimal-1.0-r0: task do_package_qa: Started NOTE: recipe core-image-minimal-1.0-r0: task do_rootfs: Started ERROR: Build of do_package_qa failed ERROR: Traceback (most recent call last): File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/bitbake/lib/bb/build.py", line 497, in exec_task return _exec_task(fn, task, d, quieterr) File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/bitbake/lib/bb/build.py", line 440, in _exec_task exec_func(func, localdata) File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/bitbake/lib/bb/build.py", line 212, in exec_func exec_func_python(func, d, runfile, cwd=adir) File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/bitbake/lib/bb/build.py", line 237, in exec_func_python os.chdir(cwd) OSError: [Errno 2] No such file or directory: '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/build/tmp/work/qemumips-poky-linux/core-image-minimal/1.0-r0/core-image-minimal-1.0' (From OE-Core rev: 0550d112ad9c2ca9f8167dcae35200210923f2c5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* report-error: Handle the case no logfile existsRichard Purdie2014-12-211-3/+6
| | | | | | | | | If the task fails early, no error log may exist. Currently we crash in that case, this handles the situation more gracefully. (From OE-Core rev: 1e6bfcab47f532677f87683ba2f5e5fb905e9ba5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base/license.bbclass: expand wildcards in INCOMPATIBLE_LICENSEHongxu Jia2014-12-192-1/+26
| | | | | | | | | | | | | | | | The whitelist processing in code in base.bbclass does not play well with wildcards in INCOMPATIBLE_LICENSES. The code expects bad_licenses to contain actual license names, not wildcards. Add incompatible_license_contains to replace bb.utils.contains( "INCOMPATIBLE_LICENSE", **, **, **, d) [YOCTO #5592] (From OE-Core rev: 3587653a8d8abc7cfed6a5c6ecfa72bee283e451) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toaster.bbclass: trigger event for other image filesAlexandru DAMIAN2014-12-191-3/+15
| | | | | | | | | | | | | | | Toaster will log all the files that it can find in the deploy images directory, and list them, considering that they may be artifacts of the current build not logged anywhere else. [YOCTO #6836] (From OE-Core rev: 87a25b1dec86da809c9a13c10449bd33a471cb95) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: do variable fixups even when FILES was setPeter Seebach2014-12-191-8/+10
| | | | | | | | | | | | | | | | | | | A number of settings (DESCRIPTION, SUMMARY, postinst, postrm, and appends to RDEPENDS) were made only if FILES_foo was not set for a given package. If you had a modified glibc packaging setup that was defining FILES_glibc-gconv-somelocale, this would prevent the automatic append of glibc-gconv as a dependency, because extra_depends was ignored. I think the assumption may have been that if FILES_foo was set, DESCRIPTION_foo and SUMMARY_foo would also be set, but it seems to me that the right answer is probably to set them if they aren't already set, and leave them alone if they are. (From OE-Core rev: 7e59b0c7e03fc08a6eaf9c8ccb6bfa72b4604cc5) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: Remove bashismKhem Raj2014-12-191-1/+1
| | | | | | | | | | | | | | | | | Fixes build on systems using dash for default shell e.g. errors like run.do_strip.25842: [[: not found | readelf: Error: Unable to read in 0x37 bytes of section headers | readelf: Error: Not an ELF file - it has the wrong magic bytes at the start Change-Id: I29cac15be44a02d75a3d6889b6ae9b2e19bf46af (From OE-Core rev: 6956ffdc6e9879e32360b6ee3a3d286618807485) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: Populate cpio /init as symlinkNathan Rossi2014-12-191-1/+5
| | | | | | | | | | | | | | | | For cpio/ramfs the kernel will first attempt to execute /init and will emit the following error as the file is empty: Failed to execute /init (error -13) If /sbin/init exists symlink to it so the kernel can immediately start the correct init executable instead of an empty file. (From OE-Core rev: 3505558e067fdde4ab7aaaf3c50886f292d7c166) Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu/libc-package: Fix qemu option handling1.8_M1Richard Purdie2014-12-052-16/+17
| | | | | | | | | | | | | | | | The 'overrides' here are PACKAGE_ARCH based and hence not overrides as such and the _append wasn't working in many cases. This adjusts the code to use PACKAGE_ARCH as the accessor and ensures the variables work as expected. This fixes various segfaults and ensures postinsts run at build time rather than on the target system. The bug was introduced in http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=7efad8a1b56df6ee07c12ad360c0493d7b1d6d23. (From OE-Core rev: 219e793907406eabf632e784e3a11ab9acb77cfb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: respect CLEANBROKENRoss Burton2014-12-051-1/+1
| | | | | | | | | | autotools.bbclass should respect CLEANBROKEN as it invokes 'make clean' on configure. (From OE-Core rev: ffbcb440c43e5e00e73ced67a2c888e9863a1d00) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: fix CLEANBROKEN logicRoss Burton2014-12-051-1/+1
| | | | | | | | | | | | The evalation order was incorrect in some situations (CLEANBROKEN=1 and GNUmakefile exists) the clean would be executed incorrectly. Add brackets to correct the logic. (From OE-Core rev: a9e95c3cd771b16bbf4c9eaa05c79d7b4ca7272a) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: whitespaceMichael Jones2014-12-051-3/+3
| | | | | | | | | Don't mix tabs and spaces (From OE-Core rev: 505a3a6a9a0c080bc5b7d16ed569b80b43869977) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: remove comment that readonly only works for sysvinitMichael Jones2014-12-051-1/+0
| | | | | | | | | | Should have been removed with 92f956d tweak read_only_rootfs_hook to also support systemd based systems (From OE-Core rev: e8bd2783870e71b42c902a31bd6521d564915e99) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "qt4*.bbclass: disable build qt on mips64 with 64 bits userspace"Jackie Huang2014-12-052-6/+0
| | | | | | | | | | | | | | | This reverts commit 17890ebd637da0b3bf78804002d8b4f0ace078d2. qt4 is upgraded to 4.8.6 and this is fixed by: c889b40 qt webkit: add support for MIPS64 platforms so revert the commit. (From OE-Core rev: 28abbcc5cc4fcea23528027ef2c0faebcd9474c8) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto.bbclass: fix shell syntax errorPaul Eggleton2014-12-051-1/+1
| | | | | | | | | | | Spaces aren't valid around = in an assignment statement (not even with bash). (From OE-Core rev: fb419b1a3f5dbc5e5019be9d09c4acdbeb460c19) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake: supply CMAKE_AR in toolchain fileCody P Schafer2014-12-051-0/+2
| | | | | | | (From OE-Core rev: 79144da00f005b5a3ab8f7404730216cfc684616) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-script: Add support for ccache builds with the SDKLaszlo Papp2014-12-031-0/+2
| | | | | | | | | | | | It is necessary to have an SDK for developers who build their software with ccache to speed up the compilation. Without resolving this, unfortunately the compilation will fail for them. (From OE-Core rev: 1d31ddb856a80ba9da1a64ed5d701dc0f7351ef7) Signed-off-by: Laszlo Papp <lpapp@kde.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* compress_doc.bbclass: support update-alternativesHongxu Jia2014-12-031-1/+45
| | | | | | | | | | | | | | | | | | | | | | While doc file make use of update-alternatives to fix confliction, we should reconfigure update-alternatives for doc compression. Such as util-linux-doc: ... update-alternatives --install /usr/share/man/man1/last.1 last.1 /usr/share/man/man1/last.1.util-linux 100 ... was updated by doc_compress to ... update-alternatives --install /usr/share/man/man1/last.1.bz2 last.1.bz2 /usr/share/man/man1/last.1.util-linux.bz2 100 ... (From OE-Core rev: ba4dd1afc2476259eff52f8a68fba1344e0f0474) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* compress_doc.bbclass: improve manual file detectionHongxu Jia2014-12-031-4/+7
| | | | | | | | | | | | | | | | The previous detection missing the following manual file: ... gawk-doc/usr/share/man/man3/readfile.3am libpcap-doc/usr/share/man/man3/pcap_dump_open.3pcap ... We use re to imporve it. (From OE-Core rev: 886685d207bd5e6e2e236a7c5591f62f5de26090) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* metadata_scm: Fix crash due to uncaught python exceptionMerten Sach2014-12-031-1/+1
| | | | | | | | | | | | | | | | Function base_get_metadata_svn_revision was crashing due to an uncaught IndexError exception. The except notation without parentheses is legacy syntax. It is the equivalent to 'except IOError as IndexError' which is not what we want here. The change catches both exceptions. (From OE-Core rev: 33bea949bae54ddc89aa83cf07d7b1ee62e2b393) Signed-off-by: Merten Sach <msach@mailbox.tu-berlin.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Create empty key/value if not there for shlib_providerKhem Raj2014-12-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we use ASSUME_SHLIBS,e.g. ASSUME_SHLIBS = "libEGL.so.1:libegl-implementation" then we end up with errors like below when using shlibs2 (dizzy+) File: 'package_do_shlibs', lineno: 216, function: package_do_shlibs 0212: dep_pkg = dep_pkg.rsplit("_", 1) 0213: if len(dep_pkg) == 2: 0214: lib_ver = dep_pkg[1] 0215: dep_pkg = dep_pkg[0] *** 0216: shlib_provider[l][libdir] = (dep_pkg, lib_ver) 0217: 0218: libsearchpath = [d.getVar('libdir', True), d.getVar('base_libdir', True)] 0219: 0220: for pkg in packages.split(): Exception: KeyError: 'libEGL.so.1' This is because the entry which is being populated does not exist so lets create it if its not already there. Change-Id: I9e292c5439e5d1e01ea48341334507aacc3784ae (From OE-Core rev: a64f81fcef42172f788cec7a63bb4672eac99f94) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot-config.bbclass: don't skip defaultvalRoss Burton2014-12-031-3/+0
| | | | | | | | | This field is now internal and won't be seen. (From OE-Core rev: cce39741bb9d1b0166c7fd63506f96abaa0d8af6) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: don't skip defaultvalRoss Burton2014-12-031-2/+0
| | | | | | | | | This field is now internal and won't be seen. (From OE-Core rev: 9a715be3b2b4396495f2f8c10dc28b33f206efe4) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distrodata_class: checkpkg make usage of latest_versionstring methods in ↵Aníbal Limón2014-11-281-449/+43
| | | | | | | | | | | | | | | | | | | bitbake fetcher Because methods for get latest version of upstream package are now available into bitbake removes duplicated code and make use of it. Compatibility testing was made running distrodata class and the result files can be found at: https://bugzilla.yoctoproject.org/show_bug.cgi?id=1813 [YOCTO #1813] (From OE-Core rev: 68ddb28a68ceb59cd1ed322c16143827ce1ac712) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toaster.bbclass: use the openembedded-core nameAlexandru DAMIAN2014-11-281-1/+1
| | | | | | | | | | | | Fixing the bug where the openembedded-core name was registered as "meta" in toaster. [YOCTO #6962] (From OE-Core rev: ab9f17893c4b004906ec232da300915145c125e0) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd.bbclass: set PSEUDO_PASSWD consistent with root directoryPeter A. Bigot2014-11-251-0/+2
| | | | | | | | | | | | | | | | | When installing into a sysroot this class examines $D/etc/passwd for content, then invokes useradd to make changes. Under pseudo useradd attempts to look up user information in directories specified by $PSEUDO_PASSWD. For opkg multilib installs $D is not always the same as $IMAGE_ROOT, and the user might already be in the IMAGE_ROOT files, causing a failure during rootfs population. Fix this by ensuring the files pseudo looks at when doing useradd stuff are the same ones that useradd.bbclass will be manipulating. (From OE-Core rev: ec3417ad825c52f5137d38b91d8fcb4637a50f4c) Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: search both rootfs and native staging for passwd filesPeter A. Bigot2014-11-251-1/+3
| | | | | | | | | | | | | | | | | | When pseudo is configured to disallow fallback to the build host /etc/hosts and /etc/group, the selection of ${IMAGE_ROOT} for PSEUDO_PASSWD is insufficient as the necessary files will not be available until base-passwd has been installed and its pkg_postinst script run. Fall back to the ${STAGING_DIR_NATIVE} version of those files until the rootfs versions are available. (The native copies are never modified by the build; the ones in ${STAGING_DIR_TARGET} are updated and may contain settings not consistent with what would be created by post-install useradd/groupadd commands invoked in the image rootfs. (From OE-Core rev: 8c653bafaa32126c54400bb56b9a94f07cd33197) Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* spdx.bbclass: improved error handling and code cleanupTobias Olausson2014-11-201-135/+119
| | | | | | | | | | | | The spdx task now writes a meaningful error message in case of error in communication with the FOSSology server. Also the coding style is now more consistent and some unneccessary calls/functions are removed. (From OE-Core rev: 094e27c881d06e428f18788463627da736c66911) Signed-off-by: Tobias Olausson <tobias.olausson@pelagicore.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-scripts.bbclass: Export KCFLAGS to ensure sysroot is providedOtavio Salvador2014-11-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | When building the U-Boot the lack of a proper sysroot can trigger following error: ,---- | arm-poky-linux-gnueabi-ld.bfd: cannot find -lgcc | make[2]: *** [examples/standalone/hello_world] Error 1 | make[1]: *** [examples/standalone] Error 2 | make: *** [examples] Error 2 `---- Guillaume Fournier has posted a very complete analysis of the problem[1]. 1. https://lists.yoctoproject.org/pipermail/meta-freescale/2014-November/011270.html The use of KCFLAGS makes the build of U-Boot work out of box, now that it uses the Linux kernel build system. Reported-by: Guillaume Fournier <gfournier@brioconcept.com> (From OE-Core rev: 50437f9c187f1a884825a8d1ec12da47a5e58670) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta-environment: Fix config-site with a multilib configMark Hatle2014-11-122-5/+7
| | | | | | | | | | | | | | | | | | | | [YOCTO #6951] The TOOLCHAIN_CONFIGSITE_SYSROOTCACHE value was defaulting to the nativesdk path and not the associated target path. Set the value in toolchain-scripts to the target path. Be sure to set the MLPREFIX within the meta-environment script as multilibs are processed. Update the config_site file name to use -BPN- not PN. Otherwise the environment processing can't find the correct filename. (From OE-Core rev: 1f05aaa4944ddac6c2b3ba440effdf1eaf732656) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ncurses, busybox, cml1.bbclass: Fix menuconfig display corruptionJason Wessel2014-11-091-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously there was a change to the ncurses compile to make it more like the typical way it was compiled on a host system. This fixed a whole class of host machines, but masked the real underlying problem with the display corruption issues and menuconfig. The corner case that led to the discovery that the wrong curses.h file was getting used was when there was no curses libraries at all on one of the development hosts. What had happened before was that /usr/include/curses.h on the host system had to match closely enough to the curses.h in the sysroot and then linking against the sysroot version of curses.so was ok (meaning no display corruption). But on some systems with ncurses.h vs curses.h such as SuSE hosts, there were still issues. If we fix the root of the problem and force the mconf and lxdialog to use the correct headers and libraries from the sysroot there is no further issues and the menuconfig target works properly. It also means we can back out the custom compilation flags to the ncurses recipe because they are no longer needed. For the kernel part of the menuconfig / nconfig changes it will be merged separately and this is all based on: https://lkml.org/lkml/2013/3/3/103 (From OE-Core rev: 889e02659dd396feba24f0b0ee6b4043c3f3735a) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image-buildinfo.bbclass: new class, writes build information to imageAlejandro Hernandez2014-11-092-15/+79
| | | | | | | | | | | | | | | | Writes build information to target filesystem on /etc/build such as enabled layers, their current status and commit. squashspaces was moved to oe/utils.py to make it available to different classes and avoid code duplication. [YOCTO #6770] (From OE-Core rev: c9cc652e88ddedddf8a2f23fb9b8c024616526d7) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package/prserv: Merge two similar functions into oneRichard Purdie2014-11-092-45/+38
| | | | | | | | | | | | | | Having these two separate functions handling PR values seems pointless, and worse, there are impossible code branches mixed within them. Merge them into one function and tweak comments so at least you don't have to read both functions to figure out what is going on. This does restructure the conditionals to try and aid readability. (From OE-Core rev: 865d001de168915a5796e5c760f96bdd04cebd61) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base: Make PRINC warning an errorRichard Purdie2014-11-091-1/+1
| | | | | | | | | | | Apparently 1.5 years of warnings isn't enough to get anyone to take any notice. We therefore make this an error so people can ignore it for another 6 months whereafter we can finally give up and remove the obsolete code. (From OE-Core rev: 0c21d06dea96ca5f19ac2e3136c66da582036a11) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base: Improve makefile clean handling, introduce CLEANBROKEN variableRichard Purdie2014-11-091-1/+2
| | | | | | | | | | | | | | It turns out we have quite a number of Makefiles out there without a clean target. Rather than have all cases code an empty do_configure, add a CLEANBROKEN variable which when set to "1" will disable the attempt to "make clean". This patch also adjusts various recipes which either have this problem fixed, or have been reported to have make clean failures. (From OE-Core rev: 45b7d3add14eafc25da62bab68d4ae133f8dcb57) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: whitespace and reorderPeter A. Bigot2014-11-061-1/+15
| | | | | | | | | | | | Use a multi-line value to set IMAGE_TYPES and put all the compressed versions of a format on one line. Other than moving ext2.lzma this is just whitespace. (From OE-Core rev: dd93b3a950d063f4e3020362c636006f51fb5782) Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: add condition for build-depsChong Lu2014-11-061-25/+26
| | | | | | | | | | Add condition for build-deps, then we can use it in INSANE_SKIP. (From OE-Core rev: 1cb62dbb1ecedc6232be3509a2887e92def2b8db) Signed-off-by: Chong Lu <Chong.Lu@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toaster.bbclass: read elapsed time from the stats fileAlexandru DAMIAN2014-11-061-13/+23
| | | | | | | | | | | | | We read the elapsed time fromt the build stats file, instead of computing it independently. [YOCTO #6833] [YOCTO #6685] (From OE-Core rev: 4f5a4ec0cdaf078463f04be4a6683816e9b78d5f) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: Make ubi depend on ubifsPascal Bach2014-11-041-0/+2
| | | | | | | | | | | The ubi command assumes the ubifs file is present. This makes sure this is really the case. (From OE-Core rev: 0a947408f32d7ab10d2004e7d9332296b82191a3) Signed-off-by: Pascal Bach <pascal.bach@siemens.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>