| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We don't require that a yocto custom kernel + defconfig have a full BSP
description (but of course it would be better if they did). Since this
isn't a requirement, we shouldn't alarm users by generating a BSP
description warning.
To implement this, we add a bsp audit level flag (like the one that
exists for kconfig audits), and only set it to activate in the versioned
linux-yocto recipes.
[YOCTO: #7370]
(From OE-Core rev: d2fb7fff291b83700d487be093223c1533d915ce)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add do_shared_workdir which was added recently
* Add do_fetch and do_unpack to this list, because at the moment if you
enable externalsrc through a bbappend the += in this class wipes out
the original value from externalsrc (which is set with ?=)
(From OE-Core rev: 5717e3b60731d2cb9394c13bff049a467c3aeec1)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The meta data (in tree or out of tree) that describes a BSP, its patches
and configuration is not always available when a new/default or manually
configured machine is built.
When this happens, the tools generate a skeleton BSP and use a
architecture defconfig for the build. If this is by design, the build
is typically sane and everything works fine. If an existing BSP
description was expected, chances are that the resulting kernel will not
be correct.
To avoid surprising the user when a default/skeleton BSP is used for the
build, we can make it obvious to the user by emitting a warning like
the following:
WARNING: [kernel]: An auto generated BSP description was used, this normally indicates a misconfiguration.
Check that your machine (myqemux86-64) has an associated kernel description.
[YOCTO: #3383]
(From OE-Core rev: f4a460afc4e2676cbf1daaa1d6723da9e6146526)
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After a linux-yocto style kernel is configured, a kernel configuration
audit is executed to detect common errors or issues with the config.
This output used to be visible, but was made less obvious to not alarm
users unnecessarily (since some configuration issues are acceptable).
There are some classes of configuration issue that are worth being
visible, and that is specified configuration values that do not make the
final .config. These dropped options can result in any number of runtime
failures, so flagging them at build time makes sense.
The visibility of auditing is controlled by KCONF_AUDIT_LEVEL:
0: no reporting
1: report options that are specified, but not in the final config
2: report options that are not hardware related, but set by a BSP
The default level is 1, with level 2 and above being for BSP development
only.
If these conditions are detected, warnings will be generated as follows:
WARNING: [kernel config]: specified values did not make it into the
kernel's final configuration:
Value requested for CONFIG_SND_PCSP not in final ".config"
Requested value: "CONFIG_SND_PCSP=y"
Actual value set: ""
or
WARNING: [kernel config]: BSP specified non-hw configuration:
CONFIG_BLOCK
CONFIG_CFG80211_WEXT
CONFIG_CORDIC
CONFIG_CRC8
CONFIG_EFIVAR_FS
CONFIG_EFI_PARTITION
CONFIG_NET
CONFIG_NETDEVICES
CONFIG_PARTITION_ADVANCED
CONFIG_WEXT_CORE
CONFIG_WEXT_PROC
CONFIG_WIRELESS
At this point thse are only a warnings, since there needs to be time for
layers and configuration fragments to be validated against this new
check.
[YOCTO: #6943]
(From OE-Core rev: ad4d59495194b37bc510e9891bd14c0a2ac30dba)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--047d7b3a7fac0eebee050cb47483
Content-Type: text/plain; charset="UTF-8"
After we check the existence of 'machine_branch' with 'git show-ref'
the following if statement should change the 'machine_branch'
to the default (i.e. master) if the 'git show-ref' has returned an
exit code that is not 0, not the other way around.
Signed-off-by: Theodor Gherzan <theodor@resin.io>
(From OE-Core rev: cc95da21914d08bfbf1936830985f824e8813904)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The simplication of do_validate_branches missed a case where a custom
kernel can supply SRCREV="${AUTOREV}", and not use SRCREV_machine at all.
In this case, we will incorrectly try and test the tree for a non-existent
commit, and break the build.
By simplying the condition of the check to look for an empty SRCREV_machine,
we can skip manipulating the tree and testing for a SRCREV.
(From OE-Core rev: 212a4bd9b086365c022842a2ac6a2a25bd486002)
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
A warning is issued when run about an unexpected operator due to a
syntax error with an extra if empedded in the shell conditional. Remove
the extra if.
(From OE-Core rev: f0566e127abc7bb90588b2a8bee12ad3e7d35b3e)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--is-ancestor is a relatively new git option [commit 5907cda1, Aug 30 2012].
To support build machines with older versions of git installed, we can use
the basic porcelain commands to acheive the same check.
merge-base: "--is-ancestor A B" can be replaced with:
if test "$(git rev-parse --verify A)" = "$(git merge-base A B)"
(From OE-Core rev: 2ddfffe52720d1df70b04131eac553776da7bc73)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Use the bbinfo, bberror, bbfatal equivalents to the existing echo statements
within the kernel-yocto processing. This makes us consistent with the other
messages from the build system.
(From OE-Core rev: 1686d69de08bcecd39942802df18c4f0ca029ffe)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When custom respositories are built (like a pure kernel.org
repo), the machine_meta SRCREV format is not applicable. As
such, we shouldn't check for the meta branch and we shouldn't
only check SRCREV_machine based revisions.
(From OE-Core rev: bf555ee3305114483aa5083cde1accd23b46a39e)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the git fetcher ensures that branches exist, we no longer need to
validate the branch and have a conditional checkout of the source.
We can remove some checks and ensure that whenever we exit the
do_kernel_checkout routine that a branch is always checked out.
(From OE-Core rev: 2ffa3f8be6996877cd552ff22260de35c19c413d)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's better to check a branches existence via show-ref versus the end
user branch commands. So we make the switch.
Also as part of this change, we move the conversion of remote branches
to local branches above the meta branch checking. This is required to
ensure that the branch is local for the show-ref check.
(From OE-Core rev: 04bd4cee625574cfa67679b6b2a150a21106c5bf)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The checking of machine and meta branch SRCREVs was inconsistent and
didn't allow a mixed AUTOREV machine/meta branch combination. By
simplifying the checks and changing the logic, we can now allow this
combination.
(From OE-Core rev: e272cfbba87a98393d6c22bd96c7f1cb6902170a)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
KBRANCH_DEFAULT was introduced as a way to trigger the enforced build
of a particular branch of the tree. With the fetcher now enforcing
SRCREVs existing on a branch, we can simply validate that the SRCREV
is reachable from the final branch and no longer care about enforcing
a given branch.
(From OE-Core rev: fbacbb0ca79cdae33803fdd3158671488b9bbcbe)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that the fetcher will enforce branch existence, we no longer need to
confirm that a branch exists, and that it was the branch requested to
be built.
We know the branch exists and we'll confirm that the specified SRCREV
is going to be built after we've patched the tree.
(From OE-Core rev: 93a7c7bd8e860e621af7174ef10d571b0d8622b2)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
| |
We no longer need to check if the KBRANCH matches the branch specified
in the SRC_URI. This is taken care of by the fetcher at the beginning
and SRCREV ancestor validation after patching.
(From OE-Core rev: a9b6550d3e2f5bf21fd05a17bca3e57c5b74e057)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
| |
The bitbake fetcher now enforces that a commit is contained by a branch,
so this code can be dropped from do_validate_branches.
(From OE-Core rev: 9e473d348d9e0db34e03446065c6c48d36964e1e)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rather than attempting to condition the entire tree to machine SRCREV (since
we don't know what branch will be built), we can instead wait until patching
has completed and then confirm that we are indeed building a decendant of the
specified SRCREV. The result is a much simpler check, and no mangling of the
tree.
(From OE-Core rev: 97075af9e9a691276cd417f1181ca73223f52d1c)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Parsing the output of git show is error prone, since it changes based on
the type of issue with bad comit IDs. Since the output is no longer used
in the case of a valid ref, we can switch to git-cat-file and simply
check the return code.
(From OE-Core rev: 228c05013fe691321ec00467d8d0c0bb64dd175c)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
do_validate_branches checks to ensure that a valid machine SRCREV was
set. A test against an empty SRCREV is done in two separate locations,
we only need one, since the first check immediately returns and the
second check never hits.
At the same time, we can stop referring to the same commit hash by
3 different names. Instead we assign to a local variable at the
top of the routine, and refer to it at all times.
(From OE-Core rev: 05508339882c7cc1fe3f1f67f72314fdcab979b7)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We allow inheriting recipes to control the kconfig mode used by merge_config.sh
via the KCONFIG_MODE variable. An error crept into the variable reference, and
since it is not quoted, the true condition always runs.
The result is that operations without an explicit kconfig mode cannot trigger
allnoconfig for defconfig builds, which can result in some options being
dropped from the final .config.
Quoting the reference allows it to evaluate properly.
(From OE-Core rev: aad19e4381a8a09c354e5899885997c5b4cd115b)
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The dependency to CCACHE_DIR was moved to ccache.bbclass in
commit 2acf8da4f13c175ea818b9514677b7059de1e3e2:
[ ccache: Separate out into its own class ]
then the '=' should be replaced by '+=', otherwise, it will overwrite
the original ${CCACHE_DIR} in dirs.
Signen-off-by: Ming Liu <ming.liu@windriver.com>
(From OE-Core rev: e8b90254747651670031e6b2b8a702732124ecac)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bbclass did the following:
do_diffconfig[depends] += "virtual/kernel:do_kernel_configme"
This clearly introduces a cross-kernel task dependency if the recipe
inheriting this class isn't the preferred provider of virtual/kernel, which is
obviously wrong, but further, will break the build if a kernel-yocto based
kernel is parsed and not skipped, but virtual/kernel refers to
a non-kernel-yocto recipe, which would not have the do_kernel_configme task.
Work around this by adding the in-recipe task dep programmatically with
bb.build.addtask when do_diffconfig exists.
(From OE-Core rev: 0e6881146d87f0d214d80bc92e54c113906db63a)
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'git branch' may use ANSI escape codes in its output (to provide colour)
which doesn't play well with commands expecting pure plain text, e.g.
fatal: '^[[31mmaster^[[m' is not a valid branch name.
Use the --no-color option to ensure all branch names are plain text.
Cc: Bruce Ashfield <bruce.ashfield@gmail.com>
(From OE-Core rev: 87acfdb28380c26344a79a9dc0b4b403173bdc44)
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The validate_branches routine is responsible for ensuring that the specified
SRCREV exists, and that the tree has been prepared for eventual patching
starting directly from that SRCREV.
On exit, the routine checks out the specified machine branch and the
preparation is complete .. except if a KMETA branch isn't used, we exit
early since the branch can't be validated.
To make the exit condition consistent for all cases, we can move the
KMETA validation inside a conditional and allow the same exit path for
both cases.
(From OE-Core rev: 6eb63237c3bf48377f75e48e637d76108c8666df)
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of using 'diff' command between two kernel config files,
the task diffconfig does the job creating the file
$WORKDIR/fragment.cfg that user should review and use.
[YOCTO #3862]
(From OE-Core rev: db2a44c8f08f2371a52ff6662d6bc64bc42ad551)
Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
| |
(From OE-Core rev: 68a7d9f0e19ed577854a04610efc902062a369a8)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While non-git kernel repos are not the preferred format for a kernel upstream,
they are supported. Depending on the creator of the archive the expanded
source directory name varies. If the recipe for the kernel doesn't properly
set S to the right value, a cryptic git error message is produced. We can
detect the situation and offer some advice on how to fix the issue.
A second check is also added in this commit for archive based kernel repos
which won't have a SRCREV to validate. If we have no SRCREV or SRCREV is
INVALID, we can exit the branch validation step immediately. This saves yet
another cryptic git error message and simplifies a custom tgz based recipe.
(From OE-Core rev: 0ebf67e8b4f7aaf259d7abac4af645070d846ec8)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
| |
These have been deprecated for a long time, convert the remaining
references to the correct modules and prepare for removal of the
compatibility support from bitbake.
(From OE-Core rev: 6a39835af2b2b3c7797fe05479341d71a3f3aaf6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updating the kern-tools SRCREV to pick up the following fixes:
60a894e kgit-s2q: add proper commit ID handling for mixed am/apply usage
3b08257 kgit-s2q: delete pruning of path support.
c5868b4 kgit-s2q: Restore implicit exit status to "git apply" section
1bd00b9 kgit-scc: mask warnings from cleanup phase 5
bb75299 kgit-s2q: fix commit warp when running "git am --abort"
ef9571b kgit-scc: cleanup git rebase-apply dir
fdb7d21 kgit-scc: ensure treegen stops if a meta series fails
008987b config: add kconfig cleaning options
69ff569 kgit-s2q: strip blank lines and comments
e7b4540 kgit-init: disable garbage collection on a new tree
417eaed kgit-s2q: delete old LTSI patch dir finding code
21f2200 kgit-scc: better error checking on resume
ad5084c kern-tools: use .meta as meta data container
1deb5d8 kgit-meta: don't push patches without a series file
eb431a1 kgit-s2q: aid patch reject resolution via helper scripts
f859c40 kgit-s2q: only use patch annotations when explicitly asked
333ae18 kgit: speed patch application by batching patches
bf6991d kgit: teach tools about non-default meta dirs
bcfc712 kgit-s2q: usability improvements
cb28803 kgit-s2q: fix patch prefix stripping.
37f40e1 kgit-s2q: warn/exit with error if patch not in series
f4704d2 kgit-s2q: consistent rm usage
e11819c kgit-s2q: standardize on use of git mailinfo
36a5eda kgit: remove guilt dependency
c461a4f spp/scc: export mark commands to meta-series
5311162 updateme: ensure that generated features are only used once
4f7a263 kgit-checkpoint: clear .gitignore for meta branch
21ee6f2 updateme: enforce a matching machine
b08749d kgit-scc: remove -meta files after consruction
These are bug fixes, usability changes as well as the removal of the
guilt dependency. During the uprev of the guilt package, the amount of
circumvention of the typical guilt workflow and checks meant that using
it as a series -> branch manager was no longer appropriate. As a result
a new tools kgit-s2q (series 2 queue) was created based on git-quiltimport,
git am, and the LTSI tree generation scripts.
The result is better series to branch validation, faster application and
a simpler management model. This tool is backwards compatible with any
tree previously constructed with guilt. We are now "guilt free"
(From OE-Core rev: 983bff587b60fdd0244ad00f238df5ed50cc1e1a)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
| |
I mistakenly thought subprocess had getcmdstatus in python 2. It doesn't so lets
add a wrapper and have this work in both worlds.
(From OE-Core rev: 2253e9f12734c6e6aa489942b5e4628eca1fa29d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
| |
The commands module is removed in python3. Use the subprocess module instead
and the pipes module to replace the mkargs usage.
(From OE-Core rev: e2e1dcd74bc45381baccf507c0309dd792229afe)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit 61001aa [kernel-yocto: respect SRC_URI modified branch selection]
changed branch processing such that a branch specified in the SRC_URI
would set the branch forced as the build branch.
This change broke compatibility with the yocto-bsp, linux-yocto-custom
based recipes. These recipes specify the branch to be built via KBRANCH,
but allow the fetcher to use master for keeping the repository up to
date. This means that no explicit branch is set in the SRC_URI and the
routines return the default branch of 'master', which is not what is
set in KBRANCH.
To support this case, we simply pass a default branch into the routine
returning the branch to build, and ensure that the default is KBRANCH
so if no branch is passed in the SRC_URI, KBRANCH is always built.
[YOCTO #4145]
(From OE-Core rev: 0c389f41d7ea0697a5468c73cce295a2fa64e9e0)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The linux-yocto recipes themselves always set S="${WORKDIR}/linux" and
arrange for the fetcher default of ${WORKDIR}/git to be renamed before
building.
Part of this rename involves an assumption that the directory used by
the fetcher can be removed as part of the renaming process, or in fact
that renaming is required.
If a derived recipe uses S="${WORKDIR}/git", the checkout phase fails
since the kernel source is removed as part of the processing.
To fix this the code now detects this situation and does not clean the
source directory before renaming the fetcher default (and in fact does
not rename it at all).
(From OE-Core rev: e4ab5efea1a41297f63c96de97270136535b5f0b)
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Although the setting of KBRANCH is the suggested/primary way to interact with
the yocto kern-tools and the fetcher, some users may be more comfortable
modifying the SRC_URI branch parameter directly.
If they do, the tools will not force their branch and build output will be
different then they expect, in non obvious ways.
It's easy enough to detect this scenario, but checking the SRC_URI in the
same way that the git fetcher checks for the branch (and SRCREV). If we take
the value from the SRC_URI and use it directly in the patch/validate/update
routines, we'll stay consistent with KBRANCH if it is used, and also
automatically adapt to a manually changed branch parameter on the SRC_URI.
For all other users, there are no visible or behavioural changes as a result
of this change
(From OE-Core rev: cfce8643ed166b51d7178be173677ea6f527d453)
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To support configurations where active development is not being done within
the oe/bitbake build environment and restricted bandwidth situations, this
commit allows the SRC_URI to point to a kernel tgz instead of a full git
repository.
Outside of the upstream tgz instead of a kernel git repository, the
restrictions, config and patch process is the same as any linux-yocto-custom
recipe.
An example linux-yocto-custom based recipe would have a configuration like
this to build the 3.7 kernel, using an externally supplied config, from the
3.7 tgz:
SRC_URI = "http://kernel.org/pub/linux/kernel/v3.0/linux-3.7.tar.bz2"
PV = "3.7"
S = "${WORKDIR}/linux-3.7"
SRC_URI[md5sum] = "5323f3faadd051e83af605a63be5ea2e"
SRC_URI[sha256sum] = "dc08d87a579fe2918362e6666e503a95a76296419195cb499aa9dd4dbe171a9e"
[YOCTO #2686]
(From OE-Core rev: 08b3a282ce75a9972694f0c4379179505b9ec91f)
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SRC_URIs that contained git repositories or other constructs that resulted
in an extension of "." or a substring of "scc" or "cfg" were matching the
tests for patches and configs. This was due to a python tuple being used
instead of an array. Switching to an array makes the match exact and the
behaviour we want.
(From OE-Core rev: 22aa5d040604b37ba984bae9e800e56ba6e4956d)
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The details of the kernel configuration audit are typically a
debug action, so should be moved to bb.debug(). But in order
to maintain visibility of the results, a reference to the log
file is provided in the standard message.
(From OE-Core rev: 9ab80ad88d34622a81670cdc45cc3275fc3ebabe)
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since linux-yocto based recipes have a split build and source directory,
we should export KBUILD=${B} to the devshell. This allows the kernel to
be incrementally build within the shell and not dirty the source
directory (which breaks subsequent full builds).
(From OE-Core rev: 88f88a22dfa730161168b0f228e3954178b74c6a)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the past working from a non-bare clone would cause problems,
due to branches not existing in the WORKDIR clone. This hasn't
been true for some time, since the routines which convert remotes
into local branches have been functioning without problems.
So we no longer need the warning and it can be removed.
(From OE-Core rev: 42d42c24a37af0ea8896087c7cc8215eb19f633d)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We should always leave the tree on a BSP branch or master when
do_validate_branches completes to avoid modifying version tracked
files are part of the build process. Modifying these files will lead
to errors when changing branches, since the contents would be lost.
This is evident in the case that a the meta branch is reset to a
known SRCREV and the tree was left on the meta branch. This branch
tracks the meta/meta-series, and other artifacts of the original
tree construction. When the build process runs, it updates these same
files, which creates a conflict when switching branches.
This has been fixed in the tree construction scripts to not track
these files, but a secondary fix is also required of not leaving
the build on these branches, to allow arbitrary trees to be built.
[YOCTO #3413]
(From OE-Core rev: 57397592ff8ec16922604d398c18d53a589be41f)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Having a meta branch is not strictly required by the tools (and
recipes like linux-yocto-custom do not have meta branches), but the
comments in the kernel-yocto.bbclass could lead someone to think that
it was required.
This commit clearifies the comment to the following:
# We can fix up the kernel repository even if it wasn't a bare clone.
# If KMETA is defined, the branch must exist, but a machine branch
# can be missing since it may be created later by the tools.
[YOCTO #3422]
(From OE-Core rev: 421a2e2523a8f2c461479a1c0d44908cc1eaca6b)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
do_validate_branches ensures that the desired SRCREV is at
the tip of every branch that contains the revision. To do this,
it looks for containing branches and processes them.
This processing was mistakenly placed before the check for an
invalid SRCREV, hence a git error message is seen in the log
if a bad SRCREV is used, rather than a clear message.
reordering the checks, and fixing a check for master, ensures
that clear messages are generated in all cases.
(From OE-Core rev: 7e4518bf88af53b09536a3bafcd4c392a094023f)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|