Scott Rifenbark [Wed, 21 Sep 2016 23:06:18 +0000 (16:06 -0700)]
ref-manual: Added two new tips
Fixes [YOCTO #10297]
Updated the "Other Tips" section to include a couple new tips.
* Remove the /tmp directory as a way to work-around temporary
build issues.
* Create a little method to help you search the massive
amounts of bits for whatever. Also, suggested filing bugs
against the docs if a feature is too hard to find or figure out.
I added an additional paragraph at the end of the section that
provided more detail on what the bitbake -e and bitbake -e recipe
commands provide in the way output.
Scott Rifenbark [Wed, 21 Sep 2016 18:44:43 +0000 (11:44 -0700)]
sdk-manual, dev-manual: Applied SDK review edits.
* Removed the note box formatting for the cross-reference
from the sdk-manual and dev-manual sections that
talk about devtool. The reference is now non-note
form and goes to the ref-manual devtool quick ref.
* Added devtool upgrade as a third item in the list that
introduces methods to use devtool.
* Fixed the working on the devtool finish step 5 for both
the dev-manual and sdk-manual.
* Renamed the new chapter that describes different projects
you can use devtool on. The focus is on using the SDK
toolchain directly.
* Scrubbed the entire sdk-manual for the term "toolchain
installer" and replaced with "SDK installer".
Scott Rifenbark [Mon, 19 Sep 2016 23:45:26 +0000 (16:45 -0700)]
sdk-manual: New Projet chapter added and other fixes
I extracted the sections on Makefile, Autotools, and Eclipse into
their own new chapter. Seemed to make sense as they are projet
types for both standard and extensible SDK types. Also, swapped
the order of appearance from standard first to extensible first.
This swapping caused a bit of rewriting.
Scott Rifenbark [Mon, 19 Sep 2016 20:52:07 +0000 (13:52 -0700)]
documentation: devtool upgrade and quick ref changes to mult manuals
Did the following:
* Added the devtool upgrade flow to the SDK manual.
* Removed the devtool Quick Reference from the dev-manual and
added it as a new chapter to the ref-manual.
* Made sure all the links and cross-references work now with the
moved material.
* Updated the Make file so that the manual set builds correctly
regarding the new chapter in the ref-manual.
* Created cross-referencing notes in both the sdk-manual and the
dev-manual to the newly located devtool Quick Reference chapter.
In order to load balance Alejandro H. there are new maintainers for the following
packages: aspell, bc, cronie, libusb(-compact), nfs-utils, pcmanfm, ruby, swig,
texinfo, tex-info-dummy-native, ttf-bitstream-vera, unzip and which.
Richard Purdie [Wed, 28 Sep 2016 08:16:46 +0000 (09:16 +0100)]
oeqa/sstatetests: Ensure we cover deb packaging backend for sstate test
Currently we weren't testing the deb backaned for sstate correctness
and there was a bug that had crept in. Ensure we cover all package
backends with the test regardless of what the distro/conf sets.
Richard Purdie [Wed, 28 Sep 2016 08:14:55 +0000 (09:14 +0100)]
dpkg: Only set DEB_HOST_ARCH in target case
If we don't do this, the sstate checksums vary for dpkg-native depending
on which MACHINE is set and this is clearly incorrect. It leads
to dpkg-native rebuilding far too often.
This function never worked because the SDK_OUTPUT and SDKPATH vars are
written bash-style in a python function. The only reason it never failed
a build is because the function bails out the start because of the flag
CHECK_SDK_SYSROOTS.
And I guess nobody tested with CHECK_SDK_SYSROOTS enabled until now.
This function was broken by the multi-config changes, and isn't needed anymore
now that recipeutils.pn_to_recipe can handle provides. Without this, the
newappend sub-command fails.
This dependency was manually added in 3dec9ad1cd6a ("perl: module
overload rdpends on overloading") but was (mistakenly?) removed by 06d43a90acbe ("perl: 5.20.0 -> 5.22.0"). Restore it.
Since the upgrade to 2.8, lttng-tools' test harness silently succeeds
but doesn't actually run the tests. This is because upstream made
some changes in their test harness:
Updates to address this include:
- drop now-irrelevant patch
- change the ptest-run make target
- remove indiscriminate search/replace commands from do_install_ptest
- copy entire build directory into PTEST_PATH and then remove unneeded files
- use lttng binaries installed on the system for the tests
- add lttng-tools-ptest runtime dependencies
- lttng-tools itself
- babeltrace, used by the test harness to process traces
- perl modules required by babelstats.pl test script
- procps (for pgrep, pidof)
- gawk
- remove unnecessary chmod and munging of utils.sh script library
- remove checkpatch from ptest installation tree
- avoid path-munging of libtool artifacts altogether
- use more efficient find+sed patterns to munge Makefiles
- reduce test harness output to conform to ptest rules
On qemux86-64 and qemuarm I get relatively stable results, with
PASS/FAIL varying by +-1 on successive runs.
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>
linux-yocto: Move PREFERRED_PROVIDER check to be generic
This check ensures that when the PREFERRED_PROVIDER for virtual/kernel
changes, the previous instances gets removed correctly so when the new
instance installs files into the shared area there is not an overlap of
old and new.
SDK: Allow changing SDKMACHINE without wiping TMP folder
When changing SDKMACHINE, we may encounter an error forcing us to wipe the TMP folder.
Since only SDK_ARCH is captured in the PN of the crosssdk recipes, changes to SDK_OS
result in conflicts. Eventually we hit the error:
ERROR: ...: The recipe <...> is trying to install files into a shared area when those files already exist.
The build has stopped as continuing in this scenario WILL break things
This patchset addresses the problem by SDK_SYS as the recipe name suffix instead
of SDK_ARCH.
By default, libsolv uses the rpm logic for version comparison, which is
not quite the same as debian. Opkg now sets the distribution type for
libsolv to be debian. But for that to work, libsolv needs to be compiled
with MULTI_SEMANTICS=ON.
parselogs.py: Add amd_nb error to x86_common whitelist
This has always silently failed on hardware without AMD Northbridge,
and a recent kernel patch made it not silent. It would be ideal to only
whitelist the error for genericx86 MACHINEs and disable the CONFIG
option that enables it in intel-* MACHINEs, but in order to disable
this configuration option we would have to enable EXPERT and
DEBUG_KERNEL, which we don't want. Instead just whitelist it on all
x86 MACHINEs.
Maxin B. John [Sun, 25 Sep 2016 18:40:05 +0000 (21:40 +0300)]
gst-player: Disable visualizations
On some machines, visualizations in gst-player trigger a bug in
xvimagesink. Till we have a proper fix, disable the visualization
rather than downgrading the xvimagesink.
Backport patch to fix CVE-2016-1000110 from python upstream:
for python2.7
https://hg.python.org/cpython/rev/ba915d561667/
for python3
https://hg.python.org/cpython/rev/a0ac52ed8f79
Patrick Ohly [Mon, 26 Sep 2016 09:55:16 +0000 (11:55 +0200)]
archive.bbclass: fix do_ar_original archiving of multiple source repos
When a recipe uses more than one source which isn't a plain file (for
example, multiple git repos), then do_ar_original created the source
archives using the same filename and thus only archived one source.
The "name" parameter is used as file suffix to create unique names for
each source, leading to archives following this pattern:
deploy/${TARGET_SYS}/${PF}/${PF}[-<name>].tar.gz.
The ${PF} part is a bit redundant, which may or may not be
desirable. The patch is more localized this way (no need to modify
create_tarball()).
Patrick Ohly [Mon, 26 Sep 2016 09:55:15 +0000 (11:55 +0200)]
archiver.bbclass: ignore unpack sub-directories in do_ar_original
Support for absolute paths in the "subdir" parameter was recently
added (bitbake rev: c3873346c6fa). The git fetcher has supported
absolute paths in "destsuffix" already before.
When the path is absolute as in destsuffix=${S}/foobar, the tmpdir
used by do_ar_original gets ignored, which breaks:
- source code archiving (tmpdir is empty)
- compilation due to race conditions (for example, ${S} getting
modified by do_ar_original while do_compile runs)
To solve this, these parameters get removed from URLs before
instantiating the fetcher for them.
This is done unconditionally also for relative paths, because these
paths are not useful when archiving the original source (upstream
source does not have them, they only get used by the recipe during
compilation).
* Add PACKAGECONFIG to add proper dependencies for:
graph_parallel, locale, and mpi.
* boost-mpi depends on mpich which is in meta-oe,
and boost-graph_parallel depends on boost-mpi,
so they are disabled by default, but can be enabled
in a distro that needs them.
* context and coroutine are added only for x86 and powerpc.
Joe MacDonald [Mon, 26 Sep 2016 13:17:08 +0000 (09:17 -0400)]
devtool: Add a line break to generated README
When devtool creates a new workspace, it produced a README with one very
long line and no space following 'bblayers.conf'. Add a line break as was
intended.
Richard Purdie [Mon, 26 Sep 2016 16:25:26 +0000 (17:25 +0100)]
prelink: Manipulate library paths to match the target system library setup
Currently, prelink doesn't work unless base_libdir/libdir match
its hardcoded values. This patch manipulates those paths so that
they match the values set in the variables and handles multilib
configurations too. The manipulations only happen in the target
case, if needed.
Richard Purdie [Mon, 26 Sep 2016 16:22:24 +0000 (17:22 +0100)]
utils: Add all_multilib_tune_list function
Its useful to be able to query a list of variables to obtain the values
in each multilib context. This adds such a function which works even
if called in the non-default recipe context.
machine/qemu*: Add comment regarding the reason for virtio-rng-pci
Bring across the comment that was in runqemu regarding why the
virtio-rng-pci device was needed. This comment is added to each location
where the virtio-rng-pci device is added.
meta-environment: ensure corret TOOLCHAIN_CONFIGSITE_NOCACHE value
Expand TOOLCHAIN_CONFIGSITE_NOCACHE value immediately before inheriting
cross-canadian to avoid HOST_ARCH being changed from TARGET_ARCH to SDK_ARCH,
thus ensuring its correct value.
Otavio Salvador [Fri, 23 Sep 2016 16:42:59 +0000 (13:42 -0300)]
qemu.bbclass: Allow use different QEMU binary depending of target
There are architectures which support running in 32 and 64 bit
flavours however the simulation is provided in a specific QEMU
setting, requiring us to use a different binary. This patch allow this
to be done using, for example:
Mark Hatle [Thu, 22 Sep 2016 21:37:20 +0000 (16:37 -0500)]
pseudo: Fix problem where pseudo could kill a container init
In a heavily loaded container, the child process might not started
before the parent process had terminated. The child process attempts to
signal the parent with SIGUSR1. If the parent had terminated, the
parent becomes PID 1, which is generally init. When it signaled pid 1,
it caused the docker mini-init to terminate.
This doesn't happen in a traditional system, as systemd/sysvinit is
protected to only root users can signal it.
scripts/runqemu: provide better error message on runqemu ifup fail
If runqemu-ifup fails hen running testimage, a rather cryptic error
regarding "no tty present" is displayed. If this step fails, we
should at least point the user at runqemu-gen-tapdevs. A quick search
of this term in the manual will lead them to "Enabling Runtime Tests
on QEMU" which should give them all the info they need.
Ed Bartosh [Fri, 23 Sep 2016 12:10:26 +0000 (15:10 +0300)]
wic: remove partition images
Preserving images for every partition doubles disk space
consumed by an image build. As those images are not used,
so it's better to remove them after assembling final image.
Patrick Ohly [Fri, 23 Sep 2016 13:23:20 +0000 (15:23 +0200)]
openssl.inc: avoid random ptest failures
"make alltests" is sensitive to the timestamps of the installed
files. Depending on the order in which cp copies files, .o and/or
executables may end up with time stamps older than the source files.
Running tests then triggers recompilation attempts, which typically
will fail because dev tools and files are not installed.
"cp -a" is not enough because the files also have to be newer than
the installed header files. Setting the file time stamps to
the current time explicitly after copying solves the problem because
do_install_ptest_base is guaranteed to run after do_install.
Patrick Ohly [Fri, 23 Sep 2016 13:26:05 +0000 (15:26 +0200)]
openssl: update to 1.0.2i (CVE-2016-6304 and more)
This update fixes several CVEs:
* OCSP Status Request extension unbounded memory growth (CVE-2016-6304)
* SWEET32 Mitigation (CVE-2016-2183)
* OOB write in MDC2_Update() (CVE-2016-6303)
* Malformed SHA512 ticket DoS (CVE-2016-6302)
* OOB write in BN_bn2dec() (CVE-2016-2182)
* OOB read in TS_OBJ_print_bio() (CVE-2016-2180)
* DTLS buffered message DoS (CVE-2016-2179)
* DTLS replay protection DoS (CVE-2016-2181)
* Certificate message OOB reads (CVE-2016-6306)
Of these, only CVE-2016-6304 is considered of high
severity. Everything else is low. CVE-2016-2177 and CVE-2016-2178 were
already fixed via local patches, which can be removed now.
See https://www.openssl.org/news/secadv/20160922.txt for details.
Some patches had to be refreshed and one compile error fix from
upstream's OpenSSL_1_0_2-stable was required. The server.pem
file is needed for test_dtls.
Paul Eggleton [Fri, 23 Sep 2016 09:22:11 +0000 (21:22 +1200)]
lib/oe/patch: improve accuracy of patch header extraction
When PATCHTOOL = "git", if we need to manually apply a patch and then
commit it (i.e. when git am doesn't work) we try to extract the author /
date / shortlog from the patch header. Make the following improvements
to that extraction process:
* If there's no explicit Subject: but the first line is followed by a
blank line, isn't an Upstream-Status: or Index: marker and isn't too
long, then assume it's good enough to be the shortlog. This avoids
having too many patches with "Upgrade to version x.y" as the shortlog
(since that is often when patches get added).
* Add --follow to the command we use to find the commit that added the
patch, so we mostly get the commit that added the patch rather than
getting stuck on upgrade commits that last moved/renamed the patch
* Populate the date from the commit that added the patch if we were able
to get the author but not the date from the patch (otherwise you get
today's date which is less useful).
Paul Eggleton [Fri, 23 Sep 2016 09:22:10 +0000 (21:22 +1200)]
lib/oe/patch: exclude "From <hash>" from commit message when PATCHTOOL is "git"
If you leave "From <hash>" lines in the commit message it can actually
break git rebase because it tries to interpret the line in the context
of the current repository, and if the hash is invalid then a rebase
will blow up with:
fatal: git cat-file: could not get object info
or in newer git versions:
error: unable to find <hash>
fatal: git cat-file <hash>: bad file
(I hit this when I tried to do a devtool upgrade on openssl to 1.0.2i
the first time I did "git rebase --skip")
Paul Eggleton [Fri, 23 Sep 2016 09:17:52 +0000 (21:17 +1200)]
nativesdk-qemu-helper: drop old Zaurus flash tools
These tools are relics of an earlier time when the Zaurus devices were
reference platforms - these days they are no longer needed. It seems
amazing that they survived earlier purges.
Robert Yang [Thu, 21 Jul 2016 03:35:53 +0000 (20:35 -0700)]
systemd: install udev.pc
It provides udev, but doesn't install udev.pc, which causes other
recipes failed to figure out udevdir.
Fixed when systemd in DISTRO_FEATURES:
$ bitbake pcmciautils (or btrfs-tools):
Package udev was not found in the pkg-config search path.
Perhaps you should add the directory containing `udev.pc'
to the PKG_CONFIG_PATH environment variable
No package 'udev' found
Their udev rules file may not be installed according to each pkg's
implementation.
We still have problems where deploying SDKMACHINE=i686 can cause removal
of SDKMACHINE=x86_64 artefacts.
The reason is that x86_64 is a BUILD_ARCH as well as an SDK_ARCH and
the manifest namespaces overlap. To fix this, set PACKAGE_ARCH and
the stamp-extra-into to include SDK_OS. SDK_OS may not be entirely correct
but it is what sstate.bbclass uses for nativesdk and fixing that is
a separate issue.
This is confirmed to resolve artefact problems on the AB which have been
delaying a new uninative release.
Scott Rifenbark [Fri, 16 Sep 2016 18:11:04 +0000 (11:11 -0700)]
sdk-manual: Removed notes about the BitBake Commander
Fixes [YOCTO #10032]
The fix to remove the BitBake Commander from the tools to install
when dealing with the Eclipse Yocto Plug-in has happened.
Consequently, I removed the developer notes in the manual stating
that the Commander was still showing up there. The manual set
is now clean of this stuff.
Scott Rifenbark [Wed, 14 Sep 2016 01:05:31 +0000 (18:05 -0700)]
sdk-manual: Updated SDK workflow
A new command devtool finish has superceded the final commands
in the SDK workflow. I updated the two figures (add and modify)
to reflect this new flow. I also updated the ordered number list
to match reality.
Scott Rifenbark [Tue, 13 Sep 2016 20:17:57 +0000 (13:17 -0700)]
sdk-manual, ref-manual: New variable for including toolchain
Added a new variable description for SDK_INCLUDE_TOOLCHAIN.
Along with the new glossary entry, I updated a couple places
where it would be relevant to cross-reference the new variable.
Scott Rifenbark [Tue, 13 Sep 2016 18:15:02 +0000 (11:15 -0700)]
ref-manual: New section and updates for runtime dep work
fixes [YOCTO #10248]
The bulk of this change is a new section called "Automatically
Added Runtime Dependencies". Additionally, changes were made
to the RDEPENDS and DEPENDS variables. Some cross-referencing
to the new material was also added in the do_package task entry,
the do_packagedata task entry, the PKGDATA_DIR glossary entry,
and the PRIVATE_LIBS glossary entry.
Scott Rifenbark [Wed, 7 Sep 2016 20:31:08 +0000 (13:31 -0700)]
ref-manual: New section on using oe-pkgdata-util
Fixes [YOCTO #10216]
Creted a new section titled "Viewing Package Information with
oe-pkgdata-util". This section describes how to view information
for already build packages through the use of the
oi-pkgdata-util command.
Scott Rifenbark [Wed, 7 Sep 2016 17:17:42 +0000 (10:17 -0700)]
documentation: Added new description for the PACKAGECONFIG_CONFARGS variable.
Fixes [YOCTO #10183]
Added a new variable entry for the PACKAGECONFIG_CONFARGS variable.
With the introduction of the new PACKAGECONFIG_CONFARGS variable,
many places in the mainstream YP documentation that referenced
how to pass configure arguments using EXTRA_OECONF needed to also
make mention of this new variable. I added many cross-references
to the new variable.