Compare commits

...

480 Commits

Author SHA1 Message Date
Beth Flanagan
5e3e2e0cbb poky.conf: Bump for 2.1 development
(From meta-yocto rev: 45dd622d7447050e0c9caa067cce87d125518117)

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-10 00:13:13 +00:00
brian avery
7e8ff7b9d7 bitbake: toaster: toasterui Add ParseStarted/ParseProgress events to mask
Toaster is not able to see ParseStarted and ParseProgress events
for command-line builds. This means it's not possible for Toaster
to detect failed builds, if the failure occurs at a point before
the BuildStarted event, as the build won't show up at all.

Add these events to the event mask, so that Toaster's toasterui
can detect and respond to them.

(Bitbake rev: 16bfd3e3d145705a2b3a05648ddbcacc7a338dfa)

Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 09:03:35 +00:00
Richard Purdie
f823601845 build-appliance-image: Update to master head revision
(From OE-Core rev: 192da885e92d3b163b9c4e6b8151c9ecc6062b14)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:49:20 +00:00
Saul Wold
992e577471 linux-yocto: Update genericx86* BSPs to v4.1.13
Update the 4.1 kernel to the lastest stable for the generixx86 meta-yocto-bsps

(From meta-yocto rev: 7e81049a6bf06e970ff434acecb278966048ce3a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:26 +00:00
Marek Vasut
b4f6950451 cmake: Add nios2 support
Add the necessary bits for nios2 support into cmake.

(From OE-Core rev: f6217be489d03cd72655f9457d4e7e21a097a9a7)

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>
2015-12-09 08:48:26 +00:00
Lukas Bulwahn
27b9f041df boost: adjust hard-coded path after python3 upgrade
When using `PACKAGECONFIG = "python"` in the boost recipe, `bitbake boost`
fails at do_compile with:

    ./boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such file or directory
    compilation terminated.

This issue is due to the recent version upgrade from python 3.4 to 3.5:

701ec1977ced1bb08461e6de98b4f63d21cba8a6 python3: Upgrade from 3.4.3 to 3.5

The boost.inc file modifies the boost build configuration with a path
containing the python3 major version, which is hard-coded in the boost.inc
file. Hence after the python3 update, the path points to the outdated
location and it needs to be updated to the new location.

This issue was unrevealed by an internal continuous integration system
for the meta-ros application layer. Further manual bisecting lead to the
critical commit 701ec1977ced1bb08461e6de98b4f63d21cba8a6.

(From OE-Core rev: 0eefd38a13a6ecb35f26ed8cd16f0b36f2c5d652)

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:25 +00:00
Haris Okanovic
639cadd6f9 sdk.py / OpkgSdk: remove_packaging_data() after install
Run remove_packaging_data() on both host and target sysroots to wipe
opkg state after install, similar to what RpmSdk does.

Use case:

Opkg may download local package indexes (I.e. file:// URLs) by
sym-linking them into /var/lib/opkg/lists/ instead of copying [1].
This leaves behind broken symlinks under the lists directory when
using opkg to build SDK sysroots.

The -h option may be set via SDKTAROPTS in some configurations to create
symlink-less SDK archives for Windows file systems. Sysroots containing
broken symlinks will fail to archive under this configuration.

Testing:

Verified /var/lib/opkg/ is empty after running populate_sdk() in a Fido
based distribution.

[1] http://git.yoctoproject.org/cgit/cgit.cgi/opkg/commit/?h=opkg-0.3.x&id=f9022a8520fcde8f1b71424d26a652c218fce685

(From OE-Core rev: c8e0ec2da9ad4ce1c103966906a85f68c15400dd)

Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Reviewed-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
Natinst-ReviewBoard-ID: 119065
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:25 +00:00
Markus Lehtonen
fd4894fcb4 devtool: extract: update SRCTREECOVEREDTASKS for kernel
Add 'do_kernel_configme' and 'do_kernel_configcheck' to
SRCTREECOVEREDTASKS of kernel packages. These tasks should not be run
because kernel meta in the srctree is not necessarily up-to-date or
even present which causes build failures and/or invalid kernel config.
Especially so because 'do_patch' which is a dependency of
'do_kernel_configme' is not being run.

We now store .config in the srctree and 'do_configure' task is able to
run successfully.

(From OE-Core rev: 7ce4c18a4ba1ebcb9f46e652a881ace1f21d2292)

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>
2015-12-09 08:48:25 +00:00
Markus Lehtonen
34f1d819f4 devtool: extract: copy kernel config to srctree
This makes the correct kernel config to be used when building kernel
from srctree (extrernalsrc). If no kernel config is present in the
builddir 'do_configure' task copies .config from the srctree.

(From OE-Core rev: 3b516332e038a587685f6e0c14a7f04990bdd6cc)

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>
2015-12-09 08:48:25 +00:00
Leonardo Sandoval
6650357f13 lib/oe/package_manager: Introducing PACKAGE_FEED_BASE_PATHS/PACKAGE_FEED_ARCHS
The recently introduced PACKAGE_FEED_PREFIX is not flexible enough for
constructing URIs, because the same PREFIX is used for all PACKAGE_FEED_URIS.
Also, the string 'PREFIX' is confusing because it is not at the beginning of
the URI. The variable PACKAGE_FEED_BASE_PATHS replaces PACKAGE_FEED_PREFIX,
allowing multiple base paths to be appended on each PACKAGE_FEED_URIS. In the
other hand, a new variable called PACKAGE_FEED_ARCHS, similar in concept to
PACKAGE_BASE_PATHS, defines package architectures defined by the user.

To demonstrate the usage of the PACKAGE_FEED_URIS, PACKAGE_FEED_BASE_PATHS and
PACKAGE_FEED_ARCHS, let's assume these variables are set on local.conf

    PACKAGE_FEED_URIS = "https://example.com/packagerepos/release \
                         https://example.com/packagerepos/updates"
    PACKAGE_FEED_BASE_PATHS = "rpm rpm-dev"
    PACKAGE_FEED_ARCHS = "all core2-64"

the resulting feeds would be

    https://example.com/packagerepos/release/rpm/all
    https://example.com/packagerepos/release/rpm/core2-64
    https://example.com/packagerepos/release/rpm-dev/all
    https://example.com/packagerepos/release/rpm-dev/core2-64
    https://example.com/packagerepos/updates/rpm/all
    https://example.com/packagerepos/updates/rpm/core2-64
    https://example.com/packagerepos/updates/rpm-dev/all
    https://example.com/packagerepos/updates/rpm-dev/core2-64

(From OE-Core rev: 229723a20095e80bde29e4b3398047f62f972170)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:25 +00:00
Mariano Lopez
d7baeb5fad selftest/wic.py: Add test for custom bootloader config
This change just add anoher test to the wic module.
It will try to create a image with a custom bootloader
configuration. This test will use the example image
directdisk-bootloader-config to test the configfile
option for the bootloaders.

[YOCTO #8728]

(From OE-Core rev: 567cb51f15354c0398b986e32011420a5f3dd090)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:25 +00:00
Mariano Lopez
8612f26004 directdisk-bootloader-config.wks: Add example for custom bootloader config
Add new wks file as a example for a custom bootloader configuration.
This change also includes the configuration that file that will be
used.

This example is using syslinux with MBR, the configuration file is
almost the same as the one generated by wic. As stated before this
is just an example.

[YOCTO #8728]

(From OE-Core rev: 4a9db893f721c0da5d103d28b97a0302cc9e2197)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:25 +00:00
Mariano Lopez
c59dc3bae0 wic/help.py: Document the new option "configfile"
This just adds the "configfile" option for the bootloader
to wic help.

[YOCTO #8728]

(From OE-Core rev: 597045657a1a635f667404306160f9ab2551e954)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:25 +00:00
Mariano Lopez
70338732ac wic: Allow to use a custom config for bootloaders
This change will allow to use a user defined file as the
configuration for the bootloaders (grub, gummiboot, syslinux).

The config file is defined in the wks file with the "configfile"
option in the bootloader line.

[YOCTO #8728]

(From OE-Core rev: d56546b0f312fd042b1a7df3bef97ac1c9b6a5b4)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:24 +00:00
Mariano Lopez
f95f729518 wic/utils/misc.py: Added function to search for files in canned-wks
This change add two new function to search for files in the
canned-wks folder for all the layers included in bblayers.conf.
This will be used to search for custom configuration files for
the bootloaders.

There are similar functions in the wic engine, but these are
focused in wks files only, so it was needed to create new ones.

[YOCTO #8728]

(From OE-Core rev: 356a942e75ac1743290d2c360d1bb89e2225b6cc)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:24 +00:00
Mariano Lopez
9773faadfe wic: Prepare wicboot to allow custom bootloader config
Currently wic does the bootloader configuration file on the fly.
This change introduce a configfile variable for the bootloader;
this is to have a user defined configuration file for the
bootloaders (grub, syslinux, and gummiboot). This is particular
useful when having a multiboot system or scripts embedded in the
configuration file.

[YOCTO #8728]

(From OE-Core rev: 8347aee95ea271921c15ea8e580f0ff62325aa26)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:24 +00:00
Vladimir Zapolskiy
4515186bc4 package_ipk: allow to specify OPKG_ARGS in local.conf
If user specific parameters to opkg are set in local.conf, they are
rewritten in package_ipk.bbclass and ignored, instead append
package_ipk specific arguments to the user defined ones.

The change is needed, if a user has to pass an alternative path to a
temporary directory for opkg, e.g.

  OPKG_ARGS = "--tmp-dir=${TOPDIR}/tmp-opkg"

The default /tmp directory may be unusable for do_rootfs task, for
example if there is no enough space or /tmp is mounted with noexec
mount option, then an alternative path allows to complete do_rootfs
and fix the problems like this:

  ERROR: Unable to install packages.
  ...
  sh: /tmp/opkg-5jPLag/run-postinsts-UsUtaI/preinst: /bin/sh: bad interpreter: Permission denied
  sh: /tmp/opkg-5jPLag/base-files-4hFwQS/preinst: /bin/sh: bad interpreter: Permission denied
  sh: /tmp/opkg-5jPLag/run-postinsts-UsUtaI/preinst: /bin/sh: bad interpreter: Permission denied
  sh: /tmp/opkg-5jPLag/busybox-syslog-sJmfbw/preinst: /bin/sh: bad interpreter: Permission denied
  ...

(From OE-Core rev: 0be4c30aaf03de58d8037a89e342ca0b379a0881)

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:24 +00:00
Bob Ham
7cf7156b2c systemd.bbclass: Allow enabling of parameterised services
Currently the systemd.class will check whether a service exists when it is
requested to enabled it.  However, its check does not take into account that a
service like 'foo@eth0.service' can be enabled from a service named
'foo@.service'.  This patch alters the check function in systemd.class to look
for 'foo@.service' if the normal check fails.

(From OE-Core rev: 4ce15271dad3520e5de2500c609b05d5a511e453)

Signed-off-by: Bob Ham <bob.ham@collabora.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:24 +00:00
Ross Burton
551cda0bd5 base: check for existing prefix when expanding names in PACKAGECONFIG
When the DEPENDS are added as part of the PACKAGECONFIG logic the list of
packages are expanded so that any required nativesdk-/-native/multilib prefixes
and suffixes are added.

However the special handling of virtual/foo names doesn't check that the prefix
already exists, which breaks under nativesdk as in that situation there's an
explicit nativesdk- prefix *and* MLPREFIX is set to nativesdk-.  This results in
the same prefix being applied twice, and virtual packages such as virtual/libx11
ending up as virtual/nativesdk-nativesdk-libx11.

(From OE-Core rev: 55ca1fb8f0e81ff739b3c46897e43356d1f760c3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-09 08:48:24 +00:00
Bruce Ashfield
c093fd8bd2 linux-yocto/4.1: Fix kernel oops on qemuarm boot
Backporting two mainline commits to address kernel oops:

   Internal error: Oops: 17 [#1] PREEMPT ARM
   Modules linked in:
   CPU: 0 PID: 42 Comm: jbd2/vda-8 Not tainted 4.1.8-yocto-standard #1
   Hardware name: ARM-Versatile PB
   task: c7223300 ti: c725e000 task.ti: c725e000
   PC is at blk_mq_tag_to_rq+0x24/0x78
   LR is at bt_for_each+0x70/0xc4
   pc : [<c0364458>]    lr : [<c0368118>]    psr: 20000113
   sp : c725fa18  ip : c725fa30  fp : c725fa2c
   r10: c0365ce0  r9 : 00000020  r8 : c7104200
   r7 : c70ee5ac  r6 : 00000001  r5 : 00000021  r4 : c7122da0
   r3 : c7104000  r2 : 00000000  r1 : 00000021  r0 : 00000000
   Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
   Control: 00093177  Table: 072f4000  DAC: 00000017
   Process jbd2/vda-8 (pid: 42, stack limit = 0xc725e190)
   Stack: (0xc725fa18 to 0xc7260000)

[YOCTO #8663]

(From OE-Core rev: 04b22b6b4953360ea383c4d928dea66f7b1796e6)

Signed-off-by: Alimon Limon <anibal.limon@linux.intel.com
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 17:22:31 +00:00
Paul Eggleton
cda3905e1b toolchain-shar-extract.sh: ensure cleaned environment will work for ext SDK
In OE-Core revision 6d2074d477596971dc52027dd87b02af7f39138d we added a
line which re-executes the script with a cleaned environment using
env -i; unfortunately that caused a regression in the extensible SDK on
Ubuntu 14.04 - strangely, there it seems that the value you get for PATH
under env -i contains '.' which triggers a sanity check failure when
preparing the build system. Do a belt-and-braces fix - source
/etc/environment if it exists (so you get a more complete PATH value)
and then filter any nastiness out of PATH for good measure. (Ubuntu
15.04 doesn't seem to suffer from the same problem.)

(From OE-Core rev: 5175d9a6955c1783fc35ab6832b6be4cbb9fc01b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 17:22:31 +00:00
Richard Purdie
f9384b0669 bitbake: knotty: Enforce terminal line limit to stop crazy scrolling
If there are more tasks running than there are lines on the terminal, the data
scrolls in ways the UI wasn't designed for. This patch adjusts the UI just to
show the processes which fit onto the number of rows in the terminal window.
You can see the total number running from the counter in the top left as usual
and this makes warning and errors messages scrolling from the top of the window
work as designed.

Ultimately, scrolling would be nice but is for another time, this fixes the
biggest UI issue on highly parallel machines.

(Bitbake rev: 67b77658e2bfa849f6f55c9c262cb11d6bfdb399)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:31:48 +00:00
Wills Wang
7a775a1c46 initramfs-framework: create directory /var/run
The following error occurs when udevd startup:
udevd[146]: bind failed: No such file or directory
error binding udev control socket
udevd[146]: error binding udev control socket

(From OE-Core rev: 4db089f10a379bc9a4df287bd657153eb4b94c45)

Signed-off-by: Wills Wang <wills.wang@live.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:53 +00:00
Ross Burton
286139973b libpcre: drop UPSTREAM_CHECK_ variables
Now the SRC_URI is the canonical FTP server, the update-detection logic works
automatically.

(From OE-Core rev: ce3c1c0942d50953704d8d866f93a3d2d49c3091)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:53 +00:00
Fan Xin
35c28e33f9 libpcre: upgrade to 8.38
This is the latest release in the 8.xx series.
It fixes 46 bugs as listed:
http://vcs.pcre.org/pcre/code/trunk/ChangeLog?view=markup

Vulnerabilities from CVE-2015-8380 to CVE-2015-8395 have been fixed in 8.38.

(From OE-Core rev: e29091d9c80ca2cbe631dde9e893dffea91d4c6d)

Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:53 +00:00
Andre McCurdy
d50ef65744 libpng: update 1.6.19 -> 1.6.20 (CVE-2015-8126)
Version 1.6.20beta01 [November 20, 2015]
  Avoid potential pointer overflow/underflow in png_handle_sPLT() and
    png_handle_pCAL() (Bug report by John Regehr).

Version 1.6.20beta02 [November 23, 2015]
  Fixed incorrect implementation of png_set_PLTE() that uses png_ptr
    not info_ptr, that left png_set_PLTE() open to the CVE-2015-8126
    vulnerability.

Version 1.6.20beta03 [November 24, 2015]
  Backported tests from libpng-1.7.0beta69.

Version 1.6.20rc01 [November 26, 2015]
  Fixed an error in handling of bad zlib CMINFO field in pngfix, found by
    American Fuzzy Lop, reported by Brian Carpenter.  inflate() doesn't
    immediately fault a bad CMINFO field; instead a 'too far back' error
    happens later (at least some times).  pngfix failed to limit CMINFO to
    the allowed values but then assumed that window_bits was in range,
    triggering an assert. The bug is mostly harmless; the PNG file cannot
    be fixed.

Version 1.6.20rc02 [November 29, 2015]
  In libpng 1.6 zlib initialization was changed to use the window size
    in the zlib stream, not a fixed value. This causes some invalid images,
    where CINFO is too large, to display 'correctly' if the rest of the
    data is valid.  This provides a workaround for zlib versions where the
    error arises (ones that support the API change to use the window size
    in the stream).

Version 1.6.20 [December 3, 2015]
  No changes.

(From OE-Core rev: ead74a1fdfbc5b5a00683d74a8b0ff2adf4856be)

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>
2015-12-08 10:20:53 +00:00
Joe Slater
2b736f2276 ghostscript: add dependency for pnglibconf.h
When using parallel make jobs, we need to be sure that
pnglibconf.h is created before we try to reference it,
so add a rule to png.mak.

(From OE-Core rev: fad19750d23aad2d14a1726c4e3c2c0d05f6e13d)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:53 +00:00
Alexander Kanavin
976f0e35c6 package_regex.inc: split the rest of the entries to their recipes
(From OE-Core rev: 73e2555cc7d529a93362b3fcfea3fbc7a4c60ca1)

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>
2015-12-08 10:20:52 +00:00
Alexander Kanavin
74bfa62f85 package_regex.inc: split entries which blacklist specific versions to their recipes
(From OE-Core rev: 1eb9e190ef3bb1170b3eaabd9f7900e7ce176624)

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>
2015-12-08 10:20:52 +00:00
Alexander Kanavin
75c6929493 package_regex.inc: split sourceforge related entries to their own recipes
(From OE-Core rev: 4c5899fa0b8258f2754e3080dae5535e3b248e91)

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>
2015-12-08 10:20:52 +00:00
Alexander Kanavin
cefeac268e package_regex.inc: split PyPi related entries to their own recipes
(From OE-Core rev: 9528cff2ecf4241cb80d9e972751d7ac607d39e4)

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>
2015-12-08 10:20:51 +00:00
Alexander Kanavin
aa5df2adc2 package_regex.inc: split Debian-related entries into their own recipes
(From OE-Core rev: 2a5e1848c11bd9a3c64cf8fcc0cb334c738bc5c5)

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>
2015-12-08 10:20:51 +00:00
Alexander Kanavin
12ba5cc325 package_regex.inc: split GITTAGREGEX entries into recipe files
(From OE-Core rev: 589f5442372a7ab0f8bc40403e1739ce1cdd1cc0)

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>
2015-12-08 10:20:51 +00:00
Alexander Kanavin
642e92f2cd package_regex.inc: split entries with odd-even versioning into their own recipes
(From OE-Core rev: 5ddaba1fb833d0408cef5f58f786513b9293c30a)

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>
2015-12-08 10:20:51 +00:00
Alexander Kanavin
96eac69636 package_regex.inc: deprecate the file
New entries should be added to recipes themselves.  Also update the comment to
reflect the new variable names.

(From OE-Core rev: 452b196565c1f19bb736ce4debae576b2f5420aa)

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>
2015-12-08 10:20:51 +00:00
Ross Burton
b0bbea56be gstreamer: really fix the helper install race
My previous fix wasn't enough and just made the race rarer.

(From OE-Core rev: cb033af4432be8d3793b1a79574fc731d7295e72)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:50 +00:00
Ross Burton
b82221674e neard: fix libdir/libexecdir confusion
These binaries are installed to $libexecdir/nfc not $libdir/$BPN.

(From OE-Core rev: 32da30e39b3b847a80d99e1d2a527f460e33590d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:50 +00:00
Ross Burton
cbfccc6394 glibc: fix libdir/libexecdir path confusion
$libdir/glibc is deleted if it doesn't exist but this is incorrectly assuming
what variables are used to create this directory.  In fact libexecdir is being
used in the Makefile so use that in the recipe too.

This fixes builds where libexecdir is changed.

(From OE-Core rev: 0c73dcb7c1c369a66e4c5804fcdd19f657426a5d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:50 +00:00
Ross Burton
d0577f9960 sudo: handle libexecdir != libdir/PN.
sudo has somewhat special file installation logic and installs the modules and
libraries to $libexecdir/sudo, with special handling for the case when
libexecdir already contains /sudo (which it does by default in current oe-core
where libexecdir=$libdir/$PN).

As setting libexecdir to /usr/libexec should work, add both possibilities to
FILES to be sure the right files are captured, and add INSANE_SKIP for the
libdir warning that libraries are outside of /usr/lib/ (arguably, this should be
fixed in insane).

(From OE-Core rev: 431ad7a268fc07c367ce830c4f69dba515f44b4e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:50 +00:00
Tudor Florea
6f837cc142 util-linux: Add ptest
(From OE-Core rev: 705a369e5f48dc75f2db4ef814f63d11c2285058)

Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:50 +00:00
Mike Crowe
dbd02bda78 libav: Correctly handle prefix=""
libav's build system seems to think that prefix="" means that it should
use its default of /usr/local. Setting a prefix of "/" appears to be
sufficient to make it do the right thing.

(From OE-Core rev: e43a394d6758c95d187ed48f33f9404f2e1dee26)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:50 +00:00
Mike Crowe
fda98598f0 libav: Add PACKAGECONFIG options: avdevice, avfilter, avplay, gpl
(From OE-Core rev: 896c27d45d77a2bb57b3cd350b60f1bd97dd13dc)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:50 +00:00
Mike Crowe
7ba85f1c13 libav: Remove deprecated --disable-avserver
./configure --help says:

  --disable-avserver       deprecated, does nothing

(From OE-Core rev: a31313ae36822af1eef303cfbd34487267f62def)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:50 +00:00
Andre McCurdy
2739ed08a8 busybox: backport upstream fixes for unzip
http://git.busybox.net/busybox/commit/?h=1_24_stable&id=6767af17f11144c7cd3cfe9ef799d7f89a78fe65
  http://git.busybox.net/busybox/commit/?h=1_24_stable&id=092fabcf1df5d46cd22be4ffcd3b871f6180eb9c

(From OE-Core rev: e69c955d825bdfaa17eb7a75f26df8b7b646f04d)

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>
2015-12-08 10:20:49 +00:00
Robert Yang
6decbbb155 qt4-4.8.7: fix build for mips n32
Issue: LIN8-1720

If _ABIN32 is defined, it should go into 32 bit branch.

Fixed:
./wtf/StdLibExtras.h: In instantiation of 'TO WTF::bitwise_cast(FROM) [with TO = int; FROM = double]':
runtime/JSValueInlineMethods.h:495:44:   required from here
./wtf/Assertions.h:326:47: error: size of array is negative
 #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1]

(LOCAL REV: NOT UPSTREAM) -- Sent to oe-core on 20151127

(From OE-Core rev: 12c3982f4845929c0d0a1324cff4edbfb4cf59a7)

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>
2015-12-08 10:20:49 +00:00
Fabrice Coulon
f1e8938298 gstreamer1.0: Convert tests and valgrind config opts to PACKAGECONFIGs
I need to be able to run unit tests and build with valgrind support.

(From OE-Core rev: 287809aee528fa81f024c6005a7e8572643e6fb4)

Signed-off-by: Fabrice Coulon <fabrice.coulon@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:49 +00:00
Joshua Lock
11b952412f cracklib: fix for base_libdir == libdir
Don't try and move the python packages from base_libdir to libdir
if they are the same location.

(From OE-Core rev: bb6a34a6c70206e46011e6d946f47a9acba7371d)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:49 +00:00
Marek Vasut
d9f73ca6df libbsd: Upgrade to 0.8.0
Upgrade the library version to recently released 0.8.0 .

The COPYING file changed again, but the changes are just new names
added to the Copyright (C) YYYY John Doe <...> section, no changes
to the license itself.

(From OE-Core rev: 9950c08341a2950521f18a1bf4593e84dfab864b)

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: Saul Wold <sgw@linux.intel.com>
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>
2015-12-08 10:20:49 +00:00
Jussi Kukkonen
10d6dc414c libcroco: Upgrade 0.6.8 -> 0.6.9
(From OE-Core rev: 7352107cafd59ec051f2d6cedc0a61c5c38fa943)

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>
2015-12-08 10:20:49 +00:00
Jussi Kukkonen
79b823a1af shared-mime-info: Upgrade 1.4 -> 1.5
(From OE-Core rev: 5452ed4021b8175ca6b9001150ca3897f36c8902)

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>
2015-12-08 10:20:49 +00:00
Jussi Kukkonen
f6ec8a44d8 xdg-utils: Upgrade to 1.1.1
* Add new build dependencies
* Replace the xdg-terminal patch with a smaller one that enables
  building the script from source

(From OE-Core rev: fddc8b40961cf74dded444ef6f88bf6a8b81ad2e)

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>
2015-12-08 10:20:49 +00:00
Jussi Kukkonen
a3f63f944f gsettings-desktop-schemas: Upgrade 2.16.1 -> 3.18.1
(From OE-Core rev: 7468bf2484738b3f96009211b5d59e80fad4d782)

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>
2015-12-08 10:20:48 +00:00
Jussi Kukkonen
754f6b6d2b gnome-common: Upgrade 3.14.0 -> 3.18.0
(From OE-Core rev: f459f890cb7c0e11d92b80f0d5a65117428cc87f)

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>
2015-12-08 10:20:48 +00:00
Jussi Kukkonen
75aba183ec clutter-gtk-1.0: Upgrade 1.6.2 -> 1.6.6
(From OE-Core rev: f9f188a72af43050da02cfb33600141dc9931537)

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>
2015-12-08 10:20:48 +00:00
Jussi Kukkonen
c6a62123e8 clutter-gst-3.0: Upgrade 3.0.8 -> 3.0.14
(From OE-Core rev: ddaf471c865fc91ba683366a4bfc0f54cc88c8bf)

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>
2015-12-08 10:20:48 +00:00
Jussi Kukkonen
2da6cd5e36 clutter-1.0: Upgrade 1.24.2
(From OE-Core rev: 08d5ad7f8c8bd40dca3bf25a4c3073511e6e8975)

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>
2015-12-08 10:20:48 +00:00
Jussi Kukkonen
148c95331d cogl-1.0: Upgrade 1.20.0 -> 1.22.0
Remove patch that is no longer necessary.

(From OE-Core rev: 4781de242473bb53876380d784b00cbdb6700517)

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>
2015-12-08 10:20:48 +00:00
Marek Vasut
f54d4e4f48 ghostscript: Add NIOS2 support
Add objarch.h for NIOS2 architecture.

(From OE-Core rev: 29298e2c2be939764f1bbf0fb1c14530c4e8e563)

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: Walter Goossens <waltergoossens@home.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:48 +00:00
Andre McCurdy
21ba42bc3b harfbuzz: update 1.1.0 -> 1.1.2
http://cgit.freedesktop.org/harfbuzz/tree/NEWS

Overview of changes leading to 1.1.2
Wednesday, November 26, 2015
====================================

- Fix badly-broken fallback shaper that affected terminology.
  https://github.com/behdad/harfbuzz/issues/187
- Fix y_scaling in Graphite shaper.
- API changes:
  * An unset glyph_h_origin() function in font-funcs now (sensibly)
    implies horizontal origin at 0,0.  Ie, the nil callback returns
    true instead of false.  As such, implementations that have a
    glyph_h_origin() that simply returns true, can remove that function
    with HarfBuzz >= 1.1.2.  This results in a tiny speedup.

Overview of changes leading to 1.1.1
Wednesday, November 24, 2015
====================================

- Build fixes, specially for hb-coretext.

(From OE-Core rev: e979cc5816c806ac995365b9d96d34a1ea59342a)

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>
2015-12-08 10:20:48 +00:00
Maxin B. John
058b91e626 xvideo-tests: move to the latest release
Updating SRCREV to pick up the latest changes.

(From OE-Core rev: 76863cb641400086ecf4d6ad77a7035f112f409d)

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>
2015-12-08 10:20:47 +00:00
Ross Burton
70d459ceba scripts/oe-pkgdata-util: sort the packages in list-pkg-files
Sort the list of packages in list-pkg-files to make the output easier to read.

(From OE-Core rev: 6c31655c5abf6ad4308848c116444cc7b1e798bb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:47 +00:00
Matt Madison
80e39195c7 wic: insert local Python paths at front
This follows how bitbake performs path insertion, and fixes a
failure to start wic on Ubuntu 15.10 with the distribution's
version of python-ply installed.

(From OE-Core rev: 59b1eefb801dfb1d4afe9640e3c8a070d4e1867f)

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:47 +00:00
Fang Jia
9d788d7330 toolchain-scripts.bbclass: unset command_not_found_handle
On Ubuntu-system, When sourcing the env.sh from an exported sdk, and
running a bogus linux command (for example "asd"), a core dump of
python is usually generated.

Unset the command_not_found_handle to fix it.

(From OE-Core rev: 473ccbebb426df757adb8955eaa5e191d88180d1)

Signed-off-by: Fang Jia <fang.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:47 +00:00
Andre McCurdy
82ab99f7de waf.bbclass: remove unused parameter from get_waf_parallel_make()
(From OE-Core rev: f7062f54c2ad601d9838d13bfe7933be92a63214)

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>
2015-12-08 10:20:47 +00:00
Paul Eggleton
68d3dfe807 toolchain-shar-extract.sh: proper fix for additional env setup scripts
buildtools-tarball uses a custom env setup script, which isn't named the
same as the default; thus unfortunately OE-Core revision
a36469c97c9cb335de1e95dea5141038f337df95 broke installation of
buildtools-tarball. Revert that and implement a more robust mechanism.

(From OE-Core rev: 00e081b81ba8118959b724269ba9d18d42aba8a4)

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>
2015-12-08 10:20:47 +00:00
Richard Purdie
0c5d2398fc base: Improve handling of switching virtual/x providers
If you build virtual/kernel, then change PREFERRED_PROVIDER_virtual/kernel from say
"linux-yocto" to "linux-yocto-dev", you see errors from the sysroot about overlapping
files. The automatic uninstall logic doesn't trigger since the other recipes is
still technically parsed/buildable.

What we can do is look at the value of PREFERRED_PROVIDER_virtual/X and raise SkipRecipe
(skip parsing) if it provides this thing and its not selected. We skip cases no preferred
provider is set, or the value is in MULTI_PROVIDER_WHITELIST.We also inform the user
if they try to build something which conflicts with the configuration:

$ bitbake linux-yocto-tiny
ERROR: Nothing PROVIDES 'linux-yocto-tiny'
ERROR: linux-yocto-tiny was skipped: PREFERRED_PROVIDER_virtual/kernel set to linux-yocto, not linux-yocto-tiny

[YOCTO #4102]

(From OE-Core rev: 9a3b992b7339f7aa892f1dff7d159747630b045d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:47 +00:00
Alexander Kanavin
3745479596 bitbake: bitbake: rename REGEX, REGEX_URI, and GITTAGREGEX.
Rename REGEX to UPSTREAM_CHECK_REGEX, REGEX_URI to UPSTREAM_CHECK_URI, and
GITTAGREGEX to UPSTREAM_CHECK_GITTAGREGEX to better reflect their purpose
and to reflect a common namespace.

(Bitbake rev: f0a9e783f9969573fd74edfa241ef14f18ac684e)

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>
2015-12-08 10:20:31 +00:00
Ed Bartosh
dd282d475c bitbake: toaster: return back 'New project' button
The button was removed by mistake in merging modes patchset.

(Bitbake rev: f7b33a95b5d53973bc673373bdd2652f4d32f0c2)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:39:08 +00:00
Mihail Stanciu
2a8e970d42 bitbake: toaster: tests Update UI tests to work with 2.0 changes
Update tests that were referencing items removed in 2.0.

Update most xpath elements left to use IDs.

(Bitbake rev: c4dda67dd3773d02b760d96dd9c6f26bff93533d)

Signed-off-by: Mihail Stanciu <stanciux.mihail@intel.com>
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:39:08 +00:00
Mihail Stanciu
fe8a0a3697 bitbake: toaster: tests Automated build-mode backend tests
Add tests to check various backend scenarios that
require UI interaction.

Add necessary files for above tests (the sqlite file
and the default config json).

(Bitbake rev: 8dcad75ad1d9b8adddeca57e996b8d904b209df5)

Signed-off-by: Mihail Stanciu <stanciux.mihail@intel.com>
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:39:08 +00:00
Ed Bartosh
0497b570e5 bitbake: toaster: unset environment variables
Toaster script sets environment variables when it starts.
It makes sense to unset them when toaster stops as they can
cause other programs to behave incorrectly.

(Bitbake rev: 7a2e9745ff3ef6d6360f74b222248d4bd35e6a08)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:11 +00:00
Ed Bartosh
8b7a548e30 bitbake: toaster: get rid of complicated heuristics
Removed buildinfohelper code which was trying to guess layer version of
the recipe using build request information. The code caused creation of
duplicated recipes as it resulted in layer version from layer index
instead of returning build layer version. As a result of this Toaster
UI was not showing any information about recipes.

Default approach used to find layer version seems to work much better as
it finds proper layer version. Now toaster will use it as the only
way to find layer version.

(Bitbake rev: 101690bda7ad55dc0657483233c90c374713755b)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:11 +00:00
Ed Bartosh
556b8b6156 bitbake: toaster: remove SDKMACHINE from project variables
Removed SDKMACHINE from predefined set of variables
for the project as it causes bitbake build error:
   SDKMACHINE is set, but SDK_ARCH has not been changed as a result

This variable does not need to be predefined as it's not used by
toaster.

It's still possible to specify it in project configuration
if needed. SDK_ARCH variable should be set too to avoid above
mentioned build failure.

(Bitbake rev: a6ab2a38ab666376b4a5e796d3a88929e8cbfb22)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:11 +00:00
Ed Bartosh
4186f5b04e bitbake: toaster: stop using toaster-pre.conf
This file is not needed anymore as toaster UI doesn't
write variables to it. It sets them directly on bitbake
server.

(Bitbake rev: 624240460ec32af918dcea8c04a913e3b94e012b)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:10 +00:00
Ed Bartosh
361faa3e6c bitbake: toaster: remove writeConfFile API
This API is not used anymore as toaster doesn't write variables
to configuration files anymore. It sets variables through its
connection to bitbake server.

(Bitbake rev: 6dda2916b75d688874d208192d5c7cdb302eec35)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:10 +00:00
Ed Bartosh
fcbba5a89b bitbake: toaster: set varibales on bitbake server
Set project variables using connection to bitbake server
instead of writing them to toaster configuration files.

This is a way to avoid rewriting configuration files before
and after every build, triggered by toaster UI.

(Bitbake rev: 3f77c69b867735b5d27c6ab7c62e39ac8d5cb2b5)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:10 +00:00
Ed Bartosh
993bc7eacd bitbake: toaster: implement BitbakeController.getVariable
Added new API to get value of bitbake variable from bitbake server.
The API will be used to update INHERIT variable instead of writing
it to the toaster configuration files.

(Bitbake rev: effc371e3a4a2262e53e9e560c7c08cffad195da)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:10 +00:00
Michael Wood
53e981e583 bitbake: toaster: buildinfohelper Broaden the toaster created recipe data case
When build information is the 'original' source of the information we
need to return the recipe that was created rather than the copy of the
recipe that is taken for keeping build history. We do this already for
command line triggered builds, but we also have this case for custom
images. We can simply check if the built_recipe exists instead of
special casing this.

(Bitbake rev: 9a8653bf602b2111dee7ee6a459682a68a695b22)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:10 +00:00
Ed Bartosh
57e5f24e57 bitbake: toaster: do not create duplicate HelpText objects
buildinfohelper code expects only one HelpText object per
build/variable/description.
Current code creates more than one such an object, which causes
toastergui to crash with this exception:
 MultipleObjectsReturned: get() returned more than one HelpText -- it returned 2!

Used git_or_create API to ensure that only one HelpText object is
created.

(Bitbake rev: e9b46803eb6f1f4044919abf90c8aeb3536e73ed)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:10 +00:00
Ed Bartosh
4c1e5ec29a bitbake: toaster: remove usage of BUILD_MODE variable
As both modes can be used at the same time we can't have any
difference in UI between modes.

Removed all conditional statements that used BUILD_MODE.

(Bitbake rev: 4ce1559c2558bd0fd278ff02a1a93bec03c4156b)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:10 +00:00
Ed Bartosh
990289511b bitbake: toaster: do not terminate bb server
Toaster needs bb server to be running all the time due
to merged analysis and managed modes. Server gets restarted
before every build triggered by UI, but it shouldn't be
terminated as it will influence command line builds.

[YOCTO #8279]

(Bitbake rev: e69c87c7842e796ffcd7193ecde22c8f688498f5)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:09 +00:00
Ed Bartosh
58765a8719 bitbake: toaster: remove stopBBServer API
Removed stopBBServer API from build controller as toaster
doesn't stop bitbake server anymore. It's reused for both
types of builds: triggered by UI and started manually.

(Bitbake rev: 0cad802da171d51814f22cc9383f496a63cd0c75)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:09 +00:00
Ed Bartosh
95a3cf7549 bitbake: toaster: reimplemented startBBServer method
Rewritten LocalhostBEController.startBBServer to use
'toaster restart-bitbake' and read bitbake port number from
bitbake.lock.

Removed complicated logic of running oe-init-memres and looking for
bitbake port number in the logs.

(Bitbake rev: 4b065353c3454923a1ef88e9f0a8702e5626060e)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:09 +00:00
Ed Bartosh
76d53b5856 bitbake: toaster: remove _setupBE function
This function is not needed as build environment is always created
because of the new way to run Toaster. It can be only sourced after
oe-init-build-env is sourced.

(Bitbake rev: 27a59b4373a449f17e46ab93e0eba15cf75967ae)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:09 +00:00
Ed Bartosh
87b2f954b9 bitbake: toaster: implement 'toaster restart-bitbake'
This implementation allows to have functionality of restarting
bitbake in toaster script. It can be used by toaster script and
build controllers.

[YOCTO #8279]

(Bitbake rev: 24cd26b39014419d883b7cf45e4943c301d585cc)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:09 +00:00
Ed Bartosh
891484ada9 bitbake: toaster: implement start_bitbake function
Separated functionality of starting bitbake server and observer
processes.

This functionality will be used by build controllers to restart
bitbake processes.

(Bitbake rev: d8e9ce7ba3f5b89c51e769bd4a46c2026a110d40)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:09 +00:00
Ed Bartosh
bf25471341 bitbake: toaster: implement stop_bitbake function
Separated functionality of stopping bitbake server and observer
processes.

This functionality will be used by build controllers to restart
bitbake processes.

(Bitbake rev: dd40d70b707a3ff59edfa69923d4d9b671928a66)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:08 +00:00
Ed Bartosh
7c2b22556b bitbake: toaster: update brbe and project attributes
Updated attributes of buildinfohelper object as they can
be changed for every build. For example brbe is set by
runbuilds for every build triggered by Toaster UI.

(Bitbake rev: ea3bc8d01704dc64f6cb7b4f5fe66c312a575174)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:08 +00:00
Ed Bartosh
de812d086e bitbake: toaster: start 'manage.py runbuilds' in the script
Running runbuilds machinery in background allows Toaster to
start builds initiated by toaster UI.

Added runbuilds pid file to the list in webserverKillAll to
kill runbuilds the same way as runserver process.

(Bitbake rev: 91bf323e873c31d883b01ea993c005f45382e83f)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:08 +00:00
Ed Bartosh
28e8ccf437 bitbake: toaster: make runbuilds to loop
Made runbuilds to loop to avoid having a loop in shell code and
initialize heavy Django init machinery every second.

Ignored exceptions to prevent exiting a loop.

(Bitbake rev: e04da15556ca0936de652b8c085e4199e5551457)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:08 +00:00
Ed Bartosh
a3871a37de bitbake: toaster: use parent of the build dir
Assigned TOASTER_DIR to the parent of the build directory.
This should fix local controller crash as it assumes that
TOASTER_DIR is a root of local poky and tries to clone it.

(Bitbake rev: 124eb2bb15de18e4d2d6483c3549e1d887234736)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:08 +00:00
Ed Bartosh
2a96d35893 bitbake: toaster: check for toaster configuration later
Moved check for toasterconf.json after check of build environment.
We'll need some variables from build environment to find toasterconf.json
better way.

(Bitbake rev: a4f6809237dffb1abff78c6a8c82bcc4852aedfa)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:08 +00:00
Ed Bartosh
d87a5346cf bitbake: toaster: remove unused variable
Removed variable RUNNING as it's not used anymore
in the toaster script.

(Bitbake rev: 187c31a8789c37723b9288afd35f1785f1993895)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:07 +00:00
brian avery
dc6a489c65 bitbake: toaster: change toasterconf.json logic to use TEMPLATECONF, like oe-setup-builddir
This changes the way we pick a toasterconf.json file so that it
matches the way oe-setup-builddir does it. We now base it on TEMPLATECONF
found in the .templateconf file.

(Bitbake rev: 8476db82ea80edf2b70bc2082bcecee09037556d)

Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:07 +00:00
Ed Bartosh
5a42c2d050 bitbake: toaster: run bitbake the same way
Run bitbake in toaster script the same way as it's run
by localbuildcontroller.

(Bitbake rev: c5d5da095d5eace03f8a50910f5a60ab35acbb1a)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:07 +00:00
Ed Bartosh
cac91db01d bitbake: toaster: set DATABASE_URL in toaster script
Set environment variable DATABASE_URL in bitbake/bit/toaster
Variable value is obtained by running 'manage.py get-dburl'

(Bitbake rev: ac4800cc8b765b270f27ea9a5938f3f2a2e0ced4)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:07 +00:00
Ed Bartosh
a464bf23b4 bitbake: toaster: implement get-dburl command
Implemented management command to call getDATABASE_URL API.
It will be used to get database url from toaster shell script
by running 'manage.py get-dburl'

(Bitbake rev: fabe9c8f14fd7b8ab204a2b610c64ac5b62135ac)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:07 +00:00
Ed Bartosh
e4731514f8 bitbake: toaster: don't allow to run toaster as a script
Removed support of starting toaster as a script.

Sourcing a toaster script becomes the only way to start it.
It's consistent with the way oe build system is started by sourcing
oe-init-build-env. It also returns user back to shell, so user can
continue running builds without having to open new terminal window.

[YOCTO #8279]

(Bitbake rev: 7e8632c0527245c1474e487dd9a972948e794471)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:37:07 +00:00
Paul Eggleton
4de214f752 bitbake: lib/bb/utils: improve edit_bblayers_conf() handling of bblayers.conf formatting
Make the following improvements to edit_bblayers_conf():

* Support ~ in BBLAYERS entries
* Handle where BBLAYERS items are added over multiple lines with +=
  instead of one single long item

Also add some comments documenting the function arguments and return
values as well as a set of bitbake-selftest tests.

(This function is used by the bitbake-layers add, remove and
layerindex-fetch subcommands, as well as devtool when adding the
workspace layer).

(Bitbake rev: e9a0858023c7671e30cc8ebb08496304b7f26b31)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:01:21 +00:00
Paul Eggleton
0debb11883 bitbake: lib/bb/utils: fix error in edit_metadata() when deleting first line
If you tried to delete the variable on the first line passed to
edit_metadata() this failed because the logic for trimming extra blank
lines didn't expect the list to be empty at that point - fix that bad
assumption.

(Bitbake rev: 8bce6fefdc5c046b916588962a2b429c0f648133)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:01:21 +00:00
Alexander Kanavin
9d19dd9bd7 bitbake: wget.py: parse only <a> tags
For two reasons:
1) The important one: we hit the following bug when doing upstream version checks
on some webpages:
https://bugs.launchpad.net/beautifulsoup/+bug/1471755

2) Also, documentation for beautifulsoup states that memory usage and
speed is improved that way.

(Bitbake rev: 7546d4aeb3ba8fda9832081b84d93138dc5e58d6)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07 17:01:21 +00:00
Michael Wood
71ede7b689 bitbake: toaster: toastergui tests Add generic test for ToasterTables widget
For each of the ToasterTables defined test:
 - Data returned
 - Search
 - Order by
 - Limit
 - Paginate
 - Filter

These tests test that the functions on all tables work, it does not
validate the content of the data in the tables themselves, this needs
to be done in table specific tests.

(Bitbake rev: 649d563f95ffc57d0fe3dbf494e7dbffcc99a1b4)

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>
2015-12-07 17:01:20 +00:00
Michael Wood
34b22cf897 bitbake: toaster: tables Fix invalid field name on NewCustomImagesTable
Correct the field name in the NewCustomImagesTable as it is a Recipe
object it's self and not a container.

(Bitbake rev: ebd1c493d8b7fb9ee7b3e40c17165dc9c22ca795)

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>
2015-12-07 17:01:20 +00:00
Michael Wood
1c59846fc0 bitbake: toaster: tables Add default_orderby field where it was missing or unset
This value is used to set the default ordering of the model that is used
for ToasterTables, it is picked up client side to set the ordering
indicator.

[YOCTO #8695]

(Bitbake rev: f1c91bff810a579b169c46b7710e22f5553b484e)

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>
2015-12-07 17:01:20 +00:00
Michael Wood
d82c541147 bitbake: toaster: CustomImageRecipe add search_allowed_fields to this model
In order to search the model from the UI some fields must be nominated
as searchable.

(Bitbake rev: 2558729b4c248a2fa5a11d877bc42cb05a30602e)

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>
2015-12-07 17:01:20 +00:00
Michael Wood
bdf62414f2 bitbake: toaster: machines table Fix missing layers information needed for filter
The current layers information wasn't being passed to the template for
the Select/Add button for the Compatible machines filter.

(Bitbake rev: 559102984d3f62a7675899e058166bdf4d552c46)

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>
2015-12-07 17:01:20 +00:00
Michael Wood
b90a8dca99 bitbake: toaster: tablejs Make sure click handlers consume click event
Avoid the click event from propagating and causing strange side effects
in toaster tables.

[YOCTO #8527]
[YOCTO #8148]

(Bitbake rev: f23e54292a673b2fd3f17d317c21984c753727c7)

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>
2015-12-07 17:01:20 +00:00
Michael Wood
c075bcf545 bitbake: toaster: projectpage Make sure build targets are space separated
Make sure the build targets are space separated when building multiple
targets. Also fix error path now that YOCTO #7995 is resolved.

[YOCTO #8450]

(Bitbake rev: e9719eb2e8249f0d10b39bfdd4aef563368b5ffd)

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>
2015-12-07 17:01:20 +00:00
Ross Burton
698c74c373 libsdl: remove redundant configure_tweak patch
configure_tweak.patch was simply adding arguments to AC_DEFINE which are only
needed by autoheader.  We we now disable autoheader and use upstream's
config.h.in this patch isn't needed anymore.

(From OE-Core rev: 687e5ef86361a16d6c411386939d4ba96a5909ea)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:15 +00:00
Maxin B. John
35945fd3c5 iw: upgrade to version 4.3
Refreshed the following patches to work with this release:
 1) 0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch
 2) separate-objdir.patch

(From OE-Core rev: 11e6536bbed515a360870e3f0491c93dd8c9e098)

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>
2015-12-01 21:32:15 +00:00
Martin Jansa
15969ae3aa gstreamer1.0-plugins-good: fix PACKAGECONFIG for gudev and add one for v4l2 and libv4l2
* WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libcap, but it isn't a build dependency?
  WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libgudev, but it isn't a build dependency?
  WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on libudev, but it isn't a build dependency?
  WARN: gstreamer1.0-plugins-good: gstreamer1.0-plugins-good-video4linux2 rdepends on zlib, but it isn't a build dependency?

(From OE-Core rev: 43fffa763f87b80a2497a51d6bd827d2bf837a11)

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>
2015-12-01 21:32:15 +00:00
Martin Jansa
e601b3847a gstreamer1.0-plugins-bad: fix dependencies for uvch264 PACKAGECONFIG
* ERROR: gstreamer1.0-plugins-bad: gstreamer1.0-plugins-bad-uvch264 package isn't created when building with minimal dependencies?
* ERROR: gstreamer1.0-plugins-bad: gstreamer1.0-plugins-bad-uvch264-dev package isn't created when building with minimal dependencies?

* it's because it should depend on libgudev not udev:
  configure: *** for plug-ins: uvch264 ***
  checking linux/uvcvideo.h usability... yes
  checking linux/uvcvideo.h presence... yes
  checking for linux/uvcvideo.h... yes
  checking for GST_VIDEO... yes
  checking for G_UDEV... no
  checking for LIBUSB... yes

(From OE-Core rev: a1dd74e6ea7e6e73c9c85c07034587ce70751068)

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>
2015-12-01 21:32:15 +00:00
Jussi Kukkonen
ddf2501549 gudev: Add from meta-oe
libgudev was split from systemd and is used by recipes in oe-core.
udev already provides libgudev as well.

The recipe is from meta-oe (Andreas Müller).

Fixes [YOCTO #8686]

(From OE-Core rev: c6d37fc47f7ee637a069d3225e294d181e588a0e)

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>
2015-12-01 21:32:14 +00:00
Robert Yang
e406fa860f lsb: fix installed-vs-shipped for mips
Fixed:
lsb-4.1: lsb: Files/directories were installed but not shipped in any package:
  /lib32
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
lsb: 1 installed and not shipped files. [installed-vs-shipped]

(From OE-Core rev: 614398f106089f1aae58870286f50717ac03c662)

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>
2015-12-01 21:32:14 +00:00
Robert Yang
39ecdcefbd rpm: fix for N32 MIPS64
It is 'N32 MIPS64', not 'N32 MIPS32' as command file shows:
$ file image/usr/bin/getent
getent: ELF 32-bit MSB executable, MIPS, N32 MIPS64 [snip]

And "rpm -qp --filecolor" was wrong (it was 1, but should be 4), which
caused multilib installation error.

(From OE-Core rev: a598f6ee369c2a55b080ac7cfc058c1d30c7be2e)

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>
2015-12-01 21:32:14 +00:00
Peter Seebach
09b4da6763 glibc/0029-fix-getmnt-empty-lines.patch: fix getmntent()
When confronted with an empty line, getmntent() can underrun
a buffer, possibly doing very strange things if it finds
additional space/tab characters. Backport the upstream fix.

(From OE-Core rev: 983a19a65a31b54a6f505181012bd311c28a0ae1)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:14 +00:00
Ng, Mei Yeen
1781a9afc6 init-install-efi: fix script for eMMC installation
Running the install option from bootloader to install image to eMMC will fail
with error:
Formatting /dev/mmcblk01 to vfat...
mkfs.fat 3.0.28 (2015-05-16)
/dev/mmcblk01: No such file or directory

This issue impacts both grub and gummiboot install option to eMMC device.
The installation failure is due to the following:
[1] Unable to partition eMMC as the partition prefix 'p' is not appended
The condition checking failed with the additional /dev/ appended with
the target device name.
[2] The partition uuid for boot, root and swap partition is not captured
for eMMC

This fix updated the condition checking and changed the variables to
reference the boot, root and swap partitions for UUID.

[YOCTO #8710]
(From OE-Core rev: a7d081c3db776c8b0734942df6bf96f811f15bd3)

Signed-off-by: Ng, Mei Yeen <mei.yeen.ng@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:14 +00:00
Ng, Mei Yeen
f8087475de init-install-efi: fix script for gummiboot loader
After running gummiboot loader install option, the installed target
storage device boot parameter for root=PARTUUID is empty causing boot failure.
This issue is only observed with gummiboot and not with GRUB loader.

This fix assign the rootuuid of the rootfs partition for gummiboot loader.

[YOCTO #8709]
(From OE-Core rev: fd5fa06fe45ca1fdf20df4198ae323967244af5b)

Signed-off-by: Ng, Mei Yeen <mei.yeen.ng@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:14 +00:00
Bhuvanchandra DV
2a5503669a linux-firmware: rtl8192cx: Add latest available firmware
Add latest available firmware binaries for RTL8192CX chipsets.
These new firmwares have been released in 2012, have been used
by the mainline kernel as preferred firmware since 3.13 and
even backported to stable branches.

(From OE-Core rev: 2dc67b53d1b7c056bbbff2f90ad16ed214b57609)

Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:14 +00:00
Yi Zhao
b60af3b209 libsdl2: add missing dependency on libxkbcommon for PACKAGECONFIG[wayland]
libsdl2 depends on libxkbcommon when enable wayland support.

Can verify it with the following steps:
bitbake libxkbcommon -c clean
bitbake libsdl2 -c cleansstate && bitbake libsdl2

config.log:
[snip]
configure:19347: checking for Wayland support
configure:19357: result: no
[snip]

(From OE-Core rev: ec0354bacfed387f91e610ebfdb77e86135c1d28)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:14 +00:00
Ross Burton
ed318749f9 libxml2: upgrade to 2.9.3
- Drop all the upstreamed patches
- Rework the ansidecl removal so it's contained in a single patch

(From OE-Core rev: 88e68f25e1756988692108d4c15dfa8efc94e5e5)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:14 +00:00
Ross Burton
ecb1c71761 libxml2: merge pointless bb/inc split
(From OE-Core rev: f24baa73863258dbdac69cc5e235d3ce8d060cd6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:13 +00:00
Roy Li
19a626d6b3 openssh: redesign ssh-agent.sh regression test case
ssh-agent regression test case should be run by non-root user,
but non-root user will has issue to run other testcase, so
rewrite it on run-ptest

(From OE-Core rev: 5ca6bb9b73bf09c1847ec3e5a7477829bd3d77b5)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:13 +00:00
Jussi Kukkonen
81b59e759e gcr: Require x11 DISTRO_FEATURE
This enables a world build without x11. GTK3DISTROFEATURES is not
enough because gtk+-x11.pc is still required.

Fixes [YOCTO #8611].

(From OE-Core rev: dbdcd87144cc1cd6c5d50c800c7f266aaf25ca17)

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>
2015-12-01 21:32:13 +00:00
Juro Bystricky
934e486af6 psplash: update to latest git version
Latest git version contains various changes, including
fix for big endian RGB888 rendering. It also makes the patch:
"0001-psplash-fb-Convert-psplash_fb_plot_pixel-to-a-static.patch"
unnecessary, as this patch has been upstreamed.

[YOCTO#7236]

(From OE-Core rev: f9450bf01a792e29bf83c820aae431483caff508)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:13 +00:00
Saul Wold
ccb2a57ad2 sysvinit-inittab: Add wrapper script to verify console exists
Add a wrapper script around getty to check if a given console exists, this
allows for multiple Console ttys to be specified for various boards without
having additional BSP types just for different console types.

[YOCTO #8689]

(From OE-Core rev: b93369a7943949f51057e0a704f5524ab7682fe6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:13 +00:00
Bruce Ashfield
b7f610d3e9 linux-yocto/4.1: Bluetooth:Fix the connection fail of 6lowpan over BT LE
Backporting the 4.4 fix for 6lowpan:

   Author: Wu Zheng <wu.zheng@intel.com>
   Date:   Fri Nov 20 13:25:57 2015 +0800

       Bluetooth:Fix the connection fail of 6lowpan over BT LE

       When two devices with 6lowpan over BT LE connect each other,
       6lowpan over BT LE channel is set up between the two devices.
       However, the status of channel is not right.
       It always is set to CONNECTED and the channel can't be created.

       The status of channel need to be removed when connection is created.

       (The patch's reference from
       b0c09f94ff1660a1873549b788c998284ea5fb8a)

       Signed-off-by: Wu Zheng <wu.zheng@intel.com>

(From OE-Core rev: 2b6a6cad90bfef3afd5a721ec985f71336914fa7)

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>
2015-12-01 21:32:13 +00:00
Bruce Ashfield
d08e761b44 linux-yocto-rt/4.1: update to -rt15
Updating the 4.1-rt kernel to the latest and greatest upstream version.

(From OE-Core rev: 22912a99163402581e8e92dcacbf46f9049f6ff9)

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>
2015-12-01 21:32:13 +00:00
Bruce Ashfield
6aa464cb1f linux-yocto/4.1: fsl-mpc8315e-rdb: Enable EEPROM
Updating the 4.1 SRCREVs for:

  Update the mpc8315erdb.dts to contain the eeprom device
  information. Coupled with adding "MISC_DEVICES" into the
  kernel configuration, we have a working eeprom.

  Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
  Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

(From OE-Core rev: 47a222ad6f3ee8b14b9eea28b63397077978f42f)

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>
2015-12-01 21:32:13 +00:00
Bruce Ashfield
bd29006d23 linux-yocto/4.1: update to v4.1.13
Updating the 4.1 kernel to the latest stable (and resolving minor
conflicts with -rt).

(From OE-Core rev: 12be8565b16f0fb571f859d3ef256767feaafc7f)

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>
2015-12-01 21:32:12 +00:00
Bogdan-Alexandru Voiculescu
55614076fb uClibc: enable utmp for shadow compatibility
with the enabling of utmpx in busybox and uClibc it was noted that shadow
support for utmpx also needs utmp explicitly enabled in uclibc. this is
a workaround that might be removed once shadow properly supports
--enable-utmpx to check for utmpx configuration instead of utmp like
it does now

[YOCTO #8243]

(From OE-Core rev: 969158d63ba2c8e2e11af41c2a6d4f1aa5b0099f)

Signed-off-by: Bogdan-Alexandru Voiculescu <bogdanx.a.voiculescu@intel.com>
Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:12 +00:00
Li Xin
533fc01da4 glibc: Backported a patch to fix glibc's bug(18589)
Also Fix LSB NG cases:
 * /tset/ANSI.os/locale/setlocale/T.setlocale 1 2 4 5 15
 * /tset/ANSI.os/string/strcoll_X/T.strcoll_X 1
 * /tset/LI18NUX2K.L1/base/wcscoll/T.wcscoll 1
 * /tset/LI18NUX2K.L1/utils/localedef/T.localedef 7
 * /tset/LI18NUX2K.L1/utils/sort/T.sort 1 3 17 19 33 35
 * /tset/LI18NUX2K.L1/utils/comm/T.comm 1 2
 * /tset/LI18NUX2K.L1/utils/ls-fh/T.ls-fh 2

This patch is backported from
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=6c84109cfa26f35c3dfed3acb97d347361bd5849

(From OE-Core rev: e88fe8f4c0ea70fb271d3a11e1a3bfcac4c92626)

Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:12 +00:00
Maxin B. John
598e372ab2 ncurses: update SRC_URI
ncurses source tarball from "current" directory in
ftp://invisible-island.net gets updated/deleted during the release cycle.

We can't depend on that FTP server to fetch source as the maintainer
doesn't guarantee the presence of all patched versions in the server.
ftp://invisible-island.net/ncurses/5.9/README

Fetch sources from debian git server as it is comparatively reliable.

[YOCTO #8713]

(From OE-Core rev: 4d3f84f84147145cfd786362d9cd754bbb93873e)

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>
2015-12-01 21:32:12 +00:00
Ross Burton
51b64eec92 openssl: enable parallel make
openssl 1.0.2d fixes the parallel make problems (commit 8e6bb99), so enable
parallel make again.

[ YOCTO #7347 ]

(From OE-Core rev: ea89857f17a374b6095371ebe2422d2e83735cee)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:12 +00:00
Andre McCurdy
88e45cdd4d busybox: enable resize applet
The /etc/profile script contains a call to resize, which improves
the usability of shells run on the serial console.

  http://git.openembedded.org/openembedded-core/commit/?id=cc6360f4c4d97e0000f9d3545f381224ee99ce7d

Unfortunately the resize applet is not currently enabled in busybox
defconfig, so resize is never called. Fix that.

(From OE-Core rev: 2136fecd662a6eeea02322628021de7982b5d35e)

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>
2015-12-01 21:32:12 +00:00
Andre McCurdy
87de4a1cc3 busybox: disable support for mounting NFS file systems on Linux < 2.6.23
The busybox CONFIG_FEATURE_MOUNT_NFS config option is described as:

  Enable mounting of NFS file systems on Linux kernels prior
  to version 2.6.23. Note that in this case mounting of NFS
  over IPv6 will not be possible.

Since OE-core sets OLDEST_KERNEL = "2.6.32", CONFIG_FEATURE_MOUNT_NFS
is not required in the default busybox defconfig.

(From OE-Core rev: b47ff1605940694150e497d8f18d6201e1627415)

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>
2015-12-01 21:32:12 +00:00
Andre McCurdy
73cc839746 busybox: update 1.23.2 -> 1.24.1
The busybox defconfig has also been refreshed, with all new apps
and features disabled by default. Update _git recipe version too.

(From OE-Core rev: 4d5f51dd3b2733f15cb2eee40e622ec43f46d91c)

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>
2015-12-01 21:32:12 +00:00
Andre McCurdy
f8ac40878c busybox: re-order defconfig to align with busybox 1.24.1
No functional changes, simply re-order lines in defconfig so that
the existing options don't move elsewhere in the file when run
though busybox 1.24.1 'make oldconfig'.

(From OE-Core rev: 28f197915d816ea249b036f8a4dfe11d477f94e7)

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>
2015-12-01 21:32:12 +00:00
Andre McCurdy
3648a37b2d busybox.inc: remove '-e MAKEFLAGS=' from EXTRA_OEMAKE
Busybox Kbuild likes to control its own MAKEFLAGS (it adds -rR, etc),
so avoid over-riding MAKEFLAGS. Relying on 'make -e' is no longer
required so remove that too.

(From OE-Core rev: 1d841e103b229bf70a1c24c1cc22b7bdc8c9bf64)

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>
2015-12-01 21:32:11 +00:00
Andre McCurdy
bf28ea907f busybox.inc: set CC=${CC} via make command line
Busybox currently relies on 'make -e' to over-ride CC and the make
command line to over-ride LD. Set CC via the make command line to be
consistent with LD and to allow '-e' to be dropped from EXTRA_OEMAKE.

(From OE-Core rev: b7c265e1edd5c82126c1f3915ba5ca9efef57c00)

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>
2015-12-01 21:32:11 +00:00
Andre McCurdy
f21dce1044 busybox.inc: fix CONFIG_EXTRA_CFLAGS configmangle
With current busybox Kbuild, setting .config to:

  CONFIG_EXTRA_CFLAGS="foo" "bar"

and then running 'make oldconfig' results in .config containing:

  CONFIG_EXTRA_CFLAGS="foo"

ie the CONFIG_EXTRA_CFLAGS configmangle in the busybox.inc doesn't
currently work as intended. Remove the extra \" \" to ensure that
${HOST_CC_ARCH} gets added to CONFIG_EXTRA_CFLAGS.

(From OE-Core rev: 5f822373fadff2415cf1602b9d58fae0dbd33730)

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>
2015-12-01 21:32:11 +00:00
Andre McCurdy
616766953c busybox.inc: don't set .config CROSS_COMPILER_PREFIX
Setting CROSS_COMPILER_PREFIX via .config is redundant (setting
CROSS_COMPILE via the make command line will always over-ride it).

(From OE-Core rev: db2daff77a9d533dc03ab3aaeffa87e32f834240)

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>
2015-12-01 21:32:11 +00:00
Andre McCurdy
e1ecccd0d4 busybox: move EXTRA_OEMAKE etc into busybox.inc
EXTRA_OEMAKE options and do_install_ptest() are common to both
busybox recipes, so move into busybox.inc.

(From OE-Core rev: aeeb80be6db8df0548c97b4a40c1561cc724debb)

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>
2015-12-01 21:32:11 +00:00
Andre McCurdy
0e633006ff busybox.inc: don't export EXTRA_OEMAKE
EXTRA_OEMAKE is private to OE and shouldn't be exported to
the busybox build.

(From OE-Core rev: 61e1617f9f024ead0b77004c94f2de45c88a4aa8)

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>
2015-12-01 21:32:11 +00:00
Andre McCurdy
3735776986 busybox_git: Enable getopt applet
Keep git recipe in sync with 1.23.2:

  http://git.openembedded.org/openembedded-core/commit/?id=10c2c484d5916ad476ad7717c3629f6684f01e6d

(From OE-Core rev: 33868c680587036d1aa3b56e66599a5b972626c4)

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>
2015-12-01 21:32:11 +00:00
Andre McCurdy
b1774f422a harfbuzz: update 1.0.6 -> 1.1.0
http://cgit.freedesktop.org/harfbuzz/tree/NEWS

Overview of changes leading to 1.1.0
Wednesday, November 18, 2015
====================================

- Implement 'stch' stretch feature for Syriac Abbreviation Mark.
  https://github.com/behdad/harfbuzz/issues/141
- Disable use of decompose_compatibility() callback.
- Implement "shaping" of various Unicode space characters, even
  if the font does not support them.
  https://github.com/behdad/harfbuzz/issues/153
- If font does not support U+2011 NO-BREAK HYPHEN, fallback to
  U+2010 HYPHEN.
- Changes resulting from libFuzzer continuous fuzzing:
  * Reject font tables that need more than 8 edits,
  * Bound buffer growth during shaping to 32x,
  * Fix assertions and other issues at OOM / buffer max-growth.
- Misc fixes and optimizations.
- API changes:
  * All fonts created with hb_font_create() now inherit from
    (ie. have parent) hb_font_get_empty().

(From OE-Core rev: ed76a9e36edc054cbd87b6d1cab0202526959868)

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>
2015-12-01 21:32:11 +00:00
Andre McCurdy
31f803a4d2 sqlite3: update 3.9.0 -> 3.9.2
(From OE-Core rev: dca2138b4f2adbee452a48c2c6561d8ba295c842)

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>
2015-12-01 21:32:11 +00:00
Petter Mabäcker
7e3474c1cc readline: apply missing upstream patches
Some readline-6.3 upstream patches was missing. Also ensure that the
upstream patches are applied in the same way as in readline-5.2.

Remove 'readline-dispatch-multikey.patch' and
'readline-cve-2014-2524.patch' since they are already included in
upstream patches 'readline63-002' and 'readline63-003'.

[YOCTO #8451]

(From OE-Core rev: 7b1fde3f65b674f5973800731c0c284f7d415248)

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:10 +00:00
Petter Mabäcker
99b9d52ce4 readline: prepare for readline6.3 upstream patches
Upstream patches are always preferred to be applied first (before
integration patches). In order to apply readline-6.3 specific upstream
patches in a preferred order we need to apply the integration-patches
at the end in the 6.3 specific recipe (this is already the case
for readline-5.2).

Also take the oppertunity to move 'norpath.patch' to readline-6.3 dir
since this patch is not shared between the 5.2 and 6.3 recipe.

[YOCTO #8451]

(From OE-Core rev: d454d1c06247b658c6b7d12de610eb6ac72cd7d4)

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:10 +00:00
Andrew Shadura
e0b6d0c1d6 dbus: merge .bb and .inc
The split is no longer necessary, and only makes it more complicated to
do changes in external layers.

(From OE-Core rev: aea82066eb3ba67c1d3a170112ff3bb324b43dfb)

Signed-off-by: Andrew Shadura <andrew.shadura@collabora.co.uk>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:10 +00:00
Jussi Kukkonen
d99958a909 pulseaudio: Fix HDMI profile selection
On systems with two cards, the correct output profile does not get
selected automatically even in the simple case where there is one
available profile. This scenario is typical at least with HDMI audio
(which is on a separate card).

Fixes [YOCTO #8448]

(From OE-Core rev: 4bd76b8b292a81ce12d316557ffc9c6a79a7b5c1)

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>
2015-12-01 21:32:10 +00:00
Ming Liu
2ba954fcb2 initscripts: hide the error in case system is not writeable
To avoid reporting errors for /etc/timestamp is not writeable in a
readonly system.

Reported-by: Niklas Soderlund <niklas.soderlund@external.atlascopco.com>
(From OE-Core rev: 463bef8b055f8305b7aac5045fefe4276b1432ad)

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>
2015-12-01 21:32:10 +00:00
Paul Eggleton
4ed84ffe0d nativesdk-buildtools-perl-dummy: fix rebuilding when SDKMACHINE changes
This recipe produces an empty dummy package (in order to satisfy
dependencies on perl so we don't have perl within buildtools-tarball).
Because we were inheriting nativesdk here the recipe was being rebuilt,
but having forced PACKAGE_ARCH to a particular value the packages for
each architecture were stepping on eachother. Since the packages are
empty they can in fact be allarch (even though they won't actually go
into the "all" package feed). It turns out that nheriting nativesdk
wasn't actually necessary either, so drop that.

Fixes [YOCTO #8509].

(From OE-Core rev: 9b1831cf4a2940dca1d23f14dff460ff5a50a520)

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>
2015-12-01 21:32:10 +00:00
Otavio Salvador
b8fdd0975a xf86-video-vmware: Add vmwgfx PACKAGECONFIG option
(From OE-Core rev: 68c41410ababd69f36ab92f421c0524c264a59b8)

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>
2015-12-01 21:32:10 +00:00
Ross Burton
dfd5c4d47d pkgconfig: merge .bb and .inc
The .inc file included version information and wasn't used anywhere as the same
.bb handles all variations, so merge them to reduce complexity.

(From OE-Core rev: 5c877cd5d211220b145bc88d962673a0e8a7c0c4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:10 +00:00
Maxin B. John
61c68876d5 pkgconfig: upgrade to version 0.29
0.28 -> 0.29

(From OE-Core rev: 5e93df29eb13a89bef72a8a163d6d0e63a0c3c98)

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>
2015-12-01 21:32:10 +00:00
Maxin B. John
744e89f6eb ofono: upgrade to version 1.17
Removed the patch 0001-backtrace-Disable-for-non-glibc-C-libraries.patch,
as it is included in the new sources.

(From OE-Core rev: 4ffa6d6950f23afa549116ff2bfb30e687888914)

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>
2015-12-01 21:32:09 +00:00
Andre McCurdy
996f8437ed libxml2: remove legacy LDFLAGS += "-ldl" workaround
libxml2 is able to find libdl.so on its own.

(From OE-Core rev: 148a2d80ea4b095a77e5d4edc1ca964708c3f4d1)

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>
2015-12-01 21:32:09 +00:00
Robert Yang
dedabc1f36 apr: fix LTFLAGS to make it work with ccache
When ccache is enabled, libtool requires --tag=CC when use ccache,
otherwise when building apr-util with ccache enabled:

| libtool: compile: unable to infer tagged configuration
| libtool: error: specify a tag with '--tag'
| libtool: compile: unable to infer tagged configuration
| make[1]: *** [buckets/apr_buckets.lo] Error 1

(From OE-Core rev: 52c314963e0ab90e6c1ced7bf66b06d4c304358a)

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>
2015-12-01 21:32:09 +00:00
Roy Li
9470956e68 iproute2: install bridge tool by default
bridge is a tool used frequently, so install it

(From OE-Core rev: b1f67c7ea87bb9bd0fb642b33e66ea5595789afc)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:09 +00:00
Nathan Lynch
1b8f6a247e lttng-tools: add libgcc to RDEPENDS
The lttng-sessiond program uses pthread_cancel, whose implementation
in glibc requires libgcc_s.so.1 to be present.

(From OE-Core rev: fff5fe9f356098457c4fd56cb95c3e8afde2defb)

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:09 +00:00
Otavio Salvador
22dd6e75f8 lttng-tools: Upgrade to 2.7 release
(From OE-Core rev: dddf51204238a094f633149663a7ed843dc8f55c)

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>
2015-12-01 21:32:09 +00:00
Otavio Salvador
ef73f219ad lttng-tools: Drop unused patch
The runtest.patch is unused, so there is no reason to keep it on the
tree.

(From OE-Core rev: c1fb471dc83206f3940108319fca760b39cbbac7)

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>
2015-12-01 21:32:09 +00:00
Otavio Salvador
c375976149 lttng-ust: Upgrade to 2.7 release
(From OE-Core rev: d63f9a33c26dc1536ea4345c76eb49bd1b00f7a7)

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>
2015-12-01 21:32:09 +00:00
Otavio Salvador
f5c1b570eb lttng-modules: Upgrade to 2.7 release
(From OE-Core rev: 72174e357d79c016b48eb4b4d0bb455600e9e34e)

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>
2015-12-01 21:32:09 +00:00
Maxin B. John
8d708a5177 libunistring: upgrade to version 0.9.6
0.9.5 -> 0.9.6

(From OE-Core rev: f002fbaf69caf001b3345952e6da897f55c27a36)

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>
2015-12-01 21:32:08 +00:00
Maxin B. John
f840e59b76 libtasn1: upgrade to 4.7
4.5 -> 4.7

(From OE-Core rev: bbd0c4d6ac2614486042225312149d32f653955b)

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>
2015-12-01 21:32:08 +00:00
Fan Xin
012ca02e17 wpa-supplicant: upgrade to 2.5
wpa-supplicant: upgrade to 2.5

1. upgrade to 2.5
2. remove eight patches since they have been applied in 2.5
3. update SRC_URI, HOMEPAGE and BUGTRACKER to use w1.fi instead

(From OE-Core rev: 80af821d1240a1fc2b32379b75801571db562657)

Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:08 +00:00
Jussi Kukkonen
872e153410 mesa: Make gl libraries RRECOMMEND mesa-megadriver
This makes e.g. core-image-weston actually work out-of-the-box
on hardware that uses megadriver drivers.

(From OE-Core rev: 12c3f7b5501c0035f72c115fa2eac7aaad927057)

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>
2015-12-01 21:32:08 +00:00
Andre McCurdy
a62fa2327f directfb.inc: force bfd linker for armv7a
Workaround for linker errors seen with armv7a + gold:

 | ../arm-rdk-linux-gnueabi-libtool  --tag=CC   --mode=link arm-rdk-linux-gnueabi-gcc  -march=armv7-a -mfloat-abi=hard -mtune=cortex-a15 --sysroot=.../build/tmp/sysroots/eos -I.../build/tmp/sysroots/eos/usr/include/freetype2 -I.../build/tmp/sysroots/eos/usr/include/libpng16 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-strict-aliasing -Werror-implicit-function-declaration -O3 -g2 -ffast-math -pipe -O2 -pipe -g -feliminate-unused-debug-types -D_GNU_SOURCE  -std=gnu99 -Werror-implicit-function-declaration  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o directfb-csource directfb-csource.o -lpng16 -ldl -lrt -lpthread
 | arm-rdk-linux-gnueabi-libtool: link: arm-rdk-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mtune=cortex-a15 --sysroot=.../build/tmp/sysroots/eos -I.../build/tmp/sysroots/eos/usr/include/freetype2 -I.../build/tmp/sysroots/eos/usr/include/libpng16 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-strict-aliasing -Werror-implicit-function-declaration -O3 -g2 -ffast-math -pipe -O2 -pipe -g -feliminate-unused-debug-types -D_GNU_SOURCE -std=gnu99 -Werror-implicit-function-declaration -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o directfb-csource directfb-csource.o  .../build/tmp/sysroots/eos/usr/lib/libpng16.so -lz -lm -ldl -lrt -lpthread
 | .../build/tmp/sysroots/x86_64-linux/usr/bin/arm-rdk-linux-gnueabi/../../libexec/arm-rdk-linux-gnueabi/gcc/arm-rdk-linux-gnueabi/5.2.0/ld: error: directfb-csource.o: requires unsupported dynamic reloc R_ARM_MOVW_ABS_NC; recompile with -fPIC
 | collect2: error: ld returned 1 exit status

(From OE-Core rev: c075d6e514b0a4511007844baf96ad44d7513399)

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>
2015-12-01 21:32:08 +00:00
Maxin B. John
9b075cafa3 libpng12: update to 1.2.54
1.2.53 -> 1.2.54

No updates in License.The license checksums changed
because of update in Copyright date and update of png.h

(From OE-Core rev: 0ed98246d17504e509f189451cebcfeda305ed31)

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>
2015-12-01 21:32:08 +00:00
Maxin B. John
6d1eb34d6a libpng: update to 1.6.19
1.6.17 -> 1.6.19

No changes in License.The license checksums changed because of update
in Copyright dates and other restructuring in png.h

(From OE-Core rev: abee587c0b165ff42e9754839adedda0d5240a73)

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>
2015-12-01 21:32:08 +00:00
Maxin B. John
92a881fb3d orc: update to 0.4.24
0.4.23 -> 0.4.24

(From OE-Core rev: 66e0f5d670837cf823da8ead98148134c40c4ae8)

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>
2015-12-01 21:32:07 +00:00
Maxin B. John
2f479b12fa libpcap: update to 1.7.4
Update libpcap from version 1.6.2 to 1.7.4

LICENSE checksum has changed because of the removal of additional
spaces in the file.

(From OE-Core rev: 0256743e7ad6e430aa2380ce51c84b3ce5928a1f)

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>
2015-12-01 21:32:07 +00:00
Maxin B. John
bd4058f851 apr-util: add missing RDEPENDS for ptest
testxlate test case fails due to dependency on some character-sets.
Install them.

[YOCTO #8171]

(From OE-Core rev: 814b7589ea857806db7e3d2a09cf5f52df5afd76)

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>
2015-12-01 21:32:07 +00:00
Maxin B. John
14086424d4 iproute2: update to 4.3.0
4.1.1 -> 4.3.0

(From OE-Core rev: 9d48756fc3961920ede177a0d94b05071e6a0e0f)

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>
2015-12-01 21:32:07 +00:00
Khem Raj
e677c25729 ruby-native: Depend on openssl-native
This dependency is floating otherwise, It races against openssl-native
and when openssl config does not match with openssl on build host the
build fails occasionally

x86_64-linux/usr/include/openssl/ripemd.h:70:4: error: #error RIPEMD is
disabled.
 #  error RIPEMD is disabled.

Change-Id: I5ff6d8f058ff99c64ad4dc7c0377724071003ae6
(From OE-Core rev: d0c8d98077622a700d92384f676770cb4d6d4f46)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:07 +00:00
Robert Yang
9e3781271d db: fix race issue for libdb-6.0.la
Fixed:
libtool: link: `os_map.lo' is not a valid libtool object
Makefile:867: recipe for target 'libdb-6.0.la' failed

(From OE-Core rev: 5e0f27bd0d00dd9aa597d98d0a7d5b4f5d726925)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:07 +00:00
Ross Burton
c19036abc0 pango: use ptest-gnome
Instead of hand-coding the ptest integration, use the ptest-gnome class.

(From OE-Core rev: 70674d4ee2a24971d1bab048906fa8d0d2ba2e75)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:07 +00:00
Martin Jansa
43b29d9d07 gst-plugins-bad: improve FILES variables
(From OE-Core rev: 6343321af88543467388f0f9c25707f02651f078)

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>
2015-12-01 21:32:07 +00:00
Martin Jansa
9fc877f3c9 gstreamer1.0-plugins-base: add PACKAGECONFIG for libvisual
(From OE-Core rev: 9ff66393d7b9b1bb048ae4d476384d37c239a33c)

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>
2015-12-01 21:32:07 +00:00
Alejandro Hernandez
7a2bb0da89 python3: fix building nativesdk-python3
When the class nativesdk.bbclass is inherited, it redefines TARGET_CC_ARCH,
in the case of python3, this enables debug, causing an error while linking,
since we dont enable debug during configure theres no declaration of some
functions, this patch makes sure we keep debug disabled, fixing the linking errors.

[YOCTO #8467]

(From OE-Core rev: d4723c609f700180ee808ac3fbbe2225043a8353)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:06 +00:00
Alejandro Hernandez
2268a702f1 python3: Upgrade from 3.4.3 to 3.5
python3-native_3.4.3.bb -> python3-native_3.5.0.bb:
- changed version
- changed cheksum
- no license change, just dates

python3_3.4.3.bb -> python3_3.5.0.bb:
- changed version
- changed cheksum
- no license change, just dates

New:
- use_packed_importlib.patch: Fixes importlib on cross-compile environments

Rebased:
- Manifest
- 000-cross-compile.patch
- 020-dont-compile-python-files.patch
- 04-default-is-optimized.patch
- python-3.3-multilib.patch
- distutils3-base.bbclass
- distutils3-native-base.bbclass
- python3native.bbclass

Upstream:
- makerace.patch

Misc:
- pip2 is handled as default on major distros,
modified python3-pip to leave /usr/bin/pip available for pip2
- Fixed importing pip3 from python3 interpreter

(From OE-Core rev: 701ec1977ced1bb08461e6de98b4f63d21cba8a6)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:06 +00:00
Ricardo Ribalda Delgado
ed8d1bef24 python-git: Add missing dependency
Python-git depends on getpass, which is part of python-unixadmin.

If it is missing:

root@qt5022:~# python
Python 2.7.9 (default, Nov 12 2015, 17:41:32)
[GCC 5.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import git
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/git/__init__.py", line 35, in <module>
    from git.config import GitConfigParser
  File "/usr/lib/python2.7/site-packages/git/config.py", line 21, in <module>
    from git.util import LockFile
  File "/usr/lib/python2.7/site-packages/git/util.py", line 14, in <module>
    import getpass
ImportError: No module named getpass
>>>

Reported-by: Dimitrios Katsaros <patcherwork@gmail.com>
(From OE-Core rev: 91165c1b68e49e5d5392068df3412ebb7b0e969b)

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:06 +00:00
Martin Jansa
dee2a8c82b guile, mailx, gcc, opensp, gstreamer1.0-libav, libunwind: disable thumb where it fails for qemuarm
(From OE-Core rev: 981626d8cee345d27b7c9d96e941fd6622f47792)

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>
2015-12-01 21:32:06 +00:00
Martin Jansa
c0b822f29e icu: force arm mode
* otherwise it triggers following ICE:
ERROR: Function failed: do_compile (log file is located at /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/temp/log.do_compile.21570)
ERROR: Logfile of failure stored in: /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/temp/log.do_compile.21570
Log data follows:
| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common']
| DEBUG: Executing shell function do_compile
| NOTE: make
| Note: rebuild with "make VERBOSE=1 " to show all compiler parameters.
| make[0]: Making `all' in `stubdata'
| make[1]: Entering directory '/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/build/stubdata'
| make[1]: Nothing to be done for 'all'.
| make[1]: Leaving directory '/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/build/stubdata'
| make[0]: Making `all' in `common'
| make[1]: Entering directory '/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/build/common'
|    arm-oe-linux-gnueabi-gcc    ...  /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common/ubidiwrt.c
| /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common/ubidiwrt.c: In function 'ubidi_writeReordered_53':
| /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common/ubidiwrt.c:643:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275
|  }
|  ^
| Please submit a full bug report,
| with preprocessed source if appropriate.
| See <http://gcc.gnu.org/bugs.html> for instructions.
| *** Failed compilation command follows: ----------------------------------------------------------
| arm-oe-linux-gnueabi-gcc -march=armv4t -mthumb -mthumb-interwork -mtune=arm920t --sysroot=/OE/build/shr-core/tmp-eglibc/sysroots/om-gta02 -D_REENTRANT -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1 -I/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common -DDEFAULT_ICU_PLUGINS="/usr/lib/icu"  -DU_ATTRIBUTE_DEPRECATED= -DU_COMMON_IMPLEMENTATION -O2 -pipe -g -feliminate-unused-debug-types -std=c99 -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -c -DPIC -fPIC -o ubidiwrt.o /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common/ubidiwrt.c
| --- ( rebuild with "make VERBOSE=1 all" to show all parameters ) --------
| /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/config/mh-linux:44: recipe for target 'ubidiwrt.o' failed
| make[1]: *** [ubidiwrt.o] Error 1
| make[1]: Leaving directory '/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/build/common'
| Makefile:141: recipe for target 'all-recursive' failed
| make: *** [all-recursive] Error 2
| ERROR: oe_runmake failed
| WARNING: /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/temp/run.do_compile.21570:1 exit 1 from
|   exit 1
| ERROR: Function failed: do_compile (log file is located at /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/temp/log.do_compile.21570)
NOTE: recipe icu-53.1-r0: task do_compile: Failed
ERROR: Task 6803 (/OE/build/shr-core/openembedded-core/meta/recipes-support/icu/icu_53.1.bb, do_compile) failed with exit code '1'

(From OE-Core rev: 85b2ddf06ec69607c39b9fb4cea4a4486e34ad7e)

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>
2015-12-01 21:32:06 +00:00
Li Zhou
f42ef3f50f rpcbind: Security Advisory - rpcbind - CVE-2015-7236
rpcbind: Fix memory corruption in PMAP_CALLIT code

Use-after-free vulnerability in xprt_set_caller in rpcb_svc_com.c in
rpcbind 0.2.1 and earlier allows remote attackers to cause a denial of
service (daemon crash) via crafted packets, involving a PMAP_CALLIT
code.

The patch comes from
<http://www.openwall.com/lists/oss-security/2015/09/18/7>, and it hasn't
been in rpcbind upstream yet.

(From OE-Core rev: cc4f62f3627f3804907e8ff9c68d9321979df32b)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:06 +00:00
Wenzong Fan
04034e75e0 subversion: fix CVE-2015-3187
The svn_repos_trace_node_locations function in Apache Subversion before
1.7.21 and 1.8.x before 1.8.14, when path-based authorization is used,
allows remote authenticated users to obtain sensitive path information
by reading the history of a node that has been moved from a hidden path.

Patch is from:
http://subversion.apache.org/security/CVE-2015-3187-advisory.txt

(From OE-Core rev: 6da25614edcad30fdb4bea8ff47b81ff81cdaed2)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:05 +00:00
Wenzong Fan
f91aedfb56 subversion: fix CVE-2015-3184
mod_authz_svn in Apache Subversion 1.7.x before 1.7.21 and 1.8.x before
1.8.14, when using Apache httpd 2.4.x, does not properly restrict
anonymous access, which allows remote anonymous users to read hidden
files via the path name.

Patch is from:
http://subversion.apache.org/security/CVE-2015-3184-advisory.txt

(From OE-Core rev: 29eb921ed074d86fa8d5b205a313eb3177473a63)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:05 +00:00
Ross Burton
40cd22815c oeqa/sshcontrol: don't source profile
Instead of sourcing /etc/profile to get $PATH including /usr/sbin, just assign
to PATH in the ssh invocation.

The remote /etc/profile may not actually be manipulating PATH as we expect, and
there may be other commands which can interfere with the tests (such as resize
emitting a series of control characters on connection).

(From OE-Core rev: 0f3fb5bbf2fd7db82898fed3281af143387316ff)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:05 +00:00
Ross Burton
d39192a848 oeqa/runtime/multilib: refactor ELF class extraction
Instead of duplicating the same code over and over, split it out to a separate
function.

(From OE-Core rev: 4f870f020bbf908ab87990803f3c278bf4e44843)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:05 +00:00
Leonardo Sandoval
cc34104561 oe-selftest: Enable code coverage on unit tests
Enable code coverage through the library 'python coverage'. In case the environment
variable COVERAGE_PROCESS_START is present (one of the requisites for measuring
sub-processes; the second one is including some coverage statements into the
python sitecustomize.py file) it will be taken into account, otherwise it is
exported with value '.coveragerc'. The latter value is a configuration file
(also automatically created) with some default settings. Once tests are
executed, a coverage report is shown on the log and the coverage output data is stored
with name '.coverage.<args>' where '<args>' is the name of the  unit tests executed
or 'all_tests' when running with --run-all-tests. This output data can be latter used
for better reporting using the same tool (coverage).

As briefly indicate before, measuring sub-process implies setting the env variable
COVERAGE_PROCESS_START (done automatically by the oe-selftest code with this patch if
not already set) and creating a sitecustomize.py as explained on [1].
If either one of these is missing, complete coverage will be incomplete.

Current measurements for 'oe-selftest --run-all-tests' indicate that current coverage
is around 42 % taking into account BBLAYERS, bitbake and scripts folders. More details
on [2], indicating the coverage per file/module.

This tasks has been done together with Humberto Ibarra <humberto.ibarra.lopez@linux.intel.com>

[YOCTO #8679]

[1] http://coverage.readthedocs.org/en/latest/subprocess.html
[2] https://bugzilla.yoctoproject.org/attachment.cgi?id=2854

(From OE-Core rev: b3feee2cefbbd98b66dc395b651f47c5028c80a0)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:05 +00:00
Martin Jansa
06859de21b meta/conf/machine: use ' inside quoted values
(From OE-Core rev: 924ccf202a6d89de32fc34a140bf9e35e8e43b4e)

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>
2015-12-01 21:32:05 +00:00
Khem Raj
6be94ec72c runqemu-internal: Replace wacom-tablet with tablet for usbdevice
When booting weston-core-image with latest wayland/weston/libinput
mouse/touchpad would not work on qemux86, this fixes the issue

(From OE-Core rev: 4abf18a25ccb1a062a3775be1a70eaf6c155349c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
2015-12-01 21:32:05 +00:00
Paul Eggleton
0cc3810299 recipetool: make plugin registration function name consistent with devtool
This should have been register_commands rather than register_command;
I used register_commands in devtool so lets change this here to be
consistent with that. (Since this is extensible through layers though we
need to remain compatible with the old name, so fall back to that if the
new function name isn't there.)

(From OE-Core rev: 1047f6592ac81643cd847f104da766dc4a4c81ea)

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>
2015-12-01 21:32:05 +00:00
Paul Eggleton
b381f804a5 recipetool: add setvar subcommand
Add a recipetool subcommand "setvar" to set a variable in a file. This
uses our existing logic such that it doesn't matter if the variable is
already set in the recipe, if it's set in the recipe or some inc file,
and if the variable is not currently set that the line setting the
variable gets inserted in the right place in the file.

Implements [YOCTO #7676].

(From OE-Core rev: 7c33ef77fa165182d24f0a9ae769e9e630e6bd47)

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>
2015-12-01 21:32:05 +00:00
Paul Eggleton
1fbd76093d lib/oe/recipeutils: refactor patch_recipe_file() to use edit_metadata()
Use bb.utils.edit_metadata() to replace some of the logic in this
function; this avoids us effectively having two implementations of the
same thing. In the process fix the following issues:

* Insert values before any leading comments for the next variable
  instead of after them
* Insert overridden variables (e.g. RDEPENDS_${PN}) in the correct place
* Properly handle replacing varflag settings (e.g. SRC_URI[md5sum])

(From OE-Core rev: 0f81b83fc5fd908efa7f6b837137830ca65f6ed6)

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>
2015-12-01 21:32:04 +00:00
Paul Eggleton
0b850cb231 devtool: clarify help text
* Make some minor clarifications to help text
* Drop ArgumentDefaultsHelpFormatter and just put the defaults in the
  text itself where needed (because otherwise you get defaults shown for
  store_true options which is somewhat confusing).

(From OE-Core rev: a90ffea30c4578fd6acda2c5945b816ad33b13f5)

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>
2015-12-01 21:32:04 +00:00
Paul Eggleton
5001f23ecc devtool: build: enable showing default task in help
Enable access to the configuration object in register_commands() so that
we can read configuration values there; this allows us to show the
task that will be run in the command line help for the build subcommand.

(From OE-Core rev: 142d006de3235a034839ef7bbe147c56fc7af04a)

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>
2015-12-01 21:32:04 +00:00
Paul Eggleton
f79022dfff devtool: build: use bbappend to set PARALLEL_MAKE
Use a bbappend file to set PARALLEL_MAKE instead of a postfile; this
is a bit neater and only affects the specified recipe.

(From OE-Core rev: b5bafc845892ac39f85f3642b120fb7b785a3d58)

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>
2015-12-01 21:32:04 +00:00
Paul Eggleton
21481bc17a lib/oe/recipeutils: check in validate_pn() for names instead of filenames
Ensure that the user specifies just the name portion instead of a file
name with extension. (We can't just look for . since there are recipe
names such as "glib-2.0" that legitimately contain .).

(From OE-Core rev: a4c6af737811adb2bca87e3896f8710738dd255e)

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>
2015-12-01 21:32:04 +00:00
Paul Eggleton
671f41e1d1 devtool: ensure we change back to the original dir on error
This is just belt-and-braces but we ought to use try..finally in this
kind of situation, so just do it.

(From OE-Core rev: a30b407474d4eb6620f1ec549b54187ebbaff008)

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>
2015-12-01 21:32:04 +00:00
Paul Eggleton
74505b4295 devtool: search: print SUMMARY value
Print the SUMMARY value for each matched item assuming it's not the
default.

(From OE-Core rev: 596dee8882ebddb45a6cce9f12aa919107106156)

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>
2015-12-01 21:32:04 +00:00
Paul Eggleton
3f46af2b19 devtool: drop unused plugin_init() functions
This function is no longer required to be defined for a plugin, so drop
it where it's a no-op.

(From OE-Core rev: 49716a5e27e704598321bd6c82275b16afc444aa)

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>
2015-12-01 21:32:04 +00:00
Paul Eggleton
176211abeb devtool: package: use DEPLOY_DIR_<pkgtype> to get deploy directory
Rather than reconstructing the output path for packages, use the proper
variable.

(From OE-Core rev: 06d47777ed1650c479fadf98388f9a3a1f1f9eda)

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>
2015-12-01 21:32:03 +00:00
Paul Eggleton
0fe742674e devtool: disable creating workspace for extract and search subcommands
For subcommands that don't actually involve the workspace, don't
auto-create the workspace.

(From OE-Core rev: 90cba7992bc1d227e242666cd486414bd4a45f7e)

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>
2015-12-01 21:32:03 +00:00
Paul Eggleton
a360fa7d51 lib/oe/patch: improve extraction of patch header
For patches that we have to extract the header information by hand (i.e.
will not apply with "git am"), make the following improvements:

* If we can't extract author/date/subject, then try to do so from the
  commit that added the patch in git (assuming the metadata is tracked
  by git)
* Take only first Signed-off-by line instead of last
* Accept any case for "Signed-off-by" in case author has typed it by
  hand
* Improve conditional - we can skip the other cases if one matches

Implements [YOCTO #7624].

(From OE-Core rev: 13ec296b5c35aefa2c44f64f8bd1ef54c4a0a731)

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>
2015-12-01 21:32:03 +00:00
Paul Eggleton
f79cc4d9c3 devtool: upgrade: provide a means to update the source branch
If you're upgrading a git recipe to a revision on a release branch
that's different to the branch for the current revision, then you'll
need to update the branch parameter in SRC_URI, so add a --srcbranch/-B
command-line parameter to let you do that easily. It handles both when
the branch is stated verbatim in the recipe, and when a reference to
another variable is used (a common convention is to use a SRCBRANCH
variable for this, though the code doesn't care what variable is used
if any).

(From OE-Core rev: e49a66fd898dd44e54c77a838ebef3d983ed2a03)

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>
2015-12-01 21:32:03 +00:00
Paul Eggleton
b4d4d2116a devtool: upgrade: fetch remote repository before checking out new revision
If we're upgrading a recipe that fetches from git, and we've simply
fetched a tarball of the repo instead of directly from the upstream repo
(this can happen if you have PREMIRRORS set up as in poky with a core recipe,
e.g. kernelshark) then we won't have any new revisions, and the checkout
will fail with "fatal: reference is not a tree: <hash>". To avoid this,
do a "git fetch" before checking out the new revision.

(From OE-Core rev: c4daebf3fe797a8063dcbc2ab229be2fbedc8134)

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>
2015-12-01 21:32:03 +00:00
Paul Eggleton
9b7d45cf48 devtool: upgrade: remove erroneous error when not renaming recipe
If we're upgrading a git recipe the recipe file usually won't need
renaming; for some unknown reason we were throwing an error here which
isn't correct.

(From OE-Core rev: 656348dff9bc9dd1cafc8fff11e5e374e3667f0f)

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>
2015-12-01 21:32:03 +00:00
Paul Eggleton
9a704441b7 devtool: upgrade: fix updating PV and SRCREV
This code was clearly never tested. Fix the following issues:
* Actually set SRCREV if it's been specified
* Enable history tracking and reparse so that we handle if variables are
  set in an inc file next to the recipe
* Use a more accurate check for PV being in the recipe which will work
  if it's in an inc file next to the recipe

(From OE-Core rev: 8b8f04226ebf464fa61c05ca7af7c6cbda392339)

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>
2015-12-01 21:32:03 +00:00
Paul Eggleton
6a52c738ba devtool: upgrade: fix removing other recipes from workspace on reset
If you did a "devtool add" followed by "devtool upgrade" and then did
a "devtool reset" on the recipe you upgraded, the first recipe would
also be deleted from the workspace - this was because we were
erroneously adding the entire "recipes" subdirectory and its contents to
be tracked for removal on reset. Remove the unnecessary call to
os.path.dirname() that caused this.

(From OE-Core rev: 65354e066f87df7d3138adceb22d6a05d1685904)

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>
2015-12-01 21:32:03 +00:00
Tzu-Jung Lee
44ef78a46b devtool: include do_patch in SRCTREECOVEREDTASKS
The external source of kernel has been patched during the
construction of git repository. Include the do_patch task in the
SRCTREECOVEREDTASKS.

(From OE-Core rev: 0731c5a9e98f7b7f6e5ada9bbb99acb3f5884516)

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>
2015-12-01 21:32:03 +00:00
Mike Crowe
804f5b83f3 image.py: avoid mkdir race when building multiple images
If multiple images are being built simultaneously against the same
sysroot then the call to os.makedirs in Image._write_wic_env can fail
with:

File: '.../meta/lib/oe/image.py', lineno: 341, function: _write_wic_env
     0337:        """
     0338:        stdir = self.d.getVar('STAGING_DIR_TARGET', True)
     0339:        outdir = os.path.join(stdir, 'imgdata')
     0340:        if not os.path.exists(outdir):
 *** 0341:            os.makedirs(outdir)
     0342:        basename = self.d.getVar('IMAGE_BASENAME', True)
     0343:        with open(os.path.join(outdir, basename) + '.env', 'w') as envf:
     0344:            for var in self.d.getVar('WICVARS', True).split():
     0345:                value = self.d.getVar(var, True)
File: '/usr/lib/python2.7/os.py', lineno: 157, function: makedirs
     0153:            if e.errno != errno.EEXIST:
     0154:                raise
     0155:        if tail == curdir:           # xxx/newdir/. exists if xxx/newdir exists
     0156:            return
 *** 0157:    mkdir(name, mode)
     0158:
     0159:def removedirs(name):
     0160:    """removedirs(path)
     0161:
Exception: OSError: [Errno 17] File exists: '.../tmp-glibc/sysroots/cheetah/imgdata'

Using bb.utils.mkdirhier() protects against this.

There's also little point in checking to see if the directory already
exists - we might as well just try and create it regardless.

Once the directory has been created, there's no race on the actual file
since the filename contains IMAGE_BASENAME.

(From OE-Core rev: e3f216eef1b7a8ecfd00317e60704cff472238ba)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:03 +00:00
Martin Jansa
312862f12a package_manager.py: define info_dir and status_file when OPKGLIBDIR isn't the default
* without this the do_rootfs task doesn't respect OPKGLIBDIR and
  info, status are created in different directory than opkg on
  target expects
* people who modify OPKGLIBDIR need to make sure that opkg.conf included
  in opkg package also sets info_dir and status_file options

(From OE-Core rev: 11f1956cf5d732cfed6d28c8c292b5053966895c)

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>
2015-12-01 21:32:02 +00:00
Mike Crowe
b00f73429a image.py: Avoid creating empty .env file in _write_wic_env
Creating a file for every image containing a few variables isn't
necessary if wic is not being used, so don't write the file if WICVARS
is empty.

(From OE-Core rev: d40779a7d3ce4f326c29ec7971731cab1f505a37)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:02 +00:00
Dariusz Pelowski
a88505b450 lib/oe/terminal: use C locale when determining version
(From OE-Core rev: 5e5bf4f7e242494ed9c2cbc13bec7f21494db17c)

Signed-off-by: Dariusz Pelowski <dariusz.pelowski@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:02 +00:00
George Nita
8d784baf25 toolchain-shar-extract.sh: Ensure it's ran in clean environment
Fixes [YOCTO #8698] -- https://bugzilla.yoctoproject.org/show_bug.cgi?id=8698

If prior to running the toolchain installation script a toolchain
environment script is sourced then the toolchain installation will
fail. This because the environment is now set for the sourced toolchain
and doesn't suit the installation. In particular PATH points to the
toolchain executables.

The fix makes the script recursively call itself a second time with a
clean environment.

Tested by sourcing a previous successfully installed environment, erasing the
previous installation directory and then reinstalling in the same directory.

(From OE-Core rev: 6d2074d477596971dc52027dd87b02af7f39138d)

Signed-off-by: George Nita <george.nita@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:02 +00:00
Paul Eggleton
7f3c20f87d toolchain-shar-extract.sh: do not allow $ in paths for ext SDK
If you put an $ character in the path, SDK installation fails during the
preparation stage, so add this to the disallowed characters.

Fixes [YOCTO #8625].

(From OE-Core rev: 654f4785f719552f4e78e14a5a901c07d00ce68d)

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>
2015-12-01 21:32:02 +00:00
Petter Mabäcker
2d21e5d233 create-pull-request: handle empty ODIR
In some situations you might end-up with an empty ODIR (pull-xx/). The
most common reason is that you have applied your patches on 'master'
branch (or you are by mistake standing on the 'master' branch),
this will result in the default behavior that 'git format-patch'
will try to diff master..master.

Solve this by aborting the script with a proper error code and message
if ODIR is empty after the 'git format-patch' call (that is expected
to generate the cover-letter and patches).

(From OE-Core rev: 5ef9249bbae4f08eb9b981d10f31bd3348449c82)

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:02 +00:00
Paul Eggleton
c63b36fb39 scripts/gen-lockedsig-cache: improve output
* Print some status when running
* When incorrect number of arguments specified, print usage text

(From OE-Core rev: ac38d245878b618ddf56f9a68834d344500e45a6)

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>
2015-12-01 21:32:02 +00:00
Ed Bartosh
67af6d6402 wic: exec_native_cmd: implement support for pseudo
Wic runs some tools through pseudo, which makes exec_native_cmd
to fail and throw cryptic error message when tool is not baked:
For example:
  Error: exec_cmd: 'export
  PSEUDO_PREFIX=/media/ssd/poky-build/tmp/sysroots/x86_64-linux/usr;export
  PSEUDO_LOCALSTATEDIR=/media/ssd/poky-build/tmp/work/qemux86-poky-linux/
...
  PSEUDO_PASSWD=/media/ssd/poky-build/tmp/work/qemux86-poky-linux/ ...
  PSEUDO_NOSYMLINKEXP=1;/media/ssd/poky-build/tmp/sysroots/ ...
  mkfs.ext4 -F -i 8192 /var/tmp/wic/build/rootfs_platform.7.ext4 -L
  platform -d
  /media/ssd/poky-build/tmp/work/qemux86-poky-linux/core-image-minimal/...
  returned '1' instead of 0

Made exec_native_cmd aware of pseudo and properly report
errors when command is not found.

(From OE-Core rev: 04bab58809c63c9114feb0aadc9b6115be10fcc4)

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>
2015-12-01 21:32:02 +00:00
Jean-Francois Dagenais
8ffba255a8 toolchain-shar-relocate: don't assume last state of env_setup_script is good
In the case where many environment-setup-* files exist, the incorrect
filename might be lastly set in env_setup_script, which leads to
incorrect behaviour for the initialization of native_sysroot.

The scenario I had was that our custom meta-toolchain-*.bb, which
inherits populate_sdk, defined another environment-setup-* file to dump
variable information for qt-creator. The file is named like so in order
for the sdk shell script to pick it up and fix the SDK paths in the
file. Since it (coincidentally) alphabetically comes after ...-core2, it
was last set in env_setup_script and the grep OECORE_NATIVE_SYSROOT
would simply be blank. The apparent symptom was "...relocate_sdk.py:
Argument list too long" since the find command would not be searching in
the right path.

(From OE-Core rev: a36469c97c9cb335de1e95dea5141038f337df95)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:02 +00:00
Ross Burton
b8ee7ae6b4 sanity: don't enforce DISPLAY for testimage
Now that qemurunner doesn't need DISPLAY set, let whether DISPLAY is set be up
to the user.

(From OE-Core rev: 259d1d1889b9349498d3f995a09466ce89bd3fcf)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Ross Burton
b3641838d6 oeqa/qemurunner: pass nographic to runqemu if DISPLAY isn't set
Not everyone wants to run the tests with a qemu that has a graphical output, so
allow display to be None and pass nographic to runqemu in that case.

(From OE-Core rev: b1d85f13e79f8a493b9849551357a1a5cf0d0fec)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Ross Burton
46755cc4b8 base: add automatic dependency on lzip-native for .lz SRC_URI
Now that the SRC_URI is parsed this can be done without false-positives.

(From OE-Core rev: 6fac3caf3d70823c830178f2299ceee275a1edd1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Ross Burton
6ea39c26b7 base: decode SRC_URI before adding implicit fetch dependencies
To avoid false positives such as a SRC_URI for http://foo.xz/foo.zip gaining a
dependnecy on xz-native decode the URI so that precise tests can be done.

(From OE-Core rev: a98a14844bc0b2ef8fc0426768fde40516279bf8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Patrick Ohly
eded9c26b3 buildhistory.bbclass: support extending the content of the build history
The idea behind the implementation of Yocto #8138 was that an
additional class can write additional files in the recipe directories,
for example by hooking into the functions of buildhistory.bbclass or
by implementing its own SSTATEPOSTINSTFUNCS function.

However, when these additional files get created before
buildhistory_emit_pkghistory(), they get removed again by that
function because it contains code which removes everything it does
not know about. The reason for that is that these unknown items
are probably obsolete.

This logic is the reason why the additional "kconfig" file from
buildhistory-extra.bbclass never showed up in the final build history.

To fix this, the hard-coded list of known files in
buildhistory_emit_pkghistory() must be turned into a variable which
derived classes can extend.

(From OE-Core rev: 97f77ea3313b0d79ae4a6090672a2a9344282262)

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>
2015-12-01 21:32:01 +00:00
Mariano Lopez
d95df11131 license.bbclass: Create image license manifest
This change adds the license_deployed_manifest function
that will create the manifest for the packages deployed
next to the image but not installed in rootfs. Some
examples of these recipes would be the bootloaders, or
the kernel.

This new function was added to ROOTFS_POSTPROCESS_COMMAND
so it will run after every rootfs task.

This change also modify the write_license_files because
the image manifest is different from the root manifest.

[YOCTO #6772]

(From OE-Core rev: a58e8e164b888a6e4747ef62a7a43825c4f47c32)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Mariano Lopez
efdab52624 license.bbclass: Add function get_deployed_files
This function will get the files that were deployed using
the sstate-control manifest file. This will give a better
view of what was deployed next to the image.

[YOCTO #6772]

(From OE-Core rev: f1a0a86ea2db6f16d9b643636a8973aaeb85e4a6)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Mariano Lopez
cc0d044109 license.bbclass: Added function get_deployed_dependencies
This change introduce a new function to get the dependencies
that were deployed. It uses BB_TASKDEPDATAto get all the
dependencies of the current task, so it is possible to get
different packages depending at what point this function is
called.

[YOCTO #6772]

(From OE-Core rev: 2be96279580eac2b03970131dcd81b13c7f7f7d5)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Mariano Lopez
d45e10e1cf license.bbclass: Added get_boot_dependencies function
This function gets the dependencies from the classes that
create a boot image, this is required because sometimes
the bootloader dependecy is in these classes. The current
classes covered are bootimg and bootdirectdisk because
these are the only clases that add dependencies.

[YOCTO #6772]

(From OE-Core rev: b165c2d3349115546c9db2f084eb6def4913b82d)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:01 +00:00
Mariano Lopez
8b1e7bcef2 license.bbclass: Split license create manifest
This changes moves the writing of the licenses to a
separated function that could be called for other packages.

With these change it will be easier to reuse the writing of
the license for the packages deployed but not installed in
the rootfs.

[YOCTO #6772]

(From OE-Core rev: 71fb5da7a3a8e61b15be4efc05b968c0c9920d2f)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:00 +00:00
Mariano Lopez
1a210e6374 license.bbclass: Write recipeinfo file in license folder
Currently there is no way to get the recipe version when
creating the rootfs. It is needed because the manifest
file for the image has to contain this important piece
of information.

This change writes a new file in the license folder for
every recipe. This file is called "recipeinfo" and have
the information used to write the manifest file for the
recipes deployed next to the image.

[YOCTO #6772]

(From OE-Core rev: 2d97d82fb51281fe130e8d135f3cf9a78423dd94)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:00 +00:00
Mark Hatle
74c7cd53ea populate_sdk_ext.bbclass: Be more permissive on the name of the buildtools
We want to support different names for the buildtools tarball.  The
name may not always be of the default oe-core format.

For instance, at Wind River we define the built-tools name to be:

${SDK_ARCH}-buildtools-nativesdk-standalone-${DISTRO_VERSION}

because thes standard SDK_NAME has additional information that is not
relevant to the builtools tarball.

(From OE-Core rev: b49c6f179b06a8b97106aa4c95f2cdb3c4dc0920)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:00 +00:00
Haris Okanovic
5ba638210c populate_sdk_base: Add sysroot symlink check
Add optional check to do_populate_sdk() that verifies SDK sysroots don't
contain dangling or escaping symlinks before attempting to tar an archive.
Such links may fail a `tar -h` operation (-h => follow symlinks) or
archive the build system's files.

Set CHECK_SDK_SYSROOTS = "1" to enable this check.

Use case: The -h option may be set via SDKTAROPTS in some configurations
to create symlink-less SDK archives for Windows file systems.

(From OE-Core rev: 2658200fa2b3df08880ee937a3de5cb2866f8a50)

Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:00 +00:00
Paul Eggleton
7fed65564d classes/populate_sdk_ext: fail if SDK_ARCH != BUILD_ARCH
The extensible SDK relies upon uninative, and with the way that
uninative works, the build system architecture must be the same as the
SDK architecture or the extensible SDK won't be usable. At some point in
future hopefully we can remove this limitation, but until then it's
disingenuous to allow this to build, so add a check to ensure
SDK_ARCH == BUILD_ARCH and fail if it isn't.

(From OE-Core rev: 9e30e849eda3b0a0c54d3f7ed0102760fdaef06c)

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>
2015-12-01 21:32:00 +00:00
Paul Eggleton
2948169291 classes/populate_sdk_ext: tweak reporting of workspace exclusion
If you have a local workspace layer enabled when building the
extensible SDK, we explicitly exclude that from the SDK (mostly because
the SDK has its own for the user to use). Adjust the message we print
notifying the user of this so it's clear that we're excluding it from
the SDK, and scale it back from a warning to a note printed with
bb.plain().

(From OE-Core rev: 90f46f74a088a7b965d2205eceb9eff6f276dd38)

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>
2015-12-01 21:32:00 +00:00
Paul Eggleton
28a2ea701c classes/populate_sdk_ext: make it clear when SDK installation has failed
When SDK preparation fails:

* Insert an ERROR: in front of the error message
* Add an error message to the environment setup script

Hopefully this should make it more obvious when this happens.

Fixes [YOCTO #8658].

(From OE-Core rev: 105df569b3b1982005c2edb37f4690f9ba6bde35)

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>
2015-12-01 21:32:00 +00:00
Paul Eggleton
124c6aa347 classes/populate_sdk_ext: tidy up preparation log file writing
Use a variable for the log file which includes the full path; this is
not only neater but avoids us writing the first part (the output of
oe-init-build-env) to a file in another directory since we are
changing directory as part of this subshell.

(From OE-Core rev: 001af71752a9e9aab460cbd49ed049e1eb726295)

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>
2015-12-01 21:32:00 +00:00
Robert Yang
d3486244fa boot-directdisk.bbclass: remove HDDIMG before create
Fixed when rebuild:
mkdosfs: file /path/to/hdd.image already exists

(From OE-Core rev: 9abcd309c098558360cde2bff65be840ead25f83)

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>
2015-12-01 21:31:59 +00:00
Richard Purdie
03f15e5199 sstate: Ensure siginfo and sig files are also touched
Maintaining an sstate mirror is complicated at the moment as only the main
sstate tgz files have their timestamp updated when they're used.

This causes problems as the siginfo files can be removed from the server
due to inactivity but the sstate fetch code tries to fetch them leading
to confusing warnings and reduced debug capability.

This change ensures we touch any sig/siginfo files present and should
help ageing of the objects on sstate mirrors. It doesn't handle the intermediate
task siginfo files but those are never fetched by the current sstate code
so are an order of magnitude less problematic.

(From OE-Core rev: 80b3974081c4a8c604e23982a6db8fb32c616058)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:09:00 +00:00
Otavio Salvador
615ccaecf4 weston: Add PACKAGECONFIG option for colord CMS
(From OE-Core rev: e98d01c1ca060ad984d7a14a3f56fe049812df44)

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>
2015-11-25 08:08:16 +00:00
Alejandro del Castillo
cdad67c37a opkg: add cache filename length fixes
(From OE-Core rev: 8e53500a7c05204fc63759f456639545a022e82b)

Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:16 +00:00
Christopher Larson
2ec77de505 openjade-native: statically link local libs
Statically link local libs to avoid gold link issue. This is clearly
a workaround, but does get us past the failures with systems using gold by
default until we find a better solution.

[YOCTO #2972]

(From OE-Core rev: 415287be0cce596ea0d33ded0f3e6ffa9f26b775)

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>
2015-11-25 08:08:16 +00:00
Christopher Larson
29747d4639 sysklogd: inhibit updatercd for non-sysvinit
This recipe doesn't inherit systemd, so we need to take care of it ourselves.

(From OE-Core rev: 4b382b79a0acce0e2704d841288cef7dad660690)

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>
2015-11-25 08:08:16 +00:00
Christopher Larson
add3451fb2 connman: depend on readline
When the client is enabled, which we do by default, readline is required.
Currently it gets pulled in by other dependencies of connman, indirectly,
but we should be explicit rather than relying on this.

(From OE-Core rev: 8d10de63e09754ed600ad3130b685bb1624eba5e)

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>
2015-11-25 08:08:16 +00:00
Christopher Larson
7a557a2250 latencytop: obey LDFLAGS
Patch update courtesy Abdur Rehman <abdur_rehman@mentor.com>.

(From OE-Core rev: 448f211ba8a2a05380276de648176422c0b6eb37)

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>
2015-11-25 08:08:16 +00:00
Christopher Larson
8aeec87415 tcf-agent: obey LDFLAGS
This silences a GNU_HASH warning when using external toolchains. The patch is
courtesy Abdur Rehman <abdur_rehman@mentor.com>.

(From OE-Core rev: 909c77ad13b139478bd1a9eee288604a75d59ee5)

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>
2015-11-25 08:08:16 +00:00
Christopher Larson
9025d2e1da blkspace: fix ldflags for iowatcher
This quiets a GNU_HASH warning.

(From OE-Core rev: ad8a2ca46075a7ea236d6db9da963dc0040d2206)

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>
2015-11-25 08:08:15 +00:00
Christopher Larson
1732a8a924 bluez5: enable sysvinit support
This is from Shrikant Bobade <Shrikant_Bobade@mentor.com>.

(From OE-Core rev: f4c16f53af27ad459e77ae7f43e7bf1bad70645a)

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>
2015-11-25 08:08:15 +00:00
Christopher Larson
160fdd846e sysprof: use packageconfig for the gui
This makes the gtk dependencies optional.

(From OE-Core rev: 191a1817c9dce90f3094bc98d6e0f5ab02f8a5c7)

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>
2015-11-25 08:08:15 +00:00
Maxin B. John
425d0209c2 mc: upgrade to 4.8.15
4.8.14 -> 4.8.15

(From OE-Core rev: 35c5ab8f34400000129078e1a5246232b20fd265)

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>
2015-11-25 08:08:15 +00:00
Jussi Kukkonen
738664707d packagegroup-core-directfb: Don't depend on pango-modules
Recent pango upgrade means there is no pango-modules.

(From OE-Core rev: 2aea260b99d38bf506c6a0ebcf0f299b2c675da7)

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>
2015-11-25 08:08:15 +00:00
Jussi Kukkonen
ac5ed8e343 xkeyboard-config: Upgrade 2.15 -> 2.16
(From OE-Core rev: 8983e571a6e2491a6253995414f35e05661cb9f0)

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>
2015-11-25 08:08:15 +00:00
Jussi Kukkonen
3a71fab6e2 xkbcomp: Upgrade 1.3.0 -> 1.3.1
(From OE-Core rev: 4605abb8d56f902e3dd278d890d4293caa95fa40)

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>
2015-11-25 08:08:15 +00:00
Jussi Kukkonen
b7cb308a23 xinput: Upgrade 1.6.1 -> 1.6.2
(From OE-Core rev: 649963e0d4c3061b5794823809ecaa363fade6e9)

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>
2015-11-25 08:08:15 +00:00
Jussi Kukkonen
05eca73cf1 xf86-video-omap: Upgrade 0.4.3 -> 0.4.4
Remove backported patch.

(From OE-Core rev: 4ca6274aff4c7c489f148f811267634a760c5b77)

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>
2015-11-25 08:08:14 +00:00
Jussi Kukkonen
cfcc5e5872 xf86-input-synaptics: Upgrade 1.8.2 -> 1.8.3
(From OE-Core rev: 15b4e5d2ab0ac117979cb367f07f444b8e123b64)

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>
2015-11-25 08:08:14 +00:00
Jussi Kukkonen
4c9256f824 xf86-input-evdev: Upgrade 2.9.2 -> 2.10.0
This version installs the 10-evdev.conf configuration file
that is no longer included in xserver-xorg.

(From OE-Core rev: 52114d07cedd49f7db08520ce67d2635fff8f688)

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>
2015-11-25 08:08:14 +00:00
Jussi Kukkonen
96ddcc5e77 xorg-driver-input: add xorg configuration to FILES
It's common for input drivers to to add files into
${datadir}/X11/xorg.conf.d/.

(From OE-Core rev: 757fb421ec498b7c268944ba5d2942d2b286bed8)

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>
2015-11-25 08:08:14 +00:00
Jussi Kukkonen
a1003f5004 xserver-xorg: Upgrade 1.17.2 -> 1.18.0
* Remove glibc-guard patch: xserver no longer uses termio.h on linux
  in any case.
* Remove "--enable-glx-tls": this hasn't done anything since glapi
  was separated from glx
* Note that xserver no longer installs evdev configuration
  (evdev and/or libinput should do it instead)
* Add patch to check for libsystemd correctly
* Add PACKAGECONFIG for libsystemd

(From OE-Core rev: 9057678e75ec09af081b27d5935907ec955c3664)

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>
2015-11-25 08:08:14 +00:00
Jussi Kukkonen
a336b8a93a libxcb: Remove unused git-version of the recipe
(From OE-Core rev: 39c6dae9286f649ff02acb56d0214d9d2a3cadf7)

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>
2015-11-25 08:08:14 +00:00
Jussi Kukkonen
05ba0db071 libxcb: Upgrade 1.11 -> 1.11.1
(From OE-Core rev: 3a3f65ffafeba5cb73877bcb2be13c02ae6ef034)

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>
2015-11-25 08:08:14 +00:00
Jussi Kukkonen
44233d3362 pixman: Upgrade 0.32.6 -> 0.32.8
Update Upstream-Status on a patch.

(From OE-Core rev: 43f67da6bfd5870424ebb32e5d25c6c193b6d41f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:13 +00:00
Jussi Kukkonen
7ab0466e51 libxi: Upgrade 1.7.4 -> 1.7.5
(From OE-Core rev: 473a73e77b53b059ac99cc938831faa1c7cd72c0)

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>
2015-11-25 08:08:13 +00:00
Jussi Kukkonen
63feef0c98 gtk-icon-utils-native: Upgrade 3.16.6 -> 3.18.2
(From OE-Core rev: f989fc4699a4e616b1f56515466d1f62379f0eb5)

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>
2015-11-25 08:08:13 +00:00
Jussi Kukkonen
38924d9ca2 package_regex.inc: Add gtk-icon-utils-native
(From OE-Core rev: dad769b0d62f44e1dcd5cca305b7ce1dfd879390)

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>
2015-11-25 08:08:13 +00:00
Jussi Kukkonen
060b482409 gtk+3: Upgrade 3.16.6 -> 3.18.2
* Package new development tool gtk-builder-tool.
* Disable colord support (for explicitness, no functional change)

(From OE-Core rev: 59498a8b4fa69a359e72225d14c554aae133571a)

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>
2015-11-25 08:08:13 +00:00
Jussi Kukkonen
4f3d2b3afd adwaita-icon-theme: Upgrade 3.16.2.1 -> 3.18.0
Remove a backported patch.

(From OE-Core rev: 136c62b5dcb7d01278b18217d136d55d4ecee040)

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>
2015-11-25 08:08:13 +00:00
Jussi Kukkonen
c8849ace85 librsvg: Upgrade 2.40.10 -> 2.40.11
(From OE-Core rev: a74b956b74fefb060bb8dd4bd503b7d53b9b4c4e)

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>
2015-11-25 08:08:13 +00:00
Ross Burton
81769ca291 pango: add RPROVIDES for removed packages
Now that Pango has merged the external modules and engines the packages don't
exist.  For convenience have the Pango library RPROVIDE these names.

(From OE-Core rev: 9e4c511ed155e1af50b69b65cf43a6320750ca8c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:12 +00:00
Jussi Kukkonen
c9b06f5c2c pango: Upgrade 1.36.8 -> 1.38.1
Pango is now a simple a simple library and no longer has
 - modules
 - engines
 - configuration
Dropping all related things from the recipe.

(From OE-Core rev: 9a86d2a876f5cce9c2825f8fd5bf5dc9aaf9d7a1)

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>
2015-11-25 08:08:12 +00:00
Jussi Kukkonen
ced8d49955 gdk-pixbuf: Upgrade 2.30.8 -> 2.32.1
Remove a backported patch.

(From OE-Core rev: d19d221ca77ff5cfbe92cf8234b2f4f35dd07329)

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>
2015-11-25 08:08:12 +00:00
Jussi Kukkonen
918c77365f libsoup-2.4: Upgrade 2.50.0 -> 2.52.1
Don't build the now-included vala bindings: This requires gobject-introspection.

(From OE-Core rev: 25991b97ce027d1ff9b803f4ab57350659465fd8)

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>
2015-11-25 08:08:12 +00:00
Jussi Kukkonen
5bd93052f3 at-spi2-atk: Upgrade 2.16.0 -> 2.18.1
(From OE-Core rev: c6a14343bf58329c69a2c4c9cb780647ae5e9ded)

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>
2015-11-25 08:08:12 +00:00
Jussi Kukkonen
8eb0c8f1e4 atk-spi2-core: Upgrade 2.16.0 -> 2.18.1
(From OE-Core rev: ba8016f0e01178030aa9075fc3a48245f630d49a)

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>
2015-11-25 08:08:12 +00:00
Jussi Kukkonen
78130eb963 atk: Upgrade 2.16.0 -> 2.18.0
(From OE-Core rev: bf804ba484c08ed3531e639777a9be3b7858b1e3)

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>
2015-11-25 08:08:12 +00:00
Jussi Kukkonen
e7141abbe3 glib-networking: Upgrade 2.44.0 -> 2.46.1
(From OE-Core rev: 07fd82d5909b2227d6b163356468cf8a73df8358)

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>
2015-11-25 08:08:12 +00:00
Ross Burton
fcd7494b34 glib-2.0: build dependency cleanup
New GLib doesn't require glib-2.0-native to build itself so remove it from the
DEPENDS.  However it is needed for the test suite so respect PTEST_ENABLED and
add it to DEPENDS if required.

(From OE-Core rev: 216d534258f4fd7aa3c46093aba6fa2967ae5283)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:11 +00:00
Jussi Kukkonen
5357764057 glib-2.0: Enable more tests while cross-compiling
(From OE-Core rev: e6e9260b97d873f14991a1143f1bda5b1b624955)

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>
2015-11-25 08:08:11 +00:00
Jussi Kukkonen
1e271af2b1 glib-2.0: Upgrade 2.44.1 -> 2.46.1
Fix cross-compilation build issue in gio tests.

(From OE-Core rev: 17bbd1957720d6faea04530211a76655541fe71e)

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>
2015-11-25 08:08:11 +00:00
Jussi Kukkonen
bc1be0766c qemu: Backport malloc-trace disabling
Allocation tracing has been removed from GLib 2.46 and trying to use
it results in an ugly warning: Backport patch to not use it in Qemu.

(From OE-Core rev: 5e6105a90acb86bf7e2c0d5e7fe51e6112080916)

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>
2015-11-25 08:08:10 +00:00
Hongxu Jia
bca5a7a2b6 logrotate: do not move binary logrotate to /usr/bin
In oe-core commit a46d3646a3e1781be4423b508ea63996b3cfca8a
...
Author: Fahad Usman <fahad_usman@mentor.com>
Date:   Tue Aug 26 13:16:48 2014 +0500

    logrotate: obey our flags

    Needed to quiet GNU_HASH warnings, and some minor fixes.
...
it explicitly move logrotate to /usr/bin without any reason,
which is against the original Linux location /usr/sbin.

So partly revert the above commit which let logrotate be
kept in the original place /usr/sbin.

(From OE-Core rev: 0007436b486fd0bea9e6ef60bf57603e7cfce54b)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:10 +00:00
Christopher Larson
0069c0d3a3 systemd: drop unneeded $D check in prerm
(From OE-Core rev: 2bfc772425893ed5674eef76174be6e4b0b5cfd7)

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>
2015-11-25 08:08:10 +00:00
Christopher Larson
cd1f2b451d systemd: chown hwdb.bin to root:root for do_rootfs
This is created by qemu for the do_rootfs case, which bypasses pseudo, so we
need to correct the ownership. This fixes a warning issued by
rootfs_check_host_user_contaminated.

(From OE-Core rev: 4ff6b8cadec10e17dbf884a873a227e29944f5d1)

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>
2015-11-25 08:08:10 +00:00
Christopher Larson
7ca8cd9b7a systemd: for valgrind, define VALGRIND=1
Per the systemd README, this should be defined to run systemd under valgrind,
otherwise false positives will be triggered.

(From OE-Core rev: c643fcf5152c50de130b16b567e2a9bad99546a1)

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>
2015-11-25 08:08:10 +00:00
Daniel McGregor
46fa8aba84 systemd: make coredump a PACKAGECONFIG
(From OE-Core rev: 70ddba0a5798362923c4c437541ab9992b5020fb)

Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:10 +00:00
Dan McGregor
ac347849e7 systemd: add machine-id to conffiles
If / is mounted read-write machine-id will be overwritten on first boot.
This change ensures that the machine-id file persists across package
upgrades to systemd.

(From OE-Core rev: a25335967ac4aa62d77e862b4b80fed293eba0ad)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:10 +00:00
Dan McGregor
04937cca7f systemd: ignore .so filenames in systemd-doc
systemd names two manual pages for .so files ${foo}.so.2.8,
the library being named ${foo}.so.2. This hits the libdir
sanity checker:
WARNING: QA Issue: systemd-doc: found library in wrong location:
/usr/share/man/man8/libnss_mymachines.so.2.8 [libdir]

Disable the libdir sanity check for systemd-doc.

(From OE-Core rev: 2c10bc96257a934d9431bef0c39006c7e100924d)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:09 +00:00
Ross Burton
6821854dba systemd: fix Upstream-Status tag
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:09 +00:00
Wenzong Fan
82107b1209 mdadm: fix CFLAGS and ptest issues
* Pass global CFLAGS to build:

The CFLAGS does not pass to build at all since it was redefined by
mdadm Makefile:

  CFLAGS = $(CWFLAGS) $(CXFLAGS) ...

This could be done by setting 'CXFLAGS="${CFLAGS}"'.

* Also fix ptest build errors caused by global CFLAGS:

  raid6check.c:352:2: error: ignoring return value of posix_memalign, \
  declared with attribute warn_unused_result [-Werror=unused-result]

  raid6check.c:315:8: error: 'stripe_buf' may be used uninitialized \
  in this function [-Werror=maybe-uninitialized]

(From OE-Core rev: 60f71fa4da86ca4c7c37115c343db194a3b7b47b)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:09 +00:00
Juro Bystricky
d8adfd28f7 gcc-4.9: Fix various _FOR_BUILD and related variables
This patch is based on the patch for gcc-5.2 (41cbfd7af6)

When doing a FOR_BUILD thing, you have to override CFLAGS with
CFLAGS_FOR_BUILD. And if you use C++, you also have to override
CXXFLAGS with CXXFLAGS_FOR_BUILD.
Without this, when building for mingw, you end up trying to use
the mingw headers for a host build.

The same goes for other variables as well, such as CPPFLAGS,
CPP, and GMPINC.

(From OE-Core rev: e6dc4b2ac0cc6417c0e0ddcdcbe3f334581af8fc)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:09 +00:00
Tzu-Jung Lee
8ae27fa07b devtool: add sync command
The sync command is similar to the extract command, except it
fetches the sync'ed and patched branch to an existing git repository.

This enables users to keep track the upstream development while
maintaining their own local git repository at the same time.

(From OE-Core rev: e2fe4c99f1020a20b579832c4feafcd0e9bc2f75)

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>
2015-11-25 08:08:09 +00:00
Andre McCurdy
6bfa1dcc6e boost.inc: remove unused parameter from get_boost_parallel_make()
The bb parameter seems to have been accidentally left behind after:

  http://git.openembedded.org/openembedded-core/commit/?id=1ff36aaec25a7ee89514366fe484345e8d1d7b64

(From OE-Core rev: 871d3279fd3360628c8fd9a37134eca541b10636)

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>
2015-11-25 08:08:09 +00:00
Maxin B. John
16d7bfd5e2 wireless-tools: remove unused files
Remove wireless-tools.if-pre-up and zzz-wireless.if-pre-up.
As per the comment, these files were not in use from 20/8/08.

(From OE-Core rev: 85ed9f581184d4028d407cd69f1ae6c58836aa77)

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>
2015-11-25 08:08:09 +00:00
Ross Burton
ee923bf11f gstreamer1.0: fix install race
The install hook needs to be a data hook not an exec hook (because automake),
the explicit dependency upstream added to fix the ordering results in
install-helpersPROGRAMS executing twice and potentially racing.

(From OE-Core rev: 0fde7c96bd81f16a70ad7193a91c3c2021c4aca4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:08 +00:00
Robert Yang
0ae52c8b2c gcc-multilib-config: make aarch64 support multilib
Fixed:
MACHINE = qemuarm64
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "armv7at-neon"

$ bitbake core-image-minimal -cpopulate_sdk

WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64
WARNING: gcc multilib setup is not supported for TARGET_ARCH=aarch64

[YOCTO #8638]

(From OE-Core rev: 9e0cad83eefae4c1a5e5e0334cc1cfdfc1f51057)

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>
2015-11-25 08:08:08 +00:00
Armin Kuster
8514d21e6a libxml2: fix CVE-2015-7942 and CVE-2015-8035
CVE-2015-7942 libxml2: heap-based buffer overflow in xmlParseConditionalSections()
CVE-2015-8035 libxml2: DoS when parsing specially crafted XML document if XZ support is enabled

[YOCTO #8641]

(From OE-Core rev: 27de51f4ad21d9b896e7d48041e7cdf20c564a38)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:08 +00:00
Leonardo Sandoval
e864f71f4c terminal: Open a new window instead of split on older tmux versions (<1.9)
If an old version is detected (<1.9), create a new window instead of split:
the reason is that there is no easy way to get the active pane height if no
nested formats are supported.

(From OE-Core rev: 457bd6297ae99627c5f596c3c09086d787d5a5ab)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:08 +00:00
Hongxu Jia
5056581b16 flex: fix test-bison-yylval and test-bison-yylloc failed
The tests in flex test-bison-yylval and test-bison-yylloc
failed, so we backport a patch from upstream to fix it.

(From OE-Core rev: 04810bf36720240cf0e1b8ba2cb1bba16b2ccac8)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:08 +00:00
Robert Yang
c54540e5f7 gdbm 1.8.3: install libgdbm_compat
It has been built but not installed by default, while 1.11 builds and
installs it.

Fixed when build non_gplv3 + perl:
powerpc64-wrs-linux-gcc -m64 -mhard-float -mcpu=e6500
--sysroot=/mnt/docker/test_p/bitbake_build/tmp/sysroots/fsl-t2xxx
-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -
fstack-protector -shared NDBM_File.o  -o
../../lib/auto/NDBM_File/NDBM_File.so   \
   -lgdbm -lgdbm_compat         \

ld: cannot find -lgdbm_compat
collect2: error: ld returned 1 exit status
Makefile:473: recipe for target '../../lib/auto/NDBM_File/NDBM_File.so' failed

(From OE-Core rev: 1a50961e63222e6196b9688f48700c7ba1596dbc)

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>
2015-11-25 08:08:08 +00:00
Maxin B. John
b9f87ed2d7 harfbuzz: update to 1.0.6
1.0.2 -> 1.0.6

(From OE-Core rev: 1ca357c1a1e920e260d3d61863d3c6efa01f37b4)

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>
2015-11-25 08:08:08 +00:00
Maxin B. John
3f7553796f ethtool: bump version to 4.2
4.0 -> 4.2

(From OE-Core rev: c3950647a3a84986380cc37d4a1dfbacc1c0acc6)

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>
2015-11-25 08:08:07 +00:00
Wenzong Fan
9a4da3c590 openssl: fix ptest issues
* follow symbolic links while copying sources from test/*
* install required target files to remove Make errors:

  make[2]: *** No rule to make target 'xxx', needed by 'yyy'.

* fix hardcode pathes:
  /usr/lib -> ${libdir}, /usr/bin -> ${bindir}

(From OE-Core rev: 928adfc807d3c812fcd748e2cf65f392eebd852c)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:07 +00:00
Ioan-Adrian Ratiu
9163a5d02d base-files: stage /etc/skel
Having skel in the staging area lets other recipes access these files.
For ex. recipes inheriting useradd, if passing "-m" to USERADD_PARAM,
.bashrc and .profile are put automatically in $HOME, as expected.

(From OE-Core rev: 784f4c80204a09b85b7e83c9bd91cd48f001384f)

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:07 +00:00
Chen Qi
d60c5ff659 mktemp: raise the priority to avoid conflicting with coreutils
If mktemp and coreutils have the same priority for the 'mktemp' command,
/bin/mktemp might point to different destinations depending on which package
is installed first.

Raise the priority to 200 in mktemp recipe to avoid such problem.

(From OE-Core rev: 1c0cfffee21e99a7356c9046c86628bc0acf654c)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:07 +00:00
Martin Jansa
b06eacdacf libunwind: fix build for qemuarm
(From OE-Core rev: 9c370e54101c2de13cbabefb38eaa6cf584f348c)

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>
2015-11-25 08:08:07 +00:00
Alejandro Hernandez
c4acacefc1 gma500_gfx: Avoid inserting gma500_gfx module for certain devices
The gma500_gfx driver will match certain devices on which it causes incorrect functionality,
we want to avoid inserting this module, basicallly blacklist it for specific hardware,
but still allow it to work on other hardware by default; usually when we have an already working system,
using udev rules would do the job, but since we are building it, it is impossible to blacklist
a driver when a certain udev rule matches, since rootfs isn't writeable at this point during boot time,
the solution is to use modprobe install, which runs a certain command instead of inserting a matching module,
this command needs to insert the module manually afterwards and have a flag --ignore-install
so it doesnt create an infinite loop executing itself everytime it wants to insert the module,
busybox's modprobe doesn't provide this functionality, so a small hack had to be used to avoid
the infite loop instead.

(From meta-yocto rev: 70c143767a8b63921e668a62ac463b3a6b8c6132)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:50:33 +00:00
Maxin B. John
6c3f68039d libsndfile: fix CVE-2014-9756
Fix divide by zero bug (CVE-2014-9756)

(From OE-Core rev: f47cf07ab9d00ed7eddc8e867138481f7bd2bb7d)

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>
2015-11-25 07:50:33 +00:00
Maxin B. John
aa07eb161c python-pycurl: update version to 7.19.5.2
No change in License. Updated no-static-link.patch

README.rst: license checksum changed to reflect the Copyright update
COPYING-MIT: checksum changed to reflect the Copyright update

(From OE-Core rev: 8b990fd7054feaaaccce2819b5a915419c636a4a)

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>
2015-11-25 07:50:33 +00:00
Maxin B. John
696aa7e86b rt-tests: upgrade to version 0.96
bump version to 0.96

(From OE-Core rev: 44a14209f358abfadf7fcd9934d2a3d5cdcc63a3)

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>
2015-11-25 07:50:33 +00:00
Li Wang
6ec7dc2c38 rpcbind: don't use '-w' for starting rpcbind
While runing:

$ systemctl restart rpcbind
$ systemctl status rpcbind

There are errors like below:
  rpcbind[1722]: Cannot open '/tmp/rpcbind.xdr' file for reading, \
    errno 2 (No such file or directory)
  rpcbind[1722]: Cannot open '/tmp/portmap.xdr' file for reading, \
    errno 2 (No such file or directory)

'-w' causes rpcbind to do a "warm start" by read a state file when
rpcbind starts up. The state file is created when rpcbind terminates.

The state file is not always there, the patch refers to:
  https://bugs.launchpad.net/ubuntu/+source/rpcbind/+bug/835833

(From OE-Core rev: 3d32a8a1fd90ca68b0d74d86165c8f3668faedcd)

Signed-off-by: Li Wang <li.wang@windriver.com>
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:50:32 +00:00
Joe Slater
eddd88fadc libsecret: add dependency on intltool-native
intltoolize is needed by configure.

(From OE-Core rev: dc2c5a6a0316fa8d27b1b6884fb476403cf9b3e7)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:50:32 +00:00
Ross Burton
2e8efb1045 openssl: use subdir= instead of moving files in do_configure_prepend()
For clarity and correctness of source archiving, don't move find.pl from WORKDIR
to S in do_configure_prepend but tell the fetcher to put it in the right place
when unpacking.

Also re-order the files in SRC_URI so that patches are grouped together.

(From OE-Core rev: a960b6024f1b17994b0f4683a4e70fd2a079bd90)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:50:32 +00:00
Ross Burton
036d2dc77f openssl: sanity check that the bignum module is present
The crypto_use_bigint_in_x86-64_perl patch uses the "bigint" module to
transparently support 64-bit integers on 32-bit hosts.  Whilst bigint (part of
bignum) is a core Perl module not all distributions install it (notable Fedora
23).

As the error message when bignum isn't installed is obscure, add a task to check
that it is available and alert the user if it isn't.

[ YOCTO #8562 ]

(From OE-Core rev: 2f9a2fbc46aa435a0a7f7662bb62029ac714f25a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:50:32 +00:00
Ross Burton
cf366d8c2b libsdl2: require GLES when building Wayland support
The Wayland support requires GLES2 to be enabled as otherwise the EGL support
code in SDL2 isn't enabled.

| In file included from .../SDL2-2.0.3/src/video/wayland/SDL_waylandvideo.c:34:0:
| .../SDL2-2.0.3/src/video/wayland/SDL_waylandvideo.c: In function 'Wayland_CreateDevice':
| .../SDL2-2.0.3/src/video/wayland/SDL_waylandopengles.h:38:38: error: 'SDL_EGL_GetSwapInterval' undeclared (first use in this function)
|  #define Wayland_GLES_GetSwapInterval SDL_EGL_GetSwapInterval

Solve this by adding gles2 to the Wayland PACKAGECONFIG option.

(From OE-Core rev: 8a497ef5eb3b54ed45b826fec910ed61985e04ce)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:50:32 +00:00
Ross Burton
4b38be689f meta: add some missing Upstream-Status tags to patches
Where Signed-off-by statements have been added they were sourced from the
original commit where the author claims creation.

(From OE-Core rev: 3e6f57059d1a5343fe1432fba408ee3f33b4c2f7)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:50:32 +00:00
Ross Burton
42c75cd9c0 weston: delete unused patch
This patch was dropped from the recipe in the 1.8.0 upgrade.

(From OE-Core rev: a5e09329b8796576c158e62d87249dd4a1cc011a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:50:32 +00:00
Ross Burton
521fac6cef glibc: fix Upstream-Status tag
(From OE-Core rev: 27debfb85c74ee7a4a13657e3aa4f3d1a326f776)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:50:31 +00:00
Tzu-Jung Lee
44a7bbc931 linux-firmware: package Broadcom BCM4339 firmware
(From OE-Core rev: 3d0f829740e67e9f1116ef0b8d8715c5c26d4fb7)

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>
2015-11-25 07:50:31 +00:00
Ross Burton
f9d51cd06c libusb1: fix make install race
There's an install race in when building in parallel, remove a redundant rule to
stop it happening.

(From OE-Core rev: cbdd4099b06011f2b73743c715276c730b7bf576)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:50:31 +00:00
Jens Rehsack
cb01f6d0af libusb1: upgrade from 1.0.19 to 1.0.20
This updates libusb1 from 1.0.19 to 1.0.20

2015-09-13: v1.0.20
* Add Haiku support
* Fix multiple memory and resource leaks (#16, #52, #76, #81)
* Fix possible deadlock when executing transfer callback
* New libusb_free_pollfds() API
* Darwin: Fix devices not being detected on OS X 10.8 (#48)
* Linux: Allow larger isochronous transfer submission (#23)
* Windows: Fix broken builds Cygwin/MinGW builds and compiler warnings
* Windows: Fix broken bus number lookup
* Windows: Improve submission of control requests for composite devices
* Examples: Add two-stage load support to fxload (#12)
* Correctly report cancellations due to timeouts
* Improve efficiency of event handling
* Improve speed of transfer submission in multi-threaded environments
* Various other bug fixes and improvements
The (#xx) numbers are libusb issue numbers, see ie:
https://github.com/libusb/libusb/issues/16

(From OE-Core rev: 641a9454fbb25f1458bb8f96cbfada3e0da98dee)

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:50:31 +00:00
Hongxu Jia
b4e6f6345b perl: fix spaces in brackets while using CC version
Here is the way to reproduce the issue:
...
root@localhost:~# perl -e "use Errno qw(ENOENT);"
"ENOENT" is not exported by the Errno module
Can't continue after import errors at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
...

For some distros, there was extra spaces in the
brackets while using CC version:

For Windriver:
$CC --version
x86_64-wrs-linux-gcc (Wind River Linux 5.2.0-8.0-intel-x86-64) 5.2.0

For Ubuntu:
$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

So we replace the contects between brackets with semicolon
and then use space to split.

[YOCTO #8367]

(From OE-Core rev: 115bf201a775410121d2f9769a4a5bb909cac5fd)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:50:31 +00:00
Otavio Salvador
a59d019372 u-boot: Update to 2015.10 release
The U-Boot 2015.10 has been released at October 20th 2015. This also
removes the GCC workaround, for the inline behavior, as this version
properlu supports the GCC 5.2 as compiler.

(From OE-Core rev: aebd1a87bbf960e69301bd29137aabb5dfab05fc)

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>
2015-11-25 07:50:31 +00:00
Robert Yang
e67c5b0ccf bitbake-prserv-tool: check file name
Fixed:
$ bitbake-prserv-tool import /tmp/1
  File "/path/to/lib/bb/parse/__init__.py", line 114, in handle(fn='/tmp/1', data=<bb.data_smart.DataSmart object at 0x2369bd0>, include=True):
                     return h['handle'](fn, data, include)
    >    raise ParseError("not a BitBake file", fn)

ParseError: ParseError in /tmp/1: not a BitBake file

But 1.conf or 1.inc works well, check the filename and print proper
error message.

(From OE-Core rev: 273eee7a3614caea17c5bc93b720353641293cf7)

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>
2015-11-25 07:50:30 +00:00
Christopher Larson
4e2c5e171c recipetool.append: don't choke on a trailing ; in a url
Apparently bb.fetch.URI can't handle this at the moment.

(From OE-Core rev: d3e0a300810251f34932f46daf5263a23846fedd)

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>
2015-11-25 07:50:30 +00:00
Leonardo Sandoval
a35f79ddd8 yocto-bsp: Set SRCREV meta/machine revisions to AUTOREV
By default, checkout to latest revision from the machine branch specified by
the user.

(From meta-yocto rev: f79a43406b5b323587415380ecffc87527c64653)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:45:21 +00:00
Leonardo Sandoval
9d585b5025 yocto-bsp: Set KTYPE to user selected base branch
Fixes the hardcode branch name set to KTYPE, where its value is used as a base branch
when user decides to create a new branch. Tested on x86_64 architecture.

[YOCTO #8630]

(From meta-yocto rev: ab895be90a0cae7dfa77a8aab3b19e5571e7e7bc)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:45:20 +00:00
Leonardo Sandoval
1542c2ab72 yocto-bsp: Typo on the file extension
By mistake, the file initially had a wrong extension name, so changing to the
correct one.

(From meta-yocto rev: 32c2278b8fe93429d4cfa097eefccd20157cd3b8)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:45:20 +00:00
Leonardo Sandoval
f674ffa528 yocto-bsp: Avoid duplication of user patches ({{=machine}}-user-patches.scc)
On linux-yocto-dev or linux-yocto_X.YY bbappend files, the SRC_URI includes
{{=machine}}-standard.scc, which in turn includes {{=machine}}-user-parches.scc,
thus there is no need to include it again on the corresponding bbappend file.

[YOCTO #8486]

(From meta-yocto rev: 11c93b5dd8c651df478d4810e1b6ff6ad9fa57e8)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:45:19 +00:00
Mariano Lopez
49a465cd23 package_manager.py: Delete installed_pkgs.txt file
This change removes the file installed_pkgs.txt after it
was used for installation of complementary packages. This
file was causing confusion when left in the WORKDIR after
the build.

(From OE-Core rev: d0f3f3a294d509560bd12b93b26eeec65cfee314)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:55:42 +00:00
Mariano Lopez
ace895d162 rootfs.py: Stop using installed_pkgs.txt
The method _uninstall_unneeded uses the file installed_pkgs.txt,
this file is left after the build and can cause confusion. This
changes allow to get the installed packages using functions of
rootfs instead of the installed_pkgs.txt file. With this change
now is possible to remove the file without breaking anything.

[YOCTO #8444]

(From OE-Core rev: bf935ac16f6175673417dda92a619946b52fac87)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:55:42 +00:00
Ross Burton
ccb1616e54 lib/oe/distro_check: don't set empty proxy keys
If the proxies dictionary has a proxy set to None urllib will throw an exception
instead of not using a proxy (abridged stack):

File: '/home/ross/Yocto/poky/meta/lib/oe/distro_check.py', lineno: 43, function: get_links_from_url
 *** 0043:    with create_socket(url,d) as sock:
     0044:        webpage = sock.read()
File: '/home/ross/Yocto/poky/meta/lib/oe/distro_check.py', lineno: 5, function: create_socket
     0003:def create_socket(url, d):
     0004:    import urllib
 *** 0005:    socket = urllib.urlopen(url, proxies=get_proxies(d))
File: '/usr/lib/python2.7/urllib.py', lineno: 87, function: urlopen
     0086:    if data is None:
 *** 0087:        return opener.open(url)
File: '/usr/lib/python2.7/urllib.py', lineno: 203, function: open
     0201:        else:
     0202:            proxy = None
 *** 0203:        name = 'open_' + urltype
     0204:        self.type = urltype
     0205:        name = name.replace('-', '_')
Exception: TypeError: cannot concatenate 'str' and 'NoneType' objects

Filter out unset values so that the dictionary only has valid assignments in.

(From OE-Core rev: 2d91290ab5608dd1297d1c26ab807fc4574a8a6b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:55:41 +00:00
Richard Purdie
8137a846fb lib/oe/copy_buildsystem: Don't expand BB_TASKDEPDATA
The value isn't a string so don't try and expand it.

(From OE-Core rev: ab87d3649c39326938d82d623efafb76905f770d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:55:41 +00:00
Ross Burton
a6c68d85a9 oeqa/selftest/sstatetests: prettier output for allarch test
Instead of creating two lists of full paths and comparing them which in failure
produces a list of every stamp file (so all tasks, twice), reduce the filename
down to a recipe/task->hash dictionary and compare those, meaning unittest
shows the differences in the dictionaries.

In the future get_files() should be generalised so all tests in this class can
use it, and find a pair of hashes that don't match and run diffsigs on them.

(From OE-Core rev: b612628081b81b50965ae9454df4b2747c6997b2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:55:41 +00:00
Daniel Istrate
92328b43bc oeqa/selftest/signing: Added new test for signing sstate.
[YOCTO #8182] Optional signing sstate archives and signature verification
[YOCTO #8559] Signing sstate archives with custom dir for gpg keys

(From OE-Core rev: 6a462fbb11db2085e4b6763a601c7fc4ac0025c8)

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>
2015-11-24 15:55:41 +00:00
Daniel Istrate
fbb03a8c90 oeqa/selftest/signing: New test for Signing packages in the package feeds.
[YOCTO # 8134] This test verifies features introduced in bug 8134.

It requires as resources the files from meta-selftest/files/signing:
For 'gpg --gen-key' the used input was:
key: RSA
key-size: 2048
key-valid: 0
realname: testuser
email: testuser@email.com
comment: nocomment
passphrase: test123

(From OE-Core rev: 6b9d22bfd5414b517a1f0468e1229dfa2294b5fd)

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>
2015-11-24 15:55:41 +00:00
Christopher Larson
13a4c383c1 qemu.bbclass: fix vardeps of QEMU_OPTIONS
The variable name for QEMU_EXTRAOPTIONS is constructed programmatically, so we
need an explicit variable dependency, otherwise changes to it won't cause e.g.
qemuwrapper-cross to be rebuilt.

(From OE-Core rev: 7740f214fffd6278f801899fc5e45f5720cbb544)

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>
2015-11-24 15:55:41 +00:00
Christopher Larson
51bd011f8b qemu.bbclass: correct the fsl ppc QEMU_EXTRAOPTIONS
These need to be based on PACKAGE_ARCH rather than TARGET_ARCH, as we aren't
using overrides for this.

(From OE-Core rev: 46f41df60491990dc41f0514f63b304ac51b67d1)

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>
2015-11-24 15:55:41 +00:00
Jens Rehsack
753f31e3d1 autotools: Allow recipe-individual configure scripts
OpenJDK-8 has it's configure script at common/autotools - which will cause
the entire assumption of ${S}/configure is regenerated by autoreconf, intltoolize or alike
fails heavily.

Also - other configure mechanisms can be supported more similar (see how pkgsrc
manages different ones ...)

(From OE-Core rev: fe506eddb0790e37ac1e50f37fa2e32ad81d5493)

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:55:40 +00:00
Mike Crowe
e28179101c allarch: Force TARGET_*FLAGS variable values
TARGET_CPPFLAGS, TARGET_CFLAGS, TARGET_CPPFLAGS and TARGET_LDFLAGS may
differ between MACHINEs. Since they are exported they affect task hashes
even if unused which leads to multiple variants of allarch packages
existing in sstate and bouncing in the sysroot when switching between
MACHINEs.

allarch packages shouldn't be using these variables anyway, so let's
ensure they have a fixed value in order to avoid this problem.

(Compare with 05a70ac30b37cab0952f1b9df501993a9dec70da and
14f4d016fef9d660da1e7e91aec4a0e807de59ab.)

(From OE-Core rev: d08fda21bfb7d264c238af0232a22cdd751f5150)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:55:40 +00:00
Maxin B. John
e28e17e8e9 distro/maintainers.inc: include stress package details
Include stress package in maintainers.inc file

(From meta-yocto rev: a95cb3ef26ead4bd5b2794aa583aba98327e68f0)

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>
2015-11-24 15:50:28 +00:00
Christopher Larson
76d2e46211 image_types: improve wks path specification
Hardcoding a full input path with zero flexibility goes against everything the
Yocto Project is about. Rework it to let the user specify the wks base
filename with WKS_FILE and it'll search the layers for the wks file and use
it.

(From OE-Core rev: 8cc7f5229f5447c2183ac319dd52c7ed737ec89b)

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>
2015-11-24 15:50:28 +00:00
Jian Liu
70ae7a6716 insane.bbclass: Avoid libdir QA check if PACKAGE_DEBUG_SPLIT_STYLE='debug-file-directory'
If PACKAGE_DEBUG_SPLIT_STYLE='debug-file-directory', debuglibdir will be
"/usr/lib/debug". Usually 64bit libs should be put under "/usr/lib64".
This often cause an warning, so skip the checking.

(From OE-Core rev: f18a917c1493d4107c7f9db1d9ba19ec368f9b48)

Signed-off-by: Jian Liu <jian.liu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:27 +00:00
Tyler Hall
cf0dfdbcf8 classes/cpan-base: fix libdir for nativesdk
Immediate expansion of perl_get_libdirs() is too early for
BBCLASSEXTEND. This results in a packaging QA error when building a cpan
recipe as nativesdk. The split debug files do not get picked up by the
dbg package because it looks in the wrong libdir.

The is_target() function remains because it is used elsewhere.

(From OE-Core rev: b32420effcc0435353adc63023d2e4276dd1e0c6)

Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:27 +00:00
Maxin B. John
a205c4ce1d bbclass: fix spelling mistakes
Fix some spelling mistakes in bbclass files

(From OE-Core rev: ed484c06f436eea62c5d0b1a2964f219f3e5cb61)

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>
2015-11-24 15:50:27 +00:00
Martin Jansa
cf218e56af rootfs_*.bbclass: don't add BUILDNAME to do_rootfs vardepsexclude
* rootfs_*.bbclass doesn't use this variable anymore, so we can drop it

(From OE-Core rev: bf91547d887aee2893e26e6073e12c540222b422)

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>
2015-11-24 15:50:27 +00:00
Richard Purdie
7d8616c2fc insane: Don't depend on BB_TASKDEPDATA
The dependency data in BB_TASKDEPDATA is encoded into the sstate checksum
in a much more reliable format. This dependency runs the risk of depending
on the string representation of a dict which is a bad idea. Therefore
remove the dependency.

(From OE-Core rev: 1eefc83e6aeb3cd5501b8e593dda052b1e183cc5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:27 +00:00
Jens Rehsack
a9cc27e691 kernel: fix race condition between compile_kernelmodules and shared_workdir
Fixes https://bugzilla.yoctoproject.org/show_bug.cgi?id=8127 which causes
[ 1225.089323] 8189es: Unknown symbol cfg80211_scan_done (err -22)
[ 1225.095916] 8189es: no symbol version for cfg80211_remain_on_channel_expired
when loading external compiled 8189es module.

(From OE-Core rev: afcea61e8eb39234d336c706fdfd4680dea7c060)

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:27 +00:00
Richard Purdie
fecb07755c classes: Ensure pass setVar/setVarFlag strings, not integers
This doesn't cause any issues right now but it make sense to standardise
on consistently using strings in the data store.

(From OE-Core rev: 99203fbe5ad470ef65cff93cec9d7f332883b5ee)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:26 +00:00
Paul Eggleton
9167f200eb classes/license: fix intermittent license collection warning
Fixes the following warning sometimes appearing during image builds:

WARNING: The license listed ABC was not in the licenses collected for recipe xyz

The files being looked for here, which runs during do_rootfs,
are written out by the do_populate_lic task for each recipe. However,
there was no explicit dependency between do_rootfs and all of the
do_populate_lic tasks to ensure they had run - only an implicit link via
do_build, so it is possible that sometimes they had not depending on how
the tasks were scheduled. Add an explicit set of dependencies to fix
this.

(From OE-Core rev: ef7dc532e800d9b170246550cbc8703adf624beb)

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>
2015-11-24 15:50:26 +00:00
Paul Eggleton
43c8867b63 classes/metadata_scm: fix git errors showing up on non-git repositories
Fixes the following error showing up for layers that aren't a git repo
(or aren't parented by one):

fatal: Not a git repository (or any of the parent directories): .git

This was because we weren't intercepting stderr. We might as well just
use bb.process.run() here which does that and returns stdout and stderr
separately.

(This was a regression that came in with OE-Core revision
3aac11076e).

Fixes [YOCTO #8661].

(From OE-Core rev: f533c1bf4c6edbecc67f9e2c62fd475d64668e86)

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>
2015-11-24 15:50:26 +00:00
Ross Burton
59b27d558f sstate: respect GPG_BIN and GPG_HOME
The package feed signing code supports the user providing the path to the gpg
binary and an alternative gpg 'home' (usually ~/.gnupg), which are useful for
both deployment and QA purposes.

Factor out the gpg command line construction to a function which can fetch both
of these variables, and also use pipes.quote() to sanitise the arguments when
used in a shell context.

[ YOCTO #8559 ]

(From OE-Core rev: 6daf138822bbbc46960121d3b76b42eaf19e7c0e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:26 +00:00
Jian Liu
4415dc5cdd archiver.bbclass: add bbappend when do_ar_recipe kernel and gcc packages
bbappend files are not included in the archiver during do_ar_recipe.
Find and put them into the tarball.

(From OE-Core rev: 5c84057de5b31c5d6d9abfcca3078bf766a21d88)

Signed-off-by: Jian Liu <jian.liu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:26 +00:00
Alejandro Hernandez
2f0ff3abb4 archiver.bbclass: fix previous issue regarding work-shared for linux-yocto
A previous patch intended to fix and improve the archiver class, and while it
did for gcc packages, with it some issues ended up being hidden, the kernel
tasks taken from kernel.bbclass and kernel-yocto.bbclass specifically expect the
kernel to use work-shared, which either ended up causing issues or wasting time
doing unnecessary work, this patch fixes these issues by performing the right
tasks within the archiver in the right order

[YOCTO #8378]

(From OE-Core rev: d643e43622eb3e43fbb2e21fa33580e2fcdf42be)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:26 +00:00
Enrico Scholz
0cc4eef515 waf.bbclass: filter out non -j from PARALLEL_MAKE
'waf' supports only simple '-j' and fails when parallel make flags
contain extended options like '--load-average'.

Patch uses the method from 'boost.inc' to filter '-j'.

(From OE-Core rev: bc394e1dd229845a315a97704beca43fbb8976ee)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:25 +00:00
Ross Burton
95719b00fb ptest-gnome: extend EXTRA_OECONF in all builds, not just target
This class was extending EXTRA_OECONF only in target builds with
--enable/--disable-installed-tests.  However for native builds we don't care
about the test suite and should be explicitly disabling it.

This stops glib-2.0-native trying to build the test suite that we'll never
execute.

(From OE-Core rev: 926a8365b4f7233e5ab5a6b97e8ed53f417c0cfc)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24 15:50:25 +00:00
Scott Rifenbark
1b25a70991 yocto-project-qs, ref-manual, poky.ent: CentOS Package updates
Fixes [YOCTO #8696]

Turns out the 'dnf' command is not yet supported for CentOS
as it is for Fedora, I changed the 'dnf' command back to
'yum'.  Also, there were some essential packages that needed
to be added to CentOS.  Finally, there was a slight
inconsistency in the Fedora list of essential packages and the
ones for supporting Graphics.  I had a redundant listing of
one of the packages.  I took that out of the Graphics area and
left it only in the essentials area.

(From yocto-docs rev: dde72542ca87bfdd82d713f90938a41c83ac8a4d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-18 16:42:22 +00:00
Anibal Limon
2e649d79ab dev-manual: Updated runqemu command options list
Since 2.0 release KVM mode does not require VHOST
enablement and a new option was added to support the
old mode.  Updated the list of runqemu command options.

(From yocto-docs rev: 6bca626b163ee5e35e04d659579076ab92c4951a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-18 16:42:22 +00:00
Scott Rifenbark
bd62289d3f toaster-manual: Removed SDKMACHINE from the json file example.
(From yocto-docs rev: f8c62ba32f471076a33d79f4e47f18dccd5690c6)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-18 16:42:22 +00:00
Scott Rifenbark
c674cd701c ref-manual: Updated list of supported distros.
(From yocto-docs rev: b91a39de1fac9ab2e0896d3124c6e359da9165ee)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-18 16:42:22 +00:00
Scott Rifenbark
33d8cff7ac ref-manual: Updated the GCC 5 migration section for 2.0
Added another link to Josh's porting guide.

(From yocto-docs rev: a1860811628aeddd579f92844f3e6bfcbded2936)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-18 16:42:22 +00:00
Richard Purdie
d9aabf9639 gcc: Drop 4.8
We have 5.2 and 4.9, we don't really need 4.8 now and it can be moved
out to other layers if anyone still wants/needs it.

(From OE-Core rev: 6f98c39418c60b7c0b25b30983d2e5257158a6a4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 14:59:18 +00:00
Richard Purdie
2cb1aee048 layer.conf: Correct gcc-cross dependency
The dependency listed in layer.conf is incorrect, gcc-cross DEPENDS
on ${TARGET_PREFIX}libc-for-gcc, not virtual/libc. These happen to
resolve the same values however they may not always both be built.

The result of this was that gcc-cross gets a different task hash
depending on whether virtual/libc was included in the build.
Specifically "bitbake m4" and "bitbake virtual/kernel" would result
in different task checksums.

The fix is to use the correct dependency name.

[YOCTO #8692]

(From OE-Core rev: 464a4f628f4ec20e2220312e0caa40019edf58ad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 13:30:50 +00:00
Belen Barros Pena
88f9310ce0 bitbake: toaster: builds pages Fix the download cooker log link
The 'all builds' page was missing the download icon next to the outcome
icon, which allows you to download a build log from the 'all builds' page.

This patch brings it back. It also adds a check in the project builds page
to make sure the download icon only appears if the build generates a cooker
log, since builds that fail at the build request stage do not generate a
cooker log.

(Bitbake rev: 50d7ffa697764d84d96f26a3ae58a9dacde7b31e)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:55:08 +00:00
Belen Barros Pena
d04af8b571 bitbake: toaster: project pages Link to image recipes table in notifications
The project created notifications and the 'Choosea recipe to build' link in
the project page are linking to the software recipes table. Changes them to
link to the image recipes table instead, which is bound to be more useful.

(Bitbake rev: 10e1fbee0d79dbbf15b89ebc155bb2c0092a71f2)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:55:08 +00:00
Ke Zou
70465c717a bitbake: toaster: tests: Re-write some cases to make them more maintainable
(Bitbake rev: c3c7e94cadb3a3a2d8ef33ed456f439c106018c1)

Signed-off-by: Ke Zou <ke.zou@windriver.com>
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:55:08 +00:00
Richard Purdie
536b73f55f bitbake: data_smart: Only support lowercase OVERRIDES
Our current OVERRIDES handling means we end up caching and checking for
a lot of possible override combinations which turn out to very unlikely.
A typical example is the SRC_URI variable where we have to check if
"URI" is an override. Having spent many hours working in this code, I've
realised all the actual overrides we use are lower case and our standard
variables are mostly uppercase.

This means we could gain quite some speed advantage if we write this
into the code, that overrides only consist of lowercase characters. This
patch shows how simple this is and the resulting speed gains are
significant. This is a significant change but tests show we don't appear
to have any users of capitals in overrides in any OE-Core metadata.

Before "time bitbake -p":

real	2m4.224s
user	7m32.312s
sys	0m7.116s

After "time bitbake -p":

real	1m26.009s
user	5m10.484s
sys	0m4.640s

This check could also be made conditional however I'm not seeing a need
to do that at present.

(Bitbake rev: c9b9443faa76ee7366b1400a56f826f3f9dec1be)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:55:08 +00:00
Richard Purdie
fb01a66f48 bitbake: fetch2: Remove crazy code in unpack
This looks reasonable until you realise self.localpath is a function. Data
expansion of something which isn't a string is the original value so this
code just wastes CPU cycles and makes no sense. Remove it.

(Bitbake rev: 37214ea9bf484998b75dbc1200d53f1afc5257ed)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:55:08 +00:00
Richard Purdie
7db88aa67d bitbake: parse: Don't try to expand __base_depends/__depends
Trying to expand a variable which isn't a string doesn't make sense.

(Bitbake rev: 62367cca1f1793eb9827406bcdd5980fdeb80a60)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:55:07 +00:00
Richard Purdie
4c04ce0576 bitbake: cache: Don't try to expand __inherit_data
Trying to expand a variable which isn't a string doesn't make sense.

(Bitbake rev: 54d0ddd166a6707b4f8c8535639e3055b783363b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:55:07 +00:00
Elliot Smith
9d8e36a6c9 bitbake: toaster: localhostbectrl Pass DATABASE_URL in via the process environment
Instead of putting the DATABASE_URL as part of the command for launching
the bitbake observer process set it as part of environment.

This fixes two issues 1. Where the value isn't quoted and therefore will be
interpreted in the shell and 2. Anyone being able to see the value of
DATABASE_URL in the process tree.

[YOCTO #8669]

(Bitbake rev: 832a8523067606b180c02f0d1544e8a23219bb08)

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>
2015-11-16 11:55:07 +00:00
Michael Wood
4677d8b4fb bitbake: toaster: Remove the new-build-input button widget
The button required a lot of state maintenance to make sure it
showed up when the project was configured properly, showed correctly
according to the projects known to Toaster, displayed correctly
according to the mode Toaster was in, and was able to be
used to change the current project.

(Bitbake rev: b644514a96f3947ad3f307a26301c064c8ae18f8)

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>
2015-11-16 11:55:07 +00:00
Michael Wood
55f44943d7 bitbake: toaster: projecttopbar Use the project in context to get num builds
Use the project in the template context rather than ajax request to get
the number of ended builds.

(Bitbake rev: 1f6bfa876b17a600fc83c789af8aaa2639a463b2)

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>
2015-11-16 11:55:07 +00:00
Michael Wood
e9d4962a0c bitbake: toaster: projectpage Disable/Enable build input if we have 0 layers
If we've removed all the layers in the configuration, disable the build
button and build input.

(Bitbake rev: 872bd5ccf58236f5146b1640cc1c465b58371e44)

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>
2015-11-16 11:55:07 +00:00
Michael Wood
5fa4c73603 bitbake: toaster: orm Fix get_number_of_builds to count all apart from IN_PROGRESS
The count of a project's builds should not include those which are
currently in progress.

(Bitbake rev: a981700701c41c7bbb6a9778e95f691278c5c294)

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>
2015-11-16 11:55:06 +00:00
Richard Purdie
c4032f479e bitbake: codeparser: Only load the codeparser cache once
The server state gets reset multiple times during startup and currently
we reload the codeparser cache each time. This is pointless and causes
unnecessary interaction time with bitbake.

(Bitbake rev: 4f700316933e8e7b2d27366e5ce6176895b913e7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:55:06 +00:00
Ross Burton
e3b66c1dfa maintainers: mass reassign and cleanup
Remove several people who no longer should be considered owners of recipes,
reassign more to the new distro team, add new recipes and prune removed ones.

(From meta-yocto rev: 9bd13bac55faf37ba84da6769f32a5d584bd83cc)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:40 +00:00
Mark Hatle
37ddd3e6a2 Revert "local.conf.sample: Disable image-prelink by default"
This reverts commit 6dd28030f323d7106a02ec54ce4e249561ab0836.

Prelink now works properly again.  Re-enable the functionality.

(From meta-yocto rev: 582cfda2ebaddaa3707e38c30d98cb61f28f33d9)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:40 +00:00
Leonardo Sandoval
9cc221dcb6 yocto-bsp: Default kernel version to 4.1 on x86_64
On the 3.19 to 4.1 migration, the target x86_64 was not taken into account
(no reason, just missing the correspoding update on the kernel-list.noinstall
file), so moving it to 4.1 to be align with the rest.

(From meta-yocto rev: 283665d9295c3c10f964496dc0110137e358daa6)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:40 +00:00
Ruslan Bilovol
7100c4201c scripts: runqemu: remove QEMUARCH from help message
The QEMUARCH env variable is not used since commit
"d469c92 classes/imagetest-qemu: remove old image
testing class". Remove it from help message so
it will not confuse other people

(From OE-Core rev: f2f2fa61e2c331409f20c999f93d78ef752b4fd2)

Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:40 +00:00
Andre McCurdy
f47e4ad02c cairo: update 1.14.2 -> 1.14.4
Release 1.14.4    (2015-10-28  Bryce Harrington <bryce@osg.samsung.com>)
========================================================================
Just in time for Halloween we see another bug-fix release for Cairo.
This brings a few dozen straightforward bug fixes with no API changes.

In addition, this includes a typical assortment of fixes to tests,
cleanup of warnings and memory leaks, correction of misspellings,
updates to documentation, etc.

For a complete log of changes since 1.14.2, please see:

    http://cairographics.org/releases/ChangeLog.cairo-1.14.4

(From OE-Core rev: ff340f200159f79c0265234af58f965ae21a2965)

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>
2015-11-16 11:39:40 +00:00
Andre McCurdy
603b4de33a cairo.inc: drop obsolete CFLAGS += "-ffat-lto-objects" workaround
LTO support was removed from Cairo in 1.12.18 (and 1.14.0).

  https://bugs.freedesktop.org/show_bug.cgi?id=77060
  http://cgit.freedesktop.org/cairo/commit/?h=1.12&id=213b3b9b8b92944506c712aa4d728903c547f879

(From OE-Core rev: cedc94919995473ba67968a9115023d6061ab045)

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>
2015-11-16 11:39:39 +00:00
Andre McCurdy
e8833a6bc0 cmake: update 3.3.1 -> 3.3.2
(From OE-Core rev: 06f7aeabc49ef3d64b705224821b473f35490ea7)

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>
2015-11-16 11:39:39 +00:00
Paul Eggleton
8b2b068064 oe-selftest: add test for bitbake-layers show-recipes
Add a test for bitbake-layers show-recipes including the recently
added -i option.

(From OE-Core rev: da2733ad91cdff8cae2848fec5377ca777820d6b)

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>
2015-11-16 11:39:39 +00:00
Paul Eggleton
480bbaee58 oeqa/selftest/layerappend: fix test if build directory is not inside COREBASE
Fix test_layer_appends to work when build directory is not inside
COREBASE.

Fixes [YOCTO #8639].

(From OE-Core rev: 0f146e77655d153d3f9a59e489265450f08c6ad7)

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>
2015-11-16 11:39:39 +00:00
Paul Eggleton
a301f6e3b8 oeqa/selftest/devtool: fix test if build directory is not inside COREBASE
Fix test_devtool_update_recipe_git to work when build directory is not
inside COREBASE.

Fixes [YOCTO #8639].

(From OE-Core rev: 0225888207f82e5f1d9e3dffb7c342a10169aea3)

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>
2015-11-16 11:39:39 +00:00
Paul Eggleton
fd6bf771d0 classes/distrodata: split SRC_URI properly before determining type
We weren't splitting SRC_URI values containing multiple URIs here; this
didn't cause any errors except when a trailing ; was left on a URI, in
which case the next URI was considered part of the parameter, which
didn't contain a = and therefore was considered invalid.

We only care about the first URI in SRC_URI in this context (since
that's the upstream URI by convention) so split it as we should and take
the first item.

Fixes [YOCTO #8645].

(From OE-Core rev: 8e75b7e7d54e5638b42b9e7f90f2c6c17e62033f)

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>
2015-11-16 11:39:39 +00:00
Paul Eggleton
7cebff6bdc classes/buildhistory: split package history values only once
We don't actually use values we read in here that are likely to
contain = characters but we might as well split the value properly in
case we do in future.

(From OE-Core rev: afe100436bdeefb024b924ee27ad68830f085ff4)

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>
2015-11-16 11:39:39 +00:00
Paul Eggleton
10fc53427a conf/distro/include: drop old recipes from include files
These recipes have been removed (some a very long time ago, pre-dating
OE-Core).

(From OE-Core rev: 9e5d037af17ad6dc38b3c7351b5862c301391d13)

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>
2015-11-16 11:39:38 +00:00
Paul Eggleton
37cfd8080a gitignore: fix overzealous exclusion
This was excluding any subdirectory anywhere in the tree named build*,
rather than just at the root - thus anything in
meta/recipes-devtools/build-compare had to be forcibly added. Change the
line so that it only operates at the root of the repo.

(From OE-Core rev: 3a60e5dba0ea914b1bd7a2073c1977e1d8529541)

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>
2015-11-16 11:39:38 +00:00
Paul Eggleton
1f6599bef5 meta: Fix typos in Upstream-Status labels
We need these to be consistent so they are possible to programmatically
read.

(From OE-Core rev: c64fdfd27103a4962c74c88f4ef7940cda6832eb)

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>
2015-11-16 11:39:38 +00:00
Paul Eggleton
7cace4c73e meta/conf/layer.conf: fix typo
(From OE-Core rev: 50d484e66b410568f6c9da699e56d7c3641eae6e)

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>
2015-11-16 11:39:38 +00:00
Paul Eggleton
ca8e1e5832 texinfo-dummy-native: set SUMMARY instead of DESCRIPTION
We only have a short description, so set SUMMARY and DESCRIPTION
will be defaulted from it.

(From OE-Core rev: 07da8f6e0e40db8a3f4823387c53b109d7fd7ebd)

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>
2015-11-16 11:39:38 +00:00
Paul Eggleton
64cd113ef0 gstreamer1.0-meta-base: set SUMMARY instead of DESCRIPTION
We only have a short description, so set SUMMARY and DESCRIPTION
will be defaulted from it.

(From OE-Core rev: cb9a6f5f9dbb9a0ec3ca4b4c6adfe742bffd914c)

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>
2015-11-16 11:39:38 +00:00
Paul Eggleton
1d42d599bb mmc-utils: set SUMMARY instead of DESCRIPTION
We only have a short description, so set SUMMARY and DESCRIPTION
will be defaulted from it.

(From OE-Core rev: 1cf9fe8d832c5c6110beb495c3b4eab132a82b97)

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>
2015-11-16 11:39:38 +00:00
Paul Eggleton
669254021f swig: set SUMMARY instead of DESCRIPTION
We only have a short description, so set SUMMARY and DESCRIPTION
will be defaulted from it.

(From OE-Core rev: 6d70bdcd9e71f3a3d1cc4023e062f245b85c2afd)

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>
2015-11-16 11:39:37 +00:00
Paul Eggleton
47ae8ebf91 alsa-plugins: set SUMMARY instead of DESCRIPTION
We only have a short description, so set SUMMARY and DESCRIPTION
will be defaulted from it.

(From OE-Core rev: 8b57d675ae59c24f4781e39cb6880df2e7cb18ad)

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>
2015-11-16 11:39:37 +00:00
Paul Eggleton
eac5fa9ca4 tzcode-native: set SUMMARY instead of DESCRIPTION
We only have a short description, so set SUMMARY and DESCRIPTION
will be defaulted from it.

(From OE-Core rev: 35311ffd5c98e4f893a2de18c022dc352870225d)

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>
2015-11-16 11:39:37 +00:00
Paul Eggleton
0a30a1fd3f linux-yocto.inc: set SUMMARY instead of DESCRIPTION
We only have a short description, so set SUMMARY and DESCRIPTION
will be defaulted from it.

(From OE-Core rev: 1d655e2407267ed91e371e078e9a9a10183e3d62)

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>
2015-11-16 11:39:37 +00:00
Paul Eggleton
19e1a73064 python-nose: add SUMMARY
(From OE-Core rev: b9dade84d9d58c2f7c1488d24f635214684fdfd3)

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>
2015-11-16 11:39:37 +00:00
Paul Eggleton
b5f58c1940 stress: add SUMMARY
(From OE-Core rev: bfe70134ae569a51b3decf2dd6ae3ae25dbb5994)

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>
2015-11-16 11:39:37 +00:00
Paul Eggleton
5f9392acfe libunwind: add SUMMARY
(From OE-Core rev: 55420b6267690bb3f2515d2b4030a360455b561c)

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>
2015-11-16 11:39:37 +00:00
Paul Eggleton
1460e01165 gptfdisk: add SUMMARY
(From OE-Core rev: 71d1d180d6fdad900b9e2f20d7394907e8e454df)

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>
2015-11-16 11:39:37 +00:00
Paul Eggleton
0821c36fed verify-homepage: fix recipe file selection
* We need to check all recipe files, not just the preferred ones
  (i.e. we have multiple recipes for different versions of the same
  piece of software). Print the recipe file name (without path) so we
  can tell the difference between them.
* We can skip BBCLASSEXTENDed variants of recipes

(From OE-Core rev: 3e81d209fd8c76fce5bee19acb591483c1335119)

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>
2015-11-16 11:39:36 +00:00
Paul Eggleton
0c489216de verify-homepage: tidy up output and comments
* Set up and use a proper logger
* Tweak output messages and comments

(From OE-Core rev: 6ee412409ff9331847fbe4e44d1c2a47d2453f18)

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>
2015-11-16 11:39:36 +00:00
Paul Eggleton
0e348e76f3 verify-homepage: get expanded HOMEPAGE value
We tend not to use any variables in HOMEPAGE values, but that doesn't
mean we would never do so.

(From OE-Core rev: 388737270b681439b31f4e1189bdc09d38705f25)

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>
2015-11-16 11:39:36 +00:00
Paul Eggleton
caaca00acb verify-homepage: use scriptpath to find bitbake path
We have shared code for this, let's use it.

(From OE-Core rev: e7a5d6e7802b58cf6eae1d83e4bf5c50ab66f80a)

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>
2015-11-16 11:39:36 +00:00
Ross Burton
649b6bcfe8 libaio: don't disable linking to the system libraries
For some reason that I don't understand (a decade-old attempt at optimisation?)
libaio disables linkage to the system libraries.  Enabling fortify means linking
to the system libraries, so remove the existing addition of -lc for x86 (the
problem also happens on at least PPC) and just link to the system libraries on
all platforms.

Also remove the sed of src/Makefile as the build not respecting LDFLAGS has been
fixed upstream.

(From OE-Core rev: f435ac9db0581d8313a38d586b00c2b3de419298)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:36 +00:00
Ross Burton
11a9c24d6c runqemu: don't specify IP when starting a VNC server
Whilst qemu doesn't appear to support opening sockets on IPv6 yet, future-proof
the script by just specifying a port and letting qemu work out the rest.

(From OE-Core rev: abf8975bce4bf5d05dbb186d5089f0c3fe07eefb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:36 +00:00
Mariano Lopez
3b95964bc1 qemurunner: Remove the timeout in run_serial
Sometmes when there is high load in the server the
commands executed in the target take a lot of time
to complete and this lead to incorrect dump files or
empty files. This is caused because run_serial has a
timeout of five seconds when running the commands in
the target.

This change removes the timeout and just keep reading
the socket until it finds the prompt from the target
or when the socket is not ready to be read.

[YOCTO #8510]

(From OE-Core rev: d1a97475b4e6c7066a3161cb9cec1d4b27644518)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:36 +00:00
Armin Kuster
bbd6d07c98 libxslt: CVE-2015-7995
This is a is being give a High rating so please consider it for
all 1.1.28 versions.

A type confusion error within the libxslt "xsltStylePreCompute()"
function in preproc.c can lead to a DoS. Confirmed in version 1.1.28,
other versions may also be affected.

(From OE-Core rev: 0f89bbab6588a1171259801fa879516740030acb)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:35 +00:00
Carlos Rafael Giani
a0d2ea9a2a gstreamer1.0-rtsp-server: upgrade to version 1.6.1
(From OE-Core rev: 97ecc213e4c75bcf0b7975f82cd8d01f88c427e2)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:35 +00:00
Carlos Rafael Giani
2459ec2b31 gstreamer1.0-libav: upgrade to version 1.6.1
The lgpl PACKAGECONFIG is replaced by a gpl one,
since the LGPL build is the default now. There is no
--enable-lgpl switch anymore, it got replaced by
--enable-gpl.

(From OE-Core rev: ef620928b5caadae939e2759b1c3933084ad9ebb)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:35 +00:00
Carlos Rafael Giani
bce06e751a gstreamer1.0-plugins-ugly: upgrade to version 1.6.1
(From OE-Core rev: dac60a424e30b1a24ec3767a84f49eb8ffbadf48)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:35 +00:00
Carlos Rafael Giani
0ec3c62b42 gstreamer1.0-plugins-bad: upgrade to version 1.6.1
0001-gl-do-not-check-for-GL-GLU-EGL-GLES2-libs-if-disable.patch is now
in upstream, and therefore not needed as a separate patch anymore.

0001-glimagesink-Downrank-to-marginal.patch didn't apply anymore, and
was adapted to the updated code.

(From OE-Core rev: b771bf7a684e227e8402cef104ff3efe7637059a)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:35 +00:00
Carlos Rafael Giani
ba1bc6335b gstreamer1.0-plugins-good: upgrade to version 1.6.1
decrease_asteriskh263_rank.patch no longer applies, and is obsolete, since
the asteriskh263 rank has been set to NONE in upstream.

Also, --enable-xshm is no longer part of the configure options.

(From OE-Core rev: 9f0b3251bfab84369b2d4568816254bd968afca0)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:35 +00:00
Carlos Rafael Giani
4a55d12f64 gstreamer1.0-plugins-base: upgrade to version 1.6.1
A number of patches had to be deleted in order for the recipe to work.

Patches which cannot be applied cleanly to 1.6.1 and are nontrivial to fix:
* 0001-basetextoverlay-make-memory-copy-when-video-buffer-s.patch
* handle-audio-video-decoder-error.patch
* taglist-not-send-to-down-stream-if-all-the-frame-cor.patch

Patches which were rejected by upstream:
* 0002-gstplaysink-don-t-set-async-of-custom-text-sink-to-f.patch

Patches which either were backports or accepted and integrated:
* 0001-video-frame-Don-t-ref-buffers-twice-when-mapping.patch
* 0002-video-frame-Add-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch
* 0003-videofilter-Use-new-GST_VIDEO_FRAME_MAP_FLAG_NO_REF.patch
* do-not-change-eos-event-to-gap-event2.patch
* do-not-change-eos-event-to-gap-event3.patch
* do-not-change-eos-event-to-gap-event-if.patch
* fix-id3demux-utf16-to-utf8-issue.patch
* videobuffer_updata_alignment_update.patch
* videoencoder-Keep-sticky-events-around-when-doing-a-soft-.patch

(From OE-Core rev: f22fd450babf8c515f86334958f8ca2e0af6f19c)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:35 +00:00
Carlos Rafael Giani
8360f23bca gstreamer1.0: upgrade to version 1.6.1
Removed patches which either were backports or accepted and integrated

(From OE-Core rev: 6fa5cddbe9ceaa21a0f3ef7fe134257b47039505)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:34 +00:00
Mark Hatle
8800033523 prelink: Fix various prelink issues on IA32, ARM, and MIPS.
Fix the following issues:

IA32 / ARM - Resync to glibc-2.22, fix a mismatch w/ glibc's ld.so
MIPS - Ignore the new SHT_MIPS_ABIFLAGS
ARM - Fix missing ARM IFUNC support chunk

Also upstream prelink project no longer has a 'trunk' directory.

(From OE-Core rev: c725328f2ab5c9b220c552ed37c0d24b098a218d)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:34 +00:00
Mark Hatle
920fb964d6 gcc: Update default Power GCC settings to use secure-plt
The gcc default, bss-plt, will cause errors when using the prelinker.  All
other distributions that I am aware of are using the the secure-plt.  For an
explanation of the differences, the gcc docs:

  Current PowerPC GCC accepts a `-msecure-plt' option that generates code
  capable of using a newer PLT and GOT layout that has the security
  advantage of no executable section ever needing to be writable and no
  writable section ever being executable. PowerPC ld will generate this
  layout, including stubs to access the PLT, if all input files (including
  startup and static libraries) were compiled with `-msecure-plt'.
  `--bss-plt' forces the old BSS PLT (and GOT layout) which can give
  slightly better performance.

The security of the new PLT and ability to run the prelinker outweigh
any performance penalty.

The secure-plt is enabled by default.  The old bss-plt can be enabled by
selecting 'bssplt' in the DISTRO_FEATURES.

(From OE-Core rev: 70c55aada1101a5c687cdaa79f370fa4530b39d9)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:34 +00:00
Mark Hatle
7b1763a248 glibc: Fix ld.so / prelink interface for ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA
A bug in glibc 2.22's ld.so interface for the prelink support causes
the displayed values to be incorrect.  The included path fixes this
issue.

   Clear ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA for prelink

   prelink runs ld.so with the environment variable LD_TRACE_PRELINKING
   set to dump the relocation type class from _dl_debug_bindings.  prelink
   has the following relocation type classes:

   where ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA has a conflict with
   RTYPE_CLASS_TLS.

   Since prelink doesn't use ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA, we
   should clear the ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA bit when the
   DL_DEBUG_PRELINK bit is set.

(From OE-Core rev: 12c86bdcc60c54e587a896b0dceb8bb6cc9ff7e3)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:34 +00:00
Leonardo Sandoval
e63e1918ff qemurunner: Enable timestamps on kernel boot-up
Having the timestamps in the log is useful when debugging those cases when
the booting time takes longer than expected. printk.times=1 enables stamping
into every printk Kernel call.

(From OE-Core rev: 8f8db89a91142bf71d009df881107b4c1fc61237)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:34 +00:00
Wenzong Fan
a1ca788092 openssl: fix mips64 configure support
Match target name linux-mips64 as well, all mips64 targets will have
mips(32) userspace.

(From OE-Core rev: 245113ca1075bc3f0c47952e80b437229f855080)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:34 +00:00
Ross Burton
5a10a6f153 at: modify sources in do_patch
Instead of copying the forked source files into ${S} in do_compile_prepend(), do
it in a do_patch() postfunc.  This ensures that the source archiver sees the
changes for compliance and legal verification.

(From OE-Core rev: 7d76d7d90f8e832ddaaebfae125c7f9aecfcac9f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:34 +00:00
Ross Burton
78e05984b1 unzip: rename patch to reflect CVE fix
(From OE-Core rev: e3d2974348bd830ec2fcf84ea08cbf38abbc0327)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:33 +00:00
Ross Burton
b80935a6d7 readline: rename patch to contain CVE reference
To help automated scanning of CVEs, put the CVE ID in the filename.

(From OE-Core rev: 211bce4f23230c7898cccdb73b582420f830f977)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:33 +00:00
Ross Burton
86d84ffdd5 qemu: upgrade to 2.4.0.1
This release is just security fixes:
- CVE-2015-5225
- CVE-2015-6815
- CVE-2015-5278
- CVE-2015-5279

(From OE-Core rev: 6a488fbde7ec33d3abecf8b7cbcef5f2a513a76b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:33 +00:00
Maxin B. John
4f0d7564f5 gnome-desktop-testing: fix ptest output format
Fix ptest output format for glib-2.0 and other packages
which depends on gnome-desktop-testing framework.

[YOCTO #6601]

(From OE-Core rev: 1a81e2f57e49b070fdb0cc7a2d35175fb195431d)

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>
2015-11-16 11:39:33 +00:00
Hongxu Jia
834de8490a default-distrovars: remove less from WHITELIST_GPL-3.0
As oe-core commit 37c8c2c5f6937520eaf9f5d981f9315e36eba4bb and
fa7bdf96b8eb8b5078db38249c5c60ec511c35c6 said, Mark Nudelman
(author of less) has given permission to utilize a generic 2-clause
BSD, so we remove it from WHITELIST_GPL-3.0 which caused
a QA Warning while INCOMPATIBLE_LICENSE += "GPLv3 LGPLv3 GPLv3+ LGPLv3+"
...
|NOTE: INCLUDING less as buildable despite INCOMPATIBLE_LICENSE
because it has been whitelisted
...

(From OE-Core rev: 712c4ccb0c5bede4f7199dabb5a75d0fabeb0564)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:33 +00:00
Andre McCurdy
29bba95a39 lsof: don't export EXTRA_OEMAKE
EXTRA_OEMAKE is private to OE and shouldn't be exported to
the lsof build.

(From OE-Core rev: e20bc06365242a526e1b755b8b3eded433cb3454)

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>
2015-11-16 11:39:33 +00:00
Andre McCurdy
3d377686a4 cmake.bbclass: don't duplicate CMAKE_C_FLAGS in CMAKE_C_FLAGS_RELEASE
The base CMAKE_<LANG>_FLAGS are included for all build types,
therefore the CMAKE_<LANG>_FLAGS_RELEASE should contain only
additional flags or over-rides.

  https://cmake.org/cmake/help/v3.2/variable/CMAKE_LANG_FLAGS.html

(From OE-Core rev: 961740d5d81ce44a595d5465bafb48a0cbab5159)

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>
2015-11-16 11:39:33 +00:00
Jate Sujjavanich
efc07c2936 rm_work.bbclass: Exclude do_rootfs stamp removal
This prevents unneeded rootfs rebuilds if the metadata has not changed
while using rm_work.

(From OE-Core rev: 7550b13786caa68a9944cd802eb970acbd17e754)

Signed-off-by: Jate Sujjavanich <jatedev@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:33 +00:00
Andre McCurdy
5f9d16bb87 cairo: fix license for cairo-script-interpreter
Without an explicit license, cairo-script-interpreter inherits
the default LICENSE and isn't packaged in builds which blacklist
GPLv3.

(From OE-Core rev: cb8f84218b065fed88a8c36f3c78065e8ab726bf)

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>
2015-11-16 11:39:32 +00:00
Kai Kang
73284790cd openssh: enable X11Forwarding if distro feature x11 is set
When distro feature x11 is set, it is better enable X11Forwarding for
ssh daemon. For contrast, dropbear enable X11 forward by default.

It does NOT need to modify ${WORKDIR}/sshd_config, so drop the modification.

(From OE-Core rev: 0dc68d745f97753fc9fde896f6ee1943c1e071b3)

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>
2015-11-16 11:39:32 +00:00
Aníbal Limón
adeb82075d acpid: Upgrade to 2.0.25
(From OE-Core rev: 444c5921725f74cd17ad460e9a7879c4f16905ce)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:32 +00:00
Kai Kang
781dfd8cf4 libidn: 1.30 -> 1.32
(From OE-Core rev: 2d0bf5f7214b6b8694a3b93d8e9b7e5ae24356f7)

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>
2015-11-16 11:39:32 +00:00
Kai Kang
351c69a022 sqlite: 3.8.10.2 -> 3.9.0
Upgrade sqlite from 3.8.10.2 to 3.9.0.

* update python function to get right SRC_URI
* drop 0001-using-the-dynamic-library.patch which use dynamic library
  that it is done that way in new version

(From OE-Core rev: a23ddbd2e197cfa1ebc829e0d83b8997dc24cec7)

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>
2015-11-16 11:39:32 +00:00
Josh Cartwright
c0fe43cdbe rt-tests: bump to v0.94
All of the rt-tests patches that OE has been carrying have been
upstreamed or superceded by changes in the v0.94 release.

Adjust SRC_URI to point to canonical upstream git repo, instead of a
development tree.

There was a notable change upstream that required slight reworking of
the recipe.  rt-tests now joins other kbuild-inspired projects by making
use of a CROSS_COMPILE flag to indicate the compiler prefix.

Previously TOOLCHAIN_OPTIONS were conveyed via $CC directly, however,
this does not work with CROSS_COMPILE.  Workaround this by both
specifying CROSS_COMPILE, and feeding the rt-tests build system the
proper $(HOST_CC_ARCH)$(TOOLCHAIN_OPTIONS) via $CFLAGS.

(From OE-Core rev: 37bd229626a259d2509a9cdd2d6a2d934121e9ca)

Signed-off-by: Josh Cartwright <joshc@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:32 +00:00
Jens Rehsack
cf972f9abf gbm: Fix "configure: error: gbm requires --enable-dri"
When building mesa without X11 enabled, and disabling dri package config,
the enforced "--enable-gbm" fails building mesa, because this feature
requires "--enable-dri", too - which has been disabled by package config.

Consequently, when gbm requires dri, --disable-dri causes in --disable-gbm,
which makes explicit --disable-gbm in case of --disable-dri redundant.

(From OE-Core rev: fee4a22c6919814bd541ab2cca9489e5ce3596b4)

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:32 +00:00
yadi.hu@windriver.com
17733cc607 xinetd: install xinetd supported services configuration
install xinetd supported services configuration, then these services
are able to work

(From OE-Core rev: 19040fb7898ffa30697577d43dd32cf279073d90)

Signed-off-by: Hu <yadi.hu@windriver.com>
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:31 +00:00
Alexander D. Kanevskiy
aa1844e847 combo-layer: introduce ability to exclude component from mass update
There is no ability at the moment for situations where users would like
to keep section in combo-layer.conf but don't update it, unless explicitly
specified.

Now, by adding "update = no" to desired section would exclude
that repository from "combo-layer update" command.

It is still possible to explicitly update it by "combo-layer update $section".

By default, all repositories are assumed as "update = yes"

(From OE-Core rev: 74ecf1a0e5c8230e55cb1a309f711d98fa63ce79)

Signed-off-by: Alexander D. Kanevskiy <kad@kad.name>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:31 +00:00
Stefan Christ
dcc446fee0 linux-dtb.inc: refactor common code to function get_real_dtb_path_in_kernel
(From OE-Core rev: 04ed298520d38e0b078723b1b45368b7037cf6e0)

Signed-off-by: Stefan Christ <s.christ@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:31 +00:00
Stefan Christ
af9c7a4c57 linux-dtb.inc: refactor common code to function normalize_dtb
(From OE-Core rev: 5dfa10978ef540a7a8cd89766c40625ccfeffda2)

Signed-off-by: Stefan Christ <s.christ@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:31 +00:00
Stefan Christ
7eecb81b6d linux-dtb.inc: explicit test for empty string not needed
The for loop already handles the case when KERNEL_DEVICETREE is empty.

(From OE-Core rev: 49010f4a1ae9570e96691c9faeb17808174488fe)

Signed-off-by: Stefan Christ <s.christ@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:31 +00:00
Ioan-Adrian Ratiu
54df911748 ptest-runner: Allow running of specific tests
By default ptest-runner executes all ptests found in a system.
With this change, ptest-runner can be given a list of ptest
package names to run (the default is still available).

For example, to run only the zlib and rt-tests ptests:
"ptest-runner zlib rt-tests"

(From OE-Core rev: a13333c3e9ab601a11c10aba2a0a55c7fdea2e24)

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:31 +00:00
Lucian Musat
54325b298b oeqa/testimage: Add support for test folder export.
If tests are organized in folders then it will copy the whole
folder to the export location. This should keep the original
directory structure for exported oeqa/runtime.

(From OE-Core rev: 8fe45badd3dfe44fa5161229324b6439594123fd)

Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:31 +00:00
Ross Burton
ecbe1359da oeqa/runtime/multilib: run the arch tests on connmand not connman-applet
(From OE-Core rev: 29945c12d43a1cc40b22caf04fe57f25b946e84f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:30 +00:00
Ross Burton
2d1071edb1 oeqa/runtime: remove dmesg test
This has been obsoleted by parselogs.

(From OE-Core rev: 05132fd236835db71d3e763b4d6ce01fcf14741a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:30 +00:00
Chen Qi
42a5378647 nfs-utils/statd: fix a segfault
Fix the segfault by separating the socket used in statd from the sockets
of RPC core.

(From OE-Core rev: 1f2ef653f5fb0b46daa17e08485468cc235cfbcc)

Signed-off-by: Shan Hai <shan.hai@windriver.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:30 +00:00
Jackie Huang
77e3246092 qemu: enable user mode for mips64 and mips64el
- remove mips64 and mips64el from softmmuonly list
  to enable user mode, they have been supported
  since 2012.
- keep the softmmuonly list and for loop although
  there is only one for now in case more supported
  arches added.

(From OE-Core rev: bcc785eefd4071ee2eb769203d24836cac0b3c1b)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:30 +00:00
Wenzong Fan
70600fbb94 gnupg: fix find-version for beta checking
find-version always assumes that gnupg is beta if autogen.sh is run
out of git-repo. This doesn't work for users whom just take release
tarball and re-run autoconf in their local build dir.

This fixes runtime issue:

  $gpg --list-sigs
  gpg: NOTE: THIS IS A DEVELOPMENT VERSION!
  gpg: It is only intended for test purposes and should NOT be
  gpg: used in a production environment or with production keys!

(From OE-Core rev: a37cccca3bb3bad0d8d7e375fb7e3cc339ac8250)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:30 +00:00
Roy Li
ab123ef694 rpm: define EM_AARCH64 for debugedit
EM_AARCH64 maybe not be defined due to old version elf.h when compile
rpm-native, and lead to that debugedit can not work on aarch64 elf object
files, since there is no other dependence, except these two macro,
define them to make debugedit work on aarch64 elf files.

  debugedit: /bitbake_build/tmp/work/aarch64-wrs-linux/libvirt/1.2.19-r0/
  package/usr/lib64/libvirt/ptest/daemon/libvirtd_admin_la-admin_server.o:
  Unhandled relocation 258 in .debug_info section

(From OE-Core rev: 91a159e64d404653b2d9178caf027f797a4d3f3b)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:30 +00:00
Joshua Lock
af8c1365d3 xserver-xorg: drop empty ${PN}-security-policy package
The SecurityPolicy hasn't been included since 2007[1] and the
last remnants were removed from the code base in 2010[2].

1. http://cgit.freedesktop.org/xorg/xserver/commit/?id=9d03ca
2. http://cgit.freedesktop.org/xorg/xserver/commit/?id=19d03d

(From OE-Core rev: 58f5ccc7a04cada4251eb6a321bd98973581582e)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:30 +00:00
Joshua Lock
b66706740b xserver-xorg: add Xwayland RRECOMMENDS
Xwayland has the same runtime dependencies as the standard
xserver so set RRECOMMENDS the same way.

(From OE-Core rev: 682fb02f585c830e3f28a858b97276adf71693d2)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:29 +00:00
Joshua Lock
80f4d71fb5 weston: add a PACKAGECONFIG option for xwayland support
(From OE-Core rev: e9b843d3b3dba6d118e57a7e0dd225dc4004a31a)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:29 +00:00
Joshua Lock
883ab0f6ec systemd: make dbus an optional build time dependency
The dbus buildtime dependency is only required in order to build
dbus related tests in modern systemd, make this a PACKAGECONFIG
option.

This changes the default behaviour to no longer build dbus
related tests without explicitly enabling the PACKAGECONFIG.

(From OE-Core rev: f5df27374b1c06280a8481325f9cf802ee5e9371)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:29 +00:00
Joshua Lock
2c5047f498 weston: add PACKAGECONFIG to build with systemd-login support
Automatically enable this support for distributions which have
systemd in DISTRO_FEATURES.

We add additional patches to weston, backported from Weston
git, to support the newer single libsystemd pkg-config file
and to make the enabling of systemd-login support explicit.

(From OE-Core rev: f51ba9a89ee8cede03b5b7834579fd63fa483267)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:29 +00:00
Joshua Lock
65ffeb5c8f systemd: add PACKAGECONFIG to build with compatibility libraries
Systemd < 209 shipped separate pc files for various interfaces, these
can still be generated for compatibility with code using the older
interfaces.

Add a PACKAGECONFIG option to build systemd with the compatibility
pc files.

(From OE-Core rev: b64c5114f304186858b54c5f248245ab98772373)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:29 +00:00
Craig McQueen
4b29c80285 os-release: put double-quotes around variable contents
This makes the resulting /etc/os-release file have valid shell
assignment syntax. This makes it loadable by a shell script, using the
'source' command:

    source /etc/os-release

(From OE-Core rev: f6e0ea000fa3b9a726ab56500f643f9902371618)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:29 +00:00
Jun Zhang
0f516a55fa cpio: fix testcase symlink-bad-lengths [ LIN8-947 ]
* fix the output of stderr & stdout to meet latest cpio

(From OE-Core rev: 80d12c734ad0c1d86ee5b0c6639c4e840dc6dfad)

Signed-off-by: Jun Zhang <jun.zhang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:29 +00:00
Jun Zhang
bceb9cb5b4 cpio: Fix symlink-bad-length test for 64-bit [ LIN8-947 ] architectures.
* src/util.c: Return non-zero exit code if EOF is hit prematurely.

Backport commit:
http://git.savannah.gnu.org/cgit/cpio.git/commit/src/util.c?id=f6a8a2cbd2d5ca40ea94900b55b845dd5ca87328

(From OE-Core rev: 21c9952d269ef2d76c0f8698642cbce8f7d5f796)

Signed-off-by: Jun Zhang <jun.zhang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:29 +00:00
Robert Yang
0ff3fc751f gtk+3: fix ALTERNATIVE_PRIORITY conflict with gtk+
(From OE-Core rev: 44b8ad12042eb4a1161c6f8359479f3dfa31eab9)

Signed-off-by: Ross Burton <ross.burton@intel.com>

Conflicts:
gtk+3 and gtk+ have the same priority 10 for gtk-update-icon-cache

Turn up gtk+3's priority to fix the conflict.

[YOCTO #8477]

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>
2015-11-16 11:39:28 +00:00
Robert Yang
eca12a65cb coreutils: fix ALTERNATIVE_PRIORITY conflict with procps and mktemp
(From OE-Core rev: 2ce514a394e1e062172bb097aa92a1792a0f8eaf)

Signed-off-by: Ross Burton <ross.burton@intel.com>

Conflicts:
coreutils and procps have the same priority 100 for kill.1
coreutils and procps have the same priority 100 for uptime.1
coreutils and procps have the same priority 100 for uptime
coreutils and procps have the same priority 100 for kill
coreutils and mktemp have the same priority 100 for mktemp

Turn down coreutils' priority to fix the conflict, the larger set
of tools should use a lower priority.

[YOCTO #8477]

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>
2015-11-16 11:39:28 +00:00
Robert Yang
8de5315bd5 util-linux: fix ALTERNATIVE_PRIORITY conflict with ncurses procps and e2fsprogs
(From OE-Core rev: 2a1a92ad3a315511df0ff1d2b541226713aab1f9)

Signed-off-by: Ross Burton <ross.burton@intel.com>

Conflicts:
util-linux and ncurses have the same priority 100 for reset
util-linux and procps have the same priority 100 for kill.1
util-linux and procps have the same priority 100 for kill
e2fsprogs and util-linux have the same priority 100 for libblkid.3
e2fsprogs and util-linux have the same priority 100 for blkid.8
e2fsprogs and util-linux have the same priority 100 for findfs.8
e2fsprogs and util-linux have the same priority 100 for fsck.8

Turn down util-linux' priority to fix the conflict, the larger set
of tools should use a lower priority.

[YOCTO #8477]

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>
2015-11-16 11:39:28 +00:00
Robert Yang
3befb43afa console-tools: fix ALTERNATIVE_PRIORITY conflict with kbd
(From OE-Core rev: 839849f5cb7e4dab92d0566f87b04beab773f2be)

Signed-off-by: Ross Burton <ross.burton@intel.com>

Conflicts:
console-tools and kbd have the same priority 100 for chvt
console-tools and kbd have the same priority 100 for deallocvt
console-tools and kbd have the same priority 100 for fgconsole
console-tools and kbd have the same priority 100 for openvt

Turn down console-tools' priority to fix the conflict, the larger set
of tools should use a lower priority.

[YOCTO #8477]

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>
2015-11-16 11:39:28 +00:00
Robert Yang
5385ea8cfb debianutils: fix ALTERNATIVE_PRIORITY conflict with which
(From OE-Core rev: 268cf5c0b813a9dd5fead6883099c4e8ad9f81c0)

Signed-off-by: Ross Burton <ross.burton@intel.com>

Conflicts:
debianutils and which have the same priority 100 for which

Turn down debianutils' priority to fix the conflict, the larger set
of tools should use a lower priority.

[YOCTO #8477]

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>
2015-11-16 11:39:28 +00:00
Stefan Christ
3a0bd40dfc linux-dtb.inc: use same variable name DTB for all elements of KERNEL_DEVICETREE
(From OE-Core rev: 1e9ac2c4970b2fc7f8ed939bce7cf0a5c7715ca3)

Signed-off-by: Stefan Christ <s.christ@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:28 +00:00
Stefan Christ
a879312713 linux-dtb.inc: remove unneeded 'cd'
(From OE-Core rev: 2d7680a104e2910c90d8aceeb12c24dfde2cd2d6)

Signed-off-by: Stefan Christ <s.christ@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:28 +00:00
Pushpal Sidhu
a23d1ca891 webkitgtk: Add upstream patch to fix build problem
From Upstream webkit: fd15a368fa73fe08d91cc1dd7ef05c0c5a3ae851

Webkit will fail to compile under certain circumstances. Please see
https://bugs.webkit.org/show_bug.cgi?id=149172 for more details.

(From OE-Core rev: 5cb4344e55d748483279a7f0035e7d581bcd52cf)

Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:27 +00:00
Andre McCurdy
69836e88a8 python: don't append -D__SOFTFP__ to TARGET_CC_ARCH for armv6/armv7a
Remove obsolete hack which seems to date back to (at least) 2009. It's
potentially harmful as python TARGET_CC_ARCH flags can leak through to
other packages via the sysroot _sysconfigdata.py.

(From OE-Core rev: bb5849423d7ed299b4c895a14d3754121ff68069)

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>
2015-11-16 11:39:27 +00:00
Robert Yang
38d1d63bc9 prexport.bbclass: avoid export for native and crosssdk
* The prservice is only used by do_package, the native or crosssdk
  doesn't have do_package.
* Change WARN to NOTE when no AUTOPR found, the prexport_handler()
  checks all the parsed recipes, but a lot of them may not be built, for
  example, the lower version or broken recipes. So change WARN to NOTE to
  not confuse user.

(From OE-Core rev: 53aae968a6972f152f4b540deaf79963765ff559)

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>
2015-11-16 11:39:27 +00:00
Wenzong Fan
d3da00648c recipes: add distro_features_check for some packages
* The packages that depends on gtk+3 require any of distro features
  from ${GTK3DISTROFEATURES}

* The packages that depends on virtual/egl, virtual/libgl ... require
  distro feature 'opengl'

(From OE-Core rev: 3edf08b38b0af93cef0933b061349264dc86d54c)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:27 +00:00
Andre McCurdy
63690f0914 scons.bbclass: SCons packages don't require do_configure
(From OE-Core rev: a3310eb5a447864e82a38cb7852f30c17c0b91bb)

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>
2015-11-16 11:39:27 +00:00
Khem Raj
bffdc651c6 busybox: Schedule mdev after mountall
mdev does automounting of block media, which expects
/run/ to be mounted, so let mounting happen before running mdev service
and mountall is done with at 03 so trigger mdev at 04

This helps in mounting the devices which are plugged on boot

(From OE-Core rev: 7eda8fdd1585ce19e398e64f6bcea1ffafc90b41)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:27 +00:00
Khem Raj
13ce7c2ae1 busybox: Fix mdev block device automounting
The directory ${MDEV_AUTOMOUNT_ROOT}/ which is '/run/media' may not
exist yet when the device is found, so lets use -p switch to mkdir cmd
so it create preceding parent dirs if needed.

Remove some bash specific constructs

(From OE-Core rev: d5279c49c881a9a8991fda67a70cd49756ac3a92)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:27 +00:00
Ross Burton
b09f0f2665 libarchive: rename patch to reflect CVE
This patch is a CVE fix, so rename it to help CVE detection tools identify it as
such.

(From OE-Core rev: 3fd05ce1f709cbbd8fdeb1dbfdffbd39922eca6e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:26 +00:00
Mark Hatle
116360f39b binutils: Fix XLP / Octeon 3 instruction clash
Use the value 0x00000080 for INSN_XLP, as the value 0x00000040 has already
been assigned to INSN_OCTEON3 by the binutils project.

Without this change, invalid instructions can be generated for both INSN_XLP
and INSN_OCTEON3.

(From OE-Core rev: 3a3269e7f4c7d13ad0c5705cb59c138b697151d7)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:26 +00:00
Mark Hatle
fd4f4d299e binutils: Fix octeon3 disassembly patch
The structure has apparently changed, and there was a missing
setting.  This corrects a segfault when disassembling code.

(From OE-Core rev: 2e8f1ffe3a8d7740b0ac68eefbba3fe28f7ba6d4)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:26 +00:00
839 changed files with 13680 additions and 16411 deletions

2
.gitignore vendored
View File

@@ -1,7 +1,7 @@
*.pyc
*.pyo
/*.patch
build*/
/build*/
pyshtables.py
pstage/
scripts/oe-git-proxy-socks

View File

@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/echo ERROR: This script needs to be sourced. Please run as .
# (c) 2013 Intel Corp.
# This program is free software; you can redistribute it and/or modify
@@ -31,7 +31,7 @@
webserverKillAll()
{
local pidfile
for pidfile in ${BUILDDIR}/.toastermain.pid; do
for pidfile in ${BUILDDIR}/.toastermain.pid ${BUILDDIR}/.runbuilds.pid; do
if [ -f ${pidfile} ]; then
pid=`cat ${pidfile}`
while kill -0 $pid 2>/dev/null; do
@@ -81,9 +81,7 @@ webserverStartAll()
return $retval
fi
if [ "$TOASTER_MANAGED" = '1' ]; then
python $BBBASEDIR/lib/toaster/manage.py checksettings --traceback || retval=1
fi
python $BBBASEDIR/lib/toaster/manage.py checksettings --traceback || retval=1
if [ $retval -eq 1 ]; then
printf "\nError while checking settings; aborting\n"
@@ -128,16 +126,40 @@ stop_system()
kill `cat ${BUILDDIR}/.toasterui.pid` 2>/dev/null
rm ${BUILDDIR}/.toasterui.pid
fi
BBSERVER=0.0.0.0:-1 bitbake -m
unset BBSERVER
stop_bitbake
webserverKillAll
# force stop any misbehaving bitbake server
lsof bitbake.lock | awk '{print $2}' | grep "[0-9]\+" | xargs -n1 -r kill
# unset exported variables
unset DATABASE_URL
unset TOASTER_CONF
unset TOASTER_DIR
trap - SIGHUP
#trap - SIGCHLD
INSTOPSYSTEM=0
}
start_bitbake() {
unset BBSERVER
bitbake --postread conf/toaster.conf --server-only -t xmlrpc -B 0.0.0.0:0
if [ $? -ne 0 ]; then
echo "Bitbake server start failed"
return 1
fi
export BBSERVER=0.0.0.0:-1
export DATABASE_URL=`$BBBASEDIR/lib/toaster/manage.py get-dburl`
if [ $NOTOASTERUI -eq 0 ]; then # we start the TOASTERUI only if not inhibited
bitbake --observe-only -u toasterui --remote-server=$BBSERVER -t xmlrpc >>${BUILDDIR}/toaster_ui.log 2>&1 \
& echo $! >${BUILDDIR}/.toasterui.pid
fi
return 0
}
stop_bitbake() {
BBSERVER=0.0.0.0:-1 bitbake -m
unset BBSERVER
# force stop any misbehaving bitbake server
lsof bitbake.lock | awk '{print $2}' | grep "[0-9]\+" | xargs -n1 -r kill
}
check_pidbyfile() {
[ -e $1 ] && kill -0 `cat $1` 2>/dev/null
}
@@ -176,12 +198,9 @@ else
TOASTER=$0
fi
[ `basename \"$0\"` = `basename \"${TOASTER}\"` ] && TOASTER_MANAGED=1
BBBASEDIR=`dirname $TOASTER`/..
OEROOT=`dirname $TOASTER`/../..
RUNNING=0
NOTOASTERUI=0
WEBSERVER=1
TOASTER_BRBE=""
@@ -189,18 +208,33 @@ if [ "$WEB_PORT" = "" ]; then
WEB_PORT="8000"
fi
# this is the configuraton file we are using for toaster
# note default is assuming yocto. Override this if you are
# running in a pure OE environment and use the toasterconf.json
# in meta/conf/toasterconf.json
# note: for future there are a number of relative path assumptions
# in the local layers that currently prevent using an arbitrary
# toasterconf.json
# we are using the same logic that oe-setup-builddir uses
# (based on TEMPLATECONF and .templateconf) to determine
# which toasterconf.json to use.
# note: There are a number of relative path assumptions
# in the local layers that currently make using an arbitrary
# toasterconf.json difficult.
. $OEROOT/.templateconf
if [ -n "$TEMPLATECONF" ]; then
if [ ! -d "$TEMPLATECONF" ]; then
# Allow TEMPLATECONF=meta-xyz/conf as a shortcut
if [ -d "$OEROOT/$TEMPLATECONF" ]; then
TEMPLATECONF="$OEROOT/$TEMPLATECONF"
fi
if [ ! -d "$TEMPLATECONF" ]; then
echo >&2 "Error: '$TEMPLATECONF' must be a directory containing toasterconf.json"
[ "$TOASTER_MANAGED" = '1' ] && exit 1 || return 1
fi
fi
fi
if [ "$TOASTER_CONF" = "" ]; then
TOASTER_CONF="$(dirname $TOASTER)/../../meta-yocto/conf/toasterconf.json"
TOASTER_CONF="$TEMPLATECONF/toasterconf.json"
export TOASTER_CONF=$(python -c "import os; print os.path.realpath('$TOASTER_CONF')")
fi
if [ ! -f $TOASTER_CONF ]; then
echo "$TOASTER_CONF configuration file not found. set TOASTER_CONF to specify a path"
echo "$TOASTER_CONF configuration file not found. Set TOASTER_CONF to specify file or fix .templateconf"
[ "$TOASTER_MANAGED" = '1' ] && exit 1 || return 1
fi
# this defines the dir toaster will use for
@@ -212,7 +246,6 @@ fi
# make sure that the toaster.sqlite file doesn't default to `pwd` like it currently does.
export TOASTER_DIR=`pwd`
NOBROWSER=0
for param in $*; do
@@ -234,87 +267,54 @@ for param in $*; do
esac
done
if [ "$TOASTER_MANAGED" = '1' ]; then
# We are called as standalone. We refuse to run in a build environment - we need the interactive mode for that.
# Start just the web server, point the web browser to the interface, and start any Django services.
if ! verify_prereq; then
echo "Error: Could not verify that the needed dependencies are installed. Please use virtualenv and pip to install dependencies listed in toaster-requirements.txt" 1>&2
exit 1
fi
if [ -n "$BUILDDIR" ]; then
printf "Error: It looks like you sourced oe-init-build-env. Toaster cannot start in build mode from an oe-core build environment.\n You should be starting Toaster from a new terminal window.\n" 1>&2
exit 1
fi
# Define a fake builddir where only the pid files are actually created. No real builds will take place here.
BUILDDIR=/tmp/toaster_$$
if [ -d "$BUILDDIR" ]; then
echo "Previous toaster run directory $BUILDDIR found, cowardly refusing to start. Please remove the directory when that toaster instance is over" 2>&1
exit 1
fi
mkdir -p "$BUILDDIR"
RUNNING=1
trap_ctrlc() {
echo "** Stopping system"
webserverKillAll
RUNNING=0
}
do_cleanup() {
find "$BUILDDIR" -type f | xargs rm
rmdir "$BUILDDIR"
}
cleanup() {
if grep -ir error "$BUILDDIR" >/dev/null; then
if grep -irn "That port is already in use" "$BUILDDIR"; then
echo "You can use the \"webport=PORTNUMBER\" parameter to start Toaster on a different port (port $WEB_PORT is already in use)"
do_cleanup
else
printf "\nErrors found in the Toaster log files present in '$BUILDDIR'. Directory will not be cleaned.\n Please review the errors and notify toaster@yoctoproject.org or submit a bug https://bugzilla.yoctoproject.org/enter_bug.cgi?product=Toaster"
fi
else
echo "No errors found, removing the run directory '$BUILDDIR'"
do_cleanup
fi
}
export TOASTER_MANAGED=1
if [ $WEBSERVER -gt 0 ] && ! webserverStartAll; then
echo "Failed to start the web server, stopping" 1>&2
cleanup
exit 1
fi
if [ $WEBSERVER -gt 0 ] && [ $NOBROWSER -eq 0 ] ; then
echo "Starting browser..."
xdg-open http://127.0.0.1:$WEB_PORT/ >/dev/null 2>&1 &
fi
trap trap_ctrlc 2
echo "Toaster is now running. You can stop it with Ctrl-C"
while [ $RUNNING -gt 0 ]; do
python $BBBASEDIR/lib/toaster/manage.py runbuilds 2>&1 | tee -a "$BUILDDIR/toaster.log"
sleep 1
done
cleanup
echo "**** Exit"
exit 0
if [ `basename \"$0\"` = `basename \"${TOASTER}\"` ]; then
echo "Error: This script needs to be sourced. Please run as . $TOASTER"
exit 1
fi
if [ "$1" = 'restart-bitbake' ] ; then
stop_bitbake
sleep 1
start_bitbake
rc=$?
sleep 1
return $rc
fi
if ! verify_prereq; then
echo "Error: Could not verify that the needed dependencies are installed. Please use virtualenv and pip to install dependencies listed in toaster-requirements.txt" 1>&2
return 1
fi
# We make sure we're running in the current shell and in a good environment
if [ -z "$BUILDDIR" ] || ! which bitbake >/dev/null 2>&1 ; then
echo "Error: Build environment is not setup or bitbake is not in path." 1>&2
return 2
fi
# this is the configuraton file we are using for toaster
# note default is assuming yocto. Override this if you are
# running in a pure OE environment and use the toasterconf.json
# in meta/conf/toasterconf.json
# note: for future there are a number of relative path assumptions
# in the local layers that currently prevent using an arbitrary
# toasterconf.json
if [ "$TOASTER_CONF" = "" ]; then
TOASTER_CONF="$(dirname $TOASTER)/../../meta-yocto/conf/toasterconf.json"
export TOASTER_CONF=$(python -c "import os; print os.path.realpath('$TOASTER_CONF')")
fi
if [ ! -f $TOASTER_CONF ]; then
echo "$TOASTER_CONF configuration file not found. set TOASTER_CONF to specify a path"
return 1
fi
# this defines the dir toaster will use for
# 1) clones of layers (in _toaster_clones )
# 2) the build dir (in build)
# 3) the sqlite db if that is being used.
# 4) pid's we need to clean up on exit/shutdown
# note: for future. in order to make this an arbitrary directory, we need to
# make sure that the toaster.sqlite file doesn't default to `pwd` like it currently does.
export TOASTER_DIR=`dirname $BUILDDIR`
# Determine the action. If specified by arguments, fine, if not, toggle it
if [ "$1" = 'start' ] || [ "$1" = 'stop' ]; then
@@ -353,28 +353,14 @@ fi
case $CMD in
start )
start_success=1
addtoConfiguration toaster.conf "INHERIT+=\"toaster buildhistory\"" $TOASTER_BRBE
if [ $WEBSERVER -gt 0 ] && ! webserverStartAll; then
echo "Failed ${CMD}."
return 4
fi
unset BBSERVER
PREREAD=""
if [ -e ${BUILDDIR}/conf/toaster-pre.conf ]; then
rm ${BUILDDIR}/conf/toaster-pre.conf
fi
bitbake $PREREAD --postread conf/toaster.conf --server-only -t xmlrpc -B 0.0.0.0:0
if [ $? -ne 0 ]; then
start_success=0
echo "Bitbake server start failed"
else
export BBSERVER=0.0.0.0:-1
if [ $NOTOASTERUI -eq 0 ]; then # we start the TOASTERUI only if not inhibited
bitbake --observe-only -u toasterui >>${BUILDDIR}/toaster_ui.log 2>&1 & echo $! >${BUILDDIR}/.toasterui.pid
fi
fi
if [ $start_success -eq 1 ]; then
start_bitbake
if [ $? -eq 0 ]; then
python $BBBASEDIR/lib/toaster/manage.py runbuilds & echo $! >${BUILDDIR}/.runbuilds.pid
# set fail safe stop system on terminal exit
trap stop_system SIGHUP
echo "Successful ${CMD}."
@@ -395,4 +381,3 @@ case $CMD in
echo "Successful ${CMD}."
;;
esac

View File

@@ -85,8 +85,8 @@ class RecipeInfoCommon(object):
return out_dict
@classmethod
def getvar(cls, var, metadata):
return metadata.getVar(var, True) or ''
def getvar(cls, var, metadata, expand = True):
return metadata.getVar(var, expand) or ''
class CoreRecipeInfo(RecipeInfoCommon):
@@ -142,7 +142,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.rprovides_pkg = self.pkgvar('RPROVIDES', self.packages, metadata)
self.rdepends_pkg = self.pkgvar('RDEPENDS', self.packages, metadata)
self.rrecommends_pkg = self.pkgvar('RRECOMMENDS', self.packages, metadata)
self.inherits = self.getvar('__inherit_cache', metadata)
self.inherits = self.getvar('__inherit_cache', metadata, expand=False)
self.fakerootenv = self.getvar('FAKEROOTENV', metadata)
self.fakerootdirs = self.getvar('FAKEROOTDIRS', metadata)
self.fakerootnoenv = self.getvar('FAKEROOTNOENV', metadata)

View File

@@ -144,6 +144,10 @@ class CodeParserCache(MultiProcessCache):
return cacheline
def init_cache(self, d):
# Check if we already have the caches
if self.pythoncache:
return
MultiProcessCache.init_cache(self, d)
# cachedata gets re-assigned in the parent

View File

@@ -547,7 +547,7 @@ class DataSmart(MutableMapping):
# aka pay the cookie monster
override = var[var.rfind('_')+1:]
shortvar = var[:var.rfind('_')]
while override:
while override and override.islower():
if shortvar not in self.overridedata:
self.overridedata[shortvar] = []
if [var, override] not in self.overridedata[shortvar]:
@@ -621,7 +621,7 @@ class DataSmart(MutableMapping):
if '_' in var:
override = var[var.rfind('_')+1:]
shortvar = var[:var.rfind('_')]
while override:
while override and override.islower():
try:
if shortvar in self.overridedata:
# Force CoW by recreating the list first

View File

@@ -1686,9 +1686,6 @@ class Fetch(object):
ud = self.ud[u]
ud.setup_localpath(self.d)
if self.d.expand(self.localpath) is None:
continue
if ud.lockfile:
lf = bb.utils.lockfile(ud.lockfile)

View File

@@ -379,7 +379,7 @@ class Git(FetchMethod):
"""
pupver = ('', '')
tagregex = re.compile(d.getVar('GITTAGREGEX', True) or "(?P<pver>([0-9][\.|_]?)+)")
tagregex = re.compile(d.getVar('UPSTREAM_CHECK_GITTAGREGEX', True) or "(?P<pver>([0-9][\.|_]?)+)")
try:
output = self._lsremote(ud, d, "refs/tags/*")
except bb.fetch2.FetchError or bb.fetch2.NetworkAccess:

View File

@@ -38,6 +38,7 @@ from bb.fetch2 import FetchError
from bb.fetch2 import logger
from bb.fetch2 import runfetchcmd
from bs4 import BeautifulSoup
from bs4 import SoupStrainer
class Wget(FetchMethod):
"""Class to fetch urls via 'wget'"""
@@ -367,7 +368,7 @@ class Wget(FetchMethod):
version = ['', '', '']
bb.debug(3, "VersionURL: %s" % (url))
soup = BeautifulSoup(self._fetch_index(url, ud, d))
soup = BeautifulSoup(self._fetch_index(url, ud, d), "html.parser", parse_only=SoupStrainer("a"))
if not soup:
bb.debug(3, "*** %s NO SOUP" % (url))
return ""
@@ -417,7 +418,7 @@ class Wget(FetchMethod):
ud.path.split(dirver)[0], ud.user, ud.pswd, {}])
bb.debug(3, "DirURL: %s, %s" % (dirs_uri, package))
soup = BeautifulSoup(self._fetch_index(dirs_uri, ud, d))
soup = BeautifulSoup(self._fetch_index(dirs_uri, ud, d), "html.parser", parse_only=SoupStrainer("a"))
if not soup:
return version[1]
@@ -480,7 +481,7 @@ class Wget(FetchMethod):
self.suffix_regex_comp = re.compile(psuffix_regex)
# compile regex, can be specific by package or generic regex
pn_regex = d.getVar('REGEX', True)
pn_regex = d.getVar('UPSTREAM_CHECK_REGEX', True)
if pn_regex:
package_custom_regex_comp = re.compile(pn_regex)
else:
@@ -516,7 +517,7 @@ class Wget(FetchMethod):
bb.debug(3, "latest_versionstring, regex: %s" % (package_regex.pattern))
uri = ""
regex_uri = d.getVar("REGEX_URI", True)
regex_uri = d.getVar("UPSTREAM_CHECK_URI", True)
if not regex_uri:
path = ud.path.split(package)[0]

View File

@@ -161,8 +161,8 @@ def vars_from_file(mypkg, d):
def get_file_depends(d):
'''Return the dependent files'''
dep_files = []
depends = d.getVar('__base_depends', True) or []
depends = depends + (d.getVar('__depends', True) or [])
depends = d.getVar('__base_depends', False) or []
depends = depends + (d.getVar('__depends', False) or [])
for (fn, _) in depends:
dep_files.append(os.path.abspath(fn))
return " ".join(dep_files)

View File

@@ -663,7 +663,7 @@ class FetchLatestVersionTest(FetcherTest):
# version pattern "yyyymmdd"
("mobile-broadband-provider-info", "git://git.gnome.org/mobile-broadband-provider-info", "4ed19e11c2975105b71b956440acdb25d46a347d", "")
: "20120614",
# packages with a valid GITTAGREGEX
# packages with a valid UPSTREAM_CHECK_GITTAGREGEX
("xf86-video-omap", "git://anongit.freedesktop.org/xorg/driver/xf86-video-omap", "ae0394e687f1a77e966cf72f895da91840dffb8f", "(?P<pver>(\d+\.(\d\.?)*))")
: "0.4.3",
("build-appliance-image", "git://git.yoctoproject.org/poky", "b37dd451a52622d5b570183a81583cc34c2ff555", "(?P<pver>(([0-9][\.|_]?)+[0-9]))")
@@ -692,7 +692,7 @@ class FetchLatestVersionTest(FetcherTest):
: "5.0",
("xserver-xorg", "http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.15.1.tar.bz2", "", "")
: "1.15.1",
# packages with valid REGEX_URI and REGEX
# packages with valid UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX
("cups", "http://www.cups.org/software/1.7.2/cups-1.7.2-source.tar.bz2", "http://www.cups.org/software.php", "(?P<name>cups\-)(?P<pver>((\d+[\.\-_]*)+))\-source\.tar\.gz")
: "2.0.0",
("db", "http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz", "http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html", "http://download.oracle.com/otn/berkeley-db/(?P<name>db-)(?P<pver>((\d+[\.\-_]*)+))\.tar\.gz")
@@ -705,7 +705,7 @@ class FetchLatestVersionTest(FetcherTest):
for k, v in self.test_git_uris.items():
self.d.setVar("PN", k[0])
self.d.setVar("SRCREV", k[2])
self.d.setVar("GITTAGREGEX", k[3])
self.d.setVar("UPSTREAM_CHECK_GITTAGREGEX", k[3])
ud = bb.fetch2.FetchData(k[1], self.d)
pupver= ud.method.latest_versionstring(ud, self.d)
verstring = pupver[0]
@@ -715,8 +715,8 @@ class FetchLatestVersionTest(FetcherTest):
def test_wget_latest_versionstring(self):
for k, v in self.test_wget_uris.items():
self.d.setVar("PN", k[0])
self.d.setVar("REGEX_URI", k[2])
self.d.setVar("REGEX", k[3])
self.d.setVar("UPSTREAM_CHECK_URI", k[2])
self.d.setVar("UPSTREAM_CHECK_REGEX", k[3])
ud = bb.fetch2.FetchData(k[1], self.d)
pupver = ud.method.latest_versionstring(ud, self.d)
verstring = pupver[0]

View File

@@ -376,3 +376,206 @@ do_functionname() {
(updated, newlines) = bb.utils.edit_metadata(self._origfile.splitlines(True), varlist, handle_var)
self.assertTrue(updated, 'List should be updated but isn\'t')
self.assertEqual(newlines, newfile5.splitlines(True))
class EditBbLayersConf(unittest.TestCase):
def _test_bblayers_edit(self, before, after, add, remove, notadded, notremoved):
with tempfile.NamedTemporaryFile('w', delete=False) as tf:
tf.write(before)
tf.close()
try:
actual_notadded, actual_notremoved = bb.utils.edit_bblayers_conf(tf.name, add, remove)
with open(tf.name) as f:
actual_after = f.readlines()
self.assertEqual(after.splitlines(True), actual_after)
self.assertEqual(notadded, actual_notadded)
self.assertEqual(notremoved, actual_notremoved)
finally:
os.remove(tf.name)
def test_bblayers_remove(self):
before = r"""
# A comment
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS = " \
/home/user/path/layer1 \
/home/user/path/layer2 \
/home/user/path/subpath/layer3 \
/home/user/path/layer4 \
"
"""
after = r"""
# A comment
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS = " \
/home/user/path/layer1 \
/home/user/path/subpath/layer3 \
/home/user/path/layer4 \
"
"""
self._test_bblayers_edit(before, after,
None,
'/home/user/path/layer2',
[],
[])
def test_bblayers_add(self):
before = r"""
# A comment
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS = " \
/home/user/path/layer1 \
/home/user/path/layer2 \
/home/user/path/subpath/layer3 \
/home/user/path/layer4 \
"
"""
after = r"""
# A comment
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS = " \
/home/user/path/layer1 \
/home/user/path/layer2 \
/home/user/path/subpath/layer3 \
/home/user/path/layer4 \
/other/path/to/layer5 \
"
"""
self._test_bblayers_edit(before, after,
'/other/path/to/layer5/',
None,
[],
[])
def test_bblayers_add_remove(self):
before = r"""
# A comment
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS = " \
/home/user/path/layer1 \
/home/user/path/layer2 \
/home/user/path/subpath/layer3 \
/home/user/path/layer4 \
"
"""
after = r"""
# A comment
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS = " \
/home/user/path/layer1 \
/home/user/path/layer2 \
/home/user/path/layer4 \
/other/path/to/layer5 \
"
"""
self._test_bblayers_edit(before, after,
['/other/path/to/layer5', '/home/user/path/layer2/'], '/home/user/path/subpath/layer3/',
['/home/user/path/layer2'],
[])
def test_bblayers_add_remove_home(self):
before = r"""
# A comment
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS = " \
~/path/layer1 \
~/path/layer2 \
~/otherpath/layer3 \
~/path/layer4 \
"
"""
after = r"""
# A comment
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS = " \
~/path/layer2 \
~/path/layer4 \
~/path2/layer5 \
"
"""
self._test_bblayers_edit(before, after,
[os.environ['HOME'] + '/path/layer4', '~/path2/layer5'],
[os.environ['HOME'] + '/otherpath/layer3', '~/path/layer1', '~/path/notinlist'],
[os.environ['HOME'] + '/path/layer4'],
['~/path/notinlist'])
def test_bblayers_add_remove_plusequals(self):
before = r"""
# A comment
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS += " \
/home/user/path/layer1 \
/home/user/path/layer2 \
"
"""
after = r"""
# A comment
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS += " \
/home/user/path/layer2 \
/home/user/path/layer3 \
"
"""
self._test_bblayers_edit(before, after,
'/home/user/path/layer3',
'/home/user/path/layer1',
[],
[])
def test_bblayers_add_remove_plusequals2(self):
before = r"""
# A comment
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS += " \
/home/user/path/layer1 \
/home/user/path/layer2 \
/home/user/path/layer3 \
"
BBLAYERS += "/home/user/path/layer4"
BBLAYERS += "/home/user/path/layer5"
"""
after = r"""
# A comment
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS += " \
/home/user/path/layer2 \
/home/user/path/layer3 \
"
BBLAYERS += "/home/user/path/layer5"
BBLAYERS += "/home/user/otherpath/layer6"
"""
self._test_bblayers_edit(before, after,
['/home/user/otherpath/layer6', '/home/user/path/layer3'], ['/home/user/path/layer1', '/home/user/path/layer4', '/home/user/path/layer7'],
['/home/user/path/layer3'],
['/home/user/path/layer7'])

View File

@@ -304,12 +304,11 @@ class ORMWrapper(object):
break
# If we're in analysis mode then we are wholly responsible for the data
# If we're in analysis mode or if this is a custom recipe
# then we are wholly responsible for the data
# and therefore we return the 'real' recipe rather than the build
# history copy of the recipe.
if recipe_information['layer_version'].build is not None and \
recipe_information['layer_version'].build.project == \
Project.objects.get_default_project():
if built_recipe is None:
return recipe
return built_recipe
@@ -700,7 +699,6 @@ class ORMWrapper(object):
def save_build_variables(self, build_obj, vardump):
assert isinstance(build_obj, Build)
helptext_objects = []
for k in vardump:
desc = vardump[k]['doc']
if desc is None:
@@ -711,10 +709,9 @@ class ORMWrapper(object):
if desc is None:
desc = ''
if len(desc):
helptext_objects.append(HelpText(build=build_obj,
area=HelpText.VARIABLE,
key=k,
text=desc))
HelpText.objects.get_or_create(build=build_obj,
area=HelpText.VARIABLE,
key=k, text=desc)
if not bool(vardump[k]['func']):
value = vardump[k]['v']
if value is None:
@@ -734,8 +731,6 @@ class ORMWrapper(object):
if len(varhist_objects):
VariableHistory.objects.bulk_create(varhist_objects)
HelpText.objects.bulk_create(helptext_objects)
class MockEvent(object):
""" This object is used to create event, for which normal event-processing methods can
@@ -796,6 +791,8 @@ class BuildInfoHelper(object):
build_info['cooker_log_path'] = build_log_path
build_info['build_name'] = self.server.runCommand(["getVariable", "BUILDNAME"])[0]
build_info['bitbake_version'] = self.server.runCommand(["getVariable", "BB_VERSION"])[0]
build_info['brbe'] = self.server.runCommand(["getVariable", "TOASTER_BRBE"])[0]
build_info['project'] = self.project = self.server.runCommand(["getVariable", "TOASTER_PROJECT"])[0]
return build_info
@@ -818,44 +815,15 @@ class BuildInfoHelper(object):
assert path.startswith("/")
assert 'build' in self.internal_state
if self.brbe is None:
def _slkey_interactive(layer_version):
assert isinstance(layer_version, Layer_Version)
return len(layer_version.local_path)
def _slkey_interactive(layer_version):
assert isinstance(layer_version, Layer_Version)
return len(layer_version.local_path)
# Heuristics: we always match recipe to the deepest layer path in the discovered layers
for lvo in sorted(self.orm_wrapper.layer_version_objects, reverse=True, key=_slkey_interactive):
# we can match to the recipe file path
if path.startswith(lvo.local_path):
return lvo
else:
br_id, be_id = self.brbe.split(":")
from bldcontrol.bbcontroller import getBuildEnvironmentController
bc = getBuildEnvironmentController(pk = be_id)
def _slkey_managed(layer_version):
return len(bc.getGitCloneDirectory(layer_version.giturl, layer_version.commit) + layer_version.dirpath)
# Heuristics: we match the path to where the layers have been checked out
for brl in sorted(BuildRequest.objects.get(pk = br_id).brlayer_set.all(), reverse = True, key = _slkey_managed):
localdirname = os.path.join(bc.getGitCloneDirectory(brl.giturl, brl.commit), brl.dirpath)
# we get a relative path, unless running in HEAD mode where the path is absolute
if not localdirname.startswith("/"):
localdirname = os.path.join(bc.be.sourcedir, localdirname)
if path.startswith(localdirname):
# If the build request came from toaster this field
# should contain the information from the layer_version
# That created this build request.
if brl.layer_version:
return brl.layer_version
#logger.warn("-- managed: matched path %s with layer %s " % (path, localdirname))
# we matched the BRLayer, but we need the layer_version that generated this br
for lvo in self.orm_wrapper.layer_version_objects:
if brl.name == lvo.layer.name:
return lvo
# Heuristics: we always match recipe to the deepest layer path in the discovered layers
for lvo in sorted(self.orm_wrapper.layer_version_objects, reverse=True, key=_slkey_interactive):
# we can match to the recipe file path
if path.startswith(lvo.local_path):
return lvo
#if we get here, we didn't read layers correctly; dump whatever information we have on the error log
logger.warn("Could not match layer version for recipe path %s : %s", path, self.orm_wrapper.layer_version_objects)
@@ -938,6 +906,10 @@ class BuildInfoHelper(object):
assert '_pkgs' in vars(event)
build_information = self._get_build_information(build_log_path)
# Update brbe and project as they can be changed for every build
self.brbe = build_information['brbe']
self.project = build_information['project']
build_obj = self.orm_wrapper.create_build_object(build_information, self.brbe, self.project)
self.internal_state['build'] = build_obj

View File

@@ -104,10 +104,11 @@ class InteractConsoleLogFilter(logging.Filter):
return True
class TerminalFilter(object):
rows = 25
columns = 80
def sigwinch_handle(self, signum, frame):
self.columns = self.getTerminalColumns()
self.rows, self.columns = self.getTerminalColumns()
if self._sigwinch_default:
self._sigwinch_default(signum, frame)
@@ -131,7 +132,7 @@ class TerminalFilter(object):
cr = (env['LINES'], env['COLUMNS'])
except:
cr = (25, 80)
return cr[1]
return cr
def __init__(self, main, helper, console, errconsole, format):
self.main = main
@@ -207,7 +208,7 @@ class TerminalFilter(object):
content = "Currently %s running tasks (%s of %s):" % (len(activetasks), self.helper.tasknumber_current, self.helper.tasknumber_total)
print(content)
lines = 1 + int(len(content) / (self.columns + 1))
for tasknum, task in enumerate(tasks):
for tasknum, task in enumerate(tasks[:(self.rows - 2)]):
content = "%s: %s" % (tasknum, task)
print(content)
lines = lines + 1 + int(len(content) / (self.columns + 1))

View File

@@ -92,6 +92,15 @@ def _close_build_log(build_log):
build_log.close()
logger.removeHandler(build_log)
_evt_list = [ "bb.runqueue.runQueueExitWait", "bb.event.LogExecTTY", "logging.LogRecord",
"bb.build.TaskFailed", "bb.build.TaskBase", "bb.event.ParseStarted",
"bb.event.ParseProgress", "bb.event.ParseCompleted", "bb.event.CacheLoadStarted",
"bb.event.CacheLoadProgress", "bb.event.CacheLoadCompleted", "bb.command.CommandFailed",
"bb.command.CommandExit", "bb.command.CommandCompleted", "bb.cooker.CookerExit",
"bb.event.MultipleProviders", "bb.event.NoProvider", "bb.runqueue.sceneQueueTaskStarted",
"bb.runqueue.runQueueTaskStarted", "bb.runqueue.runQueueTaskFailed", "bb.runqueue.sceneQueueTaskFailed",
"bb.event.BuildBase", "bb.build.TaskStarted", "bb.build.TaskSucceeded", "bb.build.TaskFailedSilent"]
def main(server, eventHandler, params):
# set to a logging.FileHandler instance when a build starts;
# see _open_build_log()
@@ -115,6 +124,9 @@ def main(server, eventHandler, params):
console.setFormatter(formatter)
logger.addHandler(console)
logger.setLevel(logging.INFO)
llevel, debug_domains = bb.msg.constructLogOptions()
server.runCommand(["setEventMask", server.getEventHandle(), llevel, debug_domains, _evt_list])
# verify and warn
build_history_enabled = True
@@ -182,8 +194,6 @@ def main(server, eventHandler, params):
continue
if isinstance(event, bb.event.BuildStarted):
# command-line builds don't fire a ParseStarted event,
# so we have to start the log file for those on BuildStarted instead
if not (build_log and build_log_file_path):
build_log, build_log_file_path = _open_build_log(log_dir)
@@ -320,15 +330,11 @@ def main(server, eventHandler, params):
logger.info("ToasterUI build done 1, brbe: %s", buildinfohelper.brbe )
# we start a new build info
if buildinfohelper.brbe is not None:
logger.debug("ToasterUI under BuildEnvironment management - exiting after the build")
server.terminateServer()
else:
logger.debug("ToasterUI prepared for new build")
errors = 0
warnings = 0
taskfailures = []
buildinfohelper = BuildInfoHelper(server, build_history_enabled)
logger.debug("ToasterUI prepared for new build")
errors = 0
warnings = 0
taskfailures = []
buildinfohelper = BuildInfoHelper(server, build_history_enabled)
logger.info("ToasterUI build done 2")
continue

View File

@@ -1177,7 +1177,7 @@ def edit_metadata(meta_lines, variables, varfunc, match_overrides=False):
if not skip:
if checkspc:
checkspc = False
if newlines[-1] == '\n' and line == '\n':
if newlines and newlines[-1] == '\n' and line == '\n':
# Squash blank line if there are two consecutive blanks after a removal
continue
newlines.append(line)
@@ -1201,7 +1201,19 @@ def edit_metadata_file(meta_file, variables, varfunc):
def edit_bblayers_conf(bblayers_conf, add, remove):
"""Edit bblayers.conf, adding and/or removing layers"""
"""Edit bblayers.conf, adding and/or removing layers
Parameters:
bblayers_conf: path to bblayers.conf file to edit
add: layer path (or list of layer paths) to add; None or empty
list to add nothing
remove: layer path (or list of layer paths) to remove; None or
empty list to remove nothing
Returns a tuple:
notadded: list of layers specified to be added but weren't
(because they were already in the list)
notremoved: list of layers that were specified to be removed
but weren't (because they weren't in the list)
"""
import fnmatch
@@ -1210,6 +1222,13 @@ def edit_bblayers_conf(bblayers_conf, add, remove):
pth = pth[:-1]
return pth
approved = bb.utils.approved_variables()
def canonicalise_path(pth):
pth = remove_trailing_sep(pth)
if 'HOME' in approved and '~' in pth:
pth = os.path.expanduser(pth)
return pth
def layerlist_param(value):
if not value:
return []
@@ -1218,49 +1237,80 @@ def edit_bblayers_conf(bblayers_conf, add, remove):
else:
return [remove_trailing_sep(value)]
notadded = []
notremoved = []
addlayers = layerlist_param(add)
removelayers = layerlist_param(remove)
# Need to use a list here because we can't set non-local variables from a callback in python 2.x
bblayercalls = []
removed = []
plusequals = False
orig_bblayers = []
def handle_bblayers_firstpass(varname, origvalue, op, newlines):
bblayercalls.append(op)
if op == '=':
del orig_bblayers[:]
orig_bblayers.extend([canonicalise_path(x) for x in origvalue.split()])
return (origvalue, None, 2, False)
def handle_bblayers(varname, origvalue, op, newlines):
bblayercalls.append(varname)
updated = False
bblayers = [remove_trailing_sep(x) for x in origvalue.split()]
if removelayers:
for removelayer in removelayers:
matched = False
for layer in bblayers:
if fnmatch.fnmatch(layer, removelayer):
if fnmatch.fnmatch(canonicalise_path(layer), canonicalise_path(removelayer)):
updated = True
matched = True
bblayers.remove(layer)
removed.append(removelayer)
break
if not matched:
notremoved.append(removelayer)
if addlayers:
if addlayers and not plusequals:
for addlayer in addlayers:
if addlayer not in bblayers:
updated = True
bblayers.append(addlayer)
else:
notadded.append(addlayer)
del addlayers[:]
if updated:
if op == '+=' and not bblayers:
bblayers = None
return (bblayers, None, 2, False)
else:
return (origvalue, None, 2, False)
edit_metadata_file(bblayers_conf, ['BBLAYERS'], handle_bblayers)
with open(bblayers_conf, 'r') as f:
(_, newlines) = edit_metadata(f, ['BBLAYERS'], handle_bblayers_firstpass)
if not bblayercalls:
raise Exception('Unable to find BBLAYERS in %s' % bblayers_conf)
# Try to do the "smart" thing depending on how the user has laid out
# their bblayers.conf file
if bblayercalls.count('+=') > 1:
plusequals = True
removelayers_canon = [canonicalise_path(layer) for layer in removelayers]
notadded = []
for layer in addlayers:
layer_canon = canonicalise_path(layer)
if layer_canon in orig_bblayers and not layer_canon in removelayers_canon:
notadded.append(layer)
notadded_canon = [canonicalise_path(layer) for layer in notadded]
addlayers[:] = [layer for layer in addlayers if canonicalise_path(layer) not in notadded_canon]
(updated, newlines) = edit_metadata(newlines, ['BBLAYERS'], handle_bblayers)
if addlayers:
# Still need to add these
for addlayer in addlayers:
newlines.append('BBLAYERS += "%s"\n' % addlayer)
updated = True
if updated:
with open(bblayers_conf, 'w') as f:
f.writelines(newlines)
notremoved = list(set(removelayers) - set(removed))
return (notadded, notremoved)

View File

@@ -52,6 +52,9 @@ class BitbakeController(object):
def setVariable(self, name, value):
return self._runCommand(["setVariable", name, value])
def getVariable(self, name):
return self._runCommand(["getVariable", name])
def build(self, targets, task = None):
if task is None:
task = "build"
@@ -127,12 +130,6 @@ class BuildEnvironmentController(object):
bblayerconffile.write("# line added by toaster build control\nBBLAYERS = \"" + " ".join(layerlist) + "\"")
bblayerconffile.close()
def writeConfFile(self, variable_list = None, raw = None):
""" Writes a configuration file in the build directory. Override with buildenv-specific implementation. """
raise Exception("FIXME: Must override to actually write a configuration file")
def startBBServer(self):
""" Starts a BB server with Toaster toasterui set up to record the builds, an no controlling UI.
After this method executes, self.be bbaddress/bbport MUST point to a running and free server,
@@ -140,12 +137,6 @@ class BuildEnvironmentController(object):
"""
raise Exception("FIXME: Must override in order to actually start the BB server")
def stopBBServer(self):
""" Stops the currently running BB server.
The bbstate MUST be updated to "stopped".
self.connection must be none.
"""
raise Exception("FIXME: Must override stoBBServer")
def setLayers(self, bbs, ls):
""" Checks-out bitbake executor and layers from git repositories.

View File

@@ -48,7 +48,6 @@ class LocalhostBEController(BuildEnvironmentController):
def __init__(self, be):
super(LocalhostBEController, self).__init__(be)
self.dburl = settings.getDATABASE_URL()
self.pokydirname = None
self.islayerset = False
@@ -71,28 +70,6 @@ class LocalhostBEController(BuildEnvironmentController):
logger.debug("localhostbecontroller: shellcmd success")
return out
def _setupBE(self):
assert self.pokydirname and os.path.exists(self.pokydirname)
path = self.be.builddir
if not path:
raise Exception("Invalid path creation specified.")
if not os.path.exists(path):
os.makedirs(path, 0755)
self._shellcmd("bash -c \"source %s/oe-init-build-env %s\"" % (self.pokydirname, path))
# delete the templateconf.cfg; it may come from an unsupported layer configuration
os.remove(os.path.join(path, "conf/templateconf.cfg"))
def writeConfFile(self, file_name, variable_list = None, raw = None):
filepath = os.path.join(self.be.builddir, file_name)
with open(filepath, "w") as conffile:
if variable_list is not None:
for i in variable_list:
conffile.write("%s=\"%s\"\n" % (i.name, i.value))
if raw is not None:
conffile.write(raw)
def startBBServer(self):
assert self.pokydirname and os.path.exists(self.pokydirname)
assert self.islayerset
@@ -100,86 +77,31 @@ class LocalhostBEController(BuildEnvironmentController):
# find our own toasterui listener/bitbake
from toaster.bldcontrol.management.commands.loadconf import _reduce_canon_path
own_bitbake = _reduce_canon_path(os.path.join(os.path.dirname(os.path.abspath(__file__)), "../../../bin/bitbake"))
toaster = _reduce_canon_path(os.path.join(os.path.dirname(os.path.abspath(__file__)), "../../../bin/toaster"))
assert os.path.exists(toaster) and os.path.isfile(toaster)
assert os.path.exists(own_bitbake) and os.path.isfile(own_bitbake)
# restart bitbake server and toastergui observer
self._shellcmd("bash -c 'source %s restart-bitbake'" % toaster, self.be.builddir)
logger.debug("localhostbecontroller: restarted bitbake server")
logger.debug("localhostbecontroller: running the listener at %s" % own_bitbake)
toaster_ui_log_filepath = os.path.join(self.be.builddir, "toaster_ui.log")
# get the file length; we need to detect the _last_ start of the toaster UI, not the first
toaster_ui_log_filelength = 0
if os.path.exists(toaster_ui_log_filepath):
with open(toaster_ui_log_filepath, "w") as f:
f.seek(0, 2) # jump to the end
toaster_ui_log_filelength = f.tell()
cmd = "bash -c \"source %s/oe-init-build-env %s 2>&1 >toaster_server.log && bitbake --read %s/conf/toaster-pre.conf --postread %s/conf/toaster.conf --server-only -t xmlrpc -B 0.0.0.0:0 2>&1 >>toaster_server.log \"" % (self.pokydirname, self.be.builddir, self.be.builddir, self.be.builddir)
port = "-1"
logger.debug("localhostbecontroller: starting builder \n%s\n" % cmd)
cmdoutput = self._shellcmd(cmd)
with open(self.be.builddir + "/toaster_server.log", "r") as f:
for i in f.readlines():
if i.startswith("Bitbake server address"):
port = i.split(" ")[-1]
logger.debug("localhostbecontroller: Found bitbake server port %s" % port)
cmd = "bash -c \"source %s/oe-init-build-env-memres -1 %s && DATABASE_URL=%s %s --observe-only -u toasterui --remote-server=0.0.0.0:-1 -t xmlrpc\"" % (self.pokydirname, self.be.builddir, self.dburl, own_bitbake)
with open(toaster_ui_log_filepath, "a+") as f:
p = subprocess.Popen(cmd, cwd = self.be.builddir, shell=True, stdout=f, stderr=f)
def _toaster_ui_started(filepath, filepos = 0):
if not os.path.exists(filepath):
return False
with open(filepath, "r") as f:
f.seek(filepos)
for line in f:
if line.startswith("NOTE: ToasterUI waiting for events"):
return True
return False
retries = 0
started = False
while not started and retries < 50:
started = _toaster_ui_started(toaster_ui_log_filepath, toaster_ui_log_filelength)
import time
logger.debug("localhostbecontroller: Waiting bitbake server to start")
time.sleep(0.5)
retries += 1
if not started:
toaster_ui_log = open(os.path.join(self.be.builddir, "toaster_ui.log"), "r").read()
toaster_server_log = open(os.path.join(self.be.builddir, "toaster_server.log"), "r").read()
raise BuildSetupException("localhostbecontroller: Bitbake server did not start in 25 seconds, aborting (Error: '%s' '%s')" % (toaster_ui_log, toaster_server_log))
logger.debug("localhostbecontroller: Started bitbake server")
while port == "-1":
# the port specification is "autodetect"; read the bitbake.lock file
with open("%s/bitbake.lock" % self.be.builddir, "r") as f:
for line in f.readlines():
# read port number from bitbake.lock
self.be.bbport = ""
bblock = os.path.join(self.be.builddir, 'bitbake.lock')
if os.path.exists(bblock):
with open(bblock) as fplock:
for line in fplock:
if ":" in line:
port = line.split(":")[1].strip()
logger.debug("localhostbecontroller: Autodetected bitbake port %s", port)
self.be.bbport = line.split(":")[-1].strip()
logger.debug("localhostbecontroller: bitbake port %s", self.be.bbport)
break
assert self.be.sourcedir and os.path.exists(self.be.builddir)
if not self.be.bbport:
raise BuildSetupException("localhostbecontroller: can't read bitbake port from %s" % bblock)
self.be.bbaddress = "localhost"
self.be.bbport = port
self.be.bbstate = BuildEnvironment.SERVER_STARTED
self.be.save()
def stopBBServer(self):
assert self.pokydirname and os.path.exists(self.pokydirname)
assert self.islayerset
self._shellcmd("bash -c \"source %s/oe-init-build-env %s && %s source toaster stop\"" %
(self.pokydirname, self.be.builddir, (lambda: "" if self.be.bbtoken is None else "BBTOKEN=%s" % self.be.bbtoken)()))
self.be.bbstate = BuildEnvironment.SERVER_STOPPED
self.be.save()
logger.debug("localhostbecontroller: Stopped bitbake server")
def getGitCloneDirectory(self, url, branch):
"""Construct unique clone directory name out of url and branch."""
if branch != "HEAD":
@@ -290,16 +212,12 @@ class LocalhostBEController(BuildEnvironmentController):
logger.debug("localhostbecontroller: current layer list %s " % pformat(layerlist))
# 4. configure the build environment, so we have a conf/bblayers.conf
assert self.pokydirname is not None
self._setupBE()
# 5. update the bblayers.conf
# 4. update the bblayers.conf
bblayerconf = os.path.join(self.be.builddir, "conf/bblayers.conf")
if not os.path.exists(bblayerconf):
raise BuildSetupException("BE is not consistent: bblayers.conf file missing at %s" % bblayerconf)
# 6. create custom layer and add custom recipes to it
# 5. create custom layer and add custom recipes to it
layerpath = os.path.join(self.be.sourcedir, "_meta-toaster-custom")
if os.path.isdir(layerpath):
shutil.rmtree(layerpath) # remove leftovers from previous builds
@@ -362,12 +280,19 @@ class LocalhostBEController(BuildEnvironmentController):
def triggerBuild(self, bitbake, layers, variables, targets):
# set up the buid environment with the needed layers
self.setLayers(bitbake, layers, targets)
self.writeConfFile("conf/toaster-pre.conf", variables)
self.writeConfFile("conf/toaster.conf", raw = "INHERIT+=\"toaster buildhistory\"")
# get the bb server running with the build req id and build env id
bbctrl = self.getBBController()
# set variables
for var in variables:
bbctrl.setVariable(var.name, var.value)
# Add 'toaster' and 'buildhistory' to INHERIT variable
inherit = {item.strip() for item in bbctrl.getVariable('INHERIT').split()}
inherit = inherit.union(["toaster", "buildhistory"])
bbctrl.setVariable('INHERIT', ' '.join(inherit))
# trigger the build command
task = reduce(lambda x, y: x if len(y)== 0 else y, map(lambda y: y.task, targets))
if len(task) == 0:

View File

@@ -5,6 +5,7 @@ from bldcontrol.bbcontroller import getBuildEnvironmentController, ShellCmdExcep
from bldcontrol.models import BuildRequest, BuildEnvironment, BRError, BRVariable
import os
import logging
import time
logger = logging.getLogger("ToasterScheduler")
@@ -128,6 +129,12 @@ class Command(NoArgsCommand):
def handle_noargs(self, **options):
self.cleanup()
self.archive()
self.schedule()
while True:
try:
self.cleanup()
self.archive()
self.schedule()
except:
pass
time.sleep(1)

View File

@@ -98,16 +98,6 @@ class SSHBEController(BuildEnvironmentController):
self.be.bbstate = BuildEnvironment.SERVER_STARTED
self.be.save()
def stopBBServer(self):
assert self.pokydirname and self._pathexists(self.pokydirname)
assert self.islayerset
print self._shellcmd("bash -c \"source %s/oe-init-build-env %s && %s source toaster stop\"" %
(self.pokydirname, self.be.builddir, (lambda: "" if self.be.bbtoken is None else "BBTOKEN=%s" % self.be.bbtoken)()))
self.be.bbstate = BuildEnvironment.SERVER_STOPPED
self.be.save()
print "Stopped server"
def _copyFile(self, filepath1, filepath2):
p = subprocess.Popen("scp '%s' '%s'" % (filepath1, filepath2), stdout=subprocess.PIPE, stderr = subprocess.PIPE, shell=True)
(out, err) = p.communicate()

View File

@@ -71,9 +71,6 @@ class BEControllerTests(object):
self.assertFalse(socket.socket(socket.AF_INET, socket.SOCK_STREAM).connect_ex((hostname, int(bc.be.bbport))), "Server not answering")
bc.stopBBServer()
self.assertTrue(socket.socket(socket.AF_INET, socket.SOCK_STREAM).connect_ex((hostname, int(bc.be.bbport))), "Server not stopped")
self._serverForceStop(bc)
def test_getBBController(self):
@@ -96,7 +93,6 @@ class BEControllerTests(object):
bbc = bc.getBBController()
self.assertTrue(isinstance(bbc, BitbakeController))
bc.stopBBServer()
self._serverForceStop(bc)

View File

@@ -0,0 +1 @@
../../../../../../toaster.sqlite

View File

@@ -23,13 +23,14 @@
# step 2 - 3 needs to be run manually
import unittest, time, re, sys, getopt, os, logging, string, errno, exceptions
import shutil, argparse, ConfigParser, platform
import shutil, argparse, ConfigParser, platform, json
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium import selenium
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
import sqlite3 as sqlite
###########################################
@@ -596,7 +597,7 @@ class toaster_cases_base(unittest.TestCase):
def is_text_present (self, patterns):
for pattern in patterns:
if str(pattern) not in self.driver.page_source:
print pattern
print 'Text "'+pattern+'" is missing'
return False
return True
@@ -605,6 +606,7 @@ class toaster_cases_base(unittest.TestCase):
try:
self.driver.find_element(how, what)
except NoSuchElementException, e:
print 'Could not find element '+str(what)+' by ' + str(how)
return False
return True
@@ -743,7 +745,7 @@ class toaster_cases(toaster_cases_base):
self.driver.find_element_by_id("started_on").click()
self.driver.find_element_by_id("edit-columns-button").click()
# step 4
items = ["Outcome", "Completed on", "Started on", "Failed tasks", "Errors", "Warnings"]
items = ["Outcome", "Completed on", "Started on"]
for item in items:
try:
temp_element = self.find_element_by_text_in_table('otable', item)
@@ -787,8 +789,6 @@ class toaster_cases(toaster_cases_base):
self.driver.get(self.base_url)
self.driver.find_element_by_partial_link_text("core-image").click()
self.driver.find_element_by_link_text("Tasks").click()
# self.driver.find_element_by_link_text("All builds").click()
# self.driver.back()
self.table_name = 'otable'
# This is how we find the "default" rows-number!
rows_displayed = int(Select(self.driver.find_element_by_css_selector("select.pagesize")).first_selected_option.text)
@@ -811,24 +811,23 @@ class toaster_cases(toaster_cases_base):
self.driver.find_element_by_id("edit-columns-button").click()
self.driver.find_element_by_id("cpu_used").click()
self.driver.find_element_by_id("disk_io").click()
self.driver.find_element_by_id("task_log").click()
self.driver.find_element_by_id("recipe_version").click()
self.driver.find_element_by_id("time_taken").click()
self.driver.find_element_by_css_selector("edit-columns-button").click()
self.driver.find_element_by_id("edit-columns-button").click()
# The operation is the same as case901
# dict: {lint text name : actual class name}
table_head_dict = {'Order':'order', 'Recipe':'recipe_name', 'Task':'task_name', 'Executed':'executed', \
'Outcome':'outcome', 'Cache attempt':'cache_attempt', 'Time (secs)':'time_taken', 'CPU usage':'cpu_used', \
'Disk I/O (ms)':'disk_io'}
for key in table_head_dict:
# This is tricky here: we are doing so because there may be more than 1
# same-name link_text in one page. So we only find element inside the table
# This is tricky here: we are doing so because there may be more than 1
# same-name link_text in one page. So we only find element inside the table
self.find_element_by_link_text_in_table(self.table_name, key).click()
column_list = self.get_table_column_text("class", table_head_dict[key])
# after 1st click, the list should be either sequenced or inverted, but we don't have a "default order" here
# the point is, after another click, it should be another order
# the first case is special:this means every item in column_list is the same, so
# after one click, either sequenced or inverted will be fine
# after 1st click, the list should be either sequenced or inverted, but we don't have a "default order" here
# the point is, after another click, it should be another order
# the first case is special:this means every item in column_list is the same, so
# after one click, either sequenced or inverted will be fine
if (is_list_inverted(column_list) and is_list_sequenced(column_list)) \
or (not column_list) :
self.find_element_by_link_text_in_table(self.table_name, key).click()
@@ -844,7 +843,7 @@ class toaster_cases(toaster_cases_base):
self.find_element_by_link_text_in_table(self.table_name, key).click()
column_list = self.get_table_column_text("class", table_head_dict[key])
self.assertTrue(is_list_inverted(column_list), msg=("%s column not inverted" % key))
# step 8-10
# step 8-10
# filter dict: {link text name : filter table name in xpath}
filter_dict = {'Executed':'filter_executed', 'Outcome':'filter_outcome', 'Cache attempt':'filter_cache_attempt'}
for key in filter_dict:
@@ -864,11 +863,19 @@ class toaster_cases(toaster_cases_base):
self.save_screenshot(screenshot_type='selenium', append_name='step8')
# after the last option was clicked, we don't need operation below anymore
if number < len(avail_options)-1:
temp_element = self.find_element_by_link_text_in_table(self.table_name, key)
temp_element.find_element_by_xpath("..//*[@class='icon-filter filtered']").click()
avail_options = self.driver.find_elements_by_xpath("//*[@id='" + filter_dict[key] + "']//*[@name='filter'][not(@disabled)]")
try:
temp_element = self.find_element_by_link_text_in_table(self.table_name, key)
temp_element.find_element_by_xpath("..//*[@class='icon-filter filtered']").click()
avail_options = self.driver.find_elements_by_xpath("//*[@id='" + filter_dict[key] + "']//*[@name='filter'][not(@disabled)]")
except:
print "in exception"
self.find_element_by_text("Show all tasks").click()
# self.driver.find_element_by_xpath("//*[@id='searchform']/button[2]").click()
temp_element = self.find_element_by_link_text_in_table(self.table_name, key)
temp_element.find_element_by_xpath("..//*[@class='icon-filter filtered']").click()
avail_options = self.driver.find_elements_by_xpath("//*[@id='" + filter_dict[key] + "']//*[@name='filter'][not(@disabled)]")
self.browser_delay()
# step 11
# step 11
for item in ['order', 'task_name', 'executed', 'outcome', 'recipe_name', 'recipe_version']:
try:
self.find_element_by_xpath_in_table(self.table_name, "./tbody/tr[1]/*[@class='" + item + "']/a").click()
@@ -878,7 +885,7 @@ class toaster_cases(toaster_cases_base):
# insert screen shot here
self.save_screenshot(screenshot_type='selenium', append_name='step11')
self.driver.back()
# step 12-14
# step 12-14
# about test_dict: please refer to testcase 904 requirement step 12-14
test_dict = {
'Time':{
@@ -926,14 +933,14 @@ class toaster_cases(toaster_cases_base):
# find "bash" in first column (Packages)
self.driver.find_element_by_xpath("//*[@id='otable']//td[1]//*[text()='bash']").click()
# save sceen here to observe...
# step 6
# step 6
self.driver.find_element_by_partial_link_text("Generated files").click()
head_list = self.get_table_head_text('otable')
for item in ['File', 'Size']:
self.assertTrue(item in head_list, msg=("%s not in head row" % item))
c_list = self.get_table_column_text('class', 'path')
self.assertTrue(is_list_sequenced(c_list), msg=("column not in order"))
# step 7
# step 7
self.driver.find_element_by_partial_link_text("Runtime dependencies").click()
# save sceen here to observe...
# note that here table name is not 'otable'
@@ -943,11 +950,8 @@ class toaster_cases(toaster_cases_base):
c_list = self.get_table_column_text_by_column_number('dependencies', 1)
self.assertTrue(is_list_sequenced(c_list), msg=("list not in order"))
texts = ['Size', 'License', 'Recipe', 'Recipe version', 'Layer', \
'Layer branch', 'Layer commit']
time.sleep(1)
# for text in texts:
# self.assertTrue(self.is_text_present(text), msg=("text %s not in page" % text))
self.assertTrue(self.is_text_present(texts), msg=("text not in page"))
'Layer commit']
self.failUnless(self.is_text_present(texts))
##############
@@ -1049,7 +1053,7 @@ class toaster_cases(toaster_cases_base):
self.assertTrue(is_list_sequenced(column_search_list))
self.driver.find_element_by_css_selector("i.icon-remove").click()
else:
self.assertTrue(is_list_sequenced(column_list))
self.assertTrue(is_list_sequenced(column_list), msg=("list %s not sequenced" % key))
self.find_element_by_link_text_in_table(self.table_name, key).click()
column_list = self.get_table_column_text("class", table_head_dict[key])
self.assertTrue(is_list_inverted(column_list))
@@ -1102,21 +1106,22 @@ class toaster_cases(toaster_cases_base):
self.driver.get(self.base_url)
self.driver.find_element_by_link_text("core-image-minimal").click()
self.find_element_by_link_text_in_table('nav', 'Recipes').click()
# step 3-5
# step 3-5
self.driver.find_element_by_id("search").clear()
self.driver.find_element_by_id("search").send_keys("lib")
self.driver.find_element_by_id("search-button").click()
# save screen here for observation
self.save_screenshot(screenshot_type='selenium', append_name='step5')
# step 6
# step 6
self.driver.find_element_by_css_selector("i.icon-remove").click()
self.driver.find_element_by_id("search").clear()
# we deliberately want "no result" here
self.driver.find_element_by_id("search").send_keys("no such input")
self.driver.find_element_by_id("search-button").click()
self.find_element_by_text("Show all recipes").click()
self.driver.quit()
try:
self.find_element_by_text("Show all recipes").click()
except:
self.fail(msg='Could not identify blank page elements')
##############
# CASE 912 #
@@ -1124,7 +1129,6 @@ class toaster_cases(toaster_cases_base):
def test_912(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
self.driver = self.setup_browser(self)
self.driver.maximize_window()
self.driver.get(self.base_url)
self.driver.find_element_by_link_text("core-image-minimal").click()
@@ -1200,10 +1204,10 @@ class toaster_cases(toaster_cases_base):
self.table_name = 'information'
tasks_row_count = len(driver.find_elements_by_xpath("/html/body/div[2]/div/div[3]/div/div[1]/table/tbody/tr/td[1]"))
tasks_column_count = len(driver.find_elements_by_xpath("/html/body/div[2]/div/div[3]/div/div[1]/table/tbody/tr[1]/td"))
print tasks_row_count
print tasks_column_count
tasks_row_count = len(driver.find_elements_by_xpath("//*[@id='"+self.table_name+"']/table/tbody/tr/td[1]"))
tasks_column_count = len(driver.find_elements_by_xpath("//*[@id='"+self.table_name+"']/table/tbody/tr[1]/td"))
print 'rows: '+str(tasks_row_count)
print 'columns: '+str(tasks_column_count)
Tasks_column = self.get_table_column_text_by_column_number(self.table_name, 2)
print ("Tasks_column=", Tasks_column)
@@ -1230,21 +1234,26 @@ class toaster_cases(toaster_cases_base):
driver.find_element_by_partial_link_text("Packages (").click()
packages_name = driver.find_element_by_partial_link_text("Packages (").text
print packages_name
packages_num = string.atoi(filter(str.isdigit, repr(packages_name)))
packages_num = int(filter(str.isdigit, repr(packages_name)))
print packages_num
packages_row_count = len(driver.find_elements_by_xpath("/html/body/div[2]/div/div[3]/div/div[2]/table/tbody/tr/td[1]"))
#switch the table to show more than 10 rows at a time
self.driver.find_element_by_xpath("//*[@id='packages-built']/div[1]/div/select").click()
Select(driver.find_element_by_xpath("//*[@id='packages-built']/div[1]/div/select")).select_by_value('150')
self.driver.find_element_by_xpath("//*[@id='packages-built']/div[1]/div/select").send_keys(Keys.ENTER)
packages_row_count = len(driver.find_elements_by_xpath("//*[@id='otable']/tbody/tr/td[1]"))
print packages_row_count
if packages_num != packages_row_count:
print ("Error! The packages number is not correct")
else:
print ("The pakcages number is correct")
print ("The packages number is correct")
driver.find_element_by_partial_link_text("Build dependencies (").click()
depends_name = driver.find_element_by_partial_link_text("Build dependencies (").text
print depends_name
depends_num = string.atoi(filter(str.isdigit, repr(depends_name)))
depends_num = int(filter(str.isdigit, repr(depends_name)))
print depends_num
if depends_num == 0:
@@ -1255,7 +1264,7 @@ class toaster_cases(toaster_cases_base):
else:
print ("The message is expected")
else:
depends_row_count = len(driver.find_elements_by_xpath("/html/body/div[2]/div/div[3]/div/div[3]/table/tbody/tr/td[1]"))
depends_row_count = len(driver.find_elements_by_xpath("//*[@id='dependencies']/table/tbody/tr/td[1]"))
print depends_row_count
if depends_num != depends_row_count:
print ("Error! The dependent packages number is not correct")
@@ -1265,7 +1274,7 @@ class toaster_cases(toaster_cases_base):
driver.find_element_by_partial_link_text("Reverse build dependencies (").click()
rdepends_name = driver.find_element_by_partial_link_text("Reverse build dependencies (").text
print rdepends_name
rdepends_num = string.atoi(filter(str.isdigit, repr(rdepends_name)))
rdepends_num = int(filter(str.isdigit, repr(rdepends_name)))
print rdepends_num
if rdepends_num == 0:
@@ -1288,8 +1297,8 @@ class toaster_cases(toaster_cases_base):
driver.find_element_by_link_text("Recipes").click()
driver.find_element_by_link_text(test_package3).click()
native_tasks_row_count = len(driver.find_elements_by_xpath("/html/body/div[2]/div/div[3]/div/div[1]/table/tbody/tr/td[1]"))
native_tasks_column_count = len(driver.find_elements_by_xpath("/html/body/div[2]/div/div[3]/div/div[1]/table/tbody/tr[1]/td"))
native_tasks_row_count = len(driver.find_elements_by_xpath("//*[@id='information']/table/tbody/tr/td[1]"))
native_tasks_column_count = len(driver.find_elements_by_xpath("//*[@id='information']/table/tbody/tr[1]/td"))
print native_tasks_row_count
print native_tasks_column_count
@@ -1318,13 +1327,13 @@ class toaster_cases(toaster_cases_base):
driver.find_element_by_partial_link_text("Packages (").click()
native_packages_name = driver.find_element_by_partial_link_text("Packages (").text
print native_packages_name
native_packages_num = string.atoi(filter(str.isdigit, repr(native_packages_name)))
native_packages_num = int(filter(str.isdigit, repr(native_packages_name)))
print native_packages_num
if native_packages_num != 0:
print ("Error! Native task shouldn't have any packages.")
else:
native_package_message = repr(driver.find_element_by_css_selector("div.alert.alert-info").text)
native_package_message = repr(driver.find_element_by_css_selector("#packages-built > div.alert.alert-info").text)
print native_package_message
if native_package_message.find("does not build any packages.") < 0:
print ("Error! The message for native task isn't expected.")
@@ -1334,10 +1343,10 @@ class toaster_cases(toaster_cases_base):
driver.find_element_by_partial_link_text("Build dependencies (").click()
native_depends_name = driver.find_element_by_partial_link_text("Build dependencies (").text
print native_depends_name
native_depends_num = string.atoi(filter(str.isdigit, repr(native_depends_name)))
native_depends_num = int(filter(str.isdigit, repr(native_depends_name)))
print native_depends_num
native_depends_row_count = len(driver.find_elements_by_xpath("/html/body/div[2]/div/div[3]/div/div[3]/table/tbody/tr/td[1]"))
native_depends_row_count = len(driver.find_elements_by_xpath("//*[@id='dependencies']/table/tbody/tr/td[1]"))
print native_depends_row_count
if native_depends_num != native_depends_row_count:
@@ -1348,10 +1357,10 @@ class toaster_cases(toaster_cases_base):
driver.find_element_by_partial_link_text("Reverse build dependencies (").click()
native_rdepends_name = driver.find_element_by_partial_link_text("Reverse build dependencies (").text
print native_rdepends_name
native_rdepends_num = string.atoi(filter(str.isdigit, repr(native_rdepends_name)))
native_rdepends_num = int(filter(str.isdigit, repr(native_rdepends_name)))
print native_rdepends_num
native_rdepends_row_count = len(driver.find_elements_by_xpath("/html/body/div[2]/div/div[3]/div/div[4]/table/tbody/tr/td[1]"))
native_rdepends_row_count = len(driver.find_elements_by_xpath("//*[@id='brought-in-by']/table/tbody/tr/td[1]"))
print native_rdepends_row_count
if native_rdepends_num != native_rdepends_row_count:
@@ -1371,24 +1380,24 @@ class toaster_cases(toaster_cases_base):
self.driver.maximize_window()
self.driver.get(self.base_url)
self.driver.find_element_by_link_text("core-image-minimal").click()
# step 3
# step 3
self.find_element_by_link_text_in_table('nav', 'Configuration').click()
self.driver.find_element_by_link_text("BitBake variables").click()
# step 4
# step 4
self.driver.find_element_by_id("search").clear()
self.driver.find_element_by_id("search").send_keys("lib")
self.driver.find_element_by_id("search-button").click()
# save screen to see result
self.browser_delay()
self.save_screenshot(screenshot_type='selenium', append_name='step4')
# step 5
# step 5
self.driver.find_element_by_css_selector("i.icon-remove").click()
head_list = self.get_table_head_text('otable')
print head_list
print len(head_list)
self.assertTrue(head_list == ['Variable', 'Value', 'Set in file', 'Description'], \
msg=("head row contents wrong"))
# step 8
# step 8
# search other string. and click "Variable" to re-sort, check if table
# head is still the same
self.driver.find_element_by_id("search").clear()
@@ -1413,17 +1422,17 @@ class toaster_cases(toaster_cases_base):
self.driver.maximize_window()
self.driver.get(self.base_url)
self.driver.find_element_by_link_text("core-image-minimal").click()
# step 2-3
# step 2-3
self.find_element_by_link_text_in_table('nav', 'Configuration').click()
self.driver.find_element_by_link_text("BitBake variables").click()
variable_list = self.get_table_column_text('class', 'variable_name')
self.assertTrue(is_list_sequenced(variable_list), msg=("list not in order"))
# step 4
# step 4
self.find_element_by_link_text_in_table('otable', 'Variable').click()
variable_list = self.get_table_column_text('class', 'variable_name')
self.assertTrue(is_list_inverted(variable_list), msg=("list not inverted"))
self.find_element_by_link_text_in_table('otable', 'Variable').click()
# step 5
# step 5
# searching won't change the sequentiality
self.driver.find_element_by_id("search").clear()
self.driver.find_element_by_id("search").send_keys("lib")
@@ -1447,12 +1456,11 @@ class toaster_cases(toaster_cases_base):
# step 3
self.driver.find_element_by_id("edit-columns-button").click()
self.driver.find_element_by_id("started_on").click()
self.driver.find_element_by_id("log").click()
self.driver.find_element_by_id("time").click()
self.driver.find_element_by_id("edit-columns-button").click()
head_list = self.get_table_head_text('otable')
for item in ['Outcome', 'Recipe', 'Machine', 'Started on', 'Completed on', 'Failed tasks', 'Errors', 'Warnings', 'Warnings', 'Time']:
self.assertTrue(item in head_list, msg=("item %s not in head row" % item))
for item in ['Outcome', 'Recipe', 'Machine', 'Started on', 'Completed on', 'Failed tasks', 'Errors', 'Warnings', 'Time', "Image files", "Project"]:
self.failUnless(item in head_list, msg=item+' is missing from table head.')
##############
@@ -1470,10 +1478,11 @@ class toaster_cases(toaster_cases_base):
# Step 4
# click Errors , order in "Completed on" should be disturbed. Then hide
# error column to check if order in "Completed on" can be restored
self.find_element_by_link_text_in_table('otable', 'Errors').click()
self.driver.find_element_by_id("edit-columns-button").click()
self.driver.find_element_by_id("errors_no").click()
self.driver.find_element_by_id("edit-columns-button").click()
#THIS TEST IS NO LONGER VALID DUE TO DESIGN CHANGES. LEAVING IN PENDING UPDATES TO DESIGN
#self.find_element_by_link_text_in_table('otable', 'Errors').click()
#self.driver.find_element_by_id("edit-columns-button").click()
#self.driver.find_element_by_id("errors_no").click()
#self.driver.find_element_by_id("edit-columns-button").click()
# Note: without time.sleep here, there'll be unpredictable error..TBD
time.sleep(1)
c_list = self.get_table_column_text('class', 'completed_on')
@@ -1489,12 +1498,12 @@ class toaster_cases(toaster_cases_base):
self.driver.maximize_window()
self.driver.get(self.base_url)
self.driver.find_element_by_link_text("core-image-minimal").click()
# Step 2-3
# Step 2-3
self.find_element_by_link_text_in_table('nav', 'Packages').click()
check_head_list = ['Package', 'Package version', 'Size', 'Recipe']
head_list = self.get_table_head_text('otable')
self.assertTrue(head_list == check_head_list, msg=("head row not as expected"))
# Step 4
# Step 4
# pulldown menu
option_ids = ['recipe__layer_version__layer__name', 'recipe__layer_version__branch', \
'recipe__layer_version__layer__commit', 'license', 'recipe__version']
@@ -1583,7 +1592,7 @@ class toaster_cases(toaster_cases_base):
# otable is the recipes table here
otable_head_text = self.get_table_head_text('otable')
for item in ["Layer", "Layer branch", "Layer commit"]:
self.assertFalse(item not in otable_head_text, msg=("item %s should be in head row" % item))
self.failIf(item not in otable_head_text, msg=item+' not in table head.')
# click the fist recipe, whatever it is
self.get_table_element("otable", 1, 1).click()
self.assertTrue(self.is_text_present(["Layer", "Layer branch", "Layer commit", "Recipe file"]), \
@@ -1626,8 +1635,8 @@ class toaster_cases(toaster_cases_base):
self.driver.back()
self.driver.find_element_by_link_text("Configuration").click()
otable_head_text = self.get_table_head_text()
for item in ["Layer", "Layer branch", "Layer commit"]:
self.assertTrue(item not in otable_head_text, msg=("item %s should not be in head row" % item))
self.assertTrue(self.is_text_present(["Layer", "Layer branch", "Layer commit"]), \
msg=("text not in web page"))
##############
@@ -1637,14 +1646,14 @@ class toaster_cases(toaster_cases_base):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
self.driver.maximize_window()
for items in ["Packages", "Recipes", "Tasks"]:
for item in ["Packages", "Recipes", "Tasks"]:
self.driver.get(self.base_url)
self.driver.find_element_by_link_text("core-image-minimal").click()
self.driver.find_element_by_link_text(items).click()
# this may be page specific. If future page content changes, try to replace it with new xpath
xpath_showrows = "/html/body/div[2]/div/div[2]/div[2]/div[2]/div/div/div[2]/select"
xpath_table = "/html/body/div[2]/div/div[2]/div[2]/table/tbody"
xpath_showrows = "/html/body/div[4]/div/div/div[2]/div[2]/div[2]/div/div/div[2]/select"
xpath_table = "html/body/div[4]/div/div/div[2]/div[2]/table/tbody"#"id=('otable')/tbody"
self.driver.find_element_by_xpath(xpath_showrows).click()
rows_displayed = int(self.driver.find_element_by_xpath(xpath_showrows + "/option[2]").text)
@@ -1652,14 +1661,18 @@ class toaster_cases(toaster_cases_base):
# Sure we can use driver.get(url) to refresh page, but since page will vary, we use click link text here
self.driver.find_element_by_link_text(items).click()
Select(self.driver.find_element_by_css_selector("select.pagesize")).select_by_visible_text(str(rows_displayed))
self.assertTrue(self.is_element_present(By.XPATH, xpath_table + "/tr[" + str(rows_displayed) +"]"))
self.assertFalse(self.is_element_present(By.XPATH, xpath_table + "/tr[" + str(rows_displayed+1) +"]"))
self.failUnless(self.is_element_present(By.XPATH, xpath_table + "/tr[" + str(rows_displayed) +"]"))
self.failIf(self.is_element_present(By.XPATH, xpath_table + "/tr[" + str(rows_displayed+1) +"]"))
# click 1st package, then go back to check if it's still those rows shown.
self.driver.find_element_by_xpath(xpath_table + "/tr[1]/td[1]").click()
self.driver.find_element_by_link_text(items).click()
self.assertTrue(self.is_element_present(By.XPATH, xpath_table + "/tr[" + str(rows_displayed) +"]"))
self.assertFalse(self.is_element_present(By.XPATH, xpath_table + "/tr[" + str(rows_displayed+1) +"]"))
self.driver.find_element_by_xpath(xpath_otable + "/tr[1]/td[1]/a").click()
time.sleep(3)
self.driver.find_element_by_link_text(item).click()
self.assertTrue(self.is_element_present(By.XPATH, xpath_otable + "/tr[" + str(option_tobeselected) +"]"),\
msg=("Row %d should exist" %option_tobeselected))
self.assertFalse(self.is_element_present(By.XPATH, xpath_otable + "/tr[" + str(option_tobeselected+1) +"]"),\
msg=("Row %d should not exist" %(option_tobeselected+1)))
##############
@@ -1944,7 +1957,400 @@ class toaster_cases(toaster_cases_base):
# step 2-3 need to run manually
self.log.info("step 2-3: checking the help message when you hover on help icon of target,\
tasks, recipes, packages need to run manually")
self.driver.find_element_by_partial_link_text("Toaster manual").click()
if not self.is_text_present("Toaster Manual"):
self.assertFalse(True, msg=("please check [Toaster manual] link on page"))
self.driver.find_element_by_partial_link_text("Manual").click()
if not self.is_text_present("Manual"):
self.log.error("please check [Toaster manual] link on page")
self.failIf(True)
####################################################################################################
# Starting backend tests ###########################################################################
####################################################################################################
##############
# CASE 1066 #
##############
def test_1066(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select count(name) from orm_project a, auth_user b where a.user_id = b.id and b.username='_anonuser';"
cursor.execute(query)
data = cursor.fetchone()
self.failUnless(data >= 1)
##############
# CASE 1071 #
##############
def test_1071(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select name from orm_release;"
cursor.execute(query)
data = cursor.fetchall()
for i in range(0,4):
data[i] = data[i][0]
data.sort()
print data
json_parse = json.loads(open('toasterconf.json').read())
json_data = []
for i in range (0,4):
json_data.append(json_parse['releases'][i]['name'])
json_data.sort()
print json_data
self.failUnless(data == json_data)
##############
# CASE 1072 #
##############
def test_1072(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select value from orm_toastersetting where name like 'DEFCONF%';"
cursor.execute(query)
data = cursor.fetchall()
for i in range(0,6):
data[i] = data[i][0]
print data
json_parse = json.loads(open('toasterconf.json').read())
json_data=json_parse['config']
json_data = json_data.values()
print json_data
self.failUnless(data == json_data)
##############
# CASE 1074 #
##############
def test_1074(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select name from orm_layersource;"
cursor.execute(query)
data = cursor.fetchall()
for i in range(0,3):
data[i] = data[i][0]
print data
json_parse = json.loads(open('toasterconf.json').read())
json_data = []
for i in range(0,3):
json_data.append(json_parse['layersources'][i]['name'])
print json_data
self.failUnless(set(data) == set(json_data))
##############
# CASE 1075 #
##############
def test_1075(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select value from orm_toastersetting where name like 'DEFAULT_RELEASE';"
cursor.execute(query)
data = cursor.fetchall()
data = data[0][0]
print data
json_parse = json.loads(open('toasterconf.json').read())
json_data = json_parse['defaultrelease']
print json_data
self.failUnless(set(data) == set(json_data))
##############
# CASE 1076 #
##############
def test_1076(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
print 'Checking branches for "Local Yocto Project"'
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select name from orm_branch where layer_source_id=1;"
cursor.execute(query)
data = cursor.fetchall()
lenght = len(data)
try:
for i in range(0,lenght):
data[i] = data[i][0]
except:
pass
print data
json_parse = json.loads(open('toasterconf.json').read())
json_location = json_parse['layersources'][0]['name']
print json_location
json_data = json_parse['layersources'][0]['branches']
print json_data
self.failUnless(set(data) == set(json_data))
print 'Checking branches for "OpenEmbedded"'
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select name from orm_branch where layer_source_id=3;"
cursor.execute(query)
data = cursor.fetchall()
lenght = len(data)
for i in range(0,lenght):
data[i] = data[i][0]
print data
json_parse = json.loads(open('toasterconf.json').read())
json_location = json_parse['layersources'][1]['name']
print json_location
json_data = json_parse['layersources'][1]['branches']
print json_data
self.failUnless(set(data) == set(json_data))
print 'Checking branches for "Imported layers"'
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select name from orm_branch where layer_source_id=2;"
cursor.execute(query)
data = cursor.fetchall()
lenght = len(data)
for i in range(0,lenght):
data[i] = data[i][0]
print data
json_parse = json.loads(open('toasterconf.json').read())
json_location = json_parse['layersources'][2]['name']
print json_location
json_data = json_parse['layersources'][2]['branches']
print json_data
self.failUnless(set(data) == set(json_data))
##############
# CASE 1077 #
##############
def test_1077(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select name from orm_bitbakeversion;"
cursor.execute(query)
data = cursor.fetchall()
for i in range(0,4):
data[i] = data[i][0]
print data
json_parse = json.loads(open('toasterconf.json').read())
json_data = []
for i in range(0,4):
json_data.append(json_parse['bitbake'][i]['name'])
print json_data
self.failUnless(set(data) == set(json_data))
##############
# CASE 1083 #
##############
def test_1083(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
self.driver.maximize_window()
self.driver.get(self.base_url)
self.driver.find_element_by_id("new-project-button").click()
self.driver.find_element_by_id("new-project-name").send_keys("new-test-project")
self.driver.find_element_by_id("create-project-button").click()
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select count(name) from orm_project where name = 'new-test-project';"
cursor.execute(query)
data = cursor.fetchone()
print 'data: %s' % data
self.failUnless(data >= 1)
##############
# CASE 1084 #
##############
def test_1084(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
self.driver.maximize_window()
self.driver.get(self.base_url)
self.driver.find_element_by_id("new-project-button").click()
self.driver.find_element_by_id("new-project-name").send_keys("new-default-project")
self.driver.find_element_by_id("create-project-button").click()
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select a.name from orm_release a, orm_project b where a.id = b.release_id and b.name = 'new-default-project' limit 1;"
cursor.execute(query)
db_data = str(cursor.fetchone()[0])
json_parse = json.loads(open('toasterconf.json').read())
json_data = str(json_parse['defaultrelease'])
self.failUnless(db_data == json_data)
##############
# CASE 1088 #
##############
def test_1088(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
self.driver.maximize_window()
self.driver.get(self.base_url)
self.driver.find_element_by_css_selector("a[href='/toastergui/projects/']").click()
self.driver.find_element_by_link_text('new-default-project').click()
self.driver.find_element_by_id('project-change-form-toggle').click()
self.driver.find_element_by_id('project-name-change-input').clear()
self.driver.find_element_by_id('project-name-change-input').send_keys('new-name')
self.driver.find_element_by_id('project-name-change-btn').click()
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select count(name) from orm_project where name = 'new-name';"
cursor.execute(query)
data = cursor.fetchone()[0]
self.failUnless(data == 1)
#reseting project name
self.driver.find_element_by_id('project-change-form-toggle').click()
self.driver.find_element_by_id('project-name-change-input').clear()
self.driver.find_element_by_id('project-name-change-input').send_keys('new-default-project')
self.driver.find_element_by_id('project-name-change-btn').click()
##############
# CASE 1089 #
##############
def test_1089(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
self.driver.maximize_window()
self.driver.get(self.base_url)
self.driver.find_element_by_css_selector("a[href='/toastergui/projects/']").click()
self.driver.find_element_by_link_text('new-default-project').click()
self.driver.find_element_by_id('change-machine-toggle').click()
self.driver.find_element_by_id('machine-change-input').clear()
self.driver.find_element_by_id('machine-change-input').send_keys('qemuarm64')
# self.driver.find_element_by_id('machine-change-input').send_keys(Keys.RETURN)
self.driver.find_element_by_id('machine-change-btn').click()
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select count(id) from orm_projectvariable where name like 'machine' and value like 'qemuarm64';"
cursor.execute(query)
data = cursor.fetchone()[0]
self.failUnless(data == 1)
#resetting machine to default value
self.driver.find_element_by_id('change-machine-toggle').click()
self.driver.find_element_by_id('machine-change-input').clear()
self.driver.find_element_by_id('machine-change-input').send_keys('qemux86')
self.driver.find_element_by_id('machine-change-input').send_keys(Keys.RETURN)
self.driver.find_element_by_id('machine-change-btn').click()
##############
# CASE 1090 #
##############
def test_1090(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select username from auth_user where is_superuser = 1;"
cursor.execute(query)
data = cursor.fetchall()
try:
data = data[0][0]
except:
pass
print data
self.failUnless(data == 'toaster_admin')
##############
# CASE 1091 #
##############
def test_1091(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
self.driver.maximize_window()
self.driver.get(self.base_url)
self.driver.find_element_by_css_selector("a[href='/toastergui/projects/']").click()
self.driver.find_element_by_link_text('new-default-project').click()
self.driver.find_element_by_id('release-change-toggle').click()
dropdown = self.driver.find_element_by_css_selector('select')
for option in dropdown.find_elements_by_tag_name('option'):
if option.text == 'Local Yocto Project':
option.click()
self.driver.find_element_by_id('change-release-btn').click()
#wait for the changes to register in the DB
time.sleep(1)
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select count(*) from orm_layer_version a, orm_projectlayer b, orm_project c where a.\"commit\"=\"HEAD\" and a.id = b.layercommit_id and b.project_id=c.id and c.name='new-default-project';"
cursor.execute(query)
data = cursor.fetchone()[0]
#resetting release to default
self.driver.find_element_by_id('release-change-toggle').click()
dropdown = self.driver.find_element_by_css_selector('select')
for option in dropdown.find_elements_by_tag_name('option'):
if option.text == 'Yocto Project master':
option.click()
self.driver.find_element_by_id('change-release-btn').click()
#wait for the changes to register in the DB
time.sleep(1)
self.failUnless(data == 3)
##############
# CASE 1092 #
##############
def test_1092(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
self.driver.maximize_window()
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select a.name, a.value from orm_projectvariable a, orm_project b where a.project_id = b.id and b.name = 'new-default-project';"
cursor.execute(query)
data = dict(cursor.fetchall())
print data
default_values = {u'IMAGE_INSTALL_append': u'', u'PACKAGE_CLASSES': u'package_rpm', u'MACHINE': u'qemux86', u'SDKMACHINE': u'x86_64', u'DISTRO': u'poky', u'IMAGE_FSTYPES': u'ext3 jffs2 tar.bz2'}
self.failUnless(data == default_values)
##############
# CASE 1093 #
##############
def test_1093(self):
self.case_no = self.get_case_number()
self.log.info(' CASE %s log: ' % str(self.case_no))
#get initial values
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select layercommit_id from orm_projectlayer a, orm_project b where a.project_id=b.id and b.name='new-default-project';"
cursor.execute(query)
data_initial = cursor.fetchall()
print data_initial
self.driver.maximize_window()
self.driver.get('localhost:8000')#self.base_url)
self.driver.find_element_by_css_selector("a[href='/toastergui/projects/']").click()
self.driver.find_element_by_link_text('new-default-project').click()
self.driver.find_element_by_id('release-change-toggle').click()
dropdown = self.driver.find_element_by_css_selector('select')
for option in dropdown.find_elements_by_tag_name('option'):
if option.text == 'Local Yocto Project':
option.click()
self.driver.find_element_by_id('change-release-btn').click()
#wait for the changes to register in the DB
time.sleep(1)
#get changed values
con=sqlite.connect('toaster.sqlite')
cursor = con.cursor()
query = "select layercommit_id from orm_projectlayer a, orm_project b where a.project_id=b.id and b.name='new-default-project';"
cursor.execute(query)
data_changed = cursor.fetchall()
print data_changed
#resetting release to default
self.driver.find_element_by_id('release-change-toggle').click()
dropdown = self.driver.find_element_by_css_selector('select')
for option in dropdown.find_elements_by_tag_name('option'):
if option.text == 'Yocto Project master':
option.click()
self.driver.find_element_by_id('change-release-btn').click()
#wait for the changes to register in the DB
time.sleep(1)
self.failUnless(data_initial != data_changed)

View File

@@ -0,0 +1 @@
../../../../../../meta-yocto/conf/toasterconf.json

View File

@@ -130,13 +130,12 @@ class Project(models.Model):
try:
return self.projectvariable_set.get(name="MACHINE").value
except (ProjectVariable.DoesNotExist,IndexError):
return( "None" );
return None;
def get_number_of_builds(self):
try:
return len(Build.objects.filter( project = self.id ))
except (Build.DoesNotExist,IndexError):
return( 0 )
"""Return the number of builds which have ended"""
return self.build_set.filter(~Q(outcome=Build.IN_PROGRESS)).count()
def get_last_build_id(self):
try:
@@ -1239,6 +1238,7 @@ class ProjectLayer(models.Model):
unique_together = (("project", "layercommit"),)
class CustomImageRecipe(models.Model):
search_allowed_fields = ['name']
name = models.CharField(max_length=100)
base_recipe = models.ForeignKey(Recipe)
packages = models.ManyToManyField(Package)

View File

@@ -1,229 +0,0 @@
'use strict';
function basePageInit(ctx) {
var newBuildButton = $("#new-build-button");
var newBuildTargetInput;
var newBuildTargetBuildBtn;
var projectNameForm = $("#project-name-change-form");
var projectNameContainer = $("#project-name-container");
var projectName = $("#project-name");
var projectNameFormToggle = $("#project-change-form-toggle");
var projectNameChangeCancel = $("#project-name-change-cancel");
/* initially the current project is used unless overridden by the new build
* button in top right nav
*/
var selectedProject = libtoaster.ctx;
var selectedTarget;
var newBuildProjectInput = $("#new-build-button #project-name-input");
var newBuildProjectSaveBtn = $("#new-build-button #save-project-button");
/* Project name change functionality */
projectNameFormToggle.click(function(e){
e.preventDefault();
projectNameContainer.hide();
projectNameForm.fadeIn();
});
projectNameChangeCancel.click(function(e){
e.preventDefault();
projectNameForm.hide();
projectNameContainer.fadeIn();
});
$("#project-name-change-btn").click(function(e){
var newProjectName = $("#project-name-change-input").val();
libtoaster.editCurrentProject({ projectName: newProjectName }, function (){
projectName.html(newProjectName);
libtoaster.ctx.projectName = newProjectName;
projectNameChangeCancel.click();
});
});
_checkProjectBuildable();
$("#project-topbar .nav li a").each(function(){
if (window.location.pathname === $(this).attr('href'))
$(this).parent().addClass('active');
else
$(this).parent().removeClass('active');
});
if ($(".total-builds").length !== 0){
libtoaster.getProjectInfo(libtoaster.ctx.projectPageUrl, function(prjInfo){
if (prjInfo.completedbuilds)
$(".total-builds").text(prjInfo.completedbuilds.length);
});
}
/* Hide the button if we're on the project,newproject or importlyaer page
* or if there are no projects yet defined
* only show if there isn't already a build-target-input already
*/
if (ctx.numProjects > 0 &&
ctx.currentUrl.search('newproject') < 0 &&
$(".build-target-input").length === 1) {
newBuildTargetInput = $("#new-build-button .build-target-input");
newBuildTargetBuildBtn = $("#new-build-button").find(".build-button");
_setupNewBuildButton();
newBuildButton.show();
} else if ($(".build-target-input").length > 0) {
newBuildTargetInput = $("#project-topbar .build-target-input");
newBuildTargetBuildBtn = $("#project-topbar .build-button");
} else {
return;
}
/* Hide the change project icon when there is only one project */
if (ctx.numProjects === 1) {
$('#project .icon-pencil').hide();
}
/* If we have a project setup the typeahead */
if (selectedProject.recipesTypeAheadUrl){
libtoaster.makeTypeahead(newBuildTargetInput, selectedProject.recipesTypeAheadUrl, { format: "json" }, function (item) {
selectedTarget = item;
newBuildTargetBuildBtn.removeAttr("disabled");
});
}
newBuildTargetInput.on('input', function () {
if ($(this).val().length === 0) {
newBuildTargetBuildBtn.attr("disabled", "disabled");
} else {
newBuildTargetBuildBtn.removeAttr("disabled");
}
});
newBuildTargetBuildBtn.click(function (e) {
e.preventDefault();
if (!newBuildTargetInput.val()) {
return;
}
/* We use the value of the input field so as to maintain any command also
* added e.g. core-image-minimal:clean
*/
selectedTarget = { name: newBuildTargetInput.val() };
/* Fire off the build */
libtoaster.startABuild(selectedProject.projectBuildsUrl,
selectedProject.projectId, selectedTarget.name, function(){
window.location.replace(selectedProject.projectBuildsUrl);
}, null);
});
function _checkProjectBuildable() {
if (selectedProject.projectId === undefined || selectedProject.projectIsDefault) {
return;
}
libtoaster.getProjectInfo(selectedProject.projectPageUrl,
function (data) {
if (data.machine === null || data.machine.name === undefined || data.layers.length === 0) {
/* we can't build anything without a machine and some layers */
$("#new-build-button #targets-form").hide();
$("#new-build-button .alert").show();
} else {
$("#new-build-button #targets-form").show();
$("#new-build-button .alert").hide();
/* we can build this project; enable input fields */
newBuildTargetInput.removeAttr("disabled");
}
}, null);
}
/* Setup New build button in the top nav bar */
function _setupNewBuildButton() {
/* If we don't have a current project then present the set project
* form.
*/
if (selectedProject.projectId === undefined || selectedProject.projectIsDefault) {
$('#change-project-form').show();
$('#project .icon-pencil').hide();
}
libtoaster.makeTypeahead(newBuildProjectInput, selectedProject.projectsTypeAheadUrl, { format : "json" }, function (item) {
/* successfully selected a project */
newBuildProjectSaveBtn.removeAttr("disabled");
selectedProject = item;
});
/* Any typing in the input apart from enter key is going to invalidate
* the value that has been set by selecting a suggestion from the typeahead
*/
newBuildProjectInput.on('input', function (event) {
if (event.keyCode === 13) {
return;
}
newBuildProjectSaveBtn.attr("disabled", "disabled");
});
newBuildProjectSaveBtn.click(function () {
selectedProject.projectId = selectedProject.id;
/* Update the typeahead project_id paramater */
_checkProjectBuildable();
newBuildTargetInput.removeAttr("disabled");
/* We've got a new project so now we need to update the
* target urls. We can get this from the new project's info
*/
$.getJSON(selectedProject.projectPageUrl, { format: "json" },
function(projectInfo){
/* Update the typeahead to use the new selectedProject */
selectedProject = projectInfo;
libtoaster.makeTypeahead(newBuildTargetInput, selectedProject.recipesTypeAheadUrl, { format: "json" }, function (item) {
/* successfully selected a target */
selectedTarget = item;
newBuildTargetBuildBtn.removeAttr("disabled");
});
});
newBuildTargetInput.val("");
/* set up new form aspect */
$("#new-build-button #project a").text(selectedProject.name).attr('href', selectedProject.projectPageUrl);
$("#new-build-button .alert a").attr('href', selectedProject.projectPageUrl);
$("#project .icon-pencil").show();
$("#change-project-form").slideUp({ 'complete' : function () {
$("#new-build-button #project").show();
}});
});
$('#new-build-button #project .icon-pencil').click(function () {
newBuildProjectSaveBtn.attr("disabled", "disabled");
newBuildProjectInput.val($("#new-build-button #project a").text());
$("#cancel-change-project").show();
$(this).parent().hide();
$("#change-project-form").slideDown();
});
$("#new-build-button #cancel-change-project").click(function () {
$("#change-project-form").hide(function () {
$('#new-build-button #project').show();
});
newBuildProjectInput.val("");
newBuildProjectSaveBtn.attr("disabled", "disabled");
});
/* Keep the dropdown open even unless we click outside the dropdown area */
$(".new-build").click (function (event) {
event.stopPropagation();
});
};
}

View File

@@ -175,11 +175,18 @@ function projectPageInit(ctx) {
function updateLayersCount(){
var count = $("#layers-in-project-list").children().length;
var noLayerMsg = $("#no-layers-in-project");
var buildInput = $("#build-input");
if (count === 0)
if (count === 0) {
noLayerMsg.fadeIn();
$("#no-layers-in-project").fadeIn();
else
$("#no-layers-in-project").hide();
buildInput.attr("disabled", "disabled");
} else {
noLayerMsg.hide();
buildInput.removeAttr("disabled");
}
$("#project-layers-count").text(count);
@@ -218,17 +225,21 @@ function projectPageInit(ctx) {
var toBuild = "";
freqBuildList.find(":checked").each(function(){
toBuild += $(this).val();
toBuild += $(this).val() + ' ';
});
libtoaster.startABuild(libtoaster.ctx.projectBuildsUrl, libtoaster.ctx.projectId, toBuild, function(){
/* Build started */
window.location.replace(libtoaster.ctx.projectBuildsUrl);
},
function(){
/* Build start failed */
/* [YOCTO #7995] */
window.location.replace(libtoaster.ctx.projectBuildsUrl);
toBuild = toBuild.trim();
libtoaster.startABuild(libtoaster.ctx.projectBuildsUrl,
libtoaster.ctx.projectId,
toBuild,
function(){
/* Build request started */
window.location.replace(libtoaster.ctx.projectBuildsUrl);
},
function(){
/* Build request failed */
console.warn("Build request failed to be created");
});
});

View File

@@ -0,0 +1,81 @@
'use strict';
function projectTopBarInit(ctx) {
var projectNameForm = $("#project-name-change-form");
var projectNameContainer = $("#project-name-container");
var projectName = $("#project-name");
var projectNameFormToggle = $("#project-change-form-toggle");
var projectNameChangeCancel = $("#project-name-change-cancel");
var newBuildTargetInput = $("#build-input");
var newBuildTargetBuildBtn = $("#build-button");
var selectedTarget;
/* Project name change functionality */
projectNameFormToggle.click(function(e){
e.preventDefault();
projectNameContainer.hide();
projectNameForm.fadeIn();
});
projectNameChangeCancel.click(function(e){
e.preventDefault();
projectNameForm.hide();
projectNameContainer.fadeIn();
});
$("#project-name-change-btn").click(function(){
var newProjectName = $("#project-name-change-input").val();
libtoaster.editCurrentProject({ projectName: newProjectName }, function (){
projectName.html(newProjectName);
libtoaster.ctx.projectName = newProjectName;
projectNameChangeCancel.click();
});
});
/* Nav bar activate state switcher */
$("#project-topbar .nav li a").each(function(){
if (window.location.pathname === $(this).attr('href'))
$(this).parent().addClass('active');
else
$(this).parent().removeClass('active');
});
/* Recipe build input functionality */
if (ctx.numProjectLayers > 0 && ctx.machine){
newBuildTargetInput.removeAttr("disabled");
}
libtoaster.makeTypeahead(newBuildTargetInput,
libtoaster.ctx.recipesTypeAheadUrl, {}, function (item) {
selectedTarget = item;
newBuildTargetBuildBtn.removeAttr("disabled");
});
newBuildTargetInput.on('input', function () {
if ($(this).val().length === 0) {
newBuildTargetBuildBtn.attr("disabled", "disabled");
} else {
newBuildTargetBuildBtn.removeAttr("disabled");
}
});
newBuildTargetBuildBtn.click(function (e) {
e.preventDefault();
if (!newBuildTargetInput.val()) {
return;
}
/* We use the value of the input field so as to maintain any command also
* added e.g. core-image-minimal:clean and because we can build targets
* that toaster doesn't yet know about
*/
selectedTarget = { name: newBuildTargetInput.val() };
/* Fire off the build */
libtoaster.startABuild(libtoaster.ctx.projectBuildsUrl,
null, selectedTarget.name, function(){
window.location.replace(libtoaster.ctx.projectBuildsUrl);
}, null);
});
}

View File

@@ -340,7 +340,8 @@ function tableInit(ctx){
}
}
function sortColumnClicked(){
function sortColumnClicked(e){
e.preventDefault();
/* We only have one sort at a time so remove any existing sort indicators */
$("#"+ctx.tableName+" th .icon-caret-down").hide();
@@ -476,6 +477,7 @@ function tableInit(ctx){
});
$("#search-submit-"+ctx.tableName).click(function(e){
e.preventDefault();
var searchTerm = $("#search-input-"+ctx.tableName).val();
tableParams.page = 1;
@@ -489,8 +491,6 @@ function tableInit(ctx){
}
loadData(tableParams);
e.preventDefault();
});
$('.remove-search-btn-'+ctx.tableName).click(function(e){
@@ -514,7 +514,9 @@ function tableInit(ctx){
e.preventDefault();
});
$("#clear-filter-btn-"+ctx.tableName).click(function(){
$("#clear-filter-btn-"+ctx.tableName).click(function(e){
e.preventDefault();
var filterBtn = $("#" + tableParams.filter.split(":")[0]);
filterBtnActive(filterBtn, false);

View File

@@ -217,12 +217,10 @@ class MachinesTable(ToasterTable, ProjectFiltersMixin):
def get_context_data(self, **kwargs):
context = super(MachinesTable, self).get_context_data(**kwargs)
context['project'] = Project.objects.get(pk=kwargs['pid'])
context['projectlayers'] = map(lambda prjlayer: prjlayer.layercommit.id, ProjectLayer.objects.filter(project=context['project']))
return context
def setup_filters(self, *args, **kwargs):
project = Project.objects.get(pk=kwargs['pid'])
self.project_layers = project.get_project_layer_versions()
self.add_filter(title="Filter by project machines",
name="in_current_project",
@@ -236,6 +234,10 @@ class MachinesTable(ToasterTable, ProjectFiltersMixin):
self.queryset = prj.get_all_compatible_machines()
self.queryset = self.queryset.order_by(self.default_orderby)
self.static_context_extra['current_layers'] = \
self.project_layers = \
prj.get_project_layer_versions(pk=True)
def setup_columns(self, *args, **kwargs):
self.add_column(title="Machine",
@@ -293,6 +295,7 @@ class LayerMachinesTable(MachinesTable):
MachinesTable.setup_queryset(self, *args, **kwargs)
self.queryset = self.queryset.filter(layer_version__pk=int(kwargs['layerid']))
self.queryset = self.queryset.order_by(self.default_orderby)
self.static_context_extra['in_prj'] = ProjectLayer.objects.filter(Q(project=kwargs['pid']) & Q(layercommit=kwargs['layerid'])).count()
def setup_columns(self, *args, **kwargs):
@@ -317,7 +320,6 @@ class RecipesTable(ToasterTable, ProjectFiltersMixin):
def __init__(self, *args, **kwargs):
super(RecipesTable, self).__init__(*args, **kwargs)
self.empty_state = "Toaster has no recipe information. To generate recipe information you can configure a layer source then run a build."
self.default_orderby = "name"
build_col = { 'title' : "Build",
'help_text' : "Add or delete recipes to and from your project",
@@ -354,7 +356,6 @@ class RecipesTable(ToasterTable, ProjectFiltersMixin):
self.static_context_extra['current_layers'] = self.project_layers
self.queryset = prj.get_all_compatible_recipes()
self.queryset = self.queryset.order_by(self.default_orderby)
def setup_columns(self, *args, **kwargs):
@@ -412,6 +413,7 @@ class LayerRecipesTable(RecipesTable):
def __init__(self, *args, **kwargs):
super(LayerRecipesTable, self).__init__(*args, **kwargs)
self.default_orderby = "name"
def get_context_data(self, **kwargs):
context = super(LayerRecipesTable, self).get_context_data(**kwargs)
@@ -423,6 +425,7 @@ class LayerRecipesTable(RecipesTable):
self.queryset = \
Recipe.objects.filter(layer_version__pk=int(kwargs['layerid']))
self.queryset = self.queryset.order_by(self.default_orderby)
self.static_context_extra['in_prj'] = ProjectLayer.objects.filter(Q(project=kwargs['pid']) & Q(layercommit=kwargs['layerid'])).count()
def setup_columns(self, *args, **kwargs):
@@ -449,6 +452,7 @@ class CustomImagesTable(ToasterTable):
def __init__(self, *args, **kwargs):
super(CustomImagesTable, self).__init__(*args, **kwargs)
self.title = "Custom images"
self.default_orderby = "name"
def get_context_data(self, **kwargs):
context = super(CustomImagesTable, self).get_context_data(**kwargs)
@@ -460,7 +464,7 @@ class CustomImagesTable(ToasterTable):
def setup_queryset(self, *args, **kwargs):
prj = Project.objects.get(pk = kwargs['pid'])
self.queryset = CustomImageRecipe.objects.filter(project=prj)
self.queryset = self.queryset.order_by('name')
self.queryset = self.queryset.order_by(self.default_orderby)
def setup_columns(self, *args, **kwargs):
@@ -500,11 +504,13 @@ class ImageRecipesTable(RecipesTable):
def __init__(self, *args, **kwargs):
super(ImageRecipesTable, self).__init__(*args, **kwargs)
self.title = "Compatible image recipes"
self.default_orderby = "name"
def setup_queryset(self, *args, **kwargs):
super(ImageRecipesTable, self).setup_queryset(*args, **kwargs)
self.queryset = self.queryset.filter(is_image=True)
self.queryset = self.queryset.order_by(self.default_orderby)
def setup_columns(self, *args, **kwargs):
@@ -539,7 +545,7 @@ class NewCustomImagesTable(ImageRecipesTable):
"deploy to a machine",
hideable=False,
orderable=True,
field_name="recipe__name")
field_name="name")
super(ImageRecipesTable, self).setup_columns(*args, **kwargs)

View File

@@ -3,15 +3,15 @@
{% load projecttags %}
{% load project_url_tag %}
<html lang="en">
<head>
<title>
{% block title %} Toaster {% endblock %}
</title>
<link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}" type="text/css"/>
<link rel="stylesheet" href="{% static 'css/bootstrap-responsive.min.css' %}" type='text/css'/>
<link rel="stylesheet" href="{% static 'css/font-awesome.min.css' %}" type='text/css'/>
<link rel="stylesheet" href="{% static 'css/prettify.css' %}" type='text/css'/>
<link rel="stylesheet" href="{% static 'css/default.css' %}" type='text/css'/>
<head>
<title>
{% block title %} Toaster {% endblock %}
</title>
<link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}" type="text/css"/>
<link rel="stylesheet" href="{% static 'css/bootstrap-responsive.min.css' %}" type='text/css'/>
<link rel="stylesheet" href="{% static 'css/font-awesome.min.css' %}" type='text/css'/>
<link rel="stylesheet" href="{% static 'css/prettify.css' %}" type='text/css'/>
<link rel="stylesheet" href="{% static 'css/default.css' %}" type='text/css'/>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
@@ -40,7 +40,6 @@
projectId : {{project.id}},
projectPageUrl : {% url 'project' project.id as purl %}{{purl|json}},
projectName : {{project.name|json}},
projectIsDefault: {% if project.is_default %}true{% else %}false{% endif %},
recipesTypeAheadUrl: {% url 'xhr_recipestypeahead' project.id as paturl%}{{paturl|json}},
layersTypeAheadUrl: {% url 'xhr_layerstypeahead' project.id as paturl%}{{paturl|json}},
machinesTypeAheadUrl: {% url 'xhr_machinestypeahead' project.id as paturl%}{{paturl|json}},
@@ -51,37 +50,24 @@
projectId : undefined,
projectPageUrl : undefined,
projectName : undefined,
projectIsDefault: false,
{% endif %}
};
</script>
<script src="{% static 'js/base.js' %}"></script>
<script>
$(document).ready(function () {
/* Vars needed for base.js */
var ctx = {};
ctx.numProjects = {{projects|length}};
ctx.currentUrl = "{{request.path|escapejs}}";
{% block extraheadcontent %}
{% endblock %}
</head>
basePageInit(ctx);
});
</script>
<body style="height: 100%">
{% block extraheadcontent %}
{% endblock %}
</head>
{% csrf_token %}
<div id="loading-notification" class="alert lead text-center" style="display:none">
Loading <i class="fa-pulse icon-spinner"></i>
</div>
<body style="height: 100%">
{% csrf_token %}
<div id="loading-notification" class="alert lead text-center" style="display:none">
Loading <i class="fa-pulse icon-spinner"></i>
</div>
<div id="change-notification" class="alert lead alert-info" style="display:none">
<button type="button" class="close" id="hide-alert">&times;</button>
<span id="change-notification-msg"></span>
</div>
<div id="change-notification" class="alert lead alert-info" style="display:none">
<button type="button" class="close" id="hide-alert">&times;</button>
<span id="change-notification-msg"></span>
</div>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
@@ -93,7 +79,7 @@
<i class="icon-info-sign" title="<strong>Toaster version information</strong>" data-content="<dl><dt>Branch</dt><dd>{{TOASTER_BRANCH}}</dd><dt>Revision</dt><dd>{{TOASTER_REVISION}}</dd></dl>"></i>
{% endif %}
</span>
{% if BUILD_MODE and request.resolver_match.url_name != 'landing' and request.resolver_match.url_name != 'newproject' %}
{% if request.resolver_match.url_name != 'landing' and request.resolver_match.url_name != 'newproject' %}
<ul class="nav">
<li {% if request.resolver_match.url_name == 'all-builds' %}
class="active"
@@ -122,75 +108,18 @@
</li>
</ul>
<span class="pull-right divider-vertical"></span>
<!-- new project button; only show in build mode -->
{% if BUILD_MODE %}
<div class="btn-group pull-right">
<a class="btn" id="new-project-button" href="{% url 'newproject' %}">New project</a>
</div>
{% endif %}
<!--
New build popover; only shown if there is at least one user-created project
and we're in build mode
-->
{% if BUILD_MODE and non_cli_projects.count > 0 %}
<div class="btn-group pull-right" id="new-build-button" style="display:none">
<button class="btn dropdown-toggle" data-toggle="dropdown">
New build
<i class="icon-caret-down"></i>
</button>
<ul class="dropdown-menu new-build multi-select">
<li>
<h3>New build</h3>
<h6>
Project:
<span id="project">
{% if project.id and not project.is_default %}
<a class="lead" href="{% project_url project %}">{{project.name}}</a>
{% else %}
<a class="lead" href="#"></a>
{% endif %}
<i class="icon-pencil"></i>
</span>
</h6>
<form id="change-project-form" style="display:none;">
<div class="input-append">
<input type="text" class="input-medium" id="project-name-input" placeholder="Type a project name" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead"/>
<button id="save-project-button" class="btn" type="button">Save</button>
<a href="#" id="cancel-change-project" class="btn btn-link" style="display: none">Cancel</a>
</div>
<p><a id="view-all-projects" href="{% url 'all-projects' %}">View all projects</a></p>
</form>
</li>
<li>
<div class="alert" style="display:none;">
<p>This project configuration is incomplete, so you cannot run builds.</p>
<p><a href="{% if project.id %}{% url 'project' project.id %}{% endif %}">View project configuration</a></p>
</div>
</li>
<li id="targets-form">
<h6>Recipe(s):</h6>
<form>
<input type="text" class="input-xlarge build-target-input" placeholder="Type a recipe name" autocomplete="off" data-minLength="1" data-autocomplete="off" data-provide="typeahead" disabled/>
<div class="row-fluid">
<button class="btn btn-primary build-button" disabled>Build</button>
</div>
</form>
</li>
</ul>
</div>
{% endif %}
<div class="btn-group pull-right">
<a class="btn" id="new-project-button" href="{% url 'newproject' %}">New project</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container-fluid top-padded">
<div class="row-fluid">
{% block pagecontent %}
{% endblock %}
</div>
</div>
</body>
<div class="container-fluid top-padded">
<div class="row-fluid">
{% block pagecontent %}
{% endblock %}
</div>
</div>
</body>
</html>

View File

@@ -62,7 +62,13 @@
{% for build in objects %}
<tr class="data" data-table-build-result="{{ build.id }}">
<td class="outcome">
<a href="{% url "builddashboard" build.id %}">{%if build.outcome == build.SUCCEEDED%}<i class="icon-ok-sign success"></i>{%elif build.outcome == build.FAILED%}<i class="icon-minus-sign error"></i>{%else%}{%endif%}</a> &nbsp;
<a href="{% url "builddashboard" build.id %}">{%if build.outcome == build.SUCCEEDED%}<i class="icon-ok-sign success"></i>{%elif build.outcome == build.FAILED%}<i class="icon-minus-sign error"></i>{%else%}{%endif%}</a>
{% if build.cooker_log_path %}
&nbsp;
<a href="{% url 'build_artifact' build.id "cookerlog" build.id %}">
<i class="icon-download-alt" title="Download build log"></i>
</a>
{% endif %}
</td>
<td class="target">
{% for t in build.target_set.all %}

View File

@@ -6,9 +6,6 @@
{% block title %} Welcome to Toaster {% endblock %}
{% block pagecontent %}
{% if BUILD_MODE %}
<!-- build mode -->
<div class="container-fluid">
<div class="row-fluid">
<div class="hero-unit span12 well-transparent">
@@ -62,11 +59,4 @@
</div>
</div>
</div>
{% else %}
<!-- analysis mode -->
<div class="alert alert-info lead top-air">
Toaster has not recorded any builds yet. Run a build from the command line to see it here.
</div>
{% endif %}
{% endblock %}

View File

@@ -1,6 +1,14 @@
<a href="{% url 'project' extra.pid %}?setMachine={{data.name}}" class="btn btn-block layer-exists-{{data.layer_version.id}}" style="margin-top: 5px; display:none">
<a href="{% url 'project' extra.pid %}?setMachine={{data.name}}" class="btn btn-block layer-exists-{{data.layer_version.id}}"
{% if data.layer_version.pk not in extra.current_layers %}
style="display:none;"
{% endif %}
>
Select machine</a>
<button class="btn btn-block layerbtn layer-add-{{data.layer_version.id}}" data-layer='{ "id": {{data.layer_version.id}}, "name": "{{data.layer_version.layer.name}}", "layerdetailurl": "{%url 'layerdetails' extra.pid data.layer_version.id %}"}' data-directive="add">
<button class="btn btn-block layerbtn layer-add-{{data.layer_version.id}}" data-layer='{ "id": {{data.layer_version.id}}, "name": "{{data.layer_version.layer.name}}", "layerdetailurl": "{%url 'layerdetails' extra.pid data.layer_version.id %}"}' data-directive="add"
{% if data.layer_version.pk in extra.current_layers %}
style="display:none;"
{% endif %}
>
<i class="icon-plus"></i>
Add layer
<i title="" class="icon-question-sign get-help" data-original-title="To enable this machine, you must first add the {{data.layer_version.layer.name}} layer to your project"></i>

View File

@@ -68,7 +68,7 @@
<div class="alert alert-info" style="display:none" id="no-most-built">
<span class="lead">You haven't built any recipes yet</span>
<p style="margin-top: 10px;"><a href="{% url 'projectsoftwarerecipes' project.id %}">Choose a recipe to build</a></p>
<p style="margin-top: 10px;"><a href="{% url 'projectimagerecipes' project.id %}">Choose a recipe to build</a></p>
</div>
<ul class="unstyled configuration-list" id="freq-build-list">

View File

@@ -63,11 +63,12 @@
{% for build in objects %} {# if we have a build, just display it #}
<tr class="data">
<td class="outcome"><a href="{% url "builddashboard" build.id %}">{%if build.outcome == build.SUCCEEDED%}<i class="icon-ok-sign success"></i>{%elif build.outcome == build.FAILED%}<i class="icon-minus-sign error"></i>{%else%}{%endif%}</a>
{% if build.project %}
&nbsp; <a href="{% url 'build_artifact' build.id "cookerlog" build.id %}">
<i class="icon-download-alt" title="" data-original-title="Download build log"></i>
</a>
{% endif %}
{% if build.cooker_log_path %}
&nbsp;
<a href="{% url 'build_artifact' build.id "cookerlog" build.id %}">
<i class="icon-download-alt" title="Download build log"></i>
</a>
{% endif %}
</td>
<td class="target">

View File

@@ -107,32 +107,6 @@
</form>
</dd>
{% endif %}
{% if sdk_machine_defined %}
<dt>
<span class="js-config-var-name js-config-var-managed-name">SDKMACHINE</span>
<i class="icon-question-sign get-help" title="Specifies the architecture (i.e. i686 or x86_64) for which to build SDK and ADT items <br /><a href='http://www.yoctoproject.org/docs/1.6.1/ref-manual/ref-manual.html#var-SDKMACHINE' target='_blank'>Read more in the manual</a>"></i>
</dt>
<dd class="lead">
<span id="sdkmachine">{{sdk_machine}}</span>
<i id="change-sdkmachine-icon" class="icon-pencil"></i>
<form id="change-sdkmachine-form" style="display:none;">
<label class="radio">
<input type="radio" name="sdkmachine" value="i686">
i686
</label>
<label class="radio">
<input type="radio" name="sdkmachine" value="x86_64">
x86_64
</label>
<div style="padding-top:10px;">
<button id="apply-change-sdkmachine" type="button" class="btn">Save</button>
<button id="cancel-change-sdkmachine" type="button" class="btn btn-link">Cancel</button>
</div>
</form>
</dd>
{% endif %}
</dl>
<!-- <ul class="unstyled configuration-list" id="configvar-list"> -->
@@ -774,48 +748,6 @@
});
{% endif %}
{% if sdk_machine_defined %}
// change SDKMACHINE variable
$('#change-sdkmachine-icon').click(function() {
var current_value = document.getElementById("sdkmachine").innerHTML;
var radios = document.getElementsByName('sdkmachine');
for (var i = 0, length = radios.length; i < length; i++) {
radios[i].checked = false;
if (radios[i].value == current_value) {
radios[i].checked = true;
}
}
$('#change-sdkmachine-icon, #sdkmachine').hide();
$("#change-sdkmachine-form").slideDown();
});
$('#cancel-change-sdkmachine').click(function(){
$("#change-sdkmachine-form").slideUp(function() {
$('#sdkmachine, #change-sdkmachine-icon').show();
});
});
$('#apply-change-sdkmachine').click(function(){
var value="";
var radios = document.getElementsByName('sdkmachine');
for (var i = 0, length = radios.length; i < length; i++) {
if (radios[i].checked) {
// do whatever you want with the checked radio
value=radios[i].value;
break;
}
}
postEditAjaxRequest({"configvarChange" : 'SDKMACHINE:'+value});
$('#sdkmachine').text(value);
$("#change-sdkmachine-form").slideUp(function() {
$('#sdkmachine, #change-sdkmachine-icon').show();
});
});
{% endif %}
// add new variable
$("button#add-configvar-button").click( function (evt) {
var variable = $("input#variable").val();
@@ -830,7 +762,7 @@
$(".save").attr("disabled","disabled");
// Reload page if admin-removed core managed value is manually added back in
if (0 <= " DISTRO IMAGE_FSTYPES IMAGE_INSTALL_append PACKAGE_CLASSES SDKMACHINE ".indexOf( " "+variable+" " )) {
if (0 <= " DISTRO IMAGE_FSTYPES IMAGE_INSTALL_append PACKAGE_CLASSES ".indexOf( " "+variable+" " )) {
// delayed reload to avoid race condition with postEditAjaxRequest
do_reload=true;
}

View File

@@ -1,6 +1,24 @@
{% load static %}
<script src="{% static 'js/projecttopbar.js' %}"></script>
<script>
$(document).ready(function () {
var ctx = {
numProjectLayers : {{project.get_project_layer_versions.count}},
machine : "{{project.get_current_machine_name|default_if_none:""}}",
}
try {
projectTopBarInit(ctx);
} catch (e) {
document.write("Sorry, An error has occurred loading this page");
console.warn(e);
}
});
</script>
<div class="alert alert-success lead" id="project-created-notification" style="margin-top:15px; display:none">
<button type="button" class="close" data-dismiss="alert">×</button>
Your project <strong>{{project.name}}</strong> has been created. You can now <a href="{% url 'projectmachines' project.id %}">select your target machine</a> and <a href="{% url 'projectsoftwarerecipes' project.id %}">choose image recipes</a> to build.
Your project <strong>{{project.name}}</strong> has been created. You can now <a href="{% url 'projectmachines' project.id %}">select your target machine</a> and <a href="{% url 'projectimagerecipes' project.id %}">choose image recipes</a> to build.
</div>
<!-- project name -->
@@ -28,7 +46,7 @@
<ul class="nav nav-pills">
<li>
<a href="{% url 'projectbuilds' project.id %}">
Builds (<span class="total-builds">0</span>)
Builds ({{project.get_number_of_builds}})
</a>
</li>
<li id="topbar-configuration-tab">

View File

@@ -33,19 +33,18 @@ from orm.models import CustomImageRecipe, ProjectVariable
from orm.models import Branch
import toastermain
import inspect
import toastergui
from toastergui.tables import SoftwareRecipesTable
import json
from bs4 import BeautifulSoup
import re
import string
PROJECT_NAME = "test project"
CLI_BUILDS_PROJECT_NAME = 'Command line builds'
# by default, tests are run in build mode; to run in analysis mode,
# set this to False in individual test cases
toastermain.settings.BUILD_MODE = True
class ViewTests(TestCase):
"""Tests to verify view APIs."""
@@ -69,32 +68,68 @@ class ViewTests(TestCase):
layer = Layer.objects.create(name="base-layer", layer_source=layersrc,
vcs_url="/tmp/")
layer_two = Layer.objects.create(name="z-layer",
layer_source=layersrc,
vcs_url="git://two/")
branch = Branch.objects.create(name="master", layer_source=layersrc)
lver = Layer_Version.objects.create(layer=layer, project=self.project,
layer_source=layersrc, commit="master",
up_branch=branch)
self.lver = Layer_Version.objects.create(layer=layer,
project=self.project,
layer_source=layersrc,
commit="master",
up_branch=branch)
lver_two = Layer_Version.objects.create(layer=layer_two,
layer_source=layersrc,
commit="master",
up_branch=branch)
Recipe.objects.create(layer_source=layersrc,
name="z recipe",
version="5.2",
summary="z recipe",
description="G recipe",
license="Z GPL",
section="h section",
layer_version=lver_two)
self.recipe1 = Recipe.objects.create(layer_source=layersrc,
name="base-recipe",
version="1.2",
summary="one recipe",
description="recipe",
layer_version=lver)
section="A section",
license="Apache",
layer_version=self.lver)
Machine.objects.create(layer_version=lver, name="wisk",
Machine.objects.create(layer_version=self.lver, name="wisk",
description="wisking machine")
Machine.objects.create(layer_version=self.lver, name="zap",
description="zap machine")
Machine.objects.create(layer_version=lver_two, name="xray",
description="xray machine")
ProjectLayer.objects.create(project=self.project, layercommit=lver)
ProjectLayer.objects.create(project=self.project, layercommit=self.lver)
self.customr = CustomImageRecipe.objects.create(\
name="custom recipe", project=self.project,
base_recipe=self.recipe1)
self.package = Package.objects.create(name='pkg1', recipe=self.recipe1,
CustomImageRecipe.objects.create(name="z custom recipe",
project=self.project,
base_recipe=self.recipe1)
self.package = Package.objects.create(name='pkg1',
size=999,
recipe=self.recipe1,
build=build)
Package.objects.create(name='zpkg1', recipe=self.recipe1, build=build)
# recipe with project for testing AvailableRecipe table
self.recipe2 = Recipe.objects.create(layer_source=layersrc,
@@ -102,10 +137,35 @@ class ViewTests(TestCase):
version="1.4",
summary="a fancy recipe",
description="fancy recipe",
layer_version=lver,
license="MIT",
layer_version=self.lver,
section="Z section",
file_path='/home/foo')
self.assertTrue(lver in self.project.compatible_layerversions())
Recipe.objects.create(layer_source=layersrc,
is_image=True,
name="Test image one",
version="1.2",
summary="one recipe",
description="recipe",
section="A",
license="A",
file_path="/one/",
layer_version=self.lver)
Recipe.objects.create(layer_source=layersrc,
is_image=True,
name="Z Test image two",
version="1.3",
summary="two image recipe",
description="recipe two",
section="B",
license="Z",
file_path="/two/",
layer_version=lver_two)
def test_get_base_call_returns_html(self):
"""Basic test for all-projects view"""
@@ -181,7 +241,6 @@ class ViewTests(TestCase):
return False
import string
for url in urls:
results = False
@@ -344,7 +403,7 @@ class ViewTests(TestCase):
row2 = next(x for x in rows if x['name'] == self.recipe2.name)
self.assertEqual(response.status_code, 200, 'should be 200 OK status')
self.assertEqual(len(rows), 2, 'should be 2 recipes')
self.assertTrue(row2, 'should be 2 recipes')
# check other columns have been populated correctly
self.assertEqual(row1['name'], self.recipe1.name)
@@ -360,6 +419,144 @@ class ViewTests(TestCase):
self.assertEqual(row2['layer_version__layer__name'],
self.recipe2.layer_version.layer.name)
def test_toaster_tables(self):
"""Test all ToasterTables instances"""
def get_data(table, options={}):
"""Send a request and parse the json response"""
options['format'] = "json"
options['nocache'] = "true"
request = RequestFactory().get('/', options)
# Add any kwargs that are needed by any of the possible tables
response = table.get(request,
pid=self.project.id,
layerid=self.lver.pk,
recipeid=self.recipe1.pk)
return json.loads(response.content)
# Get a list of classes in tables module
tables = inspect.getmembers(toastergui.tables, inspect.isclass)
for name, table_cls in tables:
# Filter out the non ToasterTables from the tables module
if not issubclass(table_cls, toastergui.widgets.ToasterTable) or \
table_cls == toastergui.widgets.ToasterTable:
continue
# Get the table data without any options, this also does the
# initialisation of the table i.e. setup_columns,
# setup_filters and setup_queryset that we can use later
table = table_cls()
all_data = get_data(table)
self.assertTrue(len(all_data['rows']) > 1,
"Cannot test on a table with < 1 row")
if table.default_orderby:
row_one = all_data['rows'][0][table.default_orderby.strip("-")]
row_two = all_data['rows'][1][table.default_orderby.strip("-")]
if '-' in table.default_orderby:
self.assertTrue(row_one >= row_two,
"Default ordering not working on %s" % name)
else:
self.assertTrue(row_one <= row_two,
"Default ordering not working on %s" % name)
# Test the column ordering and filtering functionality
for column in table.columns:
if column['orderable']:
# If a column is orderable test it in both order
# directions ordering on the columns field_name
ascending = get_data(table_cls(),
{"orderby" : column['field_name']})
row_one = ascending['rows'][0][column['field_name']]
row_two = ascending['rows'][1][column['field_name']]
self.assertTrue(row_one <= row_two,
"Ascending sort applied but row 0 is less "
"than row 1")
descending = get_data(table_cls(),
{"orderby" :
'-'+column['field_name']})
row_one = descending['rows'][0][column['field_name']]
row_two = descending['rows'][1][column['field_name']]
self.assertTrue(row_one >= row_two,
"Descending sort applied but row 0 is "
"greater than row 1")
# If the two start rows are the same we haven't actually
# changed the order
self.assertNotEqual(ascending['rows'][0],
descending['rows'][0],
"An orderby %s has not changed the "
"order of the data in table %s" %
(column['field_name'], name))
if column['filter_name']:
# If a filter is available for the column get the filter
# info. This contains what filter actions are defined.
filter_info = get_data(table_cls(),
{"cmd": "filterinfo",
"name": column['filter_name']})
self.assertTrue(len(filter_info['filter_actions']) > 0,
"Filter %s was defined but no actions "
"added to it" % column['filter_name'])
for filter_action in filter_info['filter_actions']:
# filter string to pass as the option
# This is the name of the filter:action
# e.g. project_filter:not_in_project
filter_string = "%s:%s" % (column['filter_name'],
filter_action['name'])
# Now get the data with the filter applied
filtered_data = get_data(table_cls(),
{"filter" : filter_string})
self.assertEqual(len(filtered_data['rows']),
int(filter_action['count']),
"We added a table filter for %s but "
"the number of rows returned was not "
"what the filter info said there "
"would be" % name)
# Test search functionality on the table
something_found = False
for search in list(string.ascii_letters):
search_data = get_data(table_cls(), {'search' : search})
if len(search_data['rows']) > 0:
something_found = True
break
self.assertTrue(something_found,
"We went through the whole alphabet and nothing"
" was found for the search of table %s" % name)
# Test the limit functionality on the table
limited_data = get_data(table_cls(), {'limit' : "1"})
self.assertEqual(len(limited_data['rows']),
1,
"Limit 1 set on table %s but not 1 row returned"
% name)
# Test the pagination functionality on the table
page_one_data = get_data(table_cls(), {'limit' : "1",
"page": "1"})['rows'][0]
page_two_data = get_data(table_cls(), {'limit' : "1",
"page": "2"})['rows'][0]
self.assertNotEqual(page_one_data,
page_two_data,
"Changed page on table %s but first row is the "
"same as the previous page" % name)
class LandingPageTests(TestCase):
""" Tests for redirects on the landing page """
# disable bogus pylint message error:

View File

@@ -76,10 +76,6 @@ def landing(request):
default_project = Project.objects.get_default_project()
default_project_builds = Build.objects.filter(project = default_project)
if (not toastermain.settings.BUILD_MODE) and default_project_builds.count() > 0:
args = (default_project.id,)
return redirect(reverse('projectbuilds', args = args), permanent = False)
# we only redirect to projects page if there is a user-generated project
num_builds = Build.objects.all().count()
user_projects = Project.objects.filter(is_default = False)
@@ -102,9 +98,6 @@ def _get_latest_builds(prj=None):
if prj is not None:
queryset = queryset.filter(project = prj)
if not toastermain.settings.BUILD_MODE:
queryset = queryset.exclude(project__is_default=False)
return list(itertools.chain(
queryset.filter(outcome=Build.IN_PROGRESS).order_by("-started_on"),
queryset.filter(outcome__lt=Build.IN_PROGRESS).order_by("-started_on")[:3] ))
@@ -1893,10 +1886,6 @@ def managedcontextprocessor(request):
"projects": projects,
"non_cli_projects": projects.exclude(is_default=True),
"DEBUG" : toastermain.settings.DEBUG,
# True if Toaster is in build mode, False otherwise
"BUILD_MODE": toastermain.settings.BUILD_MODE,
"CUSTOM_IMAGE" : toastermain.settings.CUSTOM_IMAGE,
"TOASTER_BRANCH": toastermain.settings.TOASTER_BRANCH,
"TOASTER_REVISION" : toastermain.settings.TOASTER_REVISION,
@@ -1939,11 +1928,6 @@ if True:
queryset = Build.objects.all()
# if in analysis mode, exclude builds for all projects except
# command line builds
if not toastermain.settings.BUILD_MODE:
queryset = queryset.exclude(project__is_default=False)
redirect_page = resolve(request.path_info).url_name
context, pagesize, orderby = _build_list_helper(request,
@@ -2472,10 +2456,6 @@ if True:
return_data['package_classes'] = ProjectVariable.objects.get(project = prj, name = "PACKAGE_CLASSES").value,
except ProjectVariable.DoesNotExist:
pass
try:
return_data['sdk_machine'] = ProjectVariable.objects.get(project = prj, name = "SDKMACHINE").value,
except ProjectVariable.DoesNotExist:
pass
return HttpResponse(json.dumps( return_data ), content_type = "application/json")
@@ -2884,11 +2864,6 @@ if True:
context['package_classes_defined'] = "1"
except ProjectVariable.DoesNotExist:
pass
try:
context['sdk_machine'] = ProjectVariable.objects.get(project = prj, name = "SDKMACHINE").value
context['sdk_machine_defined'] = "1"
except ProjectVariable.DoesNotExist:
pass
return context
@@ -3048,10 +3023,6 @@ if True:
queryset_all = queryset_all.filter(Q(is_default=False) |
q_default_with_builds)
# if in BUILD_MODE, exclude everything but the command line builds project
if not toastermain.settings.BUILD_MODE:
queryset_all = queryset_all.exclude(is_default=False)
# boilerplate code that takes a request for an object type and returns a queryset
# for that object type. copypasta for all needed table searches
(filter_string, search_term, ordering_string) = _search_tuple(request, Project)

View File

@@ -0,0 +1,9 @@
from toastermain.settings import getDATABASE_URL
from django.core.management.base import NoArgsCommand
class Command(NoArgsCommand):
args = ""
help = "get database url"
def handle_noargs(self,**options):
print getDATABASE_URL()

View File

@@ -92,9 +92,6 @@ if 'DATABASE_URL' in os.environ:
else:
raise Exception("FIXME: Please implement missing database url schema for url: %s" % dburl)
BUILD_MODE = False
if 'TOASTER_MANAGED' in os.environ and os.environ['TOASTER_MANAGED'] == "1":
BUILD_MODE = True
# Allows current database settings to be exported as a DATABASE_URL environment variable value

View File

@@ -59,12 +59,11 @@ if toastermain.settings.DEBUG_PANEL_ENABLED:
urlpatterns.insert(1, url(r'', include(debug_toolbar.urls)))
#logger.info("Enabled django_toolbar extension")
urlpatterns = [
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
] + urlpatterns
if toastermain.settings.BUILD_MODE:
urlpatterns = [
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
] + urlpatterns
# Automatically discover urls.py in various apps, beside our own
# and map module directories to the patterns

View File

@@ -197,14 +197,14 @@
but also is not as easy to use or comprehensive
as the default.
</para></listitem>
<listitem><para><filename>kvm</filename>:
<listitem><para id='kvm-cond'><filename>kvm</filename>:
Enables KVM when running "qemux86" or "qemux86-64"
QEMU architectures.
For KVM to work, all the following conditions must be met:
<itemizedlist>
<listitem><para>
Your <replaceable>MACHINE</replaceable> must be either
"qemux86" or "qemux86-64".
qemux86" or "qemux86-64".
</para></listitem>
<listitem><para>
Your build host has to have the KVM modules
@@ -219,6 +219,18 @@
The build host <filename>/dev/kvm</filename>
directory has to be both writable and readable.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para><filename>kvm-vhost</filename>:
Enables KVM with VHOST support when running "qemux86" or "qemux86-64"
QEMU architectures.
For KVM with VHOST to work, the following conditions must
be met:
<itemizedlist>
<listitem><para>
<link linkend='kvm-cond'>kvm</link> option
conditions must be met.
</para></listitem>
<listitem><para>
The build host <filename>/dev/vhost-net</filename>
directory has to be either readable or writable

View File

@@ -67,4 +67,5 @@
<!ENTITY OPENSUSE_HOST_PACKAGES_ESSENTIAL "python gcc gcc-c++ git chrpath make wget python-xml \
diffstat makeinfo python-curses patch socat">
<!ENTITY CENTOS_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat">
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat \
perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue">

View File

@@ -154,11 +154,14 @@
<listitem><para>Ubuntu 13.10</para></listitem> -->
<listitem><para>Ubuntu 14.04 (LTS)</para></listitem>
<listitem><para>Ubuntu 14.10</para></listitem>
<listitem><para>Ubuntu 15.04</para></listitem>
<listitem><para>Ubuntu 15.10</para></listitem>
<!-- <listitem><para>Fedora 16 (Verne)</para></listitem>
<listitem><para>Fedora 17 (Spherical)</para></listitem>
<listitem><para>Fedora release 19 (Schrödinger's Cat)</para></listitem>
<listitem><para>Fedora release 20 (Heisenbug)</para></listitem> -->
<listitem><para>Fedora release 21</para></listitem>
<listitem><para>Fedora release 22</para></listitem>
<!-- <listitem><para>CentOS release 5.6 (Final)</para></listitem>
<listitem><para>CentOS release 5.7 (Final)</para></listitem>
<listitem><para>CentOS release 5.8 (Final)</para></listitem>
@@ -281,7 +284,7 @@
support or if you are going to use the Eclipse
IDE:
<literallayout class='monospaced'>
$ sudo dnf install SDL-devel xterm perl-Thread-Queue
$ sudo dnf install SDL-devel xterm
</literallayout></para></listitem>
<listitem><para><emphasis>Documentation:</emphasis>
Packages needed if you are going to build out the
@@ -372,33 +375,33 @@
Packages needed to build an image for a headless
system:
<literallayout class='monospaced'>
$ sudo dnf install &CENTOS_HOST_PACKAGES_ESSENTIAL;
$ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL;
</literallayout></para></listitem>
<listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
Packages recommended if the host system has graphics
support or if you are going to use the Eclipse
IDE:
<literallayout class='monospaced'>
$ sudo dnf install SDL-devel xterm
$ sudo yum install SDL-devel xterm
</literallayout></para></listitem>
<listitem><para><emphasis>Documentation:</emphasis>
Packages needed if you are going to build out the
Yocto Project documentation manuals:
<literallayout class='monospaced'>
$ sudo dnf install make docbook-style-dsssl docbook-style-xsl \
$ sudo yum install make docbook-style-dsssl docbook-style-xsl \
docbook-dtds docbook-utils fop libxslt dblatex xmlto xsltproc
</literallayout></para></listitem>
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
Packages needed if you are going to be using the
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
<literallayout class='monospaced'>
$ sudo dnf install autoconf automake libtool glib2-devel libarchive-devel
$ sudo yum install autoconf automake libtool glib2-devel libarchive-devel
</literallayout></para></listitem>
<listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
Packages needed if you are going to run
<filename>oe-selftest</filename>:
<literallayout class='monospaced'>
$ sudo dnf install GitPython
$ sudo yum install GitPython
</literallayout>
</para></listitem>
</itemizedlist>

View File

@@ -2343,8 +2343,10 @@
</para>
<para>
For further details, please see
<ulink url='https://gcc.gnu.org/gcc-5/changes.html'></ulink>.
For further details, see
<ulink url='https://gcc.gnu.org/gcc-5/changes.html'></ulink> and
the porting guide at
<ulink url='https://gcc.gnu.org/gcc-5/porting_to.html'></ulink>.
</para>
<para>

View File

@@ -662,7 +662,6 @@
"IMAGE_FSTYPES": "ext3 jffs2 tar.bz2",
"IMAGE_INSTALL_append": "",
"PACKAGE_CLASSES": "package_rpm",
"SDKMACHINE" : "x86_64"
},
</literallayout>
</para>

View File

@@ -318,7 +318,7 @@
</para></listitem>
<listitem><para><emphasis>CentOS</emphasis>
<literallayout class='monospaced'>
$ sudo dnf install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
$ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
</literallayout>
<note>
CentOS 6.x users need to ensure that the required

View File

@@ -0,0 +1,30 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
mQENBFYeMycBCADISkEj+u+3SkGbmC4b09StA3Fk4J8bKZrTTpQqUhOH4QFIQpso
q96Q907h/ABAgB+IV0SGIeN866E7BqToqoXZ74X6EoyXWdndaMaFZSj+oNqqg6Gi
hVsuGNpvRyyXSCYW8w9H2lFx09UufFrUxoSeP2iVdJJaUAmb8e00PCwkYrS2BZEa
tO2VgllbaqczldmlUGnkIZt8YUSQSI/xZBDYUvbcZYBaOnDH1SDQl26f+bgyeIyS
TW5TZb96o4tMfiifgPoqAapAxQLahG0WtjF/n1yNV5wUNQYsEQf6/h6W2rHGsCP5
6FVFnr/ZPVam9iHUxL4lvJSI8dEH37s9GmarABEBAAG0LXRlc3R1c2VyIChub2Nv
bW1lbnQpIDx0ZXN0dXNlckB0ZXN0ZW1haWwuY29tPokBOAQTAQIAIgUCVh4zJwIb
AwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQezExa11krVLM2wf/fW1C8DPx
tZEyl6iPXFjNotslo+t2TL6jPefC22KmbokJCtCnxcopBjQRuhUSNDTkXkUdVagy
TaaYILV8XGajTmcVGQTaKeh+j6TM6CBGApQB5KhHvZCyvNBrGcNyuiex0Sm/rIhS
fZre6ptZM/026W2kLwwJESXzHJEqCoFmU6aSOUCVyiDgMfcNw6c4NmEoqZtLdnxU
B7Nac98o933AIvaaQMGtKIOcyOM7P/dyv8eMc38z2ew5bEB8E9aSdg5koXb3zIt5
IKea631k4INAsFFyLMQNSmmKV7RK0miF5b4hGyekrYZRtiic5+dq5aWnVka4hBfi
x31euxwQE87gQLkBDQRWHjMnAQgAt7C9QCFPWzLGQuQ/YaQub+8s2lYNQnmfwDHm
5PuON+Wj/f5GyQhHKsbdUAPZ7GsjFIQnva7xNYYF/IvpC+0saB5NLMkBzjfIsg92
6MkadAKlOR2o9gKlF59mulsJmJqNFTXiRcVXvpUnU8WB9ECmm321XfYHhk+4EMay
H3OUZ0k6dEmvrWBTKNTR7M0z6j/jW+8J3vP3L9k1H+OV0EZwAKXfbh1lN4H467jY
3gA7FU1WDmA06HphoSaFUEGTuXGtrRP0eksCUj3BtVygXnyQb379dISDOWcs/9Ke
v3KMrZWgDnA4pH1eQpjycBhwKOCHYyhSSVOwCS3DGkaaklmQZwARAQABiQEfBBgB
AgAJBQJWHjMnAhsMAAoJEHsxMWtdZK1SoPsIAKadG/tvS5COCyF8FuriL89Ysfov
kMRKeb9hsMDbKX2lm3UtoS5ErmpkEUO/SbazQYm6/vYc8noQquqhkIdCljIvpWDv
17tXEFfTGA493dlTTEWFt5bvzbQN6OhBu3904lAE4JGtlOOa9OKDeguwXbneLOyl
dnlj2f7rw05cB9t/RDu7T11dTI39BMTUUm1lpWxYJk41o59b9g+fpJZkiIAJwnN3
MwM1u9/AWfTqjNRgMAO5dIYceceTwGogujG+xz93flt+NjQhILG0T9jd0DFBgIAX
Zq4PzX5aFDKjGoFaOOZ6r+kppBLH/HN6okMGIcfqaPPdnJI1MXFQvFzUNpo=
=2cSJ
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -0,0 +1,59 @@
-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: GnuPG v1
lQO+BFYeMycBCADISkEj+u+3SkGbmC4b09StA3Fk4J8bKZrTTpQqUhOH4QFIQpso
q96Q907h/ABAgB+IV0SGIeN866E7BqToqoXZ74X6EoyXWdndaMaFZSj+oNqqg6Gi
hVsuGNpvRyyXSCYW8w9H2lFx09UufFrUxoSeP2iVdJJaUAmb8e00PCwkYrS2BZEa
tO2VgllbaqczldmlUGnkIZt8YUSQSI/xZBDYUvbcZYBaOnDH1SDQl26f+bgyeIyS
TW5TZb96o4tMfiifgPoqAapAxQLahG0WtjF/n1yNV5wUNQYsEQf6/h6W2rHGsCP5
6FVFnr/ZPVam9iHUxL4lvJSI8dEH37s9GmarABEBAAH+AwMCLgbvBp7KeMdgcmpy
Eheo+Xi7oLtKh5qc2LsxJnvszt4Q+0+v+dO+nlsRBuZAAo6EryyzH/HcncEoTQeG
FvB6Si0IA79a7sdWLz6GmI/gfQUYeR1A7amjbFTu/OGGZIxd9uUrsoNu3Hs5UbeI
0KjrhDYQrEt3GktF0WfAWnOkO3sONbXTKRxATw0YqT96wfPHmTK22qHVKodi2O6O
yNnQ2JotGTiSCYB9geQ0jrYMotJlFrMC0UqIAip2iP/zLwXpCMjEJud5hY4aEDtQ
JkDtQjPb2ICO98AqY6H/I7v1UAzUXJq7tIHTtA2d/9FJ++4wXqWJl3v7pKOOW323
xpYZgPCtG+Ebx1NAGhze8rncsP+AjtC3dbHWBr6xpVtfw+AJCuSMB9ZR2SXE5NJD
SlTzjsDbbCiCcTvfb+PfIpsMuTadWt+B+sI+LUsK4AaKRItinUz8ozn6ym3gyKA3
rasW+ZVo9p7LiTX2JjS1K8h+7Sim2WlqTMvk+IzSDdoVRf6SUQ5JXOyxs3p5V5Tb
2EyOuWfN6Fw4Xt3Pso09mSXGg1w6wmqW4nAslsL7U9alTzfNp6wZs5BaXWHRwnyu
LzHATIkHbKbHZYZTJXguZm2jDJiDAIcdX6gpkUYZJpY7c69aMRUe1Xb/3YK4BhbG
qpY0ams3ZwOe0EUz9Y1WLOFz7GqiKC5MBJLwcI483e6frVMMWNnyAH2yYau+n9st
zI/L0nsk8+wpt9ORNq+BT78SL6WznfUdl4OTaJUdzighjBEmlCX5s0hI/09HqpbA
ZdwDrBXmqFlN4BknZ3FCgGecBcG1hrXu80wH+qzA9lFKwJeKyFVGYX2ZPFyMxKJs
1q2emoEqLg0r/ePJvYXpgXIH9ENTphRGTY6z57m8ouMw+TvqI55SOyIqqPTSqgxU
B7QtdGVzdHVzZXIgKG5vY29tbWVudCkgPHRlc3R1c2VyQHRlc3RlbWFpbC5jb20+
iQE4BBMBAgAiBQJWHjMnAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRB7
MTFrXWStUszbB/99bULwM/G1kTKXqI9cWM2i2yWj63ZMvqM958LbYqZuiQkK0KfF
yikGNBG6FRI0NOReRR1VqDJNppggtXxcZqNOZxUZBNop6H6PpMzoIEYClAHkqEe9
kLK80GsZw3K6J7HRKb+siFJ9mt7qm1kz/TbpbaQvDAkRJfMckSoKgWZTppI5QJXK
IOAx9w3Dpzg2YSipm0t2fFQHs1pz3yj3fcAi9ppAwa0og5zI4zs/93K/x4xzfzPZ
7DlsQHwT1pJ2DmShdvfMi3kgp5rrfWTgg0CwUXIsxA1KaYpXtErSaIXlviEbJ6St
hlG2KJzn52rlpadWRriEF+LHfV67HBATzuBAnQO+BFYeMycBCAC3sL1AIU9bMsZC
5D9hpC5v7yzaVg1CeZ/AMebk+4435aP9/kbJCEcqxt1QA9nsayMUhCe9rvE1hgX8
i+kL7SxoHk0syQHON8iyD3boyRp0AqU5Haj2AqUXn2a6WwmYmo0VNeJFxVe+lSdT
xYH0QKabfbVd9geGT7gQxrIfc5RnSTp0Sa+tYFMo1NHszTPqP+Nb7wne8/cv2TUf
45XQRnAApd9uHWU3gfjruNjeADsVTVYOYDToemGhJoVQQZO5ca2tE/R6SwJSPcG1
XKBefJBvfv10hIM5Zyz/0p6/coytlaAOcDikfV5CmPJwGHAo4IdjKFJJU7AJLcMa
RpqSWZBnABEBAAH+AwMCLgbvBp7KeMdgJ20scZrWqLVyIfNqsfu0ATH/tYIBbry9
8RsBTZ4PBs6/X44fjMGPet1XuEv1R7IOiWO75K8+grdrWPTI9sP502d8Zv0rL007
K02rpairfWbjVe/wDCtYDvodOptRqVpj32OiZLpfdzxCNy5C5GYrcp84/zBC25C5
OeDvOhTBJt6ZdkExQFl4/KvpkISs7HbXoawa8WRlAbc81BxMHV21FusNzH0jlieG
tT4VW3kD2+FphfpmYMnY/e4IviFZ9QQrTA2ZYHd6M4MSTRzmOvC0I6akkKyITc1X
xdlCBXLbHMJm69cUxkp8sPSl668KXtbfSDSGqT50LHYOImcDVGboUWcIB7FLl+lT
lCeQv32O8J/wGYBIEPsBZsPdIEu8/rZPe97/BCyiurPf7s9JCpq6C2heUdTV5DS9
PKbyTlp7HrYLTJvgyAPXPwKZ8Y5YHZTMljWIb04rc5p7yVOOWiu4RZH28dYF63BR
yX+hKBjK1tyEqI3xf+/ukib/4VuvAOUCoH/BqyHelT40Qg1qt3P75fkH/ZRNq2gi
O2axGdlH5xrTOmLh7qGgr+rCAq5wmh6S3RDGT0PE4q/biGOtB2CI+fYin6Z0VC4H
9mVOMz0v9EW15Ra87JkAOA/PAxIlPOrq5SvHseBx7iTL3vWeQzvQfCqeTrJ48AQY
a7A7fMjQOZKCO9UuRIWm87JwOFIKb3JtauOGRFEHFDnlze5FBObUAyKP/dHpLwmm
O4k9smJSCid740UvNbpUpS4xAjen89dQTBtWXxipTpX/iXmsnSbrThUG1mYjEU+q
k5EF54KGfYSe4OJtm4dw/b5XL56CZJ79qBcD2kkjBA8o+/fxJKtnfTvPxGi0NZ2g
sg3EAxem8+SOvcRGr2RmFfWa28+Q1jNIXs+mL4kBHwQYAQIACQUCVh4zJwIbDAAK
CRB7MTFrXWStUqD7CACmnRv7b0uQjgshfBbq4i/PWLH6L5DESnm/YbDA2yl9pZt1
LaEuRK5qZBFDv0m2s0GJuv72HPJ6EKrqoZCHQpYyL6Vg79e7VxBX0xgOPd3ZU0xF
hbeW7820DejoQbt/dOJQBOCRrZTjmvTig3oLsF253izspXZ5Y9n+68NOXAfbf0Q7
u09dXUyN/QTE1FJtZaVsWCZONaOfW/YPn6SWZIiACcJzdzMDNbvfwFn06ozUYDAD
uXSGHHnHk8BqILoxvsc/d35bfjY0ISCxtE/Y3dAxQYCAF2auD81+WhQyoxqBWjjm
eq/pKaQSx/xzeqJDBiHH6mjz3ZySNTFxULxc1Daa
=b+vR
-----END PGP PRIVATE KEY BLOCK-----

View File

@@ -0,0 +1 @@
test123

View File

@@ -6,3 +6,5 @@
DEFAULTTUNE ?= "core2-32"
require conf/machine/include/tune-core2.inc
require conf/machine/include/genericx86-common.inc
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "gma500-gfx-check"

View File

@@ -0,0 +1,2 @@
# Mimic modprobe's install funcitonality with busybox's modprobe
install gma500_gfx lsmod | grep gma || { gma500_gfx_check.sh || modprobe gma500_gfx; }

View File

@@ -0,0 +1,11 @@
#!/bin/sh
# Check for devices we wish to avoid gma500_gfx for
DEVICES="0x8119 0x4108"
for DEVICE in $DEVICES; do
if udevadm trigger --subsystem-match=pci --verbose --attr-match=device=$DEVICE | grep "pci" >> /dev/null ; then
echo "Found $DEVICE, avoiding gma500_gfx module" >> /dev/kmsg;
exit 0
fi
done
exit 1

View File

@@ -0,0 +1,18 @@
SUMMARY = "Intel gma500_gfx fix for certain hardware"
DESCRIPTION = "Avoid inserting gma500_gfx module for certain hardware devices."
LICENSE="GPLv2"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
SRC_URI = "file://gma500-gfx-check.conf \
file://gma500-gfx-check.sh "
do_install(){
install -d ${D}${sysconfdir}/modprobe.d/
install -m 755 ${WORKDIR}/gma500-gfx-check.sh ${D}${sysconfdir}/modprobe.d/gma500-gfx-check.sh
install -m 644 ${WORKDIR}/gma500-gfx-check.conf ${D}${sysconfdir}/modprobe.d/gma500-gfx-check.conf
}
FILES_${PN}="${sysconfdir}/modprobe.d/gma500-gfx-check.conf \
${sysconfdir}/modprobe.d/gma500-gfx-check.sh"
COMPATIBLE_MACHINE = "genericx86"

View File

@@ -7,8 +7,8 @@ KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb"
KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
SRCREV_machine_genericx86 ?= "dbe692d91c8e55d1430f2c45fd578c8e4e71e482"
SRCREV_machine_genericx86-64 ?= "dbe692d91c8e55d1430f2c45fd578c8e4e71e482"
SRCREV_machine_genericx86 ?= "c22dc676d6d560d0b2a316283a514d65d2a510e4"
SRCREV_machine_genericx86-64 ?= "c22dc676d6d560d0b2a316283a514d65d2a510e4"
SRCREV_machine_edgerouter ?= "79a31b9d23db126f8a6be3eb88fd683056a213f1"
SRCREV_machine_beaglebone ?= "efb6ffb2ca96a364f916c9890ad023fc595e0e6e"
SRCREV_machine_mpc8315e-rdb ?= "79a31b9d23db126f8a6be3eb88fd683056a213f1"

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
DISTRO_VERSION = "2.0"
DISTRO_CODENAME = "jethro"
DISTRO_VERSION = "2.0+snapshot-${DATE}"
DISTRO_CODENAME = "master"
SDK_VENDOR = "-pokysdk"
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"

View File

@@ -151,9 +151,7 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks"
# - 'image-swab' to perform host system intrusion detection
# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
# NOTE: image-prelink is currently broken due to problems with the prelinker. It is advised
# that you do NOT run the prelinker at this time.
USER_CLASSES ?= "buildstats image-mklibs"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
#
# Runtime testing of images

View File

@@ -1,5 +1,5 @@
#
# This class is used for architecture independent recipes/data files (usally scripts)
# This class is used for architecture independent recipes/data files (usually scripts)
#
# Expand STAGING_DIR_HOST since for cross-canadian/native/nativesdk, this will
@@ -27,6 +27,10 @@ python () {
d.setVar("PACKAGE_EXTRA_ARCHS", "")
d.setVar("SDK_ARCH", "none")
d.setVar("SDK_CC_ARCH", "none")
d.setVar("TARGET_CPPFLAGS", "none")
d.setVar("TARGET_CFLAGS", "none")
d.setVar("TARGET_CXXFLAGS", "none")
d.setVar("TARGET_LDFLAGS", "none")
# Avoid this being unnecessarily different due to nuances of
# the target machine that aren't important for "all" arch

View File

@@ -203,7 +203,7 @@ def create_tarball(d, srcdir, suffix, ar_outdir):
import tarfile
# Make sure we are only creating a single tarball for gcc sources
if d.getVar('SRC_URI', True) == "" and 'gcc' in d.getVar('PN', True):
if (d.getVar('SRC_URI', True) == ""):
return
bb.utils.mkdirhier(ar_outdir)
@@ -254,27 +254,26 @@ python do_unpack_and_patch() {
ar_outdir = d.getVar('ARCHIVER_OUTDIR', True)
d.setVar('WORKDIR', ar_outdir)
# The changed 'WORKDIR' also casued 'B' changed, create dir 'B' for the
# The changed 'WORKDIR' also caused 'B' changed, create dir 'B' for the
# possibly requiring of the following tasks (such as some recipes's
# do_patch required 'B' existed).
bb.utils.mkdirhier(d.getVar('B', True))
# The kernel source is ready after do_validate_branches
if bb.data.inherits_class('kernel-yocto', d):
bb.build.exec_func('do_unpack', d)
bb.build.exec_func('do_kernel_checkout', d)
bb.build.exec_func('do_validate_branches', d)
else:
# The kernel class functions require it to be on work-shared, so we dont change WORKDIR
if not bb.data.inherits_class('kernel-yocto', d):
ar_outdir = d.getVar('ARCHIVER_OUTDIR', True)
d.setVar('WORKDIR', ar_outdir)
bb.build.exec_func('do_unpack', d)
# Save the original source for creating the patches
if d.getVarFlag('ARCHIVER_MODE', 'diff', True) == '1':
src = d.getVar('S', True).rstrip('/')
src_orig = '%s.orig' % src
oe.path.copytree(src, src_orig)
# Make sure gcc sources are patched only once
if not ((d.getVar('SRC_URI', True) == "" and 'gcc' in d.getVar('PN', True))):
# Make sure gcc and kernel sources are patched only once
if not ((d.getVar('SRC_URI', True) == "" or bb.data.inherits_class('kernel-yocto', d))):
bb.build.exec_func('do_patch', d)
# Create the patches
@@ -299,6 +298,16 @@ python do_ar_recipe () {
bb.utils.mkdirhier(outdir)
shutil.copy(bbfile, outdir)
pn = d.getVar('PN', True)
bbappend_files = d.getVar('BBINCLUDED', True).split()
# If recipe name is aa, we need to match files like aa.bbappend and aa_1.1.bbappend
# Files like aa1.bbappend or aa1_1.1.bbappend must be excluded.
bbappend_re = re.compile( r".*/%s_[^/]*\.bbappend$" %pn)
bbappend_re1 = re.compile( r".*/%s\.bbappend$" %pn)
for file in bbappend_files:
if bbappend_re.match(file) or bbappend_re1.match(file):
shutil.copy(file, outdir)
dirname = os.path.dirname(bbfile)
bbpath = '%s:%s' % (dirname, d.getVar('BBPATH', True))
f = open(bbfile, 'r')
@@ -347,6 +356,7 @@ do_deploy_archives[sstate-inputdirs] = "${ARCHIVER_TOPDIR}"
do_deploy_archives[sstate-outputdirs] = "${DEPLOY_DIR_SRC}"
addtask do_ar_original after do_unpack
addtask do_unpack_and_patch after do_patch
addtask do_ar_patched after do_unpack_and_patch
addtask do_ar_configured after do_unpack_and_patch
addtask do_dumpdata
@@ -364,6 +374,4 @@ python () {
# Add tasks in the correct order, specifically for linux-yocto to avoid race condition
if bb.data.inherits_class('kernel-yocto', d):
bb.build.addtask('do_kernel_configme', 'do_configure', 'do_unpack_and_patch', d)
else:
bb.build.addtask('do_unpack_and_patch', None, 'do_patch', d)
}

View File

@@ -77,16 +77,20 @@ CONFIGUREOPTS = " --build=${BUILD_SYS} \
${@append_libtool_sysroot(d)}"
CONFIGUREOPT_DEPTRACK ?= "--disable-dependency-tracking"
AUTOTOOLS_SCRIPT_PATH ?= "${S}"
CONFIGURE_SCRIPT ?= "${AUTOTOOLS_SCRIPT_PATH}/configure"
AUTOTOOLS_AUXDIR ?= "${AUTOTOOLS_SCRIPT_PATH}"
oe_runconf () {
cfgscript="${S}/configure"
cfgscript="${CONFIGURE_SCRIPT}"
if [ -x "$cfgscript" ] ; then
bbnote "Running $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} $@"
set +e
${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"
if [ "$?" != "0" ]; then
echo "Configure failed. The contents of all config.log files follows to aid debugging"
find ${S} -ignore_readdir_race -name config.log -print -exec cat {} \;
find ${B} -ignore_readdir_race -name config.log -print -exec cat {} \;
die "oe_runconf failed"
fi
set -e
@@ -95,8 +99,6 @@ oe_runconf () {
fi
}
AUTOTOOLS_AUXDIR ?= "${S}"
CONFIGURESTAMPFILE = "${WORKDIR}/configure.sstate"
autotools_preconfigure() {
@@ -134,7 +136,7 @@ do_configure[postfuncs] += "autotools_postconfigure"
ACLOCALDIR = "${B}/aclocal-copy"
python autotools_copy_aclocals () {
s = d.getVar("S", True)
s = d.getVar("AUTOTOOLS_SCRIPT_PATH", True)
if not os.path.exists(s + "/configure.in") and not os.path.exists(s + "/configure.ac"):
if not d.getVar("AUTOTOOLS_COPYACLOCAL", False):
return
@@ -228,13 +230,13 @@ autotools_do_configure() {
( for ac in `find ${S} -ignore_readdir_race -name configure.in -o -name configure.ac`; do
rm -f `dirname $ac`/configure
done )
if [ -e ${S}/configure.in -o -e ${S}/configure.ac ]; then
if [ -e ${AUTOTOOLS_SCRIPT_PATH}/configure.in -o -e ${AUTOTOOLS_SCRIPT_PATH}/configure.ac ]; then
olddir=`pwd`
cd ${S}
cd ${AUTOTOOLS_SCRIPT_PATH}
ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/"
if [ x"${acpaths}" = xdefault ]; then
acpaths=
for i in `find ${S} -ignore_readdir_race -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
for i in `find ${AUTOTOOLS_SCRIPT_PATH} -ignore_readdir_race -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
grep -v 'acinclude.m4' | grep -v 'aclocal-copy' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
acpaths="$acpaths -I $i"
done
@@ -265,21 +267,20 @@ autotools_do_configure() {
bbnote Executing glib-gettextize --force --copy
echo "no" | glib-gettextize --force --copy
fi
else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
elif grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
# We'd call gettextize here if it wasn't so broken...
cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
if [ -d ${S}/po/ ]; then
cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/
if [ ! -e ${S}/po/remove-potcdate.sin ]; then
cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sin ${S}/po/
fi
cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
if [ -d ${S}/po/ ]; then
cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/
if [ ! -e ${S}/po/remove-potcdate.sin ]; then
cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sin ${S}/po/
fi
for i in gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4; do
for j in `find ${S} -ignore_readdir_race -name $i | grep -v aclocal-copy`; do
rm $j
done
done
fi
for i in gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4; do
for j in `find ${S} -ignore_readdir_race -name $i | grep -v aclocal-copy`; do
rm $j
done
done
fi
mkdir -p m4
if grep "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then
@@ -290,7 +291,7 @@ autotools_do_configure() {
ACLOCAL="$ACLOCAL" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || die "autoreconf execution failed."
cd $olddir
fi
if [ -e ${S}/configure ]; then
if [ -e ${CONFIGURE_SCRIPT} ]; then
oe_runconf
else
bbnote "nothing to configure"

View File

@@ -204,7 +204,7 @@ def buildcfg_neededvars(d):
bb.fatal('The following variable(s) were not set: %s\nPlease set them directly, or choose a MACHINE or DISTRO that sets them.' % ', '.join(pesteruser))
addhandler base_eventhandler
base_eventhandler[eventmask] = "bb.event.ConfigParsed bb.event.BuildStarted bb.event.RecipePreFinalise bb.runqueue.sceneQueueComplete"
base_eventhandler[eventmask] = "bb.event.ConfigParsed bb.event.BuildStarted bb.event.RecipePreFinalise bb.runqueue.sceneQueueComplete bb.event.RecipeParsed"
python base_eventhandler() {
import bb.runqueue
@@ -254,6 +254,24 @@ python base_eventhandler() {
bb.debug(1, "Executing SceneQueue Completion commands: %s" % "\n".join(cmds))
bb.build.exec_func("completion_function", e.data)
os.remove(completions)
if isinstance(e, bb.event.RecipeParsed):
#
# If we have multiple providers of virtual/X and a PREFERRED_PROVIDER_virtual/X is set
# skip parsing for all the other providers which will mean they get uninstalled from the
# sysroot since they're now "unreachable". This makes switching virtual/kernel work in
# particular.
#
pn = d.getVar('PN', True)
source_mirror_fetch = d.getVar('SOURCE_MIRROR_FETCH', False)
if not source_mirror_fetch:
provs = (d.getVar("PROVIDES", True) or "").split()
multiwhitelist = (d.getVar("MULTI_PROVIDER_WHITELIST", True) or "").split()
for p in provs:
if p.startswith("virtual/") and p not in multiwhitelist:
profprov = d.getVar("PREFERRED_PROVIDER_" + p, True)
if profprov and pn != profprov:
raise bb.parse.SkipPackage("PREFERRED_PROVIDER_%s set to %s, not %s" % (p, profprov, pn))
}
CONFIGURESTAMPFILE = "${WORKDIR}/configure.sstate"
@@ -363,7 +381,10 @@ python () {
newappends.append(a)
elif a.startswith("virtual/"):
subs = a.split("/", 1)[1]
newappends.append("virtual/" + prefix + subs + extension)
if subs.startswith(prefix):
newappends.append(a + extension)
else:
newappends.append("virtual/" + prefix + subs + extension)
else:
if a.startswith(prefix):
newappends.append(a + extension)
@@ -431,14 +452,14 @@ python () {
d.setVarFlag('do_configure', 'umask', '022')
d.setVarFlag('do_compile', 'umask', '022')
d.appendVarFlag('do_install', 'depends', ' virtual/fakeroot-native:do_populate_sysroot')
d.setVarFlag('do_install', 'fakeroot', 1)
d.setVarFlag('do_install', 'fakeroot', '1')
d.setVarFlag('do_install', 'umask', '022')
d.appendVarFlag('do_package', 'depends', ' virtual/fakeroot-native:do_populate_sysroot')
d.setVarFlag('do_package', 'fakeroot', 1)
d.setVarFlag('do_package', 'fakeroot', '1')
d.setVarFlag('do_package', 'umask', '022')
d.setVarFlag('do_package_setscene', 'fakeroot', 1)
d.setVarFlag('do_package_setscene', 'fakeroot', '1')
d.appendVarFlag('do_package_setscene', 'depends', ' virtual/fakeroot-native:do_populate_sysroot')
d.setVarFlag('do_devshell', 'fakeroot', 1)
d.setVarFlag('do_devshell', 'fakeroot', '1')
d.appendVarFlag('do_devshell', 'depends', ' virtual/fakeroot-native:do_populate_sysroot')
source_mirror_fetch = d.getVar('SOURCE_MIRROR_FETCH', 0)
if not source_mirror_fetch:
@@ -527,39 +548,44 @@ python () {
bb.note("INCLUDING " + pn + " as buildable despite INCOMPATIBLE_LICENSE because it has been whitelisted for HOSTTOOLS")
srcuri = d.getVar('SRC_URI', True)
# Svn packages should DEPEND on subversion-native
if "svn://" in srcuri:
d.appendVarFlag('do_fetch', 'depends', ' subversion-native:do_populate_sysroot')
for uri in srcuri.split():
(scheme, _ , path) = bb.fetch.decodeurl(uri)[:3]
# Git packages should DEPEND on git-native
if "git://" in srcuri:
d.appendVarFlag('do_fetch', 'depends', ' git-native:do_populate_sysroot')
# Svn packages should DEPEND on subversion-native
if scheme == "svn":
d.appendVarFlag('do_fetch', 'depends', ' subversion-native:do_populate_sysroot')
# Mercurial packages should DEPEND on mercurial-native
elif "hg://" in srcuri:
d.appendVarFlag('do_fetch', 'depends', ' mercurial-native:do_populate_sysroot')
# Git packages should DEPEND on git-native
elif scheme == "git":
d.appendVarFlag('do_fetch', 'depends', ' git-native:do_populate_sysroot')
# OSC packages should DEPEND on osc-native
elif "osc://" in srcuri:
d.appendVarFlag('do_fetch', 'depends', ' osc-native:do_populate_sysroot')
# Mercurial packages should DEPEND on mercurial-native
elif scheme == "hg":
d.appendVarFlag('do_fetch', 'depends', ' mercurial-native:do_populate_sysroot')
# *.lz4 should depends on lz4-native for unpacking
# Not endswith because of "*.patch.lz4;patch=1". Need bb.fetch.decodeurl in future
if '.lz4' in srcuri:
d.appendVarFlag('do_unpack', 'depends', ' lz4-native:do_populate_sysroot')
# OSC packages should DEPEND on osc-native
elif scheme == "osc":
d.appendVarFlag('do_fetch', 'depends', ' osc-native:do_populate_sysroot')
# *.xz should depends on xz-native for unpacking
# Not endswith because of "*.patch.xz;patch=1". Need bb.fetch.decodeurl in future
if '.xz' in srcuri:
d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot')
# *.lz4 should DEPEND on lz4-native for unpacking
if path.endswith('.lz4'):
d.appendVarFlag('do_unpack', 'depends', ' lz4-native:do_populate_sysroot')
# unzip-native should already be staged before unpacking ZIP recipes
if ".zip" in srcuri:
d.appendVarFlag('do_unpack', 'depends', ' unzip-native:do_populate_sysroot')
# *.lz should DEPEND on lzip-native for unpacking
elif path.endswith('.lz'):
d.appendVarFlag('do_unpack', 'depends', ' lzip-native:do_populate_sysroot')
# file is needed by rpm2cpio.sh
if ".src.rpm" in srcuri:
d.appendVarFlag('do_unpack', 'depends', ' file-native:do_populate_sysroot')
# *.xz should DEPEND on xz-native for unpacking
elif path.endswith('.xz'):
d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot')
# .zip should DEPEND on unzip-native for unpacking
elif path.endswith('.zip'):
d.appendVarFlag('do_unpack', 'depends', ' unzip-native:do_populate_sysroot')
# file is needed by rpm2cpio.sh
elif path.endswith('.src.rpm'):
d.appendVarFlag('do_unpack', 'depends', ' file-native:do_populate_sysroot')
set_packagetriplet(d)

View File

@@ -121,6 +121,8 @@ build_boot_dd() {
# done in blocks, thus the mod by 16 instead of 32.
BLOCKS=$(expr $BLOCKS + $(expr 16 - $(expr $BLOCKS % 16)))
# Remove it since mkdosfs would fail when it exists
rm -f $HDDIMG
mkdosfs -n ${BOOTDD_VOLUME_ID} -S 512 -C $HDDIMG $BLOCKS
mcopy -i $HDDIMG -s $HDDDIR/* ::/

View File

@@ -23,8 +23,18 @@ sstate_install[vardepsexclude] += "buildhistory_emit_pkghistory"
# then the value added to SSTATEPOSTINSTFUNCS:
SSTATEPOSTINSTFUNCS[vardepvalueexclude] .= "| buildhistory_emit_pkghistory"
# All items excepts those listed here will be removed from a recipe's
# build history directory by buildhistory_emit_pkghistory(). This is
# necessary because some of these items (package directories, files that
# we no longer emit) might be obsolete.
#
# Write out metadata about this package for comparision when writing future packages
# When extending build history, derive your class from buildhistory.bbclass
# and extend this list here with the additional files created by the derived
# class.
BUILDHISTORY_PRESERVE = "latest latest_srcrev"
#
# Write out metadata about this package for comparison when writing future packages
#
python buildhistory_emit_pkghistory() {
if not d.getVar('BB_CURRENTTASK', True) in ['packagedata', 'packagedata_setscene']:
@@ -80,7 +90,7 @@ python buildhistory_emit_pkghistory() {
pkginfo = PackageInfo(pkg)
with open(histfile, "r") as f:
for line in f:
lns = line.split('=')
lns = line.split('=', 1)
name = lns[0].strip()
value = lns[1].strip(" \t\r\n").strip('"')
if name == "PE":
@@ -165,12 +175,13 @@ python buildhistory_emit_pkghistory() {
raise
packagelist = packages.split()
preserve = d.getVar('BUILDHISTORY_PRESERVE', True).split()
if not os.path.exists(pkghistdir):
bb.utils.mkdirhier(pkghistdir)
else:
# Remove files for packages that no longer exist
for item in os.listdir(pkghistdir):
if item != "latest" and item != "latest_srcrev":
if item not in preserve:
if item not in packagelist:
itempath = os.path.join(pkghistdir, item)
if os.path.isdir(itempath):

View File

@@ -6,7 +6,7 @@ def process_file_linux(cmd, fpath, rootdir, baseprefix, tmpdir, d):
p = sub.Popen([cmd, '-l', fpath],stdout=sub.PIPE,stderr=sub.PIPE)
err, out = p.communicate()
# If returned succesfully, process stderr for results
# If returned successfully, process stderr for results
if p.returncode != 0:
return
@@ -45,7 +45,7 @@ def process_file_darwin(cmd, fpath, rootdir, baseprefix, tmpdir, d):
p = sub.Popen([d.expand("${HOST_PREFIX}otool"), '-L', fpath],stdout=sub.PIPE,stderr=sub.PIPE)
err, out = p.communicate()
# If returned succesfully, process stderr for results
# If returned successfully, process stderr for results
if p.returncode != 0:
return
for l in err.split("\n"):

View File

@@ -18,8 +18,8 @@ OECMAKE_AR ?= "${AR}"
# Compiler flags
OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CFLAGS}"
OECMAKE_CXX_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS}"
OECMAKE_C_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CFLAGS} -DNDEBUG"
OECMAKE_CXX_FLAGS_RELEASE ?= "${SELECTED_OPTIMIZATION} ${CXXFLAGS} -DNDEBUG"
OECMAKE_C_FLAGS_RELEASE ?= "-DNDEBUG"
OECMAKE_CXX_FLAGS_RELEASE ?= "-DNDEBUG"
OECMAKE_C_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS} ${LDFLAGS}"
OECMAKE_CXX_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} ${LDFLAGS}"
@@ -53,9 +53,9 @@ set( CMAKE_AR ${OECMAKE_AR} CACHE FILEPATH "Archiver" )
set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" )
set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "CXXFLAGS" )
set( CMAKE_ASM_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "ASM FLAGS" )
set( CMAKE_C_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "CFLAGS for release" )
set( CMAKE_CXX_FLAGS_RELEASE "${OECMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "CXXFLAGS for release" )
set( CMAKE_ASM_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "ASM FLAGS for release" )
set( CMAKE_C_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "Additional CFLAGS for release" )
set( CMAKE_CXX_FLAGS_RELEASE "${OECMAKE_CXX_FLAGS_RELEASE}" CACHE STRING "Additional CXXFLAGS for release" )
set( CMAKE_ASM_FLAGS_RELEASE "${OECMAKE_C_FLAGS_RELEASE}" CACHE STRING "Additional ASM FLAGS for release" )
set( CMAKE_C_LINK_FLAGS "${OECMAKE_C_LINK_FLAGS}" CACHE STRING "LDFLAGS" )
set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" CACHE STRING "LDFLAGS" )

View File

@@ -29,20 +29,13 @@ def get_perl_version(d):
return m.group(1)
return None
# Determine where the library directories are
def perl_get_libdirs(d):
libdir = d.getVar('libdir', True)
if is_target(d) == "no":
libdir += '/perl-native'
libdir += '/perl'
return libdir
def is_target(d):
if not bb.data.inherits_class('native', d):
return "yes"
return "no"
PERLLIBDIRS := "${@perl_get_libdirs(d)}"
PERLLIBDIRS = "${libdir}/perl"
PERLLIBDIRS_class-native = "${libdir}/perl-native"
PERLVERSION := "${@get_perl_version(d)}"
PERLVERSION[vardepvalue] = ""

View File

@@ -30,7 +30,7 @@ baselib = "lib"
do_populate_sysroot[stamp-extra-info] = ""
do_packagedata[stamp-extra-info] = ""
# Need to force this to ensure consitency accross architectures
# Need to force this to ensure consitency across architectures
EXTRA_OECONF_GCC_FLOAT = ""
USE_NLS = "no"

View File

@@ -271,9 +271,9 @@ python do_checkpkg() {
from bb.fetch2 import FetchError, NoMethodError, decodeurl
"""first check whether a uri is provided"""
src_uri = d.getVar('SRC_URI', True)
src_uri = (d.getVar('SRC_URI', True) or '').split()
if src_uri:
uri_type, _, _, _, _, _ = decodeurl(src_uri)
uri_type, _, _, _, _, _ = decodeurl(src_uri[0])
else:
uri_type = "none"

View File

@@ -1,7 +1,7 @@
DEPENDS += "${@["${PYTHON_PN}-native ${PYTHON_PN}", ""][(d.getVar('PACKAGES', True) == '')]}"
RDEPENDS_${PN} += "${@['', '${PYTHON_PN}-core']['${CLASSOVERRIDE}' == 'class-target']}"
PYTHON_BASEVERSION = "3.4"
PYTHON_BASEVERSION = "3.5"
PYTHON_ABI = "m"
inherit distutils-common-base python3native

View File

@@ -1,4 +1,4 @@
PYTHON_BASEVERSION = "3.4"
PYTHON_BASEVERSION = "3.5"
PYTHON_ABI = "m"
inherit distutils-native-base

View File

@@ -170,15 +170,37 @@ IMAGE_CMD_ubi () {
IMAGE_CMD_ubifs = "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubifs ${MKUBIFS_ARGS}"
WKS_FILE ?= "${IMAGE_BASENAME}.${MACHINE}.wks"
WKS_FILES ?= "${WKS_FILE} ${IMAGE_BASENAME}.wks"
WKS_SEARCH_PATH ?= "${THISDIR}:${@':'.join('%s/scripts/lib/wic/canned-wks' % l for l in '${BBPATH}:${COREBASE}'.split(':'))}"
WKS_FULL_PATH = "${@wks_search('${WKS_FILES}'.split(), '${WKS_SEARCH_PATH}') or ''}"
def wks_search(files, search_path):
for f in files:
if os.path.isabs(f):
if os.path.exists(f):
return f
else:
searched = bb.utils.which(search_path, f)
if searched:
return searched
IMAGE_CMD_wic () {
out=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}
wks=${FILE_DIRNAME}/${IMAGE_BASENAME}.${MACHINE}.wks
[ -e $wks ] || wks=${FILE_DIRNAME}/${IMAGE_BASENAME}.wks
[ -e $wks ] || bbfatal "Kiskstart file $wks doesn't exist"
BUILDDIR=${TOPDIR} wic create $wks --vars ${STAGING_DIR_TARGET}/imgdata/ -e ${IMAGE_BASENAME} -o $out/
mv $out/build/${IMAGE_BASENAME}*.direct $out.rootfs.wic
rm -rf $out/
out="${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}"
wks="${WKS_FULL_PATH}"
if [ -z "$wks" ]; then
bbfatal "No kickstart files from WKS_FILES were found: ${WKS_FILES}. Please set WKS_FILE or WKS_FILES appropriately."
fi
BUILDDIR="${TOPDIR}" wic create "$wks" --vars "${STAGING_DIR_TARGET}/imgdata/" -e "${IMAGE_BASENAME}" -o "$out/"
mv "$out/build/$(basename "${wks%.wks}")"*.direct "$out.rootfs.wic"
rm -rf "$out/"
}
IMAGE_CMD_wic[vardepsexclude] = "WKS_FULL_PATH WKS_FILES"
# Rebuild when the wks file changes
USING_WIC = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s' % c for c in '${COMPRESSIONTYPES}'.split()), '1', '', d)}"
do_rootfs[file-checksums] += "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH}') if '${USING_WIC}' else ''}"
EXTRA_IMAGECMD = ""

View File

@@ -307,6 +307,9 @@ def package_qa_check_libdir(d):
if 'libdir' in (d.getVar('INSANE_SKIP_' + package, True) or "").split():
bb.note("Package %s skipping libdir QA test" % (package))
skippackages.append(package)
elif d.getVar('PACKAGE_DEBUG_SPLIT_STYLE', True) == 'debug-file-directory' and package.endswith("-dbg"):
bb.note("Package %s skipping libdir QA test for PACKAGE_DEBUG_SPLIT_STYLE equals debug-file-directory" % (package))
skippackages.append(package)
for package in skippackages:
dirs.remove(package)
for file in files:
@@ -1112,6 +1115,7 @@ python do_package_qa () {
bb.note("DONE with PACKAGE QA")
}
do_package_qa[vardepsexclude] = "BB_TASKDEPDATA"
do_package_qa[rdeptask] = "do_packagedata"
addtask do_package_qa after do_packagedata do_package before do_build

View File

@@ -217,6 +217,14 @@ do_compile_kernelmodules() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
oe_runmake -C ${B} ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
# Module.symvers gets updated during the
# building of the kernel modules. We need to
# update this in the shared workdir since some
# external kernel modules has a dependency on
# other kernel modules and will look at this
# file to do symbol lookups
cp Module.symvers ${STAGING_KERNEL_BUILDDIR}/
else
bbnote "no modules to compile"
fi

View File

@@ -25,15 +25,14 @@ python write_package_manifest() {
'w+').write(image_list_installed_packages(d))
}
python write_deploy_manifest() {
license_deployed_manifest(d)
}
python license_create_manifest() {
import re
import oe.packagedata
from oe.rootfs import image_list_installed_packages
bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE", True) or "").split()
bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses)
bad_licenses = expand_wildcard_licenses(d, bad_licenses)
build_images_from_feeds = d.getVar('BUILD_IMAGES_FROM_FEEDS', True)
if build_images_from_feeds == "1":
return 0
@@ -49,8 +48,18 @@ python license_create_manifest() {
pkg_lic_name = "LICENSE_" + pkg_name
pkg_dic[pkg_name]["LICENSE"] = pkg_dic[pkg_name][pkg_lic_name]
license_manifest = os.path.join(d.getVar('LICENSE_DIRECTORY', True),
rootfs_license_manifest = os.path.join(d.getVar('LICENSE_DIRECTORY', True),
d.getVar('IMAGE_NAME', True), 'license.manifest')
write_license_files(d, rootfs_license_manifest, pkg_dic)
}
def write_license_files(d, license_manifest, pkg_dic):
import re
bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE", True) or "").split()
bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses)
bad_licenses = expand_wildcard_licenses(d, bad_licenses)
with open(license_manifest, "w") as license_file:
for pkg in sorted(pkg_dic):
if bad_licenses:
@@ -65,16 +74,24 @@ python license_create_manifest() {
pkg_dic[pkg]["LICENSES"] = re.sub(' *', ' ', pkg_dic[pkg]["LICENSES"])
pkg_dic[pkg]["LICENSES"] = pkg_dic[pkg]["LICENSES"].split()
license_file.write("PACKAGE NAME: %s\n" % pkg)
license_file.write("PACKAGE VERSION: %s\n" % pkg_dic[pkg]["PV"])
license_file.write("RECIPE NAME: %s\n" % pkg_dic[pkg]["PN"])
license_file.write("LICENSE: %s\n\n" % pkg_dic[pkg]["LICENSE"])
if not "IMAGE_MANIFEST" in pkg_dic[pkg]:
# Rootfs manifest
license_file.write("PACKAGE NAME: %s\n" % pkg)
license_file.write("PACKAGE VERSION: %s\n" % pkg_dic[pkg]["PV"])
license_file.write("RECIPE NAME: %s\n" % pkg_dic[pkg]["PN"])
license_file.write("LICENSE: %s\n\n" % pkg_dic[pkg]["LICENSE"])
# If the package doesn't contain any file, that is, its size is 0, the license
# isn't relevant as far as the final image is concerned. So doing license check
# doesn't make much sense, skip it.
if pkg_dic[pkg]["PKGSIZE_%s" % pkg] == "0":
continue
# If the package doesn't contain any file, that is, its size is 0, the license
# isn't relevant as far as the final image is concerned. So doing license check
# doesn't make much sense, skip it.
if pkg_dic[pkg]["PKGSIZE_%s" % pkg] == "0":
continue
else:
# Image manifest
license_file.write("RECIPE NAME: %s\n" % pkg_dic[pkg]["PN"])
license_file.write("VERSION: %s\n" % pkg_dic[pkg]["PV"])
license_file.write("LICENSE: %s\n" % pkg_dic[pkg]["LICENSE"])
license_file.write("FILES: %s\n\n" % pkg_dic[pkg]["FILES"])
for lic in pkg_dic[pkg]["LICENSES"]:
lic_file = os.path.join(d.getVar('LICENSE_DIRECTORY', True),
@@ -98,15 +115,16 @@ python license_create_manifest() {
if copy_lic_manifest == "1":
rootfs_license_dir = os.path.join(d.getVar('IMAGE_ROOTFS', 'True'),
'usr', 'share', 'common-licenses')
os.makedirs(rootfs_license_dir)
bb.utils.mkdirhier(rootfs_license_dir)
rootfs_license_manifest = os.path.join(rootfs_license_dir,
'license.manifest')
os.link(license_manifest, rootfs_license_manifest)
os.path.split(license_manifest)[1])
if not os.path.exists(rootfs_license_manifest):
os.link(license_manifest, rootfs_license_manifest)
if copy_lic_dirs == "1":
for pkg in sorted(pkg_dic):
pkg_rootfs_license_dir = os.path.join(rootfs_license_dir, pkg)
os.makedirs(pkg_rootfs_license_dir)
bb.utils.mkdirhier(pkg_rootfs_license_dir)
pkg_license_dir = os.path.join(d.getVar('LICENSE_DIRECTORY', True),
pkg_dic[pkg]["PN"])
licenses = os.listdir(pkg_license_dir)
@@ -124,14 +142,143 @@ python license_create_manifest() {
if not os.path.exists(rootfs_license):
os.link(pkg_license, rootfs_license)
os.symlink(os.path.join('..', lic), pkg_rootfs_license)
if not os.path.exists(pkg_rootfs_license):
os.symlink(os.path.join('..', lic), pkg_rootfs_license)
else:
if oe.license.license_ok(canonical_license(d,
lic), bad_licenses) == False:
if (oe.license.license_ok(canonical_license(d,
lic), bad_licenses) == False or
os.path.exists(pkg_rootfs_license)):
continue
os.link(pkg_license, pkg_rootfs_license)
}
def license_deployed_manifest(d):
"""
Write the license manifest for the deployed recipes.
The deployed recipes usually includes the bootloader
and extra files to boot the target.
"""
dep_dic = {}
man_dic = {}
lic_dir = d.getVar("LICENSE_DIRECTORY", True)
dep_dic = get_deployed_dependencies(d)
for dep in dep_dic.keys():
man_dic[dep] = {}
# It is necessary to mark this will be used for image manifest
man_dic[dep]["IMAGE_MANIFEST"] = True
man_dic[dep]["PN"] = dep
man_dic[dep]["FILES"] = \
" ".join(get_deployed_files(dep_dic[dep]))
with open(os.path.join(lic_dir, dep, "recipeinfo"), "r") as f:
for line in f.readlines():
key,val = line.split(": ", 1)
man_dic[dep][key] = val[:-1]
image_license_manifest = os.path.join(d.getVar('LICENSE_DIRECTORY', True),
d.getVar('IMAGE_NAME', True), 'image_license.manifest')
write_license_files(d, image_license_manifest, man_dic)
def get_deployed_dependencies(d):
"""
Get all the deployed dependencies of an image
"""
deploy = {}
# Get all the dependencies for the current task (rootfs).
# Also get EXTRA_IMAGEDEPENDS because the bootloader is
# usually in this var and not listed in rootfs.
# At last, get the dependencies from boot classes because
# it might contain the bootloader.
taskdata = d.getVar("BB_TASKDEPDATA", True)
depends = list(set([dep[0] for dep
in taskdata.itervalues()
if not dep[0].endswith("-native")]))
extra_depends = d.getVar("EXTRA_IMAGEDEPENDS", True)
boot_depends = get_boot_dependencies(d)
depends.extend(extra_depends.split())
depends.extend(boot_depends)
depends = list(set(depends))
# To verify what was deployed it checks the rootfs dependencies against
# the SSTATE_MANIFESTS for "deploy" task.
# The manifest file name contains the arch. Because we are not running
# in the recipe context it is necessary to check every arch used.
sstate_manifest_dir = d.getVar("SSTATE_MANIFESTS", True)
sstate_archs = d.getVar("SSTATE_ARCHS", True)
extra_archs = d.getVar("PACKAGE_EXTRA_ARCHS", True)
archs = list(set(("%s %s" % (sstate_archs, extra_archs)).split()))
for dep in depends:
# Some recipes have an arch on their own, so we try that first.
special_arch = d.getVar("PACKAGE_ARCH_pn-%s" % dep, True)
if special_arch:
sstate_manifest_file = os.path.join(sstate_manifest_dir,
"manifest-%s-%s.deploy" % (special_arch, dep))
if os.path.exists(sstate_manifest_file):
deploy[dep] = sstate_manifest_file
continue
for arch in archs:
sstate_manifest_file = os.path.join(sstate_manifest_dir,
"manifest-%s-%s.deploy" % (arch, dep))
if os.path.exists(sstate_manifest_file):
deploy[dep] = sstate_manifest_file
break
return deploy
def get_boot_dependencies(d):
"""
Return the dependencies from boot tasks
"""
depends = []
boot_depends_string = ""
taskdepdata = d.getVar("BB_TASKDEPDATA", True)
# Only bootimg and bootdirectdisk include the depends flag
boot_tasks = ["do_bootimg", "do_bootdirectdisk",]
for task in boot_tasks:
boot_depends_string = "%s %s" % (boot_depends_string,
d.getVarFlag(task, "depends", True) or "")
boot_depends = [dep.split(":")[0] for dep
in boot_depends_string.split()
if not dep.split(":")[0].endswith("-native")]
for dep in boot_depends:
info_file = os.path.join(d.getVar("LICENSE_DIRECTORY", True),
dep, "recipeinfo")
# If the recipe and dependency name is the same
if os.path.exists(info_file):
depends.append(dep)
# We need to search for the provider of the dependency
else:
for taskdep in taskdepdata.itervalues():
# The fifth field contains what the task provides
if dep in taskdep[4]:
info_file = os.path.join(
d.getVar("LICENSE_DIRECTORY", True),
taskdep[0], "recipeinfo")
if os.path.exists(info_file):
depends.append(taskdep[0])
break
return depends
def get_deployed_files(man_file):
"""
Get the files deployed from the sstate manifest
"""
dep_files = []
excluded_files = ["README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt"]
with open(man_file, "r") as manifest:
all_files = manifest.read()
for f in all_files.splitlines():
if ((not (os.path.islink(f) or os.path.isdir(f))) and
not os.path.basename(f) in excluded_files):
dep_files.append(os.path.basename(f))
return dep_files
python do_populate_lic() {
"""
@@ -142,6 +289,10 @@ python do_populate_lic() {
# The base directory we wrangle licenses to
destdir = os.path.join(d.getVar('LICSSTATEDIR', True), d.getVar('PN', True))
copy_license_files(lic_files_paths, destdir)
info = get_recipe_info(d)
with open(os.path.join(destdir, "recipeinfo"), "w") as f:
for key in sorted(info.keys()):
f.write("%s: %s\n" % (key, info[key]))
}
# it would be better to copy them in do_install_append, but find_license_filesa is python
@@ -156,6 +307,13 @@ python perform_packagecopy_prepend () {
add_package_and_files(d)
}
def get_recipe_info(d):
info = {}
info["PV"] = d.getVar("PV", True)
info["PR"] = d.getVar("PR", True)
info["LICENSE"] = d.getVar("LICENSE", True)
return info
def add_package_and_files(d):
packages = d.getVar('PACKAGES', True)
files = d.getVar('LICENSE_FILES_DIRECTORY', True)
@@ -473,7 +631,8 @@ SSTATETASKS += "do_populate_lic"
do_populate_lic[sstate-inputdirs] = "${LICSSTATEDIR}"
do_populate_lic[sstate-outputdirs] = "${LICENSE_DIRECTORY}/"
ROOTFS_POSTPROCESS_COMMAND_prepend = "write_package_manifest; license_create_manifest; "
ROOTFS_POSTPROCESS_COMMAND_prepend = "write_package_manifest; write_deploy_manifest; license_create_manifest; "
do_rootfs[recrdeptask] += "do_populate_lic"
do_populate_lic_setscene[dirs] = "${LICSSTATEDIR}/${PN}"
do_populate_lic_setscene[cleandirs] = "${LICSSTATEDIR}"

View File

@@ -65,19 +65,19 @@ def base_get_metadata_svn_revision(path, d):
return revision
def base_get_metadata_git_branch(path, d):
import subprocess
import bb.process
try:
return subprocess.check_output(["git", "rev-parse", "--abbrev-ref", "HEAD"],
cwd=path).strip()
except:
return "<unknown>"
rev, _ = bb.process.run('git rev-parse --abbrev-ref HEAD', cwd=path)
except bb.process.ExecutionError:
rev = '<unknown>'
return rev.strip()
def base_get_metadata_git_revision(path, d):
import subprocess
import bb.process
try:
return subprocess.check_output(["git", "rev-parse", "HEAD"],
cwd=path).strip()
except:
return "<unknown>"
rev, _ = bb.process.run('git rev-parse HEAD', cwd=path)
except bb.process.ExecutionError:
rev = '<unknown>'
return rev.strip()

View File

@@ -1,7 +1,7 @@
inherit kernel-arch
# This is instead of DEPENDS = "virtual/kernel"
do_configure[depends] += "virtual/kernel:do_shared_workdir"
do_configure[depends] += "virtual/kernel:do_compile_kernelmodules"
export OS = "${TARGET_OS}"
export CROSS_COMPILE = "${TARGET_PREFIX}"
@@ -19,7 +19,7 @@ KERNEL_OBJECT_SUFFIX = ".ko"
PACKAGE_ARCH = "${MACHINE_ARCH}"
# Function to ensure the kernel scripts are created. Expected to
# be called before do_compile. See module.bbclass for an exmaple.
# be called before do_compile. See module.bbclass for an example.
do_make_scripts() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
make CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \

View File

@@ -1513,7 +1513,7 @@ python package_do_shlibs() {
rpath = []
p = sub.Popen([d.expand("${HOST_PREFIX}otool"), '-l', file],stdout=sub.PIPE,stderr=sub.PIPE)
err, out = p.communicate()
# If returned succesfully, process stderr for results
# If returned successfully, process stderr for results
if p.returncode == 0:
for l in err.split("\n"):
l = l.strip()
@@ -1522,7 +1522,7 @@ python package_do_shlibs() {
p = sub.Popen([d.expand("${HOST_PREFIX}otool"), '-L', file],stdout=sub.PIPE,stderr=sub.PIPE)
err, out = p.communicate()
# If returned succesfully, process stderr for results
# If returned successfully, process stderr for results
if p.returncode == 0:
for l in err.split("\n"):
l = l.strip()

View File

@@ -21,7 +21,7 @@ APT_ARGS = "${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS", Tr
# INSTALL_BASEARCH_DEB - install base architecutre
# INSTALL_ARCHS_DEB - list of available archs
# INSTALL_PACKAGES_NORMAL_DEB - packages to be installed
# INSTALL_PACKAGES_ATTEMPTONLY_DEB - packages attemped to be installed only
# INSTALL_PACKAGES_ATTEMPTONLY_DEB - packages attempted to be installed only
# INSTALL_PACKAGES_LINGUAS_DEB - additional packages for uclibc
# INSTALL_TASK_DEB - task name

View File

@@ -10,7 +10,7 @@ PKGWRITEDIRIPK = "${WORKDIR}/deploy-ipks"
# Program to be used to build opkg packages
OPKGBUILDCMD ??= "opkg-build"
OPKG_ARGS = "--force_postinstall --prefer-arch-to-version"
OPKG_ARGS += "--force_postinstall --prefer-arch-to-version"
OPKG_ARGS += "${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS", True) == "1"]}"
OPKG_ARGS += "${@['', '--add-exclude ' + ' --add-exclude '.join((d.getVar('PACKAGE_EXCLUDE', True) or "").split())][(d.getVar("PACKAGE_EXCLUDE", True) or "") != ""]}"

View File

@@ -743,7 +743,7 @@ python () {
if d.getVar('PACKAGES', True) != '':
deps = ' rpm-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot'
d.appendVarFlag('do_package_write_rpm', 'depends', deps)
d.setVarFlag('do_package_write_rpm', 'fakeroot', 1)
d.setVarFlag('do_package_write_rpm', 'fakeroot', '1')
}
SSTATETASKS += "do_package_write_rpm"

View File

@@ -80,7 +80,7 @@ python write_host_sdk_manifest () {
POPULATE_SDK_POST_TARGET_COMMAND_append = " write_target_sdk_manifest ; "
POPULATE_SDK_POST_HOST_COMMAND_append = " write_host_sdk_manifest; "
SDK_POSTPROCESS_COMMAND = " create_sdk_files; tar_sdk; ${SDK_PACKAGING_FUNC}; "
SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; ${SDK_PACKAGING_FUNC}; "
# Some archs override this, we need the nativesdk version
# turns out this is hard to get from the datastore due to TRANSLATED_TARGET_ARCH
@@ -120,6 +120,57 @@ fakeroot create_sdk_files() {
sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" ${SDK_OUTPUT}/${SDKPATH}/relocate_sdk.py
}
python check_sdk_sysroots() {
# Fails build if there are broken or dangling symlinks in SDK sysroots
if d.getVar('CHECK_SDK_SYSROOTS', True) != '1':
# disabled, bail out
return
def norm_path(path):
return os.path.abspath(path)
# Get scan root
SCAN_ROOT = norm_path("${SDK_OUTPUT}/${SDKPATH}/sysroots/")
bb.note('Checking SDK sysroots at ' + SCAN_ROOT)
def check_symlink(linkPath):
if not os.path.islink(linkPath):
return
linkDirPath = os.path.dirname(linkPath)
targetPath = os.readlink(linkPath)
if not os.path.isabs(targetPath):
targetPath = os.path.join(linkDirPath, targetPath)
targetPath = norm_path(targetPath)
if SCAN_ROOT != os.path.commonprefix( [SCAN_ROOT, targetPath] ):
bb.error("Escaping symlink {0!s} --> {1!s}".format(linkPath, targetPath))
return
if not os.path.exists(targetPath):
bb.error("Broken symlink {0!s} --> {1!s}".format(linkPath, targetPath))
return
if os.path.isdir(targetPath):
dir_walk(targetPath)
def walk_error_handler(e):
bb.error(str(e))
def dir_walk(rootDir):
for dirPath,subDirEntries,fileEntries in os.walk(rootDir, followlinks=False, onerror=walk_error_handler):
entries = subDirEntries + fileEntries
for e in entries:
ePath = os.path.join(dirPath, e)
check_symlink(ePath)
# start
dir_walk(SCAN_ROOT)
}
SDKTAROPTS = "--owner=root --group=root"
fakeroot tar_sdk() {

View File

@@ -51,7 +51,7 @@ python copy_buildsystem () {
core_meta_subdir = ''
# Copy in all metadata layers + bitbake (as repositories)
buildsystem = oe.copy_buildsystem.BuildSystem(d)
buildsystem = oe.copy_buildsystem.BuildSystem('extensible SDK', d)
baseoutpath = d.getVar('SDK_OUTPUT', True) + '/' + d.getVar('SDKPATH', True)
layers_copied = buildsystem.copy_bitbake_and_layers(baseoutpath + '/layers')
@@ -187,10 +187,7 @@ python copy_buildsystem () {
}
def extsdk_get_buildtools_filename(d):
# This is somewhat of a hack
localdata = bb.data.createCopy(d)
localdata.setVar('PN', 'buildtools-tarball')
return localdata.expand('${SDK_NAME}-buildtools-nativesdk-standalone-*.sh')
return '*-buildtools-nativesdk-standalone-*.sh'
install_tools() {
install -d ${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}
@@ -249,7 +246,8 @@ sdk_ext_postinst() {
# dash which is /bin/sh on Ubuntu will not preserve the
# current working directory when first ran, nor will it set $1 when
# sourcing a script. That is why this has to look so ugly.
sh -c ". buildtools/environment-setup* > preparing_build_system.log && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> preparing_build_system.log && $target_sdk_dir/ext-sdk-prepare.sh $target_sdk_dir '${SDK_TARGETS}' >> preparing_build_system.log 2>&1" || { echo "SDK preparation failed: see `pwd`/preparing_build_system.log" ; exit 1 ; }
LOGFILE="$target_sdk_dir/preparing_build_system.log"
sh -c ". buildtools/environment-setup* > $LOGFILE && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE && $target_sdk_dir/ext-sdk-prepare.sh $target_sdk_dir '${SDK_TARGETS}' >> $LOGFILE 2>&1" || { echo "ERROR: SDK preparation failed: see $LOGFILE"; echo "printf 'ERROR: this SDK wasn't fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; }
fi
rm -f $target_sdk_dir/ext-sdk-prepare.sh
echo done
@@ -260,6 +258,11 @@ SDK_POST_INSTALL_COMMAND_task-populate-sdk-ext = "${sdk_ext_postinst}"
SDK_POSTPROCESS_COMMAND_prepend_task-populate-sdk-ext = "copy_buildsystem; install_tools; "
fakeroot python do_populate_sdk_ext() {
# FIXME hopefully we can remove this restriction at some point, but uninative
# currently forces this upon us
if d.getVar('SDK_ARCH', True) != d.getVar('BUILD_ARCH', True):
bb.fatal('The extensible SDK can currently only be built for the same architecture as the machine being built on - SDK_ARCH is set to %s (likely via setting SDKMACHINE) which is different from the architecture of the build machine (%s). Unable to continue.' % (d.getVar('SDK_ARCH', True), d.getVar('BUILD_ARCH', True)))
bb.build.exec_func("do_populate_sdk", d)
}

View File

@@ -8,7 +8,8 @@ PRSERV_DUMPFILE ??= "${PRSERV_DUMPDIR}/prserv.inc"
python prexport_handler () {
import bb.event
if not e.data:
if not e.data or bb.data.inherits_class('native', e.data) or \
bb.data.inherits_class('crosssdk', e.data):
return
if isinstance(e, bb.event.RecipeParsed):
@@ -21,7 +22,7 @@ python prexport_handler () {
bb.fatal("prexport_handler: export failed!")
(metainfo, datainfo) = retval
if not datainfo:
bb.warn("prexport_handler: No AUTOPR values found for %s" % ver)
bb.note("prexport_handler: No AUTOPR values found for %s" % ver)
return
oe.prservice.prserv_export_tofile(e.data, None, datainfo, False)
if 'AUTOINC' in ver:

View File

@@ -1,6 +1,6 @@
inherit ptest
EXTRA_OECONF_append_class-target = " ${@bb.utils.contains('PTEST_ENABLED', '1', '--enable-installed-tests', '--disable-installed-tests', d)}"
EXTRA_OECONF_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '--enable-installed-tests', '--disable-installed-tests', d)}"
FILES_${PN}-ptest += "${libexecdir}/installed-tests/ \
${datadir}/installed-tests/"

View File

@@ -58,7 +58,7 @@ addtask install_ptest_base after do_install before do_package do_populate_sy
python () {
if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d):
d.setVarFlag('do_install_ptest_base', 'fakeroot', 1)
d.setVarFlag('do_install_ptest_base', 'fakeroot', '1')
# Remove all '*ptest_base' tasks when ptest is not enabled
if not(d.getVar('PTEST_ENABLED', True) == "1"):

View File

@@ -1,4 +1,4 @@
PYTHON_BASEVERSION = "3.4"
PYTHON_BASEVERSION = "3.5"
inherit python-dir

View File

@@ -39,13 +39,14 @@ def qemu_run_binary(data, rootfs_path, binary):
# PACKAGE_ARCH, not overrides and hence have to do this dance. Simply being arch
# specific isn't good enough.
QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH', True), True) or ""}"
QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
QEMU_EXTRAOPTIONS_iwmmxt = " -cpu pxa270-c5"
QEMU_EXTRAOPTIONS_armv6 = " -cpu arm1136"
QEMU_EXTRAOPTIONS_armv7a = " -cpu cortex-a8"
QEMU_EXTRAOPTIONS_e500v2 = " -cpu e500v2"
QEMU_EXTRAOPTIONS_e500mc = " -cpu e500mc"
QEMU_EXTRAOPTIONS_e5500 = " -cpu e5500"
QEMU_EXTRAOPTIONS_e5500-64b = " -cpu e5500"
QEMU_EXTRAOPTIONS_e6500 = " -cpu e6500"
QEMU_EXTRAOPTIONS_e6500-64b = " -cpu e6500"
QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc"
QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e5500"
QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e5500"
QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e6500"
QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e6500"
QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"

View File

@@ -63,6 +63,10 @@ do_rm_work () {
i=dummy
break
;;
*do_rootfs*)
i=dummy
break
;;
*do_build*)
i=dummy
break

View File

@@ -8,7 +8,6 @@ ROOTFS_PKGMANAGE_BOOTSTRAP = "run-postinsts"
do_rootfs[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot"
do_populate_sdk[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot bzip2-native:do_populate_sysroot"
do_rootfs[recrdeptask] += "do_package_write_deb"
rootfs_deb_do_rootfs[vardepsexclude] += "BUILDNAME"
do_rootfs[vardeps] += "PACKAGE_FEED_URIS"
do_rootfs[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"

View File

@@ -13,7 +13,6 @@ do_rootfs[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_popu
do_populate_sdk[depends] += "opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot"
do_rootfs[recrdeptask] += "do_package_write_ipk"
do_rootfs[vardeps] += "PACKAGE_FEED_URIS"
rootfs_ipk_do_rootfs[vardepsexclude] += "BUILDNAME"
do_rootfs[lockfiles] += "${WORKDIR}/ipk.lock"
do_populate_sdk[lockfiles] += "${WORKDIR}/ipk.lock"

View File

@@ -22,7 +22,6 @@ do_rootfs[depends] += "${RPMROOTFSDEPENDS}"
do_populate_sdk[depends] += "${RPMROOTFSDEPENDS}"
do_rootfs[recrdeptask] += "do_package_write_rpm"
rootfs_rpm_do_rootfs[vardepsexclude] += "BUILDNAME"
do_rootfs[vardeps] += "PACKAGE_FEED_URIS"
# RPM doesn't work with multiple rootfs generation at once due to collisions in the use of files

View File

@@ -749,14 +749,6 @@ def check_sanity_everybuild(status, d):
check_supported_distro(d)
# Check if DISPLAY is set if TEST_IMAGE is set
if d.getVar('TEST_IMAGE', True) == '1' or d.getVar('DEFAULT_TEST_SUITES', True):
testtarget = d.getVar('TEST_TARGET', True)
if testtarget == 'qemu' or testtarget == 'QemuTarget':
display = d.getVar("BB_ORIGENV", False).getVar("DISPLAY", True)
if not display:
status.addresult('testimage needs an X desktop to start qemu, please set DISPLAY correctly (e.g. DISPLAY=:1.0)\n')
omask = os.umask(022)
if omask & 0755:
status.addresult("Please use a umask which allows a+rx and u+rwx\n")

View File

@@ -2,6 +2,8 @@ DEPENDS += "python-scons-native"
EXTRA_OESCONS ?= ""
do_configure[noexec] = "1"
scons_do_compile() {
${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \
die "scons build execution failed."

View File

@@ -8,7 +8,7 @@
#
# 'what' can be one of
# * target: Returns the target name ("<arch>-<os>")
# * endianess: Return "be" for big endian targets, "le" for little endian
# * endianness: Return "be" for big endian targets, "le" for little endian
# * bits: Returns the bit size of the target, either "32" or "64"
# * libc: Returns the name of the c library used by the target
#

View File

@@ -232,7 +232,7 @@ def run_fossology(foss_command, full_spdx):
# Package info
package_info = {}
if full_spdx:
# All mandatory, only one occurance
# All mandatory, only one occurrence
package_info['PackageCopyrightText'] = re.findall('PackageCopyrightText: (.*?</text>)', foss_output, re.S)[0]
package_info['PackageLicenseDeclared'] = re.findall('PackageLicenseDeclared: (.*)', foss_output)[0]
package_info['PackageLicenseConcluded'] = re.findall('PackageLicenseConcluded: (.*)', foss_output)[0]

View File

@@ -268,6 +268,20 @@ def sstate_install(ss, d):
sstate_install[vardepsexclude] += "SSTATE_DUPWHITELIST STATE_MANMACH SSTATE_MANFILEPREFIX"
sstate_install[vardeps] += "${SSTATEPOSTINSTFUNCS}"
def sstate_build_gpg_command(d, *args, **kwargs):
# Returns a list for subprocess.call() unless passed flatten=True when this
# returns a flattened string.
l = [d.getVar("GPG_BIN", True) or "gpg"]
if d.getVar("GPG_PATH", True):
l += ["--homedir", d.getVar("GPG_PATH", True)]
l += args
if kwargs.get("flatten", False):
import pipes
return " ".join(map(pipes.quote, l))
else:
return l
def sstate_installpkg(ss, d):
import oe.path
import subprocess
@@ -296,7 +310,7 @@ def sstate_installpkg(ss, d):
d.setVar('SSTATE_PKG', sstatepkg)
if bb.utils.to_boolean(d.getVar("SSTATE_VERIFY_SIG", True), False):
if subprocess.call(["gpg", "--verify", sstatepkg + ".sig", sstatepkg]) != 0:
if subprocess.call(sstate_build_gpg_command(d, "--verify", sstatepkg + ".sig", sstatepkg)) != 0:
bb.warn("Cannot verify signature on sstate package %s" % sstatepkg)
for f in (d.getVar('SSTATEPREINSTFUNCS', True) or '').split() + ['sstate_unpack_package'] + (d.getVar('SSTATEPOSTUNPACKFUNCS', True) or '').split():
@@ -672,12 +686,12 @@ sstate_create_package () {
else
tar -cz --file=$TFILE --files-from=/dev/null
fi
chmod 0664 $TFILE
chmod 0664 $TFILE
mv -f $TFILE ${SSTATE_PKG}
if [ -n "${SSTATE_SIG_KEY}" ]; then
rm -f ${SSTATE_PKG}.sig
echo ${SSTATE_SIG_PASSPHRASE} | gpg --batch --passphrase-fd 0 --detach-sign --local-user ${SSTATE_SIG_KEY} --output ${SSTATE_PKG}.sig ${SSTATE_PKG}
echo ${SSTATE_SIG_PASSPHRASE} | ${@sstate_build_gpg_command(d, "--batch", "--passphrase-fd", "0", "--detach-sign", "--local-user", "${SSTATE_SIG_KEY}", "--output", "${SSTATE_PKG}.sig", "${SSTATE_PKG}", flatten=True)}
fi
cd ${WORKDIR}
@@ -692,6 +706,8 @@ sstate_unpack_package () {
tar -xmvzf ${SSTATE_PKG}
# Use "! -w ||" to return true for read only files
[ ! -w ${SSTATE_PKG} ] || touch --no-dereference ${SSTATE_PKG}
[ ! -w ${SSTATE_PKG}.sig ] || [ ! -e ${SSTATE_PKG}.sig ] || touch --no-dereference ${SSTATE_PKG}.sig
[ ! -w ${SSTATE_PKG}.siginfo ] || [ ! -e ${SSTATE_PKG}.siginfo ] || touch --no-dereference ${SSTATE_PKG}.siginfo
}
BB_HASHCHECK_FUNCTION = "sstate_checkhashes"

View File

@@ -59,6 +59,8 @@ systemd_populate_packages[vardepsexclude] += "OVERRIDES"
python systemd_populate_packages() {
import re
if not bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
return
@@ -144,10 +146,22 @@ python systemd_populate_packages() {
for pkg_systemd in systemd_packages.split():
for service in get_package_var(d, 'SYSTEMD_SERVICE', pkg_systemd).split():
path_found = ''
# Deal with adding, for example, 'ifplugd@eth0.service' from
# 'ifplugd@.service'
base = None
if service.find('@') != -1:
base = re.sub('@[^.]+.', '@.', service)
for path in searchpaths:
if os.path.exists(oe.path.join(d.getVar("D", True), path, service)):
path_found = path
break
elif base is not None:
if os.path.exists(oe.path.join(d.getVar("D", True), path, base)):
path_found = path
break
if path_found != '':
systemd_add_files_and_parse(pkg_systemd, path_found, service, keys)
else:

View File

@@ -15,7 +15,7 @@ def emit_terminal_func(command, envdata, d):
cmd_func = 'do_terminal'
envdata.setVar(cmd_func, 'exec ' + command)
envdata.setVarFlag(cmd_func, 'func', 1)
envdata.setVarFlag(cmd_func, 'func', '1')
runfmt = d.getVar('BB_RUNFMT', True) or "run.{func}.{pid}"
runfile = runfmt.format(func=cmd_func, task=cmd_func, taskfunc=cmd_func, pid=os.getpid())
@@ -39,14 +39,14 @@ def oe_terminal(command, title, d):
for v in os.environ:
envdata.setVar(v, os.environ[v])
envdata.setVarFlag(v, 'export', 1)
envdata.setVarFlag(v, 'export', '1')
for export in oe.data.typed_value('OE_TERMINAL_EXPORTS', d):
value = d.getVar(export, True)
if value is not None:
os.environ[export] = str(value)
envdata.setVar(export, str(value))
envdata.setVarFlag(export, 'export', 1)
envdata.setVarFlag(export, 'export', '1')
if export == "PSEUDO_DISABLED":
if "PSEUDO_UNLOAD" in os.environ:
del os.environ["PSEUDO_UNLOAD"]
@@ -62,7 +62,7 @@ def oe_terminal(command, title, d):
if value is not None:
os.environ[key] = str(value)
envdata.setVar(key, str(value))
envdata.setVarFlag(key, 'export', 1)
envdata.setVarFlag(key, 'export', '1')
# A complex PS1 might need more escaping of chars.
# Lets not export PS1 instead.

Some files were not shown because too many files have changed in this diff Show More