summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* base.bbclass: detect when S has been set incorrectlyPetter Mabäcker2015-01-231-4/+13
| | | | | | | | | | | | | | | | | | | | | Currently base.bbclass is creating S if it's not created by unpacking an archive or fetching a repository. If we avoid creating S we can detect when S hasn't been set correctly, since it will not exist. Then we can tell the user that they should set S to a proper value, instead of just failing with odd errors in later tasks. Besides removing the auto-creation of S this change will introduce a warning if S is set incorrectly. The reason for not display an error and return is due to all external layers that might have recipes that will fail otherwise and that might be a bit to hard to start with. So use a warning until people have had a chance to cleanup affected recipes. [YOCTO #5627] (From OE-Core rev: 0d84b9a8ba408d168cb8a92e895d2f7338d6da1b) Signed-off-by: Petter Mabäcker <petter@technux.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* autotools.bbclass: print make cleanRobert Yang2015-01-161-0/+1
| | | | | | | | | It makes us easier to see make clean failed. (From OE-Core rev: c34d9e66a1a97952965128ab84c691202a60985b) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package.bbclass: Fix support for private libsMartin Jansa2015-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | * n is a tuple since this commit: commit d3aa7668a9f001044d0a0f1ba2de425a36056102 Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Mon Jul 7 18:41:23 2014 +0100 Subject package.bbclass: Improve shlibs needed data structure since then 'n in private_libs' was always false and private libs were always processed * this is bad when we have libfoo in private libs, but also some package providing libfoo, that way we ship own libfoo.so, but together with runtime dependency on package providing libfoo (From OE-Core rev: ec1d379683cedca4be1c252475d02c8041227142) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc.bbclass: properly handle disabling of iceccDmitry Eremin-Solenikov2015-01-161-8/+7
| | | | | | | | | | | Always use use_icc to check if IceCC should be enabled. Move ICECC_DISABLED variable checking to use_icc function. Also while we are at it, fix condition in icc_is_allarch function. (From OE-Core rev: 20b0168da47d6e30fcbaf6adab3bde0d398d0d00) Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross-canadian/meta-environment: Allow modification of TARGET_OS to be optionalRichard Purdie2015-01-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are some cases we want the manipulation cross-canadian performance on TARGET_OS, there are also cases like meta-environment where we do not want this manipulation. We did try and use immediate expansion to avoid this problem and it works in the non multilib case. If we have a multilib that used an extension, like for example: require conf/multilib.conf MULTILIBS = "multilib:lib32 multilib:lib64" DEFAULTTUNE = "mips32r2" DEFAULTTUNE_virtclass-multilib-lib32 = "mips64-n32" DEFAULTTUNE_virtclass-multilib-lib64 = "mips64" then the n32 extension case will be misconfigured. It turns out saving an unexpanded variable is hard. The best I could come up with was: SAVEDTOS := "${@d.getVar('TARGET_OS', False).replace("{", "*")}" and then localdata.setVar("TARGET_OS", d.getVar("SAVEDOS", False).replace('*','{')) which is rather evil, I'd challenge someone to come up with a nicer way of making it work though! Rather than the above madness, we modify cross-canadian to make the problamtic code conditional. This fixes the original issue (where a linux-gnuspe target was seeing 'linux') of http://cgit.openembedded.org/openembedded-core/commit/?id=0038634ee6e2b6035c023a2702547f20f67c103a but also fixes the multilib one. (From OE-Core rev: 85ff3d6491c54aa712ed238c561742cda4f4ba07) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: remove GUILT_BASE from terminal exportsBruce Ashfield2015-01-161-2/+1
| | | | | | | | | | | | guilt is no longer used to manage linux-yocto kernel pathes, so we no longer need to export variables that it needed to locate patches in the tree. (From OE-Core rev: eb0209360d14b57fbef6fa20bdd9948e8337f24b) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: Update cleandirs to remove new kernel staging dirsDarren Hart2015-01-161-1/+2
| | | | | | | | | | | | | | Fixes [YOCTO 6818] Update do_unpack[cleandirs] to include the STAGING_KERNEL_BUILDDIR, and add the same set of updated cleandirs for do_clean. (From OE-Core rev: 0726f8099c1407eea9e53a62be94defbab32265e) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel: move source and build output to work-sharedBruce Ashfield2015-01-164-15/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 3b3f7e785e279 [kernel: Rearrange for 1.8] began the process of moving the kernel source and build artefacts out of sstate control and into a shared location. This changed triggered some workflow issues, as well as bugs related to the kernel source containing build output, and hence being dirty and breaking kernel rebuilds. To solve these issues, and to make it clear that the kernel is not under sstate control, we move the source and build outputs to: work-shared/MACHINE/kernel-source work-shared/MACHINE/kernel-build-artifacts Where kernel-build-artifacts is the kernel build output and kernel-source is kept "pristine". The build-artifacts contain everything that is required to build external modules against the kernel source, and includes the defconfig, the kernel-abiversion, System.map files and output from "make scripts". External module builds should either pass O= on the command line, or set KBUILD_OUTPUT to point to the build-artifacts. module-base.bbclass takes care of setting KBUILD_OUTPUT, so most existing external module recipes are transparently adapted to the new source/build layout. recipes that depend on the kernel source must have a depedency on the do_shared_workdir task: do_configure[depends] += "virtual/kernel:do_shared_workdir" With this dependency added, the STAGING_KERNEL_DIR will be populated and available to the rest of the build. (From OE-Core rev: 6a1ff0e7eacef595738f2fed086986fd622ec32a) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: When linux/version.h exists, copy itOtavio Salvador2015-01-161-0/+4
| | | | | | | | | | | | Old Linux kernel versions rely on linux/version.h for modules; this needs to be published for external modules to use. Copy it when available. (From OE-Core rev: 78226efe72c8221206594c70fa1d8742d4097af1) 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>
* module.bbclass: Add KERNEL_SRC in EXTRA_OEMAKEOtavio Salvador2015-01-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | When the sstate hash changes for do_configure task, the do_configure default implementation triggers the 'clean' to be run. For it to succeed we need to have KERNEL_SRC defined in EXTRA_OEMAKE. Fixes following error: ,---- | DEBUG: Executing shell function do_configure | NOTE: make -e MAKEFLAGS= clean | make -C M=.../tmp/work/... clean | make[1]: *** M=.../tmp/work/...: No such file or directory. Stop. | Makefile:20: recipe for target 'clean' failed | make: *** [clean] Error 2 | ERROR: oe_runmake failed `---- (From OE-Core rev: bc0f58f0713ea7db3c4c24a7d321435934d745d7) 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>
* base.bbclass: Avoid explicit ${MAKE} in do_configureOtavio Salvador2015-01-081-1/+1
| | | | | | | | | | | The do_configure may eventually call 'make clean' when the sstate signature does not match. We should respect EXTRA_OEMAKE when doing so, so use 'oe_runmake' for it. (From OE-Core rev: 29cd284cab63fb1f6e82ad90bc8c92c1bbcafa88) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rm_work: Fix RM_WORK_EXCLUDE for image/sdk recipesRichard Purdie2015-01-081-0/+8
| | | | | | | | | | | | A previous change meant image/sdk recipes were removed unconditionally by the class and did not respect RM_WORK_EXCLUDE. This fixes that problem. [YOCTO #7114] (From OE-Core rev: 050de16968fe6efeba5d64761b11512549e9fdc2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane.bbclass: fix desktopRobert Yang2015-01-071-1/+1
| | | | | | | | | The desktop-file-utils-native lacks a space. (From OE-Core rev: 95f7d2c8fd5ee6ad0b7d202906073066f35a268d) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: fix do_unpack function when S ends with slashMartin Jansa2015-01-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * slash at the end causes os.symlink(kernsrc, s) to use s as directory name and fails with: ERROR: Error executing a python function in /OE/build/owpb/webos-ports/meta-smartphone/meta-samsung/recipes-kernel/linux/linux-samsung-tuna_git.bb: The stack trace of python calls that resulted in this exception/failure was: File: 'base_do_unpack', lineno: 26, function: <module> 0022: subprocess.call(d.expand("mv /OE/build/owpb/webos-ports/tmp-glibc/work/maguro-webos-linux-gnueabi/linux-samsung-tuna/3_3.0.72+gitrAUTOINC+f8ed73f94a-r12/git/ /OE/build/owpb/webos-ports/tmp-glibc/sysroots/maguro/usr/src/kernel"), shell=True) 0023: os.symlink(kernsrc, s) 0024: 0025: *** 0026:base_do_unpack(d) 0027: File: 'base_do_unpack', lineno: 23, function: base_do_unpack 0019: bb.utils.mkdirhier(kernsrc) 0020: bb.utils.remove(kernsrc, recurse=True) 0021: import subprocess 0022: subprocess.call(d.expand("mv /OE/build/owpb/webos-ports/tmp-glibc/work/maguro-webos-linux-gnueabi/linux-samsung-tuna/3_3.0.72+gitrAUTOINC+f8ed73f94a-r12/git/ /OE/build/owpb/webos-ports/tmp-glibc/sysroots/maguro/usr/src/kernel"), shell=True) *** 0023: os.symlink(kernsrc, s) 0024: 0025: 0026:base_do_unpack(d) 0027: Exception: OSError: [Errno 2] No such file or directory ERROR: Function failed: base_do_unpack ERROR: Logfile of failure stored in: /OE/build/owpb/webos-ports/tmp-glibc/work/maguro-webos-linux-gnueabi/linux-samsung-tuna/3_3.0.72+gitrAUTOINC+f8ed73f94a-r12/temp/log.do_unpack.17042 ERROR: Task 0 (/OE/build/owpb/webos-ports/meta-smartphone/meta-samsung/recipes-kernel/linux/linux-samsung-tuna_git.bb, do_unpack) failed with exit code '1' (From OE-Core rev: dba30c2395792b553b69ce0b44cc75ff2dbdb317) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: Remove 'set_image_autologin' functionOtavio Salvador2014-12-311-6/+0
| | | | | | | | | | | | The set_image_autologin function is GPE Login specific and the package is not available in OE-Core so the function should be added in the meta-gpe layer, if necessary. Drop this from the OE-Core as it is unused. (From OE-Core rev: a7191a7018c1fe43fe35a894a09d2a165af1a4d2) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pythonnative: set PYTHON_EXECUTABLE so that cmake can find itAndreas Müller2014-12-251-0/+2
| | | | | | | | | | | | CMake Error at /home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message): | Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) [RP: Added comment that is used by cmake] (From OE-Core rev: 66455b8a0758176996028bf23f04391c7baf8abd) Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image.bbclass: avoid boot error on read-only systemd imageChen Qi2014-12-251-0/+21
| | | | | | | | | | | | | | | | | | | | | | | New version of systemd implements a new feature of updating /etc or /var when needed at boot. For details, please see link below. Opointer.de/blog/projects/stateless.html For now, at boot time, the systemd-sysusers.service would update user database files (/etc/passwd, /etc/group, etc.) according to the configuration files under /usr/lib/sysusers.d. This step is necessary for other systemd services to work correctly. Examples of such services are systemd-resolved and systemd-tmpfiles-setup. The problem is that on a read-only file system, that is, if /etc is read-only, the user database files could not be updated, causing failures of services. This patch fixes this problem by adding users/groups at rootfs time. (From OE-Core rev: 2501c2f03f24fbbefd9999dd444318704d8aa8c2) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license.bbclass: hardlink requires write permissionRobert Yang2014-12-251-2/+2
| | | | | | | | | | | | | | | | | | Fixed: * The os.link() reqiures write permission on the src file (suppose the src file belongs to another user, then you need write permission to harlink to it since the link count would change) * Print more info when failed to copy The warning was like: WARNING: Could not copy license file COPYING: [Errno 1] Operation not permitted We couldn't know which recipe print the warning from this message. (From OE-Core rev: ebc185186c36fe839008d94dbfb779383df960c7) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license: Validate if LICENSE is well defined.Aníbal Limón2014-12-252-0/+23
| | | | | | | | | | | | | Add check_license_format function that shows warning if LICENSE don't have valid operators and also if have space separated entries without operator, add check_license_format validation into base class. [YOCTO #6758] (From OE-Core rev: 346a023a42f127881476e760e8fa4e04303849b9) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license_class: fix license.manifest shows LICENSE field differently to recipeAníbal Limón2014-12-251-6/+7
| | | | | | | | | | | | Drop removal of [|&()*] operators in pkged_lic because this removal is only needed to validate if license is collected. [YOCTO #6757] (From OE-Core rev: 57e5f74382d51f2a8df00e18b6008e3d2b44ad1a) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: Rework code to map types for 'ext3'Otavio Salvador2014-12-251-1/+1
| | | | | | | (From OE-Core rev: df00cb53f0548d34e5865b6fff314bff641af6e7) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: Respect IMAGE_TYPEDEP dependenciesOtavio Salvador2014-12-251-0/+2
| | | | | | | | | | The IMAGE_TYPEDEP dependencies also need to be taken into account when building an IMAGE_FSTYPE. (From OE-Core rev: 055fddd601536109e0574e84dc6570c322f22d44) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: add aarch64 target to locale_arch_optionsKai Kang2014-12-231-0/+1
| | | | | | | | | | Add aarch64 target to locale_arch_options in libc-package.bbclass to support Arm V8. (From OE-Core rev: 0d7a92f887bcbe44083a8c0f3f66d195d8bd023e) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* siteinfo: account for 32 and 64 bit armJoe Slater2014-12-231-4/+4
| | | | | | | | | | | | | Pull wordsize related items from arm-common and put in arm-32. Leave them as they were. Copy arm-32 to arm-64 and comment out all variables. Re-define to correct values leaving items which do not appear to be used undefined. (From OE-Core rev: 99d43a1554b2daeb7aba3c4582ccec758e6ec4a5) Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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>