summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/kern-tools
Commit message (Collapse)AuthorAgeFilesLines
...
* kern-tools: fix conditional configuration itemsBruce Ashfield2013-04-111-1/+1
| | | | | | | | | | | | | | | | Variables defined in .scc files have two purposes: - Documentation in the meta-series - Variables that can be tested in sub sections and other features The second part of this functionality was broken when fixing configuration for tiny/small systems. As a result, arch tests were failing and configs were dropped. This restores the existing functionality. (From OE-Core rev: 4170e458e0f700319f4e1023c0c6c2d803449566) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: fix excluded configuration processingBruce Ashfield2013-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the features introduced early on in the 1.4 release cycle was the ability to include a kernel feature, but only get its patches and not configs (and vice versa). As it turns out, this only was exercised recently and once a single include with dropped configs was started, ALL configuration values following the commit were dropped. To fix the problem, the processing of kernel features has been split into two. Where the features are preprocessed and the assembled/complete file is used to generate the meta-series (which is later applied to the tree). The logic of the tools is the same, but the two phases of processing allows configuration values to be excluded properly and simply, while keeping the logic for modifying the tree in a separate step. All changes are invisible to the user, and are done within the existing scripts and build system bindings. Output series and manipulations to the tree are the same as they were before this change. Updating the kern-tools SRCREV to pickup the kern-tools changes for this. (From OE-Core rev: 961ab0ac53de317c22409d90244a313998959714) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: initialization and meta branch fixesBruce Ashfield2013-03-261-1/+1
| | | | | | | | | | | | | | Bumping the kern-tools SRCREV to pickup the following fixes and documentation updates: d484e3f kgit-meta: remove hardcoded meta directory name affad20 yocto-kernel-tools: Typoes, "fragement", "depreciated" 142ed49 kgit-init: update tools list (From OE-Core rev: 65113af811afcf53d3056d372861cd4d1a6bff07) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: import configuration, controls and audit updatesBruce Ashfield2013-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating the kern-tools SRCREV to import the following fixes: commit 7f91d198d32fc90260e52724ef4aac0b997c1e8b kconf_check: fix new Kconfig detection One of the functions of the kernel configuration audit is to notify the user if Kconfig* files have been removed from the kernel, and also to notify of new Kconfig files. New Kconfig files should be classified as hardware or non-hardware to allow BSP audits to notify if boards are setting values that they shouldn't, hence why notifying about new "buckets" is important. commit c4f26a3296e0e1c3dbdd5ec8e2947d5443a9ffc2 updateme/scc: allow config fragment exclusion It is common to need the features (patches, git operations) of a branch, but not want the kernel configuration fragments of a given branch. To allow this, we provide a new include flag "nocfg". When this flag is used, all of the configuration fragments included by the targetted feature will not be applied to the current build, with one exception, a base/critical fragment can force it's config values, since without them, the system would not be functional. Example: include ktypes/standard/standard.scc nocfg commit c7ec19d55aca6c4b17073c5362fce5be61a89d82 scc: wrap git merge To allow for parameter validation and sanity checking, wrap "git merge" as a dedicated "merge" command instead of using the raw git fallback. This also makes it consistent with existing top level commands such as 'tag', 'branch', 'patch', etc. There are no changes to arguments, and existing 'git merge' commands continue to work with this change. [YOCTO #3419] [YOCTO #3421] (From OE-Core rev: faf042b2c87874153a6b689479ab86e49804af8c) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: allow multiple / shared kernel feature directoriesBruce Ashfield2013-02-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To promote the reuse and sharing of configuration fragments this change allows any kernel-yocto based recipe to have multiple alternate git repositories which provide kernel feature directory trees listed on the SRC_URI. These feature directories are in addition to any in-tree kernel meta data branches that may be available (described via the KMETA variable in linux-yocto recipes). Features found within these directories can be used from recipes via the KERNEL_FEATURES variable. Features found within a feature directory are free to include any other features that are available in any directories. In both cases the path to a feature description (a .scc file) is relative to the root of a given feature directory (which is how existing .scc files work) The search order for features is determined by the order that repositories appear on the SRC_URI. Normal SRC_URI rules apply to any repository that is added as a kernel feature container. A SRCREV must be supplied and it must be unpacked to a unique directory, which is controlled via the "destsuffic" url parameter. In addition to these standard requirements, any kernel feature repository reference should identify itself via the "type=kmeta" url parameter. If type=kmeta is not supplied, the repository will not be processed for kernel features. As an example, the following in a linux-yocto bbappend makes two additional feature directories available to KERNEL_FEATURES and fragments. SRC_URI += "git://git.yoctoproject.org/yocto-kernel-cache;protocol=git;branch=master;type=kmeta;name=feat1;destsuffix=kernel-cache/" SRC_URI += "git://${KSRC_linux_yocto_3_4};protocol=file;branch=meta;name=feat2;type=kmeta;destsuffix=kernel-features-experimental/" SRCREV_feat1 = "${AUTOREV}" SRCREV_feat2 = "${AUTOREV}" (From OE-Core rev: 02ad603a104b70ab74548c8018e738bfbb3c59db) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: report missing config fragments by nameBruce Ashfield2012-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | If a configuration fragment was missing, the previous error output was not clear about the error: | [INFO] doing kernel configme | [INFO] Configuring target/machine combo: "standard/atom-pc" | [INFO] collecting configs in ./meta/meta-series | ERROR: could not sanitize configuration fragments | errors are logged in ... linux/meta/cfg/standard/atom-pc/config.log but we know the name of the missing fragment and can improve the error message to be this: | [ERROR] kernel configuration fragment fragment 'virto.cfg' cannot be found | ERROR. A meta series could not be created for branch yocto/standard/common-pc/atom-pc | ERROR. Could not locate meta series for atom-pc | ERROR. Could not apply patches for atom-pc. | Patch failures can be resolved in the devshell (bitbake -c devshell linux-yocto) [YOCTO #3473] (From OE-Core rev: 8e5dc511ffce4f4b512457dbc5d3dd510f6e4a95) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "kern-tools: report missing config fragments by name"Richard Purdie2012-11-221-1/+1
| | | | | | | This reverts commit 46cc0d0a2f1486bf541c1a1b11075de3da396cc2 since the revision in question isn't in the repository. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: report missing config fragments by nameBruce Ashfield2012-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | If a configuration fragment was missing, the previous error output was not clear about the error: | [INFO] doing kernel configme | [INFO] Configuring target/machine combo: "standard/atom-pc" | [INFO] collecting configs in ./meta/meta-series | ERROR: could not sanitize configuration fragments | errors are logged in ... linux/meta/cfg/standard/atom-pc/config.log but we know the name of the missing fragment and can improve the error message to be this: | [ERROR] kernel configuration fragment fragment 'virto.cfg' cannot be found | ERROR. A meta series could not be created for branch yocto/standard/common-pc/atom-pc | ERROR. Could not locate meta series for atom-pc | ERROR. Could not apply patches for atom-pc. | Patch failures can be resolved in the devshell (bitbake -c devshell linux-yocto) [YOCTO #3473] (From OE-Core rev: 46cc0d0a2f1486bf541c1a1b11075de3da396cc2) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: flexibility and usability enhancementsBruce Ashfield2012-11-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating the SRCREV to import the following changes. [updateme: find the board description with the highest score] This removes the requirement that a custom linux-yocto .scc file have define KTYPE <foo>, where <foo> is typically "standard". The tools can now match on a .scc file that only matches the board, but will still chose one that matches the board and kernel type, if available. [updateme: allow for tabs or spaces in defines] define KMACHINE<tab>$MACHINE was missed by the regex. [scc/kgit-meta: detect and avoid duplicating patching] To allow feature description to be included multiple times, they were previously split into -enable and 'patch' descriptions. With this change the patches will be detected as already included, and skipped automatically. Removing the need to do this split. It also cleans up the ability to warn about multiple includes. [kconf_check: add "verify" configuration fragment type] This adds the ability for a BSP to have a kernel configuration fragment that lists options that must be present. If they are not present it is a hard error. "required" is a similar fragment, but it adds them to the build, and audits them at the end, but does not abort the build if they are present. This is a minor distinction, but one that is useful when creating flexible, shared kernel config structures. [kconf_check: improve kernel audit report formatting] [kconf_check: perform validity checks on non-hardware options] [kconf_check: cleanups and verbose flag] The existing output was verbose and not always useful to the reader. This change makes the output more compact, audits non-hardware options and gives information [invalid (54)]: meta/cfg/preempt-rt/common-pc/invalid.cfg This BSP sets config options that are not offered anywhere within this kernel (From OE-Core rev: 2d328dc0f7dd763c45444394b681d2726b4f6c83) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: kconf_check: fix find warningBruce Ashfield2012-11-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Bumping the kern-tools SRCREV to pickup the following change: [ kconf_check: fix find warning When searching for all available Kconfig files, kconf_check was using $meta_dir instead of $META_DIR. This resulted in a truncated path and the following warning: find: warning: -path $oe-path/linux/ will not match anything because it ends with /. Using the proper variable removes the warning and make sure that we do actually search all relevant directories. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> ] [YOCTO #3226] (From OE-Core rev: 5999ccebc7b071737f82709467e2a2ec152240f6) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: fix kernel configuration audit for custom yocto kernelsBruce Ashfield2012-09-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was reported that the kernel configuration checks for custom yocto kernels had the following output: NOTE: validating kernel configuration grep: /meta-series: No such file or directory grep: /meta-series: No such file or directory WARNING: Can't find any BSP hardware or required configuration fragments. WARNING: Looked at //cfg///hdw_frags.txt and //cfg///required_frags.txt in directory: //cfg// NOTE: Tasks Summary: Attempted 375 tasks of which 367 didn't need to be rerun and all succeeded. which is not inspire confidence in the output of the process. Completely inhibiting the check is one option to remove the messages, but that removes the ability see output, which can help move users to a better or more fully configured linux-yocto based kernel. To fix this, we have to ensure that the path to the meta-series is always valid, and that the tools can deal with not all files existing in the audit directory. Since custom yocto kernels do not set KMETA (they don't have a meta branch), we ensure that a default of 'meta' is passed to the audit ('meta' is always valid), and that kconf_check itself can deal with an incomplete set of input audit files. The net result is output like this (using a defconfig with invalid options for the kernel being built): NOTE: validating kernel configuration This BSP sets 19 invalid/obsolete kernel options. These config options are not offered anywhere within this kernel. The full list can be found in your kernel src dir at: meta/cfg/standard/qemux86/invalid.cfg There were 1 instances of config fragment errors. The full list can be found in your kernel src dir at: meta/cfg/standard/qemux86/fragment_errors.txt The full list can be found in your kernel src dir at: meta/cfg/standard/qemux86/missing_required.cfg (From OE-Core rev: 4d1b7dae063ee4c35c426306d0e22f11ce112c72) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: fix non-inheriting branch namesBruce Ashfield2012-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | Importing the following tools SRCREV: kgit-meta: exclude explicit branches from name calculations kernel branches are constructed during patching of the tree by constructing a '/' based hierarchy of names as each branch directive is encountered. But if a "branch $name $branchpoint" is used, the entire branch name is supplied so no additions to the hierarchy should happen. As such, that type of branch command should not be part of branch name calculation and preparation. (From OE-Core rev: a3884938233c8a2d6861b1d4e6be5b9824d3b131) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: fix unapplied patch error messageBruce Ashfield2012-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | When patches fail to apply, the status of all pending patches should be exported to the logs and to the user. Currently, a missing export of GUILT_BASE makes it look more like an internal error, than a 'normal' patch failure: | [ERROR] unable to complete push | pending patches are: | Patches directory doesn't exist, try guilt-init With this variable exported, we have this: | [INFO] validating against known patches (qemux86-standard-meta) | error: patch failed: Makefile:2 | error: Makefile: patch does not apply | To force apply this patch, use 'guilt push -f' | [ERROR] unable to complete push | pending patches are: | links/files/0002-makefile-patch.patch (From OE-Core rev: b2b2512cbc4196fa0f814be3677517dab30e5b52) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: fix forced branchingBruce Ashfield2012-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | commit 7a79f7412 [linux-yocto: make KBRANCH the exception and not the rule] ensures that a request branch is always built. The implementation of this guarantee is a branch switch before the build starts. But that switch may be before all patches are applied. If the proper routines are not called, no patches can be applied to the tree. Updating the SRCREV to pickup this fix: updateme: use branch command when forcing branch switches When forcing a branch switch to the desired branch we should be using the proper 'branch' command. Since without this call, the proper variables will not be set, and patches can't be applied to the tree. (From OE-Core rev: bede3086cb9ab0f79fb7775528b646817b2b9af0) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-yocto: set master branch to a defined SRCREVBruce Ashfield2012-08-251-1/+1
| | | | | | | | | | | | | | To support custom repositories that set a SRCREV and that only have a single master branch, do_validate_branches needs a special case for 'master'. We can't delete and recreate the branch, since you cannot delete the current branch, instead we must reset the branch to the proper SRCREV. (From OE-Core rev: de5bb5879fa3282c46dc1ede36af34eaab8f647f) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: fixes (branching,buildall) + cleanups (checkpoint,cleaner)Bruce Ashfield2012-08-191-1/+1
| | | | | | | | | | | | | | | | | | Updating the kern-tools SRCREV to pickup a collection of bug fixes and cleanups: 75e71c3 kgit-config-cleaner: add -k <keep option> 02be3b5 buildall: switch back to scc driven processing c7101db kern-tools: support flexible branching e2d06bd kern-tools: Remove superfluous references to "defconfig" from the "createme" script. e693754 kgit-checkpoint: fix verify_branch variable name typo ee67a7b kgit-config-cleaner: fix redefintion processing (From OE-Core rev: 70885a105bc16411ff57e3023b33656685cc2bab) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: explicitly export KMETA to scriptsBruce Ashfield2012-08-191-1/+1
| | | | | | | | | | | | | The kern-tools scripts can support a meta branch and directory of a name that isn't "meta", but they need the name passed through the environment variable KMETA. ensuring that KMETA is exported in the shell environment sets the stage to support flexible meta branch name. (From OE-Core rev: 9b90c8ace04c88ac6105f0bf686f9abc70fe8074) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: make KBRANCH the exception and not the ruleBruce Ashfield2012-08-191-1/+1
| | | | | | | | | | | | | | | | | | | | | The kernel branch is no longer required by the yocto-kern-tools to locate BSP feature descriptions (it is the MACHINE:KTYPE descriptor), so we no longer require that the BSP branch be explicitly set. If a kernel branch is explicitly set, it is now used to trigger a checks to ensure that the branch really is being built. Otherwise the branch that the machine description creates will be built (just as it always was). This further simplies the use and configuration of a linux-yocto based kernel recipe. (From OE-Core rev: 3cac3ce65abae9dc253641a2004440a2b38fd44d) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: add buildall and robustness fixesBruce Ashfield2012-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating the kern-tools SRCREV to pickup the following functionality: - buildall: provides the ability to build all kernel branches without a build system, only a cross compiler and configme are required. - robustness/cleanups: obselete/unused code removal and general robustness fixes from Paul Gortmaker and Bruce Ashfield The following kern-tools commits are part of this series: b8dfd3d buildall: add whitelist/blacklist support 0ef039c configme: catch errors found during fragment sanitization 5b6498c buildall: remove all instances of it using/reading scc files 2e57550 buildall: support semi seamless restarts 4b5dd4d kconf_check: simplify cmdline args, dont store data per branch 58fbb6e configme: relieve it of all knowledge of scc files a03e291 configme: strip out alternative meta series logic. 96d2bcf kgit-init: check for valid branchpoint 5598db6 buildall: allow a max cap on the number of builds done b46abec buildall: add support for randomizing build order 68a04e9 buildall: dont copy failed build logs into main build dir 5575d85 buildall: script to independently build all board kernels 86d6200 configme: delete unused variable 8d4e29d configme: delete unused KPROFILE setting 7e15436 configme: ensure we have a valid machine type set 152b9cb scc: remove depreciated/unused commands bb4e96a scc: allow includes within conditional statements 7da7951 configme: derive path to tools from $0 152dc45 configme: test for BUILD_DIR != "" 129f7b0 kgit-scc: add warnings about bad input args. e977662 kgit-scc: add text for no arg and invalid arg case. [YOCTO #843] (From OE-Core rev: be3cff86d55db6255e036d68e943e527802b4f4c) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: anchor KMACHINE testBruce Ashfield2012-06-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating the kern-tools SRCREV to pick up the following fix: Out of tree feature descriptions (.scc files) take two forms: normal features and BSP descriptions. A normal feature is detected and added to the end of the current machine being processed. During tree processing, it's configuration and patches will be applied. A BSP description on the other hand must be matched based on three critera (which are in the .scc file via "define <foo>"): - machine - kernel type - architecture Since features that define machines are only explicitly added, they are removed from the list of features that should be automatically added. The criteria for removing them from the auto-add list is the definitions found in the .scc file. The existing check was simply for KMACHINE anywhere in the file. This meant that a conditional or even a comment containing that phrase would exclude a file. Properly anchoring the KMACHINE test to "^define.*KMACHINE" fixes the problem of overly agreesive exclusions. (From OE-Core rev: 75a973328d50ef3c007edb7a471ea77fb97911ea) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: remove unused code, meta branch and directory assumptionsBruce Ashfield2012-06-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating the kern-tools SRCREV to pick up fixes that remove unused code, transition code (tree format changes) and to remove assumptions about branch and directory naming. There are no user visible changes with this update, but the plumbing changes will be used in future updates for more generalized support. The commit details are below: Author: Bruce Ashfield <bruce.ashfield@windriver.com> Date: Fri May 11 12:13:12 2012 -0400 kgit-publish: remove --remote option The ability to publish and automatically push a repository was never used, and is error prone. The complexit isn't needed in the script, so removing it is the best option. An explicit push after tree publication is suggested, or a wrapper script (specific to a particular infrastructure) around this script. (From OE-Core rev: 5b1a096211ebeb8dac4f1a39d96ae2f9a3d00634) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Author: Bruce Ashfield <bruce.ashfield@windriver.com> Date: Fri May 11 12:04:09 2012 -0400 kern-tools: remove unused code, scripts and transition code The period of supporting old trees with a different meta branch name and directory structure are gone. So the cleanup and removal of the old structure can be completed. The meta branch and directory are now controlled via command line, or via the KMETA environment variable. No testing and conditional processing of the tree are required. Additionally, the generate_cfg script is no longer used, or is the branch conditing code in createme. So they can be safely removed from the tools and repository. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Author: Bruce Ashfield <bruce.ashfield@windriver.com> Date: Thu May 10 12:18:19 2012 -0400 kern-tools: remove meta tag and directory assumptions During repository sanity checks (createme) and during the checkpoint process, there were several assumptions about the tree that either relied on a tag, or a particular directory name. With this set of changes, simply passing the meta branch name is enough to sanitize and restore the checkpoint. If no meta branch name is passed, the default of 'meta' is used for both the branch and meta data directory name. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: update LICENSE field to GPLv2Bruce Ashfield2012-05-181-1/+1
| | | | | | | | | | | | | | | The LICENSE field for kern-tools was generic and leads to QA warnings from the license classs: "No generic license file exists for: GPL in any provider" Updating to a specific GPL version that matches the source fixes the warning. (From OE-Core rev: 72101b324062642474d67ee90356489993a973d0) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: fix do_patch errorsBruce Ashfield2012-05-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The linux-yocto repository and scripts can support a mode of meta data management that merges a base meta branch to every BSP branch. In this case, the scripts don't have to restore a checkpoint for the meta data to be globally accessible. The decision to restore or not is made based on whether or not the meta branch is part of all branches or not. The linux-yocto recipes have a sanity check to determine if the requested SRCREV for meta data matches the head of the meta branch (via do_validate_branches). If the wrong commit is at the head, the meta branch is moved aside and the branch reset to the right commit. This creates two meta branches that contain the base meta data. The test for integrated meta data mistakes this for a globally merged set of meta data and doesn't restore the checkpoint, which leads to build failures. The immediate fix is to allow two branches to have the meta data. The long term fix is to make the detection only consider if the build branch contains the meta data. (From OE-Core rev: bd794b92d12ceda2728520701e980b7a3cabd23d) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: integrate minor fixesBruce Ashfield2012-05-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Updating the SRCREV to pick up two minor fixes: 1/2: kgit-init: correct spelling of createme kgit-init copies the kern-tools scripts and intends to copy createme. The typo is in the usage() of updateme as well. (From OE-Core rev: 043871d7e5d2d19c2ff43e54d2ff180c09e8903e) Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com> 2/2: kconf_check: fix bad quoting around missing_required.cfg missing_required.cfg won't have it's path truncated (if applicable), since the quoting it wrong. Signed-off-by: Andrea Adami <andrea.adami@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: streamline support for multiple upstream repo typesBruce Ashfield2012-05-081-1/+1
| | | | | | | | | | | | | | | | | | | | In order to support repositories of various types (with or without meta data, branched, pristine, custom, etc) information about the type of processing that is required was passed to the processing phases via variables. The combination of variables involved in coordinating the processing creates a learning curve and overly complicates recipe extensions. With minor tweaks to the kern-tools, adding flexibility and keying off the existence of the meta branch it is possible to remove all of the variables that were added to support different repository types. (From OE-Core rev: 06e5f45c8f38925cd5902a3a3f436f5e9451dd16) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: .diff is a valid patch extensionBruce Ashfield2012-04-171-1/+1
| | | | | | | | | | | | | | | | | In fixing an existing patch migration bug, the list of valid extensions got out of sync from the core patch class. As a result, valid patches were not being applied to the tree. Updating the tools to migrate .diff files fixes the issue. Also in this fix is the removal of .patch in the find_sccs() routine, since it will never be returned by patch.bbclass when all non-patches are requested, it is simply confusing. (From OE-Core rev: 0ade3f26f40b67d7296725b1e956c46be9a86089) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: allow .cfg, .scc, .patch and defconfigs to be processed in orderBruce Ashfield2012-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | During testing/extension of the linux-yocto-tiny kernel it was found that defconfigs were not always properly applied. This was due to two issues: - not being able to fully control the order of objects applied to the git tree on the SRC_URI - defconfigs triggering --allnoconfig before being applied To fix this, the recipe space code that previously detected and generated automatic features moves back to the kernel tools (where it was before) and is updated to also process .cfg and defconfigs. Moving this back to the tools allow other recipes to automatically benefit from the additional support. The second issue is addressed by allowing configme to take --alldefconfig when a recipe wishes to pass a defconfig and override the default behaviour. Fixes [YOCTO: 2250] (From OE-Core rev: 08c368b9980716e459d846dd7183940a5bf8bea4) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* More quoting fixesMartin Jansa2012-02-261-1/+1
| | | | | | | | | | * We have various variables which are either not quoted at all or are half quoted. This patch fixes the bad exmaples so everything is consistent. (From OE-Core rev: 960ee8076e860353a05eb2eb7f825a455c54698d) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: remove explicit 'yocto' references from auto-bsp handlingBruce Ashfield2012-02-081-1/+1
| | | | | | | | | | | | To adapt to different branch names in a repository, removing explicit references to 'yocto' in automatically created BSPs ensures that they are consistent with the merged variants. Existing BSPs and auto BSPs are not impacted by this change. (From OE-Core rev: 74613d02aa844cac3be0626cc64139643fe17a4f) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: import config audit and branch manipulation updatesBruce Ashfield2012-02-011-1/+1
| | | | | | | | | | | | | | | | | Updating the kern-tools SRCREV to import the following changes: a7a9930 kgit-meta/scc: allow multi-line defines e3442c6 kern-tools: add required and optional kernel configuration processing b56b67b configme: extract redefinition and mismatch information 6118eaf kern-tools: remove branchname assumptions These are required to support the kernel configuration policy changes implemented in the yocto 3.2 kernel repository. (From OE-Core rev: 5a3759f4b23361dd2c1968ce51e5c3695a661972) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: import flexible branching supportBruce Ashfield2012-01-061-1/+1
| | | | | | | | | | | | | | | | | | | | | The commit: kern-tools: update SRCREV to pickup git operation fixes Brought in the ability to trap failed git operations on the working tree, but what it missed were some branching changes that allow arbitrary branch points and the ability to create a branch multiple times (if a feature is included multiple times). The graphics driver branches used by some BSPs need this part of the change to properly handle graphics driver branches. Updating the SRCREV to pickup the associated kern-tools changes for this support. (From OE-Core rev: 229036a961bae61847a05546a92dfc93a88c6f67) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: update SRCREV to pickup git operation fixesBruce Ashfield2012-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Updating the kern-tools SRCREV to pickup the following commit: [ kgit-meta: add error checking and autoconfiguration to git commands When git commands are embedded into feature descriptions, they can fail for a variety of reasons. The current meta series processing does not trap errors, and will continue to process potentially failing commands. All git commands are now checked for their return code, and in case of error, the error code is passed up via early exit. A second common git issue is on a new machine that has not been configured with a username/email for commits. This is now detected by checking for a global user.name. If one is not found, a local user name of "Auto Configured" and email of "auto.configured" is created to allow git operations to succeed. ] Fixes [YOCTO #1838] (From OE-Core rev: 015cb39ccf490de07bfd007fafc6d75c6c152add) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: use Makefile provided install rulesBruce Ashfield2011-12-021-12/+4
| | | | | | | | | | | | | | Previously the install of the kern-tools was manual and fully controlled by whatever build system was integrating/using the utilities. To make this more generic a Makefile is now provided to take care of installing and removing to DESTDIR. Updating the kern-tools recipe to take advantage of this new facility. (From OE-Core rev: 8af13cc0038111cbb13d9718256d491d326ed5e8) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: add pre_config and merge_config.sh to the list of toolsBruce Ashfield2011-12-021-2/+3
| | | | | | | | | | | | As a transition step to moving kern_tools into the kernel tree itself this change adopts merge_config.sh as a common base for merging configuration fragments. So we add merge_config.sh and pre_config to the list of kern_tools. (From OE-Core rev: 78efb73e0bca09c09574ce23622859db412a26c8) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: kernel configuration cleanupsBruce Ashfield2011-09-221-1/+1
| | | | | | | | | | | | | | | | | | | | | There were some config fragment warnings that were being hidden by virtue of being output while generating the full config versus the ones that were generated during the configuration audit task. This change does the following: - Updates the kern-tools SRCREV to include changes that move all kernel configuration warnings to the audit script - Updates the meta SRCREV for linux-yocto to get updated kernel configuration fragments that are warning-free. These are duplicated configs, and other changes that have a net result of no runtime changes. (From OE-Core rev: 8e67d4dd1e1bc64a84791abc613e237e29dd2aaa) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: generalize kernel config search patternBruce Ashfield2011-09-051-1/+1
| | | | | | | | | | | | | | | | After constructing a kernel configuration file it then needs to be located in the tree so it can be audited against the final .config. The previous string that was used for the search pattern contains the kernel version. If the recipe space kernel version and internal tree version are out of sync, this will cause the constructed config to not be found. By removing the version from the search string, we can still find out config and gracefully adapt to minor version skew. (From OE-Core rev: f072ddc43828ebe8df4dd7433726775dd547580b) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: allow flexible branch pointsBruce Ashfield2011-08-241-1/+1
| | | | | | | | | | | | Updating the SRCREV to pickup a series of changes to the kern-tools that allow more flexible creation of trees from scratch. This functionality is not used by the normal kernel build process and has no impact on existing builds. (From OE-Core rev: faaa03c2a166e37a11edd52011799e6a8cff144d) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: allow configuration of arbitrary branchesBruce Ashfield2011-08-081-1/+1
| | | | | | | | | | | | | | | | | | | When building an external tree or bootstrapping a BSP the external branch may not have been checked out. The tools now ensure that the tree is ready for configuration, so we no longer need to force the checkout of the external branch. This change is coupled with some kern tools tweaks as follows: 40d9bab updateme: allow the location of board descriptions based on defines 59859ca createme: use branch name when creating meta data 91b4275 configme: determine meta branch based on directories, not branch naming f5a915c kgit-meta: make branch creation and renaming more robust (From OE-Core rev: 02c82bf5255b09bb27a0a4509861a3d2bd84b09f) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: update SRCREVBruce Ashfield2011-07-221-1/+1
| | | | | | | | | | | | | | | Fixes [YOCTO #1261] Updating the SRCREV to pickup some branch creation fixes that were causing an invalid branch name to be used on a repository that couldn't support it (i.e. standard/base on a 2.6.34). With this the 2.6.34 and 3.0 -rt branches will build. (From OE-Core rev: e1df34c9d4614adc04528b73a8860e973c5db54d) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: detect and avoid branch revision checking for AUTOREVBruce Ashfield2011-05-171-1/+1
| | | | | | | | | | | | | | | When a BSP or layer specifies an AUTOREV for SRCREV, the logic that matches expected vs real branch heads doesn't apply. We always want the latest. To solve the issues with invalid git revs causing validation failures, we detect the AUTOINC value and do a early return, skipping validation. (From OE-Core rev: b4f1845f7cf42059984112e3f41a323b4c9d6dfd) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: error if features are not foundBruce Ashfield2011-05-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | Fixes bug: [YOCTO #955] Updating the SRCREV to pickup the kern-tools change: [ updateme: error if features are not found Rather than silently dropping addon features, we emit a warning and then exit with a failure code. The caller can then abort a build and not simply miss features. Passing --no-strict to the script disables this new functionality if for some reason a feature description is missing on purpose. ] (From OE-Core rev: d7f3e91c15328440ffbf501c502098133fd34d3a) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: error if meta data not presentBruce Ashfield2011-05-101-1/+1
| | | | | | | | | | | | | | | | | | | | There are valid reasons to build repositories without meta data present and there are times when this is an error. This change adds sanity tests to the build process to detect missing meta data and throw an informative error message. Sanity checking is only triggered from recipes (linux-yocto) that always require meta data to be present. Other recipes are not impacted and can auto-generate meta data as required. Without this change the build process suceeds, but incorrect meta data will be used (with no user knowledge), which is not the desired behaviour. (From OE-Core rev: adf9f92e2f8f6cc3deba72a194ded85e160ad9e3) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: safely process unbranched repositoriesBruce Ashfield2011-05-051-1/+1
| | | | | | | | | | | | | | The BSP bootstrap and -dev use cases can be applied against unbranched or repos without meta data. To allow the proper and safe processing of those repositories, slight modifications to the tools are required to pass the branch on the command line (rather than detecting it always) and to only checkout branches that exist. (From OE-Core rev: ae754be8b43677604a853ec6f62b2490a91d8836) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: apply meta data to external reposBruce Ashfield2011-05-051-1/+1
| | | | | | | | | | | | | | To support quick uprev and testing, it is desireable to build repositories that do not have embedded meta data. In this scenario the meta data can be automatically created or provided externally. This commit supports the first situation by detecting the lack of meta data and then automatically creating a base set of meta files. (From OE-Core rev: 32c56cd6a5756f21d19d8a32239b783a7854aed3) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* poky-default-revisions: move the SRCREV to recipe fileYu Ke2011-05-041-0/+1
| | | | | | | | | in this case, those non poky distro can also use these recipe normally (From OE-Core rev: 0a57bd226cdb8332707fa0f46fcf0b067f03701a) Signed-off-by: Yu Ke <ke.yu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Fix git.pokylinux.org urls to git.yoctoproject.orgRichard Purdie2011-04-211-1/+1
| | | | | | (From OE-Core rev: adbf55721ee956897c0951cff63aeb1defb3c738) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kern-tools: update to the new repositoryBruce Ashfield2011-01-251-3/+3
| | | | | | | | | | As the first of several changes to the kern-tools coupled to the branch management in the yocto kernels the repository is being renamed to it proper name. This change switches us to that newly created repo. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
* linux-yocto: allow multiple BSPs per branchBruce Ashfield2011-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | By default the linux-yocto recipes operate on the current branch and use it as a trigger to locate the description of a board. This model works well when using the git repo outside of a build system since the commands can be simply invoked and will do something useful. However, it does mean that you can't have two BSPs that differ only by configuration, building out of a single branch in the repository. This means that you must have many branches for very similar BSPs. This model is still preferred, but having the choice of branching strategies is better. With this change we can have multiple BSPs using a single branch with the preferred description being hinted from the build system by passing the $machine value to updateme/configme. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* createme/patchme: use kgit-checkpoint to restore meta dataBruce Ashfield2010-10-041-1/+1
| | | | | | | | | | | | Fixes [BUGID: #390] The custom de-checkpoint routines used in createme/patchme destroyed data each run. This meant that incremental and expermental work couldn't be done directly in the kernel source tree itself. Using the more robust kgit-checkpoint allows that data to be persistent (until a clean is done). Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* kern_tools: allow patching on autocreated/empty branchesBruce Ashfield2010-10-041-1/+1
| | | | | | | | | | Fixes [BUGID #388] Even if we aren't creating the branch from scratch, it is possible that it has never been patched before. So let's make sure the infrastructure for patching is always in place. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>