Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gobject-introspection: fix floating dep on python-mako
This was resulting in non-deterministic builds where g-ir-doc-tool may or may
not exist depending on whether python-mako was built previously. Add
a PACKAGECONFIG so the dependency is explicit.
Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Sujith Haridasan <Sujith_Haridasan@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sdk.py: preserve packaging data when SDKIMAGE_FEATURES has "package-management"
This is not enabled by default, as there are still limitations and possible
issues with opkg (and rpm?) packaging data containing broken symlinks for
local indexes:
There are other use cases for the packaging data to be available in SDK,
since it provides comprehensive info about SDK's contents and in the case of
opkg and dpkg is all text-based and can be easily parsed by simple scripts.
Introduce new "package-management" flag for SDKIMAGE_FEATURES list (similar
to the one already used for IMAGE_FEATURES) that controls presence of the
packaging data in resulting SDK, while unifying this behavior across the
board for supported pkg managers - rpm, opkg, dpkg.
Richard Purdie [Fri, 22 Apr 2016 13:51:22 +0000 (14:51 +0100)]
lib/oe/rootfs: Fix DEBUGFS generation when using opkg
When enabling extra DEBUGFS image generation with opkg, errors are seen like:
ERROR: core-image-minimal-1.0-r0 do_rootfs: Cannot get the installed packages list. Command '/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/bin/opkg -f /media/build1/poky/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/opkg.conf -o /media/build1/poky/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs --force_postinstall --prefer-arch-to-version status' returned 0 and stderr:
Collected errors:
* file_md5sum_alloc: Failed to open file /media/build1/poky/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs/etc/syslog-startup.conf.busybox: No such file or directory.
* file_md5sum_alloc: Failed to open file /media/build1/poky/build/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs/etc/fstab: No such file or directory.
basically for all CONFFILES in the image. This is due to the file rearranging
the rootfs generation code does. If we preserve the /etc directory,
the avoids the problem.
We need to tell copyfile to preserve symlinks since some are present in /etc.
Ross Burton [Tue, 19 Apr 2016 16:20:19 +0000 (17:20 +0100)]
boost: improve configure
Instead of adding a custom task (do_boostconfig) simply use the existing
do_configure.
Ensure that there are no relative paths in do_configure.
Instead of editing the user-config.jam sample file in the source tree (which is
entirely comments) and extending it on every build, create a new user-config.jam
in ${WORKDIR}.
Ross Burton [Tue, 19 Apr 2016 16:07:59 +0000 (17:07 +0100)]
boost: delete the build directory before rebuilding
If there is an existing build directory when do enter do_compile() then delete
it, as it contains the previous build. If the rebuild was caused because
dependencies have changed we want to ensure that a rebuild actually happens.
Markus Lehtonen [Thu, 21 Apr 2016 11:03:26 +0000 (14:03 +0300)]
license.bbclass: make sure that image manifest dir exists
Previously, write_deploy_manifest() was relying on
write_package_manifest() to create the subdirectory for the manifest
file. However, do_rootfs may be an empty function so that
write_package_manifest() will not be called and the manifest
subdirectory will not be created, causing a build failure. This patch
fixes that by creating the directory hierarchy inside
write_deploy_manifest().
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Maxin B. John [Thu, 21 Apr 2016 09:24:07 +0000 (12:24 +0300)]
busybox: update flock behavior to match upstream
In "util-linux" implementation of flock, -c 'PROG ARGS' means run
"sh -c 'PROG ARGS'". At present, busybox implementation doesn't follow it.
That causes errors like the one listed below:
smart install /media/cronie-1.5.0-r0.core2_64.rpm
Updating cache...
<snip>
Output from cronie-1.5.0-r0@core2_64:
Running groupadd commands...
NOTE: cronie: Performing groupadd with [ --system crontab]
ERROR: cronie: groupadd command did not succeed.
error: %pre(cronie-1.5.0-r0.core2_64) scriptlet failed, exit status 1
error: install: %pre scriptlet failed (2), skipping
cronie-1.5.0-r0.core2_64
This is because we use flock command in preinstall scripts in packages
which create new groups/users.
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>
Attempting to install ptest for valgrind fails with this error:
error: Can't install valgrind-ptest-3.11.0-r0.1@ppce500mc: no package
provides /this/is/a/bogus/interpreter/name
This is because one of the tests contains a bogus interpreter path on purpose
It is not enough to skip the QA warning about the missing dependency
but the dependency have to be completely removed.
Since this package contains oly tests it is safe to disable per file
dependencies and rely on the ones per package.
America/Caracas switches from -0430 to -04 on 2016-05-01 at 02:30.
(Thanks to Alexander Krivenyshev for the heads-up.)
Asia/Magadan switches from +10 to +11 on 2016-04-24 at 02:00.
(Thanks to Alexander Krivenyshev and Matt Johnson.)
New zone Asia/Tomsk, split off from Asia/Novosibirsk. It covers
Tomsk Oblast, Russia, which switches from +06 to +07 on 2016-05-29
at 02:00. (Thanks to Stepan Golosunov.)
Changes affecting past time stamps
New zone Europe/Kirov, split off from Europe/Volgograd. It covers
Kirov Oblast, Russia, which switched from +04/+05 to +03/+04 on
1989-03-26 at 02:00, roughly a year after Europe/Volgograd made
the same change. (Thanks to Stepan Golosunov.)
Russia and nearby locations had daylight-saving transitions on
1992-03-29 at 02:00 and 1992-09-27 at 03:00, instead of on
1992-03-28 at 23:00 and 1992-09-26 at 23:00. (Thanks to Stepan
Golosunov.)
Many corrections to historical time in Kazakhstan from 1991
through 2005. (Thanks to Stepan Golosunov.) Replace Kazakhstan's
invented time zone abbreviations with numeric abbreviations.
they keep the versions in-sync. changes are all in data.
Changes affecting future time stamps
America/Caracas switches from -0430 to -04 on 2016-05-01 at 02:30.
(Thanks to Alexander Krivenyshev for the heads-up.)
Asia/Magadan switches from +10 to +11 on 2016-04-24 at 02:00.
(Thanks to Alexander Krivenyshev and Matt Johnson.)
New zone Asia/Tomsk, split off from Asia/Novosibirsk. It covers
Tomsk Oblast, Russia, which switches from +06 to +07 on 2016-05-29
at 02:00. (Thanks to Stepan Golosunov.)
Changes affecting past time stamps
New zone Europe/Kirov, split off from Europe/Volgograd. It covers
Kirov Oblast, Russia, which switched from +04/+05 to +03/+04 on
1989-03-26 at 02:00, roughly a year after Europe/Volgograd made
the same change. (Thanks to Stepan Golosunov.)
Russia and nearby locations had daylight-saving transitions on
1992-03-29 at 02:00 and 1992-09-27 at 03:00, instead of on
1992-03-28 at 23:00 and 1992-09-26 at 23:00. (Thanks to Stepan
Golosunov.)
Many corrections to historical time in Kazakhstan from 1991
through 2005. (Thanks to Stepan Golosunov.) Replace Kazakhstan's
invented time zone abbreviations with numeric abbreviations.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otavio Salvador [Tue, 19 Apr 2016 20:17:39 +0000 (17:17 -0300)]
syslinux.bbclass: Remove APPEND from variable dependency
The value of APPEND is already being tracked and does impact on the
generated configuration file. This reverts the OE-Core:3c2d7ae5 commit
as it is not need anymore.
Elliot Smith [Tue, 19 Apr 2016 16:28:47 +0000 (17:28 +0100)]
bitbake: toaster-tests: tests for build dashboard
Convert existing tests to Selenium.
Add basic tests to check that the modal contains radio buttons to select
a custom image to edit when a build built multiple custom images, and
to create a new custom image from one of the images built during
the build.
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>
Elliot Smith [Tue, 19 Apr 2016 16:28:46 +0000 (17:28 +0100)]
bitbake: toaster: add modal to select custom image for editing
Add functionality to the placeholder button on the build dashboard
to open a modal dialog displaying editable custom images, in cases
where multiple custom images were built by the build. Where there
is only one editable custom image, go direct to its edit page.
The images shown in the modal are custom recipes for the project
which were built during the build shown in the dashboard.
This also affects the new custom image dialog, as that also has
to show custom image recipes as well as image recipes built during
the build. Modify the API on the Build object to support both.
Also modify and rename the queryset_to_list template filter so that
it can deal with lists as well as querysets, as the new custom image
modal has to show a list of image recipes which is an amalgam of two
querysets.
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>
Elliot Smith [Tue, 19 Apr 2016 16:28:45 +0000 (17:28 +0100)]
bitbake: toaster: add build dashboard buttons to edit/create custom images
When a build is viewed in the dashboard, enable users to edit
a custom image which was built during that build, and/or create
a new custom image based on one of the image recipes built during
the build.
Add methods to the Build model to enable querying for the
set of image recipes built during a build.
Add buttons to the dashboard, with the "Edit custom image"
button opening a basic modal for now. The "New custom image"
button opens the existing new custom image modal, but is modified
to show a list of images available as a base for a new custom image.
Add a new function to the new custom image modal's script which
enables multiple potential custom images to be shown as radio
buttons in the dialog (if there is more than 1). Modify existing
code to use this new function.
Add a template filter which allows the queryset of recipes for
a build to be available to client-side scripts, and from there
be used to populate the new custom image modal.
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: 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>
Elliot Smith [Tue, 19 Apr 2016 16:28:43 +0000 (17:28 +0100)]
bitbake: toaster-tests: add tests for new custom image page
Test adding a new custom image when:
1. No custom images are in the project yet.
2. User tries to add custom image which duplicates the name of
an existing custom image.
3. User tries to add custom image which duplicates the name
of a non-image recipe.
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>
Elliot Smith [Tue, 19 Apr 2016 16:28:42 +0000 (17:28 +0100)]
bitbake: toaster: prevent exception when Project.release is null
Project.release can be null. This causes an exception when calling
get_all_compatible_layer_versions(), as the query to fetch
the layer versions references release.branch_name.
Add a guard to the function so that an empty queryset is returned
if the release isn't set for a project.
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>
Elliot Smith [Tue, 19 Apr 2016 16:28:41 +0000 (17:28 +0100)]
bitbake: toaster: only prevent duplicate custom image names within a project
We currently prevent the same name being used for multiple custom
images, but make the check across all projects. This means that
custom image names have to be unique across all projects in
the Toaster installation.
Modify how we validate the name of a custom image so that we
only prevent duplication of custom image names within a project,
while ensuring that the name of a custom image doesn't duplicate
the name of a recipe which is not a custom image recipe.
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>
Elliot Smith [Tue, 19 Apr 2016 16:28:40 +0000 (17:28 +0100)]
bitbake: toaster: disable/enable "Add layer" button according to input's content
In the import layer page, the "Add layer" button in the layer dependencies
section doesn't accurately reflect whether the layer name in the
corresponding input can be added. A partial or empty layer name can
leave the button active, such that when it is clicked, a
previously-selected layer can be accidentally added.
Fix by keeping track of the items currently available in the typeahead,
only activating the "Add layer" button when the input matches the name
of one of those items.
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>
Elliot Smith [Tue, 19 Apr 2016 16:28:39 +0000 (17:28 +0100)]
bitbake: toaster: fix sorting after hiding a column in build tables
When hiding a column in the build tasks or build packages included
table, if the column is set as the current order by for the table, the
order by is not reset to the default. The result is that the table
stays sorted by the hidden column.
Set the default_orderby for these two tables correctly to ensure the
corresponding table is re-sorted when a column is hidden, if that column
was being used as the order by.
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>
Michael Wood [Tue, 19 Apr 2016 16:28:38 +0000 (17:28 +0100)]
bitbake: toaster: ensure ToasterTable headings are reset when order by changes
If a ToasterTable is ordered by an optional column and that
column is subsequently hidden, the table ordering switches back
to the default ordering for the table. However, the table headings
don't update to reflect the new ordering. This is because the
code which sets the heading weight and hides/shows the caret symbols
only runs when the table is first loaded.
Store the default order by and re-apply it when the data is updated.
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>
Otavio Salvador [Tue, 19 Apr 2016 19:34:00 +0000 (16:34 -0300)]
syslinux.bbclass: The AUTO_SYSLINUXMENU value needs to be boolean
The python code expects AUTO_SYSLINUXMENU to be a boolean value,
otherwise the logic fails. This fixes the code comparing the value to
"1" which is the value expected by the shell script code, counterpart.
Ross Burton [Tue, 19 Apr 2016 12:56:00 +0000 (13:56 +0100)]
perf: pass DESTDIR in EXTRA_OEMAKE
Instead of passing DESTDIR just in the make install invocation, pass it in
EXTRA_OEMAKE. This appears to stop perf from rebuilding at instal time for me,
which appears to be the trigger for the random build failure.
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>
Robert Yang [Mon, 18 Apr 2016 09:29:26 +0000 (02:29 -0700)]
xf86-video-omapfb: remove EXTRA_OECONF_armv7a
Fixe when build with armv7a:
gcc -c ../../git/src/sw-exa.c -fPIC -DPIC -o .libs/sw-exa.o
{standard input}: Assembler messages:
{standard input}:179: Error: selected processor does not support `vld1.u8 {d0},[r1]!' in ARM mode
{standard input}:182: Error: selected processor does not support `vld1.u8 {d1},[r4]!' in ARM mode
{standard input}:183: Error: selected processor does not support `vld1.u8 {q1},[r0]!' in ARM mode
{standard input}:184: Error: selected processor does not support `vzip.u8 d0,d1' in ARM mode
{standard input}:185: Error: selected processor does not support `vld1.u8 {q2},[ip]!' in ARM mode
{standard input}:186: Error: selected processor does not support `vst2.u8 {q0,q1},[fp]!' in ARM mode
{standard input}:187: Error: selected FPU does not support instruction -- `vmov.u8 q1,q2'
{standard input}:188: Error: selected processor does not support `vst2.u8 {q0,q1},[lr]!' in ARM mode
{standard input}:239: Error: selected processor does not support `vld1.u8 {d0},[r1]!' in ARM mode
{standard input}:242: Error: selected processor does not support `vld1.u8 {d1},[r4]!' in ARM mode
{standard input}:243: Error: selected processor does not support `vld1.u8 {q1},[r0]!' in ARM mode
{standard input}:244: Error: selected processor does not support `vzip.u8 d0,d1' in ARM mode
{standard input}:245: Error: selected processor does not support `vld1.u8 {q2},[ip]!' in ARM mode
{standard input}:246: Error: selected processor does not support `vst2.u8 {q0,q1},[fp]!' in ARM mode
{standard input}:247: Error: selected FPU does not support instruction -- `vmov.u8 q1,q2'
{standard input}:248: Error: selected processor does not support `vst2.u8 {q0,q1},[lr]!' in ARM mode
make[2]: *** [image-format-conversions.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
../../git/src/omapfb-crtc.c: In function 'OMAPFBCrtcResize':
../../git/src/omapfb-crtc.c:34:12: warning: unused variable 'ofb' [-Wunused-variable]
OMAPFBPtr ofb = OMAPFB(pScrn);
^
../../git/src/omapfb-xv.c:66:43: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
{ XvSettable | XvGettable, 0, 0xffff, "XV_COLORKEY" },
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>
* add separate variable for configuration options generated from
PACKAGECONFIG setting, this helps other bbclasses and recipes
to take advantage of PACKAGECONFIG mechanism, without including
other options from EXTRA_OECONF
* e.g. meta-qt5 recipes are abusing EXTRA_OECONF to get options
from PACKAGECONFIG:
EXTRA_QMAKEVARS_PRE +=
but with
conf/distro/include/no-static-libs.inc
it means getting --disable-static as invalid option inside
EXTRA_QMAKEVARS_PRE as reported by Alexandre Belloni who tried
to use poky with meta-qt5.
* once we migrate all bbclasses and recipes to PACKAGECONFIG_CONFARGS
we should also restrict EXTRA_OECONF append only to autotools.bbclass
like I did for cmake.bbclass
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Markus Lehtonen [Tue, 19 Apr 2016 11:17:04 +0000 (14:17 +0300)]
license.bbclass: do write_deploy_manifest in image postprocessing
Call write_deploy_manifest() in image postprocessing phase, instead of
rootfs postprocessing. The reason being that not necessarily all
do_deploy tasks are dependencies of the do_rootfs and we might miss
something.
Paul Eggleton [Tue, 19 Apr 2016 11:09:11 +0000 (23:09 +1200)]
devtool: sdk-update: fix handling of UNINATIVE_CHECKSUM changes
If UNINATIVE_CHECKSUM changes over an SDK update, bitbake within the
extensible SDK will be broken because it will see that the matching
uninative tarball doesn't exist and if there is a default value of
UNINATIVE_URL it will attempt to download the file and will then fail
because the checksums don't match up; alternatively if no UNINATIVE_URL
is set then it'll also fail with an error about misconfiguration. To fix
this, add some logic to devtool sdk-update to download the matching
uninative tarball(s) for the checksum(s) in the newly fetched SDK
configuration.
toasterconf.json: Remove fido from supported configurations
It looks like the master branch will no longer build with the Fido
release, so remove all references to fido and make sure that the file
sets up local, master and jethro releases.
toasterconf.json: Remove fido from supported configurations
It looks like the master branch will no longer build with the Fido
release, so remove all references to fido and make sure that the file
sets up local, master and jethro releases.
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>
Scott Rifenbark [Fri, 15 Apr 2016 14:57:37 +0000 (07:57 -0700)]
ref-manual, dev-manual: Scrubbed boot-directdisk and bootimg classes
These classes have been removed. The bootimg class was sucked
into the image-live class. I removed the reference sections to
both classes and fixed the references throughout the manual set
as needed.
I added two package management system generic implementation
details to the section. This brings the section up to speed
as the definitive work on combining multiple versions of library
files into one image. We no longer have to refer the reader
to a separate wiki page.
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>
Ed Bartosh [Mon, 18 Apr 2016 12:27:24 +0000 (15:27 +0300)]
oetest: make console output more verbose
Added output of test runner to bitbake console output.
bitbake <image> -c testimage now reports test progress
to the console:
NOTE: Executing RunQueue Tasks
...
NOTE: recipe core-image-lsb-1.0-r0: task do_testimage: Started
core-image-lsb-1.0-r0 do_testimage: test_ping (oeqa.runtime.ping.PingTest) ... ok
core-image-lsb-1.0-r0 do_testimage: test_ssh (oeqa.runtime.ssh.SshTest) ... ok
...
----------------------------------------------------------------------
core-image-lsb-1.0-r0 do_testimage: Ran 38 tests in 785.100s
core-image-lsb-1.0-r0 do_testimage:
core-image-lsb-1.0-r0 do_testimage: OK (skipped=1)
Adding more output to the console should also prevent autobuilder to kill
long running tests as ab assumes that test is stuck if no console output
produced by it for a long time.
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>
ISC DHCP 4.1.x before 4.1-ESV-R13 and 4.2.x and 4.3.x before
4.3.4 does not restrict the number of concurrent TCP sessions,
which allows remote attackers to cause a denial of service
(INSIST assertion failure or request-processing outage)
by establishing many sessions.
Paul Eggleton [Mon, 18 Apr 2016 03:27:07 +0000 (15:27 +1200)]
buildtools-tarball: fix perl being included when building with ipk
Due to some logic within opkg, a package with the name matching a
dependency will always win over a package with that name in RPROVIDES -
even if there is an RCONFLICTS (which is silently ignored), higher feed
priority and version. The end result is that buildtools gets perl
installed instead of the nativesdk-buildtools-perl-dummy package and
that perl (with missing dependencies) gets used in preference to the
host one, which is precisely what we were trying to avoid.
This is almost certainly a bug in opkg, especially as the other
package's dependencies aren't properly installed under these
circumstances either. However, specifying RREPLACES works around this,
and with no apparent side-effects is probably the safest solution for
now.
At the same time I noticed that in prepending to SDK_PACKAGE_ARCHS we
were actually ending up with a low priority for the dummy package feed
rather than a high one, so change to append it instead. This has no
effect on the packages that get installed at the moment, but should be
done in case the package manager behaviour changes to factor in the feed
priority in future.
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>
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>
Replace git pull with fetch and reset to avoid the merge logic in the
event that the layers repo in the published SDK we're updating to isn't
fast-forward merge from the local repo.
Also add gitignore and committer info during publish to avoid errors and
to be sure that the first commit has a dummy user in it.
This patch addresses the issue of not being able to execute "runqemu"
in the Build Appliance.
The root cause of the problem was that TAP/TUN was not available,
although required by "runqemu". In addition, the recommended remedy
$ sudo modprobe tun
would fail for two reasons: modprobe not in PATH (user builder),
and "iptables" located in /usr/sbin but expected in /sbin.
Andre McCurdy [Thu, 14 Apr 2016 22:38:16 +0000 (15:38 -0700)]
default-providers.inc: set openssl PREFERRED_PROVIDER to openssl
Although the oe-core openssl recipe is currently the only provider of
openssl, make the preference for using it explicit in anticipation of
a libressl recipe being added to meta-oe.
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>
Jussi Kukkonen [Fri, 15 Apr 2016 12:03:17 +0000 (15:03 +0300)]
bind: CVE-2016-2088
Duplicate EDNS COOKIE options in a response could trigger an
assertion failure: Fix with a backport.
bind as built with the oe-core recipe is not at risk: Only servers
which are built with DNS cookie support (--enable-sit) are vulnerable
to denial of service.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Marek Vasut [Fri, 15 Apr 2016 10:19:46 +0000 (12:19 +0200)]
kernel: fitimage: Fix do_deploy taskhash mismatch
The kernel_do_deploy_append() uses DATETIME variable , so the taskhash
of the kernel_do_deploy() function changes if fitImage is used. The
buildsystem will complain accordingly:
Signed-off-by: Marek Vasut <marex@denx.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bill Randle [Wed, 13 Apr 2016 17:17:42 +0000 (10:17 -0700)]
ext-sdk-prepare.py: exclude do_rm_work from unexpected output; create unit test
When installing the esdk with INHERIT += "rm_work", the script complains
about do_rm_work as unexpected output from the bitbake run. This patch
ignores any output lines with do_rm_work and further refactors the
output comparison into its own function creates a new unit test to
verify the fix. The unit test can be run direct from the command line or
via oe-selftest.
Signed-off-by: Bill Randle <william.c.randle@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 14 Apr 2016 13:30:52 +0000 (14:30 +0100)]
bitbake: providers: Add PREFERRED_RPROVIDER support
Sometimes you can end up in a situation where you need to specify that
a specific runtime entity should be provided by a specific entry.
An example of this is bluez where you could end up in a situation where
for example:
NOTE: multiple providers are available for runtime libasound-module-bluez (bluez4, bluez5)
NOTE: consider defining a PREFERRED_PROVIDER entry to match libasound-module-bluez
NOTE: multiple providers are available for runtime bluez-hcidump (bluez-hcidump, bluez5)
NOTE: consider defining a PREFERRED_PROVIDER entry to match bluez-hcidump
The only option here is to set something like PREFERRED_PROVIDER_bluez4 = "bluez4"
which is clearly not very informative.
I've actually held off adding RPROVIDER support for a long while as this
does have sigificant potential for misuse. It doesn't for example allow
multiple runtime providers of the same name to coexist, that simply isn't
supported. It therefore doesn't replace some of the name mappings such
as busybox verses coreutils that OE-Core faces as that is a different
problem with different constraints. This mechanism is simply to provide
bitbake with a hint to decide what the dependency tree should look like.
Also, this allows us to stop printing a confusing message telling the user
to set PREFERRED_PROVIDER when the setting needed would be rather ambiguous.
Richard Purdie [Thu, 14 Apr 2016 13:30:04 +0000 (14:30 +0100)]
bitbake: providers: We don't depend on previous build results
Back in history the code did depend on previous build results. This was
bad for determinism and we no longer do that. Update comments to match
the current behaviour.
Richard Purdie [Thu, 14 Apr 2016 13:29:27 +0000 (14:29 +0100)]
bitbake: cooker/knotty: Prefix parse logs with filename being parsed
We now prefix log messages coming from worker task context with the
PF and task info, however parsing messages all have to be manually
prefixed which is ugly and error prone. This change modifies the log
handler filter so this happens automatically, meaning we don't have
to change every message to include that information. This makes error
messages longer but more usable.
Richard Purdie [Mon, 29 Feb 2016 14:23:33 +0000 (14:23 +0000)]
bitbake: cooker: pass exception to finishAsyncCommand
An invalid task causes bitbake to exit incorrectly, firing a
CommandCompleted event rather than a CommandFailed one. This
means that clients listening for CommandFailed events are
unable to detect the build failure even though one occurred.
Passing an exception string to finishAsyncCommand when a task
fails causes the CommandFailed event to be fired correctly.
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>
Richard Purdie [Thu, 14 Apr 2016 13:53:14 +0000 (14:53 +0100)]
buildstats: Fix tracebacks for early task failures
If a failure occurs early in the task, its possible we can have a
TaskFailed before the TaskStarted event can be triggered. This in
turn causes another traceback as the directory buildstats writes
files into doesn't exist.
Ensure the directory exists so we can see the original error.
Zhenhua Luo [Thu, 14 Apr 2016 09:26:44 +0000 (17:26 +0800)]
meta/classes/qemu.bbclass: set -cpu of ppce5500/ppce6500 to e500mc
The e5500 and e6500 cpu types are not supported by native qemu, set the value
of -cpu to e500mc. Without this change, build will fail for packages which use
qemuwrapper in compile phase due to the following error.
| Unable to find CPU definition
When building shadow-native, syslog was disabled for useradd and
groupadd. This disables it also for groupdel, groupmems, groupmod,
userdel and usermod (i.e., the use of syslog is now disabled for all
commands supported by useradd_base.bbclass).
Paul Eggleton [Thu, 14 Apr 2016 08:24:19 +0000 (20:24 +1200)]
devtool: upgrade: handle recipes where source is not first entry in SRC_URI
It is unusual but not impossible to find recipes whose first entry is
not the main source URL but instead some patch or other local file, for
example python-cryptography in meta-python (which sets SRC_URI before
inheriting pypi). There's nothing inherently wrong with this, and we
shouldn't assume that the first entry is the main source URL, so just
take the first non-local entry instead.
Paul Eggleton [Thu, 14 Apr 2016 08:24:18 +0000 (20:24 +1200)]
devtool: update-recipe: handle where SRC_URI is appended to with +=
If a recipe sets SRC_URI and then appends more items to it with +=
(such as the current rpm recipe in OE-Core), the code in
patch_recipe_file() was failing with a traceback. Work around the
problem for now by dropping the existing lines if we understand the
operation, else just set the value outright at the end. This leaves
something to be desired as it either doesn't respect the existing
structure or leaves a mess but it's better than the current
breakage.
We'll need to come up with a better solution later. Part of the problem
is the existing code structure doesn't allow for patch_recipe_file() to
know what's being added or removed - it only knows the final value that
the caller wants set.
Bruce Ashfield [Wed, 13 Apr 2016 16:12:13 +0000 (12:12 -0400)]
linux-yocto: make aufs4 optional
An always on configuration of aufs4 crept into the default kernel
configuration blocks.
With this change, aufs-enable.scc can be used to turn on aufs via
a KERNEL_FEATURES entry. We can now have co-existing unionfs solutions
and can update them without breaking builds that haven't opted-in.