Age | Commit message (Collapse) | Author |
|
kgit-init copies the kern-tools scripts and intends to copy createme.
The typo is in the usage() of updateme as well.
Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>
|
|
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>
|
|
createme used to create the requested branch no matter what.
But this is better done in the meta-series processing phases, since
they are equiped to deal with existing branches and the manipulation
of those branches.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Knowledge about how the repository was branched has crept through
many scripts and phases. This makes it difficult to modify a
repositories branching strategy without breaking the tools.
This change makes the machine being built more important than the
branch being built, which removes even more knowledge of the repo
from the scripts.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
configme locates board description via branch analysis and leaf node
checking. This ties it to the rest of the system and creates a lot of
inflexibility.
Testing by defines requires no deep knowledge of the entire meta-series
and is now the secondary way to locate the meta-series.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Minor tweaks to improve the output during the publication phase
of a repository.
Rather than cloning the constructed respository before publishing
it (and then jumping through some hoops), it is much easier to
simply recursively copy it.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
The ability to run kgit-init against a remote repository is unused,
and it is reasonable to expect that a build system / fetcher should
be used to ensure that the repository being used is local the location
where it will be built. As a result, we can remove support from the
script.
Secondarily, a safe default content branch of 'master' is chosen, since
it will exist in all repositories.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
The ability to 'join' checkpoints is not used, and overly complicates
the checkpoint processing, so it can be removed.
Secondarily the checkpoint creation and restore is changed to handle
branches that do not share a common base with the rest of the repository.
With this change orphan branches or common branches can be used to
store meta data.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
The existing automatic BSP creation was spread over two phases
of working on a git repository and hence the hand off was tricky
leading to improper branch usage in some situations.
With this change, all generation is done as part of updating the
feature description and can leverage the additional information
that is passed into update me to describe the machine being
built.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
It's valid and reasonable to allow .diff files as patch extensions,
but the migration switch wasn't allowing the extension, hence
becoming out of sync with different build systems.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
The case statement for defconfig migration failed to match, since
complete paths are passed. Taking the basename of the path for the
purpose of comparison fixes the issue (and allows us an exact match
on 'defconfig')
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
in order
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.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
The suggested format of BSP scc files has changed to not use scc_leaf
and to not have 'yocto' in the branch name. The automatic BSPs should
follow this same convention.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Adding quoting to protect multiline defines.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
In addition to the hardware/non-hardware classification of kernel config
options, with this commit is it possible to specify 'required' and
'optional' kernel configuration values in feature descriptions. This allows
kernel configuration policy to be more than just BSP and "non-BSP".
If required options are missing, or defined and changed a WARNING during
the kernel config validation phase will be displayed. This warning can
be optionally turned into a hard error.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
The merge_log.txt file created by the processing of configuration
fragments contains output for both redefined and mismatched options.
To highlight these issues to the callers of configme, they can be
grepped out of the file and placed into properly named text files.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Multiple tools process the meta series to determine the final
branch name that a given series would create. This means that
tweaking in branch naming logic ripples through many tools and
scripts. Unifying the branch logic in kgit-meta, and providing
the ability to simply execute branching commands allows other
tools to assume that the current branch is always the correct
branch to process.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
To support feature descriptions that unconditionally create branches
via embedded git commands two constructs are required:
- a flag that indicates non-zero return codes are warnings only
- the ability to pass a source branch when creating a new branch
Both are added here, and when combined allow feature descriptions to
create a branch from another non-current branch, and to make that
creation multiple times if the feature is included from multiple
sources.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
By default scc only reports missing patches as warning when processing
feature descriptions. Sometimes it is better to report this as a hard
error. The import of this feature allows .scc files to indicate "scc_strict"
if a missing patch should throw a hard error.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Fixes [YOCTO #1838]
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.
Signed-off-by: Bruce Ashfield <bruce@windriver.com>
|
|
To allow the searching of remote directories and locations we
can pass a series of search paths on the command line via -I <dir>
-I <another dir>.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
The wrong variable was being used when reporting the meta runtime
which results in "" always being the runtime.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
In order to cleanup/clarify the initialization process, it is best
to checkout branches quietly, and only create the meta branch
when required.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
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.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
In a system where the kernel source and object directories are
split we want the generated .config to be in the build directory
and not the current directory. The easiest way to support this is
to respect the O= environment variable.
Neither KBUILD_OUTPUT or O were propagating automatically to the
kernel build, so always explicitly setting O= and passing it to
the kernel build ensures that it is respected. Without this .config
always ends up in the current working directory.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Some environments export variables to subshells and in those
environments setting 'MAKE=true' will interfere with the kernel
build system's use of that same variable. To avoid this, we can
simply rename MAKE to MAKE_FLAG.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
When debugging options that are output as not being in the final
.config file it is often useful to look at the fully concatenated
configuration file. To support this we add a debug flag that will
not cleanup the .tmp.config* file that is created. The risk of
having uncleaned .tmp.config* file is an acceptable tradeoff for
this debug assist.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Adding merge_config.sh temporarily to the kern_tools archive. This
will migrate to the main linux kernel repository over time, but for
now kern_tools will track changes to the script, and install it for
use in the build.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Before passing configuration fragments to merge_config or other
phases of kernel configuration, they should be santized and
be processed to create information related to their contents.
pre_config does the following:
- tracks and logs duplicate configs within a single fragment
- creates category files for hardware/nonhardware options
- santizes fragments to remove everything but CONFIG_ options
- creates .sanitized versions of fragments that will be used
for future phases.
- adds a tracking banner to each sanitized fragment
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Switch to merge_config.sh instead of generate_cfg for kernel config
fragment merging. With this switch, we also add pre_config to condition
the input files before feeding them to merge_config.sh
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Some kernel configuration audit results were generated during
generation and the rest reported in kconf_check. This change
consolidates all reporting to this script, and creates a new
informational check that indicates an option has transitioned
from generic to board specific (but it isn't a warning).
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Previously once an option was declared as non-hardware, it was
set it stone. Any overrides/changes of non-hardware values result
in a configuration check warning, which means there is no way
to silence these warnings if you know what you are doing.
To fix this, if an option is overridden and an accompanying
hardware.CF declaration is provided, we won't classify it as
a redefinition warning. Instead it will be logged as an option
that transitioned to board specific. This allows auditing of the
conifer's, but prevents warnings that can't be inhibited.
Signed-off-by: Bruce Ash field <bruce.ashfield@windriver.com>
|
|
The location of a kernel configuration file goes from specific
to general. The original name passed into the check is clobbered
during that process, so we need to store the original input and
re-use it for any searches that are being generalized.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
If a branch is renamed *after* the system has detected whether or
not it was supposed to be created, we need to clear the 'create'
flag or will be checked out and processing will fail.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Any uncommitted files after kgit-init will prevent tree generation from
working (since no other patches will be applied). To fix this, we can
detect if there are uncommitted files, commit them to the current
branch and then all subsequent branches will inherit the commit.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
The existing initial commit message was not completely
generic.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
It isn't always desireable that kgit-init create branches and
commits, in particular when a custom repository is being used
that may or may not contain existing branches. If content is
not supposed to be created, the repository is conditioned and
staged, but no branches or commits are created.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|