A new QA check was introduced by 47d38d4d86ec6a which catches recipes
which install loadable modules (*.so) inside -dev packages instead of
symlinks. Install apr-util's modules into ${PN} and also skip the QA
check [dev-so] because it is the reverse of the check introduced by 47d38d4d86ec6a (thus if a recipe passes one it fails the other).
Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
- Avoid code duplication to handle -O, -O1 and -Os cases
- Consider the effective optimisation level only (avoids spurious
warnings if multiple optimisation flags are present).
- Prefix warnings with PN instead of hardcoding "glibc" (avoids
confusing warnings since the test is also applied to glibc-initial,
nativesdk-glibc, nativesdk-glibc-initial, etc, and each could
potentually have different optimisation flags).
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Andre McCurdy [Tue, 23 Feb 2016 18:54:24 +0000 (10:54 -0800)]
harfbuzz: update 1.2.0 -> 1.2.1
Overview of changes leading to 1.2.1
Friday, February 23, 2016
====================================
- CoreText: Fix bug with wrong scale if font scale was changed later.
https://github.com/libass/libass/issues/212
- CoreText: Drastically speed up font initialization.
- CoreText: Fix tiny leak.
- Group ZWJ/ZWNJ with previous syllable under cluster-level=0.
https://github.com/behdad/harfbuzz/issues/217
- Add test/shaping/README.md about how to add tests to the suite.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Martin Jansa [Tue, 23 Feb 2016 15:32:07 +0000 (16:32 +0100)]
fontconfig: Don't add font directories from host
* when enabled, configure check for "fonts" directory existence in following directories:
/usr/X11R6/lib/X11 /usr/X11/lib/X11 /usr/lib/X11
on _host_ system and if it exists it adds <dir> element to
/etc/fonts/fonts.conf
* update_font_cache postinst will then fail if host system has e.g.
/usr/lib/X11/fonts while the rootfs doesn't have it
* if you're installing fonts to other directories, you'll need to adapt
this EXTRA_OECONF to find them that's why it's in separate variable
[YOCTO #9155] - update_font_cache postinst failing with read-only filesystem
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Paul Eggleton [Wed, 24 Feb 2016 03:51:30 +0000 (16:51 +1300)]
oe-selftest: devtool: rework devtool upgrade test
* Use a more real-world test of a recipe pointing to a remote file
* The cleanup tracking / teardown commands need to be added towards the
top, or they won't have the desired effect of cleaning up if the test
fails.
* Check that a versioned subdirectory gets renamed to match the new
version
* Ensure the recipe contents gets changed as we expect it to
* Check that the recipe directory is deleted by devtool reset at the end
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Paul Eggleton [Tue, 23 Feb 2016 21:14:32 +0000 (10:14 +1300)]
devtool: upgrade: fix several issues with extraction of new source
Fix several issues when extracting the new version source over the top
of the old one (when the recipe is not fetching from a git repo):
* Delete the old source first so we ensure files deleted in the new
version are deleted. This also has the side-effect of fixing any
issues where files aren't marked writeable in the old source and thus
overwriting them failed (harfbuzz 1.1.3 contains such files).
* Fix incorrect variable name in abspath statement that made it a no-op
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Paul Eggleton [Mon, 22 Feb 2016 23:01:44 +0000 (12:01 +1300)]
devtool: upgrade: fix constructing new branch from tarball releases
When we do an upgrade from one tarball version to another we want to:
1) Check out the old version as a new branch
2) Record the changes between the old and new versions as a commit
3) Check out the old version with patches applied
4) Rebase that onto the new branch
Where we went wrong was step #1 where instead we checked out the old
version with patches applied as the new branch, which meant the rebase
didn't do anything and any changes made by the patches to files still in
the new version were wiped out.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Paul Eggleton [Tue, 23 Feb 2016 19:40:10 +0000 (08:40 +1300)]
devtool: upgrade: fix renaming of recipe if PV is not in name
If the actual value of PV isn't in the name of the recipe (for example,
a git or svn recipe) there's no point trying to rename it. Additionally,
we already have the original filename, there's no need to guess it -
just pass it in.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Paul Eggleton [Sun, 21 Feb 2016 23:04:53 +0000 (12:04 +1300)]
devtool: upgrade: fix version argument checking
For recipes that specify SRCREV, the code here wasn't quite doing the
right thing. If the recipe has a SRCREV then that needs changing on
upgrade, so ensure that the user specifies it. If it doesn't, then it'll
be "INVALID" not None since the former is the actual default, so handle
that properly as well. Additionally an unset variable was being
erroneously passed when raising the error about the version being the
same leading to a traceback, so fix that as well.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Paul Eggleton [Sun, 21 Feb 2016 22:56:08 +0000 (11:56 +1300)]
devtool: upgrade: drop superfluous call to validate_pn
The recipename argument to devtool upgrade specifies an existing recipe,
so by definition the name will be valid (or it won't exist) - we don't
need to validate it ourselves, that's only needed for situations like in
devtool add where we're creating a new recipe.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Paul Eggleton [Sun, 21 Feb 2016 22:37:28 +0000 (11:37 +1300)]
devtool: modify: fix source tree default name when mapping virtuals
If you for example ran devtool modify virtual/libusb0 without specifying
a source tree path, the default was <workspace>/sources/virtual/libusb0
which isn't correct - it should be using the mapped name i.e.
libusb-compat (in the default OE-Core configuration). Reorder some of
the code to ensure that the mapped name is used.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Dengke Du [Tue, 23 Feb 2016 07:59:04 +0000 (02:59 -0500)]
strace: fix ptest execution
When run the strace ptest on the target, the test files located in the "/usr/lib/strace/ptest/tests",
but the run-test script use the path "srcdir = ../../strace-*/tests"to find the necessary files, so it
can't find the necessary files, it fails. So change the variable srcdir, replace the strace-* to ptest
when do the do_install_ptest() function using the following:
sed -i -e '/^src/s/strace.*[1-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Khem Raj [Tue, 23 Feb 2016 02:49:57 +0000 (02:49 +0000)]
clutter-1.0: Fix confgure test errors found by clang
We were using nested functions inadvertantly and they were compiling fine
with gcc but clang doesnt support nested functions hence configure tests for
cogl started to fail, but it was a test error not compiler error
which was undetected thus far
Backport a fix from upstream to help clang compile clutter
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Moved an error to common, and whitelisted the BAR errors
and ati module. Also the uvesafb related errors will be
ignored in LSB images which do not have graphic interface.
Fix for [YOCTO #8387]
Fix for [YOCTO #8590]
Fix for [YOCTO #6820]
Fix for [YOCTO #7897]
Signed-off-by: Lucian Musat <george.l.musat at intel.com> Signed-off-by: Cristina Agurida <cristina-danielax.agurida@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
It is not guaranteed Linux kernel was configured with process I/O
statistics enabled. If process I/O statistcs are not present, issue
a one time warning and do not attempt to read the non-existing stats
counters.
[YOCTO#9025]
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Philip Tricca [Sat, 20 Feb 2016 17:55:59 +0000 (17:55 +0000)]
sysvinit-inittab: Move start_getty scrip to base_bindir.
When this file is in ${sysconfdir}/init.d, SELinux labels it as a generic
init script (initrc_t). This causes problms at runtime because SELinux
doesn't let the login process execute generic init script. Moving this
helper script to base_bindir results in it being labeled as a generic
binary (bin_t). Nearly every SELinux domain is allowed to execute
generic binaries and the login process is one of them.
Signed-off-by: Philip Tricca <flihp@twobit.us> Signed-off-by: Ross Burton <ross.burton@intel.com>
oe-selftest: Add support for lib/oeqa/selftest subdirectories
This patch adds functionality to allow creating subdirectories inside
lib/oeqa/selftest for all layers present in BBLAYERS. Like this, test
cases can be grouped into organized directories.
Addresses [YOCTO #7865]
Signed-off-by: Costin Constantin <costin.c.constantin@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Markus Lehtonen [Thu, 18 Feb 2016 14:18:55 +0000 (16:18 +0200)]
devtool: update-recipe: create config fragment
Create config fragment if the user makes modifications to kernel config.
User may change .config e.g. by directly editing it or by running the
'do_menuconfig' bitbake task. Devtool generates one monolithic fragment
by simply doing a diff between .config and .config.baseline files in the
source directory. If either of these files is missing, the config
fragment is not gerenrated or updated. The output is a file,
'devtool-fragment.cfg' that gets added to SRC_URI in the recipe (as well
as copied into the 'oe-local-files' directory if that is present in the
source tree).
${S}/.config will be a symlink to ${B}/.config. We need to do this as
devtool is not able to access ${B} because ${B} is set in a .bbappend in
the workspace layer which is not parsed by devtool itself.
[YOCTO #8999]
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Hongxu Jia [Fri, 19 Feb 2016 05:54:44 +0000 (00:54 -0500)]
git: fix installed-vs-shipped QA Issue
Since commit set default libexecdir to $prefix/libexec
...
commit f35b2e29d9bfa817e64b83df11ebbbfe0f4e8e5c
Author: Ross Burton <ross.burton@intel.com>
Date: Tue Apr 30 20:35:54 2013 +0100
bitbake: set default libexecdir to $prefix/libexec
...
It casued '${D}${libdir}' does not exist, and the following
move operation incorrect which triggered QA Issue:
...
ERROR: git-2.7.0-r0 do_package: QA Issue: git: Files/directories were installed but not shipped in any package:
/usr/lib64
/usr/lib64/site_perl
/usr/lib64/site_perl/5.22.1
...
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
It failed occasionally:
...
|symlinkat: couldn't stat 'git/libbtrfs.so' even though symlink
creation succeeded (No such file or directory).
|ln: failed to create symbolic link 'libbtrfs.so': No such file or directory
...
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Hongxu Jia [Fri, 19 Feb 2016 05:54:41 +0000 (00:54 -0500)]
bison/gettext: add --with-bisonlocaledir to assign BISON_LOCALEDIR
This issue was triggered by buildpaths QA Warning.
...
|gettext-0.19.6: File work/core2-64-poky-linux/gettext/0.19.6-r0/
packages-split/gettext/usr/bin/msgcmp in package contained
reference to tmpdir
...
Previously, variable BISON_LOCALEDIR was assigned only by the
output of 'bison --print-localedir' which provided by native bison
that has buildpaths in it.
For target compile, we add option --with-bisonlocaledir to set
BISON_LOCALEDIR with "/usr/share/locale" to fix the QA issue.
The variable BISON_LOCALEDIR is used for internationalization of
the bison parser’s runtime output. Here is the introduction:
http://www.gnu.org/software/bison/manual/html_node/Internationalization.html
[YOCTO #7058]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Hongxu Jia [Fri, 19 Feb 2016 05:54:40 +0000 (00:54 -0500)]
gcc: use relative path for configure script
The absolute path (/path/to/configure) caused __FILE__ to be
an absolute path.
If 'assert' invoked, it uses __FILE__, and build path would be in elf files.
In assert.h
...
.# define assert(expr) \
((expr) \
? __ASSERT_VOID_CAST (0) \
: __assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION))
...
Which triggered buildpaths QA issue:
...
| libgcc-5.3.0: File work/core2-64-poky-linux/libgcc/5.3.0-r0/packages-split/
libgcc-dev/usr/lib64/x86_64-poky-linux/5.3.0/libgcc.a in package contained
reference to tmpdir [buildpaths]
...
Use relative path to run configure can fix the problem.
[YOCTO #7058]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Hongxu Jia [Fri, 19 Feb 2016 05:54:39 +0000 (00:54 -0500)]
depmodwrapper-cross: nopackages to avoid QA [buildpaths] issue
This depmodwrapper is a wrapper script to support install-corss,
which is invoked at do_rootfs time. So the depmodwrapper-cross
should not generate packages. The fix could avoids QA buildpaths
issue.
[YOCTO #7058]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Humberto Ibarra [Fri, 19 Feb 2016 21:29:32 +0000 (15:29 -0600)]
scripts/oe-selftest: Use site.USER_SITE to run coverage configuration code for sub-process
Coverage in oe-selftest currently requires to create or modify
a sitecustomize.py file according the coverage tool setup instructions
(http://coverage.readthedocs.org/). This file has to be located in
the system's python folder, which is not a good solution since this
folder is not accesible to non-privileged users.
The best solution so far is to create this file in the home directory.
This is implemented by creating the temporal file in the user site
default folder.
[Yocto #8930]
Signed-off-by: Humberto Ibarra <humberto.ibarra.lopez@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Humberto Ibarra [Fri, 19 Feb 2016 21:29:31 +0000 (15:29 -0600)]
scripts/oe-selftest: Add filtering to the coverage data gathered by oe-selftest
When --coverage is used, oe-selftest gathers coverage data from the testcases
executed. The command lacks a way of filtering which files to gather coverage
data from.
This patch adds three options to specify which files should be considered.
The --coverage-source option specifies folders, while --coverage-include and
--coverage-omit specify patterns to have an extra level of filtering.
Some examples:
1. oe-selftest --run-all-tests --coverage
Gathers coverage data from the default poky folders
Right now, only one configuration file can be processed (conf/bblayers.conf)
and it can only have one version number. This is a cause of immense friction
between OE-Core and Poky since if one needs a version change, it shouldn't
be forced on the other.
We'd like to rename the meta-yocto layer (within the meta-yocto repository)
to meta-poky. To do this, we need to correct the bblayers.conf file and that
means changing the sanity version. After the pain this caused the last time,
Paul made me promise never to have them out of sync between OE-Core and Poky,
equally, having every distro changing config update OE-Core isn't scalable
either.
This patch changes the sanity upgrade method to list a more generic format:
<config file>:<current version variable name>:<required version variable name>:<upgrade function>
This in theory allows us to support upgrades to any of the core
configuration files, and allow layers to extend them as needed. Files
with the same name can be handled in different layers by setting a unique
version name variable in the file itself. The upgrade code is only called
if the version variable is set.
To allow us to make the poky name change and use a new configuration file
name, one last version bump is included for poky to handle the transition.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Donnelly [Mon, 22 Feb 2016 17:32:34 +0000 (19:32 +0200)]
perf: add sysroot handling to subcmd
v4.5-rc1 of the kernel splits the subcommand related files
from perf into a new library, this patch adds the modification
of the Makefile to preserve the --sysroot option as for
the other perf related Makefiles.
Signed-off-by: Martin Donnelly <martin.donnelly@ge.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 22 Feb 2016 16:24:07 +0000 (16:24 +0000)]
oeqa/selftest/buildoptions: build -minimal instead of -sato images
When checking enabling buildhistory doesn't change anything but rootfs stamps,
just build core-image-minimal instead of -sato to reduce the time this test
takes.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 22 Feb 2016 16:23:49 +0000 (16:23 +0000)]
bitbake.conf: add findutils-native to ASSUME_PROVIDED
It's possible for findutils-native to get built. There's no point in this as
this is part of the expected host platform but this can introduce races or even
bugs (4.5.19 appears to have a leaking fd bug, resulting in asserts) so add it
to ASSUME_PROVIDED so it definitely won't get built.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Mon, 22 Feb 2016 06:50:57 +0000 (06:50 +0000)]
uclibc: Do not use immediate expansion operator
:= causes none of _remove flags to work with uclibc
e.g. security flags where we remove ssp options for libcs
but it does not become effective for uclibc and hence
the build fails
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Lock [Mon, 22 Feb 2016 11:33:12 +0000 (11:33 +0000)]
rpm: fix building rpm 5 with internal beecrypt
RPM 5 cannot be built without beecrypt, therefore the EXTRA_OECONF
arguments to pass when the beecrypt PACKAGECONFIG is disabled should
enable the internal/bundled beecrypt.
[YOCTO #9150]
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Maxin B. John [Mon, 22 Feb 2016 10:37:27 +0000 (12:37 +0200)]
alsa-lib: topology: Add missing include sys/stat.h
Fixes this build error with uclibc:
alsa-lib-1.1.0/src/topology/parser.c: In function 'snd_tplg_build_file':
alsa-lib-1.1.0/src/topology/parser.c:262:35: error: 'S_IRUSR' undeclared
(first use in this function)
open(outfile, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Feb 2016 09:41:58 +0000 (22:41 +1300)]
classes/populate_sdk_ext: add a better config extension mechanism
The sdk_extraconf() method of setting the configuration was awkward
since you needed to set it in a class and then inherit that class since
function definitions aren't allowed in conf files. It seemed to me the
a neater way to do this was to read the extra lines from an additional
conf file sdk-extra.conf (which can be located in a conf/ directory
anywhere along BBPATH as with other configuration files).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Feb 2016 09:39:02 +0000 (22:39 +1300)]
recipetool: create: improve CMake package mapping
* Package names are actually case sensitive near as I can tell, so we
shouldn't be lowercasing them everywhere.
* Look for CMake packages in pkgdata and map those back to recipes,
so we aren't dependent on the hardcoded mappings (though those are
still preserved).
* Avoid duplicates in the unmapped package list
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a means of extending the dependency extraction for autotools and
cmake.
Note: in order to have this work, you need to have an __init__.py in the
lib/recipetool directory within your layer along with the module
implementing the handlers, and the __init__.py needs to contain:
# Enable other layers to have modules in the same named directory
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Feb 2016 09:38:59 +0000 (22:38 +1300)]
devtool: deploy-target: preserve existing files
If files would be overwritten by the deployment, preserve them in a
separate location on the target so that they can be restored if you
later run devtool undeploy-target.
At the same time, also check for sufficient space before starting the
operation so that we avoid potentially failing part way through.
Fixes [YOCTO #8978].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Feb 2016 09:38:58 +0000 (22:38 +1300)]
devtool: undeploy-target: support undeploying all recipes
If you want to put the target device back to exactly how it was before
devtool deploy-target started poking things into it, then it would make
things easier if you didn't have to figure out which recipes were
deployed. Now that we have the list stored on the target we can
determine this reliably, so add a -a/--all option to undeploy-target to
undeploy everything that has been deployed.
One of the side-effects of this is that the dry-run functionality for
undeploy-target had to be reimplemented to actually run the script on
the target, since we have no way of knowing what's been deployed from
the host side. We don't need to do the same for deploy-target though
since we know exactly which files will be deployed without referring to
the target.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Feb 2016 09:38:57 +0000 (22:38 +1300)]
devtool: deploy-target: write deployed files list to target
When running devtool deploy-target, we save a list of deployed files,
and this list is used by devtool undeploy-target (or the next time
deploy-target is run if the list is present, in case any files have been
renamed or deleted since the first time). We were writing this file to
the host, but it makes more sense to write the list to the target
instead, so that if we for example swap in a different board, or switch
hosts, things will work as expected.
In order to do this properly we have to construct a shell script and
ship it over to the target so we can run it. The manifest is written out
to a hidden directory in the root (/.devtool).
Fixes [YOCTO #7908].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Feb 2016 09:38:56 +0000 (22:38 +1300)]
devtool: sdk-update: tweak command-line handling of updateserver
Get the default value for updateserver from the configuration file and
show it in the help; also only make the parameter optional if it's
specified. This means we can also drop the check in the function as
argparse will then ensure it's specified if there's no config setting.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Feb 2016 09:38:54 +0000 (22:38 +1300)]
scripts/lib/argparse_oe: tweak title above options
Naming these as "optional arguments" is perhaps slightly confusing since
some of the positional arguments might also be optional; in addition
it's rare (though possible) for options to be mandatory - up until
recently we had a recipetool option (-o) that was mandatory. It's not
perfect, but change it to "options" so it's at least a bit more
appropriate.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Feb 2016 09:38:53 +0000 (22:38 +1300)]
devtool: categorise and order subcommands in help output
The listing of subcommands in the --help output for devtool was starting
to get difficult to follow, with commands appearing in no particular
order (due to some being in separate modules and the order of those
modules being parsed). Logically grouping the subcommands as well as
being able to exercise some control over the order of the subcommands
and groups would help, if we do so without losing the dynamic nature of
the list (i.e. that it comes from the plugins). Argparse provides no
built-in way to handle this and really, really makes it a pain to add,
but with some subclassing and hacking it's now possible, and can be
extended by any plugin as desired.
To put a subcommand into a group, all you need to do is specify a group=
parameter in the call to subparsers.add_parser(). you can also specify
an order= parameter to make the subcommand sort higher or lower in the
list (higher order numbers appear first, so use negative numbers to
force items to the end if that's what you want). To add a new group, use
subparsers.add_subparser_group(), supplying the name, description and
optionally an order number for the group itself (again, higher numbers
appear first).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Feb 2016 09:38:51 +0000 (22:38 +1300)]
devtool: reset: fix preserving patches/other files next to recipes
If files had been created next to the recipe (for example devtool add,
edit the source and commit and then devtool update-recipe), running
devtool reset failed to preserve those files and gave an error due
to trying to rmdir the directory containing them which wasn't empty.
Fix the preservation of files in the "attic" directory properly so
we catch anything under the directory for the recipe, and replicate
the same structure in the attic directory rather than slightly
flattening it as we were before.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 19 Feb 2016 09:38:50 +0000 (22:38 +1300)]
devtool / recipetool: use common code for launching editor
Looking at Chris Larson's code for starting the user's editor for
"recipetool newappend" it was slightly better than what I wrote for
"devtool edit-recipe" in that it checks VISUAL as well as EDITOR and
defaults to vi if neither are set, so break this out to its own function
and call it from both places. The broken out version passes shell=True
however in case it's a more complicated command rather than just a name
of an executable.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Fri, 19 Feb 2016 08:48:36 +0000 (00:48 -0800)]
terminal.bbclass: import oe.terminal for oe.terminal.prioritized()
Fixed:
INHERIT += "typecheck"
$ bitbake -p
ERROR: Failure expanding expression auto none ${@" ".join(o.name for o in oe.terminal.prioritized())}
which triggered exception AttributeError: 'module' object has no attribute 'terminal'
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>