Dengke Du [Wed, 16 Mar 2016 09:06:13 +0000 (05:06 -0400)]
pTest-tcl fail fixed
http.test httpold.test socket.test failed when run the pTest-tcl,because
the tcl script "info hostname" in /usr/lib/tcl/ptest/tests/http.test fail.
The file /etc/hosts didn't contain the map from hostname to 127.0.0.1, so
it need to add the map. In order to ensure the rootfs correct,add it at
build time, add the following command:
"sed -i '1s/$/ ${MACHINE}/' ${WORKDIR}/hosts"
in do_install() function in the file meta/recipes-core/netbase/netbase_5.3.bb
Signed-off-by: Dengke Du <dengke.du@windriver.com>
Correctly handle the any other files/directories that may exist
during the test.
======================================================================
FAIL: test_recipetool_create_simple (oeqa.selftest.recipetool.RecipetoolTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/utils/decorators.py", line 106, in wrapped_f
return func(*args, **kwargs)
File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/recipetool.py", line 414, in test_recipetool_create_simple
self.fail('recipetool did not create recipe file; output:\n%s\ndirlist:\n%s' % (result.output, str(dirlist)))
AssertionError: recipetool did not create recipe file; output:
NOTE: Fetching http://www.dest-unreach.org/socat/download/socat-1.7.3.0.tar.bz2...
NOTE: Unpacking /srv/www/vhosts/autobuilder.yoctoproject.org/current_sources/socat-1.7.3.0.tar.bz2 to /tmp/recipetool-Uj7MIh/
NOTE: Recipe /tmp/recipetoolqaebTo9s/recipe/socat_1.7.3.0.bb has been created; further editing may be required to make it fully functional
dirlist:
['socat', 'socat_1.7.3.0.bb']
OE-Core defaults to no opengl in DISTRO_FEATURES and this would break
sato with the default DISTRO settings. Need to revisit as Sato moves
to gtk+3 but unbreak the builds for now as this change isn't essential.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 12 Mar 2016 08:57:07 +0000 (08:57 +0000)]
uninative: Add a fix for icu-native to use the correct ABI
If no -std= option is passed to icu's configure, it defaults to CXX11.
This isn't what we want for uninative, so pass an explicit option
which selects an older ABI on newer versions of g++.
This avoids the __cxa_bad_array_new_length@CXXABI_1.3.8 symbol
being used.
Poky jethro has libgomp ( GNU OpenMP ) license marked as GPL-3.0,
where's in fact the correct is GPL-3.0 with GCC Library Runtime Exception
As stated on https://github.com/gcc-mirror/gcc/blob/master/libgomp/libgomp.h
header license:
...
Under Section 7 of GPL version 3, you are granted additional
permissions described in the GCC Runtime Library Exception, version
3.1, as published by the Free Software Foundation.
...
Signed-off-by: Helio Chissini de Castro <helio.castro@bmw-carit.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 11 Mar 2016 03:10:57 +0000 (16:10 +1300)]
classes/buildhistory: record a few more variables for extensible SDK
We've recently added SDK_EXT_TYPE and SDK_RECRDEP_TASKS and these will
have an effect on the size and functionality of the SDK, so record them
in sdk-info.txt.
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>
If a package depends on itself apt-get fails to install it with the
error attached to this patch.
This patch checks for this conditions and notifies the user so the
recipe maintainer can fix his RDEPENDS variable.
root@qt5022:~# apt-get install perl-module-cpan
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
perl-module-cpan
0 upgraded, 640 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/5964 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
E: Internal error: MaxLoopCount reached in SmartUnPack (2) for
perl-module-cpan:amd64, aborting
E: Internal error, packages left unconfigured. perl-module-cpan:amd64
root@qt5022:~# apt-get install perl-modules
The dictionary cannot be used for iteration if its size may change
during the loop.
ERROR: Error executing a python function in
/home/ricardo/curro/qt5022/build-qt5022/repo/yocto/meta/recipes-devtools/perl/perl_5.22.0.bb:
Exception: RuntimeError: dictionary changed size during iteration
Hongxu Jia [Fri, 26 Feb 2016 01:45:01 +0000 (20:45 -0500)]
python-numpy: fix buildpaths QA issue
Remove build path in comments:
Without the fix:
...
|This file is generated by /buildarea/raid0/hjia/build-20160225-yocto-
buildpath/tmp/work/core2-64-poky-linux/python-numpy/1.10.4-r0/numpy
-1.10.4/setup.py
...
With the fix:
...
|This file is generated by /numpy-1.10.4/setup.py
...
Signed-off-by: Johannes Pointner <johannes.pointner@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mariano Lopez [Fri, 11 Mar 2016 07:29:17 +0000 (07:29 +0000)]
package_manager.py: Fix race condition in OpkgIndexer.write_index()
When writing the index using ipk packages there could be a race condition
when populate the index. This happens because the architectures
are repeated (specially all) and the commands generated to write the index
run in parallel.
This change avoid the duplication of commands using a set instead of a list.
Humberto Ibarra [Fri, 11 Mar 2016 16:28:24 +0000 (10:28 -0600)]
scripts/oe-selftest: Add search expression matching to run/list options
The oe-selftest script required an exact matching for the parameters
passed to its run-tests-by and list-tests-by options. Many tests
can be retrieved here and filtering is a must.
This patch add this filtering functionality by enabling the use
of wildcards such as "*".
Ross Burton [Fri, 11 Mar 2016 15:35:55 +0000 (15:35 +0000)]
glib-2.0: relocate the GIO module directory for native builds
Glib hard-codes the install path in search path for GIO modules, which causes
problems when glib-2.0-native is restored from sstate with a different build
directory.
In the future we should relocate symbols directly using the same system that the
eSDK uses, but for now use dladdr() to look up where the library was loaded from
to build the search path.
Patrick Ohly [Fri, 11 Mar 2016 15:10:53 +0000 (16:10 +0100)]
image-buildinfo.bbclass: fix performance problems
Inheriting image-buildinfo.bbclass primarily slowed down image
building for two reasons:
1. The content of the shell command "buildinfo" gets expanded
multiple times, each time again checking the state of all
layers.
2. When expanded as part of the actual image creation, git
is invoked under pseudo, which makes the check quite a bit
slower (from a few seconds to a minute with many layers).
To fix this, buildinfo now is a Python method which calls the checks
only when really executed. Pseudo is told to unload itself when
starting git.
In addition, "git diff" is invoked with "--quiet", which avoids
producing output that is just getting thrown away. As before, any kind
of problem or output causes the layer to be marked as "modified".
[Revision 2 of the change with some dead code removed]
Integrating the following commit for the 4.4 kernel:
[
gpio-pca953x: add "drive" property
Galileo gen 2 has support for setting GPIO modes. Expose these
properties through the GPIO sysfs interface. This approach is
bit hacky, since it changes the interface semantics.
The original patch was by Josef Ahmad <josef.ahmad@linux.intel.com>
and made on top of kernel 3.8.
]
For p1022ds bsp, the MULTIARCH is powerpc-linux-gnuspev1 and
python3 did not recognize the extra 'v1' which caused python3
configure error for the platform triplet.
Q:Why Python3 check platform triplet?
A:Under Linux, GNU/KFreeBSD and the Hurd, C extensions now include
the architecture triplet in the extension name, to make it easy to
test builds for different ABIs in the same working tree.
vim config.log
...
EXT_SUFFIX='.cpython-35m-powerpc-linux-gnuspe.so'
...
Here is the generated C extensions which take platform triplet into account.
...
|image/usr/lib/python3.5/lib-dynload/_datetime.cpython-35m-powerpc-linux-gnuspe.so
...
Juro Bystricky [Fri, 11 Mar 2016 02:07:36 +0000 (18:07 -0800)]
ncurses_6: Fix an install race condition
Both targets install.libs and install.includes install the same
files, resulting in a race condition when running parallel make.
This race is addressed in a patch file, making sure only one
of the targets (install.includes) installes the include files.
This will work properly (i.e.ncurses will install as intended
by the recipe) as long as we always install both targets.
Joshua Lock [Fri, 11 Mar 2016 12:13:32 +0000 (12:13 +0000)]
build-appliance: make the inclusion of downloaded sources optional
Including the entirety of DL_DIR in the generated build appliance
image adds a significant amount of space and makes the build
appliance image more awkward to distribute. Add a configuration
option to make the inclusion of sources option and default to
disabling this functionality.
Revert "gstreamer1.0-plugins-XXX: move inherit gettext into common .inc file"
Do not assume that the recipes in OE-Core are the only ones using
gstreamer1.0-plugins.inc or that all GStreamer plugins support
localization. Without this reversal, all our GStreamer plugin recipes
started spewing out:
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake.conf: add 'gobject-introspection-data' to DISTRO/MACHINE_FEATURES_BACKFILL
This means that introspection data will be generated using qemu by default.
If this causes trouble (qemu does not always emulate target architectures
perfectly), then add
MACHINE_FEATURES_BACKFILL_CONSIDERED = "gobject-introspection-data"
to machine configuration or
DISTRO_FEATURES_BACKFILL_CONSIDERED = "gobject-introspection-data"
to distro configuration.
python-pygtk hasn't been updated in several years, is incompatible
with the current version of pygobject, and is generally obsolete as
all modern python gtk apps use introspection directly.
vala: enable the use of vapigen by packages with vala support
Now that gobject-introspection is supported, generation of .vapi
files for develeloping Vala code against gobject-based libraries
should be supported as well.
Richard Purdie [Wed, 9 Mar 2016 16:38:54 +0000 (16:38 +0000)]
gobject-introspection: Override GIO_MODULE_DIR when scanning
This is to stop GLib linking to GConf and other modules (e.g gnutls).
If for example gconf is installed in the sysroot then GLib will use it by
default for the GSettings backend. This will pull a lot more libraries into the
scanner processes and expands the potential for runtime issues since dependencies
may be missing of change since they're not in the dependency chain.
Use an invalid modules directory so we avoid loading any modules or the
libraries they link against which the system may be in the process of rebuilding.
Brendan Le Foll [Fri, 11 Mar 2016 10:32:58 +0000 (10:32 +0000)]
bitbake: fetch2/npm: fix ud.registry so that alternative registries can be handled
Fixes [YOCTO #9231]
npm when given an invalid registry URL with --registry actually goes and
fetches from the default registry, but this commit makes sure it goes to the
specified one.
Scott Rifenbark [Wed, 9 Mar 2016 19:55:11 +0000 (11:55 -0800)]
dev-manual, mega-manual: Updated "Application Development SDK" section.
I updated the figure for this section to include some stuff
for the extensible SDK. I updated the text supporting the
figure to cover the different SDKs and the different SDK
variable sets.
Updated the figure used to show SDK generation. I added a block
to cover the extensible SDK stuff. This affected the figures
folder in both the ref-manual and the mega-manual.
Updated the text section to support the new figure.
meta: toolchain-shar-relocate.sh: Fix for extracting SDK in the same directory as SDK script.
If SDK will be extracted in the same folder as sdk shar script.
The shar_relocate will substitute SDK.sh script SDKPATH with extract destination path.
After that operation no one will be able use this sdk script as paths in it will be different.
To fix this we need to filter out sdk script and relocate_sdk scripts from SDKPATH substitution
Signed-off-by: Krzysztof Zawadzki <krzysztof.zawadzki@nokia.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ngutzmann [Wed, 9 Mar 2016 16:17:31 +0000 (09:17 -0700)]
nettle: The variable named p in the patch file was incorrectly named.
The variable in question should have been called ecc->p. The patch has been updated
so that the compilation of the nettle recipe would complete successfully. The backport
originated from this commit https://git.lysator.liu.se/nettle/nettle/commit/c71d2c9d20eeebb985e3872e4550137209e3ce4d
gpg_sign: export_pubkey: add signature type support
Add support for multiple types of signatures (binary or ascii)
in export_pubkey(). There is no change in behaviour for the function,
the previous implicit default is the new parameter "armor" default.
Starting from v2.1 passing passwords directly to gpg does not work
anymore [1], instead a loopback interface must be used otherwise
gpg >2.1 will error out with:
"gpg: signing failed: Inappropriate ioctl for device"
gpg <2.1 does not work with the new --pinentry-mode arg and gives an
invalid option error, so we detect what is the running version of gpg
and pass it accordingly.
gpg_sign: add local ipk package signing functionality
Implement ipk signing inside the sign_ipk bbclass using the gpg_sign
module and configure signing similar to how rpm does it. sign_ipk uses
gpg_sign's detach_sign because its functionality is identical to package
feed signing.
IPK signing process is a bit different from rpm:
- Signatures are stored outside ipk files; opkg connects to a feed
server and downloads them to verify a package.
- Signatures are of two types (both supported by opkg): binary or
ascii armoured. By default we sign using ascii armoured.
- Public keys are stored on targets to verify ipks using the
opkg-keyrings recipe.
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>
brian avery [Thu, 10 Mar 2016 15:55:54 +0000 (15:55 +0000)]
toaster.bbclass: show packages that were setscened into existence too
We were previously ignoring pkgs that came in from a setscene like from
an sstate mirror). With this patch we can use pkgs than come from sstate
for image customisation as well.
Signed-off-by: brian avery <brian.avery@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Helio Chissini de Castro <helio.castro@bmw-carit.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Thu, 10 Mar 2016 17:06:33 +0000 (12:06 -0500)]
linux-yocto/4.4: Galileo updates
Integrating the following patches for improved galileo support:
66009f8977a6 adc1x8s102: support ACPI-based enumeration. 903003b78c13 staging:iio: add support for ADC1x8s102. cd83f4095b23 spi-pxa2xx: fixed ACPI-based enumeration of SPI devices. c4efe23b7f93 pca9685: PCA9685 PWM and GPIO multi-function device. 81e166ec0a35 gpio: pca953x: provide GPIO base based on _UID 4086f8c34956 acpi: added a custom DSDT file.
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: Patrick Williams <patrick@stwcx.xyz> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 9 Mar 2016 22:49:02 +0000 (22:49 +0000)]
qemu: Limit paths searched during user mode emulation
By default qemu builds a complete list of directories within the user
emulation sysroot (-L option). The OE sysroot directory is large and
this is confusing, for example it indexes all pkgdata. In particular this
confuses strace of qemu binaries with tons of irrelevant paths.
This patch stops the code indexing up front and instead only indexes
things if/as/when it needs to. This drastically reduces the files it
reads and reduces memory usage and cleans up strace.
It would also avoid the infinite directory traversal bug in [YOCTO #6996]
although the code could still be vulnerable if it parsed those specific
paths.
Tyler Hall [Wed, 9 Mar 2016 02:07:40 +0000 (21:07 -0500)]
image-mklibs: handle position independent binaries
Executables built with -fpie have the ELF type DYN rather than EXEC
which makes them difficult to distinguish from shared libraries.
Currently when building the list of executables we omit these binaries
so they might fail to run on the resultant rootfs due to missing
symbols. One of these is systemd which builds -fpie unconditionally, so
mklibs breaks images containing systemd.
Modify the search to catch all executable files that are ELF and have an
interpreter set. Omit libc and libpthread as special cases because they
have an interpreter and are directly executable but treating them as
such is antithetical to the pupose of mklibs.
Zhixiong Chi [Wed, 9 Mar 2016 09:19:40 +0000 (17:19 +0800)]
libpam: define limits.conf as CONFFILES of package libpam-runtime
Based as security reason, the system must limit users to
simultaneous system logins, or a site-defined number.
To avoid overwriting the /etc/security/limits.conf file after
upgrading this rpm package, we will define the file as
CONFFILES of package libpam-runtime.
Signed-off-by: Marek Vasut <marex@denx.de> Cc: Ley Foon Tan <lftan@altera.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Ross Burton <ross.burton@intel.com> Cc: Thomas Chou <thomas@wytron.com.tw> Cc: Walter Goossens <waltergoossens@home.nl> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Michael Wood [Wed, 9 Mar 2016 13:01:24 +0000 (13:01 +0000)]
bitbake: toaster: models List only have the specified project's imported layers
When returning the compatible layers make sure that we are only
listing: All the layers which are for this release && configuration
layers (i.e. aren't part of the build history) and which aren't an
imported layer OR are this project's imported layer(s).
Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Elliot Smith [Tue, 8 Mar 2016 11:32:12 +0000 (11:32 +0000)]
bitbake: toaster: rework task buildstats storage and display
The data available from buildstats is now more fine grained than
previously, so take advantage of that to enrich the data we save
against tasks:
* Store the CPU usage for user and system separately, and display
them separately.
* Disk IO is now measured in bytes, not ms. Also store the
read/write bytes separately.
* Store started and ended times, as well as elapsed_time. This
will enable future features such as showing which tasks were
running at a particular point in the build.
There was also a problem with how we were looking up the Task
object, which meant that the buildstats were being added to
new tasks which weren't correctly associated with the build. Fix
how we look up the Task (only looking for tasks which match the
build, and the task and recipe names in the build stats data) so
the build stats are associated with the correct task.
Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake: fetch2: Make SRC_URI[md5sum] and SRC_URI[sha256sum] expand their values
For some reason, the values for SRC_URI[md5sum] and SRC_URI[sha256sum]
were not being expanded. That lead to the following code not working
as expected:
Ed Bartosh [Wed, 9 Mar 2016 08:07:40 +0000 (10:07 +0200)]
bitbake: xmlrpc: fix bug in setting XMLRPCServer.single_use
XMLRPCServer.single_use attribute was always set to False.
This caused xmlrpc server to keep running after build is done as
BitBakeServerCommands.removeClient only shuts down server if its
single_use attribute is set to True.
The output of "npm view dependencies" isn't entirely JSON if there are
multiple results, but the code here was just discarding the output if
the entire thing didn't parse as JSON. Split the output into lines and
iterate over it, parsing JSON fragments as we find them; this way we end
up with the last package's dependencies since it'll be last in the
output.
Digging further, it seems that the dependencies field reported by "npm
view" also includes optional dependencies. That wouldn't be a problem
except some of these optional dependencies may be OS-specific; for
example the "chokidar" module has "fsevents" in its optional
dependencies, but fsevents only works on MacOS X (and is only needed
there). If we erroneously pull in fsevents, not only is it unnecessary
but it causes "npm shrinkwrap" to throw a tantrum. In the absence of a
better approach, look at the os field and discard the module (along with
any of its dependencies) if it isn't for Linux.
As part of this, we can reduce the calls to npm view to one per package
since we get the entire json output rather than querying twice for two
separate fields. Overall the time taken has probably increased since we
are being more thorough about dependencies, but it's not quite as bad as
it could have been.