Ed Bartosh [Thu, 31 Dec 2015 16:42:14 +0000 (18:42 +0200)]
bitbake: uievent: add error to registerEventHandler return
Current code throws Exception("Could not register UI event handler")
if event handler can't be registered. The real reason of this is that
cooker is in busy state. Error message lacks information about this.
Added error message to the return value of registerEventHandler.
Included returned error message into the log message and exception
text.
Juro Bystricky [Mon, 4 Jan 2016 18:51:43 +0000 (10:51 -0800)]
bitbake: fetch2/__init__.py: Add support for 7-Zip
7-Zip is a file archiver claiming the highest compression ratio.
This patch allows using 7-Zip commpressed files in bitbake recipes.
Two common formats are supported:
Richard Purdie [Mon, 4 Jan 2016 17:34:02 +0000 (17:34 +0000)]
bitbake: utils: Remove double compile from better_compile
Poking around the ast to correct linenumbers works well for runtime failures
but not for parsing ones. We can use blank linefeeds to correct the line
numbers instead, with the advantage that we don't need to double compile.
Richard Purdie [Mon, 4 Jan 2016 17:33:26 +0000 (17:33 +0000)]
bitbake: data: Drop misleading ExpansionError exception
This codepath can be triggered by a python indentation error for example.
Showing it as an ExpansionError is misleading.
Change the code to add a warning about where the failure came from (in
particular giving the variable key name that triggered it) but raise the
proper exception.
Richard Purdie [Mon, 4 Jan 2016 17:32:45 +0000 (17:32 +0000)]
bitbake: cooker: Drop useless parsing exception
The SyntaxError exception simply shows the recipe that failed to parse
which is pretty useless without the actual exception. We could make it
print more info, however we can just use one of the more generic handlers
instead and remove this one.
For a python indentation error, this leads to a much more readable error
message.
Richard Purdie [Mon, 4 Jan 2016 17:31:19 +0000 (17:31 +0000)]
bitbake: codeparser: Add support for correct linenumbers
Currently, if there is something like a python indentation error in a
python function, the linenumbers and even file aren't reported correctly.
This allows lineno and filename parameters to be passed in to correct this.
The lack of a lineno parameter to python's compile() function is worked
around by using empty linefeeds. Ugly, but effective and with minimal
performance overhead.
Jens Rehsack [Tue, 5 Jan 2016 16:11:42 +0000 (17:11 +0100)]
udev-extraconf: introduce multiple blacklist files for more complex setups
In cases where a target image wants prevent the recovery partition is mounted
automatically, but the recovery partition identifier moves with the device
(internal flash, sd card, usb stick, ...), device/machine dependend extra
blacklists might be desired.
The grep utility prints the file name for each match when there is more
than one file to search. Add -h to suppress the prefixing of file names
on output.
Richard Purdie [Tue, 5 Jan 2016 17:52:06 +0000 (17:52 +0000)]
image/rootfs-postcommands: Separate out post rootfs commands to separate class
Reading image.bbclass is a little difficult as it has many post rootfs
helper functions and its hard to separate those from the core contents
of the rootfs/image code.
Moving it to a separate class would be one way of making it clearer
what these functions are. There are some comment layout improvements
but no code changes.
Alejandro Joya [Tue, 17 Nov 2015 22:13:16 +0000 (16:13 -0600)]
packagegroup-core-boot:replace busybox to variable
It replaces the use of busybox as hardcoded dependency to more dynamic
this wouldn't affect the way that the system is build only it let a more
flexible replacement in the core.
Alejandro Joya [Tue, 17 Nov 2015 22:13:15 +0000 (16:13 -0600)]
initramfs-framework_1.0:replace busybox for variable.
It replaces the use of busybox as hardcoded dependency to more dynamic
this wouldn't affect the way that the initrams is build, just it let a more
flexible replacement in the core.
Alejandro Joya [Tue, 17 Nov 2015 22:13:14 +0000 (16:13 -0600)]
core-image-minimal-initramfs: replace base-utils
It replaces the use of busybox as hardcoded dependency to more dynamic
this wouldn't affect the way that the system is build only it let a more
flexible replacement in the core.
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>
Jianxun Zhang [Tue, 15 Dec 2015 18:17:42 +0000 (10:17 -0800)]
meta-yocto-bsp: Remove uvesafb (v86d) from generic x86 features
When uvesafb is automatically loaded during boot and FW doesn't
support legacy video bios and frame buffer, its user space helper
will throw error messages in kernel log:
[6.843790] uvesafb: Getting VBE info block failed (eax=0x4f00, err=1)
[6.843864] uvesafb: vbe_init() failed with -22
[6.843916] uvesafb: probe of uvesafb.0 failed with error -22
Assuming most x86 boards today don't really rely on this module, this
change simply removes it from the common feature list to get rid of
these harmless messages.
Ross Burton [Wed, 23 Dec 2015 13:45:23 +0000 (13:45 +0000)]
oeqa/selftest: support sets in devtool comparisons
The devtool and recipetool tests do literal string comparisons, but for some
fields the ordering could be irrelevant and potentially non-deterministic. For
example, the recipetool_create_simple test started failing with:
AssertionError: 'GPLv2 Unknown' != 'Unknown GPLv2' : values for LICENSE do not match
The ordering of the LICENSE field isn't relevant. So, if the expected value is
a set(), split the string into a set too and compare those.
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 22 Dec 2015 22:12:30 +0000 (22:12 +0000)]
xorg-lib: allow native building without x11 DISTRO_FEATURES
The Xorg libraries use REQUIRED_DISTRO_FEATURES to stop building on
distributions without the x11 feature but this stops people building native
tooling that uses libX11, such as libsdl-native.
busybox: generalize recipe to work with arbitrary install directories
Allow configuring base_bindir, base_sbindir, bindir and sbindir
arbitrarily.
Also change the temporary symlinks created in the postinst script from
relative to absolute to make the code simpler and more flexible. There was
no reason to use relative links anyways, as directly afterwards
update-alternatives would replace them by absolute links anyways.
Andre McCurdy [Tue, 22 Dec 2015 19:56:56 +0000 (11:56 -0800)]
cairo: update 1.14.4 -> 1.14.6
Release 1.14.6 (2015-12-09 Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
Simple bugfix release to fix one Windows issue.
For a complete log of changes since 1.14.4, please see:
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Thu, 19 Nov 2015 03:46:02 +0000 (19:46 -0800)]
rpm: Generate per distribution and multilib macro files
The distribution and multilib macro files are required for rpmbuild, on the
target, to work properly. These override the default settings from the
upstream macro files with the proper values for the OE configuration.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Patrick Ohly [Wed, 9 Dec 2015 17:48:28 +0000 (18:48 +0100)]
package_manager.py: add debugging support for rpm scriptlet execution
By default, smart is invoked with --log-level=warning, which hides all
output from pre/post install scriptlets. That makes it hard to debug
scriptlet failure or why they get postponed to first-boot via
/etc/rpm-postinst.
The new ROOTFS_RPM_DEBUG variabled is expected to be set to an integer in
local.conf an incrementally adds more output:
0 = default, only warnings
1 = --log-level=info (includes information about executing scriptlets and their output)
2 = --log-level=debug
3 = --log-level=debug plus dumps of scriplet content and command invocation
The default behavior is not changed yet, but it seems that level 1 would
be a better default.
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jonathan David [Mon, 30 Nov 2015 21:59:50 +0000 (15:59 -0600)]
xinput-calibrator: get screen geometry when calibrating
Calibration acquires a default resolution of 1280x1024 when running
xinput_calibrator_pointercal.sh, obtain correct screen resolution by
using xrandr to grab user-specified geometry and pass to script
Signed-off-by: Jonathan David <jonathan.david@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Marcus Müller <marcus.mueller@ettus.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Tzu-Jung Lee <roylee17@currantlabs.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Historical releases may disappear from the main mirrors, so
then we need to fall back to the archive (which, in turn, may
not carry the current release, and so can't be the primary mirror).
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Tue, 22 Dec 2015 01:04:54 +0000 (09:04 +0800)]
bind: 9.10.2-P4 -> 9.10.3-P2
Upgrade bind from 9.10.2-P4 to 9.10.3-P2.
* update context of 0001-build-use-pkg-config-to-find-libxml2.patch
* add PACKAGECONFIGs readline and libedit. They provide same library, so
should not be set at same time.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tanu Kaskinen [Tue, 22 Dec 2015 09:49:36 +0000 (11:49 +0200)]
libsndfile1: enable FLAC/Ogg/Vorbis support
This makes it possible to handle FLAC and Vorbis files in programs
that use libsndfile.
It seems that the external dependencies were disabled just as a
routine measure to make builds deterministic, since the dependencies
were missing from DEPENDS[1]. Therefore it seems likely that nobody
particularly wants to have libsndfile without support for these
formats.
Paul Eggleton [Sun, 20 Dec 2015 20:55:39 +0000 (09:55 +1300)]
buildhistory: improve support for extensible SDK
* Ensure extensible SDK and standard SDK go into their own directories
* Record extra extensible SDK variables
* Write sstate-package-sizes.txt and sstate-task-sizes.txt files so you
can analyse the size of the contents
* Add BUILDHISTORY_SDK_FILES (similar to BUILDHISTORY_IMAGE_FILES) and
default it to pick up config files installed in the extensible SDK
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>
Paul Eggleton [Sun, 20 Dec 2015 20:04:59 +0000 (09:04 +1300)]
buildhistory: fix not recording SDK information
After OE-Core revision baa4e43a29e45df17eaa3456acc179b08d571db6 we lost
recording SDK the contents in buildhistory. This was due to the
SDK_POSTPROCESS_COMMAND variable being set with = in
populate_sdk_base.bbclass which overwrote any value set with += in
buildhistory.bbclass; to fix it, use _append in buildhistory.bbclass
instead.
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>
scripts/oe-selftest: Add support for selftest log with timestamp
Each time oe-selftest runs, the oe-selftest.log file is overwritten.
This patch solves it by adding time stamp to each selftest log file
and doing a symlink named as oe-selftest.log to the last one created.
Signed-off-by: Costin Constantin <costin.c.constantin@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ming Liu [Sun, 20 Dec 2015 16:40:43 +0000 (17:40 +0100)]
ncurses: fixes wrong paths in BINCONFIG
* Removes ncurses-config from BINCONFIG, that file does not exist at all.
* Adds in ncurses5-config and ncursesw5-config to BINCONFIG.
This fixed following warnings during SDK install:
warning: Removing ncurses-dev-5.9-r15.1@lib32_x86 due to file /usr/bin/ncurses5-config conflicting with ncurses-dev-5.9-r15.1@core2_64
warning: Removing ncurses-dev-5.9-r15.1@lib32_x86 due to file /usr/bin/ncursesw5-config conflicting with ncurses-dev-5.9-r15.1@core2_64
Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Fri, 11 Dec 2015 15:08:57 +0000 (15:08 +0000)]
xcb: don't build-depend on python-native
xcb-proto had a dependency on python-native as it builds and installs a Python
module, but xcb-proto is very low in the build to force a dependency on
python-native.
As it turns out libxcb simply asks pkg-config for the full path to the module
xcb-proto installed and uses it directly so there is no need to build
python-native. Instead replace AM_PATH_PYTHON with two explicit variable
definitions (need to set PYTHON for automake's install logic).
Also remove the dependency on xcb-proto-native as libxcb uses the data files and
tooling from the target sysroot, and patching it to use the native sysroot adds
complication for no good reason.
Khem Raj [Tue, 15 Dec 2015 21:20:46 +0000 (21:20 +0000)]
tcmode-default: Use glibc for nativesdk version even on uclibc and musl
We do not have musl or uclibc based systems for building OE itself. Most
of build servers run glibc, there will be other issues to build OE on a
uclibc based build system
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Thu, 26 Nov 2015 14:05:07 +0000 (09:05 -0500)]
linux-yocto: remove 3.14 and 3.19 recipes
In preparation for the introduction of new (supported) kernel versions,
we remove the 3.14 and 3.19 variants.
The kernel trees will still be available, but the recipes are removed
from master. These versions can still be built on older releases, or
with private copies of the recipes.
3.14 LTSI is replaced by the 4.1 LTSI kernel, and 3.19 will be replaced
by 4.4+.
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>
The existing code doesn't tell regular (with .git) and bare cases and
just move the unpacked repo to the place of kernel source. But later
steps will fail on a bare-cloned repo because we can not checkout
directly in a bare cloned repo.
This change performs another clone to fix the issue.
Note: This change doesn't cover the case that S and WORKDIR are same
and the repo is bare cloned.
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>
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>
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>
Bruce Ashfield [Fri, 11 Dec 2015 18:30:10 +0000 (13:30 -0500)]
yaffs2: fix checkpoint functionality
Updating the linux-yocto SRCREVs to pull in the following change:
Author: He Zhe <zhe.he@windriver.com>
Date: Wed Dec 2 01:31:31 2015 -0500
fs/yaffs2: fix missing checkpoint on yaffs
For yaffs file system, the mode of reading or writing is restricted
at four pointer where are mnt->mnt_flags,mnt->mnt_sb->s_flags,mtd->flags and
dev->read_only,the first three is used handle file and file
system(eg,remount) operation, and last one(dev->read_only) almost is
used handle checkpoint of yaffs2. However, in current code, the
dev->read_only only can be changed at first time when the yaffs2
file system is mounted, later it can't be changed again(eg,mount -o
remount), the result is that the checkpoint's saving operation
always can't succeed if you set readonly mode for yaffs2 file system
when it is mounted at the first time.
To fix this issue, we implement yaffs_remount_fs() which allows the
rootfs to be remounted as r/w.
Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com> Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
(From OE-Core rev: 289fd2bf61d0761a93d17f18b9079fc9f61e0031)
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>
Paul Eggleton [Tue, 22 Dec 2015 04:03:19 +0000 (17:03 +1300)]
oe-selftest: devtool: add more explicit check for ls output
test_devtool_deploy_target is failing on the Yocto Project autobuilder
apparently when it attempts to cut out some fields from the list. It
doesn't fail here and I can't see what the problem lines are, so add a
check for lines with too few fields so we can get a look at them next
time it fails.
Paul Eggleton [Tue, 22 Dec 2015 04:03:17 +0000 (17:03 +1300)]
recipetool: create: fix error when extracting source to a specified directory
Having fetched the source and unpacked it to a temporary directory, we
then move part of it to the destination directory, or if the source is at
the top level we move the whole temporary directory, but in the latter
case we were later attempting to delete the temporary directory which no
longer existed. Clear out the variable so that doesn't happen.
Paul Eggleton [Tue, 22 Dec 2015 04:03:16 +0000 (17:03 +1300)]
recipetool: create: improve autotools support
* tar and binutils we can assume are there
* libsocket is only relevant on BSD systems, so we can ignore it.
* Detect more things implying gettext/intltool is needed
* Detect glib-2.0 requirement.
Paul Eggleton [Tue, 22 Dec 2015 04:03:14 +0000 (17:03 +1300)]
devtool: reset: print message about leaving source tree behind
We deliberately leave the source tree alone when resetting in case it
contains any work in progress belonging to the user; tell them that
we're doing this so they aren't surprised about it still existing later
on.
Paul Eggleton [Tue, 22 Dec 2015 04:03:13 +0000 (17:03 +1300)]
devtool: status: list recipe file within workspace if one exists
If a recipe in the workspace actually exists as a file within the
workspace (e.g. after doing "devtool add" or "devtool upgrade") then
show the path to the recipe file on the status line for the recipe.
Paul Eggleton [Tue, 22 Dec 2015 04:03:11 +0000 (17:03 +1300)]
devtool: add: allow specifying URL as positional argument
Having to specify -f is a little bit ugly when a URI is distinctive
enough to recognise amongst the other positional parameters, so take it
as an optional positional parameter. -f/--fetch is still supported, but
deprecated.
Paul Eggleton [Tue, 22 Dec 2015 04:03:10 +0000 (17:03 +1300)]
devtool: add: figure out recipe name from recipetool
recipetool create now has all the logic in it for auto-detecting the
name and version, and using those in the file name - so we can make the
name an optional parameter for devtool add and we pick up the file name
that recipetool has used after the fact.
Paul Eggleton [Tue, 22 Dec 2015 04:03:09 +0000 (17:03 +1300)]
devtool: add: allow source tree to be omitted
Assuming we're fetching source remotely (from a URI) we can default the
source tree that will be extracted from it to a "sources" directory
under the workspace in order to save the user specifying it if they
don't have a preferred location.
Paul Eggleton [Tue, 22 Dec 2015 04:03:08 +0000 (17:03 +1300)]
scripts/lib/argparse_oe: handle intermixing of optional positional arguments
Python's argparse module can't handle when several optional positional
arguments (set with nargs='?') are intermixed with other options. If the
positional arguments aren't optional then this isn't an issue; thus when
changing positional arguments to optional (as we are doing with devtool)
we need this workaround.
This is a pretty horrible hack, but we don't want this flexibility of
ordering to disappear simply because we made some arguments optional.
Unfortunately the corresponding bug remains unresolved upstream even in
Python 3, and argparse is not really designed to be subclassed so it
doesn't make things like this easy.