Compare commits

..

2341 Commits

Author SHA1 Message Date
Richard Purdie
b74ea963ce build-appliance-image: Update to fido head revision
(From OE-Core rev: f0873b83d693af4a103999160d67fcf25c7eedc1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-29 14:59:45 +01:00
Richard Purdie
963a0c2f76 poky.conf: Bump version for 1.8.1 fido release
(From meta-yocto rev: debe2f66bad75f052bc74681d27951345418310f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-29 14:59:24 +01:00
Ross Burton
f963541dc0 sstate: run recipe-provided hooks outside of ${B}
To avoid races between the sstate tasks/hooks using ${B} as the cwd, and other
tasks such as cmake_do_configure which deletes and re-creates ${B}, ensure that
all sstate hooks are run in the right directory, and run the prefunc/postfunc in WORKDIR.

(From OE-Core rev: 07a7e1a0bee5b8757951e67c9353c786a6ac8500)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-29 14:42:25 +01:00
Robert Yang
57eb677f0e autotools.bbclass: mkdir ${B} -> mkdir -p ${B}
${B} is the default cwd of tasks, so there might be race issues such as:
| mkdir: cannot create directory `${B}': File exists
[snip]
NOTE: recipe perf-1.0-r9: task do_configure: Failed

(From OE-Core rev: 4c02a30f084408d0a6a5149937ef74520f8346dc)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-19 11:11:12 +01:00
Robert Yang
5fecc456e5 perf: mkdir ${B} -> mkdir -p ${B}
${B} is the default cwd of tasks, so there might be race issues such as:
| mkdir: cannot create directory `/path/to/work/qemux86-poky-linux/perf/1.0-r9/perf-1.0/': File exists
[snip]
NOTE: recipe perf-1.0-r9: task do_configure: Failed

(From OE-Core rev: eb3d1dac724144637a86e8124b7b6b91bbeab822)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-19 11:11:11 +01:00
Li Zhou
4ce2a556ca libunwind: Security Advisory - libunwind - CVE-2015-3239
libunwind: Invalid dwarf opcodes can cause references beyond the end of
the array

Off-by-one error in the dwarf_to_unw_regnum function in include/dwarf_i.h
 in libunwind 1.1 allows local users to have unspecified impact via
invalid dwarf opcodes.

(From OE-Core master rev: 9c4e7f5c009b076b0bc638a02fcf3d96c362e7eb)

(From OE-Core rev: 38de3cd2fcc5e2c79dcf1c864c84f8e712111e5d)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:27 +01:00
Martin Jansa
174b15c2c0 rootfs.py: show intercept script output in log.do_rootfs
* without this the output wasn't shown anywhere even when the bb.warn
  says:
  "See log for details!"

(From OE-Core master rev: a3c322b42c7a14584a80e04519c34689ec813210)

(From OE-Core rev: 33b9dc43afbf9d201863d4327cd8689582b19070)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:26 +01:00
Martin Jansa
bb931159ea postinst_intercept: allow to pass variables with spaces
* trying to pass foo="a b" through postinst_intercept ends
  with the actual script header to containing:
  b
  foo=a
  which fails because "b" command doesn't exist.

(From OE-Core master rev: c66d7d85b7225be8c838449324d506565dd0081d)

(From OE-Core rev: e1cb77476934ea0f80993df049c3708bfa33dba3)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:26 +01:00
Martin Jansa
346188f176 rootfs.py: Allow to override postinst-intercepts location
* useful when we need to overlay/extend intercept scripts from oe-core

(From OE-Core master rev: 7d08d2d5c0ae686e3bb8732ea82f30fd189b1cd8)

(From OE-Core rev: 0f528bda0bac76e190b03764c603f199a6079fc6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:26 +01:00
Sona Sarmadi
3b9a1144a5 libtasn1: CVE-2015-3622
_asn1_extract_der_octet: prevent past of boundary access

References:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3622
http://git.savannah.gnu.org/gitweb/?p=libtasn1.git;a=patch;
h=f979435823a02f842c41d49cd41cc81f25b5d677

(From OE-Core rev: 553bc30b96cd9ef9c5bc621debcf7c23c66d7e42)

Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:25 +01:00
George McCollister
687327d494 wic: fix path parsing, use last occurrence
If the path contains 'scripts' more than once the first occurrence will be
incorrectly used. Use rfind instead of find to find the last occurrence.

(From OE-Core rev: 35ecb0b8557aae85f377c9d99f1a72cbb76fb6d8)

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:25 +01:00
Armin Kuster
c18dff0871 openssh: CVE-2015-6563 CVE-2015-6564 CVE-2015-6565
three security fixes.

CVE-2015-6563 (Low) openssh: Privilege separation weakness related to PAM support
CVE-2015-6564 (medium)  openssh: Use-after-free bug related to PAM support
CVE-2015-6565 (High)  openssh: Incorrectly set TTYs to be world-writable

(From OE-Core rev: 259df232b513367a0a18b17e3e377260a770288f)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:24 +01:00
Armin Kuster
ab7f4c1a6d bind: CVE-2015-1349 CVE-2015-4620 CVE-2015-5722
three security fixes.

(From OE-Core rev: 16e80afe187c173e00b734c757a05157855ed504)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:24 +01:00
Richard Purdie
78b2eaa516 runqemu: Handle device names like tapX@NONE
ip list can return devices in the form tapX@NONE. If it does so,
ensure we handle that case correctly. Newer distros appear to do
this in some cases.

[YOCTO #8129]

(From OE-Core master rev: 6459dde380febce24d2c355d441d9cb3b14409b9)

(From OE-Core rev: a6709ac54bb9ac79692c3c6faadaace11b8f33f4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:24 +01:00
Saul Wold
1245acce18 oprofileui: Use inherit gettext
oprofileui uses gettext during the configuration task so should be inherit
gettext. This issue appears when an older version of gettext is used do to
pinning to the older non-gplv3 version.

[YOCTO #7795]

(From OE-Core rev: 7a161f8685c551892218a9a7877c10bdcd170c0e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:23 +01:00
Sona Sarmadi
6516ecd075 gnutls: CVE-2015-3308
Fixes use-after-free flaw in CRL distribution points parsing

Reference:
d6972be332
053ae65403

http://www.openwall.com/lists/oss-security/2015/04/15/6

(From OE-Core rev: 4db630c0cd7988c923eb3f48153a6cedafd6a139)

Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:23 +01:00
Alejandro Hernandez
d6dcddbb3d qemurunner: Improves checking for server and target IPs on qemus parameters
Fixes OS hanging infinitely waiting for qemus process to release bitbake.lock

(From OE-Core master rev: d168bf34c553dbe5de7511e158cd83869d7a88bc)

(From OE-Core rev: b19f599fe8d06d9381ae774f3289fa8c054ad1cc)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:22 +01:00
Paul Eggleton
1c65b4bdd8 oeqa/utils/qemurunner: fix logging
OE-Core commit 519e381278d40bdac79add340e4c0460a9f97e17 unfortunately
broke logging in two different ways:

1) it prevented logging to the task log from working within bitbake
   -c testimage. This is due to the logger object being set up too early
   which interferes with BitBake's own logging. If we prefix the name
   with "BitBake." everything works (and we don't need to set the
   logging level).

2) Additionally because it called the log functions on the logging
   module and not the logger object it set up, this caused the
   oe-selftest logging to start printing everything from that point
   forward.

Fix these two issues and return us to the desired behaviour for
do_testimage.

(From OE-Core master rev: 429b1971be06d5146bb1c14f4697966cddab3b33)

(From OE-Core rev: 095b6ccbf86b1830da2dcf5af09a4ebbcdfca921)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:22 +01:00
Ross Burton
e4f0b095e8 oeqa/QemuRunner: don't use bb for logging
Instead of using bb.note() etc for logging use logging.Logger directly, allowing
the use of QemuRunner outside of bitbake.

Also clean up the logging/errors by moving create_socket() out of
__init__()/restart() and into start().

(From OE-Core master rev: 519e381278d40bdac79add340e4c0460a9f97e17)

(From OE-Core rev: 97478640e1449e861b880dd3bedc6af1b0bbacdc)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 19:22:22 +01:00
Armin Kuster
b50596d8f6 tzdata: update to 2015d
Changes affecting future time stamps

Egypt will not observe DST in 2015 and will consider canceling it
permanently.  For now, assume no DST indefinitely.
(Thanks to Ahmed Nazmy and Tim Parenti.)

Changes affecting past time stamps
America/Whitehorse switched from UTC-9 to UTC-8 on 1967-05-28, not
1966-07-01.  Also, Yukon's time zone history is documented better.
(Thanks to Brian Inglis and Dennis Ferguson.)

Change affecting past and future time zone abbreviations
The abbreviations for Hawaii-Aleutian standard and daylight times
have been changed from HAST/HADT to HST/HDT, as per US Government
Printing Office style.  This affects only America/Adak since 1983,
as America/Honolulu was already using the new style.

(From OE-Core rev: b9f366ab4e0a9cad69b631f402b9afa02d40f667)

(From OE-Core rev: 5a1839ecc9a2191252019ddd5c253098006f5bc3)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:41:34 +01:00
Armin Kuster
814bdc8a55 tzcode: update to 2015d
Changes affecting code

    zic has some minor performance improvements.

(From OE-Core rev: 3ab7e247b0662a1791169f16424abec426885f80)

(From OE-Core rev: cdc4fa9e3301cb478d89cf0c1d690e17313b7096)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:41:34 +01:00
Richard Purdie
fa87963b35 bitbake: bitbake: cooker: properly fix bitbake.lock handling
If the PR server or indeed any other child process takes some time to
exit (which it sometimes does when saving its database), it can end up
holding bitbake.lock after the UI exits, which led to errors if you ran
bitbake commands successively - we saw this when running the PR server
oe-selftest tests in OE-Core. The recent attempt to fix this wasn't
quite right and ended up breaking memory resident bitbake. This time we
close the lock file when cooker shuts down (inside the UI process)
instead of unlocking it, and this is done in the cooker code rather than
the actual UI code so it doesn't matter which UI is in use. Additionally
we report that we're waiting for the lock to be released, using lsof or
fuser if available to list the processes with the lock open.

The 'magic' in the locking is due to all spawned subprocesses of bitbake
holding an open file descriptor to the bitbake.lock. It is automatically
unlocked when all those fds close the file (as all the processes terminate).
We close the UI copy of the lock explicitly, then close the server process
copy, any remaining open copy is therefore some proess exiting.

(The reproducer for the problem is to set PRSERV_HOST = "localhost:0"
and add a call to time.sleep(20) after self.server_close() in
lib/prserv/serv.py, then run "bitbake -p; bitbake -p" ).

Cleanup work done by Paul Eggleton <paul.eggleton@linux.intel.com>.

This reverts bitbake commit 69ecd15aece54753154950c55d7af42f85ad8606 and
e97a9f1528d77503b5c93e48e3de9933fbb9f3cd.

(Bitbake rev: a29780bd43f74b7326fe788dbd65177b86806fcf)

(Bitbake rev: ed30f4ee1cef8db9ea422c5e54b2375c4f3b1d6f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Conflicts:
	bitbake/lib/bb/tinfoil.py
2015-09-01 21:37:20 +01:00
Richard Purdie
d7cad22f48 bitbake: runqueue: Add message to explain the problem if diffsigs multiple tasks don't exist
(Bitbake rev: 8292c64e6edae1bf6f554140e8f603cedbd01047)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:37:19 +01:00
Ross Burton
7ccc4e25a3 gnome: move introspection options to gnomebase
The gnome class is really a convenience class to include other classes, so move
the introspection arguments into gnomebase.bbclass.

(From OE-Core rev: b43a1b244a5ceab52713759dc53b00b162d9d43f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:47 +01:00
Khem Raj
b64fcadb20 systemd: Remove exporting special CPP
This is no more needed.
it was done long ago while systemd lived in meta-openembedded
http://lists.openembedded.org/pipermail/openembedded-commits/2012-August/141061.html
The accompanying patch has been applied to systemd already so we were
not needing to set CPP for sometime now.

as a nice side effect it helps compiling systemd with clang

(From OE-Core rev: b816e3f520bf71c9b681ccea30c8eefd62fb20a2)

(From OE-Core master rev: e95365400ae1ffb6b650723cfb2c6a67913c740c)

(From OE-Core rev: 981d99d1307b7c36e964ba9b9929b7329169d72b)

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>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:47 +01:00
Sona Sarmadi
7e8bd02a57 icu: CVE-2014-8146-CVE-2014-8147
CVE-2014-8146 icu: heap overflow via incorrect isolateCount
CVE-2014-8147 icu: integer truncation in the resolveImplicitLevels function

References:
[1] https://github.com/pedrib/PoC/raw/master/generic/i-c-u-fail.7z
[2] https://www.kb.cert.org/vuls/id/602540
[3] http://bugs.icu-project.org/trac/changeset/37080
[4] http://bugs.icu-project.org/trac/changeset/37162

(From OE-Core rev: a461a1a9141fb6a3f79bf9773a837daace2e9996)

Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:46 +01:00
Alexandru DAMIAN
bdba0dd12d toasterconf: remove master as a branch option from fido release
Toaster isn't designed to be forward compatible. As such,
a release cannot build releases newer then it.

Particularly, "fido" cannot build "master", so we remove
"master" from the list of supported releases in "fido"

[YOCTO #8154]

(From OE-Core rev: bda086118abfb168183dc285357ecbb6dccff5e3)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:46 +01:00
Khem Raj
4fc8836379 glibc: Consider adding -Wno-error in cases when not using -O2
glibc has recently turned on Werror globally which is good but then not
all option combos are well tested so there still remains cleanup needed
when not using -O2, so lets just disable Werror in such cases, until
fixed upstream

Change-Id: I2d491c360a15b0752c97ff77ee0faaeede6e8d2a
(From OE-Core master rev: 52a90e8e592ddd228939e15d7fd0d69f3c1e816f)

(From OE-Core rev: 6f358676c33854cd6b02f41232875cf779cde1b8)

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>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:45 +01:00
Li Zhou
0b1ea952ad gdk-pixbuf: Security Advisory - gdk-pixbuf - CVE-2015-4491
pixops: Be more careful about integer overflow

Integer overflow in the make_filter_table function in pixops/pixops.c
in gdk-pixbuf before 2.31.5, as used in Mozilla Firefox before 40.0 and
Firefox ESR 38.x before 38.2 on Linux, Google Chrome on Linux, and other
products, allows remote attackers to execute arbitrary code or cause a
denial of service (heap-based buffer overflow and application crash) via
crafted bitmap dimensions that are mishandled during scaling.

(From OE-Core master rev: e27f367d08becce9486f2890cb7382f3c8448246)

(From OE-Core rev: 8e6da2d34ed6e3352e235c1723d6b4f425bd5932)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:45 +01:00
Ross Burton
541876e3e5 systemd: update SRC_URI
Upstream has moved git hosts, so update the SRC_URI appropriately.

[ YOCTO #8181 ]

(From OE-Core master rev: c6166b7ff7ebcab424af975b1e5378813c684560)

(From OE-Core rev: b459e8831dfcb8f4317e115b534567c656efee04)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:44 +01:00
Ross Burton
f08e550a89 systemd-compat-units: set S correctly
This recipe doesn't unpack any source, so set S to ${WORKDIR}.

(From OE-Core master rev: 188a08884d0c1b57d5c8c23f93463399526b19a2)

(From OE-Core rev: 5908df2668c46495f3d9626a7d0e6ce8bb1a2f1f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:44 +01:00
Umut Tezduyar Lindskog
be837d96fa systemd: update the status of configurable root patch
(From OE-Core master rev: a79afafd422a9b8e74c0eaac6296e6d1802bb994)

(From OE-Core rev: 7cfaac7e7f49303a00247d4ac221b6fe13eed7b9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:44 +01:00
Chen Qi
cde69ef352 systemd: add PACKAGECONFIG for valgrind
Execute `bitbake valgrind && bitbake systemd -c cleansstate && bitbake
systemd -c configure && bitbake valgrind -c cleansstate && bitbake systemd
-c compile', and we would get the following error.

   src/libsystemd/sd-bus/bus-control.c: fatal error: valgrind/memcheck.h: No such file or directory.

Add PACKAGECONFIG option to sovle this problem.

(From OE-Core master rev: e35ee4e016fbd659c88444ab7ee8e86008984f2c)

(From OE-Core rev: 5a9cf55789f030ce940b8d1c78a75147b4a2b486)

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>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:43 +01:00
Ross Burton
29495d0e8d systemd: recommend the vconsole setup units
systemd's early boot wants to run the vconsole setup units.  They were split out
so that systems without visible consoles don't need the overhead of packaging
kbd etc, but we should pull them in by default.

(From OE-Core master rev: a2e7a94f8d777d1cd9a07e1543b88a0cf1f9cd67)

(From OE-Core rev: dc0a58e396213e3f1131e0f9be4f81bf29f135b2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:43 +01:00
Kai Kang
704b4bf52c systemd: add PACKAGECONFIG selinux
Add PACKAGECONFIG 'selinux' for systemd. debug-shell.service starts
different shell according whether selinux is enabled.

(From OE-Core master rev: 3d1aa27191fe4c21428eaf4ae036acb1496b7df7)

(From OE-Core rev: a7afb11176a997b65e532c5b4fa2e706a3a27a58)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:42 +01:00
Joshua Lock
38fd01f417 bind: backport patch for CVE-2015-5477
(From OE-Core rev: ba84c727b9c8c743e7ac87e6c84456f679118af8)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:42 +01:00
Beth Flanagan
1f404c9bd8 base.bbclass: Note when including pn with INCOMPATIBLE_LICENSES
We need to be able to tell people if we WHITELIST a recipe
that contains an incompatible licese.

Example: If we set WHITELIST_GPL-3.0 ?= "foo", foo will end
up on an image even if GPL-3.0 is incompatible. This is the
correct behaviour but there is nothing telling people that it
is even happening.

(From OE-Core master rev: c9da529943b2f563b7b0aeb43576c13dd3b6f932)

(From OE-Core rev: 1b449dd0ee88274d01f2ec1f2a22955b824ff8ef)

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:42 +01:00
Kai Kang
e232ad758a qemu: fix CVE-2015-3209
Backport patch to fix CVE-2015-3209.

http://git.qemu.org/?p=qemu.git;a=commit;h=9f7c594

(From OE-Core master rev: ea85f36ad438353f5a8e64292dd27f457f1f665c)

(From OE-Core rev: d8d68c4a630dc9d802e159f0ffe768e52bea5401)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:41 +01:00
Kai Kang
328d35b53d qemu: backport patches to fix CVE issues
Backport patches to fix CVE-2015-4103, CVE-2015-4104, CVE-2015-4105 and
CVE-2015-4106. These patches are from debian, but they are originally
from:

http://git.qemu.org/?p=qemu.git;a=shortlog;h=c25bbf1

(From OE-Core master rev: 496b3ffba6755bb76709c88cf81399c9d23f830a)

(From OE-Core rev: 29746e78ca000f4464c8e0a1da55c77e02c651e4)

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>

Refresh the following patches to apply cleanly to our qemu-2.2.0:
07-xen-pt-split-out-calculation-of-throughable-mask-CVE-2015-4106.patch
10-xen-pt-add-a-few-PCI-config-space-field-descriptions-CVE-2015-4106.patch

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:41 +01:00
Joshua Lock
2adb210c8c wpa-supplicant: backport a patch to fix CVE-2015-1863
This fix was included in the master branch with the upgrade
to 2.4, backport it to fido as the vulnerability was already
present in 2.3.

(From OE-Core rev: 12fc04731d26597bfb9d9f1713c96b11c8186c43)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:40 +01:00
Fan Xin
982baf1130 wpa-supplicant: Fix CVE-2015-4141, CVE-2015-4143, CVE-2015-4144, CVE-2015-4145, CVE-2015-4146
wpa-supplicant: backport patch to fix CVE-2015-4141,
 CVE-2015-4143, CVE-2015-4144, CVE-2015-4145, CVE-2015-4146

Backport patch to fix CVE-2015-4141, CVE-2015-4143, CVE-2015-4144, CVE-2015-4145, CVE-2015-4146.
This patch is originally from:

For CVE-2015-4141:
http://w1.fi/security/2015-2/0001-WPS-Fix-HTTP-chunked-transfer-encoding-parser.patch

For CVE-2015-4143:
http://w1.fi/security/2015-4/0001-EAP-pwd-peer-Fix-payload-length-validation-for-Commi.patch
http://w1.fi/security/2015-4/0002-EAP-pwd-server-Fix-payload-length-validation-for-Com.patch

For CVE-2015-4144 and CVE-2015-4145:
http://w1.fi/security/2015-4/0003-EAP-pwd-peer-Fix-Total-Length-parsing-for-fragment-r.patch
http://w1.fi/security/2015-4/0004-EAP-pwd-server-Fix-Total-Length-parsing-for-fragment.patch

For CVE-2015-4146:
http://w1.fi/security/2015-4/0005-EAP-pwd-peer-Fix-asymmetric-fragmentation-behavior.patch

(From OE-Core master rev: ce16e95de05db24e4e4132660d793cc7b1d890b9)

(From OE-Core rev: b236c0882d62d8aa722117a54c1ff9edec7f5a6d)

Signed-off-by: Fan Xin <fan.xin at jp.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:40 +01:00
Yuqing Zhu
38f48913ad gstreamer1.0-plugins-base: Need more buffers in output queue for better performance
(From OE-Core master rev: 4b35871f0883ded624c6d5dd9bbf3365934c0e93)

(From OE-Core rev: 9b3ae2e90f405d3c157d5c3d645b2be6b6216042)

Signed-off-by: Yuqing Zhu <b54851@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:39 +01:00
Yuqing Zhu
aecebf120b gstreamer1.0-plugins-base: Set need_segment after sink pad receive GST_EVENT_SEGMENT
Subparse works in push mode, chain funciton will be called once
up stream element finished the seeking and flushing.

If set need_segment flag in src pad event handler, the segment
event will be pushed earlier, result in the subtitle text will
be send out to down stream from the beginning.

(From OE-Core master rev: 48742378cd91297db439ee83576f3663befaa8f9)

(From OE-Core rev: 0ecbbc39353d92a66d32ea13075aaec76b590fa0)

Signed-off-by: Yuqing Zhu <b54851@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:38 +01:00
Yuqing Zhu
dd86cb34e6 gstreamer1.0-plugins-base: Enhance SSA text lines parsing
Some parser will pass in the original ssa text line which starts with "Dialog:"
and there's are maybe multiple Dialog lines in one input buffer.

(From OE-Core master rev: f47e6185a2e88081f98704357e873a04d2e39c40)

(From OE-Core rev: c2e8974e6c9e3e1eb386375a3839b81c23626d43)

Signed-off-by: Yuqing Zhu <b54851@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:37 +01:00
Yuqing Zhu
36978ade7f gstreamer1.0-plugins-base: Don't set async of custom text-sink to false
Setting async to false will lead A/V sync problem when seeking.
The preroll need to use GAP event instead of setting async to false.

(From OE-Core master rev: c3ed0c2162dcdbb1aced57aed33e2791b81db558)

(From OE-Core rev: 10c4993d4da66ed2eb857b396c24a3771a0bd0d6)

Signed-off-by: Yuqing Zhu <b54851@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:37 +01:00
Yuqing Zhu
407975a71e gstreamer1.0-plugins-base: Make memory copy when video buffer's memory is read only
Detect the memory flag and use gst_buffer_copy_region with GST_BUFFER_COPY_DEEP
parameter to perform deep memory copy.

(From OE-Core master rev: 817e542096cf2d415b1725ee98a4d3bbf0ed9415)

(From OE-Core rev: 5202a84a67be69259c42bfb109aec1e957783945)

Signed-off-by: Yuqing Zhu <b54851@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:37 +01:00
Yuqing Zhu
86625d2a59 gstreamer1.0-plugins-base: Do not change EOS event to GAP event
-Sending EOS event instead of GAP event as GAP event has error if A/V have the different duration.

-Stop sending second track EOS event when returing failure after sending the first track EOS.
 Fixed by ignoring the return error.

(From OE-Core master rev: 36dfa24b2a4318b7abe6ab54b64e6c011b8e1e0f)

(From OE-Core rev: 6a8d2055421cb6c82203654eabd67e87ae99fee6)

Signed-off-by: Yuqing Zhu <b54851@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:36 +01:00
Yuqing Zhu
0c925855f7 gstreamer1.0-plugins-base: Keep sticky events around when doing a soft reset
The current code will first discard all frames, and then tries to copy
all sticky events from the (now discarded) frames. So change the order.

(From OE-Core master rev: 32e88fd0632619c5d3eb95a58a0cceb6f5f6d0d0)

(From OE-Core rev: 17be09863be3804ba58006c8cf622cd0653fed1e)

Signed-off-by: Yuqing Zhu <b54851@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:36 +01:00
Yuqing Zhu
bdf4d19dc3 gstreamer1.0-plugins-base: Fix output buffer can't writable after frame_map() issue
-Add GST_VIDEO_FRAME_MAP_FLAG_NO_REF
 This makes sure that the buffer is not reffed another time when
 storing it in the GstVideoFrame, keeping it writable if it was writable.

-Use new GST_VIDEO_FRAME_MAP_FLAG_NO_REF to replace the old one because it's kind of ugly.

-Don't ref buffers twice when mapping

(From OE-Core master rev: a618f60675dbcc6568d6b9bdee015456cef78a77)

(From OE-Core rev: b75f09af7c4bfa023299c4f82bd6c3f781b93354)

Signed-off-by: Yuqing Zhu <b54851@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:35 +01:00
Yuqing Zhu
29ef78c85a gstreamer1.0-plugins-base: Update video alignment after video alignment
Video buffer pool will update video alignment to respect stride alignment
requirement. But haven't update it to video alignment in configure.
Which will cause user get wrong video alignment.

(From OE-Core master rev: d0b5780125926eb33cc82f17c679e16e64312478)

(From OE-Core rev: e2eeca08011abedcba0be8c72dd68557066d4776)

Signed-off-by: Yuqing Zhu <b54851@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:35 +01:00
Yuqing Zhu
78fa7de4f2 gstreamer1.0-plugins-base: Handle audio/video decoder error
When there is input data and no output data to the end of the stream, it will
send GST_ELEMENT_ERROR and quit from playing.
The patch comments the GST_ELEMENT_ERROR() and just add GST_ERROR_OBJECT()
information instead.

(From OE-Core master rev: 0690a52bf48543351cdc85d2b3c8068d54b51768)

(From OE-Core rev: 0549cb132cbe457dc66f5e8f3df4f61450cb180a)

Signed-off-by: Yuqing Zhu <b54851@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:34 +01:00
Yuqing Zhu
ad872f2757 gstreamer1.0-plugins-base: Bug fix for id3demux issue
Use g_utf16_to_utf8() instead of g_convert to fix the issue that
id3 tags utf16 charaters cannot be extreacted in id3demux when try
to get the id3v2 tag such as TIT2, TALB etc.

(From OE-Core master rev: 9f8c49862ee67f7f618f102f29f067ec2d712136)

(From OE-Core rev: f8a2ecb6995fdafef175fc084df6ab2d06335764)

Signed-off-by: Yuqing Zhu <b54851@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:34 +01:00
Joshua Lock
baab91ee8c lib/oe/package_manager: fix opkg feed generation
The insert_feed_uris() method of OpkgPM was creating an initial
entry in the feeds list which pointed to the root of the ipk
directory, however the on-device package manager can't consume
this feed resulting in runtime errors - therefore we remove the
code to generate that initial feed uri.

(From OE-Core master rev: 18e5dcfc610a255e490e4425f11213b8e14c6e00)

(From OE-Core rev: 886a31054808f40b563b7ff5f402f3f0d115759a)

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-09-01 21:19:33 +01:00
Joshua Lock
f22f5b2e52 cairo: make xlib and libxcb dependencies explicit
(From OE-Core master rev: 963ee40b6653741af9a22af7a01ad31bd6ca97a9)

(From OE-Core rev: e4cb0bf63b74c3b5c29850452248c8f4ad09bda7)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 21:19:33 +01:00
Aníbal Limón
cd2c9acdbd license_class: Fix choose_lic_set into incompatible license
Use canonical_license when doing evaluation of license expresion
since INCOMPATIBLE_LICENSE are already canonized.

[YOCTO #8080]

(From OE-Core rev: 64a4faf66f6d28acf575307079c1843a70efb71c)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-20 11:26:44 +01:00
Reinette Chatre
08f9fbbc97 perf: fix build breakage on kernels after 4.1
A recent commit fixed perf build failures with a change that duplicates
a fix that can be found in kernels after 4.1. Unfortunately there is a
conflict between these two fixes and we see perf build failures when
building perf in kernels that contain the fix already. The problem is
that the fix from the recipe modifies the location of .config-detected
to $(OUTPUT).config-detected. In a 4.2 kernel the location will be
changed to $(OUTPUT)$(OUTPUT).config-detected.

We change the recipe to require a space in the pattern to only change
kernel sources that do not already place file in $(OUTPUT).

The recent commit that introduced the build failure is:

   commit ea9016b60b
    Author: Richard Purdie <richard.purdie@linuxfoundation.org>
    Date:   Sat Jul 25 14:37:58 2015 +0100

        perf: Fix config file conflict with 4.1 kernels

        If you setup mutlitlibs and then:

        bitbake perf libb32-perf
        bitbake perf libb32-perf -c cleansstate
        bitbake perf libb32-perf

        you will see races where the two builds get confused about which directory
        they should be using and they corrupt each other.

        The issue is that .config-detected is created in ${S}, not $(OUTPUT).
        We can fix this by moving the file to $(OUTPUT).

        [YCOTO #8043]

        (From OE-Core rev: 00608cffffb586e8d2a2075117e710113c471448)

        (From OE-Core rev: 57df1ebd910e42af47a0039830a60f41a3bd29b6)

        Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

The commit in the kernel source that fixes the problem from kernel side is:
    commit 642273795fa81da11290ffa90bce6ff242f2a7bb
    Author: Aaro Koskinen <aaro.koskinen@nokia.com>
    Date:   Wed Jul 1 14:54:42 2015 +0300

        perf tools: Create config.detected into OUTPUT directory

        Create config.detected into OUTPUT directory instead of source
        directory.

        This fixes parallel builds that share the same source directory.

        Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
        Acked-by: Jiri Olsa <jolsa@kernel.org>
        Cc: Paul Mackerras <paulus@samba.org>
        Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
        Link: http://lkml.kernel.org/r/1435751683-18500-1-git-send-email-aaro.koskinen@nokia.com
        Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

(From OE-Core rev: 6546771a502a09c63e33679be8784818be0ef93b)

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-12 15:43:36 -07:00
Martin Jansa
5954c4e593 mesa: respect MESA_EGL_NO_X11_HEADERS even with x11 in PACKAGECONFIG
* commit a5ebdb6ad8e4f94ac819275d55575230e057e4ae
  Author: Valentin Popa <valentin.popa@intel.com>
  Date:   Tue Feb 18 13:32:16 2014 +0200
  Subject: mesa: upgrade to 9.2.5

  introduced this do_install_append, but doesn't explain why it doesn't
  respect MESA_EGL_NO_X11_HEADERS flag anymore.

  Not respecting MESA_EGL_NO_X11_HEADERS breaks any build which is using
  qtdeclarative+egl in distribution which has x11 in mesa PACKAGECONFIG
  (e.g. my bitbake world builds).

  The problem is that qtdeclarative is using "None" symbol in
  QSGTexture::Filtering enum, it's possible to rename it in qtdeclarative,
  but it's quite invasive and changes qtdeclarative public APIs, see:
  31aa85787a
  so it was rejected by upstream and I don't want to maintain it in
  meta-qt5 - changing public API in OE build is even worse than if upstream
  does it.

* This change returns MESA_EGL_NO_X11_HEADERS flag so it's relatively
  easy to resolve this conflict in such setups by preventing Xlib.h
  inclusion.

(From OE-Core rev: e5bf7aeac6f6855040e462d0b7cea8c4ea64805a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Tobias Olausson <tobias.olausson@pelagicore.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:45 -07:00
Tobias Olausson
9d9cc9dfbc Revert "mesa: fix do_install_append"
The commit changed an #ifdef to #if defined(), but the source
code for 10.4 branch of mesa still uses #ifdef.

This reverts OE-Core commit 12e467f436fbc22f274558c753f0ac9756ce1071.

(From OE-Core rev: 3eaaa488c811b6a8f7b855f9f2a666d106dbe433)

Signed-off-by: Tobias Olausson <tobias.olausson@pelagicore.com>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:45 -07:00
Kevin Hao
4b824d5bed u-boot: fix extern inline build errors for gcc 5
The gcc 5 change its default standard from gnu89 to gnu11. These two
standards do have different semantics for inline functions. And the
gcc 5 will emit the following errors on the "extern inline" functions:
    arch/powerpc/cpu/mpc8xxx/fsl_lbc.o: In function `ld_le16':
    ./arch/powerpc/include/asm/byteorder.h:12: multiple definition of `ld_le16'
    arch/powerpc/cpu/mpc8xxx/fdt.o:./arch/powerpc/include/asm/byteorder.h:12: first defined here

Fix these build errors by using "-fgnu89-inline" to enforce the gnu89
inline semantics as suggested in [1].

[1] https://gcc.gnu.org/gcc-5/porting_to.html

(From OE-Core rev: a1c83bb5556837d31d934b9af130cdbac19d5e97)

(From OE-Core rev: c07aaa7214ac7e0244ee1b5987dbd2dda5aab286)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:45 -07:00
André Draszik
3ff9e84883 opkg-utils: use ${bindir} instead of hardcoding /usr/bin
(From OE-Core rev: 48e04a93c357fb494470d2f175e644a6f43a7d63)

(From OE-Core rev: 65ea72434fe227374147041b4b5fff19d8a18efb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:45 -07:00
André Draszik
01a50376df run-postinsts: use ${localstatedir} instead of hardcoding /var/lib
(From OE-Core rev: 48d735a8938ec7c49754a57019182ebcd9a2d8b6)

(From OE-Core rev: dcfe46aab5ceae780dda52c5bfae38b8918c4614)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:45 -07:00
André Draszik
7e9d0f0c7d initscripts: urandom: respect ${localstatedir} instead of hardcoding /var
(From OE-Core rev: 5f3f4196988675e9be5aea8eac56687641b90c10)

(From OE-Core rev: ab9bae919489c22d1969fbb33a5dbc8e1c432847)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:45 -07:00
André Draszik
65dfd5efd5 opkg: read config file from ${sysconfdir} instead of /etc
Opkg's configure script doesn't use the value from --sysconfdir to determine
the location of the conf file, it uses the value from --with-opkgetcdir

(From OE-Core rev: d32f7f86b5d2b48222bdaada2697cd5e23cfe1c9)

(From OE-Core rev: dcda6e1e7b95f13dc4a9bb136e6a31c46c76ea9e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:45 -07:00
André Draszik
fac23dfd45 rsync: use ${sysconfdir} instead of hardcoding /etc
(From OE-Core rev: 3bf20e3a67099f54a20c6534fea5db169c63dbec)

(From OE-Core rev: 7f76d444286cf39c58308dde2fb9eed0fee78895)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:45 -07:00
Zhixiong Chi
66941f0c08 dhcp: fix installed not shipped warning for lib32
Modify the dhcp.inc with using the variable ${PN} instead of direct
packagename, so that the content will not be override after expanding
while we build the lib32-dhcp package with FILES_${PN}-xxxx_append.

(From OE-Core rev: c758dcc3109a5b491d13373073214bf526943497)

(From OE-Core rev: 7436d12c9b40502a5e1ec670d76cc9ab755cbaba)

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:44 -07:00
Alejandro Hernandez
13e7544ae9 opkg: solve inconsistency of using different lists directories
Default behavior of opkg was to use ${OPKGLIBDIR}/opkg/lists;
but in our recipe we modify it to ${OPKGLIBDIR}/opkg/${OPKGLIBDIR}/opkg/,
when appending package-management to IMAGE_FEATURES these lists are
populated during build time (using the default directory),
but since our config was different these populated lists were never used at runtime,
this patch solves this inconsistency by using default behavior for both build time and runtime.

[YOCTO #6966]

(From OE-Core rev: a71b29ffc514892ca394fc8de275294b910586f0)

(From OE-Core rev: f49fc4fc5c5f150dad9807d92239ada885bca5fd)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:44 -07:00
Roy Li
e2ca16c6d3 alsa-utils: assume the alsa storing is success if machine has no sound card
(From OE-Core rev: eb14c2ea542cf1209a7b743c27a64f82dc907991)

(From OE-Core rev: 9ebfc72eb5674d2f36479ee7ee394a3a6e4fd95b)

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-08-09 16:37:44 -07:00
Li Zhou
f9a8370345 tzdata: Add marking for config files in recipe
The tzdata recipe does not mark the /etc/timezone file and
/etc/localtime link as configuration files. An on target update would
then overwite the user modified versions of those files.
Add those files in CONFFILES_${PN}.

(From OE-Core rev: 1eefbf6bdf5e720767673a754e95c62f2ffcc82f)

(From OE-Core rev: 75c8f094ddd652e6f91c8f879537c10ec08b7043)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:44 -07:00
Ed Bartosh
6dd71217a8 wic: Make sure file exists before removing it
Bunch of os.remove calls were added to the partition.py lately.
They're causing wic to fail with OSError: [Errno 2] No such file or directory
if file doesn't exist.

Added check for file existence to all recently added calls of
os.remove. That should fix this regression.

(From OE-Core rev: 75162b05b5ad9aac307f7911caecb2b8a017acbf)

(From OE-Core rev: 41f08393643ceb2607cad44d2c485b3dc9da7ec9)

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-08-09 16:37:44 -07:00
Alexandre Belloni
417c86b42b wic: remove intermediate partitions
Remove intermediate partitions that may have been created by a previous
wic invocation. Those partitions are causing issues on some systems. In
particular vfat partition creation is hanging on mcopy execution on
Fedora.

(From OE-Core rev: 8d2587d87601a7ff0fad840dabc07d66363b2810)

(From OE-Core rev: 8bea23a89968db3d44b9fae2ceb242dfd89a4880)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:44 -07:00
Richard Purdie
ea9016b60b perf: Fix config file conflict with 4.1 kernels
If you setup mutlitlibs and then:

bitbake perf libb32-perf
bitbake perf libb32-perf -c cleansstate
bitbake perf libb32-perf

you will see races where the two builds get confused about which directory
they should be using and they corrupt each other.

The issue is that .config-detected is created in ${S}, not $(OUTPUT).
We can fix this by moving the file to $(OUTPUT).

[YCOTO #8043]

(From OE-Core rev: 00608cffffb586e8d2a2075117e710113c471448)

(From OE-Core rev: 57df1ebd910e42af47a0039830a60f41a3bd29b6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:44 -07:00
Bruce Ashfield
3b732f01c9 perf: fix build (and feature tests) for 4.1-rcX
The way that perf detects features has changed/moved via commit e6c76d620
[perf build: Move feature checks code under tools/build].

This code movement resulted in the definition of CC being dropped, and
in turn the passing of --sysroot not part of the build.

This results in feature tests failing with errors such as:

  In file included from test-pthread-attr-setaffinity-np.c:1:0:
  sysroots/x86_64-linux/usr/lib/x86_64-poky-linux/gcc/x86_64-poky-linux/4.9.2/include/stdint.h:9:26:
  fatal error: stdint.h: No such file or directory
  # include_next <stdint.h>
                          ^
  compilation terminated.

While the fix is going upstream, we can modify the perf recipe to add
the definition of CC into the Makefile, and we'll continue to work on
patched and unpatched kernels.

Upstream-status: Pending

(From OE-Core rev: 46f842039422aa35f62b03f11b648c02980ea1b1)

(From OE-Core rev: bff717cb51bfe4a5fb080ebfb6a5e9e0423855f3)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:44 -07:00
Kai Kang
f81b891959 volatile-binds: correct path of command umount
It calls /sbin/umount to stop service var-volatile-lib. But umount is
installed into directory /bin. Correct it.

(From OE-Core rev: 55851c6f389cb027496c96f6e0609c8892032e4d)

(From OE-Core rev: a56df1b057b6d77861ac73db6252472ca7e35d08)

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-08-09 16:37:43 -07:00
Martin Jansa
411a70dea3 connman-conf: fix SRC_URI_append
* add leading space so that it works even with some .bbappend adding
  additional files to SRC_URI without trailing space

(From OE-Core rev: 0f282f1d4946ac6e81959c66172c115405632a26)

(From OE-Core rev: a8dd5d64c2ff2fe8bb4d39260ed82f6bf0d0277f)

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-08-09 16:37:43 -07:00
Roy Li
4e224f3922 bootchart2: add runtime dependency
Bootchartd needs the command lsb_release and pidof to run, pidof maybe
provided by sysvinit or procpus;
To native bootchart2, only pybootchartgui is used, and which is not needed
both pidof and lsb_release

(From OE-Core rev: d0d641bf8cbf96d7c30dfcbdf2572d2709b56858)

(From OE-Core rev: a8f64210776ee2399d25c6249b4deb715938c4f9)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:43 -07:00
Chen Qi
2f2b0e8428 nfs-utils: fix to start nfs-server correctly in systemd
Add /etc/modules-load.d/nfsd.conf so that the system loads nfsd at start-up.

Add proc-fs-nfsd.mount systemd unit file because it's needed for nfs server
to start correctly.

After this change, in a systemd based image, we can use `systemctl start
nfs-server' to start the nfs server and things would work correctly.

(From OE-Core rev: 3d4380bb36eb108dc75fee7215b615f7800b0990)

(From OE-Core rev: 27633405aa3509c207d986b434d430f2cd380541)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:43 -07:00
Joshua Lock
c9f56848e0 systemd: fix immediate unmount of mountpoints not in fstab
Systemd 219 immediately unmounts any mounts which don't exist
in fstab. See FDo bug #89383:
https://bugs.freedesktop.org/show_bug.cgi?id=89383

Patch from Fedora:
http://pkgs.fedoraproject.org/cgit/systemd.git/commit/?h=f22&id=9bbe0e92dc59d5a42258c729b105a7d9901eb35e

(From OE-Core rev: a708514a58fd609b7f8c1a4bd4ab35902681f59b)

(From OE-Core rev: 0cd5a0d5445ff95a8ef4abe24fef705957935e81)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:43 -07:00
Thomas Perrot
d46acb9296 volatile-binds: Set S to prevent QA warning
Also need to correct the path to COPYING.MIT.

(From OE-Core rev: 4c46a6813772d8d35dd1432dbc59f9ff4b3bd074)

(From OE-Core rev: 82661c1cbc619956bb71fc2ee0f10b4048435414)

(From OE-Core rev: 8a861d4cf062591cf565ec42f3a356f2d0354fa0)

Signed-off-by: Thomas Perrot <thomas.perrot@tupi.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:43 -07:00
Thomas Perrot
ef7eb171a4 systemd-serialgetty: Set S to prevent QA warning
(From OE-Core rev: c3c240138a38799b611fcc695a51e0c188aa1327)

(From OE-Core rev: 344ed7576603a8202c08a6d28477ef43774a62a8)

(From OE-Core rev: 12d210928c12671dcc98d388f957455e6590c086)

Signed-off-by: Thomas Perrot <thomas.perrot@tupi.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:43 -07:00
Joshua Lock
65a51fe6bf wpa-supplicant: Apply fix CVE-2015-4142
The cherry-pick from the master branch added the patch file but didn't apply
it in the recipe.

(From OE-Core rev: 375674fa5f2534198036be60972d39e1e6793d3a)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-09 16:37:43 -07:00
Richard Purdie
08d3259041 dpkg: Fix for Fedora22 and new versions of tar
They managed to 'break' tar. Again. Sorry, they fixed a regression
which broke dpkg-deb.

The addition of:
http://git.savannah.gnu.org/cgit/tar.git/commit/?id=163e96a0e619a900eab6de827c7c5749ecc9d3f2
("Bugfix: entries read from the -T file did not get proper matching_flag.")
means that the no-recursion option gets lost. This leads to many files getting included
multiple times, along with files which shouldn't be there.

The commit message is horrendous. The patch actually makes the option positional
(as documnted since 2003) and therefore doesn't affect the input from the -T option.

Moving the --no-reursion option to earlier in the command avoids the bug.

The bug was not present in tar 1.28 however it has been backported in at least
Fedora 22 and heading into Fedora 21.

Redhat reports of issue:
https://bugzilla.redhat.com/show_bug.cgi?id=1230762 [tar]
https://bugzilla.redhat.com/show_bug.cgi?id=1241508 [dpkg]

Discussion of bug in upstream tar:
http://www.mail-archive.com/bug-tar@gnu.org/msg04799.html

[YOCTO #7988]

(From OE-Core rev: 6be698b7270f73f40d38713ecf13f12aec0ced61)

(From OE-Core rev: 1c916ddebc3009d3817359144b02745c3ecbd5c4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-27 12:25:42 +01:00
Jan Wetter
83aa565d93 openssl: upgrade to 1.0.2d
This upgrade fixes CVE-2015-1793
Removed openssl-fix-link.patch. The linking issue has been fixed in openssl.

(From OE-Core master rev: 631632addbc81b06b7accfca8f8a9871d6b09111)

(From OE-Core rev: 7b151426fb8a69cfdd25b7f1de2b506cbcffcac6)

Signed-off-by: Jan Wetter <jan.wetter@mikrom.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-15 15:25:40 +01:00
Roy Li
0b506a72f4 openssl: upgrade to 1.0.2c
upgrade to fix the CVE: CVE-2015-1788..CVE-2015-1792 and CVE-2014-8176
remove a backport patch
update the c_rehash-compat.patch

(From OE-Core master rev: 5a70e45b8c6cb0fa7ea4fe1b326ad604508d00cb)

(From OE-Core rev: 7bc77f508a6ba6a409568be818a1795770261dc6)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-15 15:25:40 +01:00
Roy Li
ee88b51cf2 unzip: drop 12-cve-2014-9636-test-compr-eb.patch
12-cve-2014-9636-test-compr-eb.patch is same as unzip-6.0_overflow3.diff,
is to fix CVE-2014-9636

(From OE-Core rev: 43cc77f6dd1615ec6797a159647a1ad677c1df23)

(From OE-Core rev: 0a849983d066cd1beee64cef94b2c8421275b45c)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:17 +01:00
Roy Li
3773a7d16c unzip: fix four CVE defects
Port four patches from unzip_6.0-8+deb7u2.debian.tar.gz to fix:
     cve-2014-8139
     cve-2014-8140
     cve-2014-8141
     cve-2014-9636

(From OE-Core rev: 2bf9165f5db5edd946a064dc5e877f97817dbae0)

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-07-08 13:07:17 +01:00
Richard Purdie
e4453c98bd oeqa/bbtests: Fix to ensure DL_DIR is set
write_config overwrites the config rather than appends to it, so
ensure we write both variables in one go.

(From OE-Core rev: c94ba6160d5965d4d2071154b43112eb87f4c898)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:17 +01:00
Richard Purdie
23c8b861d1 oeqa/bbtests: Fix race over DL_DIR and SSTATE_DIR
Running "-c cleanall" on shared DL_DIR and SSTATE_DIR is antisocial.
It leads to hard to debug races where we wonder why files disappear
and reappear from those directories.

Fix this by using a specific set of directories for these tests. This
avoids a long standing bug on the autobuilder where aspell and man
sources would disappear.

[YOCTO #6276]

(From OE-Core rev: 6b089c4a79dc3aae00c8a6e7ab0f6ba4b4b5f138)

(From OE-Core rev: f1447c256e027553442cf507e217323f7868000c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:17 +01:00
Mariano Lopez
a77d2cc81c report-error.bbclass: Added file syncronization.
errorreport_handler would fail if several errors are
triggered at the same time because of two proccess
writting to the same file. This patch add the required
syncronization to handle concurrent process.

[YP #7899]

(From OE-Core rev: c7bff5e7fdd2cbf6f22bfe9a74ceb6e19ef3b5d8)

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-07-08 13:07:17 +01:00
Saul Wold
43969db1c7 rootfs.py: Add check for kernel modules before running depmod
Add a check for kernel modules so we don't un-necessarily run the depmods, this
will also handle the case with linux-dummy does not place the kernel-abiversion
since it also does not have kernel modules.

[YOCTO #7884]

(From OE-Core rev: 2b87991be82f4bcf76f8cc3a79bcefc225bae8ba)

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-07-08 13:07:16 +01:00
fan.xin
8f8327d99b wpa-supplicant: Fix CVE-2015-4142
wpa-supplicant: backport patch to fix CVE-2015-4142

Backport patch to fix CVE-2015-4142. This patch is originally from:

http://w1.fi/security/2015-3/0001-AP-WMM-Fix-integer-underflow-in-WMM-Action-frame-par.patch

(From OE-Core rev: 61f2a6a18dcda22d7b0e236f9150674bff2764a7)

(From OE-Core rev: 844eecf6fdb6c1a835e5c85ba5496ac9182f503b)

Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:16 +01:00
Paul Eggleton
08607f7864 oe-selftest: devtool: fix test_devtool_update_recipe_git
Make this test work after recent changes to the mtd-utils recipe, and
hopefully make it robust against any future changes.

(From OE-Core rev: 5be62624a6537659f9f6229c82762da45909f902)

(From OE-Core rev: fd4b4390af0bcbfdaee0d4ddbc6766d7775c52d0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:16 +01:00
Khem Raj
2468978cb4 mtd-utils: update to latest and fix static inlining
use static storage class instead of extern for inline functions
and remove duplicate definitions as a result

Change-Id: I72e8c5f19dff656c18f719d1e9e2ca697c9a856f
(From OE-Core rev: 1a9d92b9891c06ede91af05d516a429e1f81777d)

(From OE-Core rev: efada40a7a785446f9c46aa8a7d0e1c7407376e9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:16 +01:00
Khem Raj
5bda039a8e u-boot-mkimage: Backport fix from upstream to fix build with gcc-5
Change-Id: I5322f1ff8653009b45ddee1a2d3a0d96584d3327
(From OE-Core rev: 54fc9c0d1cc5cafa44e4b392ef087900e4102464)

(From OE-Core rev: 4de87a731b71a1764ec53ff2782c184a69638fc0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:16 +01:00
Andreas Oberritter
8fd70a3d70 gdb: Add missing runtime dependency for python option
With python enabled, gdb refuses to start without core
python modules:

| Could not find platform independent libraries <prefix>
| Could not find platform dependent libraries <exec_prefix>
| Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
| ImportError: No module named site

It also complains if python-codecs is missing.

(From OE-Core rev: 646adb4d90030970f6e2136f65b51b3c8b0c9d5c)

(From OE-Core rev: c1c2c9c7f20b289928c94beb7adfe03f03c4b64e)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
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-07-08 13:07:16 +01:00
Kang Kai
0e2c483f7d gst-plugins-bad: fix CVE-2015-0797
Backport patch from debian to fix CVE-2015-0797.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784220
https://sources.debian.net/data/main/g/gst-plugins-bad0.10/0.10.23-7.1+deb7u2/debian/patches/buffer-overflow-mp4.patch

Backported to oe-core fido from meta-oe/meta-multimedia:

http://git.openembedded.org/meta-openembedded/commit/?id=6cb3b63559bf33946f1c5d43626413d9a651e83f

(From OE-Core rev: 7aa1090d22459bff1159f8193b60166a079d5bd6)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:16 +01:00
Andre McCurdy
010a940ba1 gnutls: use pkg-config to locate zlib
AC_LIB_HAVE_LINKFLAGS can sometimes find host libs and is therefore not
robust when cross-compiling. Remove it for zlib and use PKG_CHECK_MODULES
instead.

(From OE-Core rev: 78a0e916882a747c267808c08ab8bc615198b5a8)

(From OE-Core rev: aaeacca50808e12eb81a373972c802d3f01c01af)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:15 +01:00
Richard Purdie
5977435538 lib/devtool/standard: Fix patch cleanup
If patches fail to apply with git, quilt it used as a fallback. If that
happens, the code in this class is meant to handle cleanup of these patch
files. In the case where ${S} is a subdir of the git tree, the code doesn't
correctly set the patches directory.

This change correctly sets the patches directory (which is different to the
location of the git repository).

[YOCTO #7911]

(From OE-Core master rev: de6e0f3af5e858960676ea291036e59105fd806f)

(From OE-Core rev: 03dbc60c165a511894d1ae10ac1d90c1fadcc268)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:15 +01:00
Saul Wold
5cdbf0ad06 binutils: Add -momit-lock-prefix support
This patch is needed for certain cpus and has been accepted into upstream

(From OE-Core rev: 3371b42a4ac5becb063157f1b258918601211ebf)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:15 +01:00
Richard Purdie
33973cd841 lib/oe/patch: Fix git patch application for source in subdirectory
Similarly to:
http://git.yoctoproject.org/cgit.cgi/poky/commit/meta/lib/oe/patch.py?id=f205ccaf48ac36f4b26efc4aeb2e9d2939b28646
we need to fix patch application for source which is in a subdirectory.

Passing "." as the git directory or work-dir appears to work (or is ignored)
in some versions of git but does not work in others, probably quite correctly.

Since we have reporoot from the above patch, pass this in directly.

This bug caused this sanity test failure on some machines:

FAIL: test_devtool_modify_git (oeqa.selftest.devtool.DevtoolTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/devtool.py", line 390, in test_devtool_modify_git
    self.assertEqual(result.output.strip(), "", 'Created git repo is not clean')
AssertionError: '?? util/mkelfImage/patches/' != '' : Created git repo is not clean

since git apply would fail, it would then fall back to quilt
and the git tree would be left unclean.

[YOCTO #7911]

(From OE-Core rev: 91d76e632336d6af96f24bcf92be25f41a216856)

(From OE-Core rev: e35e40c95a067376634d7b019f4c1d3db724ceae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:15 +01:00
Richard Purdie
cfb195ae80 oeqa/parselogs: Whitelist qemumips64 runtime error
Similarly to qemumips, ignore these errors upon bootup so that
we have a good QA baseline for new errors.

(From OE-Core rev: bb404d1727e6744e52d01d3c52bef3266bd3d1ac)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:15 +01:00
Richard Purdie
55eee7ae3c testimage: Don't test xorg/vnc on qemuarm64
The qemuarm64 machine doesn't have graphics so don't test xorg/vnc
as they won't work.

[YOCTO #7103]

(From OE-Core rev: 89f085fcabbacf524bfa84328e41fd95492f1ffa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:15 +01:00
Richard Purdie
0ece3d8ab5 oeqa/parselogs: Whitelist qemuarm64 runtime errors
The qemuarm64 machine doesn't have graphics so whitelist the
X server failures to start.

(From OE-Core rev: 716d4a3525d19a15f5506c4ceff80fa5b4f55342)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 13:07:14 +01:00
Leonardo Sandoval
1137495bbd terminal.py: Allow devshell/menuconfig on recent gnome-terminal
Recent versions of gnome-terminal does not support non-UTF8 charset:
https://bugzilla.gnome.org/show_bug.cgi?id=732127 as a result, devshell and
menuconfig tasks silently hang  (error found on trace log of 'strace -f -v
-s 8192 -e write=2 bitbake -c devshell quilt-native': "Non UTF-8 locale
(ANSI_X3.4-1968) is not supported!"). As a workaround, clearing the LC_ALL
environment variable so it uses the locale. Once fixed on the gnome-terminal
project, this should be removed.

Tested on gnome-terminal versions:

       GNOME Terminal 3.4.1.1
       GNOME Terminal 3.14.2 (Default on Ubuntu 15.04)

[YOCTO #7791]

(From OE-Core rev: e0807cdfaa8bcb7cbf08386c3696883a7df26f46)

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-07-08 13:07:14 +01:00
Richard Purdie
58b038b778 bitbake: cooker: Fire BuildCompleted before finishing the command
Some handlers hook on BuildComplete so it avoids certain event races
to finish the command after the BuildComplete event is sent out.

This means the UI is available to handle events until the command
completes.

What appears to be a race on one of the sanity tests for event handlers
triggered this change although the failure is hard to reproduce.

[YOCTO #7921]

(Bitbake rev: ac66fac162e68b568f986fe1917772e61c982f8e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-29 09:49:12 +01:00
Richard Purdie
f6430d42b4 subversion: Fix subversion-native on Fedora22
Similarly to:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=9b19d6548a345009a6de79a6820c07a72054d961

we also need to fix the subversion-native case with gcc5 by using
the same fix to the BUILD_CPPFLAGS.

(From OE-Core rev: a5e7a1e597e7bbe3bbc547f43a89d00a8a9a9924)

(From OE-Core rev: 7d445547df528aa9e5bfb85568a7270e27f633ef)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:45:42 +01:00
Khem Raj
b24aeb7b42 subversion: Add -P to CPPFLAGS
see https://gcc.gnu.org/gcc-5/porting_to.html

we need to stop the preprocessor from generating the #line directives
or we run into issues like

| checking for apr_int64_t Python/C API format string...
| configure: error: failed to recognize APR_INT64_T_FMT on this platform
| Configure failed. The contents of all config.log files follows to aid
debugging
| ERROR: oe_runconf failed

Rightly subversion should be fixed but lets leave that to subversion
folks

Change-Id: I02a89798ff949f79967ab0a73adcddaa4218662d
(From OE-Core rev: 7793b1c425077ed6ed11a9bc2a8b1b96612b1c96)

(From OE-Core rev: a240d28492f05c22198dd4b20c11c0d510f0c897)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:45:42 +01:00
Chen Qi
1cd4b260b5 bitbake: bitbake-diffsigs: consider the situation where sigdata and siginfo files having the same hash values
For now, `bitbake-diffsigs -t <recipe> <task>' doesn't work. It always outputs
nothing.

The problem is that bitbake-diffsigs are comparing sigdata and siginfo files
that have the same hash value. This is not what we want. These two files are
actually duplicates considering the purpose of bitbake-diffsigs. So we need
to remove one of them so that bitbake-diffsigs could actually compare the
correct signature files.

(Bitbake rev: e14873d6847fae8abd3baf4bdc804d52d3b0c4f5)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:19 +01:00
Marcin Smoczyński
5ce20aeb02 bitbake: fetch/git: Fix uri in git checkstatus
Pass proper repository url without arguments after a semicolon.

Executing checkuri on a rule with git repository in SRC_URI does
not report errors when working offline because wrong repository
url is passed to the ls-remote command. For example
"bitbake -c checkuri glibc" command executes:
"git -c core.fsyncobjectfiles=0 ls-remote git://sourceware.org/git/glibc.git;branch=release/2.21/master"
command in a shell subprocess to determine if url is valid.
Shell subprocess executes in fact 2 commands:
"git -c core.fsyncobjectfiles=0 ls-remote git://sourceware.org/git/glibc.git"
and
"branch=release/2.21/master"

First one returns 127 or 128 depending on error but second one
returns 0 because it is just env variable setup. Therefore we're not catching
connection error.

[YOCTO #7558]

(Bitbake rev: cb8224f0c73c06879783665e2de39ecca7f6a350)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:19 +01:00
Jagadeesh Krishnanjanappa
9c245f1d79 runqemu-internal: set mutual exclusiveness for serial and nographic options
Use "-nographic" option only if "serial" option is not
specified. Otherwise we get below error when
'runqemu <kernel_image> <rootfs_image> serial' is executed,

(snip)
QEMU 2.2.0 monitor - type 'help' for more information
(qemu) qemu-system-aarch64: -serial stdio: cannot use stdio by multiple
character devices
-- CUT --

(From OE-Core rev: 8b0527951ab71c4a4dc4d1238cd9e9e60a6eb5ee)

(From OE-Core rev: c3a44794de957b216aaea19da371657194c86fc3)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:19 +01:00
Jagadeesh Krishnanjanappa
d3959f672a runqemu-script: define console for qemuarm NFS booting
Add console=ttyAMA0,115200 as one of the boot parameters
for qemuarm, in order to print bootlog messages on the
console.

(From OE-Core rev: 2d2db8f517ea719f097c957559175a07ecee82ad)

(From OE-Core rev: 7113153c50e0d9bb04c6b422be2c75152f3105c9)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:19 +01:00
Jagadeesh Krishnanjanappa
e9c47914f2 runqemu-internal: add support to boot arm64 qemu target via NFS
Add required boot parameters inorder to boot arm64 qemu
target via NFS

(From OE-Core rev: 0b614317b38b933a4845cd006b0ad734adfa559d)

(From OE-Core rev: 4311b8f59b2a551f2928a4705d4e85901a39995e)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:19 +01:00
Jagadeesh Krishnanjanappa
fed3899694 runqemu: fix MACHINE being detected as qemuarm for qemuarm64 kernel image
Basically, runqemu script autodetects MACHINE type based on the
kernel image name; if MACHINE name is not specified. Since 'qemuarm'
string is common in both qemuarm amnd qemuarm64 kernel image names, the
MACHINE type is considered as 'qemuarm' even when qemuarm64 kernel
image name is given in command line.

(From OE-Core rev: 388b243668a5c28fb69b760ce9be5adbc85352d8)

(From OE-Core rev: eeae1fb7afd30174616cfec6204b4c97c94879ca)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:19 +01:00
Aníbal Limón
6ae42d8851 classes/license.bbclass: Improve generic license copy validation.
Remove + char in any position for cover cases when license has
the form like GPL-2.0+-with-OpenSSL-exception.

[YOCTO #7584]

(From OE-Core rev: 9cff9d4e8c8ca7d6f41c4df16e484087213ae990)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:18 +01:00
Alejandro Hernandez
f76f0555b9 python3-ctypes: Fix cross compilation for arm targets
When cross compiling for arm targets ctypes compilation fails because
it uses _sysconfigdata from the HOST, this patches makes it use the
one from TARGET fixing compilation of this module

[YOCTO #7873]

(From OE-Core rev: a676ee838aae1ac05fa6542d1b0791d61ff9f05f)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Jonas Göransson <jonas.goransson@qmatic.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:18 +01:00
Jussi Kukkonen
affbc3f649 dbus: CVE-2015-0245: prevent forged ActivationFailure
Fix CVE-2015-0245 by preventing non-root and non-systemd processes
from fooling the dbus daemon into thinking systemd service activation
failed.

(From OE-Core rev: 961aaa50ed363a680b08be77a44ac13ce984b2f3)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:18 +01:00
Mark Hatle
919c7bf5c6 rpm: Fix lua 'print' statement capture
The print statement should capture the output and send it to the script
processing engine, and not display it directly to the screen.

Note, this is only a bug if 'lua' support has been enabled in the RPM
recipe's PACKAGECONFIG.

This patch is from: http://rpm5.org/cvs/patchset?cn=17671

(From OE-Core rev: 6bc0e8207d0e7b1d6f2eac8ed1b75a3fd9fab87b)

(From OE-Core rev: 7d4230b7eb7aa09087a6267dd6e686f713ac6f72)

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-06-28 09:44:18 +01:00
Leonardo Sandoval
e4f3e5440b rpm: Fix CVE-2013-6435
Backport to fix CVE-2013-6435. Description on [1] and original
patch taken from [2].

[1] https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2013-6435
[2] https://bugzilla.redhat.com/attachment.cgi?id=956207

[YOCTO #7181]

(From OE-Core rev: 6bf846ed5ccd1a4d01b36630708b2b9aa9e69ed5)

(From OE-Core rev: 0e26cd974a97f5a8543cb4153a83d1fa977a3468)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:18 +01:00
Leonardo Sandoval
274d571316 rpm: Fix CVE-2014-8118
Backport patch to fix CVE-2014-8118. Description is on [1] and
original patch taken from [2].

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1168715
[2] https://bugzilla.redhat.com/attachment.cgi?id=962159

[YOCTO #7181]

(From OE-Core rev: 0a1f924157cb75d0f67cf534762c89dc8656d352)

(From OE-Core rev: e90be120d2751ac95c88abf7ba7bcac2c8fe7d0b)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:18 +01:00
Roy Li
f3324915ff babeltrace: Fix invalid pointer free with trace collection
This fixed the bug https://bugs.lttng.org/issues/790

(From OE-Core rev: 8152bcadba8581f75822b75e13c2a43dd6464cd3)

(From OE-Core rev: 8a406a67704bc81c104c18581ba11c5e99a7e0ca)

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-06-28 09:44:18 +01:00
Alejandro Hernandez
e834984ce7 distutils: regenerate pyc files after being modified by sed
py files are edited by sed and therefore *.pyc files are recreated on first boot, but if you have a read-only filesystem this is not possible. This patch creates pyc files directly after the py files are modified.

[YOCTO #7722]

(From OE-Core rev: a0460ac8a2595d4b064b483ca1f282a255ae6411)

(From OE-Core rev: 46e9e59510e19a3ab22bdeb09f3de7bac1030f38)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Thomas Roos <roosesweb@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:18 +01:00
Joshua Lock
aa88803046 distutils-common-base: add to, don't set, FILES_${PN}
If we set FILES_${PN} and a recipe inherits other classes that
modify FILES_${PN} *before* distutils-common-base is included, any
changes to FILES_${PN} made by those classes are lost.

Instead, append the additional directories we want to include in
FILES_${PN}

(From OE-Core rev: f6478e8c73f9cfb79d1f7680b7bf3ff957eb51cb)

(From OE-Core rev: 3e5ecb970eec3ba3199d2fc2a336d310f072594c)

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-06-28 09:44:17 +01:00
Richard Purdie
903cf70f3a wayland: Fix hardlink corruption issue
The way this code was working, the m4 file is hardlinked to the
copies which would be packaged and could lead to the native m4
file being used in the target packages.

By removing the file first the hardlink is broken and this avoids
corruption (since cp uses open to change the file contents).

(From OE-Core rev: 8f3be1925b9da20526a722149b03f697247ea1bf)

(From OE-Core rev: 2ac51bcace97d16ca678d85e0100611fecfd818c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:17 +01:00
Yue Tao
8045026d49 libxml2: Security Advisory - libxml2 - CVE-2015-1819
for CVE-2015-1819 Enforce the reader to run in constant memory

(From OE-Core rev: 9e67d8ae592a37d7c92d6566466b09c83e9ec6a7)

(From OE-Core rev: d1288821b709f47f48bbdb6764f1a35bf2589de7)

Signed-off-by: Yue Tao <Yue.Tao@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-06-28 09:44:17 +01:00
Krishnanjanappa, Jagadeesh
60836f602a valgrind: add configure option to build only 32-bit or 64-bit components
Building both 32-bit and 64-bit binaries in valgrind at a time would
lead to following QA issue as below,

(snip)
 ERROR: QA Issue: Architecture did not match (62 to 3) on ${WORKDIR}/valgrind/3.10.1-r0/packages-split/valgrind-dbg/usr/lib64/valgrind/.debug/vgpreload_exp-sgcheck-x86-linux.so
 ERROR: QA Issue: Architecture did not match (62 to 3) on ${WORKDIR}/valgrind/3.10.1-r0/packages-split/valgrind-dbg/usr/lib64/valgrind/.debug/getoff-x86-linux
 ERROR: QA Issue: Architecture did not match (62 to 3) on ${WORKDIR}/valgrind/3.10.1-r0/packages-split/valgrind-dbg/usr/lib64/valgrind/.debug/vgpreload_core-x86-linux.so
 ERROR: QA Issue: Architecture did not match (62 to 3) on ${WORKDIR}/valgrind/3.10.1-r0/packages-split/valgrind-dbg/usr/lib64/valgrind/.debug/vgpreload_memcheck-x86-linux.so
-- CUT --

hence perform only one type of build 32-bit or 64-bit, but not both.

(From OE-Core rev: 53afa26655d0b5f75ef2dd6bccef76281a14655c)

(From OE-Core rev: cc79ca38c6f8af4f47fb1e466a836bc8764cd938)

Signed-off-by: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:17 +01:00
Khem Raj
179c17970a grub: Backport const qualifier fix for gcc-5
gcc-5 is stricter and complains about const to non-const
conversions, we backport the patch from upstream into 2.00

Change-Id: I17db365fdd253daaa1ab726e2a70ecad0ac7b2ae
(From OE-Core rev: ea3d48471db19a2432e4afd86df8caad51ee5166)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:17 +01:00
Martin Stolpe
e118d980da ncurses: fix native builds when host has gcc5
GCC"s preprocessor starts to add newlines which are not
handled properly by ncurses build system startin from
version 5.0.

See also: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7870

(From OE-Core rev: 3a5435b371c84ec28b6936b8c8fa6541a592d061)

Signed-off-by: Martin Stolpe <martin.stolpe@gmail.com>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:17 +01:00
George McCollister
45d0819daf binutils: fix native builds when host has gcc5
Cherry pick upstream commit to fix -Werror=logical-not-parentheses error
when building with native gcc5.

(From OE-Core rev: b3bd0dba3139a3e79bfcebe137248c7bdcadf04d)

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:17 +01:00
Kai Kang
4acf353ffd qt4: fix CVE issues
Backport patches to fix qt4 CVE issues:

* CVE-2015-1858
* CVE-2015-1859
* CVE-2015-1860

(From OE-Core rev: e57a090d8f806f55b99649e072b4d2dde6f036ee)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:17 +01:00
Aníbal Limón
4dd8c7e805 license_class: Add explicity avoid of CLOSED license in validations
The CLOSED license isn't a generic license it is a set and can
be any closed source license.

[YOCTO #7752]

(From OE-Core rev: 56c673af4363a9c690eabff8b1fdaa202efb95ce)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:16 +01:00
Robert Yang
a8d4f5cd2b libpostproc: pass correct libdir
When MACHINE=qemux86-64 and enable multilib:
ERROR: QA Issue: libpostproc: Files/directories were installed but not shipped in any package:
  /usr/lib
  /usr/lib/libpostproc.so.52.3.0
  /usr/lib/libpostproc.so
  /usr/lib/libpostproc.so.52
  /usr/lib/.debug
  /usr/lib/.debug/libpostproc.so.52.3.0
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. [installed-vs-shipped]

Pass the right libdir to configure as otherwise it assumes $prefix/lib
which may be wrong.

(From OE-Core rev: 7cb4ca779a01c3ce935682373fe2a5b02abc91a2)

(From OE-Core rev: 0dc77f11553b5d50cb186f2cc00df28ecea07bb6)

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-06-28 09:44:16 +01:00
Lei Maohui
3716298102 cracklib:Fix an error in the patch
To fix an error in the patch.Otherwise,the dictionary would be wrong.

(From OE-Core rev: 8670b99b06ce14ed391b4713d7887af90d44a2c8)

(From OE-Core rev: 6dde232fc4943ddb55e8d895610afc39e92526d6)

Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:16 +01:00
Robert Yang
ed010c7a38 sysstat: DEPENDS on base-passwd
Fixed:
| install -m 644 -g man man/sa1.8 /path/to/tmp/work/i586-poky-linux/sysstat/11.1.4-r0/image/usr/share/man/man8
| install: invalid group `man'

(From OE-Core rev: 153c3dd4d4c5eab52b953901fb6bc681c349a710)

(From OE-Core rev: ddaedc9fe601469cdd5bf9e87754e8a4aa549081)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:16 +01:00
Robert Yang
3746f83469 gstreamer1.0-libav: fix build for i586 with gcc
Backport a patch from debian to fix the build for i586 with gcc, the
patch is similar to libav's
workaround-to-build-libav-for-i586-with-gcc.patch.

(From OE-Core rev: 186df51c49987b44bfcf21d133ad9fe80f0790bb)

(From OE-Core rev: 99ce2b9624f35f0e775dc9559b04322ae8e08bfc)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:16 +01:00
Dave Lerner
4a2af0eaa9 valgrind: remove arm tests that don't compile
[Yocto #7453]

Corrects the original commit for the patch that removed ARM ptest CFLAGS
settings. Since the flags could be set by a user, the flags should
be kept in place during compilation.  By keeping the original up-stream
CFLAGS for the tests, then additional tests successfully compile
for all tested ARM tunings.

However, there were still two tests listed below that did not compile
for any beaglebone tuning that is valid for valgrind. With the updated
patch, the set of excluded ARM ptests and their respective build
failures are:
  intdiv - fails for all beaglebone tunings with 2 errors:
  {standard input}:(40 or 41): Error: selected processor does not
       support Thumb mode `udiv r3,r9,r10'
  {standard input}:(72 or 73): Error: selected processor does not
       support Thumb mode `sdiv r3,r9,r10'

  vcvt_fixed_float_VFP - fails for all beaglebone tunings in one of
  two ways:
    with neon tuning (-mfpu=neon) fails with Internal Compiler Error
    without neon tuning fails with 3 errors:
    {standard input}:33: Error: selected FPU does not support
      instruction -- `vcvt.f32.s32 s15,s15,#1'
    {standard input}:58: Error: selected FPU does not support
      instruction -- `vcvt.f32.s32 s15,s15,#32'
    {standard input}:136: Error: selected FPU does not support
      instruction -- `vcvt.f32.u32 s15,s15,#1'

After applying this commit, the valgrind ARM ptests compile without
errors for tunings:
  armv7[t][hf][b][-neon] cortexa8[t][hf][-neon]
where the tuning [option] was successfully compiled, both with
and without the 'option', and in combination with all other options.

(From OE-Core rev: 2fb0edcb47a14e47780d545f60885b36e71fca71)

(From OE-Core rev: 132886498816f6407416196fd5ccf8d1b8c589ab)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:16 +01:00
Yue Tao
c75869a7f8 libsndfile: Security Advisory - libsndfile - CVE-2014-9496
Backport two commits from libsndfile upstream to fix a segfault and
two potential buffer overflows.

(From OE-Core rev: 9907e20868397a9823cc1e755ee1b697da6be2f3)

(From OE-Core rev: 82b481afc21604603b9c2d6c6b4c428d445cad92)

Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:16 +01:00
Richard Purdie
d31b9e6326 soc-family.inc: Add a default SOC_FAMILY value
Otherwise, if MACHINEOVERRIDES is expanded before SOC_FAMILY is set
(which may happen as MACHINEOVERRIDES is included in OVERRIDES) we can
see:

ExpansionError: Failure expanding variable MACHINEOVERRIDES, expression was
${@['', '${SOC_FAMILY}:']['${SOC_FAMILY}' != '']}p1022ds
which triggered exception SyntaxError: EOL while scanning string literal (MACHINEOVERRIDES, line 1)

To avoid this, give SOC_FAMILY a default empty value so it doesn't
get read as None.

(From OE-Core rev: dee005b6e1bc353230f9f27a469b2054a644e542)

(From OE-Core rev: 7c763846bca4347d6b9e8cc388ad075f00123235)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:16 +01:00
Richard Purdie
20eab30866 base: Fix license checksum rebuild problems
"MACHINE=qemux86-64 bitbake init-ifupdown; MACHINE=genericx86-64 bitbake init-ifupdown"
shows a rebuild when it would be expected. The reason is a LIC_FILES_CHKSUM which
contains file://${WORKDIR}, an absolute path which doesn't exist in the first build
but does in the second, causing a signature change and a rebuild.

Fix the problem by ignoring any file:// url which resolves since TMPDIR for
license file dependency purposes.

(From OE-Core rev: f27ddf0de23871fc72cfc31f514f0e144aaa2082)

(From OE-Core rev: d88bb3759c36f2a30550529468c8a8c511b1661c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:15 +01:00
Paul Eggleton
d7f6451ad1 oe-selftest: devtool: add a proper test to see if tap devices exist
Check up front in test_devtool_deploy_target whether the tap devices
exist and skip if not. If we don't do this we get a significantly less
comprehensible error via pexpect.

(From OE-Core master rev: 2258345e19efff7717fe19a5026ec55f1b6f90b6)

(From OE-Core rev: cdad3ea375590f6fa9330f481b6712681ad00cd2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:15 +01:00
Paul Eggleton
520c455b83 devtool: if workspace layer exists, still ensure it's in bblayers.conf
When we run devtool, if the workspace layer already exists but isn't in
bblayers.conf (perhaps because it was previously created but
subsequently removed from bblayers.conf by the user) then we should add
it and notify the user, otherwise devtool operations won't work.

(From OE-Core master rev: 313b622a6c6613092ed18a2158e090521344f6c0)

(From OE-Core rev: 2904c1130ea7cc1abde0609f1ba1394e0f31a6fa)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:15 +01:00
Paul Eggleton
b317d79fb7 devtool: fix build env command execution error handling
If we execute an external command, we ought to prepare for the
possibility that it can fail and handle the failure appropriately. We
can especially expect this to happen when running bitbake in this
scenario. Ensure we return the appropriate exit code to the calling
process.

Fixes [YOCTO #7757].

(From OE-Core master rev: 98a716d79bfc5434a5b42d3ca683eab3eea30a41)

(From OE-Core rev: 2791fe9236f7173e6b998cf9b40fe238566ed8ee)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:15 +01:00
Paul Eggleton
8c9551a7a3 recipetool: ensure git clone is standalone when extracting
If -x is specified and the specified URI was a git repository, we need
to ensure that the resulting clone is a sandalone and not one that has
pointers into the temporary fetch location or DL_DIR (since the git
fetcher does a local clone with -s). Split out the code from devtool
that already does this for "devtool modify -x" and reuse that.

(From OE-Core master rev: fc47e8652ef32e7399f57c80593df90dc52d8b84)

(From OE-Core rev: d8f151b6a385f81abead65624ba15d42cbd90e11)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:15 +01:00
Paul Eggleton
6bc56e634a recipetool: avoid second-level subdir when extracting
When -x was specified, we were getting the normal unpack subdirectory
which we don't really want - if there's only one subdirectory unpacked
then we should effectively copy just it to the extraction path, not as a
subdirectory under it.

(From OE-Core master rev: 0eeecce96a0aa757c2c4c4ac4d82e3bcbf0f982c)

(From OE-Core rev: 3378c932570ba2301cd02103225fcf7629de656f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:15 +01:00
Paul Eggleton
f64d73f8c4 devtool: update-recipe: check if source tree is a git repository
If you've done "devtool add" (or "devtool modify" without -x) then it's
possible that the external source tree is not a git repository, so we
should handle that case here instead of printing a traceback.

(From OE-Core master rev: eb2147aa8facd4ef33a0749e9ae660ec686dad48)

(From OE-Core rev: c5dc3e819c1bb224e3cb667381faa5abf1888362)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:14 +01:00
Paul Eggleton
f1d3b5f185 devtool: update-recipe: handle unversioned bbappends
Use the proper bbappend file name, don't just assume it will have a
version suffix (because it won't if the original recipe doesn't).

Fixes [YOCTO #7651].

(From OE-Core master rev: 3332d68ef7b2a300ce8dcf5021497d98e5b17baa)

(From OE-Core rev: 3d5ea16a1f53c12d86c4e8df6af864964541cf02)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:14 +01:00
Paul Eggleton
d1b6e1dfdb devtool: add: use correct bbappend file name with -V option
We weren't adding the version into the bbappend file name when -V was
specified which meant that building or resetting failed.

Also adjust one of the tests so that we're testing devtool add both with
and without this option.

Fixes [YOCTO #7647].

(From OE-Core master rev: bdbeff0cd342e31053d7203d78fc5dda611052b1)

(From OE-Core rev: 0b9e8817fc8ba375a1045a66d04b3fd2b498427b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:14 +01:00
Paul Eggleton
2bc3328b8b devtool: handle . in recipe name
Names such as glib-2.0 are valid (and used) recipe names, so we need to
support them.

Fixes [YOCTO #7643].

(From OE-Core master rev: b9fd8d4d4dfae72de2e81e9b14de072e12cecdcf)

(From OE-Core rev: 36df1bb9bb3c92d096118b74fdf11a243be3f7d5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:14 +01:00
Markus Lehtonen
d768a80391 devtool: include bbappends in recipe parsing
In order to get correct metadata, SRCREV for example.

Fixes [YOCTO #7648].

(From OE-Core master rev: 8b1794559dd7fd956716179d628e61cffdce1686)

(From OE-Core rev: becbd5d50a091fe4a980361d9c99efa01f43edcc)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:14 +01:00
Markus Lehtonen
66dd73d1d1 devtool: modify: implement --no-same-dir
This option can be used to have a separate build directory, in order to
keep the srctree directory clean for packages that do not need to be
built in the source directory.

(From OE-Core master rev: 5cc348c0a3016e4ccc1e80d099e2e197b3b38bd2)

(From OE-Core rev: a7316a4c564901b30af740ece6631a6f68355bb4)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:14 +01:00
Markus Lehtonen
eabd7359d1 devtool: modify: use B=S if that is the default for the recipe
Makes the build succeed for packages which do not support separate build
directory, e.g. zlib. The same outcome could be achieved with the
--same-dir option, but, it's generally hard to tell if a random package
would need that option. The negative side effect of this patch is that
dev srctree (of some packages that build fine without this modification)
gets dirtied by build artefacts.

(From OE-Core master rev: 6ac5692426956e276ba2119f917b0f30791e6cd6)

(From OE-Core rev: 97078c56e8b8a235e923d964253775e20112a36f)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Acked-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:14 +01:00
Markus Lehtonen
af86c079dd devtool: call parse_recipe with correct arguments
Give the correct data object ("config data" instead of "recipe data") as
an argument to oe.recipeutils.patch_recipe()

Fixes [YOCTO #7595]

(From OE-Core master rev: 7d2b918019b0afe215a6489dad697afac34f73e9)

(From OE-Core rev: f8427fe565e44e46246146bdaae66a5d83ae8c9d)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:14 +01:00
Roy Li
a8d1d48cba rsync: backport a patch to fix CVE-2014-8242
(From OE-Core rev: 81d06ef0a566793e644686ec604ad7d46546d2b0)

(From OE-Core rev: 2ebf9ad9791e4b38465bfc456aac1d6009078d82)

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-06-28 09:44:13 +01:00
Andre McCurdy
34afb7cb38 glibc: Fix __memcpy_chk on non-SSE2 CPUs
Backport from upstream glibc:

  https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=132a1328eccd20621b77f7810eebbeec0a1af187

Note that the fix is only required when glibc is built for i686/multiarch,
so is not applicable in the default oe-core x86 configuration (which builds
glibc for i586 and therefore does not include SSE2 optimised memcpy etc).

(From OE-Core rev: e643b9bc4c459ea8b59573cf67f2494388e7a377)

(From OE-Core rev: 38b0095c3a3416725ef5f19ab940e84f45a8a01a)

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-06-28 09:44:13 +01:00
Martin Jansa
606a6d36de squashfs-tools: build and install unsquashfs as well
* it's useful for debugging corrupt squashfs images from mksquashfs

(From OE-Core rev: af3c9bbf2db5a712f63145697d045d2f1ddce271)

(From OE-Core rev: 07961604732405c14a292cc963006f48a4a82bfd)

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-06-28 09:44:13 +01:00
Saul Wold
cefb6645d7 lttng-modules: Update to stable version 2.6.1
This fixes a build issue with the 3.19.5 kernel where the regmap prototypes
have changed. The patch is rebased do to changes in the new version of the
Makefile.

[YOCTO #7737]

(From OE-Core rev: 787fde133c6b50c5df6ce8f90b2906b7955b41e4)

(From OE-Core rev: 2a355d2efb44a70571586bc5f6e500fa5d73db33)

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-06-28 09:44:13 +01:00
Robert Yang
1ee92bc5d5 python3: fix build for shared object
Fixed when build on armv7a_vfp_neon:
Python-3.3.3/Modules/_struct.o: relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC

All the archs should use -fPIC when build shared object for linux.

(From OE-Core rev: 60c1f76f65060cbea458b06f9719a2536f50474e)

(From OE-Core rev: d9c3d3036da6f36d1f494987aa854d0c76968a27)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:13 +01:00
Kai Kang
34195e3210 grep: fix CVE-2015-1345
Backport patch to fix CVE-2015-1345. The issue was introduced with
v2.18-90-g73893ff, and version 2.5.1a is not affected.

Replace tab with spaces in SRC_URI as well.

(From OE-Core rev: ea97b1dee834594358c342515720559ad5d56f33)

(From OE-Core rev: f5e18f8dbac54231441b8b6260bf608edc377f66)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:13 +01:00
Kai Kang
c498744945 gpgme: fix CVE-2014-3564
Backport patch to fix CVE-2014-3564.

http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commit;h=2cbd76f

(From OE-Core rev: 421e21b08a6a32db88aaf46033ca503a99e49b74)

(From OE-Core rev: 204f24855a00f595ddfa040ae149b4184721603f)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:13 +01:00
Roy Li
bf28314e59 ppp: Security Advisory - CVE-2015-3310
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-3310

Buffer overflow in the rc_mksid function in plugins/radius/util.c in
Paul's PPP Package (ppp) 2.4.6 and earlier, when the PID for pppd is
greater than 65535, allows remote attackers to cause a denial of
service (crash) via a start accounting message to the RADIUS server.

oe-core is using ppp 2.4.7, and this CVE say ppp 2.4.7 was not
effected, but I found this buggy codes are same between 2.4.6 and
2.4.7, and 2.4.7 should have this issue.

(From OE-Core rev: 5b549c6d73e91fdbd0b618a752d618deb1449ef9)

(From OE-Core rev: 5450caccd45a2ee35ee227cdd64e66a304909a0e)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:13 +01:00
Kai Kang
7606fba211 qemu: fix CVE-2015-3456
Backport patch to fix qemuc CVE issue CVE-2015-3456.

Refs:
https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-3456
http://git.qemu.org/?p=qemu.git;a=commit;h=e907746266721f305d67bc0718795fedee2e824c

(From OE-Core rev: 1d9e6ef173bea8181fabc6abf0dbb53990b15fd8)

(From OE-Core rev: eec51579ee7a99e3ac2527ecb6ee57b494a7992f)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:12 +01:00
Roy Li
ccaae1890e openssl: drop the padlock_conf.patch
padlock_conf.patch will enable the padlock engine by default,
but this engine does not work on some 32bit machine, and lead
to openssl unable to work

(From OE-Core rev: f7d186abca6ed9b48ae7393b8f244e1bfb46cb41)

(From OE-Core rev: bbc41bc086009726f307edeedbd380c68b1be6a7)

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-06-28 09:44:12 +01:00
Andre McCurdy
b610e29670 gnutls: remove --with-libz-prefix configure option
The default search path in sysroot is sufficient to find zlib, so the
--with-libz-prefix configure option seems to be unnecessary.

For target builds, relying on sysroot also prevents an absolute path
from being hardcoded in the gnutls.pc pkg-config file.

(From OE-Core rev: 7a800bfeb6c8c83ee7cc74739f496982cd71c8e8)

(From OE-Core rev: f46c2ac0fd05f0e10258d8f03bfb2ebd0c2bcbe3)

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-06-28 09:44:12 +01:00
Andre McCurdy
6a52d6d368 toolchain-scripts.bbclass: fix quoting for CCACHE_PATH
Single quotes prevent expansion of $sdkpathnative$bindir.

(From OE-Core rev: 986e5f37f3450077c843777c22df6b2d0f9502c5)

(From OE-Core rev: cd80d52fd213b15670d45f761538424180840f7d)

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-06-28 09:44:12 +01:00
Peter Seebach
ab84c98f9f rootfs.py: Make set -x not break rootfs creation
The rootfs logfile check errors out if it finds an "exit 1" in
a log. But consider the shell idiom:
	if ! $command; then exit 1; fi
and consider a postinstall script with a "set -x" for debugging
purposes (to get log output in /var/log/postinstall.log.)

Solution: Ignore lines prefixed with a +, because those show shell
code even if a specific fragment won't be executed.

(From OE-Core rev: f23f129dba66144abf8fe8450320e01fa4c02f5c)

(From OE-Core rev: a13185ba4a29fca319b4eb4a76fdbdfcfe767322)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:12 +01:00
Jussi Kukkonen
e82008724e sanity.bbclass: import subprocess in correct function
check_sanity() no longer needs the subprocess module but
sanity_handle_abichanges() does use subprocess.call().

(From OE-Core rev: 469b53fb3bb94c7e5e9fb53d07cec2292b13c87d)

(From OE-Core rev: f0bf36c669790f1bcb2f897e61c82b075cb0a83b)

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-06-28 09:44:11 +01:00
Florian Boor
34f38540d8 gtk-engines: Make gtk-engines-dev installable by dropping dependency to not generated gtk-engines package.
(From OE-Core rev: da96efe73c2338fa660a80d043479106f732f1f5)

(From OE-Core rev: 659cc47b142e0f14ace989d10277e4f83d7ffb75)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:10 +01:00
Ed Bartosh
a9ddd71880 rootfs.py: Improve rpm log_check_regex
Current regex can cause false negatives if paths in bitbake log files
contain "ERR" or "Fail". do_rootfs fails with return code 1 in
this case.

Improved regexp is based on error messages produced by rpm.
Those are found by analyzing rpm source code.

[YOCTO #7789]

(From OE-Core rev: 38871dc0295fb2516e1c8b1dc9948c2d2fc4d2cd)

(From OE-Core rev: 4a7f15e1d64a5d4ca4cd9b46a0ee5903e441b4e0)

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-06-28 09:44:09 +01:00
Ross Burton
53f761d05e zlib: clean up base_libdir symlink
libz.so symbolic link created in ${libdir} is
../../${base_libdir}/libz.so.1.2.8.  This doesn't work if base_libdir or libdir
is changed, so use oe.path.relative to construct the correct path at build time.

(From OE-Core rev: ada8972ec40441b06e50d3e9ccbc07241a48e30a)

(From OE-Core rev: 20a60f137a9a1ae2689286241cc3d68a0392803d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:08 +01:00
André Draszik
c583473a2b icu-native: fix hard paths in native icu
The icu recipe installs icu-native twice, once in the usual location,
and once for cross builds into the path given by --with-cross-build.

This latter path is not included in the list of paths recognised by
chrpath.bbclass, hence the binaries in there retain the rpath as used
during compilation. This causes the package to not be relocateable
from sstate
[YOCTO #6851]

We use the infrastructure that is in place already, and simply set
PREPROCESS_RELOCATE_DIRS as necessary, and things start to work.

(From OE-Core rev: e7fcaa534511e3f65b630b01cf0c824ee5a5fd4d)

(From OE-Core rev: 922faf8ed42cd2d105e30a8c92836664d6b5bb18)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:08 +01:00
Roy Li
71676e587f pcmciautils: fix the parallel building issue
The building failure still display after upstream commit 055a5bbfc[
pcmciautils: fix for parallel build], so refix it.

(From OE-Core rev: fb426a1f5a103a1dc096977533dfbec2aefe07ae)

(From OE-Core rev: 14b5556ad3a4d7e817442e004b73601041f31b69)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:08 +01:00
Haris Okanovic
86bf04ca9b glibc: CVE-2015-1781: resolv/nss_dns/dns-host.c buffer overflow
Backport Arjun Shankar's patch for CVE-2015-1781:

A buffer overflow flaw was found in the way glibc's gethostbyname_r() and
other related functions computed the size of a buffer when passed a
misaligned buffer as input. An attacker able to make an application call
any of these functions with a misaligned buffer could use this flaw to
crash the application or, potentially, execute arbitrary code with the
permissions of the user running the application.

https://sourceware.org/bugzilla/show_bug.cgi?id=18287

(From OE-Core rev: c0f0b6e6ef1edc0a9f9e1ceffb1cdbbef2e409c6)

(From OE-Core rev: 54f5e2001249c117cdfc1c26631ba50bc7a155dd)

Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Reviewed-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:08 +01:00
Mario Domenech Goulart
d3f6656683 native.bbclass: avoid unintended substring replacement when setting PROVIDES
The way native_virtclass_handler was implemented leaded to
unintended substring replacements when setting PROVIDES for
native providers, in case the original PROVIDES value contains
providees with common substrings.

Here's a practical case where the old behavior was problematic:
the oracle-jse-jdk-x86-64 recipe provides both virtual/java and
virtual/javac:

Before:

$ bitbake -e oracle-jse-jdk-x86-64-native | grep ^PROVIDES=
PROVIDES="oracle-jse-jdk-x86-64-native  virtual/java-native virtual/java-nativec"

After:

$ bitbake -e oracle-jse-jdk-x86-64-native | grep ^PROVIDES=
PROVIDES="oracle-jse-jdk-x86-64-native virtual/java-native virtual/javac-native"

Change-Id: I8186992dae58e37c2a2364586360ff9b7da9198f
(From OE-Core rev: c28291f1fb07fbc80275d9bceefed642c963e204)

(From OE-Core rev: e0814f2306e1404fffafc7695862c6ee542b08fa)

Signed-off-by: Mario Domenech Goulart <mario@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:08 +01:00
Otavio Salvador
cdc2c8aeaa gstreamer1.0-plugins-bad: Move EGL requirement for Wayland
The EGL is used by the Wayland backend. When building using Software
Rendering and without Wayland support the EGL backend is not available
so we should not require EGL for GLES2 support.

This fixes following build error:

,----
| ...
| checking for bcm_host_init in -lbcm_host... no
| checking for WAYLAND_EGL... no
| configure: error: Could not find the required EGL libraries
| Configure failed. The contents of all config.log files follows to aid debugging
| ERROR: oe_runconf failed
`----

(From OE-Core rev: 9c3a94aea1de3ab98e5693640926bfc86acde2db)

(From OE-Core rev: 2a0a2f276ef631bf7d60ec9821800d9b40a5832b)

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-06-28 09:44:08 +01:00
Martin Jansa
c495dccf58 boost: properly fix do_boostconfig re-execution
* it was partially fixed in:
  commit 291e20a51544c640d07767d1dc32d762f4370f41
  Author: Venkata ramana gollamudi <ramana.gollamudi@huawei.com>
  Date:   Fri Apr 13 11:42:46 2012 +0000
  Subject: boost: fix re-execution of task

  but with disadvantage that when CXX or *FLAGS variables were changed
  it was continuing to use old values
* just remove the line before appending it with current values to fix
  that

(From OE-Core rev: 8ce9584a78079b3db88eabfa902025a94443378d)

(From OE-Core rev: f055d084ad74a01a431ea87ead6bfdcaca0d7bde)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:08 +01:00
Bruno Bottazzini
8fc71f4247 systemd: removing workaround odering journal after remote-fs.target
This workaround is not needed in version 219 since the fix is upstreamed with:
919699ec301ea507edce4a619141ed22e789ac0d

(From OE-Core rev: e3330d0602fb3ad347f028063d25f634a36ea344)

(From OE-Core rev: fdcbbb50a9946733bd204b8db45606c929e43822)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:08 +01:00
Christophe Guillon
10ee6be5b8 ncurses: inherit pkgconfig
Without pkgconfig being present at build time it's possible for the .pc files to
not be installed correctly.

(From OE-Core rev: f049a53078b3876be9fefc1e5f64404a3f378724)

(From OE-Core rev: c6e39f271a737aa867a15f70c2975987e9d7b209)

Signed-off-by: Christophe Guillon <christophe.guillon@st.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:07 +01:00
Martin Jansa
5b8a8f9490 e2fsprogs: install populate-extfs.sh
* install populate-extfs.sh from contrib, be aware that in order
  to use it you need to set DEBUGFS shell variable, otherwise it will
  try to use debugfs from relative path which is almost always
  incorrect:
    CONTRIB_DIR=$(dirname $(readlink -f $0))
    DEBUGFS="$CONTRIB_DIR/../debugfs/debugfs"

(From OE-Core rev: 525b7b587a00466e4322450c171d920b47201e56)

(From OE-Core rev: 32e847f6988eb488dad23badf1cabae92ef803df)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:07 +01:00
Robert Yang
fb3f5c68fd mesa: fix do_install_append
"ifdef MESA_EGL_NO_X11_HEADERS" -> "if defined(MESA_EGL_NO_X11_HEADERS)"

(From OE-Core master rev: 3a464d67b60f70b865f7db768e7edc53e40ff450)

(From OE-Core rev: 12e467f436fbc22f274558c753f0ac9756ce1071)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:07 +01:00
Richard Purdie
342958fce1 glibc: Fix x32 make race
On x32 builds, sysd-syscalls appears malformed since the make-target-directory
appears on the wrong line. This causes races during the build process where you can
see failures like:

Assembler messages:
Fatal error: can't create [...]glibc/2.21-r0/build-x86_64-poky-linux-gnux32/time/gettimeofday.os: No such file or directory
Assembler messages:
Fatal error: can't create [...]glibc/2.21-r0/build-x86_64-poky-linux-gnux32/time/time.os: No such file or directory

The issue is that the carriage return is being escaped when it should
not be. The change to sysd-syscalls with this change:

before:

"""
$(foreach p,$(sysd-rules-targets),$(objpfx)$(patsubst %,$p,time).os): \
                $(..)sysdeps/unix/make-syscalls.sh      $(make-target-directory)
        (echo '#include <dl-vdso.h>';
"""

after:

"""
$(foreach p,$(sysd-rules-targets),$(objpfx)$(patsubst %,$p,time).os): \
                $(..)sysdeps/unix/make-syscalls.sh
        $(make-target-directory)
        (echo '#include <dl-vdso.h>';
"""

which ensures the target directory is correctly created. Only x32 uses the vdso
code which contains the bug which is why the error only really appears on x32.

(From OE-Core rev: ae4729ed6c5e5443c42f8825dd85873f06a3570e)

(From OE-Core rev: c945453a8453dd6dab5aa5a132bea20e73ae4d6d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:07 +01:00
Richard Purdie
744d1ff8ce base: Avoid find race
In a similar way to http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=aa1438b56f30515f9c31b306decef7f562dda81f
and http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=527b28c10955daf0387597020d69593ce24bcaa4
there is a find race in base.bbclass.

For recipes with PACKAGES_remove = "${PN}", the find which removes
.la files can race against deletion of other directories in WORKDIR
e.g.:

find: '/home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/sstate-build-populate_lic': No such file or directory
| WARNING: /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/temp/run.do_configure.6558:1 exit 1 from
| find /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7 -name \*.la -delete

Fix the race in the same way.

[YOCTO #7522]

(From OE-Core rev: 90861b8908d254154f4d1d613471070df8013da8)

(From OE-Core rev: 220141c63161f7c4f4112ac8b95bf44775843a9f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:07 +01:00
Robert Yang
7d88afbdfd alsa-tools: set CLEANBROKEN
Fixed:
make[1]: Entering directory `alsa-tools-1.0.28/envy24control'
make[1]: *** No rule to make target `clean'.  Stop.

There is no "make clean" in envy24control when DISTRO_FEATURES is
changed from no-x11 to x11.

(From OE-Core rev: 8ccc47c37765487b535c4d6a8b43c2b6365ff000)

(From OE-Core rev: 4ff4bca025277fd19f11a6ba86102fca8563a1ff)

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-06-28 09:44:07 +01:00
Roy Li
08a09c3410 unzip: Security Advisory -CVE-2014-9636 and CVE-2015-1315
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-9636

unzip 6.0 allows remote attackers to cause a denial of service
(out-of-bounds read or write and crash) via an extra field with
an uncompressed size smaller than the compressed field size in a
zip archive that advertises STORED method compression.

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-1315

Buffer overflow in the charset_to_intern function in unix/unix.c in
Info-Zip UnZip 6.10b allows remote attackers to execute arbitrary code
via a crafted string, as demonstrated by converting a string from CP866
to UTF-8.

(From OE-Core rev: f86a178fd7036541a45bf31a46bddf634c133802)

(From OE-Core rev: d868f9e8a6a5d4dc9c38e2881a329f7e3210eab8)

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-06-28 09:44:07 +01:00
Bruce Ashfield
d271a8e004 kernel-yocto: propagate in tree defconfigs to WORKDIR
As reported by Steffen Pankratz <Steffen.Pankratz@elektrobit.com>, the
previous logic of KBUILD_DEFCONFIG processing would not propagate an in
tree defcofig to WORKDIR if one was not already present.

We fix the propagation by copying the in tee config if a defconfig is
not already in WORKDIR.

Additionally we only warn (versus copying) if an in tree configuration
is specified, is different than the WORKDIR version and isn't copied.

(From OE-Core rev: 58cc903a5156063b24e48011438a709cb6e09f54)

(From OE-Core rev: 0b12cc3a326740bd95bb199d4f1b38bf5beadfa9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:07 +01:00
Bruce Ashfield
409bdca8e3 linux-yocto: fix race between checkout and meta data generation
There are two tasks that must run before a linux-yocto kernel is built.

  - Kernel checkout and relocation to work-shared (kernel_checkout)
  - Meta data gathering and configuration prep (kernel_metadata)

The current task definitions for both are simply "before do_patch",
which is correct, but kernel_checkout must run before and not race with
kernel_metadata.

So we set the definition of kernel_checkout to be more specific and
enforce the proper ordering.

[YOCTO: #7731]

(From OE-Core rev: 9d806f3d05de918952f839f5e595cb71cd1261db)

(From OE-Core rev: 561b7776d93d40cac009360ec95b8de78888f1ca)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:06 +01:00
Roy Li
dc70442747 e2fsprogs: fix the CVE-2015-1572
Backport a patch to fix CVE-2015-1572
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-1572

(From OE-Core rev: 203e1024cc7517cad28423cc04f641376cc8f2f5)

(From OE-Core rev: 7cfbeeec098e19bd27e342cd09a3fa22de6e7e93)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:06 +01:00
Ed Bartosh
e34336da87 kernel.bbclass: Fix race condition
Race condition between do_compile_kernelmodules and do_shared_workdir
tasks occurs when do_compile_kernelmodules changes files in
include/generated/* while do_shared_workdir tries to copy them to
shared working directory.

Fixed race by moving do_shared_workdir after do_compile but before
do_compile_kernelmodules.

[YOCTO #7321]

(From OE-Core rev: b4ec689f71fe9504559c1921c893f5e096d6b744)

(From OE-Core rev: a224584b6b0b7f12e0d1962d889587ce50957c60)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:06 +01:00
Richard Purdie
3b8170562c directfb: Correct bashism
Fix builds of directfb on systems with dash as /bin/sh

(From OE-Core rev: 8848517fb4c81b9e9cfc985dd20b9baf374764c0)

(From OE-Core rev: 493ecc520202851bba664eaf4f1150ce624bf2b1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:06 +01:00
Robert Yang
f0d6f7fe95 bind: remove 5 backport patches
They are backport patches, and verified that the patches are in the
source.

(From OE-Core rev: 6e4a10ab030c192e2437592538e4713b1ee2032b)

(From OE-Core rev: fd5115556a12c8c2d95c02f077dc38ea4c9253f5)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:06 +01:00
Mike Crowe
2cc0ea83d3 libcap: Avoid passing "-e" to make
oe-core 51540b64f62234c145fc32cfa3fbbaaebbeece08 altered libcap.inc (at the
time) to append to EXTRA_OEMAKE rather than assign to it. The default value
for EXTRA_OEMAKE contains "-e". This means that the change caused "-e" to
be passed to make for the first time.

Unfortunately passing "-e" subtly changes the behaviour of libcap's
Make.Rules under recursive make when prefix="" (which it is for us since
we're using meta-micro.)

Without "-e" the prefix comes from the command line in both the parent and
submakes. This takes precedence over any attempt to reassign it with a
simple "=" operation so the headers are correctly installed in (empty
string)/include.

With "-e" the prefix still comes from the command line in the parent make
but from the environment in the submake. The attempt to assign it fails in
the parent make as before, but not in the submake so the headers are
installed incorrectly in /usr/include.

In all four cases the "ifdef prefix" else clause is executed.

So, let's assign EXTRA_OEMAKE in order to avoid using "-e" at all.

(From OE-Core rev: a8d35fa4fd76ea4a70063492cd5eab0858f2edb6)

(From OE-Core rev: 24a98efa442b323667e1471886ad874e607ff320)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:06 +01:00
Roy Li
def79f5f31 elfutils: Security Advisory - CVE-2015-0255
Directory traversal vulnerability in the read_long_names function in
libelf/elf_begin.c in elfutils 0.152 and 0.161 allows remote attackers
to write to arbitrary files to the root directory via a / (slash) in a
crafted archive, as demonstrated using the ar program.

https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-9447

(From OE-Core rev: 4a65944b89a76f18c8ff6e148f17508882d387cf)

(From OE-Core rev: 5eda84a62201461b9c69498ec35585d2c8142dec)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:06 +01:00
Robert Yang
7620a4ad38 pcmciautils: fix for parallel build
Fixed:
Compiling lex_config.c.
  src/lex_config.l:34:25: fatal error: yacc_config.h: No such file or directory

There was a patch for fixing the paralle issue before, so modify the
patch again.

(From OE-Core rev: 055a5bbfc7686c8eec3aad2bcbcf90c40031cc34)

(From OE-Core rev: 45e105e08c56eef5ef8282f2f84778f4c291798a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:06 +01:00
Khem Raj
6182fc36ae curl: Fix wrong assumption about sizeof off_t on largefile systems
This issue was reported on poky ml as well see
https://lists.yoctoproject.org/pipermail/poky/2013-December/009435.html

Change-Id: Iedf22467889893111fde0433e411fd0546a38546
(From OE-Core rev: 3c58712465494e441c4036a7cf21d2e6d343efab)

(From OE-Core rev: 49c848018484827c433e1bcf9c63416640456f3e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:06 +01:00
Robert Yang
1901d6b02c elfutils: enable fix-build-gcc-4.8.patch
The patch fixes a warning seen with gcc 4.8 (especially on ubuntu 13.10)

(From OE-Core rev: c577a52b252ccbad9a8dde79c6a4a4f23376d9d8)

(From OE-Core rev: 1878cadb02aa01a58f6985d2b7a9268df4f381a6)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:05 +01:00
Robert Yang
50338c36c8 texinfo: remove enumerate_greater_than_ten.patch
It is a backport patch, and verified that the patch is in the source.

(From OE-Core rev: a46976b9de5a2270f041a73661a6ed635bf4eb43)

(From OE-Core rev: 94116f5be3b3581b364e18c6a008e088f3b1dae9)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:05 +01:00
Robert Yang
f831a73052 libaio: remove libaio-generic.patch
It is already in the source.

(From OE-Core rev: e6b2def565c1201c3b0a0d2a8c296b65e6cafb02)

(From OE-Core rev: 6c931a231dbb90e16fd092187d6fea42dd7f5908)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:05 +01:00
Robert Yang
9e14d6efa2 lttng-modules: remove bio-bvec-iter.patch
It is aready in the source.

(From OE-Core rev: 4ac3e70f8f39dc6b585e0acb3679d4137f60b296)

(From OE-Core rev: 78e377d37a0ef36d595dcdc00c9c51674d828f02)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:05 +01:00
Robert Yang
50241173b7 openssl: remove 3 patches
Removed:
 - openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch
 - upgate-vegsion-script-for-1.0.2.patch
   Since they are already in the source.
 - make-targets.patch
   It removed test dir from DIRS, which is not needed any more since we
   need build it.

(From OE-Core rev: 5fa533c69f92f2dd46c795509b0830b36413b814)

(From OE-Core rev: 2635d1dbe0ef0b43c7505d9c43494eac0f2e6760)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:05 +01:00
Robert Yang
c97d806d2f logrotate: remove logrotate-CVE-2011-1548.patch
It is a backport patch, and verified that the patch is in the source.

(From OE-Core rev: 370dc496c2d6f8fa97a18af49747d15a41fc7bcf)

(From OE-Core rev: 3cf413bd3f7b022488473aaee15e28cf343c6b12)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:05 +01:00
Robert Yang
2f1a4d0f73 libxml2: remove libxml2-CVE-2014-3660.patch
It is a backport patch, and verified that the patch is in the source.

(From OE-Core rev: 9a3178b4d3c454e76a0af59afc7b326589c4c666)

(From OE-Core rev: 9834785d0b4ee1759d6a469c585a566652cbc38a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:05 +01:00
Robert Yang
b9b7c619da nspr: remove nspr-CVE-2014-1545.patch
It is a backport patch, and verified that the patch is in the source.

(From OE-Core rev: a7e723bd78e280ae48e6de725b2881b35ae21f5c)

(From OE-Core rev: f5ef99247b84ac1a39b92daf02a4249d39aacbf1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:05 +01:00
Robert Yang
3599cb53f8 python3: remove sys_platform_is_now_always_linux2.patch
It is aready in the source.

(From OE-Core rev: 99f9df3add049ec18dbcd604646a67dc59b3db16)

(From OE-Core rev: 6c1b44872d9cd09ad46fd9d2cc3555f9cd3a55e6)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:04 +01:00
Robert Yang
e7b12a4e63 python-numpy: remove 2 dangling patches
Removed:
- unbreak-assumptions.diff
  This patch changs the dir to /non-existant-dir, the source code has
  changed the dir to /deadir, so it is not needed any more.

- trycompile.diff
  There is no try_compile or try_run in numpy/core/setup.py any more, so
  assumed that it is not needed.

(From OE-Core rev: 56aac948ca9686d79a2c56f4f034f8de445ff37b)

(From OE-Core rev: 7f0d86dd43a10a981aa2ad8acde66fe345fe4096)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:04 +01:00
Richard Purdie
276606afe6 sstate: Use SSTATE_DIR for FILESPATH
FILESPATH was only being overridden in one fetch location, it should be
equally handled in both.

Also use SSTATE_DIR as FILESPATH so that mirror urls which do remapping
can search the local SSTATE_DIR for other paths.

Also ensure that MIRRORS is removed in both locations, previously
it was only unset in one but both codepaths should be consistent.

(From OE-Core rev: ab6bebddbdefec323e284b6438d9c57b3d8a2cc3)

(From OE-Core rev: ac255ca3eacece98f60a1a5d8cfc468f73aa67c7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-28 09:44:04 +01:00
Richard Purdie
eb4a134a60 scripts/combo-layer: Fix exit codes and tty handling
If combo-layer is called from a non-interactive context we should exit
with a correct error code rather than try and drop to a shell.

This patch cleans up a few error case exit codes as well as
detecting and handling non-interactive usage.

(From OE-Core rev: 3b1d89a51445cf526ca84eb5b53de434f9585d6e)

(From OE-Core rev: b08ee8478f0cc2e2f9394c7e209dae45de2d845e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-11 15:00:20 +01:00
Patrick Ohly
508c4cac32 combo-layer: handle unset dest_dir in sanity_check()
The previous "clean up dest_dir checking" patch (f8cdbe7497) improved
handling of empty dest_dir but made handling of unset dest_dir worse:
instead showing the "Option dest_dir is not defined for component ..."
error, it fails with a Python exception.

Avoid that by providing a sane fallback for the unset case. With that
change, dest_dir is no longer strictly required, but the check for it
is kept to ensure that a combo-layer.conf also works with older
combo-layer versions.

[Yocto #7773]

(From OE-Core rev: d4bf858b2c15bef128fd6d606b08203a318e2d4c)

(From OE-Core rev: b266977372f2d5704d00dd07b29ea49898ebf70e)

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-05-29 13:01:37 +01:00
Patrick Ohly
e9ae2f8417 combo-layer: improve merge commit handling
When the head of a branch is a merge commit, combo-layer did not
record that commit as last_revision because it only considers applied
patches, and the merge commit never gets applied.

This causes problems when the merge commit leads to multiple patches
and the commit id that gets recorded only reaches some of these
patches. The next run then will try to re-apply the other patches.

This special case is now detected and dealt with by bumping
last_revision to the branch commit. The behavior where the head is a
normal commit is intentionally not changed, because some users might
prefer the traditional behavior.

(From OE-Core rev: 701bcd52c208f22a9a6c48a11a35bcf1c4e413df)

(From OE-Core rev: 1bc46199e569411150b050818ff17abc66f899f2)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-29 13:01:36 +01:00
Paul Eggleton
12cc076832 bitbake: lib/bb/utils: fix several bugs in edit_metadata_file()
* Fix unchanged assignments being dropped if other lines changed
* Fix not passing variable name from single-line assignments to the
  function
* Fix not trimming the trailing quote from values

(Bitbake master rev: 0b0c82f49cf2de887967d305768cbd95314bb171)

(Bitbake rev: cd92e5dce5f5d61ecb7838bf964a7812e905509a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-23 08:21:42 +01:00
Paul Eggleton
ca6ef30c7a bitbake: lib/bb/utils: add function to get layer containing a file
In certain contexts it can be useful to find the layer that a file (e.g.
a recipe) appears in.

Implements [YOCTO #7723].

(Bitbake master rev: 3bf9c8830c5d5eea5502230d5af84ebd87ad5849)

(Bitbake rev: 8dcd83e5edb1cf3307b610d3bb8d54733ea7356d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-23 08:21:41 +01:00
Ed Bartosh
59e4f9fc12 split_and_strip_files: regroup hardlinks to make build deterministic
Reverted 7c0fd561bad0250a00cef63e3d787573112a59cf

Created separate group of hardlinks for the files inside
the same package. This should prevent stripped files to be
populated outside of package directories.

This turns out not to be straightforward and has overlap with the
other hardlink handling code in this area. The code is condensed
into a more concise and documented form.

[Original patch from Ed with tweaks from RP]

[YOCTO #7586]

(From OE-Core master rev: 82d00f7254b7d3bb6a167d675d798134884d1b19)

(From OE-Core rev: 2abacf00ee3f60735bf7c0dc7130c72267822b30)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:13:38 +01:00
Richard Purdie
4dc652a0c3 bitbake: bitbake-layers: ensure non-extended recipe name is preferred
In show-recipes and show-overlayed, we only list one variant of each
recipe where multiple exist, therefore we should show the main one (e.g.
in OpenEmbedded, we now show openssl and not nativesdk-openssl which
would otherwise sort first.)

Fixes [YOCTO #7514].

(Bitbake rev: 8e0211d121e4cb1124dfe879db751ad00f5c978b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:50 +01:00
Christopher Larson
83ac75ffb3 bitbake: runqueue: pass finalized metadata to scenequeue callbacks
This ensures that _append, _prepend, overrides, etc are functional when used
on sstate variables (e.g. SSTATE_DIR).

[YOCTO #7564]

(Bitbake rev: 0a9eaa570fdf3862ef26ee537fc74f3be75fd554)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:50 +01:00
Ross Burton
e23ec53caa systemd: bring back the patch to customise root's $HOME
This patch appears to have been accidently dropped in the move to 219-stable,
probably because it didn't apply.  Update the patch and re-add it.

(From OE-Core master rev: 51aaa647b203d0f7ddd2f53f7191c4d2918b09b8)

(From OE-Core rev: 16684ce4072e8cffd321d25303de91fd0e32529c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:50 +01:00
Joshua Lock
45592f15d8 systemd: remove unused patches
These patches are no longer required since 7bfc9891ff

(From OE-Core master rev: e45b8bf579f2050ebdb1aa1a4c2f9c3b530c9ad6)

(From OE-Core rev: d8b4b70df507f2ef82378a7bfa501fe81ad2a21a)

Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:49 +01:00
Dmitry Eremin-Solenikov
08dcacb083 bitbake.conf: add sed-native to ASSUME_PROVIDED
There is no reason to build sed for the host, however now:
ERROR: Nothing RPROVIDES 'sed-native' (but virtual:native:/OE/sources/openembedded-core/meta/recipes-extended/groff/groff_1.22.2.bb RDEPENDS on or otherwise requires it)

(From OE-Core rev: f09dcaab4afb6aad5a707418741e97625473b890)

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:49 +01:00
Bryan Evenson
944b46c223 util-linux: Add lastb to alternatives
util-linux creates lastb as a symlink to last during the build.
Just as other applications may provide last, other applications
may provide lastb.

Add alternatives designations for lastb to avoid installation
conflicts with other applications.

(From OE-Core rev: cde6a85fd327407320adaad21203079a8dacbf23)

(From OE-Core rev: 2665431f75ebc9eb1f47dee7d3ef362dcf5917a9)

Signed-off-by: Bryan Evenson <bevenson@melinkcorp.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:49 +01:00
Chen Qi
26e18a143b shadow: add 'util-linux-sulogin' to RDEPENDS
If shadow is installed, sulogin from busybox cannot work correctly because
it still assumes that /etc/shadow is not there. This leads to the problem
when booting into rescue mode in an image with shadow installed but not
sulogin from util-linux.

To fix this problem, we add 'util-linux-sulogin' to RDEPENDS of shadow.
This runtime dependency is specific to OE, because we have to ensure
that sulogin can work correctly and sulogin from busybox cannot because
FEATURE_SHADOWPASSWORDS is not enabled by default. And we cannot enable
it by default for busybox, because that would lead to utilities in busybox
to assume the existence of /etc/shadow which is not always true in OE.

[YOCTO #6698]

(From OE-Core rev: 9b45b990d2fc870df556f05908dcb48b9ebcfc02)

(From OE-Core rev: d2e348537786966fd29187ff7fb9ae42614695af)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:49 +01:00
Chen Qi
704a053dd5 util-linux: split out util-linux-sulogin
[YOCTO #6698]

(From OE-Core rev: 4bde182ed236243547929dd98763f1c09eddd097)

(From OE-Core rev: eeaf4ca1e5fea56fe7472076bc0372f597876fdc)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:49 +01:00
Chunrong Guo
09eb069ccf groff: add runtime dependency on sed
This is to suppress the following QA warning:
  groff-1.22.2: groff requires /bin/sed, but no providers in its RDEPENDS [file-rdeps]

(From OE-Core rev: f1e5913bee28f59efb252045a0113cae701d848d)

Signed-off-by: Chunrong Guo <B40290@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:49 +01:00
Richard Purdie
67d83673ea autotools: Fix find races on source directory
In a similar way to http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=aa1438b56f30515f9c31b306decef7f562dda81f
there are more find races in the autotools class.

For recipes with PACKAGES_remove = "${PN}", the find which removes
.la files can race against deletion of other directories in WORKDIR
e.g.:
find: '/home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/sstate-build-populate_lic': No such file or directory
| WARNING: /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/temp/run.do_configure.6558:1 exit 1 from
| find /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7 -name \*.la -delete

Fix the remaining races in the same way.

[YOCTO #7522]

(From OE-Core rev: 79770ca14a0cc2f4112fb4d8dc2d8832701b6d5d)

(From OE-Core rev: 699e1570e66cb28e4bfd0eb15d41f3af2bed5b62)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:48 +01:00
Li Zhou
6504fa687a libxfont: Security Advisory - libxfont - CVE-2015-1804
bdfReadCharacters: ensure metrics fit into xCharInfo struct

We use 32-bit ints to read from the bdf file, but then try to stick
into a 16-bit int in the xCharInfo struct, so make sure they won't
overflow that range.

(From OE-Core rev: 4dd4b96b6d60246338bb30ede9f3ab1b2e757be9)

(From OE-Core rev: 1e2a947e65f5fb6e01459c9ddd6515a7131d92c7)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:48 +01:00
Li Zhou
7a277e901d libxfont: Security Advisory - libxfont - CVE-2015-1803
bdfReadCharacters: bailout if a char's bitmap cannot be read

Previously would charge on ahead with a NULL pointer in ci->bits, and
then crash later in FontCharInkMetrics() trying to access the bits.

(From OE-Core rev: 2c7a15a074501beb6b8a4c7bdf30604b1a432a6b)

(From OE-Core rev: 7827e9756e82c31707ce87d27c7d0b0392fc0812)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:48 +01:00
Li Zhou
b611530351 libxfont: Security Advisory - libxfont - CVE-2015-1802
bdfReadProperties: property count needs range check

Avoid integer overflow or underflow when allocating memory arrays
by multiplying the number of properties reported for a BDF font.

(From OE-Core rev: 0ff9f2bf0e44a7b47a98234a12714c780825e286)

(From OE-Core rev: ddc4889d7028d0388b1521d49ab1d3b8decba524)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:48 +01:00
Li Zhou
3e3507d02e libarchive: Security Advisory - libarchive - CVE-2015-2304
libarchive: Updated libarchive packages fix security vulnerability

Alexander Cherepanov discovered that bsdcpio, an implementation of the "cpio"
program part of the libarchive project, is susceptible to a directory
traversal vulnerability via absolute paths.

(From OE-Core master rev: e64a961e9c5e94e643896e4b68b85bd5b4c27470)

(From OE-Core rev: c944c1ee3f039979d93022bbbd76f61f57b1577f)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:48 +01:00
Junling Zheng
8d07cacde3 less: fix CVE-2014-9488
An out of bounds read access in the UTF-8 decoding can be triggered with
a malformed file in the tool less. The access happens in the function
is_utf8_well_formed due to a truncated multibyte character in the sample
file.

The bug does not crash less, it can only be made visible by running less
with valgrind or compiling it with Address Sanitizer.

Version 475 of less contains a fix for this issue. The file version.c
contains some entry mentioning this issue (without any credit):

 - v475 3/2/15 Fix possible buffer overrun with invalid UTF-8

The fix is in the file line.c. We derive this patch from:

https://blog.fuzzing-project.org/3-less-out-of-bounds-read-access-TFPA-0022014.html

Thank Claire Robinson for validating it on Mageia 4 i586. Refer to:

https://bugs.mageia.org/show_bug.cgi?id=15567

(From OE-Core master rev: 68994284f3c059b737bfc5afc2600ebd09bdf47f)

(From OE-Core rev: 7195d219f7af2b94dffb87a94077ec98dacdcdb0)

Signed-off-by: Junling Zheng <zhengjunling@huawei.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:47 +01:00
Roy Li
205e9ed896 rsync: backport a patch to fix CVE-2014-9512
rsync 3.1.1 allows remote attackers to write to arbitrary files via a symlink
attack on a file in the synchronization path.

Backport Complain-if-an-inc-recursive-path-is-not-right-for-i.patch to fix it

(From OE-Core master rev: f280b4f28231ea5a416266ae022d6e4c4ea91117)

(From OE-Core rev: a42af2e434c01c04af36d6ed7a7a5480a7a255a5)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:47 +01:00
Robert Yang
edb2b4760c kernel-devsrc: depends on virtual/kernel:do_install
The linux-yocto.inc may remove the meta dir:
do_install_append(){
	if [ -n "${KMETA}" ]; then
		rm -rf ${STAGING_KERNEL_DIR}/${KMETA}
	fi
}

Which may cause the error:
[snip]
find: `./meta/cfg/kernel-cache/bsp/altera-socfpga/0073-FogBugz-116676-Align-clk.c-with-kernel.org.patch': No such file or directory
find: `./meta/cfg/kernel-cache/bsp/altera-socfpga/0047-FogBugz-90657-Fix-SD-MMC-driver-for-VT.patch': No such file or directory
find: `./meta/cfg/kernel-cache/bsp/altera-socfpga/0006-spi-qspi-cadence-Add-spi-and-qspi-driver.patch': No such file or directory
[snip]
cpio: ./meta/scripts/kgit-config-cleaner: Cannot stat: No such file or directory
cpio: ./meta/scripts/kgit-s2q: Cannot stat: No such file or directory
cpio: ./meta/scripts/kgit-clean: Cannot stat: No such file or directory
[snip]

(From OE-Core master rev: 0866086c6a9d9f518388f2962db784ab15d49330)

(From OE-Core rev: ecf26a6e4aaac6d7f24eeb38215365c4c72b81a8)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:47 +01:00
Robert Yang
b749898186 gnu-efi: fix parallel issue
Fixed:
Assembler messages:
Fatal error: can't create runtime/rtlock.o: No such file or directory
Assembler messages:
Fatal error: can't create runtime/rtdata.o: No such file or directory
Assembler messages:
Fatal error: can't create runtime/vm.o: No such file or directory
Assembler messages:
Fatal error: can't create runtime/efirtlib.o: No such file or directory

(From OE-Core master rev: 86d428775c95a900c9b452f03548b56cb980b64c)

(From OE-Core rev: a86bc60ac3ef18f22690e1a77578cb991aede9f5)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:47 +01:00
Ken Sharp
7b7b67fcef udev-cache: improve error handling
If an error occurs while the udev cache is being populated, the system
is left in a state where udev is stopped.  Remedy this with a clean up
function to restart udev and remove any intermediate files.

(From OE-Core master rev: af911b272ded95884079dc307eeeb1811f0584c9)

(From OE-Core rev: 70214bb02bad6a6f0d6f25ff227d6e380c1b9fb3)

Signed-off-by: Ken Sharp <ken.sharp@ni.com>
Reviewed-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:47 +01:00
Ken Sharp
3857acab1a udev-cache: Remove unnecessary tar read from stdin
xargs already formats the inputs to tar correctly, so the
'-T -' argument to tar is unnecessary.

(From OE-Core master rev: d18e1964dede530c5fae6ae349d6a78fa5342382)

(From OE-Core rev: d666072445ec5323a7849ae0c80ba9f293a5464b)

Signed-off-by: Ken Sharp <ken.sharp@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:47 +01:00
Mike Looijmans
dc97c54915 alsa-utils: Remove double dependency on udev
"udev" is already added when PACKAGECONFIG includes it, so it should
not be in the DEPENDS list on itself.

This caused udev to be built for systems that don't use it.

(From OE-Core rev: 2ea67db71ba37285c5d16428ba9629412adcfa47)

(From OE-Core rev: 6fb1b306bd1a1ca6ecc6c8d91e0007cc65a6a0d6)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:46 +01:00
Paul Eggleton
2dd79784e8 mkefidisk.sh: fix hanging on non-writeable device
If cleanup() is called early on, as happens when the device isn't
writeable, then none of the mount point variables are set; thus the
script was calling grep with only one argument and appeared to hang
since it was waiting for input on stdin.

(From OE-Core master rev: cf4a18eec2a65d840352d1a2862242d116e8a409)

(From OE-Core rev: f8b8fbeee3f5c51f6b3e39200f935156be3936f3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:46 +01:00
Paul Eggleton
e4ccc4dae3 mkefidisk.sh: use script mode when running parted
This avoids parted showing prompts and thus effectively hanging the
script in in the case of initially malformed disks.

(From OE-Core master rev: 8f6eb9a86ce64b4c534342fe315069eb4064de88)

(From OE-Core rev: 8e72fd01071694b73ec092657f5378dbadd4f396)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:46 +01:00
Bruno Bottazzini
732cdba31e systemd 219 -> system 219-stable
The upstream systemd git repo only contains the main systemd branch that
progresses at a quick pace, continuously bringing both bugfixes and new features.

Distributions usually prefer basing their releases on stabilized versions
that receive the bugfixes but not the features.

(From OE-Core master rev: c21bf9d7bb0cb90392ed50a44c57a3d068b88ef9)

(From OE-Core rev: c3da0d750ce7b45fee9db3e985f585f5fb2e193d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:46 +01:00
Cristian Iorga
af3518a605 oeqa/selftest/toaster: fix bad indent
oe-selftest --list-classes crashes because
of a bad indent (see below). Fixed.

systemd-build$ oe-selftest --list-classes
2015-04-22 12:12:39,141 - selftest - INFO - Listing all available test modules:
_sstatetests_noauto (hidden)
 -- SStateBase
 -- RebuildFromSState
 --  -- test_sstate_rebuild
 --  -- test_sstate_relocation
_toaster (hidden)
Traceback (most recent call last):
  File "/mnt/Yo/yoctoproject/poky/scripts/oe-selftest", line 201, in <module>
    ret = main()
  File "/mnt/Yo/yoctoproject/poky/scripts/oe-selftest", line 157, in main
    modlib = importlib.import_module(test)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/mnt/Yo/yoctoproject/poky/meta/lib/oeqa/selftest/_toaster.py", line 438
    time.sleep(3)
    ^
IndentationError: unexpected indent

(From OE-Core master rev: 46869abf72c1c5babce49537f221d7a4f53ca820)

(From OE-Core rev: f01d4df7568fed5fe2feb0b1e8abb2214b567c07)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:46 +01:00
Chen Qi
f4b1bcbc38 populate_sdk_base: avoid executing empty function
`bitbake uninative-tarball' raises the following warning.

    WARNING: Function  doesn't exist

This is because SDK_PACKAGING_FUNC is set to "" in its recipe.
Anyway, we need to check this variable to avoid executing empty function.

[YOCTO #7598]

(From OE-Core rev: 4c0ae7cce06de15f6881654ecec7f8bb743ff389)

(From OE-Core rev: 7c0c2b3037dfc2790446968572daf5bf0a17e2f8)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:46 +01:00
Chen Qi
605e8fad88 uninative-tarball: delete the packagedata task
This task is meaningless for uninative-tarball as the package task
has been deleted. Besides, sometimes it would cause problems. To
reproduce, use the following command.

bitbake uninative-tarball -c cleansstate && bitbake uninative-tarball &&
bitbake uninative-tarball -c clean && bitbake uninative-tarball

The error is something like below.

File: 'sstate.bbclass', lineno: 33, function: sstate_installpkg
     0029:        bb.build.exec_func(f, d)
     0030:
     0031:    for state in ss['dirs']:
     0032:        prepdir(state[1])
 *** 0033:        os.rename(sstateinst + state[0], state[1])
     0034:    sstate_install(ss, d)
     0035:
     0036:    for plain in ss['plaindirs']:
     0037:        workdir = d.getVar('WORKDIR', True)
Exception: OSError: [Errno 2] No such file or directory

[YOCTO #7597]

(From OE-Core rev: 8f905077aaed3dbeeed04787add1cf725fa87bdc)

(From OE-Core rev: e94864c1589986fb8a59ee86cae0fd3b430ebf09)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:46 +01:00
Chen Qi
636cde886f shadow: fix `su' behaviour
0001-su.c-fix-to-exec-command-correctly.patch is removed. Below is the reason.
This patch is introduced to solve the 'su: applet not found' problem when
executing `su -l xxx -c env'. The patch references codes of previous release
of shadow. However, this patch introduces bug#5359. So it's not correct.

Let's first look at the root cause of 'su: applet not found' problem.
This problem appears when /bin/sh is provided by busybox.
When executing `su -l xxx -c env' command, the following function is invoked.
    execve("/bin/sh", ["-su", "-c", "env"], [/* 6 vars */])
Note that the argv[0] provided to new executable file (/bin/sh) is "-su".
As /bin/sh is a symlink to /bin/busybox. It's /bin/busybox that is executed.
In busybox's appletlib.c, it would examine argv[0], try to find an applet
that has the same name, and then try to execute the main function of the
applet. This logic results in `su' applet from busybox to be executed.
However, we default to set 'BUSYBOX_SPLIT_SUID' to "1", so 'su' is not found.
Further more, even if we set 'BUSYBOX_SPLIT_SUID' to "0", so that 'su' applet
is found. The whole behaviour is still not correct. Because 'su' from shadow
takes higher priority than that from busybox, so 'su' from busybox should never
be executed on such system unless it's specified clearly by the end user.
The logic of busybox's appletlib.c is totally correct from the point of busybox
itself. It's an integration problem.

To solve the above problem, this patch comment out SU_NAME in /etc/login.defs
so that the final function executed in shadow's su is as below.
    execve("/bin/sh", ["-sh", "-c", "env"], [/* 6 vars */])

[YOCTO #5359]
[YOCTO #7137]

(From OE-Core rev: 6820f05dad0b4f9b9bbcf7c2a0af8c34f66199ae)

(From OE-Core rev: c7ba25a1e2fd36789ad6f55f05b41c3dc9b7f089)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:46 +01:00
tprrt
b5ada042b5 image: zap_empty_root_password doesn't handle passwd file in shadow case
/etc/passwd isn't editted if /etc/shadow exists and should be else
it can cause problems with some login providers such as toybox.

(From OE-Core rev: 09ac2664fba223111c20c3000af6b8d5cdaabeb1)

(From OE-Core rev: ec4dba57eb95e31954dc74dd6489f70575b54d6f)

Signed-off-by: tprrt <tprrt@tupi.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:45 +01:00
Krishnanjanappa, Jagadeesh
9f524997ff ghostscript: add objarch.h for armeb
ghostscript application fails to fetch objarch.h file while building for armeb.
The fetch failure is due to absence of this file in the default set of
directories that the OpenEmbedded build system searches (i.e FILESPATH)
for patches and files. This patch adds the required objarch.h file for
armeb in one of the default locations where OpenEmbedded build system searches.

(From OE-Core rev: c520165f8fe7c01865ddb2565908211c0cfd2185)

(From OE-Core rev: e56dea7dd588da62d33d33b21f857020d612e9f0)

Signed-off-by: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:45 +01:00
Paul Eggleton
4b64fb5baa classes/populate_sdk_ext: disable network connectivity check
Most of the time we shouldn't be downloading anything within the
extensible SDK (since it's all pre-built and we have the sstate
artifacts) therefore there's really no need for a connectivity
check, in fact it may just get in the way.

(From OE-Core rev: beaf851ae8aadb5b9e3c0b9840479efcbb05be23)

(From OE-Core rev: cc65df3aeb84e53a2608535c81e1e3f4dd9e8bc4)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:45 +01:00
Paul Eggleton
d730e14639 devtool: force use of bash when running build within extensible SDK
Ubuntu's default dash shell causes oe-init-build-env to behave a bit
differently - (a) it can't pick up the OE root directory and (b) it
can't see any build directory specified as a command-line argument
(since dash doesn't pass through any arguments specified to sourced
scripts). We could work around these but doing so requires some internal
knowledge of the script; a much simpler fix is just to force running the
command under bash since it's expected to be installed on every distro.

Thanks to Chen Qi <Qi.Chen@windriver.com> for this fix.

Fixes [YOCTO #7614].

(From OE-Core rev: 27942f546e6b08cdf9f2dbda2e24d237cde7f5f5)

(From OE-Core rev: f83f108f83766d4c141946084b7c4be730c2865e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:45 +01:00
Carlos Rafael Giani
75a982e74f u-boot.inc: make sure all counter variables are properly unset
The script does "i == j" checks to retrieve the config <-> type pairs from
the UBOOT_MACHINE and UBOOT_CONFIG lists. This check however requires both
j and i to be initially unset. Ensure this by explicitely unsetting i.

This fixes broken u-boot SPL installations with SolidRun machines
(the SPL wasn't being installed and deployed.)

(From OE-Core rev: 50233dc2544fe8eeee69a5dc07f505db29fc9e0e)

(From OE-Core rev: a00cf56b0caf2327bd85b80c7d0db6f4d8620a36)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:45 +01:00
Reinette Chatre
1e64bf4a7e init-install-efi.sh: fix gummiboot entry installation
After selecting the "install" gummiboot option of a Live image we are
seeing boot failure resulting from the gummiboot entries not being
installed correctly. This seems to be a problem in this init-install-efi.sh
script where it incorrectly installs the gummiboot entries into the root
filesystem, not the boot partition. We fix it by installing the entries in
the boot partition.

(From OE-Core master rev: c9b06c79ed8a082d1b385e9f61721aeeda9bf1af)

(From OE-Core rev: 5d38c46689c9065992838b58e280886f4091f8fd)

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:45 +01:00
Robert Yang
427c70443d aspell: inherit binconfig-disabled
There is a pspell-config.

(From OE-Core master rev: 53c8a954e699b3ae3e7a0a2b3860cf7c9ad1288e)

(From OE-Core rev: 27bf71420b535678640f8edd0c6bc551bd322f1c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:45 +01:00
Koen Kooi
0456e83de4 strace: fix build for aarch64
Upstream added aarch64 support but forgot to update 'make dist' leading to missing files in the tarball.

(From OE-Core master rev: a40309f284805e8cda024f7299a676cfdf8f97a5)

(From OE-Core rev: fd11110b7d63fce6a1f7a26f123ae7a8ddee3175)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:44 +01:00
Andre McCurdy
c18b02e5e9 busybox: remove CVE-2014-9645 patch (already upstream in 1.23.x)
The CVE-2014-9645 fix was merged in Busybox prior to the 1.23.0
release [1]. The fix was then reworked in Busybox 1.23.1, in such
a way that the original change was no longer required [2].

Although oe-core's CVE-2014-9645 patch still applies cleanly to
Busybox 1.23.1 and 1.23.2, applying it partially reverts the second
version of the upstream fix.

  [1] http://git.busybox.net/busybox/commit/modutils/modprobe.c?h=1_23_stable&id=4e314faa0aecb66717418e9a47a4451aec59262b
  [2] http://git.busybox.net/busybox/commit/modutils/modprobe.c?h=1_23_stable&id=1ecfe811fe2f70380170ef7d820e8150054e88ca

(From OE-Core master rev: a753d3d8884b96baad5ed1a03335a81586420b86)

(From OE-Core rev: ef1748f26ab246d893f51141caa24dd4ae6b5ec0)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:44 +01:00
Dmitry Eremin-Solenikov
aa263849ba lsb: provide lsb-core-ARCH
Some lsb packages depend on correct lsb-core-ARCH package being
installed (or rather provided) on the target file system. Provide this
package name by main lsb package.

(From OE-Core master rev: 981109b7388dcd0de9fd2e9cdfe2a920b9f8facb)

(From OE-Core rev: 65276d62f655926a82a17f02bb3a4ae0f08e6518)

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:44 +01:00
Armin Kuster
534d2f3a5d crypto: use bigint in x86-64 perl
on some hosts openssl fails to build with this error:

ghash-x86_64.s: Assembler messages:
ghash-x86_64.s:890: Error: junk '.15473355479995e+19' after expression

backported fix from community.

(From OE-Core master rev: 8230f873921d5c16106e3ebf57053a646bc6ad78)

(From OE-Core rev: b981717484c70c6c9bcd6dacb736c2844fa863ed)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:44 +01:00
Junling Zheng
2c3ae1ed7a elfutils: fix an incorrect patch for 0.161
The original uclibc-support.patch is not compatible with elfutils-0.161.
It should be corrected through adjusting context.

So regenerate a new patch for elfutils-0.161, rename the patch for
elfutils-0.148, and put them into respective directories.

(From OE-Core master rev: 64acb72e7ec63528073d8290137fe74d3382f876)

(From OE-Core rev: d4924543c265ca497d4c419d4571cf1f8ef31d09)

Signed-off-by: Junling Zheng <zhengjunling@huawei.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:44 +01:00
Gary Thomas
0c20afe810 gst-player: Fix typo
The subtitle (shown in desktop icon) should say
  Basic media player
    -not-
  Basic media plaer

(From OE-Core master rev: f672fae1b1647f7a628ba9ba92fd4fab81d91546)

(From OE-Core rev: d1f9764375a3f9187d523fa45639731a6619a691)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:44 +01:00
Koen Kooi
aab4a03e19 libgpg-error 1.18: simplify tupple handling and add armv8b support
Add a default option to the case statement and remove the duplicates. Also add support for armv8b architectures.

(From OE-Core master rev: 8d207e55031c0b93387e728f4312b8cb34ad5b12)

(From OE-Core rev: 95a0b9305a17afb9eb317d9d946f721c462e0db6)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:44 +01:00
Khem Raj
47876b91e9 ppp: Add extra include dirs
Just run configure, the configure script is not really
a autoconf generated script so just run it

Include path is needed to be there since
the headers from it are used during build in subcomponents

Change-Id: Ib1f24fd18bc8564e3c74ab834b7cf0fdf955d0e1
(From OE-Core master rev: c64c9f7ffc88018404afdde373dfd7ef2bdf7ae8)

(From OE-Core rev: a11ebe122bc31127bae59a65dbabe9ce5c3f568c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:43 +01:00
Jean-Benoit MARTIN
2536f8d363 package_manager: RpmPM: Fix scriptlet for rpm 4
Path of rpm post install script is different between rpm 4 and 5

(From OE-Core master rev: a880669f767532ce3c39eb160fa9deb9fce29677)

(From OE-Core rev: cc57a6827d383380b37d9df14ef799b10a62a469)

Signed-off-by: Jean-Benoit MARTIN <jean-benoit.martin@open.eurogiciel.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:43 +01:00
Robert Yang
c6269fbbc4 pcmciautils: fix for parallel build
Fixed:
Compiling lex_config.c.
  src/lex_config.l:34:25: fatal error: yacc_config.h: No such file or directory

There was a patch for fixing the paralle issue before, so modify the
patch again.

(From OE-Core master rev: e1193feb30fbbfacb430ccbb9f33cd782f7cb87d)

(From OE-Core rev: 0907c61d7b9ad892ae815d68393ed2e30881e289)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:43 +01:00
Mariano Lopez
52c03366ec kexec-tools: Add support for build with x32 ABI in x86_64
Add autoconf test for detect when build is x32 ABI this enables to
test into purgatory Makefile to avoid use -mcmodel=large flag in CC.

Add ELFCLASS read and syscall number into kexec, see patch.

[YOCTO #7419]

(From OE-Core master rev: 7b75430c2e3ffedb9ef4198fabf259b757b9ce5a)

(From OE-Core rev: 75e493b82e7ddb2730b0ede9aeb448c62d8bf032)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:43 +01:00
Aníbal Limón
c53661af38 nss: Fix build in x32 ABI
When try to build nss with x32 ABI enabled fails because
it need to be specified USE_X32 env var.

[YOCTO #7420]

(From OE-Core master rev: 2898c2cf94bd690ebfc4ab5f4d220e6ea05aca82)

(From OE-Core rev: 9eb690e7ce168bcf97055ba0e5325bd0b0107cb4)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:43 +01:00
Jukka Rissanen
2bb285d6b8 connman: Create connman.service at proper moment
ConnMan commit ac332c5d01b0737c18cb58c8ccc67cf6b0427e1d changes
how the connman.service file is created from .in file. After
that commit, the file is created by Makefile instead of configure.
This means that we need to tweak the service file in compile
time instead of configure time because the generated file will not
be there after the configuration.

This commit can be used even with older ConnMan version as the
connman.service file is there when the compilation happens.

(From OE-Core master rev: 32839103727d92a6580f916b6dd8e4439b2347c8)

(From OE-Core rev: 66d8cec7225cae7269c539d9372a1364c9cefc0d)

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:43 +01:00
Gary Thomas
5553c4cd8d libgpg-error: Fix native build on i686
Most modern x86 systems return i686 as the system type.  This
patch handles i486, i586 and i686 correctly.

(From OE-Core master rev: 1b24eaa71702c07e525d8a62c08c0983e9917468)

(From OE-Core rev: 8951cce6b9c68e3100ab2c568baf5148c1a0221d)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:43 +01:00
Martin Jansa
aefa1a6eea tzdata: fix postinst
* add quotes around possibly empty tz variable
* use exit instead of return, because we're not in function and postinst
  fails:
  line 9: return: can only `return' from a function or sourced script"

(From OE-Core master rev: 87429d37e72b1fd2f329d693b4d1b1229a90e0a2)

(From OE-Core rev: ff58b2b6d07725adedddb709000775af8da3c5db)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:42 +01:00
Martin Jansa
bd7710bff7 pango: fix postinst
* merge postinst_prologue with the append in the do_split_packages call
  Now we can call correct pango-querymodules binary and respect D
  variable, otherwise we're trying to regenerate it on host which fails:
  pango-module-basic-fc.postinst: line 17: /usr/bin/pango-querymodules:
  No such file or directory

(From OE-Core master rev: f5d189b80a1fd7187f47678935f9a584ccff8d0a)

(From OE-Core rev: 3bbdb42c17222e78e3a4d043f26c9b2dce6d6891)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:42 +01:00
Krishnanjanappa, Jagadeesh
62675e990f dpkg: add triplet entry to fix build error for armeb
Cross-compling dpkg application for armeb fails with below error
during configure task,

(snip)
 configure:23141: checking dpkg cpu type
 configure:23148: result: armeb
 configure:23150: WARNING: armeb not found in cputable
 configure:23162: checking dpkg operating system type
 configure:23169: result: linux-gnueabi
 configure:23171: WARNING: linux-gnueabi not found in ostable
 configure:23183: checking dpkg architecture name
 configure:23189: error: cannot determine host dpkg architecture
-- CUT --

Add the required combination of "gnueabi-linux-armeb" entry in
triplet list.

(From OE-Core master rev: 63eb33bced1fc1e5451988fc5249ab362fb82615)

(From OE-Core rev: 0c83ca720ccfbef6964ac34fedfefa9006c484c4)

Signed-off-by: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:42 +01:00
Koen Kooi
006aafcb3c gst-ffmpeg: fix libav-9.patch
The patch has a stray '>' in an #incude directive leading to build
failures when used.

(From OE-Core master rev: f2a45c0c1b9878319890fe03f26dd4e0db740091)

(From OE-Core rev: 882cc6f7bb50022c2ed428537ffb09fd497de16d)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:42 +01:00
Koen Kooi
882f8c5743 gst-ffmpeg: remove bogus patch that leads to build failures
'0001-huffyuvdec-check-width-more-completely-avoid-out-of-.patch'
patches the internal copy of ffmpeg with a hunk that generates a compile
failure because AV_PIX_FMT_YUV422P is undefined.

(From OE-Core master rev: 3657e0fc2cd48a08035c7a0ab4da7e6666d2d91d)

(From OE-Core rev: b487d0a37536bb412cf332610f692d5eb3c8f3d9)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:42 +01:00
Koen Kooi
d685adb430 gst-ffmpeg: fix internal-libav builds with inherit autotools-brokensep
Building the internal copy of ffmpeg is broken when using S!=B, so
inherit autotools-brokensep

(From OE-Core master rev: 4ac5d1011fe6b5bba9511416082891e925cbd03c)

(From OE-Core rev: 0d118d0216f75221f17644ecd154637288c68c1c)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:42 +01:00
Andre McCurdy
35bbff5e5d libpcap.inc: remove obsolete libnl1 PACKAGECONFIG
There's no libnl1 recipe in oe-core (or any other layer in the layer
index).

Keeping the libnl1 PACKAGECONFIG is likely to cause problems for the
libnl PACKAGECONFIG since libnl and libnl1 both use --with-libnl and
--without-libnl.

(From OE-Core master rev: 4c820481147e9c11160b00f7df7ca8c329b23eac)

(From OE-Core rev: c914254e9ec218d590fc77b921dbddf31b2d41c7)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:42 +01:00
Li Zhou
8766cae8b4 xorg-server: Security Advisory - xorg-server - CVE-2015-0255
Updated x11-server packages fix security vulnerability:

Olivier Fourdan from Red Hat has discovered a protocol handling issue in
the way the X server code base handles the XkbSetGeometry request, where
the server trusts the client to send valid string lengths. A malicious
client with string lengths exceeding the request length can cause the server
to copy adjacent memory data into the XKB structs. This data is then
available to the client via the XkbGetGeometry request. This can lead to
information disclosure issues, as well as possibly a denial of service if a
similar request can cause the server to crash (CVE-2015-0255).

(From OE-Core master rev: 564e2f9732ac4318bb5923dd1ff771514c9afd2f)

(From OE-Core rev: edde2ef38d483888e5daa7c00007cb1b84de6336)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:41 +01:00
Khem Raj
f416e2b9bb libffi: Use proper compiler define for linux platform
Change-Id: I8253249a2e1c5e9ded0d028545f21cfdc093c3cd
(From OE-Core master rev: f7307ea20c8aa4aed4c38a7c15fb9b3b6b836035)

(From OE-Core rev: df99dd90255e46b226f4eea7b3c0d81f548adaf9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:41 +01:00
Khem Raj
0c045cab74 libusb-compat: Include sys/types.h in usb.h
Fixes compile errors when usb.h is included in
other packages, it expects sys/types.h to be
there, instead it should include it itself

Change-Id: Ib49477b7d3f3cd97d65c9578bdc33f2ee33f5a26
(From OE-Core master rev: 577b5c6ce6753b9ae3587da47caf6ecfac358668)

(From OE-Core rev: 833165b96b8b51292ad9758a491abce7f380f6de)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:41 +01:00
Khem Raj
8d6080ebe0 bluez4: Fix encrypt symbol namespace collision
| Makefile:3352: recipe for target 'test/l2test.o' failed
| make[1]: *** [test/l2test.o] Error 1
| make[1]: *** Waiting for unfinished jobs....
| test/rctest.c:82:12: error: 'encrypt' redeclared as different kind of
symbol
|  static int encrypt = 0;
|             ^
| In file included from test/rctest.c:33:0:

Change-Id: Iaf2f644ef3cef6f96c6e4bc421c9e78a0e23e674
(From OE-Core master rev: 795a409919774f3a2a4c859799de36f1064efd83)

(From OE-Core rev: 899a6f213eb350334987e818094c8acd7ab513ab)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:41 +01:00
Matt Madison
c3613297f0 shadow: split files needed for PAM use into separate package
The rootfs creator automatically removes shadow for read-only
root filesystems, which breaks use of PAM plugins for login and
other process identity management utilities.  Package those programs
and config files separately, so they don't get removed.

(From OE-Core master rev: a7d8eaef04c9dd6ede8d4efd8c4b776efbe3c767)

(From OE-Core rev: 783982314f140611ba2056a280421085bba5c155)

Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:41 +01:00
Nathan Rossi
ec3a90915f python: Change python 2.7.9 to use libffi from the system
Changes in python 2.7.9 from 2.7.3 cause issues when building the in
tree libffi for ctypes. These issues primarily affect less common
platforms (e.g. MicroBlaze) that are supported by libffi but the python
overrides for the in tree libffi are not able to detect correctly.

This patch changes the python 2.7.9 recipe to match how the python 3
recipe handles libffi by configuring the build to use the system
libffi. This brings consistency between the libffi used for different
python versions as well as with the system.

(From OE-Core master rev: 4302cc20dbe0f0490a5e7b62baeb632322c40200)

(From OE-Core rev: 9f7b0133b63d315703d0c44e877ae81d4a9a1692)

Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:41 +01:00
Wenzong Fan
75c0781c5e perl: module overload rdpends on overloading
Fix perl runtime issue:

* Can't locate overloading.pm in @INC (you may need to install the
overloading module ...) at /usr/lib64/perl/5.20.0/overload.pm line 83.

(From OE-Core master rev: 3dec9ad1cd6ad1236950b0100f6327df7a0bf7db)

(From OE-Core rev: cecac1d52143e34b6e1142e38a1c874188dd74e9)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:41 +01:00
Denys Dmytriyenko
e267a38cd7 security_flags.inc: elfutils on ARM fails with PIE flags
The error messages look like this:
R_ARM_TLS_LE32 relocation not permitted in shared object

(From OE-Core master rev: a915adfd1eaad9a0d65dffe9da92811284e491c8)

(From OE-Core rev: 1d8cbf8354e734253e335fee2c423b3a108454bd)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:40 +01:00
Christopher Larson
5b7487567c oe.sstatesig: align swspec handling with sstate.bbclass
The logic tries to remove the -native suffix from pn to handle this (though it
doesn't succeed, as it doesn't assign the new pn to the variable), but we need
to do more for the swspec tasks than just not set the extrapath, we also need
to change from SSTATE_PKGSPEC to SSTATE_SWSPEC. Alter to correct the spec for
these cases, and also add preconfigure to align with the current logic in
sstate.bbclass, which includes that task as well in the list of tasks to
adjust to use swspec.

[YOCTO #7563]

(From OE-Core master rev: c9105597763be4bf5bc0ec97cc999566d0f10678)

(From OE-Core rev: 4f9cde9d8e700d10cdb1da82bf7489df5633c549)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:40 +01:00
Mario Domenech Goulart
66fc24c6cb useradd_base.bbclass: typo fixes (s/scucess/success/)
(From OE-Core master rev: eace0a2c13721d1b8952a01abac30eb2661fcd85)

(From OE-Core rev: b073f927ec332c5a3608277751ef27d9280c51d8)

Signed-off-by: Mario Domenech Goulart <mario@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:40 +01:00
Matthieu Crapet
310e37485b util-linux: add lastb.1 and nologin.8 to update-alternatives
/usr/share/man/man1/lastb.1
is also provided by sysvinit recipe.

/usr/share/man/man8/nologin.8
is also provided by shadow recipe.

(From OE-Core master rev: 8fdf9a355291e7341f9c9a6c219349cf95326171)

(From OE-Core rev: 1aaa289be5aeb066e378c2119be9f5ac055d4803)

Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:40 +01:00
Aníbal Limón
5edbe941f9 lzop: Fix build using x32 ABI
When tries to build lzop using x32 ABI fails trying to get
FLAGS register that is 64-bit and destination variable is
32-bit size_t.

[YOCTO #7424]

(From OE-Core master rev: 6122c5e02b96ab786204d08b470177d824004d24)

(From OE-Core rev: 842558c5fb2ef0520b7a11516dc720694e5acf04)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:40 +01:00
Junling Zheng
66b63d921b uclibc: fix undefinition of '_dl_strchr' in libdl.a
The orign_path.patch introduced '_dl_strchr' in ldso/ldso/dl-elf.c, and
caused the following undefined referencing compiling error:

  | .../libdl.a(libdl.os): In function `search_for_named_library':
  | .../dl-elf.c:156: undefined reference to `_dl_strchr'
  | collect2: error: ld returned 1 exit status

I found this problem when compiling gdb in static mode using uclibc.

So, add the definition of '_dl_strchr' to fix it. The '_dl_strstr' is
added as well.

And I regenerated a patch to replace the original one.

(From OE-Core master rev: 34b82b8452aa721146f95321cfd1a1fee3f0d6c8)

(From OE-Core rev: c39c0d0426b2f9b2c13403705167e2d8201df1ff)

Signed-off-by: Junling Zheng <zhengjunling@huawei.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:40 +01:00
Joe Slater
08b10e93c4 nss: generate debug info
Because the build of nss seems to ignore CFLAGS, we never
have put source code in the -dbg package.  We do not address
the CFLAGS issue, but we do add -g to the definition of CC
so that we will generate debug info.

We also let package.bbclass populate the -dbg package instead
of forcing the contents locally.

(From OE-Core master rev: 0ec01bbd845b61798366441b2c7e5b8738db6b32)

(From OE-Core rev: 24a55a1e9658fdfd7b314ce1d9f40e0374990b7a)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:40 +01:00
Jun Zhu
a536594605 meta/lib/oe/utils.py: Corrected the return value of both_contain()
oe.utils.both_contain() should return the result as "checkvalue" or "",
but the latest implement returns as "set(['checkvalue'])" or "";

It causes that bitbake.conf generates the wrong result of COMBINED_FEATURES,
which contains the common components in both DISTRO_FEATURE and MACHINE_FEATURES.

For example, build in Dizzy branch, COMBINED_FEATURES is "alsa usbhost ...",
but recently, COMBINED_FEATURES is like "set(['alsa']) set(['usbhost']) ...".

(From OE-Core master rev: c4ca9dbd4191fcff08e75035e3d276490ed80b05)

(From OE-Core rev: 9471b87ecadeeba8e8ffe6955ec1dedc976a2978)

Signed-off-by: Jun Zhu <R01007@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 18:12:39 +01:00
Scott Rifenbark
e2e522a6ed ref-manual; mega-manual: Edits to further define packaging process
In response to community input where developers were attempting to
locate information on how to write packages out to a directory
other than ${DEPLOY_DIR}/<package_type>, I updated the "Package
Feeds" section, added several new DEPLOY_DIR_* variables, updated
four classes, and updated four tasks.  Here are some details:

 * Made changes to the "Package Feeds" section to provide more
   accurate information in the package feeds directory structure
   used by the build system in build/tmp.  These changes included
   updating the figure itself and some explanatory text.

 * Updated the DEPLOY_DIR variable description.

 * Added new variable descriptions for DEPLOY_DIR_DEB, DEPLOY_DIR_IPK,
   DEPLOY_DIR_RPM, and DEPLOY_DIR_TAR.

 * Updated the related classes: package_deb, package_ipk, package_rpm,
   and package_tar.

 * Updated the related tasks: do_package_write_deb, do_package_write_ipk,
   do_package_write_rpm, and do_package_write_tar.

Reported-by: Trieu Nguyen <trieu.t.nguyen@intel.com>
(From yocto-docs rev: a8d499850dec72f8decd81ec6714809c3a580ffc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-03 11:49:38 +01:00
Scott Rifenbark
145fe000ac ref-manual: Updated the "Image Features" section
Removed the requirement that debug-tweaks is needed in order to
individually use the allow-empty-passowrk, empty-root-password,
and post-install-logging features.  These three features can be
individually turned on an off regardless of debug-tweaks.

(From yocto-docs rev: e9f2e2b0f094cf243d601ee3fcdf9588cc81e003)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-03 11:49:38 +01:00
Scott Rifenbark
4206fcbf22 dev-manual: Updates to add Luna support for Eclipse
Adding Luna and dropping Juno. Pretty much went through the
"Working With Eclipse" section and dropped Juno and added
Luna.  A major deletion was the BitBake Commander section using
Hob.  Todor told me to drop this section completely.  Note that
I also added a couple new YoctoProjectTools that appear on the
menu: SystemTap and yocto-bsp.

(From yocto-docs rev: 6dc7d842acb0f190138418c7bf874999219cbead)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-03 11:49:38 +01:00
Scott Rifenbark
f366ff2c03 ref-manual: Updated the ELF Binary QA warning message
Fixes [YOCTO #7630]

I applied some feedback from Laszlo Papp suggesting that the user
can also use '-fpic' as well as '-fPIC' for a command-line option.

(From yocto-docs rev: 750ff4d3203f358595df8d10cc57e8d63a9fef4a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-28 16:31:00 +01:00
Scott Rifenbark
320a2206e0 dev-manual; ref-manual: Fixed &dash; issue
Fixes [YOCTO #7386]

Apparently the "&dash;" ENTITY used throughout the YP manual set to
get literal "-" characters in example commands renders into a unicode
that is not a dash.  This results in users getting errors if they
attempt to cut-and-paste a sample command that uses a "-" character
from the manual into a shell.  I have universally replaced all the
"&dash;" strings in the YP manual set to "-" strings.

(From yocto-docs rev: 1309e124d83fdf3c98be5c3ff1943f1c0d496c20)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-28 16:31:00 +01:00
Maxin B. John
e4f3cf8950 curl: several security fixes
Fixes below listed bugs:
1. CVE-2015-3143
2. CVE-2015-3144
3. CVE-2015-3145
4. CVE-2015-3148

(From OE-Core rev: cd3da9c95f48899e134a5b7ed1754fd18985df4f)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-27 15:25:43 +01:00
Martin Jansa
2a9486875d fontcache: allow to pass different fontconfig cache dir
(From OE-Core rev: adfb970efcb30af9b3b420b06b66e2aa6cc00ab4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-27 15:02:35 +01:00
Martin Jansa
28e8418644 image.bbclass: Allow to remove do_rootfs -> virtual/kernel:do_packagedata dependency
* this is causing dependency loops in some cases
  e.g. linux-hp-tenderloin depends on initramfs-android-image, but
    commit 41f0f86ec0a3e0b6f6c9bb4ef71a4215c00bf66c
    Author: Richard Purdie <richard.purdie@linuxfoundation.org>
    Date:   Tue Jan 27 15:24:52 2015 +0000
    Subject: image: Add missing depends on virtual/kernel for depmod data
  adds also dependency between <image>.do_rootfs and virtual/kernel:do_packagedata
  causing this dependency loop:

Dependency loop #1 found:
  Task 78 (meta-smartphone/meta-hp/recipes-kernel/linux/linux-hp-tenderloin_git.bb, do_install)
    (dependent Tasks ['linux-hp-tenderloin, do_compile',
                      'pseudo, do_populate_sysroot'])
  Task 88 (meta-smartphone/meta-hp/recipes-kernel/linux/linux-hp-tenderloin_git.bb, do_package)
    (dependent Tasks ['rpm, do_populate_sysroot',
                      'pseudo, do_populate_sysroot',
                      'linux-hp-tenderloin, do_install',
                      'initramfs-android-image.bb, do_packagedata',
                      'glibc, do_packagedata',
                      'file, do_populate_sysroot',
                      'gcc-runtime, do_packagedata'])
  Task 89 (meta-smartphone/meta-hp/recipes-kernel/linux/linux-hp-tenderloin_git.bb, do_package_write_ipk)
    (dependent Tasks ['linux-hp-tenderloin, do_package',
                      'opkg-utils, do_populate_sysroot',
                      'linux-hp-tenderloin, do_packagedata',
                      'pseudo, do_populate_sysroot'])
  Task 560 (meta-smartphone/meta-android/recipes-core/images/initramfs-android-image.bb, do_rootfs)
    (dependent Tasks ['bash, do_package_write_ipk',
                      'run-postinsts, do_package_write_ipk',
                      'db, do_package_write_ipk',
                      'update-rc.d, do_populate_sysroot',
                      'android-tools-conf, do_package_write_ipk',
		      'base-passwd, do_package_write_ipk',
                      'initramfs-boot-android, do_package_write_ipk',
		      'expat, do_package_write_ipk',
                      'bzip2, do_packagedata',
		      'glibc-initial, do_packagedata',
                      'openssl, do_package_write_ipk',
                      'bzip2, do_package_write_ipk',
		      'busybox, do_packagedata',
                      'zlib, do_packagedata',
		      'qemuwrapper-cross, do_packagedata',
                      'base-passwd, do_packagedata',
		      'busybox, do_package_write_ipk',
                      'zlib, do_package_write_ipk',
		      'qemuwrapper-cross, do_package_write_ipk',
		      'gcc-runtime, do_package_write_ipk',
		      'gettext, do_packagedata',
		      'initramfs-boot-android, do_packagedata',
		      'gettext, do_package_write_ipk',
		      'libgcc-initial, do_packagedata',
                      'expat, do_packagedata',
                      'gdbm, do_packagedata',
		      'depmodwrapper-cross, do_package_write_ipk',
                      'libgcc-initial, do_package_write_ipk',
                      'glibc-initial, do_package_write_ipk',
                      'linux-libc-headers, do_packagedata',
                      'glibc, do_packagedata',
                      'initramfs-android-image.bb, do_packagedata',
                      'glibc, do_package_write_ipk',
                      'sqlite3, do_packagedata',
                      'initramfs-android-image.bb, do_package_write_ipk',
                      'sqlite3, do_package_write_ipk',
                      'android-tools-conf, do_packagedata',
                      'ncurses, do_packagedata',
                      'openssl, do_packagedata',
                      'android-tools, do_packagedata',
                      'ncurses, do_package_write_ipk',
                      'cryptodev-linux, do_packagedata',
                      'android-tools, do_package_write_ipk',
                      'pseudo, do_populate_sysroot',
                      'cryptodev-linux, do_package_write_ipk',
                      'linux-libc-headers, do_package_write_ipk',
                      'depmodwrapper-cross, do_packagedata',
                      'linux-hp-tenderloin, do_packagedata',
                      'readline, do_package_write_ipk',
                      'opkg-utils, do_packagedata',
                      'linux-hp-tenderloin, do_package_write_ipk',
                      'python, do_packagedata',
                      'gdbm, do_package_write_ipk',
                      'opkg, do_populate_sysroot',
                      'python, do_package_write_ipk',
                      'libtool-cross, do_packagedata',
                      'db, do_packagedata',
                      'libgcc, do_packagedata',
                      'libtool-cross, do_package_write_ipk',
                      'update-rc.d, do_packagedata',
                      'update-rc.d, do_package_write_ipk',
                      'libgcc, do_package_write_ipk',
                      'opkg-utils, do_populate_sysroot',
                      'makedevs, do_populate_sysroot',
                      'readline, do_packagedata',
                      'base-files, do_packagedata',
                      'gcc-runtime, do_packagedata',
                      'opkg-utils, do_package_write_ipk',
                      'base-files, do_package_write_ipk',
                      'ldconfig-native, do_populate_sysroot',
                      'bash, do_packagedata',
                      'run-postinsts, do_packagedata'])
  Task 82 (meta-smartphone/meta-hp/recipes-kernel/linux/linux-hp-tenderloin_git.bb, do_compile)
    (dependent Tasks ['initramfs-android-image.bb, do_rootfs',
                      'linux-hp-tenderloin, do_configure'])

(From OE-Core rev: 10399fd97439af12cc23f199ec668a43c230ded4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-27 15:02:35 +01:00
Martin Jansa
97e5d37719 elfutils: fix build with -Os
(From OE-Core rev: cd8c20f10381595d44b9e8d251a1b5bd6c6176b2)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-27 15:02:34 +01:00
Paul Eggleton
7209c0bb13 bitbake: lib/bb/utils: add safeguard against recursively deleting things we shouldn't
Add some very basic safeguard against recursively deleting paths such
as / and /home in the event of bugs or user mistakes.

Addresses [YOCTO #7620].

(Bitbake master rev: 56cddeb9e1e4d249f84ccd6ef65db245636e38ea)

(Bitbake rev: 9178a708ecd75758be360a5a6bb04c77b69be5d8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:33:11 +01:00
Anders Darander
4c8b3e10f7 bitbake: fetch/git: Remove a possible trailing '/' in subpath
If the subpath parameter to the git fetcher ends with a trailing '/',
 bb.utils.prunedir() will be called on '/'...

Fixes [YOCTO #7620].

(Bitbake master rev: 380a3fb372c8b0a53dd7528562e6e7a222dc76ef)

(Bitbake rev: 7110055ab26d40e2a4e83956177b59a58e9cdcfd)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:33:11 +01:00
Scott Rifenbark
63ee4133b8 yocto-project-qs: Replaced GNOME Mobile with GTK+ wordings.
GNOME Mobile no longer applies.  I updated text to use the
GTK+ wordings.

(From yocto-docs rev: 978878d3f1a7ea07a68f0aeae93eeae7ba58b8f3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:51 +01:00
Scott Rifenbark
47aee60bfe toaster-manual: Removed redundant video.
(From yocto-docs rev: 5ae1d89a1384790644016e79afea1a70edcf88f3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:51 +01:00
Scott Rifenbark
69cdf9658a ref-manual: Added glossary entry for EXTERNAL_KERNEL_TOOLS
(From yocto-docs rev: b4f3b0c2efc6a162d714a2180bf48aac47684a27)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:51 +01:00
Scott Rifenbark
4a90b6b0d9 ref-manual: Updates to ELF binary QA warning
Fixes [YOCTO #7630]

Apparently the text relocation being done here can cause runtime
performance issues.  I documented a potential work-around for the
issue and provided a cross-reference link to an external site for
more general information about text relocation at runtime.

Reported-by: Laszlo Papp <lpapp@kde.org>
(From yocto-docs rev: f7f611a6668b6cd2ee3928ad44c72dbbe5307c38)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:50 +01:00
Scott Rifenbark
0c7340105e ref-manual: Removed FAQ question for GNOME Mobile.
(From yocto-docs rev: 12e61c66685f3ab8dc49a5c0d808aabc0b524e21)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:50 +01:00
Scott Rifenbark
ac91a56adc ref-manual: Fixed some dashes in the user input examples.
I typically try to use the underscore character to string together
multi-word user-input descriptors in examples.  I fixed a bunche
here.

(From yocto-docs rev: f7bc59cfb88537a2e3045a44978e974227b8ea9f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:50 +01:00
Scott Rifenbark
831fe9fa27 ref-manual: Fixed some formatting on a user-input example.
(From yocto-docs rev: d27d950d8a128c06684c3bc9e55c73c5f4f9658b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:50 +01:00
Scott Rifenbark
0947319266 ref-manual: Removed tag from profile-manual cross-ref
In the introduction, the ref-manual references several other YP
manuals.  If the manual is build separately, these references resolve
to the appropriate manuals.  When the mega-manual is built, the
same references are designed to not become links.  In otherwords,
mega-manual.sed processes those links out.  This is by design.

I found a #profile-manual tag on one of the links in the introduction.
This resulted in a link in the mega-manual that would go nowhere.  I
removed the tag.

(From yocto-docs rev: 5284004cb4f619b0580b525f67a3ebc7be1cdb93)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:50 +01:00
Scott Rifenbark
da7196cc2d bsp-guide: Fixed link to the OpenEmbedded style guide.
A link was going to an old YP page that talked about patch
style guide stuff.  That page simply redirects the user to a
styleguide of the OE.  I fixed the link in the manual to go
directly to that page now.

(From yocto-docs rev: 256285af25d46c1cfcd09daae1a5d1f8045bbb0d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:50 +01:00
Scott Rifenbark
8614206f39 adt-manual: fixed formatting for user-supplied data in example.
(From yocto-docs rev: c3c264f14961c1e43da7bb0177cee4e3b4440b92)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:50 +01:00
Scott Rifenbark
06cbcff7be dev-manual: Applied some formatting for user input.
(From yocto-docs rev: 1463f3b5f51b82bd7a4dd953003a1d24ef01178b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:50 +01:00
Scott Rifenbark
12cc91a768 dev-manual: Fixed link to Toaster Manual.
I found a link that is processed by the mega-manual.sed file correctly
but for the situation it does not resolve right.  The link is a
"naked" link.  In other words, it doesn't have a #<tag> part.
When the .sed file sees these types of links, no hyperlink is
generated.  I found a case in the dev-manual where I reference the
Toaster Manual in general and would like a link that would take the
user there.  So, I had to add a #<tag> part to the link in the XML

(From yocto-docs rev: 29c751888f16b9a2b73b64fe78eca6b7c661b2f4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:49 +01:00
Scott Rifenbark
fea38f087c dev-manual: Fixed a cross-ref link that used "here" as the link.
I don't like these.  I fixed it up.

(From yocto-docs rev: be9ec19a9ba0650efa6562de350c8d6bb83db85f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:49 +01:00
Scott Rifenbark
fe996c253e dev-manual: Added Toaster to the list of ways to develop.
I put this in the intro list for the section that presents various
ways to use YP.

(From yocto-docs rev: f5dd577d9b72a6433c647816464213cf83fb9bad)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:49 +01:00
Scott Rifenbark
9dcec27bd5 dev-manual: Removed a cross-ref link to "here"
This practice is not good.  I had one in the manual.  I reworded
the text to not use that term in a link.

(From yocto-docs rev: 8c56090d52a9844c4aa072b4eaa4ee32a03d8352)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:49 +01:00
Scott Rifenbark
854edda7d7 dev-manual: Updated branch descriptions for better manual maintenance
The "Repositories, Tags, and Branches" section had some wording
that described how branches are maintained in the poky repo that
made it hard to maintain in the doc from release to release.  I had
a list of past releases by name and as such would have to update
it every release to make it reflect the last set.  Well... this
is not the best way to do this and proved out as it slipped through
the cracks for the YP 1.8 release.  Consequently, I recast the text
so it is "release proof".

(From yocto-docs rev: 5ed1238f53320a3aa1f00ea04191cacdad5fbe95)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:49 +01:00
Scott Rifenbark
4aa45aca7a ref-manual: Removed "Intel Corporation" from the "Links" section.
In an attempt to keep the project as much open source as possible,
I removed the link to Intel from this list of resources.  We don't
list Linux, OpenedHand, Wind River, etc.

(From yocto-docs rev: 0c2223e788f8b87c376846ae724b7f8e26513559)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:49 +01:00
Scott Rifenbark
c6a9013728 dev-manual: Updated the poky definition in the "Terms" section.
Added some stuff about "poky" meaning the default distribution
when using YP and the poky git repository to build an image.

(From yocto-docs rev: 8f78b6d29676b953ce1d09d785d259630e4acce0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:49 +01:00
Scott Rifenbark
1cc6544d69 ref-manual: Updates to ELF binary QA warning - review changes
Applied some review edits from Paul.

Fixes [YOCTO #7630]

(From yocto-docs rev: 0b7b3d36565da6745a13f5f6d17174e9d69c072e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:48 +01:00
Michael Wood
19933e4474 dev-manual: Updated the "Enabling and Using the Tool" section
The send-error-report tool syntax has slightly changed since the
documentation was written.  Removed the [server] part of the
command and added more detail on its use and results.

Reported-by: Michael Wood <michael.g.wood@intel.com>
(From yocto-docs rev: b0d427ac0c520dbaff6b3222f1d0e4ac617f5d41)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:48 +01:00
Ed Bartosh
41432d9d79 dev-manual: Updated "Requirements" section for creating partitioned images
Wic is not using parted and other runtime dependencies from host
system anymore.  It uses native tools instead.  Removed host parted
from the list of requirements.  Added instructions to build native
tools.

(From yocto-docs rev: 6c84e9d4f969952240a869ec83ea149a75c17978)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:48 +01:00
Scott Rifenbark
7144eb7774 ref-manual: Updates to the TCLIBC variable description
An old note still existed in this entry that stated we don't support
glibc.  This is not true.  I deleted the note.

Reported-by: Paul Eggleton <paul.eggleton@intel.com>
(From yocto-docs rev: afebdfd994a4ff57cf8f5db1d0d7731433f831f2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:48 +01:00
Scott Rifenbark
59e5021b1f ref-manual: Fixed style sheet
Style sheet was not spacing after the first paragraph for glossary
entries.

(From yocto-docs rev: 9a3e29acc18c89d00ba5b176bd6fcbabb32d4be0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:07:48 +01:00
Bryan Evenson
17c5df02e2 initscripts: Remove /etc/volatile.cache on upgrade
/etc/volatile.cache is a cached copy of a script (which is
generated by /etc/init.d/populate-volatile.sh) that generates
the volatile filesystem directories.  Since volatile.cache is
a generated file, it is not necessarily changed if
populate-volatile.sh is updated.  As a result, the stale script
can add/remove the wrong directories on the next system boot.

If initscripts is being upgraded, make sure volatile.cache gets
deleted.

(From OE-Core rev: 1ee8bd05042087ffdced4cb40c55d0e45b06481c)

Signed-off-by: Bryan Evenson <bevenson@melinkcorp.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-20 15:03:11 +01:00
Bryan Evenson
075f0b2c88 base-files: Check for /run and /var/lock softlinks on upgrade
Commit ea647cd9ee moved the locations
of /run and /var/lock to match the FHS 3 draft specifications.
However, the install doesn't remove the existing directories.
As a result, upgrading a system may result in /run as a softlink
to /var/run and /var/run as a softlink to /run, creating a circular
link.

During pre-install, check for the existence of the old softlinks and
remove them so the new directories can be installed.

(From OE-Core rev: c1ee31acf509b054453f19cab162dadc295e10a4)

Signed-off-by: Bryan Evenson <bevenson@melinkcorp.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-20 15:03:11 +01:00
Richard Purdie
70832d863f toolchain-scripts: Allow the CONFIGSITE_CACHE variable to be overridden
In multilib and baremetal configurations, this variable can cause a variety of
problems due to the use of TCLIBC. At least allowing it to be overriden
is a start and allows various configurations to avoid the issue.

(From OE-Core rev: d343c6a7369cb409563b8149cbb423a6171221ee)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-15 15:56:02 +01:00
Scott Rifenbark
90d943ae62 ref-manual: Corrected the "package_rpm.bbclass" section.
A cut-and-paste error had left a "package_deb" string in the
first sentence of the section.  Replaced with "package_rpm."

Reported-by: Geoffroy VanCutsem <geoffroy.vancutsem@intel.com>
(From yocto-docs rev: 38b20d775ba41cb14d86177dddd85ada32fb3f86)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-10 14:47:50 +01:00
Scott Rifenbark
46669d3074 ref-manual: Update to oe-init-build-env-memres description.
Fixes [YOCTO #7559]

Removed the information stating that the port address 12345 is used.
Really what happens is a random port address is used.

(From yocto-docs rev: f469c2431b26593a762e348e9c5d0e84c582eab8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-10 14:47:50 +01:00
Scott Rifenbark
8f39398dbf ref-manual: Updates to "Kernel Build Changes" in the 1.8 migration section.
Updated this according to some changes Richard and Paul wanted to
see make it into the 1.8 release.

Reported-by: Paul Eggleton <paul.eggleton@intel.com>
(From yocto-docs rev: f571e35169818355fea2a20715df3e8f7405134f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-10 14:47:50 +01:00
Scott Rifenbark
be46715a9d toaster-manual: Fixed release month in the manual table.
(From yocto-docs rev: 1c67a2a19d5dd75030928c6f571d516e5edd0b99)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-10 14:47:50 +01:00
Scott Rifenbark
f73d6752db toaster-manual: Added new video link for toaster configuration.
(From yocto-docs rev: 8e418e1b203d749bd939bf0f109fb8fce6053ceb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
2015-04-10 14:47:50 +01:00
Richard Purdie
33558eacc8 build-appliance-image: Update to fido head revision
(From OE-Core rev: fbf82a3c5d891c298073077edcd894293ea4d8e3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 20:32:54 +01:00
Scott Rifenbark
0db74ea8f4 tools: A real fix for thos mega-manual.sed file for Toaster.
The previous commit did not fix the problem.  This one does.

(From yocto-docs rev: d19c2096018db0127d11814ddcba919ad469e428)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 20:31:32 +01:00
Scott Rifenbark
08246fc7d4 tools: Updated the mega-manual.sed file to include the Toaster manual.
(From yocto-docs rev: 36f9685837da5d202372933bfa895e8a3724dd5c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 20:31:32 +01:00
Scott Rifenbark
d691916ef8 toaster-manual: Review edits applied.
Some steps updated according to Belen and a video link fixed to
not point to Belen's Youtube area.

(From yocto-docs rev: 557c22fdd287160f6aabac0928ce6bd8d6af3394)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 20:31:31 +01:00
Scott Rifenbark
2f6a0659fe toaster-manual: Updated customization layer to not use local XSL file.
(From yocto-docs rev: f33dee9e57a8adc18d4674f97c0f77ccbbb4a6e5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 20:31:31 +01:00
Scott Rifenbark
888fb56e97 dev-manual: Fixed bitbake -c populate_sysroot example.
This was incorrectly stated as 'bitbake -c install' in two
places.  I substituted the correct string.

(From yocto-docs rev: fe54de82cff054d4319c635a0ddba2de7cc6ebd6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 17:42:24 +01:00
Scott Rifenbark
1444bef551 ref-manual: Edits to the 1.8 migration section.
(From yocto-docs rev: 9509c22e6e9fb1dfaabe634cb554f1f68d8ea434)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 17:42:24 +01:00
Scott Rifenbark
d1df6afab2 toaster-manual: Applied final review edits.
This should be it unless there are late coming comments.

(From yocto-docs rev: cb32e3330a6fe2d26425f8765689749afcd989e9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:04:57 +01:00
Scott Rifenbark
faf19c5274 ref-manual: Added new migration section for going to 1.8
(From yocto-docs rev: b8c7fad5404eb111c0d6a39fae6e9ffcb4a615ba)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:04:56 +01:00
Scott Rifenbark
dee274305d ref-manual: Added new bluetooth class.
(From yocto-docs rev: 536117974fb08c1c6739af9c8200b228a59b7f6d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:04:56 +01:00
Ed Bartosh
20d2d2096a package_manager: call createrepo with --dbpath pointing inside WORKDIR
Rpm database in staging area is used only by createrepo.
createrepo fails with the error
"rpmdb: BDB0060 PANIC: fatal region error detected"
if rpm database is broken during previous run of createrepo.

Made createrepo to create rpm db in $WORKDIR/rpmdb/ from scratch
for every build and architecture. This should potentially fix the
failure as every run of createrepo will be using separate db.

[YOCTO #6571]

(From OE-Core rev: db21bdcba5e2f646f0dc47295e8ea7e4d49a880d)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:02:49 +01:00
Ed Bartosh
a274e39f0c createrepo: Implement --dbpath command line option
--dbpath option can be used in cases where users don't want
createrepo to use system rpm db to avoid possible collisiouns
with other programs.

For bitbake builds it would be possible to specify different
databases even for every createrepo run. Considering that rootfs
builds can run multiple createrepo in parallel, it can help to avoid
race conditions caused by accessing or creating the same rpm database
by multiple createrepo instances at the same time.

(From OE-Core rev: 32324c0d7f669083cc7066e6dfc8c58248fb5429)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:02:49 +01:00
Robert Yang
dfaa74d34f glibc: fix a typo
Fixed a typo:
name-target-directory -> make-target-directory

There is no name-target-directory, it should be make-target-directory,
this fixed the error:
/bin/bash: /path/to/elf/runtime-linker.T: No such file or directory
Makefile:361: recipe for target '/path/to/elf/runtime-linker.st' failed

(From OE-Core rev: ff1366b0c9db9425d2a29eb823116353f3856dbb)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:02:48 +01:00
Robert Yang
d66075e595 db: fix parallel issue
Fixed parallel issue:
libtool: link: `bt_rec.lo' is not a valid libtool object
Makefile:867: recipe for target 'libdb-6.0.la' failed
make: *** [libdb-6.0.la] Error 1

(From OE-Core rev: 14b7787cfb1318e67ac2721c0d9d5dbf5be9dec4)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:02:48 +01:00
Scott Rifenbark
5f46b438a8 ref-manual: Updates to doc packages and reference links
I added xlstproc to Fedora and CentOS package lists for building out
the docs.

I abbreviated the list of references in the end chapter by leaving
just the main URLs for bigger areas such as Intel, OE, etc.  Then
I put in a link that goes back to the dev-manual list of other
informations as that is much more comprehensive.

(From yocto-docs rev: 81667b85cd8c639dd32cd5a8f614b4c890eb4dde)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:17 +01:00
Scott Rifenbark
674ffa8c68 bsp-guide: removed the BBLAYERS_NON_REMOVABLE from the example code.
(From yocto-docs rev: 35a92477897652a9af2b1a257a4576926612e054)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:16 +01:00
Scott Rifenbark
9b6eee9f30 dev-manual: Removed the detailed section on how to set up and use Toaster
(From yocto-docs rev: f3704c61a6def095cd6632ce2ad223ea84e35dac)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:16 +01:00
Scott Rifenbark
c636c22484 dev-manual: Added a small section to note Toaster as a development model.
(From yocto-docs rev: 63e73beca3b7d084c4776f296d3310a31dafcfc4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:15 +01:00
Scott Rifenbark
98ae8387e3 dev-manual: Fixed a few broken links and added Toaster manual to list.
(From yocto-docs rev: 77e3a4c704836e599b8ef6b13e68ec783e6d642d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:15 +01:00
Scott Rifenbark
f96ffe74a9 yocto-project-qs: Fixed broken link to AB nightly builds.
(From yocto-docs rev: 848dc6afa663a6730953736cf50f58130da30181)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:14 +01:00
Scott Rifenbark
66f1700481 ref-manual: Updated the OE_TERMINAL variable description
Removed an out-dated note near the bottom regarding a distro
we don't support

(From yocto-docs rev: 4211914f16d4ab01182633785068b56a258c0d04)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:14 +01:00
Scott Rifenbark
d2d94d071c ref-manual: Updated the supported distros list.
(From yocto-docs rev: 41a835409a912e55b37a64492ad2fe99fd412214)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:13 +01:00
Scott Rifenbark
0b82198c8d ref-manual: Backed out the bits for the context PNG images.
We did not have time to do this for 1.8.  So, I restored the look
of the glossary pre-images.  I did leave commented code in both
the glossary chapter and the style sheet for later.

(From yocto-docs rev: 9f1472b7d4cd86545e7927b0f693aafc88ae2791)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:13 +01:00
Scott Rifenbark
cf475ab8ea dev-manual, yocto-project-qs: Dropped Python 2.6 as a requirement
Fixes [YOCTO #7535]

Removed this from two places.

(From yocto-docs rev: d169ce99610745e8c1b4b53d898f526e557af665)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:12 +01:00
Scott Rifenbark
4ef59fe419 toaster-manual: Made some updates for virtual environment section.
I moved the note that tells the user they have to initialize the
virtual environment every time before starting Toaster to the
correct location.  I had it misplaced.

(From yocto-docs rev: 65258338e1ffb92ded573ea3b447b424b5f5fa97)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:12 +01:00
Scott Rifenbark
64ccb07092 toaster-manual: Added a new video that shows fido features.
(From yocto-docs rev: a94d6dec039d9b60468c0b26d48b9aa76c300afb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:11 +01:00
Scott Rifenbark
acf41de1fa ref-manual: Downplayed the BBLAYERS_NON_REMOVABLE variable.
Applied some suggestions from Paul Eggleton to downplay the role
of this variable.  It is basically ignored now in all parts of the
manual set except for the descriptions of the variable itself
and the BBLAYERS variable.  I added some text reinforcing the fact
that BBLAYERS_NON_REMOVABLE is ignored by the build system and only
matters if you are using Hob.

(From yocto-docs rev: 98112751aaec6e25de48d9e3ee56592be3f53a07)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:11 +01:00
Scott Rifenbark
3eabeef5d6 dev-manual: Updates to the devtool section.
Applied review edits from Paul Eggleton.

(From yocto-docs rev: 4815556b6c9f45ce230afede7cb3b2aadf0bef1c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:10 +01:00
Scott Rifenbark
2f050af982 dev-manual: Updates to the receiptool section.
Applied review comments from Paul Eggleton.

(From yocto-docs rev: 403c9ae5443eaf2a115e2224f07ee19f98c8139d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:10 +01:00
Scott Rifenbark
dbab9c0ba1 toaster-manual: Created links to Youtube for the GUI vids
I could not get the embedded vids working very well. So we
defaulted to just linking to the Youtube locations directly.

(From yocto-docs rev: 95bef674ec04eec94f568ab00b94f7174d456011)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:09 +01:00
Scott Rifenbark
07fc680a4a toaster-manual: Added note telling user to initialize virtual env
The user must re-initialize the virtual environment (if installed)
prior to starting Toaster each time.

(From yocto-docs rev: b0daa23784f17778f758b0572f90f9293a822812)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:09 +01:00
Scott Rifenbark
8ab5bc3e1e documentation: Updates to try to fix CentOS docs build errors
The docs are not building on CentOS and we think it is due to the
XSL templates being called for the Eclipse parts.  I located all
the "current" templates and switched them out for "1.76.1" version
as are used by the mainstream doc builds.

(From yocto-docs rev: afbddde6524630433dfec973bbe886de32395bc8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:09 +01:00
Scott Rifenbark
59813630e5 dev-manual: Added footnote crediting Trevor Woerner for devtool addition.
Trevor wrote a nice paper (tutorial) on the use of devtool that I found
to be very helpful in developing the information for this new workflow.
I decided to publicly credit this effort with a small footnote near
the top of the section.

(From yocto-docs rev: 97d234f2d535f85e5a50ac4e7f0c0a79579cd004)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:08 +01:00
Scott Rifenbark
ad7edfbde3 dev-manual: Applied review edits to the devtool section.
Paul Eggleton reviewed the section.

(From yocto-docs rev: 82d9750b4349b3c54f73118ec7d65f0bb96e3f7a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:08 +01:00
Scott Rifenbark
6fdf368f76 mega-manual: Added two figures to the figures directory.
The figures I added are for the Toaster manual.

(From yocto-docs rev: fb9bb83e48afd2e7d24d68f0c167d8d64f5d25fd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:07 +01:00
Scott Rifenbark
40db5ea7df mega-manual: Updated the chapter structure for the toaster manual.
Added the reference chapter in so it is included as part of the
mega-manual.

(From yocto-docs rev: 90a6ebabd0657d6dd7381a8c1fc7db5ea8b26a1f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:07 +01:00
Scott Rifenbark
56a4b1e1d4 Makefile: Added figures to the mega-manual TARFILE list
Added the three Toaster Manual figures to the list of
mega-manual figures so they will be included in the tarball
generated for mega-manual.

(From yocto-docs rev: 2190bc43dfc20c0c0ef5da82c85570f9294e1788)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:06 +01:00
Scott Rifenbark
80f3b20060 Makefile: Added additional PNG files to toaster TARFILE list.
(From yocto-docs rev: b662062cd575f187918f6841983d5682426b266e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:06 +01:00
Scott Rifenbark
693ba0b14f toaster-manual: Draft of Manual.
Fixes [YOCTO #6901]

(From yocto-docs rev: 258b46b0f3e23045b5fb8c97d03dceb69db5ce20)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-01 17:36:05 +01:00
Beth Flanagan
e7b07d33c2 distro_alias.inc: update/sort alias information.
Added new package data, and cleaned up whitespace.

I've also corrected some packaged data (replacement-tar from
my reading of the recipe is the tar normally found in distros).

One issue this patch exposed st I haven't had a chance to track
down is that when you attempt to get distrodata from
gcc-crosssdk-initial-x86_64. The produced .csv in tmp/log
is missing the Distro information. bitbake -e
shows that DISTRO_PN_ALIAS isn't even getting set in this case.

My guess here is that something is happening with the "_"
along the way, I've just not found it yet.

(From meta-yocto rev: 7008eb9ed1e823afe9a36678b91f56046647ba46)

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:55:01 +01:00
Richard Purdie
aa47ba52f0 bitbake: bin/image-writer: Add ext4 as a deployable image type
This is particularly problematic since qemu images switched to ext4 by
default and now cannot work properly with UIs like hob.

This patch adds in ext4 to the appropriate variable fixing this.

[YOCTO #7426]

(Bitbake rev: 4460e6de04844c4060f1fe87c8a4b247b731c63e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:39:30 +01:00
Richard Purdie
00b2c3a5e4 bitbake: cooker: Ensure bbappend files are processed in a determistic order
self.appendlist is a dict and as such unordered. This can lead to cases
where appends with different names (e.g. x_%.bbappend vs. x_123.bbappend)
can be reordered in application which in turn reorders the variables
that those bbappend files might touch. Reorderd variables changes the sstate
cache signatures causing real world issues.

To avoid this, use a list for the append files instead.

This patch is conservative and just adds a new data structure alongside
the existing one and uses it to resolve the core issue. Later patches
(post release) can handle some of the wider but less problematic ones
(e.g. issues in bitbake-layers flatten).

[YOCTO #7511]

(Bitbake rev: ba14fb2df8793aae5d671a408c2ba2145a1a7284)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:39:30 +01:00
Richard Purdie
23a0e97d2e image_types: Add missing ext4 support
This is particularly problematic since qemu images switched to ext4 by
default and now cannot work properly with UIs like hob.

This patch adds in ext4 to the appropriate IMAGE* variables fixing this.

[YOCTO #7426]

(From OE-Core rev: 5faa85ed58210ca6fc01ed54a1b370c7aee30b18)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:39:29 +01:00
Alexandru DAMIAN
0fb825c5e5 bitbake: Revert "toaster: machine not searchable in all builds/projects"
This reverts commit 1a86ed8f95649c5f5a3a66984ce36978d93b0e01.

Bug [YOCTO #7334] was incompletly fixed, and the proper fix is
not straightfoward. Consequently we revert the partial fix, as
a incomplete fix is worse than no fix.

(Bitbake rev: 2a8b3b86fe1d5b8797f740c470a4fe5b69146bf4)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:30:18 +01:00
Alexandru DAMIAN
b0cb740fe0 bitbake: toastergui: add ext4 option for IMAGE_FSTYPES
This patch adds "ext4" as a selectable option in IMAGE_FSTYPES,
to keep in sync with the OE-Core capabilities.

(Bitbake rev: 451e85fe8592cab0a07a6866b2853a29cc38f14b)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:30:18 +01:00
Belen Barros Pena
6dd5e472eb bitbake: toasterui: rename 'targets' to 'recipes'
A recent round of informal user feedback has revealed
that the term 'target' is quite problematic. For
all the users we spoke to the word refers to the
target arch. In Toaster, it refers to the software
you build.

This patch replaces the word 'target' with 'recipe'
across the Toaster interface. This is by no means
self-explanatory, but at least it cannot be confused
with target hardware, and it is also consistent with
the terminology we use in the analysis portion of
the interface.

(Bitbake rev: ac10b5d83172feb10f1f3a3c894a54d2c4c4f09d)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:30:18 +01:00
Alexandru DAMIAN
3ff649953d bitbake: toastergui: prevent error on empty build list
This patch prevents errors being thrown on date limit
computations if the build list is empty.

[YOCTO #7513]

(Bitbake rev: 8068539b6c2913fed66a865b547a653159d8c794)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:30:17 +01:00
Richard Purdie
8db54a9cfa insane: Add baremetal mappings to the QA arch test
Add mappings for i586-elf, x86_64-elf and arm-eabi to binary lookup
table which allows for a variety of baremetal toolchain generation.

(From OE-Core rev: a570052f012298f895fb88be5b0a064bad04024c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:28:35 +01:00
Richard Purdie
77b1711afb siteinfo: Add x86_64-elf support
Teach siteinfo about x86_64-elf so that baremetal toolchains parse/build.

(From OE-Core rev: 7d57887365d7f819a2cdf8efd5e6f325b6af52d8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:28:34 +01:00
Paul Eggleton
1e551ec0c3 README.hardware: clarify NFS requirements for edgerouter
You don't need NFS/TFTP for a plain USB setup.

(From meta-yocto rev: 76ea21bdb1448417fb4e2e2f5659c911a30a5026)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:38 +01:00
Belen Barros Pena
e643f3defe toaster: updating toasterconf.json for fido release
We update the toasterconf.json file for the fido release.

A small update to the release help text in the
toasterconf.json file shipped with the meta-yocto layer.

We now make explicit that Toaster will build with the
tip of the selected branch. We also link the
Yocto Project Dizzy release to the git repository,
and not to the release page on the website.

(From meta-yocto rev: d9348157c4bee1789be7f7af9439c5ba287bb139)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:37 +01:00
Randy Witt
31d301a3f6 populate_sdk_ext: Log the "Preparing build system" step
When using bitbake to do the setscene as part of sdk setup, it would be
useful to have a log in the case where it fails.

The log is called preparing_build_system.log and is in the top level
directory of the extracted sdk.

(From OE-Core rev: cdcfd2211c86880772a65827975ad94d8a5be478)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:37 +01:00
Richard Purdie
b803944ce6 dpkg-native: Avoid 'file changed' errors from tar
Hardlink count duing do_package_write_deb can change causing dpkg-deb
failures. We don't care about this error case so avoid it by checking
the tar exit code.

[YOCTO #7529]

(From OE-Core rev: 77e077a57536c764034f06723edd0749dc578626)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:36 +01:00
Otavio Salvador
64b75d4276 wpa-supplicant: Make SystemD D-Bus config conditional
The SystemD D-Bus configuration should only to be installed when
SystemD support is enabled.

(From OE-Core rev: e658ee16dc026b96f67a4c9666d3eb7bf7027de3)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:36 +01:00
Chunrong Guo
2ac2706bb7 u-boot.inc: fix rename image error
Resolve mismatch between U-Boot configs and uboot image name.
   The ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} may alway be false
   and repeat compile or install so we need to check if ${type} match ${config}

(From OE-Core rev: cc14f461a65b2266caa8acc2c24c0eec02f8e3d7)

Signed-off-by: Chunrong Guo <B40290@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:35 +01:00
Krishnanjanappa, Jagadeesh
a3360f2cc6 libart-lgpl: add art_config.h for armeb/aarch64be/aarch64be_32
The preprocessor macro values present in art_config.h
differ for individual architectures, basically libart-lgpl recipe will
pick up correct art_config.h file based on

ART_CONFIG = "${HOST_ARCH}/art_config.h"

and thereby having correct preprocessor macros definition
of each architectures.

(From OE-Core rev: a4e705930e3236bdb188192c0959d807587500ff)

Signed-off-by: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:35 +01:00
Patrick Ohly
ef73b474fb combo-layer: fix file_exclude for empty commits
The code detecting empty patches after removing files with
file_exclude failed for commits which were already empty before (like
the initial commit in some repos): such patches are completely empty
files, without a From line.

Detect that case and just let the normal empty patch detection deal
with it.

(From OE-Core rev: 6fd7f40728ebf57dfbc367dedeaf350b8d69784c)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:34 +01:00
Patrick Ohly
b936350fc2 combo-layer: fix file_exclude for dest_dir = .
"filterdiff -x ./some/file" does not remove changes for some/file.
We must be more careful about constructing the path name and
only add the prefix when it really means a directory.

While at it, also better normalize the path in copy_selected_files()
early on, to handle double slashes. Useful should the function ever
gets used for something other that dest_dir (which gets normalized in
sanity_check()).

(From OE-Core rev: 6c93520b5aaceefecccd83dc77e8ad7681d312c6)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:34 +01:00
Patrick Ohly
d81ee4d277 combo-layer: clean up dest_dir checking
Empty dest_dir is basically undocumented behavior. The sample conf
only mentions using just a dot for the current directory. In practice,
the empty string does not work because of code like this:

def action_splitpatch(conf, args):
    ...
        if dest_dir != ".":
            filerange_root = '%s -x "%s/*"' % (filerange_root, dest_dir)

However, the empty string was not explicitly checked for, leading to
strange errors when trying to apply patches:

[12:50:23] Applying: foobar: xyz
fatal: unable to stat newly created file '/foobar': No such file or directory

This patch turns the empty string into an alias for the dot. This seems
more user-friendly than throwing an error. This alias is intentionally
not document in the sample conf, because the dot is clearer and works also
with older copies of combo-layer.

Instead of checking for both all the time and normalizing the path when
needed (as done in some places), rewrite the value in sanity_check()
and then only check for '.'.

(From OE-Core rev: a8547b3c2c0b8bf3150043b1b6570f0d44b20335)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:34 +01:00
Juro Bystricky
232ccf23cf glibc-testing: Specify location of c++ header files
Glibc test suite contains several c++ files. They are built
with g++ -nostdinc. In this case the location of c++ include files
needs to be specified explicitly, or the programs may fail to build.

The header locations are assumed to be:
    sysroot/usr/include/c++/<version>
    sysroot/usr/include/c++/<version>/<machine>

The new code parses "configparms" to get the actual CXX and sysroot
used for the glibc test suite, then it queries CXX to determine
CXX <version> and CXX <machine>. With the known values for <version>
and <machine> the code composes a new value for c++-sysincludes
and appends "configparms" with that value.

[YOCTO #7081]

(From OE-Core rev: 15c5e5e83af409509140eaf29d4e10d9db99eb8a)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:33 +01:00
Juro Bystricky
a7e20761bd oe-git-proxy: Redirect error messages to STDERR
oe-git-proxy script needs socat. If socat is not found,
an error message is issued on STDOUT. This leads to a misleading
git message:

fatal: protocol error: bad line length character: ERRO

instead of the intended message:

ERROR: socat binary not in PATH

Redirecting the error message to STDERR fixes this issue.

(From OE-Core rev: d611d7009631aa8a372f248995b52938163966c6)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:33 +01:00
Richard Purdie
bc090aa673 autotools: Avoid find race for S = "${WORKDIR}"
For recipes with PACKAGES_remove = "${PN}", the find which removes .la files
can race against deletion of other directories in WORKDIR e.g.:

find: '/home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/sstate-build-populate_lic': No such file or directory
| WARNING: /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7/temp/run.do_configure.6558:1 exit 1 from
|   find /home/autobuilder/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/qemux86_64-poky-linux/init-ifupdown/1.0-r7 -name \*.la -delete

The simplest fix is to add the find option which ignores these kind of races.

[YOCTO #7522]

(From OE-Core rev: 7dd17effffc00cd6e58ba6a004b811c8452254d7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:32 +01:00
Richard Purdie
6891ae6425 gcc: Tweak arm multilib endian patch for baremetal
In a baremetal build, TARGET_ENDIAN_OPTION isn't set leading to build
failures. Add in ifdefs to avoid this.

(From OE-Core rev: 5325c763a66b252c976ece3a08e5fc916fd6c416)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:32 +01:00
Ross Burton
a842038bca kernel-yocto: merge duplicate kernel_configme task definitions
The kernel_configme task was added twice (once in the .bbclass, one in a .inc)
with different ordering constraints.

Change this to be just one definition in the bbclass with the stronger ordering
constraints.

(From OE-Core rev: 0830078cd1d6a365543877bf8eda93c3fff71b0d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:32 +01:00
Ross Burton
7c0846cc5b linux-yocto: add kern-tools-native to kernel_metadata depends
The autobuilder failed like this:

  temp/run.do_kernel_metadata.25242: line 165: createme: command not found

createme is provided by kern-tools-native.  do_patch has a dependency on
kern-tools-native, but do_kernel_metadata runs before do_patch.  So move the
dependency from do_patch to do_kernel_metadata, moving the statement from the
.inc to the class so it's alongside the task definition.

[ YOCTO #7531 ]

(From OE-Core rev: 938d0288adc2ace3c66dab5904ad958a4c7615cc)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:31 +01:00
Belen Barros Pena
47686dc42f toaster: update toasterconf.json for fido release
We update the toasterconf.json for the 1.8 "fido"
release.

A small update to the release help text in the
toasterconf.json file shipped with the
openembedded-core layer.

We now make explicit that Toaster will build with
the tip of the selected branch, and we add links
to the OpenEmbedded repository.

(From OE-Core rev: 6ab371da72ce119c1b32ec7428aec1250e7aaf15)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:31 +01:00
Alexandru DAMIAN
938fa5cebf toaster.bbclass: do not add symbolic links to artifacts
This patch removes the symbolic links from the artifact list.

[YOCTO #7184]

(From OE-Core rev: 1243b616e2b375061fafb6b504df7106a808f7d2)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:30 +01:00
Robert Yang
18661937e4 cpio: fix CVE-2015-1197
Additional directory traversal vulnerability via symlinks
cpio CVE-2015-1197

Initial report:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=774669
Upstream report:
https://lists.gnu.org/archive/html/bug-cpio/2015-01/msg00000.html

And fix the indent in SRC_URI.

[YOCTO #7182]

(From OE-Core rev: 87d8c11e7504210e377cb6201e672d32048e000c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:30 +01:00
Robert Yang
c1d31cf2c7 patch: fix CVE-2015-1196
A directory traversal flaw was reported in patch:

References:
http://www.openwall.com/lists/oss-security/2015/01/18/6
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=775227
https://bugzilla.redhat.com/show_bug.cgi?id=1182154

[YOCTO #7182]

(From OE-Core rev: bf986b527038821b49c81c4b9abc10e2dff32c38)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:24:29 +01:00
Richard Purdie
8b3d3e7c95 build-appliance-image: Update to fido head revision
(From OE-Core rev: da6a62eac903e66174e32d749d1c463fc3e78b78)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 13:14:35 +00:00
Richard Purdie
fe5b98019d poky: Add 1.8 to sanity tested distro list
(From meta-yocto rev: 44f0d5fc79be64d18c8bb84326606c16621806d4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 13:13:13 +00:00
Richard Purdie
184e00a36b build-appliance-image: Update to fido head revision
(From OE-Core rev: d343fbcad91d1f1379facec80b380b4ee75138cf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 13:01:19 +00:00
Beth Flanagan
8f1decb32b poky.conf: Flip DISTRO_VERSION for pending 1.8 release
Flipping DISTRO_VERSION for fido.

(From meta-yocto rev: 5d025acb4a37f74c17562bba3f1a35e0852c883f)

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:55:37 +00:00
Richard Purdie
36ac2c6dfd bitbake: Update to version 1.26.0
(Bitbake rev: 71316d2239a42f9914e64f26fa9141dfe3232354)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:55:37 +00:00
Alexandru DAMIAN
87c4e58dda bitbake: toasterui: enable sanity checker
Since toasterui acts as the user-facing UI, we need
to run sanity checks in order to let the GUI display proper
warnings and stop the build if something is wrong.

(Bitbake rev: 260dd77fa771ae3b777134f4178d344e96b6f3d6)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:58 +00:00
Dave Lerner
eeef93ad07 bitbake: toaster: most-build-targets bug fixes
Fixes for the following for the "Most built targets" section of the
project page:
1) limit the number of most built targets to 5,
2) order the list of most built targets by build count,
3) select only those builds that had build status of 'fail', 'success',
or a BuildRequest of 'failed',
4) if there are no layers in the project then (on refresh) all of the
checkboxes in the 'Most built targets' list are disabled.

Note that per agreement with UI designer, the only sort on the most
target list is build count as described in (3) above; secondary sorting
is random.

[YOCTO #7177]

(Bitbake rev: dda2f07193e740860f4497c3761d340d8c5c2b41)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:58 +00:00
David Reyna
1a4c8a849a bitbake: toaster: PACKAGE_CLASSES variable does not show current value when editing
A typo in some element selectors caused the package_rpm setup to break.

[YOCTO #7448]

(Bitbake rev: 0479faa46f0364df6d8e151be34e1834076df49d)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:57 +00:00
Belen Barros Pena
3190ab6441 bitbake: toasterui: small changes to empty states
This commit:

* Makes some changes to the layout and styles of the
landing.html template

* Adds the empty state to layers.html

* Changes the message of the empty state of machines.html
to use the same wording used in all other pages

* Adds the project name and the right styles to
the empty state of the project.html template

* Makes small changes in style and wording to the
empty state of targets.html

* Updates all "configure a layer source" links to point
to the new Toaster manual.

(Bitbake rev: d886db3add1351a806ab58ec7519d2321687187b)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:57 +00:00
Belen Barros Pena
38c3f2ec5e bitbake: toasterui: hide right column if empty
In the layer details page, if the background
information about the layer that shows in the
right hand column is completely empty, remove
it altogether.

(Bitbake rev: fe9fff960d0a6fc24e0e177e5194f93a7be9456b)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:56 +00:00
Belen Barros Pena
63510bf20d bitbake: toasterui: Improve messaging for empty layer details
Explain that, if information is found during the build
process, it will appear in the layer details page.

(Bitbake rev: 40b46ce28b0b93241f9ce581f1e295e95bbff284)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:56 +00:00
Belen Barros Pena
7c3bdebffe bitbake: toasterui: hide release when only one exists
If only one release has been set up in Toaster,
any project you create defaults to that release,
and we simply don't show the release selection
menu when creating projects.

However, we were still showing the release information
in the project page, which would leave users wondering
what that release thing is since they never were
exposed to it.

This patch hides the release information in the
project page when only one release has been set
up in Toaster.

(Bitbake rev: 0bd81be04c88104d7d460f913d0500e5fa9755fe)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:55 +00:00
Belen Barros Pena
fd4085f380 bitbake: toasterui: update links to Toaster manual
Set the links to the Toaster manual in the base.html
and landing_not_managed.html templates to the URL of
the new Toaster manual.

(Bitbake rev: 88b1201a2f6dec53970b120cc8e13c0eb5ae21e1)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:55 +00:00
Belen Barros Pena
792716a385 bitbake: toastergui: changes to release change notifications
* Remove the branch name from the list of the layers
deleted (it does not apply).

* In the modal dialog that warns you before layer
deletion, use the release description instead of
the release name

(Bitbake rev: b4ffe490253108e7a009290474e206468255ce12)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:54 +00:00
Dave Lerner
2b59512e0d bitbake: toaster: alert fixes for project release change
When a project release changes, if there are layers included with the
project, then show the release branch name in the layer list.  If there
aren't any layers in the project, then suppress the statement on the
changed layers.

[YOCTO # 7168]

(Bitbake rev: 24d0938001da27c7ebcf36ce076f2aa58cbcf256)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:54 +00:00
David Reyna
6a934f488f bitbake: toaster: build date range selections
Enable date range selections for build start and build complete in all
builds page for both managed and interactive mode. Disable the filter
counts.

[YOCTO #6040]
[YOCTO #7249]
[YOCTO #7461]

(Bitbake rev: 7c86ed5fb51c6237fa40fb454e58564ef027dd51)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:53 +00:00
David Reyna
e840b7a8fb bitbake: toaster: build date range selections static sources
Add the static resources from jquery-ui needed for datepicker

The static files are licensed MIT and produced by jQuery foundation
under the jQueryUI project.

[YOCTO #6040]
[YOCTO #7249]

(Bitbake rev: cedebbb47192be85ff0b1e4a313c6f9cf737a9c6)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:53 +00:00
David Reyna
abcd9796cb bitbake: toaster: machine not searchable in all builds/projects
Add "build__machine" to searchable fields.

[YOCTO #7334]

(Bitbake rev: 1a86ed8f95649c5f5a3a66984ce36978d93b0e01)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:52 +00:00
Belen Barros Pena
7cb05bf6be bitbake: toastergui: changes to the all projects table
The 'Last build' column in the all projects table
was supposed to provide the completion time stamp
of the latest project build. Instead, it is showing
the time stamp of the latest project activity, which
includes:

* when the project was created and
* when the last build started

but not when you make a change to the configuration.

The result is that the column and the sorting are very
misleading. The template is set so that the time stamp
only shows when the project has builds (if 0 builds, no
time stamp is shown). But of course the sorting still
happens according to the value, even if it doesn't
display. The result is that, when you sort by the
'Last build' column, projects with no builds
appear listed between projects with builds, and you
have no idea why.

This patch:

* changes the column label
* its position in the table
* makes sure the time stamp always displays
* and adds help text

to reflect what the data actually means.

It also makes some small changes to other table
headings.

(Bitbake rev: 994b19ef7f633b8d463efa7022f2e17cd483a387)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:52 +00:00
Michael Wood
fb7160e422 bitbake: toaster: Project page fix targets url and tooltip placement
Make sure we point to the all targets page for the notification links.
Also fix the tooltip placements and a minor typo on the targets page.

[YOCTO #7480]

(Bitbake rev: cbf3d652dcbfc1db527eb13cd796fa57d8ff3748)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:52 +00:00
Dave Lerner
e1a5d81500 bitbake: toaster: layer-relative paths for config files
Change bitbake variables table to show the path to the file in which
the variable was defined using a layer-relative path instead of the
full path to the file.

The layer-relative path is found by matching on the full defining file
path with entries in a list of layer names, sorted in descending order,
and with 'meta' appended as a built-in layer to the end of the list.

Additional filters are used to reduce false matches, although even if
there is a false match, the actual path to the defining file will be
obvious and not misleading.

[YOCTO #7414]

(Bitbake rev: ef6e854a50ea6894b0e320025280431a6fc8a9a5)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:51 +00:00
Belen Barros Pena
fa595132b3 bitbake: toastergui: give button nice rounded corners
In the 'add variable' form, the submit button had
a class applied that gave it straight corners on the
left, and rounded corners on the right.

Remove the class so that we have 4 nicely rounded corners.

The patch also removes the unncessary inline styles in the
same button.

(Bitbake rev: 4f2a6d5b515dec4b6199cc4517cd13dcc331f3c3)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:51 +00:00
Alexandru DAMIAN
1385f28770 bitbake: uievent: catch and log exceptions in receiving events
This patch prevents tracebacks and instead logs exceptions
that may happen during event processing.

[YOCTO #7216]

(Bitbake rev: 0412631fb4a15ff42bf5ee46a77920fa558ae358)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:50 +00:00
Ed Bartosh
4e18659633 bitbake: bin/bitbake: Create bitbake_main API
Moved most of functionality of bin/bitbake to lib/bb/main.py
to be able to call bitbake from python code.

(Bitbake rev: d377f7f88d73f4e5d2dffef03d6acee809827ac6)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:50 +00:00
Richard Purdie
f2ca8bc297 python-pygobject: Disable parallel make install in native case
Comments within the commit describe the issue.

(From OE-Core rev: 2d923d6dfe9431dbc005f8ba39838eb4519c471c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:49 +00:00
Richard Purdie
a77f368cca lttng-modules: Update along 2.6 stable branch
Resolve compile issues with latest 3.19 stable series kernels.

(From OE-Core rev: 13eef8f4dfcd72a6262e8291e2e08d52e3d327a2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:49 +00:00
Tyler Hall
3a646564ad uninative-tarball: fix dependency on patchelf
DEPENDS doesn't actually add the dependency on patchelf-native to the
populate_sdk task. SDK_DEPENDS does this, but move the append to after
inheriting the base class so it does not get overwritten.

Without this, uninative-tarball fails to build in a clean workspace on a
system without patchelf.

[YOCTO #7467]

(From OE-Core rev: 0631c2b52432ddf86292351d605b65941d2a8be2)

Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
Acked-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:49 +00:00
Bruce Ashfield
6e1ba48120 skeleton: clarify linux-yocto-custom workflow
It was pointed out that the kernel development documentation recommends
making a copy of linux-yocto-custom, while the comments in the recipe
itself suggest a bbappend.

To keep things consistent between these two sources, we update the
comment in the recipe itself to also recommend a copy (and rename).

[YOCTO: #6925]

(From OE-Core rev: aabd47e46a31b526ee880dfd22a1a1f2831ab355)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:48 +00:00
Bruce Ashfield
dbfafd8493 linux-yocto/3.19: fixes for Intel core warnings
Updating the 3.19 meta branch to include the following configuration
change to deal with kernel configuration audit warnings:

  9e70b482d377 romley: remove common video and media config items
  8a4e096759ad intel-common: remove eg20t from common config
  c2f5ab15620c drm-cdvpvr: Add STAGING_MEDIA
  ac4693c1db39 media: Prefer modules(m) to yes(y) and update for 3.19 Kernel

(From OE-Core rev: aa57c02e12a3ecd26eff410f70de28013aed2e00)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:48 +00:00
Bruce Ashfield
c0f931aa74 linux-yocto/3.14: integrate korg stable and meta data changes
Updating the 3.14 SRCREVs to import the v3.14.36 korg stable changes and
configuration changes to the meta branch.

(From OE-Core rev: 3ca86a30bcbdf59753b7ad611d5e307b65d3c0f6)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:47 +00:00
Bruce Ashfield
9dbc258b3f linux-yocto/3.19: configuration updates and stable import
Updating the 3.19 SRCREVs to pick up the korg 3.19.2 release, as well
as the following meta data changes:

  ed82e1ac3196 features: soc: fix typo in baytrail.cfg
  76bc151242d7 tiny.cfg: Enable BINFMT_SCRIPT

(From OE-Core rev: 486c40b6d9566e882c841f0cb398612ba70256e7)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:47 +00:00
Bruce Ashfield
4dbe239ff4 kernel-yocto: allow in-tree defconfigs
In a similar manner to the kernel itself, which does the following to
bring a defconfig into the configuration:

    defconfig: $(obj)/conf
    ifeq ($(KBUILD_DEFCONFIG),)
        $< --defconfig $(Kconfig)
    else
        @echo "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'"
        $(Q)$< --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig)
    endif

We do the same with the linux-yocto configuration processing. If a
defconfig is specified via the KBUILD_DEFCONFIG variable, we copy it
from the source tree, into a common location and normalized "defconfig"
name, where the rest of the process will include and incorporate it
into the configuration process.

If the fetcher has already placed a defconfig in WORKDIR (from the
SRC_URI), we don't overwrite it, but instead warn the user that SRC_URI
defconfigs take precedence.

[YOCTO: #7474]

(From OE-Core rev: 5f5595eebeb81be7e824d998228e4ef9f0bfac7d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:46 +00:00
Richard Purdie
df6d275d74 openssl: 1.0.2 -> 1.0.2a
Patch updated to drop TERMIO flags since these are the default on
Linux anyway (see https://git.openssl.org/?p=openssl.git;a=commit;h=64e6bf64b36136d487e2fbf907f09612e69ae911)

Also drop patch merged upstream.

(From OE-Core rev: 6cc1315b77bbdcc8f3a0d1e3132ad79ebbeeb2de)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:46 +00:00
Jussi Kukkonen
62fdc7b503 gst-player: Add error messages for missing plugins
Make it easier to understand problems with missing gstreamer plugins
(e.g. decoders) by adding an info bar with a message like "Missing
plugin 'MPEG-4 AAC decoder'" to the player.

(From OE-Core rev: fb04247ac27cf18b46efbc47aae6bb3f9fde8168)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:45 +00:00
Andreas Oberritter
14098e37c8 package_deb: DpkgIndexer use apt-ftparchive that needs a valid config
Since we have support of log checking in deb/ipk [1] rootfs generation
in non Debian-based hosts fails because apt-ftparchive generates a
Warning when not find /etc/apt/apt.conf.d/ (available in Debian-based
hosts).

package_manager.py: DpkgPMIndexer add support for generate and export apt
configuration.

[1] http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=86aec93902af2e2d7d73ca9a643707fcca45055c

(From OE-Core rev: 331a7bbb1cd6781c93644a378d340deddcdb8bd2)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:45 +00:00
Randy Witt
d2690754fe image.bbclass: Empty /var/volatile if it is a mount point
If /var/volatile is a mount point it shouldn't contain any files before
mount time. If files are there, they will no longer be able to be accessed
once the tmpfs gets mounted at /var/volatile.

This problem can be seen for instance when systemd creates
/var/volatile/log/journal as part of its package installation. It then
assumes the journal is persistent even though /var/volatile/log/journal
goes away shortly thereafter.

This change makes sure that there are no files in /var/volatile if it is
to be used as a mount point.

[Yocto #7388]

(From OE-Core rev: b574ac6f3c9e07f0054ed4261bc1f83583c29c53)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:45 +00:00
Richard Purdie
96104b825f image: Ensure manifests end with a newline
Manifests should end with a newline character but don't currently. This
is the easiest fix for now, the alternative would be a rewrite of the
internal code which is something to consider in due course.

[YOCTO #7427]

(From OE-Core rev: 98230d2d049c742c349f35b256b13afbc3d26235)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:44 +00:00
Andreas Oberritter
c70dc37b90 libunwind: use xz, because it fails to detect liblzma provided by lzma
(From OE-Core rev: 53bafb0d22a84186d215eb8f106ccff69f1b0480)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:44 +00:00
Andreas Oberritter
f94450a40b ca-certificates: clean up before do_compile()
Otherwise the script which converts mozilla certificates extracts
each certificate twice.

(From OE-Core rev: 3aae6a3c2786713115451f6b6fe151ba69369c1d)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:43 +00:00
Andreas Oberritter
f43d13c1d0 pigz: fix alternatives handling, use symlinks, provide zcat
The installed unpigz is a hardlink to pigz.

(From OE-Core rev: 5017ff434130c62fabb42f8224fb246801f13d0c)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:43 +00:00
Andreas Oberritter
4ca684a0f7 kernel-module-split.bbclass: Avoid bogus recommends for modules ending with -dev
Example: lirc-dev.ko -> kernel-module-lirc-dev

(From OE-Core rev: dc20323cfe6f3f5a880dfeb02e9463ffa3db1ad9)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:42 +00:00
Andreas Oberritter
f878ee5d52 valgrind: enable build for MIPS
Since 3.8.0, valgrind supports MIPS32. MIPS64 was added in 3.9.0.

(From OE-Core rev: 13d2f0c8cd71a636de16ef33c546af7b208115bd)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:42 +00:00
Andreas Oberritter
43d84d82c9 connman: only depend on xuser-account if ROOTLESS_X is set
* Copied from xserver-nodm-init.

(From OE-Core rev: a09cfe460b6366edffacbd868af4d976bfe16520)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:42 +00:00
Andreas Oberritter
9782db00d4 libav: fix floating dependency on libasound
(From OE-Core rev: 8c6cb85745ca580f7b0e7ff98006c76a85534de0)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:41 +00:00
Andreas Oberritter
b31a0e3091 python: fix cached config value for /dev/ptmx
Linux usually has /dev/ptmx, so set set it to yes.

(From OE-Core rev: f19d5e3ffbb10ddc6220249fb9e978d1c3fc5e45)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:41 +00:00
Richard Purdie
7cb5ea06b8 qemu: Add patch to fix qemux86-64 EDSCA key problems
Without this patch, x86_64 images would show invalid EDSCA key errors
with sshd from openssh (but not dropbear) during init.

This would cause problems with operation with some distros where EDSCA
keys were mandatory. The issue was present in qemu 2.2.1 and not in
2.3.0-rc0, bisected to this commit which was then backported. This fixes
intermittent failures on the autobuilder. Issue is not present when
using KVM (consistent with a fault in TCG).

(From OE-Core rev: 27fe06cb7d30c79833769b3ebb080a7a8115439d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:40 +00:00
Randy Witt
443938795e Revert "systemd: Fix the problem of an empty journal on boot"
This reverts commit e75c95ceca. The fix
was reported to cause long waits for some users.

(From OE-Core rev: 6d68e64a1ecf7c2a4903b0dcdbe25aa6412ff231)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:40 +00:00
Andreas Oberritter
68bc42113d kernel-module-split.bbclass: fix autoloading from postinst script
When using KERNEL_MODULE_AUTOLOAD, autoload was empty, causing
"modprobe None" to get appended to the postinst script.

(From OE-Core rev: 2e3768075878b8fc0f7642cae89ab7b9d03fe52c)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:39 +00:00
Alejandro Hernandez
65a8408155 python: Fix PGEN linking errors
Parallel make races when linking PGEN affects target's python
compilation as well, adds patch from python-native to modify the
Makefile and avoid parallel make races, also updates upstream status

(From OE-Core rev: 4f0d1015aa3331ae7b376f836d3188b6017abfb1)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:39 +00:00
Andreas Oberritter
2a473ac17a update-alternatives.bbclass: alternatives should be removed in prerm
This behaviour matches dpkg's manpage and fixes deinstalling
alternatives for programs needed by the postrm script, e.g. /bin/sh.

(From OE-Core rev: 2a5484a90513b58c829a916bfe5268a0fde3512a)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:38 +00:00
Andreas Oberritter
8b8d8431a9 dpkg: Don't move update-alternatives to sbindir
Debian, Ubuntu and opkg all have it in bindir.

(From OE-Core rev: 5f6faeb24ba80cdb6c9f62b185e40adc15f0fd6e)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:38 +00:00
Andreas Oberritter
ce9226f97c rootfs.py: Also uninstall update-alternatives and shadow for read-only-rootfs
This brings back commit d41097a970e9bfa553cd4bc3c9fad4b9073d7bd5,
which got lost during transition from image.bbclass to rootfs.py.

(From OE-Core rev: f4932e2e640764d16f1f6d398390ebfb376f4cf1)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:38 +00:00
Andreas Oberritter
349f3ab519 package.bbclass: Add SYSTEMD_SERVICE to list of package specific variables
Changes to SYSTEMD_SERVICE should change the sstate checksum. To make that
happen, it needs to be listed in the list of package specific variables,
therefore add it.

(From OE-Core rev: 0a51f024e8212f011bb8b03d81f18bcd9aa6aa1f)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:37 +00:00
Cristian Iorga
7ecfaaaf58 webkit-gtk: disable JIT for armv5/armv6
JIT for JS causes webkit to crash for
ARM v5 and ARM v6 arch, so disable it for now.

TODO: re-evaluate after webkit-gtk upgrade.

Fixes [YOCTO #6931].

(From OE-Core rev: c68bac145af0d754ba9497a42925253e9049da45)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-25 12:39:37 +00:00
Tom Zanussi
369932178f yocto-bsp: Update templates to 3.19 kernel
Add 3.19 kernel support and remove 3.10 and 3.17 support.

'Fixes' [YOCTO #7391].

(From meta-yocto rev: fe9b3c567230e815f528431f1098626669a9568f)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-24 10:06:03 +00:00
Jonathan Liu
4bd886fb00 systemd: fix firmware path to match linux-firmware
(From OE-Core rev: d3fcfe346b3472170641d9194243c4bbe06b8585)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-23 11:27:21 +00:00
Lucian Musat
b528712a07 meta-yocto/distro: Updated SANITY_TESTED_DISTROS.
Added OpenSUSE-13.2, Fedora 21. Removed poky 1.6 and Ubuntu 12.04.

(From meta-yocto rev: 8b7bd4de4f23a4d115a7a168cae25c8f74e3119c)

Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-23 10:40:54 +00:00
Ed Bartosh
fdf383ffe6 poky.conf: Fix 'distro is not validated' warning for OpenSUSE
Updated openSUSE distro names used in meta-yocto/conf/distro/poky.conf.

Currently used distro names cause bitbake to issue this warning on
all openSUSE systems:
WARNING: Host distribution "openSUSE-NN.N" has not been validated
with this version of the build system.

(From meta-yocto rev: 2d4e276f25bf70637f5a8762f363821643de2de3)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-23 10:40:54 +00:00
Jonathan Liu
814252efd0 systemd: restore userspace firmware loading support
This changes the minimum required Linux version from 3.7 back to 3.0.

[YOCTO #7409]

(From OE-Core rev: 31163abc7bedd477c1aad10e6d1f47dbee194513)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-23 10:33:06 +00:00
Armin Kuster
bbc1396176 tzdata: update to 2015b
Changes affecting future time stamps

Mongolia will start observing DST again this year, from the last
Saturday in March at 02:00 to the last Saturday in September at 00:00.
(Thanks to Ganbold Tsagaankhuu.)

Palestine will start DST on March 28, not March 27.  Also,
correct the fall 2014 transition from September 26 to October 24.
Adjust future predictions accordingly.  (Thanks to Steffen Thorsen.)

Changes affecting past time stamps

The 1982 zone shift in Pacific/Easter has been corrected, fixing a 2015a
regression.  (Thanks to Stuart Bishop for reporting the problem.)

Some more zones have been turned into links, when they differed
from existing zones only for older time stamps.  As usual,
these changes affect UTC offsets in pre-1970 time stamps only.
Their old contents have been moved to the 'backzone' file.
The affected zones are: America/Antigua, America/Cayman,
Pacific/Midway, and Pacific/Saipan.

Changes affecting time zone abbreviations

Correct the 1992-2010 DST abbreviation in Volgograd from "MSK" to "MSD".
(Thanks to Hank W.)

(From OE-Core rev: b00539285ffce0b7d954bc0610c986aa53c8255f)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:37 +00:00
Armin Kuster
21f4188415 tzcode: update to 2015b
Changes affecting code

Fix integer overflow bug in reference 'mktime' implementation.
(Problem reported by Jörg Richter.)

Allow -Dtime_tz=time_t compilations, and allow -Dtime_tz=... libraries
to be used in the same executable as standard-library time_t functions.
(Problems reported by Bradley White.)

Changes affecting commentary

Cite the recent Mexican decree changing Quintana Roo's time zone.
(Thanks to Carlos Raúl Perasso.)

Likewise for the recent Chilean decree.  (Thanks to Eduardo Romero Urra.)

Update info about Mars time.

(From OE-Core rev: fbd98e677dcf6324cf713d888aa85c4264f42ec9)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:37 +00:00
Ed Bartosh
3acdd43b2f lib/oe/lsb.py: Prioritize parsing of /etc/os-release
Moved parsing of /etc/os-release before parsing of
/etc/SuSE-release as /etc/SuSE-release is deprecated in
recent releases of OpenSuSE.

Here is the quote from /etc/SuSE-release:
/etc/SuSE-release is deprecated and will be removed in the future,
use /etc/os-release instead

(From OE-Core rev: b3852bebb850048389994993e3717e54020c662f)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:18 +00:00
Chong Lu
cbce06a172 tar: set acpaths to avoid "Argument list too long" error
There would be an error when the TMPDIR is long/deep, for example when
len(TMPDIR) = 410 while our supported longest value is 410:

    aclocal: error: cannot open xxx
    autoreconf: aclocal failed with exit status: 1
    ERROR: autoreconf execution failed.

Let aclocal use the relative path for the m4 file rather than the
absolute would fix the problem.

[YOCTO #6138]

(From OE-Core rev: 747333764231d0320bdefbcf192b2589e70c58a1)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:17 +00:00
Diego Rondini
98487ccb5f watchdog: Provide and install initscript
Provide and install an initscript for the watchdog package.
In particular:
- watchdog-init.patch adapts redhat initscript to be compatibile with
  OpenEmbedded;
- watchdog-conf.patch selects /dev/watchdog as default device;
- changes to the recipe install and configure the initscript.

(From OE-Core rev: 415be16794dfe9122e6eedff950bede2070008ed)

Signed-off-by: Diego Rondini <diego.ml@zoho.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:17 +00:00
Andre McCurdy
a1cb3b016b mtd-utils: minor recipe formatting cleanup
Remove obsolete comment describing SRCREV and re-order
SECTION, DEPENDS and PV lines. No functional changes.

(From OE-Core rev: 53c028dcbb32792554394fb3da690f02558a9516)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:17 +00:00
Matthieu Crapet
543d1bd488 postinst_intercept script: drop pipe
Avoid useless subshell.
There's no word splitting in variable assignment.

(From OE-Core rev: 7b12f4860138d8f5e53ebdfa2a87b59a9ea5c487)

Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:16 +00:00
Chen Qi
86aec93902 rootfs.py: add log checking ability for deb and ipk
Extract the common codes of log checking and add the ability of log
checking for deb and ipk package backend.

(From OE-Core rev: d995871b433643958845e1d476813fa12888100e)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:16 +00:00
Chen Qi
f4d90ecf88 rootfs.py: two changes regarding log checking
This patch involves two changes.

1. Extend the regular expression to also catch '^WARNING:' in _log_check_warn.
   Warnings from bb.note or bbnote begin with 'WARNING:'. So if we decide to
   catch warnings at rootfs time, we should not ignore those produced by
   the build system itself.

2. Delay _log_check in rootfs process so that more warnings are likely to be
   catched. Note that we should at least delay the _log_check after the
   execution of ROOTFS_POSTPROCESS_COMMANDS, because we want to catch warnings
   there.

(From OE-Core rev: 4c9213dffb71510ba99a0665f620e9de4a2dfeb5)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:15 +00:00
Robert Yang
5dc1f3d8a0 oelint.bbclass: remove duplicated code
The old code 'if not srcpath.find("{PN}") == -1:' looks strange, use
'if srcpath.find("{PN}") != -1:' and remove duplicated code.

(From OE-Core rev: bb3b8e4e7580c1dfdfe584d3b5f0fe6803826a43)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:15 +00:00
Robert Yang
7366894e41 oelint.bbclass: adjust task order
Addtask lint before do_build rather than do_fetch, otherwise it would
cause all the tasks after do_fetch run again every time since
do_lint[nostamp] = "1".

(From OE-Core rev: 122ef911aac96b311bbe19106fb9ecbe004fd51b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:15 +00:00
Cristian Iorga
b4578680f6 neard: fix the install path in init scripts
The neard make scripts will place the daemon executable
in /usr/lib/neard/nfc/neard. Change the path accordingly
in init scripts.

Fixes [YOCTO #7390].

(From OE-Core rev: bd277f3a46e7fc764cc55c5354d2136fcfddc3c1)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:14 +00:00
Martin Jansa
4f1ce61754 nss: move /usr/bin/smime to nss-smime
* remove perl runtime dependency from main package

(From OE-Core rev: c799c753d56fcb9468d32d7622817ecf7932cdf4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:14 +00:00
Andre McCurdy
dfa8034e7e directfb: define DEPENDS and EXTRA_OECONF via directfb.inc only
Remove duplicate EXTRA_OECONF definition from directfb_1.7.6.bb.

(From OE-Core rev: 33eabf3fde9589239b5f63df9ba34ca609779ae7)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 14:42:13 +00:00
Alejandro Hernandez
5e9d2d6d60 python-pexpect: Adds this module to buildtools, since it is needed by some of the automated runtime test code.
[YOCTO 7279]

(From OE-Core rev: 5c183f69b65478a98982e544728d00269efe3e22)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:50:04 +00:00
Alejandro Hernandez
44c8637e2f python-pexpect: Creates a recipe for the pexpect python module
Based on the recipe contained in http://layers.openembedded.org/layerindex/branch/master/layer/meta-python

[YOCTO #7279]

(From OE-Core rev: e353c9a94d82eba6e2d9bce303e9be891cc2aec2)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:50:03 +00:00
Chen Qi
d70c981b83 license.bbclass: skip license checking if the package contains no file
If the package doesn't contain any file, then the license isn't relevant
as far as the final image is concerned. So we skip the license checking
in license_create_manifest if such case.

(From OE-Core rev: f7b6684d2248f4a56e70b292891f9a454275449d)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:50:03 +00:00
Alejandro Hernandez
19ad6b6c5d python-distribute: Adds netclient, email and shell runtime dependencies necessary to
run python-distribute out of the box

(From OE-Core rev: 3cdbdb63631cf6e2a59142f86407fb430e633897)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:50:02 +00:00
Robert Yang
72ead27887 sanity.bbclass: vmdk and live can't be built together
Both vmdk and live use syslinux, but they have different/conflicted
configurations, the main conflictions are:

                    vmdk                live
SYSLINUX_ROOT       root=/dev/sda2      root=/dev/ram0
SYSLINUX_LABELS     boot                boot install
INITRD              No                  yes

So it would make the boot menu strange and vmdk can't be boot, we need
add a few extra vars to fix the problem such as SYSLINUX_ROOT_VMDK
SYSLINUX_ROOT_LIVE, but that needs a lot of changes in the code, so just
add a sanity checking for it.

[YOCTO #6889]

(From OE-Core rev: 521737f456b6ea7f7f153132c77cb74c08f088dc)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:50:02 +00:00
Chen Qi
38aff0dc0f os-release: add LIC_FILES_CHKSUM
Add LIC_FILES_CHKSUM to avoid the warning below at rootfs time.

    WARNING: The license listed MIT was not in the licenses collected for os-release

(From OE-Core rev: fa98c9c6038b22df406d4088252e76a0d2975199)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:50:02 +00:00
Robert Yang
f987e923b1 tzdata: fix HOMEPAGE
(From OE-Core rev: 7efed4d963bd8424af0ddebc3a09226182232759)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:50:01 +00:00
Robert Yang
75c16c0cdc groff: fix HOMEPAGE
(From OE-Core rev: 55d0a51a683e00eb129521c74c1d8adc27ce2dea)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:50:01 +00:00
Robert Yang
2ade4b23c8 gawk: fix HOMEPAGE
(From OE-Core rev: f7146ecfcc12d6047dc14333b399ab84edaad134)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:50:00 +00:00
Ross Burton
c1e4e27443 libav: add PACKAGECONFIG for VA-API
Intel BSPs want to enable VA-API support so add a PACKAGECONFIG statement to
enable it if required.

(From OE-Core rev: 1e737fb0c032cb9f8f9869eeda80850bea05ad50)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:50:00 +00:00
Alex J Lennon
84e500799b e2fsprogs: Package resize2fs
(From OE-Core rev: 3047160d04dfa1846db52b58d77f6380ea3dfb6e)

Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:49:59 +00:00
Aníbal Limón
94f5ce05e8 xserver-nodm-init: Change to vt1 when stop
When X is stopped it remains in the same vt that was launched,
change to vt1 instead to avoid manual vt switch.

[YOCTO #5336]

(From OE-Core rev: 6cf330bfbbb8ab7f9506bbed59ce6c2d90a0c1a2)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:49:59 +00:00
Aníbal Limón
3e9476e692 sysvinit-inittab: Fix no tty in runlevel 1.
When switch to runlevel 1 (Single user mode), tty was not
re-spawn and appears to be a machine hang.

[YOCTO #5336]

(From OE-Core rev: f7c270d073d6f0d1e741e9850c599074ebe79db7)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:49:58 +00:00
Caner Altinbasak
3aad5e01cc util-linux-native: Fixed conflicts with shadow-native and ncurses-native
util-linux-native provides /bin/reset and /sbin/nologin. shadow-native
    provides /sbin/nologin and ncurses-native provides /bin/reset. This
    creates a conlict.

    [YOCTO #7484]

    This commit fixes the conflict by deleting the /bin/reset and
    /sbin/nologin from util-linux-native installation.

    Signed-off-by: Caner Altinbasak <caner.altinbasak@gmail.com>

(From OE-Core rev: 56d49ee48f47ea05de26a7e922597413f81b2122)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:49:58 +00:00
Lucian Musat
b0b8f47e99 oeqa/runtime: Added a new auto rpm test
The test tries to query the rpm list with a non-root user

(From OE-Core rev: 9d5deedfdae28d0257e84e1980c2cb7fd4e38c45)

Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:49:57 +00:00
Paul Eggleton
a8c98c399f oe-selftest: use spaces to indent python code, not tabs
Indenting-only change.

(From OE-Core rev: b3005576a9e0bcaa47c41f25451d1fe7ef30c7fe)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 09:42:36 +00:00
Scott Rifenbark
4783ead254 dev-manual: Applied review edits to section on hostname changing
Edits to the "Customizing an Image Hostname" section from Ross.
Updated the last paragraph to not imply incorrect information.

Fixes [YOCTO #7417]

(From yocto-docs rev: 8997be297077ee0052a5afbe50b9864cdef14058)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:48 +00:00
David Reyna
12c7efe40a bitbake: toaster: insure IMAGE_INSTALL_append values have a space prefix
When the IMAGE_INSTALL_append value is not empty, it must have a space prefix
in order for the "append" operator to concatenate the values correctly, so we
enforce it in this variable's submit javascript.

[YOCTO #7394]

(Bitbake rev: fc0cec1f38aa6f2d09434cc008a429d350a5706f)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:28 +00:00
David Reyna
d2b20465c3 bitbake: toaster: display machine and project values in input fields
Explicitly preset the machine and project values in their respective
input fields.

[YOCTO #7170]

(Bitbake rev: 23c83c6a8af12ad1c008372685f7cd9f87023145)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:28 +00:00
Michael Wood
1f1230c792 bitbake: toaster: tasks trigger the select related tables before ordering
In two of the cases the data is changed from a QuerySet to a sorted list
so we aren't able to use the QuerySet api at this point, moving it
before the data type is changed fixes this.

[YOCTO #7404]

(Bitbake rev: 484797744dbe421dfeea52e9428ba63b44f1ed88)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:28 +00:00
Michael Wood
3c5e291760 bitbake: toaster: Add cancel build to latest build section
Add this functionality to the common managed_mrb_section
Make sure we are using the correct version of this template in the
projects template and remove now redundant code.

[YOCTO #7351]

(Bitbake rev: 23f1439a5d3e8f4053826794c6502eca20189054)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:27 +00:00
David Reyna
2f684f1bdc bitbake: toaster: Incorrect breadcrumb behaviour in the project page
The last item in the breadcrumb for the project page should not be a link.

[YOCTO #7157]

(Bitbake rev: 6966d68e650c2d5655a1e747e70d35f5f037dc94)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:27 +00:00
Dave Lerner
8ff98c6c1b bitbake: toaster: leave cancel enabled for release change
When you click the 'change' icon to edit the project release, the
"cancel" button, should always be enabled so that the user can
return to the 'not editable' state at any time.

[YOCTO #7151]

(Bitbake rev: adcd24b97ea78fbccb870d62bd1297edae3a3487)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:26 +00:00
Alexandru DAMIAN
5252c459ac bitbake: toastergui: recipe and layer identification
This patch fixes the recipe and layer identification by path
when Toaster uses relative paths.

(Bitbake rev: a92bb33a3ceacab2bfee9df1c39a202832866970)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:26 +00:00
Alexandru DAMIAN
9752757da0 bitbake: toasterui: fix error message parameter
Fix the error message parameter.

(Bitbake rev: 64b0867108d03c7e9215b80c59c1bba919e82994)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:25 +00:00
Alexandru DAMIAN
0dc4a628ae bitbake: toaster: do not throw exception on misconfigured data
We do not want to throw an exception while handling exceptions
that may print information, so replace the exception throwing
with returning data.

(Bitbake rev: 624e67b0d142e5dac946ebb63bcfad0625b88799)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:25 +00:00
Alexandru DAMIAN
934a9749ee bitbake: toastergui: builds and projects outcome filter
This patch fixes the Outcome filter in the all builds and
all projects pages in Build mode.

[YOCTO #7450]

(Bitbake rev: 61f209db436344efa29fbbd34faaf3ba085c3ce3)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:25 +00:00
Alexandru DAMIAN
5d021f6de6 bitbake: toastergui: fix machines page search
This patch fixes the machine page search.

[YOCTO #7407]

(Bitbake rev: 51c6e3edf074da6ebd8b347f13dc0f88b25c0111)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:24 +00:00
Belen Barros Pena
ede212b2dd bitbake: toaster: display bitbake output after process start
If the bitbake server exists after the initial process start,
the only output displayed shows proper server start, with
no debug info.

This patch also brings the server log into the error message,
so the user has better info about what's going on.

(Bitbake rev: 6b46f436296683f7a2f72ac978ef30d0a38ad7a4)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:24 +00:00
Alexandru DAMIAN
5b22f15557 bitbake: toaster: targets page performance improvement
Yet another performance improvement, this time by forcing
two-step evaluation instead of using subqueries to select data.

This avoid using full-table lookups on un-indexed temporary
tables.

(Bitbake rev: 03e3286dcdc557a314c139b55b458d6fefcbc51c)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:23 +00:00
Alexandru DAMIAN
a273d8f151 bitbake: toasterui: improve info in the toaster_ui.log
We improve logging and signalling of errors in the
toaster_ui.log to facilitate debugging on remote systems.

(Bitbake rev: 3cd248f99b90367bd41aab81e255fc1912434890)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-21 00:00:23 +00:00
Richard Purdie
c5e9654ac9 scripts/combo-layer: Handle update with no repo/revision specified
Running an update operation with no repo/revision specified was failing.
This fixes that code path which worked until the change from:

http://git.yoctoproject.org/cgit.cgi/poky/commit/scripts/combo-layer?id=3592507a149b668c0a925e176535f7f2002fa543

(From OE-Core rev: 411a6a3694a9fcd563c5b5320597314fbec75cc2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:06 +00:00
Benjamin Esquivel
db4f1420ce glibc: avoid configure stall by feeding prompt
Addresses a stall (by prompt) condition of the run.do_configure at when
executed directly from the workdir, like when using the devshell.

[YOCTO 7369]

(From OE-Core rev: deb06c96dccdbc6da0f301653e9781ce2fe8173d)

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-03-20 23:56:06 +00:00
Richard Purdie
92739edc9d gcc-cross-canadian: Enable stripping and packaging of binaries
This seems to have been disabled since the dawn of time for no good reason.
Enable the .debug stripping and packaging allowing for a smaller SDK.

(From OE-Core rev: bbaf97ba38329b5221e6d4d0d18f20e6b7d6fd91)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:06 +00:00
Joe Slater
31801c66df ltp: find all .debug directories
The list of directories for ltp-dbg is incomplete, so
we generalize it.

We also eliminate a non-fatal qa error that the file
test_arch_stripped is stripped.

(From OE-Core rev: b59eff83f971347254081426e8a1f2ef6ee700e5)

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-03-20 23:56:05 +00:00
Robert Yang
1a29b3b9d3 lsb: fix installed-vs-shipped when build with multilib
The init-functions had been installed to /lib/lsb/init-functions
according to lsb spec, then there is an installed-vs-shipped issue when
build with multilib:

ERROR: QA Issue: lsb: Files/directories were installed but not shipped
  /lib
  /lib/lsb
  /lib/lsb/init-functions [installed-vs-shipped]

Fix the issue and indent.

(From OE-Core rev: d1fc46a2b034a9dbe58d01920ad3ef4ad5131029)

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-03-20 23:56:05 +00:00
Andre McCurdy
d6be13a6d1 gst-plugins-good: fix nondeterministic udev dependency
Make the v4l PACKAGECONFIG option control building of the video4linux2
plug-in (not use of libv4l, as it did before) and enable by default.
Add a separate libv4l PACKAGECONFIG to control use of libv4l (disabled
by default since libv4l is not part of oe-core).

The default config for gst-plugins-good and gstreamer1.0-plugins-good
is now aligned with regards to v4l, ie:

  v4l support: enabled by default
  v4l use of libgudev: enabled by default
  v4l use of libv4l2: disabled by default

This commit fixes the following build-deps QA Warnings:

  WARNING: QA Issue: gst-plugins-good-video4linux2 rdepends on libudev, but it isn't a build dependency? [build-deps]
  WARNING: QA Issue: gst-plugins-good-video4linux2 rdepends on libgudev, but it isn't a build dependency? [build-deps]

(From OE-Core rev: e084060b59f2ad2ca5e3896afb2ff2dfb665cc67)

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-03-20 23:56:05 +00:00
Tanu Kaskinen
76930a5ed8 pulseaudio: remove obsolete resampler patching
This sed script hasn't worked since PulseAudio 0.9.8 (released in
2007), because the match condition refers to "sinc-fastest", while the
default resampler is nowadays speex-float-1.

The idea behind the sed script might be good, but it seems obvious
that nobody is actually depending on the script, so let's just delete
it.

(From OE-Core rev: d3a656dd2a276a743925f55935789357c4cb4d97)

Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:04 +00:00
Aníbal Limón
d342810cd5 puzzles: Fix build in x32 ABI
Add patch for make castings to time_t values that are long long int
in x32 ABI.

[YOCTO #7447]

(From OE-Core rev: fc5717a7a5828eaf07d96b7c5c6eae7a79bb5114)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:04 +00:00
Aníbal Limón
4add6e3a3b systemtap: Fix build in x32 ABI
Add a patch for fix printing of time_t value that is long long int
in x32 ABI instead of long int.

[YOCTO #7423]

(From OE-Core rev: 194f0be44fa37605d0b5897138848fa378593d62)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:03 +00:00
Aníbal Limón
3732fdec0a mdadm: Fix build in x32 ABI
Add a patch for fix build in x32 ABI, the fail is cause by time_t
printf because time_t is long int in x64 and long long int in x32.

[YOCTO #7422]

(From OE-Core rev: 753994a2016758ec058822d727b05ef9532b97c8)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:03 +00:00
Jonathan Liu
8e19349b69 systemd: set the location of binaries used by service files
Otherwise systemd uses AC_PROG_PATH and finds it in the sysroot or host
system, which won't work on the target.

[YOCTO #7408]

(From OE-Core rev: 294adc0907a359d9c0ad260823188145aab294ad)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:03 +00:00
Jonathan Liu
0f25dd5b6c base.bbclass: clean up warning message for 'S'
(From OE-Core rev: ddac4f3c1350c3a4e0ea4ae732de0689325d883f)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:02 +00:00
Martin Jansa
f14ef4d9e8 valgrind: enable building on 4.x kernel
(From OE-Core rev: e75d1d76949f944367d06bea82f519fdecda3ca3)

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-03-20 23:56:02 +00:00
Javier Viguera
740770c009 udev: remove 'modprobe' local rule
Since udev version 176 (udev commit 06316d9) udev switched modprobe
explicit rules by the builtin kmod support.

The rule using the builtin kmod support is in
'/lib/udev/rules.d/80-drivers.rules':

DRIVER!="?*", ENV{MODALIAS}=="?*", IMPORT{builtin}="kmod load $env{MODALIAS}"

(From OE-Core rev: a6f256b0d6cf4e76228627eaa00c1dbe02e2e622)

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:02 +00:00
Bruce Ashfield
31f15d6e8a perf: add bash to RDEPENDS
perf has a dependency on bash in its utilities, which generate the
following warning:

  WARNING: QA Issue: perf requires /bin/bash, but no providers in its RDEPENDS [file-rdeps]

Since perf is not installed on extremely small systems, we just add
bash to the RDEPENDS, rather than modifying scripts or removing content.

[YOCTO: #7445]

(From OE-Core rev: 6f39aae20d88a2d764c3a85617cd36b81af804f1)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:01 +00:00
Bruce Ashfield
76730a8171 linux-yocto/3.19: integrate korg -stable update
Updating to the latest and greatest -stable release for the 3.19 series.

(From OE-Core rev: 1e60b5216a89a34eba7749244eeb53d5d12864eb)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:01 +00:00
Bruce Ashfield
ad6313d01b kernel-yocto: split meta data generation from patching phase
The linux-yocto kernel has a meta-data component which accompanies the
actual tree. That meta-data is processed to generate a series file that
controls the patching and configuration of the kernel.

patching and configuration are two distinct phases, so when working on
kernel configuration, it doesn't make sense to always have to re-run
the patching step just to update configuration data in the meta-series.

To allow a more granular set of tasks, we break the meta-data generation
into a separate task, which runs before do_patch. This allows the task
to be explicitly called when working on configuration, but otherwise
has no impact on the build.

(From OE-Core rev: 1be4c68fb876b63f19d107275b701fe1c1c121db)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:00 +00:00
Bruce Ashfield
c328e2fdd0 kern-tools: fix iterative configuration runs
When fixing a kernel configuration warning, it is often necessary to
modify the kernel's meta-data and re-run the tools to update and
re-audit the config. This implies that the patch, config and audit
steps are run multiple times.

The tools had a bug that would incorrectly restore old meta-data
versus using updated configuration. Updating the kern-tools SRCREV
to fix the issue.

(From OE-Core rev: b903559daa847d2c56bf729fc5ca885113d0eecc)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:00 +00:00
Peter Urbanec
c5cfcb78f7 gstreamer1.0: Shorten __FILE__ in gst_debug_log output on all platforms.
On WIN32 the file argument to gst_debug_log_valist is shortened to just
the filename. This is useful not only for MSVC, but also with gcc/Linux
when doing cross-compilation builds and out-of-tree builds.

(From OE-Core rev: d419be56df59c91294923ba4e136d8753009c280)

Signed-off-by: Peter Urbanec <openembedded-devel@urbanec.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:00 +00:00
Chen Qi
8457e134a2 dbus-test: make do_install run to trigger the effect of cleandirs flag
For now, we would meet the following QA error if we build dbus-test in
the same build directory with multilib enabled/disabled.

The steps are as follows:
1. Enable multilib and `bitbake dbus-ptest'
2. Disable multilib and `bitbake dbus-ptest'

The error message is as follows:
ERROR: QA Issue: dbus-test: Files/directories were installed but not shipped
  /usr/lib64
  /usr/lib64/dbus-test
  /usr/lib64/dbus-test/ptest
  /usr/lib64/dbus-test/ptest/run-ptest
  ...

The problem is that the ${D} is not cleaned up at the second build while it
should be.

This patch fixes the above problem.

(From OE-Core rev: e76f8c0d79301b3c67029f18e5dd4325a39d4587)

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-03-20 23:55:59 +00:00
Khem Raj
6ecc468331 tcmode-default: Define one gdb version
Sometimes we need to override the gdb from third party
tool SDKs, this helps out, moreover it also makes it consistent
with in OE-Core too to have multiple versions of gdb if we ever
needed to

Change-Id: Ibe1ae59175984bbc661c243764c81cd99fef54d1
(From OE-Core rev: aa75579aae064f2f9fc70bea093a6e9c8ca9c528)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:55:59 +00:00
Tanu Kaskinen
80c8372bcc pulseaudio: add system.pa to CONFFILES
(From OE-Core rev: ca457db45b04070b1b1209e8cbd73f6fffa3f774)

Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:55:59 +00:00
Tanu Kaskinen
cc7652fb24 pulseaudio: move client.conf to libpulse
This fixes a scenario where the system has libpulse installed but not
pulseaudio-server. The "breakage" didn't have any big practical
effects, though, because the default client.conf contains only
comments anyway.

(From OE-Core rev: 58bcd2cfb71bd734c463d82e94bba77226691b43)

Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:55:58 +00:00
Saul Wold
2ab66b85ec package_manager: Create variable for install_dir_name
This patch creates a variable for the install_dir name so it can be
something other than /install, also by doing this we can correctly
clean up the empty directories (/install/tmp) during the clean-up
phase. The new default is /oe_install so as to not conflict with other
possible packages that might use /install to place files.

[YOCTO #7353]

(From OE-Core rev: 335effec42099666d0fb433b31981edcb0dae9a0)

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-03-20 23:55:58 +00:00
Randy Witt
05471f8710 lib/oeqa/selftest/lic-checksum: Add INHIBIT_DEFAULT_DEPS
The test_nonmatching_checksum doesn't need the default dependencies,
and they would just take extra time to generate.

(From OE-Core rev: d91ed126eead8b09a4ddfe5cc11db16dda71273f)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 11:27:52 +00:00
Randy Witt
8b8baf5de3 lib/oeqa/selftest/lic-checksum: Rename test_foo
test_foo is renamed to test_nonmatching_checksum. It was a mistake to
submit it with the old name.

There was also some extra whitespace removed.

(From OE-Core rev: 95eed3038f48337d06a3eba0f6e355f3f78c6974)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 11:27:51 +00:00
Maxin B. John
a7701ba854 trace-cmd: remove unnecessary 'protocol=git' from SRC_URI
(From OE-Core rev: b9a97b56400d156bc670d933323d0e28ffb17960)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 11:27:51 +00:00
Maxin B. John
1219b63500 mmc-utils: remove unnecessary 'protocol=git' from SRC_URI
(From OE-Core rev: c2afbb763b5c57dcad22e8637a953d21948ebd29)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 11:27:51 +00:00
Maxin B. John
6bd34e6a98 systemd: remove unnecessary 'protocol=git' from SRC_URI
(From OE-Core rev: cd163193de5b8c41583076a28ca45ae4f9bced2c)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 11:27:50 +00:00
Maxin B. John
52e9d2c881 u-boot-mkimage: remove unnecessary 'protocol=git' from SRC_URI
(From OE-Core rev: c1e5fff3017860feb5fb77ba05afd13e1ec34c50)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 11:27:50 +00:00
Maxin B. John
b647a06a73 u-boot-fw-utils: remove unnecessary 'protocol=git' from SRC_URI
(From OE-Core rev: 1a2b67c44b78582668d69e23f7f43835b34fe803)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 11:27:49 +00:00
Paul Eggleton
6f6e866ba2 oe-selftest: add missing dependency to test_recipetool_create_git
libmatchbox links to libjpeg if it is present so just explicitly build
it and then check it appears in DEPENDS.

(From OE-Core rev: 00ca890d8a56c4c05ce5bda87b3d9d1452ddfa36)

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-03-20 11:27:49 +00:00
Paul Eggleton
0a45ccb253 recipetool: fix duplicate licenses being picked up
If a license file matched more than one of the specifications (e.g.
COPYING.GPL) then it was being added to LIC_FILES_CHKSUM more than once.

(From OE-Core rev: 58316a2890782d206e9b9472ba483367f7560109)

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-03-20 11:27:49 +00:00
Paul Eggleton
4a8fec9bdd oe-selftest: add a test for devtool modify on recipes fetching local files
With the change to externalsrc we can now handle these, so add a test
to ensure they can be built.

(From OE-Core rev: efd46543524db98e4369c1d85a1e1c0e76f12899)

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-03-20 11:27:48 +00:00
Paul Eggleton
a976d63ae5 oe-selftest: add a test for devtool deploy-target
Whilst this test would seemingly be better placed as a runtime test,
unfortunately the runtime tests run under bitbake and you can't run
devtool within bitbake (since devtool needs to run bitbake itself).
Additionally we are testing build-time functionality as well, so
really this has to be done as an oe-selftest test.

This test does have a few perhaps unusual requirements in order to run:
 * pexpect is installed
 * MACHINE is set to one of the qemu machines
 * runqemu tap devices have been set up

(From OE-Core rev: 9dc16a8a87bef5dc408aefb256c01e2a4fe3563c)

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-03-20 11:27:48 +00:00
Paul Eggleton
a0b774e43f oe-selftest: support getting unexported variable values
Allow get_bb_var() to work with unexported variable values such as
MACHINE - the workaround is a little crude but should suffice for now.

(From OE-Core rev: 48b58466bba084fd3439706d47e0cfbb7e951ee4)

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-03-20 11:27:47 +00:00
Paul Eggleton
3c4c63d0ff gitignore: exclude meta-selftest, drop meta-hob
* We don't want to ignore changes in the meta-selftest directory
* While I'm at it, meta-hob has been gone for a while now, so drop the
  reference to it here.

(From OE-Core rev: 6bcc652f5168d87e76b059f9e9825b8bcf049b90)

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-03-20 11:27:47 +00:00
Paul Eggleton
8123b4aa62 devtool: deploy-target: add dry-run option
Add a dry-run option to the deploy-target and undeploy-target
subcommands so you can see the list of files to be deployed or
un-deployed before actually carrying out the operation.

(From OE-Core rev: b9625581f3fe72fc402632be2d87cf889301c6a2)

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-03-20 11:27:47 +00:00
Paul Eggleton
a5047717bd classes/externalsrc: fix for recipes that fetch local files
If SRC_URI contains local files (file:// references) these will almost
certainly be required at some point during the build process, so we need
to actually fetch these to ${WORKDIR} as we would normally.

(From OE-Core rev: f223ad3d5b5c90055e50d1b1be69230f55e06336)

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-03-20 11:27:46 +00:00
Paul Eggleton
3d7777f061 devtool: deploy-target: add an option to disable quiet mode
The -q option to scp does stop the progress being shown, which is mostly
superfluous, however it also stops errors from ssh being shown - if
there's a problem, you'll just get "lost connection" which really isn't
that helpful. As a compromise, add a -s/--show-status option and
advertise this when the command fails.

(From OE-Core rev: 5cbb026212b4c8f5206a07d70b94f57edeee0839)

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-03-20 11:27:46 +00:00
Paul Eggleton
3f370f8f6f devtool: deploy-target: detect and error if D is empty
If you haven't built the recipe yet or if the output directory (${D}) is
empty, then we should tell the user rather than have scp error out.

(From OE-Core rev: 3fd9ac277393bef5c646f16b9d8f30c277881d70)

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-03-20 11:27:45 +00:00
Paul Eggleton
ad57dab31f devtool: deploy-target: allow disabling host key checking
If you're testing with multiple images/devices that have the same IP
address / hostname then it can be annoying to deal with host key
mismatches all of the time. As a MITM attack is unlikely in the local
test environment, provide a command line option to pass the appropriate
options to scp/ssh to disable the host key checking.

Note: if you wish to apply this permanently, the best way is to do it
through your ssh configuration e.g. by adding the following to your
~/.ssh/config:

Host 192.168.7.2
   UserKnownHostsFile=/dev/null
   StrictHostKeyChecking no

(From OE-Core rev: 81dd1319112a99bc38b7a7ced0663918ac5b09a4)

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-03-20 11:27:45 +00:00
Paul Eggleton
cb4b07838c devtool: modify/extract: prevent usage with incompatible recipes
Consolidate code for checking compatible recipes and consider meta and
packagegroup recipes as well as package-index and gcc-source to be
incompatible.

(From OE-Core rev: 4be9bf637583b341a89af1b9924752abc7d49c94)

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-03-20 11:27:45 +00:00
Paul Eggleton
221705f014 devtool: modify: get correct initial revision from previously extracted source tree
If you point devtool modify to a source tree previously created by
devtool modify or devtool extract, then we need to try to pick up the
correct initial revision so that devtool update-recipe knows where to
start looking for commits that match up with patches in the recipe.

(From OE-Core rev: c20e10543e268ebb43074a3f8d6e7ed991e54ec8)

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-03-20 11:27:44 +00:00
Paul Eggleton
9adae67e71 devtool: reset: add ability to reset entire workspace
Add a -a/--all option to allow you to quickly reset all recipes in your
workspace.

(From OE-Core rev: 0c83788b111a761f6f500b86780cc51aed255402)

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-03-20 11:27:44 +00:00
Paul Eggleton
e3cfb80f1e devtool: name command line parsers appropriately
No functional changes, just use a unique name for each parser.

(From OE-Core rev: 5fabc59d6221c3fe7137b70e31ec2761a4276a6c)

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-03-20 11:27:43 +00:00
Paul Eggleton
4424440f42 devtool: deploy-target: fix deploying to previously deployed machine
* Pass correct arguments to undeploy() function
* If an error occurs during undeploy(), exit instead of continuing

(From OE-Core rev: c938dee4b28af7e6296c86347dfa533f85605033)

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-03-20 11:27:43 +00:00
Patrick Ohly
be6289f4af combo-layer-hook-default.sh: handle patches without Signed-off-by
Inserting the "From rev" comment depended on having at least one
Signed-off-by line in the patch header. Some old repository commits in
openembedded-core and bitbake do not have those.

When inporting those, just insert at the end of the patch
header. While doing so, ensure that there's exactly one blank line
since the last non-blank line.

(From OE-Core rev: 58548081b15f37452b71c135d5aa8cbbda5b1b61)

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-03-20 11:21:25 +00:00
Patrick Ohly
b4e78cf6df combo-layer-hook-default.sh: beware of embedded patches
Patching the subject line must be limited to the subject of
the main patch itself. In particular, git formatted patches embedded in the patch must not be changed.

Achieved by limiting the replacement to the lines until the first
subject in the patch, just as it is done for modifying the first
Signed-off-by.

(From OE-Core rev: 2737bd1c3f7c51dd6509a0f91337f695f9c69165)

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-03-20 11:21:25 +00:00
Patrick Ohly
ad0147af34 combo-layer-hook-default.sh: avoid duplicating prefix
The existing patch might already have the desired prefix, perhaps
even multiple times (due to some previous import error). Ensure
that after the replace, the prefix is present exactly once.

(From OE-Core rev: 03be3d350425783a5938a7e4c0b858cda634b71d)

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-03-20 11:21:24 +00:00
Patrick Ohly
e0d3cabc5a combo-layer: partial import for '--history init'
The new "since_revision" property can be used to cut off the imported
history at some point. This is useful to keep the resulting repository
smaller while still preserving enough history that "git annotate"
reports the right author and commit for most lines.

The initial, squashed import commit shows up with "unknown" as author
in the "git annotate" output. It has the repository name as prefix
in the subject line; importing that commit works best with a
layer hook which does not add the repository name again when
it is already present. Adding it here is useful for hooks
which do not extend the subject line.

(From OE-Core rev: 74f4c9e3bcdb3c4ca919623086e92a9379bd81ff)

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-03-20 11:21:24 +00:00
Patrick Ohly
14eac2a474 combo-layer: combine trees via replacement objects
Instead of local graft entries rooting the imported branches in the
shared root commit, use replacement objects.

The advantage is that they get moved around by "git push" and "git
fetch", so everyone has the same, nicer view with everything starting
at the beginning of the combined repository.

If undesired, these objects can be removed with "git replace".

(From OE-Core rev: 220d816cda3c9b8d888288cc03eb74be5e71cc59)

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-03-20 11:21:24 +00:00
Patrick Ohly
dd985a241c combo-layer: init with full history
The new --history parameter enables a new mode in "combo-layer init"
where it copies the entire history of the components into the new
combined repository. This also imports merge commits.

Moving into a destination directory and applying commit hooks
is done via "git filter-branch" of the upstream branch. File
filtering uses the same code as before and just applies it
to that filtered branch to create the final commit which
then gets merged into the master branch of the new repository.

When multiple components are involved, they all get merged
into a single commit with an octopus merge. This depends
on a common ancestor, which is grafted onto the filtered
branches via .git/info/grafts.

These grafts are currently left in place. However, they do not get
pushed, so the local view on the entire history (all branches rooted
in the initial, empty commit, temporarily diverging and then
converging) is not the same as what others will see (branches starting
independently and converging). Perhaps "git replace" should be used
instead.

The final commit needs to be done manually, as before. A commit
message with some tracking information is ready for use as-is. This
information should be sufficient to implement also "combo-layer
update" using this approach, if desired. The advantage would be that
merge commits with conflict resolution would not longer break
the update.

(From OE-Core rev: 9e40cb1ab77029df7f2cf1e548a645ff6a62c919)

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-03-20 11:21:23 +00:00
Patrick Ohly
b4326bf85a combo-layer: update() also instance property
The Configuration class mirrors all properties in local hashes.
When updating the configuration, also update these properties
to remain consistent.

(From OE-Core rev: c575ff183ae5c35e0f7e8d90c222994574ce73c9)

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-03-20 11:21:23 +00:00
Patrick Ohly
96b98451c4 combo-layer: exclude files
Some combined repos intentionally do not include certain files.
For example, Poky does not include bitbake's setup files and
OE-core's sample files under meta/conf.

When these files get modified in the upstream repository, applying the
patches fails and requires manual intervention. That is merely a
nuisance for someone familiar with the problem, but a real show
stopper when having the import run automatically or by someone less
experienced.

Therefore this change introduces "file_exclude", a new per-repo list
of file patterns which removes all matching files when initializing or
updating a combined repository. Because fnmatch is used under the hood
to match full path strings, removing entire directories must be done
with a pattern ending in a '/*' (in contrast to file_filter).

For Poky, the additional configuration looks like this:

[bitbake]
...
file_exclude = classes/base.bbclass
	conf/bitbake.conf
	.gitignore
	MANIFEST.in
	setup.py
	TODO

[openembedded-core]
...
file_exclude = meta/conf/bblayers.conf.sample
	meta/conf/local.conf.sample
	meta/conf/local.conf.sample.extended
	meta/conf/site.conf.sample

(From OE-Core rev: a51b37f4db6b144386d1bd5789ec91acc78a0bd8)

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-03-20 11:21:23 +00:00
Patrick Ohly
627e524238 combo-layer: runcmd() with separate output
Allow the caller to specify a separate output stream. stderr is always
a temporary file opened by runcmd(), so read from that to capture
output for error reporting *and* the return value.

The reasoning for the latter is a) that this preserves the traditional
behavior when out=None and b) if the caller wants the content of
stdout, it can read from the stream itself, which is not possible for
the temporary stderr.

(From OE-Core rev: a084162a9dc4718ab453723f1f28aefc55100e2e)

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-03-20 11:21:22 +00:00
Patrick Ohly
58c5bb28b5 combo-layer: make Signed-off-by optional
It depends on the diligence of the person running the combo-layer tool
whether the Signed-off-by line added to each commit actually indicates
that the person was involved in validating the change.

When the import is purely automatic, it is better to not add the line,
because the history is more useful without it (searching for the person
really only lists changes he or she was involved with) and it would
be a false statement.

The 'signoff' property can be set per repository, like every
other property. But setting it in the special [DEFAULT] section
is more useful, so that is what the example shows.

(From OE-Core rev: dba34e5a6f0a4c726266654dc5f26e0f7f13db0f)

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-03-20 11:21:22 +00:00
Patrick Ohly
b1408ba706 combo-layer: let user choose where properties get updated
When updating a property (at the moment, only 'last_revision'),
first check whether the user already added it to the main config.
If so, update there even if there is a local config.

This way, 'last_revision' can be shared between developers
as part of the repository while still configuring per-developer
repo paths outside of the git repository in a local config.

An example of a repository which is set up like that is tizen-distro,
with instructions for such a collaborative maintenance found here:
https://review.tizen.org/git/?p=scm/bb/tizen-distro.git;a=blob;f=README;hb=refs/heads/tizen-ivi

(From OE-Core rev: a3b246ee928d2ec59c8b6a775d9309f5be33ecc7)

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-03-20 11:21:21 +00:00
Richard Purdie
fd2823d13b runqemu-internal: Add cpio support for qemux86 so that we can boot poky-tiny images
poky-tiny generates cpio.gz images, add support for these so we can boot
them using runqemu.

(From OE-Core rev: fdd2e0c1baa80106d26236cb734e0d9a98e3fdac)

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-03-20 11:03:50 +00:00
Richard Purdie
b8107c5991 scripts/runqemu: Allow FSTYPE to be changed from the environment
Currently its not possible to change FSTYPE from the environment but it would
be useful to do so where multiple image types have been generated. This
adds that possibility.

(From OE-Core rev: c210430c24af6717aa955efe1afe9fc4d2d3f2a9)

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-03-20 11:03:49 +00:00
Jussi Kukkonen
577f9f3d41 gst-player: Fix Pause/Play in GTK+ player
Backport a bug fix from upstream gst-player to make
Pause and Play buttons work properly in gtk-play.

[ YOCTO #7429 ]

(From OE-Core rev: 026f512529e79ece2833340dd4cb6c29d42ca041)

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-03-20 11:03:49 +00:00
Paul Eggleton
f4857dc640 xf86-input-synaptics: drop already applied patch
This patch was part of the 1.8.1 release.

(From OE-Core rev: aa5377fc4cf93678b2fdae86855ea1d6f39fa148)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 11:03:48 +00:00
Paul Eggleton
8b125fe5a8 opkg: drop already applied patch
This patch was part of the 0.2.4 release.

(From OE-Core rev: 85ab25f57c478fcf430f611fbf365348d2edf26b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 11:03:48 +00:00
Bernhard Reutner-Fischer
2c11ccf93a packagegroup zeroconf: nss-mdns is libc dependant
glibc provides NSS, other libc do not, so only add libnss-mdns to the
zeroconf package group for glibc.
This fixes the build of core-image-sato for e.g. uClibc

(From OE-Core rev: 9a687f73a4422c788dad68d74d992dc68cb80b35)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 11:03:48 +00:00
Aníbal Limón
cffacfbc82 glibc/glibc-collateral.inc: Add LIC_FILES_CHKSUM to avoid warnings in manifest creation
Add licenses point to COMMON_LICENSE_DIR because glibc-collateral.inc is
a recipe that don't provide tarball/repo with LICENSE files.

(From OE-Core rev: 19fa084c92016ef87f6ad60c6985ec0d2bfd5c42)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 11:03:47 +00:00
Saul Wold
b85ee03223 unzip: Add ALTERNATIVE configuration
Since busybox also provides the unzip command use the update-alternatives
mechanism to address this.

[YOCTO #7446]

(From OE-Core rev: 3e6654f7b7f8e0e18c8115513410ecb308a0ad5f)

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-03-20 11:03:47 +00:00
Fabrice Coulon
1e34e71e0f meta/lib/oe/package.py: fix files ownership in packages
This fix solves the problem with the ownership of files in packages.
The do_install task was producing correct and expected output but when
the files were being put in, e.g. a rpm package, the ownership could
be different than that in the do_install task.

[YOCTO #7428]

(From OE-Core rev: 1a50cc5aeafff0d8ee6c4a41dd2770ecd31455f0)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
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-03-20 11:03:46 +00:00
Lucian Musat
b7a9a06b2d oeqa/runtime: Fixed a problem in logparser where it failed to whitelist some common errors.
And some minor tweaks like moving some errors from qemu to common.

(From OE-Core rev: c25474be02a562585ded66a6d538aee21056f628)

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-03-20 11:03:46 +00:00
Adrian
6ad040a522 Add archiver folder to SSTATE_DUPWHITELIST
Without this patch the source archiver class is not allowed to
archive the same source archive for different builds.

(From OE-Core rev: 37284185912d496a974d507bde7208d93eefc29d)

Signed-off-by: Adrian <adrian.freihofer@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 11:03:45 +00:00
Ed Bartosh
35fbb0f470 wic: Consider PSEUDO_* environment variables
Used default values of PSEUDO_* environment variables only
if variables are not set.

This allows to set custom PSEUDO_PREFIX and other pseudo
variables in order to use pseudo database from non-standard
locations.

Change-Id: I0bc1af5e521121d1f96d590cb6edb23cf0cb0b83
(From OE-Core rev: cd121c06e9de8951d507998be443f95f0edc246a)

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
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-03-20 11:03:45 +00:00
Martin Jansa
40d3d7a23a rpcbind: don't try to enable rpcbind.socket twice
* rpcbind.service requires rpcbind.socket and systemctl tries to add it twice
* see log.do_rootfs:
  Started /OE/build/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/bin/systemctl --root=/OE/build/shr-core/tmp-glibc/work/nokia900-oe-linux-gnueabi/shr-image/2.0-r20/rootfs enable rpcbind.service rpcbind.socket
  Try to find location of rpcbind.service...
  Found rpcbind.service in /lib/systemd/system/rpcbind.service
  Also=rpcbind.socket found in rpcbind.service
  Started /OE/build/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/bin/systemctl --root=/OE/build/shr-core/tmp-glibc/work/nokia900-oe-linux-gnueabi/shr-image/2.0-r20/rootfs enable rpcbind.socket
  Try to find location of rpcbind.socket...
  Found rpcbind.socket in /lib/systemd/system/rpcbind.socket
  WantedBy=sockets.target found in rpcbind.socket
  Enabled rpcbind.socket for sockets.target.
  Try to find location of rpcbind.socket...
  Found rpcbind.socket in /lib/systemd/system/rpcbind.socket
  WantedBy=sockets.target found in rpcbind.socket
  ln: failed to create symbolic link '/OE/build/shr-core/tmp-glibc/work/nokia900-oe-linux-gnueabi/shr-image/2.0-r20/rootfs/etc/systemd/system/sockets.target.wants/rpcbind.socket': File exists
  Enabled rpcbind.socket for sockets.target.

(From OE-Core rev: 8fe9a735584c7ad458eb000c2008d85ad36ada57)

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-03-20 11:03:44 +00:00
Martin Jansa
d0d404f7cd systemctl: Don't try to remove directory which doesn't exist
Noticed in this log.do_rootfs error:
  Started /OE/build/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/bin/systemctl --root=/OE/build/shr-core/tmp-glibc/work/nokia900-oe-linux-gnueabi/shr-image/2.0-r20/rootfs disable bluetooth.service
  Try to find location of bluetooth.service...
  Found bluetooth.service in /lib/systemd/system/bluetooth.service
  WantedBy=bluetooth.target found in bluetooth.service
  rmdir: failed to remove '/OE/build/shr-core/tmp-glibc/work/nokia900-oe-linux-gnueabi/shr-image/2.0-r20/rootfs/etc/systemd/system/bluetooth.target.wants': No such file or directory
  Disabled bluetooth.service for bluetooth.target.
  Disabled bluetooth.service for dbus-org.bluez.service.

(From OE-Core rev: 0332e19098d7d3d623a04098b43e3b2482af1a17)

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-03-20 11:03:44 +00:00
Jussi Kukkonen
7197dab59c gst-player: Depend on -libav if commercial license is enabled
gstreamer1.0-libav makes AAC playback possible but is protected by
the "commercial" LICENSE_FLAGS: recommend -libav if those licenses
are enabled.

(From OE-Core rev: 15df9519e3c22dac77d4d06bb4832e12ffadf5df)

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-03-20 11:03:43 +00:00
Paul Eggleton
c65e36478f waffle: drop unneeded setting of EXTRA_OECMAKE
base.bbclass already sets EXTRA_OECMAKE when cmake.bbclass is inherited.

(From OE-Core rev: c9959f2a69e7edfe8b9e4a7bc99f0d77f03aff73)

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-03-20 11:03:43 +00:00
Paul Eggleton
7f536ba0c1 oe-selftest: improve bitbake-layers tests
* Add a test for add-layer and remove-layer
* Correct message for test_bitbakelayers_showoverlayed()
* Improve test_bitbakelayers_flatten() to use a more unique name for the
  temp output directory and clean it up using track_for_cleanup()

(From OE-Core rev: c4ae1e2c98bee62fcc8db4849b6a4f9a5996a210)

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-03-20 11:03:43 +00:00
Esquivel, Benjamin
61e14ad4eb oe-init-build-env-memres: Fix source check
The source check was referring to oe-init-build-env instead of the
memres. It could be executed without the proper failure message and the
corresponding exit command out of the script. This commit makes the
memres script look more like the oe-init-build-env with the correct
script name.

[YOCTO #7487]

(From OE-Core rev: 1666b41e73f2aa7bd736c3e9bf3797946bff61b5)

Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 10:56:03 +00:00
Robert Yang
0308f3101b bitbake: knotty.py: fix indent
It used 5 spaces as the indent.

(Bitbake rev: 162d35ed53d34b28b153adf643044e7f105fcff1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-19 14:20:14 +00:00
Richard Purdie
12b6cf0f22 poky-tiny: ext2 isn't enabled in the kernel so don't mention/build it
The kernel config specifically excludes ext2 support for size reasons
so update the distro config to match.

(From meta-yocto rev: 12440cd591de0f73426c310cc7affab9e2ef5fe0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-19 12:40:23 +00:00
Scott Rifenbark
083d4a36a2 dev-manual: Added new section on changing default image hostname
Fixes [YOCTO #7417]

New section to address how the user can change the devalt image
hostname written out to /etc/hostname.

(From yocto-docs rev: 4ac6bc05947e56106aafcc6f9aef93bd93293fba)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-19 12:38:18 +00:00
Scott Rifenbark
1345195137 documentation: Updated Manual revision tables with "April 2015"
(From yocto-docs rev: a012e34956b8ac2fa7610e264f460bc27bdd66d8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-19 12:38:18 +00:00
Scott Rifenbark
186104eeda dev-manual: Backed out the half-done Eclipse Luna changes.
Schedule did not permit support for Luna to complete.  So, I
backed out the half-complete changes to support this version of
Eclipse.

(From yocto-docs rev: 1ca893766047f30ffbb0c99e51e575ea1302e7bc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-19 12:38:17 +00:00
Scott Rifenbark
f7dbbd1879 dev-manual: Removed inc PR step from Quilt workflow
Fixes [YOCTO #7460]

There was a single occurrence of specifically calling out that PR
needed to be manually incremented in the workflow section of the
manual.  It was step 8 of the Quilt flow.  I deleted this step.
Previous edits to the set have included extensive instruction on using
a PR Service, which is basically what replaces the need for manually
updating PR as it was in the past.

(From yocto-docs rev: d8db2175225be45cb3f2b4d11f8281c5b1f40ad4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-19 12:38:17 +00:00
Ed Bartosh
40f3ca0ae3 poky-ent: update OpenSUSE essentials
Replaced texinfo -> makeinfo in the list of essential packages for
OpenSUSE.

texinfo was in the essentials to only provide makeinfo utility.
/usr/bin/makeinfo is provided by makeinfo package on OpenSUSE distro, so
it's enough to install makeinfo to be able to build poky.

This change reduces number of packages installed on the host system as
installing texinfo causes installation of around 1500 texlive-*
packages and requires around 1Gb of additional disk space on OpenSUSE.

(From yocto-docs rev: dce793a2ac0a781ae074f3eb7ad34fbdb65dc3ea)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-19 12:38:17 +00:00
Michael Wood
df0672b038 bitbake: toaster: Fix the orderkey to match the column
If the orderkey doesn't map to the current sort value then when hiding
the column the sort doesn't get removed.

[YOCTO #7262]

(Bitbake rev: 4b07195405b124ff39703e1ddc226dee420fed22)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:13 +00:00
Michael Wood
5c4b7e0052 bitbake: toaster: projectconf fix typo of package name
The package should be deb rather than dev.

(Bitbake rev: 0d305d0ae06f5e4a3e271147e7f87c33a20fdcb2)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:12 +00:00
Alexandru DAMIAN
c2a1e044c8 bitbake: toastergui: replace ETA with percentage
We replace the ETA (which was an inaccurate estimation)
with the percentage of completed tasks.

(Bitbake rev: 220f5b853fd3236b49faa5ec54c9c96050a84fa9)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:12 +00:00
Alexandru DAMIAN
fb84086f7d bitbake: toastergui: fix mrb Run again buttons
The button for error-ed builds had invalid javascript markup,
this patch fixes the buttons.

(Bitbake rev: 2824888196acc5cbe326b18148581472772ab21d)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:11 +00:00
Alexandru DAMIAN
25d2131684 bitbake: toaster: localhost build increase timeout
We increase the timeout for waiting bitbake to start
for localhost builds.

(Bitbake rev: 80476705f960a14bb8dc68c1d89460aeb6ca90c5)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:11 +00:00
Alexandru DAMIAN
887c1cb446 bitbake: toasterui: relative recipe paths
We modify the toasterui to log relative recipe paths
in order to maintain consistency with data fetched from
the layer sources.

(Bitbake rev: 253d69e88fd68729196ad43c15e8733527d76198)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:10 +00:00
Alexandru DAMIAN
e4ff3eadfa bitbake: toastergui: improve toaster suggestion
Improving the suggestions by ordering entries
based on position of the search string.

Speed improvements in suggestion calls.

[YOCTO #7152]

(Bitbake rev: 61b0f0e46a589af9d669e52d4cec656bbd0d0057)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:10 +00:00
Alexandru DAMIAN
c4722084b6 bitbake: toastergui: dirinfo needs path separation
In the dirinfo URLs we use the "/" separator for directory
separation which coincides with the "/" separator in HTTP URIs.

This is not a problem, but we must not have consecutive "/"
characters as the web servers will conflate those - we add
a "_" delimitator to separate the Django managed URL from the
dirpath parameter, while maintaining the unique ID of REST urls.

(Bitbake rev: 965e2a2cc32d196c9d595ea89c45a84bd46ba2fe)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:09 +00:00
Alexandru DAMIAN
193989cec8 bitbake: toastergui: tables display optimizations
This patch brings in a new set of optimizations in the tables pages,
with the focus of reducing the number of SQL queries performed per
row.

(Bitbake rev: a1ad86febb9d8a4ee7f15aa726f267d64b8e0dc4)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:09 +00:00
Alexandru DAMIAN
2b629e6182 bitbake: toastergui: project app build command fix
This patch fixes the build command in the angular
project for builds triggered from All targets page.

(Bitbake rev: bfd56aa653a1ec7f8777bcb5e627910c3a7ee35b)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:09 +00:00
Alexandru DAMIAN
feb95bb049 bitbake: toastergui: update search fields
We update the search fields for the machine suggestions
and recipes tables.

(Bitbake rev: b85bcc854264336c1aef1e5fd4ea9e56f5af94fd)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:08 +00:00
Alexandru DAMIAN
cca517056b bitbake: toasterui: identify proper layer in build mode
In build mode, instead of creating our own layer objects,
we identify the layer objects that the build system set up.

[YOCTO #7378]

(Bitbake rev: 22962b540ace6868cb357c0fd13f01ffd24449c4)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:07 +00:00
Alexandru DAMIAN
42d1b65d15 bitbake: toastergui: improve performance in the all targets page
This patch improves performance in the all targets display
by computing the preffered layer only for displayed targets,
instead of computing for all targets.

(Bitbake rev: 027e3b7c579e21b3164f2785578ae9905b4fb325)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:07 +00:00
Alexandru DAMIAN
50c5ca5254 bitbake: toastergui: improve data suggestion
We improve the data suggestions in the project page.

The machines suggestions now contain the layer name.

The targets and machine do not show the layer branch.

For targets, the layer name is searchable.
For machines, the description field is searchable.

[YOCTO #7153]
[YOCTO #7154]

(Bitbake rev: 02a4997807ee995817d741985eea13d38e548007)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:06 +00:00
Alexandru DAMIAN
e5590bc381 bitbake: toastergui: fix project page layer branch names
Change inconsistent branch name usage in project page to
the uniquely defined get_vcs_reference()

[YOCTO #7381]

(Bitbake rev: bc838a6c075c4d7e24f7820088f485bbfdea5a32)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:05 +00:00
Alexandru DAMIAN
cffc2081cb bitbake: toastergui: suggestion in alphabetical order
Patch bringing ordering in alphabetical order for
targets, machines and layers suggestion in typeaheads.

[YOCTO #7152]

(Bitbake rev: de1a1504967b1c2df701f5b7496004f8cd68c407)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:04 +00:00
Alexandru DAMIAN
c8714ec0cd bitbake: toastergui: project page - consistent error display
We modify the project page to provide a consistent view of the
build errors. The display is now similar with the
managed_mrb_section and links point to the buildrequest
detail view.

[YOCTO #7188]

(Bitbake rev: d37eaaa48a63a137ded25a14911c97a5ae861ff6)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:44:04 +00:00
Jonathan Liu
daaafb4b5b systemd: fix /var/log/journal ownership
The ownership needs to be explicitly set otherwise it inherits the user
and group id of the build user.

(From OE-Core rev: 0752c79282b1cc9699743e719518e6c341d50a3a)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:09 +00:00
Randy Witt
da8a15a7d6 systemd: Fix journal "Failed to set file attributes:" warning
This is a backport of an upstream patch that fixes the
"Failed to set file attributes: Inappropriate ioctl for device" message
when the device exists on ext4 filesystems.

No functionality is changed, the patch just removes a potentially misleading
warning.

(From OE-Core rev: 18304e03c8ab8de94b6001a8a5677b57862da0f4)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:08 +00:00
Andre McCurdy
85532e020e curl: remove samba from PACKAGECONFIG[smb] DEPENDS
Enabling support for the smb protocol does not create
a build time dependency on samba.

(From OE-Core rev: b4c7921001a30e0162cacbe12b1a5b888b36db57)

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-03-16 17:42:08 +00:00
Sona Sarmadi
4811b04f12 e2fsprogs: CVE-2015-0247
Fixes a heap buffer overflow in lib/ext2fs/openfs.c which allows
a trivial arbitrary memory write under certain conditions.

References
http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/commit/?id=f66e6ce4
http://www.ocert.org/advisories/ocert-2015-002.html

(From OE-Core rev: 572437720b6698a3a10627fcd9654ef10f827836)

Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:07 +00:00
Alexandru.Vaduva
59e01b0262 linux-yocto-rt: removed duplicated line
Seemed that the recipe contained redundant information.

(From OE-Core rev: 22c0bc1b80d87bfd4f8d1fcbbb231b994f7e03b8)

Signed-off-by: Alexandru.Vaduva <Alexandru.Vaduva@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:07 +00:00
Robert Yang
f743cced19 mailx: disable parallel build
The makeconfig can't run parallelly, otherwise the checking results
might be incorrect and lead to errors:
fio.c:56:17: fatal error: ssl.h: No such file or directory

(From OE-Core rev: 99473b6668a05698ce000b142e97cce405a8a3cd)

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-03-16 17:42:06 +00:00
Ross Burton
73dca1ed8c util-linux: split libraries dynamically
util-linux has a number of utility libraries and not noticing a new one being
added in an upgrade results in many of the split-out core tools depending on the
entire package for the library.  To prevent this happening in the future do the
library packaging dynamically.

As a side-effect libsmartcols.so is no longer packaged in util-linux so
util-linux-fdisk no longer depends on the full util-linux.

(From OE-Core rev: a7572d7000bbc5739a1f0bec466dbcf856606f12)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:06 +00:00
Chen Qi
b14dd6a177 util-linux: fix CVE-2014-9114
Backport a patch to fix CVE-2014-9114.
The patch has been integrated in util-linux-2.26.

[YOCTO #7180]

(From OE-Core rev: 6a5c24f22621f41b17267a6ebedecec631d0156d)

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-03-16 17:42:06 +00:00
Koen Kooi
e5f9a6729c sysprof: fix arm big-endian build.
Applying the existing ARM patch for armeb makes it work.

(From OE-Core rev: 33a576a85b2d37dafadabf3f1472cd3c3b42f6b6)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:05 +00:00
Rob Woolley
3e8eb2d55c logrotate: Identify CONFFILES
Some package formats explicitly track which files are configuration files
so that they are not overwritten on updates. We must use an explicit list
instead of a wildcard as logrotate also provides files under ${sysconfdir}
that are not configuration files.

Signed-off by: Rob Woolley <rob.woolley@windriver.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:05 +00:00
Rob Woolley
1cdf38677b nfs-utils: Identify CONFFILES
Some package formats explicitly track which files are configuration files
so that they are not overwritten on updates. We must use an explicit list
instead of a wildcard as nfs-utils-client provides files under
${localstatedir}/lib/nfs that are not configuration files.

Signed-off by: Rob Woolley <rob.woolley@windriver.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:04 +00:00
Rob Woolley
f6c9b4f0eb nfs-utils: Install nfsmount.conf
The file nfsmount.conf is present in nfs-utils but not installed to the
filesystem.  It has been added to nfs-utils-client as it seemed to be
missing accidentally rather than being removed intentionally.  The binary
files in nfs-utils-client have a hard-coded reference to it and we
already provide the manpage for it in nfs-utils-doc.

Signed-off by: Rob Woolley <rob.woolley@windriver.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:04 +00:00
Kai Kang
4851a67e6c msmtp: add link file /usr/lib/sendmail
Link file /usr/lib/sendmail points to /usr/sbin/sendmail is required by
LSB core test according to Linux FHS: "For historical reasons,
/usr/lib/sendmail must be a symbolic link to /usr/sbin/sendmail if the
latter exists."

Create the link file /usr/lib/sendmail if it doesn't exist.

Refs:
1 http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/normativerefs.html#STD.LSB
2 http://www.pathname.com/fhs/pub/fhs-2.3.html#SPECIFICOPTIONS13

(From OE-Core rev: 9b25de34f084076b8c8db0e938696c4f630d366b)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:04 +00:00
Kai Kang
03ba0b70de lsb: update init-functions and remove sendmail
According to LSB specification Ref1, LSB checks file
/lib/lsb/init-functions. But for 64 bits system it is installed in
/lib64. Install init-functions to /lib/lsb to conform with LSB
specification.

Link file /usr/lib/sendmail which points to /usr/sbin/sendmail is
required by LSB according to Linux FHS[Ref 2]. But it should be done by
packages which provides command sendmail such as msmtp, postfix and
esmtp etc.

Refs:
1 http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptfunc.html
2 http://www.pathname.com/fhs/pub/fhs-2.3.html#SPECIFICOPTIONS13

(From OE-Core rev: e1b837ab1e1d48b73217c4f62a0f5aefc998d8bf)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:03 +00:00
Robert Yang
e67611baa5 Revert "blktrace: fix and enable parallel build"
This reverts commit 2d9763a1c8.

There are a few parallel issues:
1)
../rbtree.o: error adding symbols: Invalid operation
collect2: error: ld returned 1 exit status
Makefile:42: recipe for target 'btt' failed

2)
git/blkiomon.c:216: undefined reference to `rb_insert_color'
collect2: error: ld returned 1 exit status
Makefile:27: recipe for target 'blkparse' failed

3)
ld: rbtree.o: invalid string offset 128 >= 125 for section `.strtab'

4)
btreplay.o: file not recognized: File truncated
collect2: error: ld returned 1 exit status

btreplay/btreplay.c:47:18: fatal error: list.h: No such file or directory

(From OE-Core rev: 35bb619486d7f5721e8fa86c8744d4cea4d1746a)

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-03-16 17:42:03 +00:00
Robert Yang
9afc9eaa3a mtd-utils: disable parallel build
Disable parallel build because of:
git/.compr.c.dep:46: warning: NUL character seen; rest of line ignored
git/.compr.c.dep:47: *** missing separator.  Stop.

Because both mkfs.jffs2 and mkfs.ubifs depend on compr.c, and
.compr.c.dep may generate twice at the same time.

(From OE-Core rev: d7092965166af8c37bfd643becc1473f75a0712d)

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-03-16 17:42:02 +00:00
Mehaffey, John
40e15f07f6 lttng: Add tracing group when building lttng-tools
This prevents the "Warning: No tracing group detected" message
from lttng when there is no group 'tracing' while using lttng
on the target.

(From OE-Core rev: 8fef1e991f9ea6f0ad6110aab77bc9ab0b4e7d23)

Signed-off-by: John Mehaffey <mehaf@gedanken.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:02 +00:00
Jonathan Liu
3cbc509a5f kernel-devsrc: fix file ownership
The file ownership needs to be explicitly set otherwise it inherits
the user and group id of the build user.

(From OE-Core rev: 9ce5b600cb1663f8c2a625c7f7c08ab3e61b58c8)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:01 +00:00
Martin Jansa
c5fd5773e8 util-linux: move getopt u-a link to base_bindir
* busybox installs getopt u-a in base_bindir when GETOPT is enabled, move util-linux
  link to the same location to fix calling u-a in read-only images
* remove unused variable usrbinprogs_a

(From OE-Core rev: 8e59d9e2c9c94d8682208ee02a1566864aaf51ff)

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-03-16 17:42:01 +00:00
Ross Burton
c212977a55 liberation-fonts: inherit allarch as fonts are arch-independent
(From OE-Core rev: 21bd703655a7ab53cc02b070f5d99fa93a7884fa)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:00 +00:00
Robert Yang
28c986c94d resolvconf: fix SRC_URI
Fixed:
WARNING: Failed to fetch URL ftp://ftp.debian.org/debian/pool/main/r/resolvconf/resolvconf_1.76.tar.xz, attempting MIRRORS if available

(From OE-Core rev: f4db91f5228129d5e8cf65f9c4919b4fdfc5306b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:00 +00:00
Robert Yang
62705100f5 net-tools: fix SRC_URI
Fixed:
WARNING: Failed to fetch URL ftp://ftp.debian.org/debian/pool/main/n/net-tools/net-tools_1.60-25.diff.gz;apply=no;name=patch, attempting MIRRORS if available

(From OE-Core rev: 37481376adebab93f9c3d28a0a461c736f321ae3)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:41:59 +00:00
Robert Yang
18c6acd911 apt: fix SRC_URI
Fixed:
WARNING: Failed to fetch URL ftp://ftp.debian.org/debian/pool/main/a/apt/apt_0.9.9.4.tar.gz, attempting MIRRORS if available

(From OE-Core rev: 490d20e1a7e6e3a0cae24af37bcb0192a3916409)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:41:59 +00:00
Robert Yang
de2aad0f0b libevent: fix SRC_URI
The wget reported errors for the past URI since it can't follow the redirection well:
Connecting to cloud.github.com (cloud.github.com)|54.192.140.6|:443... connected.
OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Unable to establish SSL connection.

(From OE-Core rev: b2d7193da713120c97a452ca56742aca15911bee)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:41:58 +00:00
Robert Yang
b35689b5f5 xinetd: fix HOMEPAGE and SRC_URI
The www.xinetd.org is not available, use github as the HOMEPAGE and
SRC_URI.

(From OE-Core rev: 99acffdee21925e4d25d75ab921abf94b37b6595)

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-03-16 17:41:58 +00:00
Jonathan Liu
05a16911ff libunwind: backport patch to link against libgcc_s intead of libgcc
(From OE-Core rev: 9906f949627b64f9fc36bc129bb37c8dd84dc27c)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:41:57 +00:00
Chen Qi
38382e0f15 rootfs.py: fix logic error so that warnings are checked
The following commit caused log checking for warnings not working for RPM
rootfs.

    rootfs.py: ignore "NOTE:" when catching warnings

The problem is that checking for warnings is always skipped because the
following statement is always true.

    if 'log_check' or 'NOTE:' in line:

This patch fixes the above problem so that warning checking in RPM rootfs
can work again.

(From OE-Core rev: 3e9e2ce380a73b50cbfc1995e361cfe879de6a8a)

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-03-16 17:41:57 +00:00
Robert Yang
c03c82a707 pixbufcache.bbclass: add harfbuzz-native to PIXBUFCACHE_SYSROOT_DEP
Fixed:
DEBUG: Executing shell function pixbufcache_sstate_postinst
g_module_open() failed for sysroots/x86_64-linux/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: libharfbuzz.so.0: cannot open shared object file: No such file or directory

(From OE-Core rev: 892c8d80e7cf36b3a45dca248969d49ce78c0cbf)

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-03-16 17:41:56 +00:00
Robert Yang
788fd5ac01 kernelsrc.bbclass: fix KERNEL_VERSION
The kernel-abiversion is now in STAGING_KERNEL_BUILDDIR not in S.

Fixed rpm pkg like perf: (note the None version)
perf-None-r9.qemux86.rpm

(From OE-Core rev: 85bb679f22b2f5fb308016e62356bd1d6ba455a0)

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-03-16 17:41:56 +00:00
Andre McCurdy
9157c1b0aa chrpath.bbclass: handle RUNPATH as well as RPATH
Binaries linked with gold may contain a RUNPATH instead of an RPATH.
Update chrpath.bbclass process_file_linux() to handle both cases.

(From OE-Core rev: 46ceb4d035e4f49e6b4a3a83bf604944d2b991c1)

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-03-16 17:41:56 +00:00
Robert Yang
05a69edeb7 license.bbclass: set dirs for do_populate_lic_setscene
Fixed:
ERROR: Build of do_populate_lic failed
ERROR: Traceback (most recent call last):
  File "bitbake/lib/bb/build.py", line 497, in exec_task
    return _exec_task(fn, task, d, quieterr)
  File "bitbake/lib/bb/build.py", line 437, in _exec_task
    exec_func(func, localdata)
  File "bitbake/lib/bb/build.py", line 212, in exec_func
    exec_func_python(func, d, runfile, cwd=adir)
  File "/home/nxadm/nx/ala-blade44.1/builds-2015-03-09-163005/qemuppc_world_oe_bp/bitbake/lib/bb/build.py", line 237, in exec_func_python
    os.chdir(cwd)
OSError: [Errno 2] No such file or directory: 'bitbake_build/tmp/work/ppc7400-wrs-linux/taglib/1.9.1-r0/build'

When running setscene, the cwd is $B which maybe removed by
autotools.bbclass or cmake.bbclass when rebuild.

(From OE-Core rev: b3262af11094f93c9588f2e3edc70a5058491e6d)

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-03-16 17:41:55 +00:00
Ross Burton
8a9ac1de34 devshell: allow the starting directory to be overridden
Some people like to have the devshell start in ${B} instead of ${S}, so allow
this to be overridden.

(From OE-Core rev: 217af639d13258429949b14c67110650288cba7a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:41:55 +00:00
Khem Raj
66a4d8bf6e buildstats.bbclass: typecast argument to os.minor/os.major to long
Started to run into this error on ubuntu 15.04

ERROR: Execution of event handler 'run_buildstats' failed
Traceback (most recent call last):
  File "run_buildstats(e)", line 18, in run_buildstats(e=<bb.event.BuildStarted object at 0x7f93341c1b50>)
  File "buildstats.bbclass", line 17, in set_device(e=<bb.event.BuildStarted object at 0x7f93341c1b50>)
SystemError: ../Objects/longobject.c:998: bad argument to internal function

ERROR: Command execution failed: Traceback (most recent call last):
  File "/home/ubuntu/work/bleeding/openembedded-core/bitbake/lib/bb/command.py", line 102, in runAsyncCommand
    commandmethod(self.cmds_async, self, options)
  File "/home/ubuntu/work/bleeding/openembedded-core/bitbake/lib/bb/command.py", line 303, in buildTargets
    command.cooker.buildTargets(pkgs_to_build, task)
  File "/home/ubuntu/work/bleeding/openembedded-core/bitbake/lib/bb/cooker.py", line 1336, in buildTargets
    bb.event.fire(bb.event.BuildStarted(buildname, fulltargetlist), self.data)
  File "/home/ubuntu/work/bleeding/openembedded-core/bitbake/lib/bb/event.py", line 163, in fire
    fire_class_handlers(event, d)
  File "/home/ubuntu/work/bleeding/openembedded-core/bitbake/lib/bb/event.py", line 102, in fire_class_handlers
    execute_handler(name, handler, event, d)
  File "/home/ubuntu/work/bleeding/openembedded-core/bitbake/lib/bb/event.py", line 76, in execute_handler
    ret = handler(event)
  File "run_buildstats(e)", line 18, in run_buildstats
  File "buildstats.bbclass", line 17, in set_device
SystemError: ../Objects/longobject.c:998: bad argument to internal function

similar to here
http://pycuda.2962900.n2.nabble.com/bad-argument-to-internal-function-td4063274.html

If it is right fix .. Dont know

Change-Id: I84f3a4043ad5246e080dfd7e2f066e5292d4af91
(From OE-Core rev: 5f85a7549d119177c5d39f965b949e957e07867e)

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-03-16 17:41:54 +00:00
Jonathan Liu
9d0feb3f29 fontcache.bbclass: prepend to PACKAGEFUNCS instead of appending
Appending to PACKAGEFUNCS results in the font packages missing the
postinst/postrm scripts and the fontconfig cache not being generated
in /var/cache/fontconfig when creating images or installing font
packages. This is because the package data has already been emitted
by emit_pkgdata in PACKAGEFUNCS. Prepend to PACKAGEFUNCS to ensure
add_fontcache_postinsts is executed before emit_pkgdata.

[YOCTO #7410]

(From OE-Core rev: f0e3db4eaacc32423934ce09b91bc619dc5dbd21)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:41:54 +00:00
Jonathan Liu
d03e1677d5 postinst-intercepts/update_font_cache: fix ownership of fontconfig cache
The file ownership of the cache files in /var/cache/fontconfig needs to
be set to root:root otherwise it inherits the user and group id of the
build user.

[YOCTO #7411]

(From OE-Core rev: 23393c6685860d0b1c459874d35395360d0b6d3c)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:41:53 +00:00
Chen Qi
a30c6a5225 nativesdk.bbclass: set PKGDATA_DIR explicitly
For now, if we enable 'multilib' and execute `bitbake uninative-tarball
-c populate_sdk', the command would fail, complaining nativesdk-glibc not
found in package feed.

The problem is that PKGDATA_DIR is not set correctly for nativesdk packages
when multilib is enabled.

For now, we have:
meta/conf/bitbake.conf:PKGDATA_DIR = "${STAGING_DIR_HOST}/pkgdata"

The above is overriden by the following is multilib is enabled.
meta/conf/multilib.conf:PKGDATA_DIR = "${STAGING_DIR}/${MACHINE}/pkgdata"

This is correct for normal packages. However, for nativesdk packages, this
is not correctly. This is because nativesdk.bbclass set STAGING_DIR_HOST as
follows.

meta/classes/nativesdk.bbclass:STAGING_DIR_HOST = "${STAGING_DIR}/${MULTIMACH_HOST_SYS}"

The above overrides the value in multilib.conf.

That's why we need to also set PKGDATA_DIR explicitly in nativesdk.bbclass.

(From OE-Core rev: 2f99ee5725ffc173bf32c0b707aa90adbc4eed95)

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-03-16 17:41:53 +00:00
Martin Jansa
9a712be924 test-dependencies.sh: strip only .bb suffix
* we were stripping too much when stripping recipe name from line like this:
  ERROR: Task 12016 (/some/patch/something.dot.bar.bb, do_fetch) failed with exit code '1'
  where the recipe name contains dots and doesn't end with _<version>.bb
* apply the same fix as 8c9a25ae70d249b823ab2b0385d539eb8bbc1374 while
  building individual recipes

(From OE-Core rev: f76572df61d27a7e25f8433b1bbf42a0c9032024)

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-03-16 17:41:52 +00:00
Benjamin Esquivel
1d43c3c214 oe-setup-builddir: output message cleanup
Moved a Yoctoproject documentation banner to the end of the first-time
run messages section

[YOCTO #7368]

(From OE-Core rev: 49ed897c01cb3be7582f79d863110688cc46dc55)

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-03-16 17:41:52 +00:00
Koen Kooi
18c1c517b3 bitbake.conf: use http:// for GNU_MIRROR instead of ftp://
The past few weeks ftp://ftp.gnu.org has been intermittently giving errors like this:

WARNING: Failed to fetch URL ftp://ftp.gnu.org/gnu/emacs/emacs-23.4.tar.gz;name=tarball, attempting MIRRORS if available
ERROR: Fetcher failure: Fetch command failed with exit code 4, output:
Cannot parse PASV response.
accept: Connection timed out
Cannot parse PASV response.
Error in server response, closing control connection.

Which is annoying because binutils lives there. Using http://ftp.gnu.org hasn't given any problems so far.

(From OE-Core rev: 25fe8d95298a457e828190412d7148470edc5592)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:41:52 +00:00
Randy Witt
cd5e168a8f lib/oeqa/runtime/systemd: Add a basic runtime test for the journal
The test_systemd_journal() test will fail if journalctl exits with a
non-zero exit status. The exit status is non-zero even if there are no
journal files, which is what drove the creation of this test.

[Yocto #7388]

(From OE-Core rev: 27baa182d44872f84bee3da36b95997ce0597d89)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:41:51 +00:00
Paul Eggleton
313ad2a5cc bitbake: bitbake-layers: use stdout instead of stderr for logging
We use logger.plain() to produce actual output which needs to go to
stdout. We could use more advanced filtering (and probably should in
future) but for the moment let's just fix the regression.

Fixes [YOCTO #7458].

(Bitbake rev: e96fc0ccfc9f5be2c41c9733c92dc81df3df5065)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:41:29 +00:00
Rob Woolley
855fc21ae9 bitbake: knotty: Do not log show_versions output
Every time the bitbake show versions command (bitbake -s) is run it creates
a 100k log file.

The consolelogfile is disabled for show environment and disabling show
versions would make the behaviour match.

(Bitbake rev: dee0ba94e39ea49c1e9261a5e8932356e3bb7c57)

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:41:28 +00:00
Rob Woolley
0b5ab4d987 bitbake: knotty: Catch exceptions on broken pipes
Any exceptions that occur in calls to logging methods are automatically
suppressed, including exceptions due to broken pipes.

However, the knotty summary messages are printed directly to stdout, which
means that any broken pipes will cause an exception traceback in python.

By wrapping the summary section in a try / catch block we can check for
IOError exceptions caused by broken pipes and let them pass.

(Bitbake rev: 146e7e157f97b676858ecff583dd53800d997253)

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:41:28 +00:00
Richard Purdie
7f30749fe0 oeqa/parselogs: Skip hda opcode errors
These occur when running images under virtualisation on machines with
high load which sometimes trigger timeouts in the kernel DMA code.
They're harmless to ignore in these cases.

Adding this since "failing" the build due to this is more annoying
thank useful.

[YOCTO #7387]

(From OE-Core rev: fb29441216435b9bae47ca9cd42db5a6b1fe77d8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-12 12:50:24 +00:00
Ross Burton
0aff27522d layer.conf: bump version as error-report interface changed
The error-report tooling command-line options were changed and anyone doing
automated builds and using error-reports needs to know what options to parse.

(From OE-Core rev: 99f209a49a4390192b95184ff86bd6f973010111)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 17:45:05 +00:00
Richard Purdie
c60786cec0 poky.conf: Update for post 1.7 release versioning
[YOCTO #7325]

(From meta-yocto rev: ea78356221bb186694e67c04592c3d950cc3f975)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 14:51:29 +00:00
Robert P. J. Day
f67d4960b3 kernel-dev: Fixed missed shortcut
(From yocto-docs rev: 3f9c25820bb93f8efb6eaf415e9d7a9545832a7c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 11:08:35 +00:00
Scott Rifenbark
78cecf7a20 kernel-dev: Updates to the "Using Kernel Metadata in a Recipe" section.
Changed out the example to use some bits from the meta-xilinx layer
instead of the emenlow layer.

Reported-by: Robert P. J. Day <crashcourse.ca>
(From yocto-docs rev: 477c62877f5882538176d0f9c8a10fc4cf878628)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 11:08:35 +00:00
Robert P. J. Day
947cc83436 kernel-dev: Correct reference to "files" directory, should be ${PN}", and update kernel version.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 11:08:35 +00:00
Scott Rifenbark
7727a1608a ref-manual: Updated the KMACHINE variable description.
The example was ancient so I consulted Bruce Ashfield for a better
example and implemented it.

(From yocto-docs rev: e737f380ca5bb36c0095f11182cd3e3a93791e61)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 11:08:34 +00:00
Scott Rifenbark
2a5344e472 yocto-project-qs: Added note to Debian package requirements section.
The note alerts users to issues building QEMU when the build system
has the oss4-dev package installed.

Fixes [YOCTO #7382]

(From yocto-docs rev: 0f189ca7567e3e646808d5360fdb1499df8605c0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 11:08:34 +00:00
Ross Burton
dae9b5fb79 xserver-xorg: don't close already-closed connections
On shutdown xserver was closing connections that were already closed, resulting
in a segfault.

(From OE-Core rev: 04ffd02a14f5e0cd2ce0288b589d4c4a0120e2f4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:52 +00:00
Saul Wold
38cdb72362 systemtap: Upgrade to 2.7
This address issues with the 3.19 kernel and the number of patches to
back port would be to great

[YOCTO #7401]

(From OE-Core rev: 7ec29a4dbcc62a928c517bd968c499e325580bfe)

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-03-10 10:47:51 +00:00
Randy Witt
e75c95ceca systemd: Fix the problem of an empty journal on boot
systemd by default tries to write the journal to /var/log/journal.
But base-files has a symlink /var/log -> /var/volatile/log. And
/var/volatile is a tmpfs mount in /etc/fstab.

If the journal service started before /var/volatile was mounted (which
was the typical scenario) then the journal would appear empty since
the old location was mounted over.

This change fixes the problem by ensuring that the journal doesn't start
until after the mount happens.

[Yocto #7388]

(From OE-Core rev: 17e8595af2041cfd63adf73b344f7ccad3db7e01)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:51 +00:00
Robert Yang
d7fe8b46a5 mailx: fix SRC_URI
The old one is not available any more.

(From OE-Core rev: 3569d434e754a62ec998fbf48380d653d1524dc4)

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-03-10 10:47:50 +00:00
Randy Witt
1662423b8a systemd: Fix runtime failures in systemd-tmpfiles-setup.service.
There were failures at boot from systemd-tmpfiles-setup.service due to
tmpfiles.d not honoring the ordering of entries in the files.

The patch here fixes the ordering issue which subsequently fixes the
failures on boot.

[Yocto #7393]

(From OE-Core rev: f6da978c5685393c4b6ef14690fe869a80836ba2)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:50 +00:00
Benjamin Esquivel
56f010f7ac glibc: 'yes' within the path sets wrong variables
The AC_EGREP_CPP macro is looking for a 'yes' string that is likely
to be found in the path where the file is stored. This false positive
match causes variables to be mistakenly set.

The fix is to use a more elaborated string instead.

This has to be done at the configure and the configure.ac files, because
a reconfigure does not happen in the regular build flow.

[YOCTO #6614]

(From OE-Core rev: fd0bf8f95227796435d22aa7a849a74106cf1eef)

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-03-10 10:47:49 +00:00
Gary Thomas
9e95469916 opkg: Fix error when recompiled
If this package were ever recompiled, i.e. do_compile is rerun
as a result of a compiler change, etc., the 'opkg.conf' file
would be incorrectly updated, leading to an error:
 * opkg_conf_set_option: Duplicate option lists_dir, using first seen value "/var/lib/opkg".

(From OE-Core rev: 40a4f83d3791658789da8559c554b93b50db81c0)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:49 +00:00
Ross Burton
d5fb9aa9e7 gdb: add whitespace to _append
Add leading whitepace to EXTRA_OECONF_append so it doesn't rely on the original
value ending with trailing whitespace.  Spotted by Robert P. J. Day.

(From OE-Core rev: b1b9a269ff94d80622f1c2a447568641039dc9ce)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:49 +00:00
Kai Kang
44d763e0cb systemd: correct permission mode of /var/volatile/tmp
Permission mode of directory /var/volatile/tmp should be 1777,
correct it.

(From OE-Core rev: 81d3209666ed574a7af599070c65aa05114eb5bd)

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-03-10 10:47:48 +00:00
Khem Raj
664c1dfe22 systemd: Create packageconfig for ldconfig support
Useful when we disable ldconfig in glibc, we need to be able to
turn it off in systemd too, otherwise systemd tries to launch
the service and it fails

Change-Id: I170307f809a13def0cafc282e88d4eafa0313c31
(From OE-Core rev: 9c2eb7f4774356fabf21ff5147a7d34601fb57c8)

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-03-10 10:47:48 +00:00
Saul Wold
bd0ed7ce67 image_types: Fix MIN_BTRFS_SIZE to be 1024 blocks to match ROOTFS_SIZE
[YOCTO #7392]

(From OE-Core rev: b75e23568d72aea3c508492c129c361bedd98eb4)

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-03-10 10:47:47 +00:00
Dan McGregor
d6a2a54e5b systemd: fix systemd-tmpfiles ACL issues
On systems where /var/log is not a volatile systemd-tmpfiles creates
duplicate ACL entries. This causes systemd-tmpfiles service to fail.
Also quietly ignore ACL settings on filesystems that don't support ACLs.

Backport the fixes from systemd master to fix these issues.

(From OE-Core rev: 73a045a1b52d8260d60517bbb5d4c74132d03b10)

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-03-10 10:47:47 +00:00
Saul Wold
f5e4349011 openssl: Upgrade to 1.0.2
Rebased numerous patches
removed aarch64 initial work since it's part of upstream now
Imported a few additional patches from Debian to support the version-script
and blacklist additional bad certificates.

(From OE-Core rev: 10b689033551c37d6cafa284d82bdccd43f6113e)

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-03-10 10:47:46 +00:00
Robert Yang
7c504b44ef bash 3.2.48: disable parallel build
It's Makefile has the two rules:
$(BUILTINS_LIBRARY): $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h version.h
    @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libbuiltins.a ) || exit 1

${DEFDIR}/builtext.h: $(BUILTIN_DEFS)
    @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) builtext.h ) || exit 1

which causes parallel issues:
mkbuiltins.o: file not recognized: File truncated
collect2: ld returned 1 exit status

I don't have any good ideas to fix the problem, so disable parallel
build for it.

(From OE-Core rev: efbee563af4ab56f93ac0a6238426d1d3eb80b98)

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-03-10 10:47:46 +00:00
Robert Yang
370e730216 create-pull-request: fix git GIT_VERSION
If the git version is 1.7.9.5, then 1795 is bigger than 210 which causes
errors like:
fatal: No such ref: :rbt/bash
fatal: Needed a single revision
ERROR: git request-pull reported an error

Use the first 3 numbers to fix the problem.

(From OE-Core rev: d23a1d7df849a2a7d338b2805bba7694717cbe65)

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-03-10 10:47:46 +00:00
Ross Burton
72ee285fbe pkg-config: strip system library paths reliably
pkg-config was skipping every other link flag due to a list manipulation bug,
backport a commit from git to fix this.

This will stop users of zlib.pc from inserting the sysroot directory indirectly
into builds.

(From OE-Core rev: df3ecaf86360a9c109b1b19bfa8a52890315bbdc)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:45 +00:00
Ross Burton
8732930521 rpm: don't put LDFLAGS into the .pc file
The LDFLAGS are not generally useful with pkg-config and mean that the .pc file
contains references to the sysroot directory, so remove it.

(From OE-Core rev: f50c4c4e26edeaf01393fe7a06c42f86fd4680a5)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:45 +00:00
Lucian Musat
ddc8222443 oeqa/selftest: Added a testcase to verify INCOMPATIBLE_LICENSE option.
Fixes bug 6933

(From OE-Core rev: 984884cbc177300a4fefd56cb027d50b2ff4510c)

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-03-10 10:47:44 +00:00
Randy Witt
f0f6b234a7 lib/oeqa/selftest/lic-checksum: Verify failure when checksum changes.
The test added verifies that when a file with an absolute path in
LIC_FILES_CHKSUM changes without a corresponding change to the md5sum,
it triggers the license qa test again with a failure.

[Yocto #6450]

(From OE-Core rev: cab59ce08916c45c1d9da1cf9a92a67574f6c2c3)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:44 +00:00
Randy Witt
a39ce568e0 base.bbclass: Add LIC_FILES_CHKSUM files to checksum files.
Previously, files with absolute paths in LIC_FILES_CHKSUM such as
"file://${COMMON_LICENSE_DIR}/foo" would not result in a qa failure
when the license file changed.

To fix this problem, add any files with absolute paths from
LIC_FILES_CHKSUM to the file-checksums varflag, so that changes in the
license file are detected and cause the qa task for licenses to run.

[Yocto #6450]

(From OE-Core rev: 5df681259ae078c9d04d426fb5971eaa79d35ba5)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:44 +00:00
Mike Crowe
3f8ce1e755 sed: Cope with ${bindir} and ${base_bindir} being the same
${bindir} and ${base_bindir} may be the same. If they are don't try and
move files onto themselves.

(From OE-Core rev: ab1452cacce6584bab27b73fc1e22d603606ecda)

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-03-10 10:47:43 +00:00
Li Zhou
9d078a14a5 libtool: put libltdl.la in the right package.
The libltdl libraries are put in libltdl-* packages, but libltdl.la
is packaged in libtool-dev. This change puts libltdl.la in libltdl-dev
package instead of libtool-dev.

(From OE-Core rev: bcf1f0e18c656f75d8d1b8bbe1607bd8c722b529)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:43 +00:00
Khem Raj
6e539bf7a5 glibc_2.21.bb: Fix condition to skip parsing the recipe for non-glibc libc
The condition should be uclibc 'or' musl then we know its not glibc
right now it checks with 'and' operator, that condition will never be
true

Change-Id: Ifc48e81fd0b3c18d8e1ef76a18c216dc6acda092
(From OE-Core rev: 6feef44751d98c55a2764d70c26d170f90b73f9d)

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-03-10 10:47:43 +00:00
Khem Raj
bd193a0115 libgpg-error: Add -P option to CPPFLAGS
Fixes https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1301822.html

libgpg-error FTBFS when built with gcc-5. Here is the relevant excerpt:

| Making all in src
| make[4]: Entering directory '/tmp/buildd/libgpg-error/libgpg-error-1.17/src'
| gawk -f ./mkstrtable.awk -v textidx=3 \
|         ./err-sources.h.in >err-sources.h
| gawk -f ./mkstrtable.awk -v textidx=3 \
|         ./err-codes.h.in >err-codes.h
| gawk -f ./mkerrnos.awk ./errnos.in >code-to-errno.h
| gawk -f ./mkerrcodes1.awk ./errnos.in >_mkerrcodes.h
| gcc -E -D_FORTIFY_SOURCE=2  _mkerrcodes.h | grep GPG_ERR_ | \
|                gawk -f ./mkerrcodes.awk >mkerrcodes.h
| rm _mkerrcodes.h
| gcc -I. -I. -o mkerrcodes ./mkerrcodes.c
| In file included from ./mkerrcodes.c:26:0:
| ./mkerrcodes.h:9:5: error: expected expression before ',' token
|    { , "GPG_ERR_E2BIG" },
|      ^

It makes invalid assumptions on undefined behaviour of gcc. To see why,
let us look at the contents of the intermediate steps:

_mkerrcodes.h (deleted):
| ...
| #ifdef E2BIG
| E2BIG   GPG_ERR_E2BIG
| #endif
| #ifdef WSAE2BIG
| WSAE2BIG        GPG_ERR_E2BIG
| #endif
| ...

gcc -E -D_FORTIFY_SOURCE=2  _mkerrcodes.h | grep -v '^$':
| ...
| # 26 "_mkerrcodes.h" 2
| 7
| # 31 "_mkerrcodes.h"
|      GPG_ERR_E2BIG
| # 37 "_mkerrcodes.h" 3 4
| 13
| # 37 "_mkerrcodes.h"
|       GPG_ERR_EACCES
| ...

As can be seen here, the cpp from gcc-5 can split lines and "grep
GPG_ERR_" fails to account for that.

Change-Id: I6f1476e4afc7163ebc3a05106ceaa3b83e3fab3e
(From OE-Core rev: 3993378c9a8994688fda15a5cd05e04a435d2d54)

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-03-10 10:47:42 +00:00
Alexandre Belloni
1aa32a115a wic: rawcopy: support skipping
Add support for skipping the beginning of a file with the rawcopy
plugin.

(From OE-Core rev: 89db37c85ac0d0035dbeb9643d7802ca28681e76)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:42 +00:00
Alexandre Belloni
5e2dd63d2b wic: add fsimage plugin
The fsimage plugin allows to add an already existing filesystem image in
the partition layout.

(From OE-Core rev: b49e5af8c6ef0abaabce36e5e7d8ddc399e02f53)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:41 +00:00
Alexandre Belloni
0393438b94 wic: fix fstab generation
Commit 0a6668f6e60b4195ff4163c00fc972bacdb27b4b still included some
debug and is not working properly as the new fstab is generated too
late.

(From OE-Core rev: eea80d25c0902bb16ed3425888857d3cc5486376)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:41 +00:00
Chen Qi
5cfac6b9e9 systemd: avoid parsing error when 'networkd' is enabled in PACKAGECONFIG
If 'networkd' is enabled in PACKAGECONFIG, the do_install variable cannot
be correctly expanded. Error message is like below.

Failure expanding variable do_install: ShellSyntaxError: LexToken(Fi,'fi',0,0)
followed by:
  LexToken(NEWLINE,'\n',0,0)

This patch fixes the above problem.

(From OE-Core rev: 060375f0fea327d2962980045666edb6eaa5d5f0)

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-03-10 10:47:40 +00:00
Bian Naimeng
5818c0dc31 gcc-source: fix bug to avoid building error.
gcc-source don't do do_package_write_rpm, so we should set
PACKAGES = "" to avoid the building error if we want generate srpm,
otherwise, we get the error as below.

ERROR: Task do_deploy_archives in meta/recipes-devtools/gcc/gcc-source_4.9.bb \
       depends upon non-existent task do_package_write_rpm in \
       meta/recipes-devtools/gcc/gcc-source_4.9.bb

(From OE-Core rev: 704fd8f1efbd7fa9368cfe4f956abf24cd58664e)

Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:40 +00:00
Cristian Iorga
ca3a3c0541 meta/lib/oe/utils.py: properly implement both_contain()
oe.utils.both_contain() just does a find() on the value
rather than splitting the value and then looking in the
list of split items. The result is that if you add a
feature to MACHINE_FEATURES that itself has a substring
that matches one of the values looked for when building
COMBINED_FEATURES, you end up with an incomprehensible
error (here with "ext2i" in MACHINE_FEATURES):

ERROR: Nothing RPROVIDES 'packagegroup-base-ext2'
(but /home/balister/src/oe-core/oe-core/meta/recipes-core/
/packagegroups/packagegroup-base.bb RDEPENDS on or otherwise requires it)

Fix [YOCTO #6888].

(From OE-Core rev: e7375f73bd8052d012e35d4ebaee09a55417581f)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:39 +00:00
Michael Wood
d5a28582be report-error: Update information on the submission process
The new send-error-report will prompt for review of items and the server is
now specified by using the -s argument.

(From OE-Core rev: c195d70f35ea522854dcdd53aeae60eec6b7ad7e)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:39 +00:00
Michael Wood
a8b1dede04 scripts/send-error-report: Rework script to support new features
- Add arguments to allow for non-prompted sending, json encoded response
  and link backs.
- Add feature to check the server's max_log_size
- Add feature to allow reviewing of the final data
- Be a bit more helpful if the expected fields aren't filled in instead
  of exiting.
- Remove the redundant urlencode
- Add a user-agent so that the server can identify the encoding method.
- Remove custom proxy handling - urllib should 'just work'

[YOCTO #6736]
[YOCTO #7245]
[YOCTO #7105]

(From OE-Core rev: 5e036f3fd9caaedcd2759214766b3228299e929b)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:38 +00:00
Martin Jansa
ba78a365ee recipes: add x11 to required DISTRO_FEATURES
* it's not complete, but recipes depending on virtual/libx11 are easiest
  to spot, I've long list of PNBLACKLIST for all recipes which cannot
  be built in distro without x11 in DISTRO_FEATURES

(From OE-Core rev: 78d269fa9a586e24ef058ba5315c696f15935f56)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:38 +00:00
Richard Purdie
0467d53017 bitbake: cooker/server: Fix up 100% CPU usage at idle
The recent inotify changes are causing a 100% cpu usage issue in the
idle handlers. To avoid this, we update the idle functions to optionally
report a float value which is the delay before the function needs to be
called again. 1 second is fine for the inotify handler, in reality its
more like 0.1s due to the default idle function sleep.

This reverts performance regressions of 1.5 minutes on a kernel build
and ~5-6 minutes on a image from scratch.

(Bitbake rev: 0e0ba408c2dce14a0fabd3fdf61d8465a031495b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:37:28 +00:00
Alejandro Hernandez
8ce2f2c354 maintainers.inc: Became maintainer of python2 and python3
(From meta-yocto rev: bbfee008946efe8e3be06dc41b6b454d4d59245c)

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-03-09 16:01:08 +00:00
Bernhard Reutner-Fischer
efc7f04f92 scripts/runqemu: clarify help text
(From OE-Core rev: 0542472969d0eb28fd44da97e4e01d69d864d157)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 15:58:00 +00:00
Jonathan Liu
21e2c03a00 qt4: add patch for BMP denial-of-service vulnerability
For further details, see:
https://bugreports.qt.io/browse/QTBUG-44547

(From OE-Core rev: 840fccf8ec7691f03deeb167487cde941ebea8bf)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 15:58:00 +00:00
Jian Liu
73be8c1825 man: fix bugs of makewhatis script
- man-1.6e-whatis2.patch does not delete the tail "fi"
  fix it to avoid syntax error
- Use the command "which" to get the path of awk

(From OE-Core rev: 9383f635858e35e8fb83fba1750a8c6e4b4274b1)

Signed-off-by: Jian Liu <jian.liu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 15:57:59 +00:00
Clemens Lang
36e47a99ae bitbake: fetch2: Revalidate checksums, YOCTO #5571
[YOCTO #5571] -- https://bugzilla.yoctoproject.org/show_bug.cgi?id=5571

The following workflow (whether accidentally or deliberately) would
previously not result in a checksum error, but would be helpful to do
so:
 - Write a recipe with correct checksums
 - Fetch the sources for this recipe using bitbake
 - Change the checksums
Since the bitbake fetcher writes a done stamp after the initial download
and does not verify the checksums again (even if they are changed in the
recipe afterwards), the change of checksums is silently ignored.

Fix this without the overhead of computing the checksums from scratch on
every do_fetch by storing them in pickled format in the done stamp and
verifying that they still match those in the recipe.

(Bitbake rev: fbd4a0d422cf7f43db2f9eab2e47c41246a9031e)

Signed-off-by: Clemens Lang <clemens.lang@bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:57:00 +00:00
Dave Lerner
3c641e7238 bitbake: toaster: cached outcome download button
When a task is executed successfully without using saved-state cache,
then a button appears allowing the user to download the log file for
that task.  This commit allows the user to download the log file for a
task that is completed by unpacking data from the saved-state cache, a
task with outcome 'Cached'.  The same button 'Download task log' is
shown, which when pressed downloads the '_setscene' log file for that
task.

[YOCTO #7379]

(Bitbake rev: d4ac60c41f1ee9a8c59f9ede5b0948303f793afa)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:55 +00:00
Alexandru DAMIAN
f5edfce70d bitbake: toaster: projectapp.js - clear up jslint warnings
This patch clears up jslint warnings for the project app,
and improves file readability.

(Bitbake rev: 10e58867a0231c8039f6d2523b885b9ca7c7dff6)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:54 +00:00
Michael Wood
0fa38bb8e1 bitbake: toaster: libtoaster Fix a few warnings picked up by jshint
Fix warnings and items that do not conform to strict.
Also add a fairly lenient jshintrc. usage: jshint js_file

(Bitbake rev: 93a1e05a5d6bd19e689126bfef0df8caa0d8bf34)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:54 +00:00
Belen Barros Pena
41ebd5105b bitbake: toaterui: shorten the unavailable artifact message
Make it slightly shorter, and separate the 'back' action
so that is more visible and easier to hit.

(Bitbake rev: 70c8d8f471653e6832d1bbc469914b7e59372c1b)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:53 +00:00
Belen Barros Pena
5a03a23bfd bitbake: toasterui: give some space to the download log button
In the build dashboard, the download build log button was
a bit too close to the build time.

(Bitbake rev: da7c450f28cdf1c851b14f7a1fac08e6cf1dd894)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:53 +00:00
Belen Barros Pena
74bb0fb3c1 bitbake: toasterui: apply correct class to latest builds targets
Failed builds were showing the target name with the .success
class applied (cognitive disonance, anyone?).

(Bitbake rev: c78a19ecd2b397ccce59c1f6b852953b04afd37a)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:52 +00:00
Belen Barros Pena
d2c9f704f2 bitbake: toasterui: fix the h1 in the project builds page
It was not displaying the number of search results.

(Bitbake rev: df8bdd357b126a0436c15cf66a13d398df273867)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:52 +00:00
Belen Barros Pena
16c03f8541 bitbake: toasterui: don't open layer details in a new tab
In the project page, the project layer links were opening
in a new tab. They should not do that.

(Bitbake rev: 45d3c27e68149bce089551539f6bbdaef98b7896)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:51 +00:00
Michael Wood
dcbfc74c3c bitbake: toaster: Enforce unique layer names
We had some clever functionality to manage duplicate layer names by
using layer versions and new revisions, unfortunately this was too
opaque to the user.

[YOCTO #7337]

(Bitbake rev: 4590cfcb2d5e26518e04f8abc8e7c2dad973f6d2)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:51 +00:00
Dave Lerner
d8ae3ac160 bitbake: toaster: commit id format on layers page
On the layers page, when a layer revision is a commit id instead of a
an upstream branch name, then follow the same format for displaying the
commit id as on the recipes page.  That format is a button with the
truncated commit SHAID which when pressed expands to the full SHAID.

[YOCTO #7191]

(Bitbake rev: 507d2a36e53ba2c1f49616d52e4700f6c1bca8fd)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:50 +00:00
Alexandru DAMIAN
4004aebb1b bitbake: toastergui: bring back base URLs for pages that need them
Some URLs, although invalid on their own, are used in JS to
build valid page pointers. Previous patch removed two of these URLs,
breaking the display of several patches.

This patch re-adds these URLs with different names, and returns
400 Bad Request empty pages on them, which is consistent with the
intended usage of these URLs.

(Bitbake rev: 73afee5ddb2e89dcec65854639b19b8860232d89)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:50 +00:00
David Reyna
ece39b4c47 bitbake: toaster: reconcile non-manage-mode landing classes
Remove obsolete manage-mode URLs, fix not-manage mode landing classes that have
obsolete non-matching parameter lists, remove orphaned landing classes..

[YOCTO #6483]

(Bitbake rev: 76c54a79c4e26cefa5e72ca1cb14bc9d46e8f9dd)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:49 +00:00
David Reyna
4f3664705c bitbake: toaster: hide special code for core vars not present, disable add button
Hide the special config variable management sections when the respective
variables are not present. Disable the variable add button after a
variable is added so that blank values cannot be added, and also when a
variable name managed in the project detail page (e.g. BBLAYERS and MACHINE)
is entered.

[YOCTO #7246]
[YOCTO #7371]

(Bitbake rev: 1f9aaa7747351f7b0063f80c56cf7fa2c9cc3cf9)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:49 +00:00
Dave Lerner
48c48a41bf bitbake: toaster: layer rev tooltip only if necessary
On the heading for the layer detail page, only show a tool tip on the
heading revision branch/shaid field if the string is too large to fit
in the 13 character field. That is, don't show a hovering tool tip
with exactly the same string that is shown without the tip.

[YOCTO #7312]

(Bitbake rev: 8a3095a33551a96176fdff83ea33cda5b30311dd)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:48 +00:00
Dave Lerner
ec8e07f8cf bitbake: toaster: add sort, search, paging to recipe package page
When selecting the packages tab on a recipe detail page, the page now
includes:
    column sort on package name and size columns,
    search on the package name, and
    pagination.

Column sort is added by splitting the recipe view/html for a recipe's
package list into a new url path, view name and template, so that
the sorting routine, views.reload_params(), interfaces similar to other
views.

Search, sorting,  and pagination are implemented for this detail page
using three new templates.
  templates/detail_pagination_bottom.html
  templates/detail_search_header.html
  templates/detail_sorted_header.html

views.recipe() is optimized since the recipe's package list is no
longer needed by the recipe template, only the recipe's package count
is required for the first page.

The recipe view and template also changes to support tabbing to the
right context on the recipe detail page from the recipe-package page.

[YOCTO #6154]

(Bitbake rev: 6cb9e853d05c2c71467af22ef459ffbe6f41de36)

Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:47 +00:00
Alexandru DAMIAN
e248a503ba bitbake: toaster: models.py do not use transactions
This is the counterpart patch of
	do not use transactions if the database autocommits

fix on toasterui, applied to models.py

[YOCTO #7402]

(Bitbake rev: 48d0d510816346073f135bb86fb7904fdb50bb27)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:47 +00:00
Alexandru DAMIAN
7d9dd125f1 bitbake: xmlrpc server: delete function on errors
This patch makes sure to delete an idle function that
raises an exception for the xmlrpc server.

The counterpart functionality in the process server was
added with:

commit db50630948.
duthor: Richard Purdie <richard.purdie@linuxfoundation.org>
Date:   Wed Aug 20 22:31:06 2014 +0000

    bitbake: process: Deal with infinite looping of the server

This patch fixes

[YOCTO #7316]

(Bitbake rev: e7c9a6788d969c901fd6394416ac3936e62c4c72)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:46 +00:00
Alexandru DAMIAN
b611de9429 bitbake: cooker: make sure state is properly used to accept clients
This patch fixes a bug where if the build is force stopped,
subsequent clients cannot connect to the server due to
unnecessary limits on setFeature.

Additionally, we make sure that the state is properly reset
even if the BuildCompleted event firing excepts for some reason.

(Bitbake rev: 0b66b05169688aa4ddc4c54d175bb961b2f27fec)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:46 +00:00
Alexandru DAMIAN
8d87f7040f bitbake: xmlrpcserver: do not connect client on error
We roll back the client connection if some error happens,
like during setFeatures, as to leave the server accessible
to other clients.

(Bitbake rev: 4e4a2ee2f05f8741b2e09263e328420363975b02)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:45 +00:00
Alexandru DAMIAN
69d13dc64c bitbake: toaster: delete test data
Toaster used a test fixture to verify page rendering
on known data.

This fixture is outdated due to changes in the data structure,
and we remove it to avoid confusions about its usage.

The tests using this data are now disabled.

(Bitbake rev: 8fda1b66e695ccdf98ae1c34a0bd655be2878188)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:45 +00:00
Alexandru DAMIAN
a9cd657a01 bitbake: cooker: read file watches on server idle
The inotify facility monitoring changes to the config files
could be overwhelmed by massive changes to the watched files
while server is running.

This patch adds verification the notification watches to the
server idle functions, in addition to the cooker updateCache
command which executes only infrequently, thus preventing
overflowing the notification buffer.

[YOCTO #7316]

(Bitbake rev: 996e663fd5c254292f44eca46f5fdc95af897f98)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-09 14:33:43 +00:00
Scott Rifenbark
c504276d26 dev-manual, ref-manual: Replaced &dash;&dash; with "--"
Fixes [YOCTO #7386]

Apparently, copying HTML displayed commands that have a
double dash created through "&dash;&dash;" in the docbook source
causes some issues in the shell.  I have scrubbed the manual set
to replace any "&dash;&dash;" strings with "--".

Reported-by: Paul Eggleton <paul.eggleton@intel.com>
(From yocto-docs rev: e88b813b71d7d6d8acd8a8638f2db71265145b64)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:43 +00:00
Scott Rifenbark
a889cc011c yocto-project-qs: Added a cross-link to the wiki page for YP releases.
(From yocto-docs rev: b0c30f90bc7469f3fb0686ab9ccc8b9f130af613)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:42 +00:00
Robert P. J. Day
551edbdee6 kernel-dev: Update name of build directory
Tweak the manual to refer to the name of the kernel build directory as
it is listed precisely in linux-yocto.inc.

(From yocto-docs rev: f8c762e42a67bd84b733a5ae2512581af805a76b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:41 +00:00
Robert P. J. Day
a79cdb51b8 bsp-guide, kernel-dev, ref-manual: KERNEL_FEATURES should refer to .scc files.
Tweak a number of doc lines so that the KERNEL_FEATURES variable
refers directory to .scc files, and does not take advantage of
potentially confusing shortcuts.

(From yocto-docs rev: 6236fb098fc2d518f6f4f63e16b19a06a775d2d6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:41 +00:00
Scott Rifenbark
f0b44ff4b4 kernel-dev: Applied some user-input formatting for some variables.
(From yocto-docs rev: 2aa26a4f32268997e730d48626ad074ef9fcd8bf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:40 +00:00
Scott Rifenbark
dc56adb5fb kernel-dev: Substituted "emenlow" example for "fri2"
(From yocto-docs rev: 786f647bfb0aca98be64a5515c1cc3b645c85d3e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:40 +00:00
Scott Rifenbark
0401f07f9e kernel-dev: Added quotes around a section cross-reference.
(From yocto-docs rev: e8b4b8239c2d7ae6a5989e0f3ab82b25ccd34ae9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:39 +00:00
Scott Rifenbark
14316cf39f kernel-dev: Fixed variable formatting.
(From yocto-docs rev: f2264bc3a61c284f01e68feea86858e46bf1594d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:39 +00:00
Scott Rifenbark
42f5b116da dev-manual: Updates to the "Working Within Eclipse" section.
First edits to update this section to support the Luna version of
Eclipse.  I weeded out Juno, which leaves Luna as the preferred
version and Kepler as a second version if they don't want to update
to Luna.

(From yocto-docs rev: 4f2dc237aa3498402cdf637ac2e85fdf0c3bf8a0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:38 +00:00
Scott Rifenbark
1beb6fc738 poky.ent: Added a new variable ECLIPSE_LUNA_URL
With the support of Luna version of Eclipse, I had to create a new
variable named ECLIPSE_LUNA_URL and set it to
"&ECLIPSE_DL_URL;/releases/luna"

(From yocto-docs rev: 4c686fc8e52d608975c4fd9040fd83870419bcf0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:38 +00:00
Robert P. J. Day
62e4d4571c ref-manual: Updated the MACHINE variable description.
Fill out missing machines for the MACHINE variable.

(From yocto-docs rev: 2b8179cfb7e3a25d95c43f9160d284ebd5deefc7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:38 +00:00
Scott Rifenbark
4a5f13760b kernel-dev: Swapped out fri2 BSP for emenlow BSP in example.
In the "Using Kernel Metadata in a Recipe" section, the example
called out "fri2" as an example BSP that shares the same KMACHINE.
This was true last release of meta-intel but is no longer true.
I used "emenlow" now as it seems to be like "fri2" was before
the "fido" release.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 65516ed8f31752288eeaaacc6279f808a3a8a8df)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:37 +00:00
Scott Rifenbark
82ad008cd2 kernel-dev: Updated "Modifying Source Code" section.
Substituted a more correct build directory path in the
example by providing
"${WORKDIR}/linux-${PACKAGE_ARCH}-${LINUX_KERNEL_TYPE}-build"

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 818493d7ee5fc6c1750f20e5cea22a3816c8675c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:37 +00:00
Scott Rifenbark
86f4cf8faf yocto-project-qs: Updates to add more explanations and navigation
Added some changes based on input from a new user.  Basically,
added a bit more explanation in a few spots and some suggestions
on where to read or go next after concluding the two basic
quick-use sections.

(From yocto-docs rev: 5381f1202957e171d16d97332b40e8d363828a20)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:36 +00:00
Scott Rifenbark
8951db67fd poky.ent: Changed the code name from "tbd" to "fido".
(From yocto-docs rev: 5d4d945b6454509fcc4cd35ea8d098c2996f91d5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:35 +00:00
Scott Rifenbark
0a2091376e dev-manual: Updates to Eclipse section
Modified the area from which the Eclipse Git repository is located.
This has changed.

(From yocto-docs rev: ec2bf4125877b28dae0681c8b578c7bebec5a5b6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:35 +00:00
Scott Rifenbark
e7e533028b kernel-dev: Scrubbed out the 3.4 kernel references.
This kernel is not supported and is ancient.  Many of the examples
were referencing this kernel.  I switched to use the 3.19 version.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: ba04c4f11a02b4562994d5d79838cd2cf90efc7e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:34 +00:00
Robert P. J. Day
043e02c5d8 kernel-dev: Minor typo fixed and added LTSI link
Fixed a small text issue where a hypen was needed.  Also, provided
a real link to the YP LTSI page.

(From yocto-docs rev: aa8c06b79eef1855c3b5af4c8bfa47a96a86d332)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:34 +00:00
Scott Rifenbark
a8f21965eb kernel-dev, ref-manual: Edits to KBRANCH.
Applied some edits to the areas where KBRANCH is discussed.
Clarified that setting it is not optional any longer.

(From yocto-docs rev: 4d0b2d92140d066048d9ff36453c7ea589eebe55)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:33 +00:00
Scott Rifenbark
8ced82e8b2 kernel-dev, ref-manual: Scrubbed out the KBRANCH_DEFAULT variable.
This variable is out.  There were some references to deal with.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: fcdd5de04c722ebde2d3f236310c46a251cf1afc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:33 +00:00
Scott Rifenbark
fef68d378e ref-manual: Updated the KBRANCH variable description
Removed traces of the deprecated KBRANCH_DEFAULT variable.

(From yocto-docs rev: 8130f0db46be872cd857d8579323e4ad00da6380)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:32 +00:00
Robert P. J. Day
b49a5ccc5b kernel-dev: Clarify a couple minor things in kernel manual, ch 2.
Some small changes to clarify how to change the configuration.

(From yocto-docs rev: fce7c97abb69f15142dbadf90a90965a49ec3e0e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-06 10:44:31 +00:00
Ross Burton
bef8558f0e README: expand the Where To Send Patches section
(From meta-yocto rev: 20903fc4df6eed27202c2bf015d2da402191205a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-04 17:07:37 +00:00
Richard Purdie
5c1c8af083 build-appliance-image: Update to master head revision
(From OE-Core rev: 3c78468f12296abd02abce6eeac0f69bc7509958)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-03 13:12:57 +00:00
Ross Burton
d01cd53429 systemd: fix tmpfiles error on images without PAM
If PAM isn't enabled then systemd-tmpfiles on boot will fail to start with the
following error message:

Failed to copy files to /etc/pam.d: No such file or directory

This is because systemd-tmpfiles is attempting to build a usable /etc from the
skeleton in /usr/share/factory but pam.d isn't present because PAM is disabled.
Fix this by not attempting to copy pam.d in non-PAM configurations.

(From OE-Core rev: 46a54e7991b939f12a729e4d263d19130e0aea78)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-03 12:59:28 +00:00
Ross Burton
8d4e621a6c gstreamer1.0-plugins-bad: disable Yadif on X32
Yadif generates bad assembler when the x32 tune is enabled:

gst/yadif/yadif_template.c:244: Error: `(%edx,%r11)' is not a valid base/index expression

This should be fixed upstream but until then we can disable the Yadif
plugin if x32 is enabled.

[ YOCTO #7385 ]

(From OE-Core rev: 5c2f014406dc3e7baaea1c91827d7a7c660c2e1e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-02 22:39:40 +00:00
Peter Urbanec
ecd052ebf9 glibc: Fix check for -Os.
The check is supposed to be for -Os, but it's actually testing -O0.

(From OE-Core rev: 32d01a341cac894617d47ab7ebe9485ec3c8ac92)

Signed-off-by: Peter Urbanec <openembedded-devel@urbanec.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-02 22:06:01 +00:00
Ross Burton
03a357765f gst-player: port to GTK+ 2
Whilst Sato still uses GTK+ 2 we don't want the overhead of building both GTK+ 2
and GKT+ 3.  Luckily gtk-play is a simple application and it's just a small
patch away from building with GTK+ 2.

When Sato is ported to GTK+ 3 (the mythical Shuku proposal) this patch can be
removed.

(From OE-Core rev: 708b6793e67fa44c335af83af51f8da36f3f68ca)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-02 22:05:35 +00:00
Bruce Ashfield
3fb3030f32 kern-tools: improve patch application performance
Update the SRCREV for the following incremental improvement in patch
processing time:

    kgit-meta: skip patches on non-leaf nodes

    In a similar way as commit 0768d697 [kgit-meta: dont run kgit-s2q
    for
    non-leaf nodes], we can save even more processing time by not even
    analysing and linking patches if we aren't on the leaf node of the
    tree.

    This early exit can save nearly 95% of the time required to "patch"
    a tree when no changes are actually applied.

(From OE-Core rev: 148c78e0f5de2689de3ad9beaa9f6de618d87758)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-02 22:05:35 +00:00
Bruce Ashfield
49d7aae7df linux-yocto/3.14: OcteonIII support
With these SRCREV updates, we add the following support to the kernel:

The following has been verified with the branch sources:

 On 68xx:

   * SGMII, XAUI Packet IO interfaces.
   * PCIe devices
   * EHCI/OHCI USB driver

 On 78XX:

   * Ran LTP testsuite
   * SGMII, XAUI Packet IO interfaces
   * MMC driver (which covers GPIO interrupts in the driver)
   * PCIe devices
   * XHCI USB driver

(From OE-Core rev: c32023e75b1cd722f3fca226ec8651dc10cf9dab)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-02 22:05:35 +00:00
Bruce Ashfield
e02016e73b kernel-yocto: inhibit BSP description warnings for custom linux-yocto kernels
We don't require that a yocto custom kernel + defconfig have a full BSP
description (but of course it would be better if they did). Since this
isn't a requirement, we shouldn't alarm users by generating a BSP
description warning.

To implement this, we add a bsp audit level flag (like the one that
exists for kconfig audits), and only set it to activate in the versioned
linux-yocto recipes.

[YOCTO: #7370]

(From OE-Core rev: d2fb7fff291b83700d487be093223c1533d915ce)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-02 22:05:34 +00:00
Bruce Ashfield
dd1d4e55c6 linux-yocto: fix qemux86-64 config warning
During the 3.19 update a 32 bit option in the 64 bit config was missed,
which results in the option being dropped (and reported as a warning):

  Value requested for CONFIG_PCI_GOANY not in final ".config"
  Requested value: "CONFIG_PCI_GOANY=y"
  Actual value set: ""

So we split the 32bit only drivers out of the common driver include and
the problem goes away.

[YOCTO: 7354]

(From OE-Core rev: 4dc9bde20602c7565979c7ebdea1a36c7ab3f458)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-02 22:05:34 +00:00
Richard Purdie
bf1a68e97f taglib: Fix cmake floating dependency on boost
The previous fix for this issue was incomplete. We also need to change
the source file to avoid this error. Grepping the build directory for boost
will show the issue when building taglib after boost has been built.

(From OE-Core rev: 779f92454218ae3758f0768763df3b183a6c724a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-02 18:06:53 +00:00
Ross Burton
bf59b22d14 security_flags: remove PIE flags from flex and gstreamer1.0-plugins-bad
These recipes both fail to build with "relocation R_X86_64_PC32 against
undefined hidden symbol `__init_array_start' can not be used when making a
shared object" when using PIE.

(From OE-Core rev: 37e6e62f0faae3fa16421b051599aea0e03a5825)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-02 18:04:27 +00:00
Richard Purdie
4a2632695e build-appliance-image: Update to master head revision
(From OE-Core rev: bc393da30306891617adbb5eda5f57c9209ff24f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 21:15:58 +00:00
Ross Burton
d273197706 gst-player: only depend on -ugly plugins if commercial licenses enabled
gstreamer1.0-plugins-ugly is protected by the "commercial" LICENSE_FLAGS, so
only recommend it if those licenses are enabled.

(From OE-Core rev: 66be46e44d93c8a772acaa68f5d8296c1f9fc793)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 21:15:50 +00:00
Richard Purdie
89bf0bf2ab build-appliance-image: Update to master head revision
(From OE-Core rev: 9562c235e8816441594022b4cabb8f77d16d97da)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 19:17:38 +00:00
Ross Burton
9bd1da2f9c systemd: add PACKAGECONFIG for xkbcommon and iptables
systemd has optional support for xkbcommon (verify keymaps when locale changes)
and iptables (configure NAT rules).

Add PACKAGECONFIG options for these, disabling iptables by default and
respecting the X11 DISTRO_FEATURE for libxkbcommon (as the code involves X11
keymaps).

(From OE-Core rev: a3e9a86c8765a60ef0ef282f0fe3f3c733a8e3a3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 19:03:10 +00:00
Ross Burton
aef3a581cf systemd: use PACKAGECONFIG for PAM enable/disable
(From OE-Core rev: 57110cb701f16b59a92efcce1057ba2622e568cf)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 19:03:10 +00:00
Ross Burton
c0bd9e6da7 systemd: add missing util-linux build-dependency
This dependency accidently disappeared in the 219 upgrade, so add it back.

(From OE-Core rev: 4636269f0d69ac1a80f3f1cc5979fb2b425513eb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 19:03:09 +00:00
Ross Burton
a3fe99dc15 owl-video: remove
The testapps packagegroup was the only user of owl-video, and now that has been
replaced by gst-player this can be deleted.

(From OE-Core rev: 8b6080cd2a9b5ce029b62958aa68b6684be9682c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 19:03:09 +00:00
Ross Burton
646dfe014c packagegroups: use gst-player instead of owl-video
owl-video is a bad video player that doesn't work very well, use gst-player
instead for testing.

(From OE-Core rev: d620f6a19e104e2cd7eaf060429df4a41a504206)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 19:03:08 +00:00
Ross Burton
a240f08f0f sato: fix typo in packagegroup
The gtk-play binary is packaged in gst-player-bin...

(From OE-Core rev: ee74395813225d6e33acb319239a7cd0452c947d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 19:03:08 +00:00
Richard Purdie
5025479a8f build-appliance-image: Update to master head revision
(From OE-Core rev: b4cbf2da02d7560d65b7e0b862ee9ca86033c2f2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:43:15 +00:00
Scott Rifenbark
8571027be2 ref-manual: Added variable description for FILES_SOLIBSDEV
Fixes [YOCTO #7358]

Added a new variable description.

(From yocto-docs rev: 42ff075319b346f22d2c604c0de249ac3039a992)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:40:35 +00:00
Scott Rifenbark
4bdaa5c5ba kernel-dev: Small fixes.
Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 198ce97a1158237056f035ade555ce04a6031c56)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:40:34 +00:00
Scott Rifenbark
1a74c797a0 kernel-dev: Updated FILESEXTRAPATHS example in 2.2.3.
Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 4d85a363602eeb8c5f52064af9ffa1a47e541470)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:40:33 +00:00
Alejandro Hernandez
9c4574e389 python: Fix ctypes/libffi configure
Forces the creation of a configure script for ctypes/libffi Module
by calling autoreconf after it being deleted on do_configure().

Fixes configuration hence compilation of this Python module.

[YOCTO #7373]

(From OE-Core rev: dd23f79c9ac4782fecc408fc14e66c0ce81f6973)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:40:33 +00:00
Patrick Ohly
51908e5141 package_rpm.bbclass: support packaging of symlinks to directories
os.walk() returns symlinks to directories in the "dirs" lists, but then never
enters them by default. As a result, the old code applied neither the
directory handling (because that is active once a directory gets entered) nor
the file handling, and thus never packaged such symlinks.

The fix is simple: find such special directory entries and move them to the
"files" list. However, one has to be careful about the undefined behavior of
modifying a list while iterating over it.

This fix was required for packaging a modified base-files that created
symlinks into /usr for /sbin /lib and /sbin.

(From OE-Core rev: 9c4ab427b6acbc3f708860adace65393562227a7)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:39:36 +00:00
Joe MacDonald
de638414f7 libpcap: add pkg-config support
libpcap was not previously installing a pkg-config file.  Add a basic one
that will allow using 'pkg-config --libs libpcap', for example, in recipes
rather than 'pcap-config', which frequently returns incorrect information.

(From OE-Core rev: 0f51c1260ac53aa4843e29b00cd600eb64074260)

Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:38:41 +00:00
Khem Raj
7ce7756adf systemd: Upgrade 218 -> 219
219 has been in the docks for sometime, the older patch got merged
this patch is now upgrading 218 to 219

Make all patches using git

Change-Id: Ib0350144592aba26cad56c13c9a5522515915c58
(From OE-Core rev: 041570e584b98b580cc75f9ee23372da74a84377)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:36:32 +00:00
Khem Raj
3af8d90203 libgpg-error: Upgrade 1.17 -> 1.18
License checksums changed due to year change

-   Copyright (C) 2003, 2004, 2010, 2013, 2014 g10 Code GmbH
+   Copyright (C) 2003, 2004, 2010, 2013, 2014, 2015 g10 Code GmbH

Change-Id: I870446796cf9ffe3acae7aeeac2d96d6305d4186
(From OE-Core rev: 5c22fc329768af7095c205f47ef7f4e3d5f3272c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:36:31 +00:00
David Reyna
aecc63de17 bitbake: toaster: config var layout fixes
Block duplicates of custom variables regardless of case, fix spacing of
delete icon, no extra error msg on blank DISTRO name

[YOCTO #7359]

(Bitbake rev: baec2940c2b4ec792cacad5cc8d8056d9162919b)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:36:08 +00:00
David Reyna
8c476c27bb bitbake: toaster: all projects data and sorts
Implement the 'last build' data methods, enhance variable display,
add empty page and empty sort support.

[YOCTO #6682]

(Bitbake rev: cc6ca17e80844ecb4a777276d5f5177ebbcd93f9)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:36:08 +00:00
Alexandru DAMIAN
6768a3069d bitbake: toastergui: add csrf tokens for AJAX calls
This patch adds CSRF tokens in pages using AJAX calls in
order to force Django to generate the CSRF cookie used to
authenticate the call.

(Bitbake rev: 6b2403992f1f5f84114ec9b243813957ff907051)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:36:07 +00:00
Alexandru DAMIAN
ee1af30548 bitbake: toasterui: do not use transactions if the database autocommits
Some databases, notably the SQLite3 adapter, force autocommits even if
the autocommit is turned off. The behavious is tracked in this bug:
http://bugs.python.org/issue8145#msg109965

Django refuses to work with autocommit off in this case, so we have
to take the same precautions when using manual transaction support.

[YOCTO #7363]
[YOCTO #7365]

(Bitbake rev: 90231ab63a129fa344d461c2911898ea0f07f206)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:36:07 +00:00
Alexandru DAMIAN
87c6a5482f bitbake: toaster: order layers with same priority
When we have multiple layers with the same priority, we
need to order them by date, newest first. The layer version
ID is a complete ordering by recent-ness, so it is suitable.

(Bitbake rev: 09171a892935d46ed32162b2d0f4a536c546facc)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:36:06 +00:00
Alexandru DAMIAN
f116c32f2a bitbake: toasterui: fix sstate task identification
This patch fixes a problem where set sstate scene tasks
were not identified, causing cache attempt not being recorded.

[YOCTO #7223]

(Bitbake rev: 8a326a9a5a08981f1b7960e02fdb8a9436db16fb)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:36:05 +00:00
Alexandru DAMIAN
2d1d6a8ee6 bitbake: toastergui: stop covered task graph traversal early
This patch stops the breadth-frist graph traversal for
finding covering tasks after the finding the first level
of executed tasks.

The reasoning is that the first level of executed tasks is the
actually relevent information on how a task was covered.

(Bitbake rev: 06294c5d3b512fb849fc1eedc9d5ea344f535bec)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:36:05 +00:00
Belen Barros Pena
63e5d478f5 bitbake: toaster: fix typo in models.py
The typo caused the tasks table to break when a task has no
help text.

(Bitbake rev: f1b794e6abba5c7cdda49666a7ff27db7dd6ea72)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:36:04 +00:00
Ross Burton
e2b5d231b2 gaku: remove (replaced by gst-player)
Gaku was buggy and use GStreamer 0.10, gst-player is less buggy and uses
GStreamer 1.x.

(From OE-Core rev: 4866840b1c2998c1a57865e9408657259d908213)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:36:03 +00:00
Ross Burton
b05a5a74a9 sato: use gtk-play (from gst-player) instead of Gaku
The Gaku media player was always a bit incomplete and had some serious bugs.
gst-player doesn't have these bugs, is maintained, and uses GStreamer 1.x.

(From OE-Core rev: 09fea7f3c0520e555af95234ceb860bd9b4d2878)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:36:03 +00:00
Ross Burton
f8b5481ba5 gst-player: add
gst-player is a convenience library for handling media playback in GStreamer.
It also has a sample application that can be used as a basic media player for
testing.

Patch in a file selector for use without a terminal and a desktop file so it
appears in the desktop.

(From OE-Core rev: 07e79c259dda660715fcdf802af66273209670ba)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-27 07:36:02 +00:00
Paul Eggleton
6d7cf8e9dd lib/oe/terminal: fix konsole terminal support for KDE 4.x
It seems that the --nofork option genuinely stops konsole from going
into the background now; I'm not sure when this changed but it does seem
to be working so we can use it. (Tested with Konsole 2.10 and 2.14.2).

Fixes [YOCTO #4934].

(From OE-Core rev: 49b21abf1020b2eefbbec98415c3d7de8827c993)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-26 07:47:50 +00:00
Paul Eggleton
f160730bbd lib/oe/terminal: fix regressions
Fix up some issues introduced by OE-Core commit
818c94f5b9882c2028ef9f056714a0a3c9045551:

* If we want to support versions with more than two parts, versions with
  only one part, or versions with non-integer parts, then we have to
  stay with strings. We can use distutils.version.LooseVersion() to help
  with comparisons.
* We don't want a warning when launching gnome-terminal 3.10+ and
  logger.warn() doesn't take a first integer parameter anyway
  (logger.debug() does).
* Also clean up tabs.

(From OE-Core rev: 565d4a144ab3b8fe04950392497de1e0cf1152a5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-26 07:47:50 +00:00
Paul Eggleton
efd78e3508 bitbake: bitbake-layers: fix wildcard support in remove-layer
The recent refactoring caused use of wildcards to trigger a traceback
because the old variable name was being used.

Fixes [YOCTO #7367].

(Bitbake rev: 7182cdd3c4a534a87147bb0aad7b360ffef6426b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-25 23:29:29 +00:00
Richard Purdie
40d80f9e01 build-appliance-image: Update to master head revision
(From OE-Core rev: c578f5d34ce1718aaeb7dcbf3fc014fd48bac5fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:38:02 +00:00
Scott Rifenbark
b77596aad9 ref-manual: Updates to scrub out 3.10 kernel.
Two areas affected by this change.  I updated the KBRANCH and
PREFERRED_VERSION variables in the glossary.  One change in the
KBRANCH	area was getting rid of the deprecated Crown Bay example.
I substituted in the Emenlow BSP.

(From yocto-docs rev: d7ed727ab5828dc257361c558a86a298bc537748)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:36:13 +00:00
Scott Rifenbark
f94b6298d8 dev-manual: Adjusted text for deprecated 3.10 and 3.17 kernels.
These kernels are unsupported for the 1.8 release.  They will still
show up in the YP source repos but the recipes are removed from the
poky area.  Updated all references appropriately.

(From yocto-docs rev: a9adc071409fd31dabc3affec12350c300312600)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:36:13 +00:00
Scott Rifenbark
a438aa3545 bsp-guide: Removed 3.10 and 3.17 kernel references.
Version 1.8 drops support of the 3.10 and 3.17 kernels.  The
emenlow example was using the 3.10 kernel recipe as a showcase
and it also listed the recipe in the directory structure.  I
removed it.  Additionally, the yocto-bsp create command was
prompting for the user to accept the default 3.17 kernel.  I changed
that to 3.19.

(From yocto-docs rev: 03bf66e961400b27b7e31d4a25776a11ce5719fd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:36:13 +00:00
Scott Rifenbark
a0a1f173df ref-manual: Repositioned PNG files for context image.
I moved the PNG file for the context to be the first item displayed
for a given glossary term.  The PNG file must be negatively indented
though to look decent.

Fixes [YOCTO #5601]

These reformatting changes were needed because of brower incompatibilities
discovered with the existing solution for displaying these PNG files
with glossary terms.

(From yocto-docs rev: 06aeb6540c1343825369dd02006cb19e5a318d48)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:36:13 +00:00
Scott Rifenbark
0a8c08ed31 ref-style.css: Added a new style to support glossary hanging indent
I moved the PNG file for the context to be the first item displayed
for a given glossary term.  The PNG file must be negatively indented
though to look decent.

Fixes [YOCTO #5601]

These reformatting changes were needed because of brower incompatibilities
discovered with the existing solution for displaying these PNG files
with glossary terms.

(From yocto-docs rev: c84c4bc91b10e1443dc5aefc3a987a370d25432b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:36:12 +00:00
Alexandru DAMIAN
8aa9a23078 bitbake: toasterui: fix ETA calculation
This patch fixes the ETA calculation.

[YOCTO 7349]

(Bitbake rev: 8a5c83c953c1e541704fe979e90d9d3be66e9ffd)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:35:45 +00:00
Alexandru Damian
f120b7822e bitbake: toastergui: performance improvements in task details page
This patch brings better forward and reverse dependency computing in
tasks page (offloading python code to the database), as well as
replacing the recursive depth-first covered-by tree search with
breadth-first search.

(Bitbake rev: bc76da054570ae385c87d14c9f2337368e8311f3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:35:45 +00:00
Alexandru DAMIAN
cb23e3043b bitbake: toasterui: disable autocommit for build logging
This patch disables autocommit for inserting build data,
effectively updating all build data in a single transaction.

This is a purely performance improvement patch, as the transaction
will always be commited.

Similar manual transaction handling in the layer source update
method. Added feedback messages during update method.

[YOCTO #7140]

(Bitbake rev: 3978c819e797f857235499a4b8ec238134f1c028)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:35:45 +00:00
Alexandru Damian
6de6739c4c bitbake: toaster: update requirement for Django 1.6
In order to bring in transaction.set_commit support,
we need Django 1.6, discarding support for Django 1.5

This patch removes 1.5 from the list of acceptable Django
versions.

(Bitbake rev: 8640769296c3fffa2cf56cfb5327ca24533f5a41)

Signed-off-by: Alexandru Damian <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:35:44 +00:00
Belen Barros Pena
03c1e479c9 bitbake: toasterui: improving the latest builds consistency
We have 2 pages where we have a 'latest builds' section:
the 'all builds / all projects' page and the 'project'
page. Unfortunately, we are currently using different
code base in both, which means that some inconsistencies
between the two in behaviour and presentation have sneaked
in.

This patch addresses some of such inconsistencies.

(Bitbake rev: 0825f1a74b3767aad67674ab5044075c90067377)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:35:44 +00:00
Michael Wood
1ea940f920 bitbake: toaster: Add machine selection notification
This adds a notification to the project page to notify users of the
change in project configuration.

(Bitbake rev: fa5343cf867586c0e42517dd2ed0ec5a4c28c408)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:35:44 +00:00
Belen Barros Pena
1e0e700f4b bitbake: toasterui: style the Toaster version information
When debugging is turned on, we show some Toaster version
information in the top bar. Present it so that it can
be easily copied and pasted.

(Bitbake rev: 5de46fabe9ab1e525048353c2ecd8846ffefc760)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:35:44 +00:00
Michael Wood
4742ae94a9 bitbake: toaster: layerdetails Fix pagination controls
Bring the pagination controls into line with others in toaster by
limiting the number of page buttons to 5

[YOCTO #7195]

(Bitbake rev: 0b35eed7ca758476f20d6875291ee31fad35b7d3)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:35:43 +00:00
Michael Wood
00e3545029 bitbake: toaster: layerdetails Add link to machines file
In the machines table for a layer add a link/icon to the machine
definition file.

[YOCTO #7241]

(Bitbake rev: 8c4e5fb580f5e375ccb1e84d8adb9562d1ba4b62)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:35:43 +00:00
Michael Wood
e28097f8a2 bitbake: toaster: layerdetails summary/descriptions to be searchable
Allow the descriptions of the machine summary and layer description to
be searchable in their respective tables.

[YOCTO #7199]

(Bitbake rev: 1a1a61f587e05af76299c7e1d3b7ab079fb4b1c1)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:35:43 +00:00
Belen Barros Pena
bd5087dc77 bitbake: toastergui: fix spacing and input field sizes
The revision label was missing the projec-form class (which
controls the spacing in the form), and the revision text
field was a bit too long, so changed it from span4 to
span3.

(Bitbake rev: 219d57d1cec178820f679a4153324986c37821db)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:35:43 +00:00
Sven Ebenfeld
43afafeffa terminal.py: No --disable-factory for gnome-terminal >= 3.10
--disable-factory has been disabled in earlier versions of gnome-terminal
but from version 3.10 it raises an error and quits. This makes devshell
unusable with gnome-terminal >= 3.10. This patch checks for the version and
removes --disable-factory if you have the terminal version 3.10 or higher.

(From OE-Core rev: 818c94f5b9882c2028ef9f056714a0a3c9045551)

Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:34:19 +00:00
Khem Raj
9e9d6dfbd2 systemd: Upgrade 216 -> 218
Remove upstreamed patches as well as patches which arent needed anymore
since features are dropped from systemd e.g. userspace firmware download
Tested on qemux86

Change-Id: Ic53aaad198998de146c3a7702ef17de871de9de6
(From OE-Core rev: c8a9d74ee78266893497a6b60329f6ae79c0394d)

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-02-24 23:32:48 +00:00
Ross Burton
28618e4648 util-linux: disable systemd
systemd has a build-dependency on util-linux for libmount, and util-linux has an
optional build dependency on systemd.

The features in util-linux that enabling systemd gives you are:
* lslogins can show recent journal entries from the user
* uuidd can use socket activation and has a service file
* fstrim has a service file
* logger can write journal entries

These are not worth the overhead of maintaining two util-linux recipes to
bootstrap the cycle, so disable systemd support in util-linux.

(From OE-Core rev: e9b13af813ac74144fea7479208ae0e699518093)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:32:48 +00:00
Alejandro Hernandez
04819731e9 python-native: Fixes PGEN linking errors Changes Makefile rules to avoid parallel make races when trying to build Parser/PGEN
(From OE-Core rev: f98cd3798837f2954443ca84a199158d9f47c3e8)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:12:18 +00:00
Khem Raj
d6a2cf3cbe glibc: Help compile with -Os
When we modify to use -Os
-Werror doesnt go well with it, glibc needs to be
cleaned up for that but until then lets disable -Werror
when using -Os

Also updates the options group patch to work better with -Os.

(From OE-Core rev: 98e1dc574ef3be668d6a42232ad030d1af93c49f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:12:18 +00:00
Peter Kjellerstedt
4d83a90bfb gst-plugins-package.inc: Avoid dependency on ${PN} from ${PN}-<plugin>
A recent change to this file added a runtime dependency from ${PN} on
${PN}-meta since users tend to believe that installing the main
package will bring in all of the individual plugin packages, which
previously was not the case. However, since all plugin packages had a
dependency on the main package, this caused all plugin packages to be
pulled in whenever one plugin package was installed...

Since the main package is now guaranteed to be empty, there is no
reason for the plugin packages to depend on it any more.

(From OE-Core rev: 29143391029bdb1a5b23724017acb363b11ed6a8)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:44 +00:00
Robert P. J. Day
d861cc4b04 recipes: Delete superfluous assignments, S = ${WORKDIR}/${BP}
Given that bitbake.conf sets the default values:

BP = "${BPN}-${PV}"
S = "${WORKDIR}/${BP}"

there are a number of recipes that set the variable S completely
superfluously, so get rid of them.

(From OE-Core rev: ebe8578df3f162045086cd60a129eb7ac3eacf4c)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:44 +00:00
Holger Hans Peter Freyther
f7c45a4f74 busybox:udhcpc: Remove the routes from the right interface
When using iproute2 to remove the route all default rules
will be removed. Scope the removal by interface like it is
done with ifconfig.

(From OE-Core rev: 2127a57cb1b3d83f9f7640051403e47e485b132c)

Signed-off-by: Holger Hans Peter Freyther <holger@moiji-mobile.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:44 +00:00
Holger Hans Peter Freyther
48fa8684dd busybox:udhcpc: Start with a metric of 10 for routes
Linux allows to install multiple default routes with
different metrics. Start with a metric above 0 to
allow other parts of the system to install routes
with a lower metric.

(From OE-Core rev: 566441f58d398d93f948067cf399d00cf3b37eba)

Signed-off-by: Holger Hans Peter Freyther <holger@moiji-mobile.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:44 +00:00
Ross Burton
0e04c93bae base-files: clean up and clarify hostname logic
Change the hostname logic the default value is ${MACHINE}, and explain how to
change it.

(From OE-Core rev: f2588c55fb089371f239dde39efe9d63d8614062)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:43 +00:00
Randy Witt
54567379ac populate_sdk_ext: add extensible SDK
This bbclass will create an SDK with a copy of bitbake and the metadata
and sstate for the target specified for the task. The idea is to let
"system" developers both work on applications and then test adding them
to an image without having to switch between workspaces or having to
download separate items.

Rather than running bitbake directly however, the primary way of running
builds within the extensible SDK is to use the "devtool" command. The
rest of the build system is fixed via locked shared state signatures,
and thus only the recipes you have added get built.

(From OE-Core rev: bf81d6bb7f6df5405b8f2148e2a22e0030c12757)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:43 +00:00
Randy Witt
46ee86c3d4 scripts/oe-buildenv-internal: add means of skipping SDK check during setup
The oe-buildenv-internal script checks if the user is already in an sdk
environment and errors if true. Add a way to skip this check.

(From OE-Core rev: 6d847b84b9db2b315e17107a7ab4832d15cb2147)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:43 +00:00
Randy Witt
8e8e9243c1 uninative-tarball: Actually use bzip2 for compression.
uninative.bbclass uses -xjf for decompression so actually run the data
through bzip2.

(From OE-Core rev: 84665b4e894a949591d812f1cdc1745a376bf95f)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:43 +00:00
Randy Witt
01c9f3b390 toolchain-shar-template.sh: Make relocation optional.
If the buildsystem is copied into the sdk and its toolchain is to
be used, then the relocation provided in toolchain-shar-template.sh
isn't needed and will actually fail.

So break the relocation aspect out and essentially make it another
SDK_POST_INSTALL_COMMAND script.

(From OE-Core rev: 9721378688a05cd8d8443c6ee4be823e5c0688f6)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:43 +00:00
Randy Witt
fe678e75ea toolchain-scripts: Add parameters to toolchain_create_sdk_env_script.
To add some flexibility to setting up the paths for the toolchain,
add some parameters. This initial use will be in order to point at
the buildsystem toolchain copied in by copy_buildsystem.py.

(From OE-Core rev: 62930ea37cfd5ba787ee85bc8dab23c20a775253)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:43 +00:00
Randy Witt
1118c12bdf copy_buildsystem.py: Add methods to copy shared state.
Added the helper functions necessary to copy the sstate from the
current build, and generate the file to "lock" it.

(From OE-Core rev: f704b0ad26bbca868c4ac40addb92dcd212f586f)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:43 +00:00
Randy Witt
d5d4b70a5d copy_buildsystem.py: Add a way to copy buildsystem to a directory.
This file provides a way to take bitbake and the layers in the
current build and copy them to a target specified.

(From OE-Core rev: 3dc52164fb560ccbe5c203a4587f6286c8fc0389)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:43 +00:00
Paul Eggleton
91a9b3f114 sstatesig: Add ability to filter list of tasks for locked-sigs.inc
(From OE-Core rev: ed4287a60b33cb597eb7fa13b3855a528315b3b0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:42 +00:00
Randy Witt
67c1d2eeb7 gen-lockedsig-cache: Allow cross-filesystem copies.
Since this previously always tried to use hardlinks you couldn't have
the source and destination be on different devices. This change allows
for that and also prevents failure in situations where the files already
existed.

(From OE-Core rev: cf675896340ebed7c4830b93d791ddb08999031f)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:42 +00:00
Paul Eggleton
19e06e6584 poky.conf: resolve mismatch between poky bblayers version and OE-Core
Drop our custom LAYER_CONF_VERSION (since the OE-Core version is now the
same) and ensure that poky-sanity's update function runs first so that
anyone still using version 5 with poky gets the meta-yocto /
meta-yocto-bsp split handled instead of OE-Core's no-op upgrade. Also
fix the version check so that the poky 5->6 upgrade is still performed
if the latest version is greater than 6.

NOTE: this of course relies on the corresponding version bump patch in
OE-Core.

Fixes [YOCTO #6139].

(From meta-yocto rev: 3e4404c73602e8cb9efca0f6f2ec788ff68046eb)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 18:00:20 +00:00
Paul Eggleton
1bb0022384 classes/sanity: avoid bblayers version issue when switching between poky and other DISTRO values
If you create a build directory with poky, or set DISTRO to "poky" and
run bitbake, you'll get a bblayers.conf file with LCONF_VERSION set to
6. If you then set DISTRO to any other value where the new distro config
doesn't pull in poky's config, e.g. "nodistro", you would then get a
bblayers.conf version error which didn't immediately make sense. (The
layer versions have been out-of-step ever since meta-yocto-bsp was
split out of meta-yocto several years ago).

This is just painful and we'd rather users didn't have to deal with
it. Obviously it isn't an OE-Core problem per se, but a simple way to
resolve it for everyone is to bump OE-Core's version to 6 with an
automatic no-op upgrade. Also ensure that multiple upgrade functions
(such as the poky one) have a chance to execute by not breaking out of
the loop as we were before.

Fixes [YOCTO #6139].

(From OE-Core rev: 2fdeee2fad69445b0d97148826c7b027820be63a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 18:00:20 +00:00
Richard Purdie
a509e276b2 Revert "bind: fix and enable parallel build"
This reverts commit b003df0335.

We keep seeing parallel make failures on the autobuilder

(From OE-Core rev: af46b9f5dd5436b3d48f2fcd7a69f32343b62442)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:37:41 +00:00
Richard Purdie
04faba56f1 Revert "logrotate: 3.8.8 -> 3.8.9"
This reverts commit 0a69248db7.

The update causes QA failures on the autobuilder.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:37:41 +00:00
Richard Purdie
687c797728 Revert "openssl: fix and enable parallel build"
This reverts commit 7502fa5feb.

We keep seeing parallel make failures in openssl :(

(From OE-Core rev: 9afc85a7be203c5a0eac1977e777a24504cb3088)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:37:41 +00:00
Alejandro Hernandez
360dbb5253 python-native: Reverts usage of distutils.sysconfig On older versions of Python, sysconfig read the Makefile and Python.h, generated at build time now it uses _sysconfigdata which contains information about the HOST, erroneous in our case, this causes an error when bulding something using distutils since it obtains compiler information and such.
Also fixes configuration of _ctypes/libffi

(From OE-Core rev: 3c76d5ef1f4d5270c94661d9fde7e31391b5cc2d)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:29 +00:00
Alejandro Hernandez
cb02ecb507 Python: Upgrade from 2.7.3 to 2.7.9:
- Based on Paul Eggletons work to partially upgrade to Python 2.7.6

Modified:
default-versions.inc: switched to python 2.7.9
generate-manifest-2.7.py: fixed _sysconfigdata
python-2.7-manifest.inc: fixed _sysconfigdata
python.inc: Updated checksums and source, no LICENSE
change just updated some dates
python-native_2.7.3 -> python-native_2.7.9 and updated patches
python_2.7.3 -> python_2.7.9, and added ac_cv_file__dev_ptmx=no
ac_cv_file__dev_ptc=no in EXTRA_OECONF to solve python
issue #3754, only needed when cross compiling, also updated patches
use_sysroot_ncurses_instead_of_host.patch: New patch to use ncursesw
from sysroot instead of hosts, introduced by fix for python issue #15268

Rebased:
01-use-proper-tools-for-cross-build.patch
03-fix-tkinter-detection.patch
05-enable-ctypes-cross-build.patch
06-avoid_usr_lib_termcap_path_in_linking.patch
avoid_warning_about_tkinter.patch
builddir.patch
fix_for_using_different_libdir.patch
host_include_contamination.patch
multilib.patch
nohostlibs.patch
search_db_h_in_inc_dirs_and_avoid_warning.patch

Deleted (fixed on upstream):
06-ctypes-libffi-fix-configure.patch
CVE-2013-4073_py27.patch
gcc-4.8-fix-configure-Wformat.patch
json-flaw-fix.patch
posix_close.patch
pypirc-secure.patch
python-2.7.3-CVE-2012-2135.patch
python-2.7.3-CVE-2013-1752-smtplib-fix.patch
python-2.7.3-CVE-2014-1912.patch
python-2.7.3-CVE-2014-7185.patch
python-2.7.3-berkeley-db-5.3.patch
python-fix-build-error-with-Readline-6.3.patch
remove-BOM-insection-code.patch
remove_sqlite_rpath.patch
python2.7.3-nossl3.patch

[YOCTO #7059]

(From OE-Core rev: d4ad95f0d5f08891637c644e85b09da9c4585059)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:29 +00:00
Paul Eggleton
122ee11bd1 devtool: fix broken clones of git recipes
Because we move the workdir when extracting source, then move the source
and delete the temporary workdir, you lose the indirection symlink
pointed to by the alternates file (which is created when the fetcher
clones it from DL_DIR with -s) and the resulting repository is broken.
In any case, for a source repo that the user may put their own changes
into, we can't really rely on a clone made with -s in case the
original goes away - because of cleanall, DL_DIR disappearing, etc. So
repack the repository so that it is a complete, non-shared clone after
unpacking.

(While I'm at it, add a test for devtool modify with a git recipe which
verifies that this works.)

(From OE-Core rev: dccdde4321c48a571677995a4e1dfc583e899cbe)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:29 +00:00
Paul Eggleton
e7744de454 devtool: support source extraction for recipes that use a shared workdir
Enable source extraction used by devtool extract / devtool modify -x for
recipes that use a shared workdir (e.g. the kernel and gcc).

(From OE-Core rev: 73a5bdc7921791b954ca717293e76c7e3091a19e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:29 +00:00
Paul Eggleton
62a41b412f devtool: modify: handle recipes that use a shared workdir
If S is outside of WORKDIR then we shouldn't try to get the relative
path in order to work out where the source subdirectory is as we do by
default.

(From OE-Core rev: 7392ecd559ef71241405c704a65da171ee216ca1)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:29 +00:00
Paul Eggleton
e2ce29fef2 devtool: prevent extract/modify use with image recipes
There wouldn't be any point to using these with an image recipe, so
disallow it.

(From OE-Core rev: 611c27182a6e52e159a1ce1b5bac054405c611d2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:29 +00:00
Paul Eggleton
efedd4323b devtool: update-recipe: add handling for git recipes
When updating git-based recipes, in a lot of cases what you want is to
push the changes to the repository and update SRCREV rather than to
apply patches within the recipe. Updating SRCREV is now the default
behaviour for recipes that fetch from git, but this can be overridden
in both directions using a new -m/--mode option.

(From OE-Core rev: 654792bb87610ee3569d02a85fa9ec071bf8ab6d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:29 +00:00
Paul Eggleton
6015deb9f3 lib/oe/recipeutils: minor improvements to patch_recipe()
* Ensure it knows where to put SRCREV and S
* Handle prepend/append and functions in general

(From OE-Core rev: a770c3764efa857a8b1f0ce4b398277cd483a6af)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:29 +00:00
Paul Eggleton
e5bf4ed333 devtool: build: run do_populate_sysroot instead of do_install
If you want to be able to make use of libraries in conjunction with
devtool then we need to install them into the sysroot for other recipes
to use. Make it a configuration option in case it needs to be changed at
runtime.

(From OE-Core rev: 94f517ad8e55edfbe6f06afd963bcfeb849626ff)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:28 +00:00
Paul Eggleton
845efa450c devtool: reset: run bitbake -c clean on recipe
If you've added a new recipe, you want the output cleaned when you do
devtool reset, otherwise cruft from building the recipe may remain which
could interfere with future builds.

(From OE-Core rev: 664d1a7fe8f8288fabc582d00f6e36ab29496ec5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:28 +00:00
Paul Eggleton
8e7437b3f0 devtool: add/modify: add option to build in same directory
The default behaviour is to build in a separate directory to the source,
however some projects can't be built this way, so add an option to do
that (or override the automatic behaviour in the case of modify).

(From OE-Core rev: cf094ed2f616a581eb07d78db4366c83a441fde5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:28 +00:00
Paul Eggleton
4a2e42d71d classes/kernel-yocto: extend SRCTREECOVEREDTASKS
* Add do_shared_workdir which was added recently
* Add do_fetch and do_unpack to this list, because at the moment if you
  enable externalsrc through a bbappend the += in this class wipes out
  the original value from externalsrc (which is set with ?=)

(From OE-Core rev: 5717e3b60731d2cb9394c13bff049a467c3aeec1)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:28 +00:00
Paul Eggleton
550d455fcd classes/externalsrc: show a warning on compiling
Make sure there's no chance of anyone forgetting they have a recipe set
up for externalsrc; otherwise you could get confused about what is going
on. (With our default logging setup we can't make it a note because the
UI doesn't forward those; otherwise I would have used bb.note().)

(From OE-Core rev: 7b73473bc9d19331a103cf4958059d3ceb84b486)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:28 +00:00
Paul Eggleton
d4af8f0268 classes/externalsrc: add workaround for recipes that use SRCPV in PV
Here we set SRC_URI to blank, however doing so means that the function
that is called when you expand the default value of SRCPV
(i.e. bb.fetch2.get_srcrev()) will fail, so any recipe that references
SRCPV in PV couldn't previously be used with externalsrc.

(At some point we may fix the function to work in the externalsrc case,
but then we would also need to ensure that ${B} did not change as a
result of PV changing any time the HEAD revision changes in the external
source tree, or you'll lose any intermediate build artifacts.)

(From OE-Core rev: 26f8060c3475ec988194b2163e422ba4e776fd8b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:28 +00:00
Paul Eggleton
db7f7b5097 classes/externalsrc: fix source being wiped out on clean with kernel
kernel.bbclass adds ${S} do do_clean[cleandirs], but this means if you
run bitbake -c clean <kernelrecipe> then your external source tree will
be trashed, which could be a disaster. For safety, remove ${S} from
cleandirs for every task. We also have to do the same for ${B} in the
case where EXTERNALSRC_BUILD is set to the same value as EXTERNALSRC.

(From OE-Core rev: b5071fb2667b8751885d38ca62fa36c870177cd5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:28 +00:00
Paul Eggleton
f205ccaf48 lib/oe/patch: fix PATCHTOOL = "git" with source in a subdirectory
For recipes that have their actual source in a subdirectory of what is
fetched (e.g. mkelfimage), we need to find the root of the repository
within the GitApplyTree code that attempts to set up the required git
hooks and use that, rather than expecting the root to be the same as
${S}.

(From OE-Core rev: d820303f64ea610338ec11ffd79269e7831d1da9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:27 +00:00
Paul Eggleton
5eb9ffe1e0 recipetool: fix regression caused by previous commit
Option was renamed in the setup code but not in the code that used it.

(From OE-Core rev: 4b4f2d4f2869d6d5d564cc1b2d733f41ab5a3b9b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 17:35:27 +00:00
Cristian Iorga
3c2f5fd0c7 pulseaudio: upgrade to 6.0
Changes:
- BlueZ 5 native HSP (headset) support;
- BlueZ 5 HFP (hands-free) profile support via oFono;
- systemd socket activation support;
- Better support for multichannel and 2.1 profiles;
- Remap optimisations;
- Many minor improvements, bug fixes, and i18n updates.

- Switched to ${BP} variable.
- Patch 0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch
removed, no longer necessary.
- Patch CVE-2014-3970.patch included upstrem, removed.
- Slightly changed copyright notice, only a clarification.

libsamplerate based resamplers are now deprecated,
because they offer no particular advantage over speex.
Dependency to libsamplerate0 dropped.

[ RB: disable systemd until systemd.bbclass can handle user units ]

(From OE-Core rev: c4de42aadd4c8a4a8f16c25e7dcdefef79daf030)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-23 08:08:14 +00:00
Bruce Ashfield
1726063387 meta-yocto-bsps: remove 3.10 bbappend
All reference boards are now using 3.14 as their baseline, and we
no longer have a 3.10 Yocto kernel, so we can safely remove the bbappend.

(From meta-yocto rev: 9135c0b3e4d889fac81a471ca016e1ddf599d227)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:37 +00:00
Bruce Ashfield
f3e79551e6 meta-yocto: update qemu default kernel version to 3.19
The 3.19 kernel has been tested against core-image-minimal and sato, so
we make it our new default kernel version.

(From meta-yocto rev: 9e7e4510ad9e3201e9ed7d8366208c7387407e7a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:37 +00:00
Chong Lu
dfa28485fc bitbake: bitbake-layers: add ability to fetch layers and their dependencies from layer index
Add a command to query layer dependencies from a layer index such as the
OpenEmbedded Layer Index at http://layers.openembedded.org. Fetches the
layer and its dependencies and adds them into conf/bblayers.conf.

[YOCTO #5348]

(Bitbake rev: 4b8fcf9a5bc802793bf332334217faace55f14f6)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:37 +00:00
Paul Eggleton
90ffdc01ba bitbake: bitbake-layers: fix logging
Logging output was simply not getting printed.

(Bitbake rev: 62b825b19b13a914cbff5303d541bd5dbbec90a7)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:37 +00:00
Paul Eggleton
4a32837971 bitbake: bitbake-layers: refactor to use argparse instead of cmd
This makes help formatting and option handling a lot more standardised
and allows us to drop a bunch of code. We also gain slightly more
straightforward error handling.

One side-effect however is that the old subcommand syntax using
underscores is no longer supported. The dashed form has been supported
(and displayed in the help text) for quite a while now so I wouldn't
imagine that will be much of an issue.

(Bitbake rev: 6e2f09b58882d3949026b9dd545f789ad3fe6fab)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:37 +00:00
Richard Purdie
68f4dcae68 runqemu: Specify rootfstype to qemu to avoid QA warnings
With the change to ext4 filesystems for qemu, we get boot warnings from where
it tried to mount the ext4 fileystem as ext2 and ext3 first.

Avoid these by specifying the rootfs type directly on the kernel commandline
for ext* images.

(From OE-Core rev: ad9f54a5014f2d997165d0cfd6ad7c05e62f315b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:37 +00:00
Richard Purdie
7dcf6c9d45 machine/qemu: Switch from ext3 to ext4
There is no good reason not to use ext4 at this point, it has advantages
and few drawbacks. Therefore switch the qemu machines over (and the default
runqemu script options).

(From OE-Core rev: 430b9ae71b1aa76f8421127d17e0e0723d4818d3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:37 +00:00
Paul Eggleton
8506429368 layer.conf: set a variable to map to the OE Layer Index name
Add a variable that allows us to map the OE-Core layer to the name that
represents it in the OpenEmbedded layer index. This will be used by
bitbake-layers layerindex-fetch so that it knows that for example
OE-Core is already fetched and included in the current configuration.

Note - it won't be required for us to go around and set this for every
layer - we can do the matching based on repo and subdirectory, but
OE-Core is somewhat special in that it does sometimes appear in
different places, for example in poky.

[YOCTO #5348]

(From OE-Core rev: d1cf0edd79ec3ba3bd17126183e4cb99aa50ffaf)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:37 +00:00
Chong Lu
48d0b3f160 bitbake.conf: Add two variables for layer index
Add BBLAYERS_LAYERINDEX_URL variable that bitbake-layers can use to find layer index.
Add BBLAYERS_FETCH_DIR variable that bitbake-layers can use to specify fetch directory.

[YOCTO #5348]

(From OE-Core rev: ae585a7d2744222606aeb533815d22ade8e10097)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:37 +00:00
Paul Eggleton
f1daefbf52 lib/oeqa/selftest/bblayers: use dashed subcommands
bitbake-layers subcommands with underscores are the old syntax; the
dashed form has been supported (and displayed in the help text) for
quite a while now, and the old syntax is about to be unsupported, so use
the dashed form in the tests.

(From OE-Core rev: ab2efd82b2c3419e0139b91c79a9993b257970c9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Khem Raj
d4f11d6d51 glibc: Dont offer to be parsed for non-glibc TCLIBC selection
We now can support musl along with uclibc and glibc
earlier when only alternative was uclibc this check was fine
but now we need to consider non-glibc vs glibc case instead of
uclibc vs glibc

Change-Id: Id794ce193c6557b5435002a8f9b6eb608738b696
(From OE-Core rev: 5d7bc14d22da87837741fefae5924571fdff750d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Khem Raj
739b177ad9 tclibc-musl: Use musl for providing virtual/libintl instead of gettext
Lets try to use musl version of libintl and see how far we get

Change-Id: I0259049eb6461ab9b579c7f3ad401fefede24621
(From OE-Core rev: 4ed94affbce657db58c5099c8882a8d0292abaf1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Robert Yang
982b5aabbd lttng-tools: add PACKAGECONFIG for kmod
Fixed:
lttng-tools-2.6.0: lttng-tools-ptest rdepends on libkmod, but it isn't a build dependency? [build-deps]
lttng-tools-2.6.0: lttng-tools rdepends on libkmod, but it isn't a build dependency? [build-deps]

(From OE-Core rev: a79d489a2fa532e6f87fe3cf0b55485fb08fd72e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Robert Yang
1f6e644859 build-compare: update Rename-rpm-check.sh-to-pkg-diff.sh.patch
The patch can't be applied by "git am -3" with newer version of git
(such as 2.0.1), and can't be applied by "git am/apply" with any
version, now fix it

(From OE-Core rev: 14990de8c7481c3aaf77174a7541d5bfb9a7411d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Richard Purdie
e011e92e8c lib/oe/package_manager: Performance tweak in regex usage
Profiling a core-image-sato-sdk rootfs, we're spending over 40s
compiling the same regex over and over again, roughly around 5 million
times.

This is suboptimal, fix for a 40s improvement on a 18.5minute task execution
time.

(From OE-Core rev: d0244702752f54fb74be427af1663e46bfff9a5d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Richard Purdie
efa7c29a12 e2fsprogs: Add a patch to speedup mkfs
See the patch description, this adds a tweak to an algorithm to improve
core-image-sato-sdk mkfs time from over 8 minutes to about 35s.

Needs discussion upstream but seems reasonable for our uses of it.

(From OE-Core rev: 468fa9a7fac86bb0fcd3cbd18dc1492b57ca25f3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Martin Jansa
c417736aca arch-armv7a.inc, tune-arm920t.inc: Fix PACKAGE_EXTRA_ARCHS
* each DEFAULTTUNE with thumb enabled should list it's arm variants in
  PACKAGE_EXTRA_ARCHS, otherwise packages which force arm ISA won't be
  found in do_rootfs
* armv7athf-neon-vfpv4 was missing its own PACKAGE_ARCH and also the arm
  variant

(From OE-Core rev: fd7f3cd9affbfb9ce483a5a1d6054da2365fcb0e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Martin Jansa
fe66853cde feature-arm-thumb.inc: respect ARM_INSTRUCTION_SET when adding thumb suffix
* this means that recipes with ARM_INSTRUCTION_SET explicitly changed
  to arm will be built in feed without thumb suffix, the same does apply
  for workdir, e.g. after "bitbake glib-2.0" you can see:

  tmp-glibc/work/armv5e-oe-linux-gnueabi:
  glib-2.0  glibc  glibc-initial

  tmp-glibc/work/armv5te-oe-linux-gnueabi:
  acl              db              gdk-pixbuf     kmod  ....

  and

  tmp-glibc/deploy/ipk:
  all  armv5e  armv5te  qemuarm

* feed config should be ok, because all default DEFAULTTUNEs always
  include "arm" variants of all supported PACKAGE_ARCHs

* for more details see
  http://lists.openembedded.org/pipermail/openembedded-core/2014-April/091960.html
  the toolchain path issues were resolved in 1.8

* add ARM_INSTRUCTION_SET = "arm" to glibc-collateral.inc and comment in
  glibc.inc to fix glibc-locale and glibc-scripts build

(From OE-Core rev: 3e760031f91fb87c3e2f62b77a117eb41164f259)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Fathi Boudra
4b69d0013d kexec-tools: fix build failure on aarch64_be architecture
* refresh/cleanup the patch to apply cleanly on 2.0.9
* get rid of configure - it's autogenerated
* configure.ac: use aarch64* wildcard

(From OE-Core rev: 66457319e4050fee569aeccd1fe98fbf9f046f02)

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:35 +00:00
Tom Zanussi
b4a936a938 wic: Fix kernel dir location
With the recent kernel staging changes, STAGING_KERNEL_DIR no longer
points to the kernel image, which can be found however in
DEPLOY_DIR_IMAGE.  This updates find_artifacts() to look there
instead.

Fixes [YOCTO #7307].

(From OE-Core rev: 453d0a9823665870e273a37657d6e27fb788d72e)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:35 +00:00
Richard Tollerton
629b91b4be xorg-font-common: fix sysroot injection for encoding maps
The xorg font builds use `pkg-config --variable=mapdir fontutil` to
locate encoding maps. This variable ought to be sysroot-relative, but
neither pkg-config nor font-util nor the fonts themselves provide any
facility to add the sysroot back in.

We're presently adding the sysroot by by twiddling MAPFILES_PATH in
configure.ac. This is broken; it's actually defined in aclocal.m4,
because the definition is provided by fontutil.m4. Another (more
speculative) criticism is that it also hardcodes a build-specific
absolute path into builds which might (incorrectly) encode it into
target-installable packages.

A somewhat more robust, focused, and clear solution is to override
UTIL_DIR on the make command line. (UTIL_DIR, not MAPFILES_PATH, is what
is actually referenced in the build.)

(From OE-Core rev: 5cd320d8d21cd784b32f12a6944dc647a75abf94)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:35 +00:00
Richard Tollerton
ab18ec7898 font-util: remove MAPFILES_PATH override
MAPFILES_PATH is a configuration variable that is used by packages using
font-util, which tells those packages how to compute it in fontutil.m4.
Presently, we're manually twiddling things so that MAPFILES_PATH will
consult the native sysroot, when building under *any* architecture.
This complicates building other packages immensely, and also generates
broken on-target packages, because the contents of font-util-dev will
reference the native sysroot on the build machine (!).

We don't even need to twiddle MAPFILES_PATH anymore so just delete it.

This code also had a path bug (referencing /usr/lib/pkg-config instead
of /usr/lib/pkgconfig) which is also fixed by deletion.

(From OE-Core rev: 4199703db82d79408e0575e1332ad79375e14c39)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:35 +00:00
Ben Shelton
f220b969a1 font-util: stage encoding maps into sysroot
font-util installs encoding maps into /usr/share/fonts/X11. This path
may not exist on the host (many distros install these into
/usr/share/fonts/util) so they must exist in the sysroot in order for
e.g. `pkg-config --variable=mapdir fontutil` to work correctly. However,
currently /usr/share/fonts is explicitly not installed into sysroots, so
the encoding maps were not getting found.

Fix this by explicitly staging ${datadir}/fonts/ into the sysroot.

(From OE-Core rev: a1598266c828ad0b73df971b22d6a2e3e1dd5cab)

Signed-off-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:35 +00:00
Ross Burton
bc309f0901 opkg: fix systemd unit installation
SYSTEMD_SERVICE doesn't need to be set conditionally, and units should be
installed if the systemd DISTRO_FEATURE is enabled, not if sysvinit isn't
enabled.

(From OE-Core rev: bb8a7b906204b25f07fe568883c2d605593c323c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:35 +00:00
Nathan Rossi
76c8fadec9 Revert "kernel-arch.bbclass: add arm64 support to U-Boot architecture map"
This reverts commit 0b891265716c414ade29d587fc1a3c4ea7beadbe.

U-Boot does support AArch64, this however was only added to newer
versions of U-Boot and at the time of this original commit the U-Boot in
OE-Core did not support the 'arm64' architecture. OE-Core now has a
newer version of U-Boot for the mkimage recipe and thus supports the
'arm64' architecture.

(From OE-Core rev: fd8158134f3d7a7c795c818cc50eb2858a6cae06)

Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:35 +00:00
Robert Yang
0a69248db7 logrotate: 3.8.8 -> 3.8.9
(From OE-Core rev: 32848c7015f5d70c4245a9b1bb77c21faef8653d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:35 +00:00
Robert Yang
312479892c python-gitdb: 0.6.1 -> 0.6.4
(From OE-Core rev: 66be4fc8bd08df1c2807a61eebbae912cf07157d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:35 +00:00
Robert Yang
3f99702f13 python-git: 0.3.3 -> 0.3.6
(From OE-Core rev: 8846e5a1896bc2083a326cc542d2cdde83b915da)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:34 +00:00
Robert Yang
861118833e git: 2.2.1 -> 2.3.0
(From OE-Core rev: 92a27c29570541564d65bf43325a333960b40183)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:34 +00:00
Robert Yang
d078caeb0e cups: 2.0.1 -> 2.0.2
Removed the patch since upstream has fixed it:
0001-test-ippserver.c-check-avahi-before-use.patch

(From OE-Core rev: e1a8de7d55710199d357c88c22f3f1887d562b61)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:34 +00:00
Robert Yang
aba8f4a5a5 quilt: 0.63 -> 0.64
quilt-0.63.inc -> quilt.inc: we don't have multiple quilt-xxx.inc, so
use quilt.inc rather than quilt-0.63.inc.

(From OE-Core rev: 941be822ee7772b70fe78e6b61278bb8567bc905)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:34 +00:00
Ben Shelton
e0a55a90bb kernelshark: Update to version 2.5.3
Update to version 2.5.3 to match trace-cmd.

Changes include:

 - Remove kernelshark-fix-syntax-error-of-shell.patch (the syntax error
   is no longer present in the new version).

 - Specify bindir_relative and libdir in EXTRA_OEMAKE as in the
   trace-cmd recipe so files get installed to the right place.
   Additionally, remove unnecessary EXTRA_OEMAKE options.

 - Fix up the do_install steps to remove the plugins directory; that
   directory now lives under /usr/lib.

 - Set NO_PYTHON=1 because building the ctracecmd Python module requires
   swig, which is not available in oe-core.

(From OE-Core rev: 2f177644dab083bc5306bce1bf2ff2ef8851c862)

Signed-off-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:34 +00:00
Ben Shelton
6dc2030dcf trace-cmd: Update to version 2.5.3
Updating adds new features including the very useful 'profile' option.

Changes include:

 - Remove addldflags.patch (already upstream in the new version).

 - Remove make-docs-optional.patch (docs are built in a separate target
   in the new version).

 - Update SRC_URI, SRCREV, PR, and PV in the .inc file and don't
   override them in the recipe.

 - Fix a typo in LIC_FILES_CHECKSUM so 'endline' is properly defined.

 - Drop PR.

(From OE-Core rev: 30eba39bd3b915477c584d8bebd194446497175e)

Signed-off-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:34 +00:00
Richard Purdie
b3e92f4b46 oeqa/parselogs: Add exception for new mips error message
The 3.19 kernel introduces this error, ignore it for now.

(From OE-Core rev: 2a0a14275ca00b2d3ca867c82548a41e3bb10986)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:34 +00:00
Bruce Ashfield
726c6c1f5e linux-yocto: warn when a generated BSP description is used
The meta data (in tree or out of tree) that describes a BSP, its patches
and configuration is not always available when a new/default or manually
configured machine is built.

When this happens, the tools generate a skeleton BSP and use a
architecture defconfig for the build. If this is by design, the build
is typically sane and everything works fine. If an existing BSP
description was expected, chances are that the resulting kernel will not
be correct.

To avoid surprising the user when a default/skeleton BSP is used for the
build, we can make it obvious to the user by emitting a warning like
the following:

   WARNING: [kernel]: An auto generated BSP description was used, this normally indicates a misconfiguration.
            Check that your machine (myqemux86-64) has an associated kernel description.

[YOCTO: #3383]

(From OE-Core rev: f4a460afc4e2676cbf1daaa1d6723da9e6146526)

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-02-21 22:05:34 +00:00
Bruce Ashfield
7e6147bdbf linux-yocto: introduce 3.19 versioned recipes
Introducing the v3.19.x recipes for the validated linux-yocto kernel.

Build, boot and sanity testing was performed on qemu for all major
architectures.

(From OE-Core rev: 329a028bec428e8dc8cf3420c6e462de2898c8aa)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:34 +00:00
Bruce Ashfield
c75d6c8853 linux-yocto: remove 3.10 and 3.17 recipes
In accordance with the kernel release criteria we support the latest
mainline kernel + the last LSTI kernel + a development kernel.

3.19 will be introduced as the latest mainline, and 3.14 is the released
LTSI kernel, which means that we remove the 3.10 and 3.17 variants.

(From OE-Core rev: 19203a95f4b65e0a009a738fb4fc216e985a0835)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:33 +00:00
Bruce Ashfield
dfa83e6625 linux-yocto: make kernel configuration audit user visible
After a linux-yocto style kernel is configured, a kernel configuration
audit is executed to detect common errors or issues with the config.

This output used to be visible, but was made less obvious to not alarm
users unnecessarily (since some configuration issues are acceptable).

There are some classes of configuration issue that are worth being
visible, and that is specified configuration values that do not make the
final .config. These dropped options can result in any number of runtime
failures, so flagging them at build time makes sense.

The visibility of auditing is controlled by KCONF_AUDIT_LEVEL:

   0: no reporting
   1: report options that are specified, but not in the final config
   2: report options that are not hardware related, but set by a BSP

The default level is 1, with level 2 and above being for BSP development
only.

If these conditions are detected, warnings will be generated as follows:

  WARNING: [kernel config]: specified values did not make it into the
  kernel's final configuration:

  Value requested for CONFIG_SND_PCSP not in final ".config"
  Requested value: "CONFIG_SND_PCSP=y"
  Actual value set: ""

or

  WARNING: [kernel config]: BSP specified non-hw configuration:

  CONFIG_BLOCK
  CONFIG_CFG80211_WEXT
  CONFIG_CORDIC
  CONFIG_CRC8
  CONFIG_EFIVAR_FS
  CONFIG_EFI_PARTITION
  CONFIG_NET
  CONFIG_NETDEVICES
  CONFIG_PARTITION_ADVANCED
  CONFIG_WEXT_CORE
  CONFIG_WEXT_PROC
  CONFIG_WIRELESS

At this point thse are only a warnings, since there needs to be time for
layers and configuration fragments to be validated against this new
check.

[YOCTO: #6943]

(From OE-Core rev: ad4d59495194b37bc510e9891bd14c0a2ac30dba)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:33 +00:00
Bruce Ashfield
63dd5d0669 linux-libc-headers: update to 3.19
Updating the libc-headers now that the kernel has released.

(From OE-Core rev: b3721560fe523c144690ebfeb203b3735d0f6843)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:33 +00:00
Michael Wood
5db6a27f48 bitbake: toaster: importlayer Remove description input field
This wasn't required or working due to a typo and adds ambiguity between
the summary and description. The correct method for changing the description
or summary is via the layerdetails page.

[YOCTO #7190]

(Bitbake rev: 605298ff3ce919127003dadef95798472327f943)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 12:58:20 +00:00
Belen Barros Pena
d27893dc74 bitbake: toasterui: remove layer directory in managed mode
Removes the layer directory information from the packages
built page when in managed mode.

[YOCTO #7221]

(Bitbake rev: 1eaf60d0fe34f5f43386c6f0e91f0b26c7a62845)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 12:58:20 +00:00
Belen Barros Pena
50f11b9d6d bitbake: toasterui: style the Toaster version information
In debug mode, we show the Toaster version and mode in the
top bar. Display them inside a tooltip that appears when
you hover over a nice info icon to make them less conspicuous.

(Bitbake rev: 8365f19191d0ec5901c79b7afd5005f7a546fe74)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 12:58:19 +00:00
Michael Wood
91e900f636 bitbake: toaster: layerdetails Don't show None type in description/summary
When the result for the summary or description is None don't output the
result as the string version of None, use an empty value so that the
"Not set" mechanism works.

[YOCTO #7244]

(Bitbake rev: 34397e585df0fc04ea53046347856e8cddb8f8e1)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 12:58:19 +00:00
David Reyna
64fc177299 bitbake: toaster: landing page when no build module
Add landing page for managed build pages when build module not installed.

Some wording and whitespace changed.

[YOCTO #6483]

(Bitbake rev: 6618a0a71cc9ea5426238549094ab9e05ae61649)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 12:58:19 +00:00
Alexandru DAMIAN
c856a4efc9 bitbake: toaster: get proper version string
This patch brings in the toaster tree commit ID in
the version string to allow users properly report their
toaster version when submitting issues.

(Bitbake rev: 5cc87ee0ac3b2bd399e7f009dda9d6de87209a27)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 12:58:19 +00:00
Alexandru DAMIAN
e133fbf301 bitbake: toasterui: UI query performance improvements
We reduce the number of queries by using "select_related"
to bring in more data in a single query. Improvements in
project page refresh, recipes table and tasks table.

(Bitbake rev: eefdae12120f879b555ba0a353277a18675eecbc)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 12:58:19 +00:00
Alexandru Damian
9c358bd1d7 bitbake: toasterui: fix time estimation in project page
This patch fixes the time estimation to build completion
in project page. Additionally it fixes the Most Recent Builds
section used in various pages in managed mode, and proper
time to build estimation in all pages.

[YOCTO #7004]

(Bitbake rev: 5fecfda0e47c2ecba9b7c903c6d258eefa431aa0)

Signed-off-by: Alexandru Damian <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 12:58:19 +00:00
Alexandru DAMIAN
6dbd214fdf bitbake: toaster: properly detect starting in rolling log file
This patch brings in properly detection of system start in
a rolling toaster_ui log file.

(Bitbake rev: 6da36cbf5eeb30b8352c22aed3e0ede35705e13c)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 12:58:19 +00:00
Alexandru DAMIAN
c368d83bd6 bitbake: toaster: bitbake cooker log saving and downloading
This patch brings in cooker log saving and proper download links.

* toasterui will now write the cooker log file if running in managed
mode
* the BuildRequest has a new state, REQ_ARCHIVE, indicating that the
build is completed, and the artifacts are ready to be grabbed
* the runbuild test execution commands will gather needed artifacts,
and save them to a storage directory selected during Toaster setup.
* the build dashboard, project builds and all builds pages have
permanent links for the cooker log

[YOCTO #7220]
[YOCTO #7206]

(Bitbake rev: fad80e36c9da663b000cdf2cb3c75440c6431d84)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 12:58:19 +00:00
Dan McGregor
a574f293fe glibc: Update to glibc 2.21 release tag
(From OE-Core rev: 530565c6cb77319f4cc49edeea6fec6be997415d)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 10:26:12 +00:00
Khem Raj
a488fd5b61 glibc: Upgrade 2.20 -> 2.21
Drop CVE backports and ppc/fpu detection patch which is not needed anymore
Forward port eglibc option groups patch
Default to using glibc 2.21

Additional patches needed to appease -Werror option

Change-Id: I1873097cec8387ea9e8186a255122938fc28c976
(From OE-Core rev: 6617cc92076764d51f0190786f8d62b8c99ae984)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 10:26:12 +00:00
Saul Wold
dda70ca552 lzo: Upgrade to 2.09 and add ptest
lzo_init checksum changed due to date change, not license change

(From OE-Core rev: ad016fa7492ba23c751cf33dd1befde7782facfa)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-19 07:51:39 +00:00
Robert Yang
32018182f3 bind: Fix parallel make issue
Fixed:
unix/os.o: file not recognized: File truncated
collect2: error: ld returned 1 exit status

This is because os.o was built twice:
* The implicity rule (depends on unix/os.o)
* The "make all" in unix subdir (depends on unix/os.o)

Depend on subdirs which is unix only rather than unix/os.o will fix the
problem.

(From OE-Core rev: 1af699e1af2552659b90a1fadd8de73d780226ba)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-19 07:51:39 +00:00
Robert Yang
285966f337 btrfs-tools: fix for parallel build
Fixed:
mkfs.c:300:46: error: 'BTRFS_BUILD_VERSION' undeclared (first use in this function)
  fprintf(stderr, "mkfs.btrfs, part of %s\n", BTRFS_BUILD_VERSION);

(From OE-Core rev: 5808c423a2cbea9f2f6a9f78ce5ca09864dc6a75)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-19 07:51:39 +00:00
Fathi Boudra
da1259e0e6 busybox: update to 1.23.1 release
* Bump SRCREV/PV
* Drop PR
* Update SRC_URI md5sum/sha256sum
* Drop 0001-build-system-Specify-nostldlib-when-linking-to-.o-fi.patch
  - applied upstream and available in 1.23.1 release

(From OE-Core rev: 2c59692c4fa4a0a21dee23b8affc3c8e58ff7a11)

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-19 07:51:39 +00:00
Brendan Le Foll
0a5395738b openssl: disable SSLv3 by default
Because of the SSLv3 POODLE vulnerability, it's preferred to simply disable
SSLv3 even if patched with the TLS_FALLBACK_SCSV

(From OE-Core rev: 4e691d06ffdb4d1fd940996f419308fe53454df7)

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-19 07:51:39 +00:00
Chen Qi
0aa5ea1251 packaging: allow globs in CONFFILES
Allow globs in CONFFILES.

This patch changes the way of CONFFILES handling. After this  change,
the CONFFILES can take the same form as FILES. That means, we don't
have to list a bunch of files for CONFFILES. It will just be expanded
like the FILES variable.

We don't assume default value for CONFFILES in OE. But distro vendors could
provide a default value for CONFFILES in their distro configuration file
like below.

    CONFFILES = "${sysconfdir}"

In this way, files under /etc are treated as configuration files by
default. Of course, setting CONFFILES in recipes take precedence over
the CONFFILES. For example, if the recipe author decides that package A
should only treat files under ${sysconfdir}/default/ as config files,
he/she can write like this.

    CONFFILES_A = "${sysconfdir}/default"

[YOCTO #5200]

(From OE-Core rev: 0d446ef0e5bbca7058eec7259e34f2a1637dfab1)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-19 07:51:38 +00:00
Richard Purdie
c4cc479beb qt-mobility: Add patch to fix disabling bluez compile issues
If you disable bluez but have dbus enabled, the build would fail. This patch
fixes the issue so that bluez5 based builds work.

(From OE-Core rev: 1324839b2be97c19e0a1fbd6ec8d3357731e5973)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-19 07:51:38 +00:00
Lucian Musat
26be755cb5 oeqa/ptest: Fixed complementary package install detection and added ptest-runner exit code check
(From OE-Core rev: b214c7b901fe0fad081d7a97f9e91cc218c66bd6)

Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-19 07:51:38 +00:00
Martin Jansa
2f8e5a8be1 license.bbclass: fix unexpected operator for LICENSE values with space
* add quotes around pkged_lic so that it works correctly with spaces
* fixes following error:
  run.license_create_manifest.50601: 193: [: GPLv2: unexpected operator

(From OE-Core rev: 2bb8b2abb689d91b7b7e28e6bd528747bde94dd2)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 22:35:04 +00:00
Martin Jansa
c58a3ae2e8 valgrind: add glibc-2.21 to glibc.patch
(From OE-Core rev: 68ccb00b024efccb70efffc80a57b819f10a95e0)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 22:35:03 +00:00
Chen Qi
9973ce1703 useradd.bbclass: avoid do_rootfs error for debian package backend
If /etc/login.defs is treated as a configuration file, then we would meet
errors at do_rootfs time telling us that useradd/groupadd cannot execute
correctly.

This is because the dpkg handles config file specially, the login.defs
is temporarily renamed as login.defs.dpkg-new.

How ubuntu deals the user/group adding problem? They do it at postinst of the
package. And, the postinst script of a package would possibly do `chown' of
its files or directories.

The above strategy is not suitable for OE. Because we do chown in do_install
and add user/group in preinst scripts of the packages.

That's why we need this patch so that do_rootfs don't fail.

(From OE-Core rev: d98e5ec575f542b3afaabd96b07ae9a21e1c22f4)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 22:35:03 +00:00
Chen Qi
3d7c798dff update-rc.d: use '-f' option in updatercd_postrm
Use '-f' ('--force') option so that while removing packages using deb,
we don't fail because of the following error:

   update-rc.d: $initd/$bn exists during rc.d purge (use -f to force)

Using '-f' option would make this a warning but continue to execute.

   update-rc.d: $initd/$bn exists during rc.d purge (continuing)

We need this option because dpkg package backend have special handling for
configuration files. And if files under /etc/init.d are treated as configuration
files, we will have errors.

(From OE-Core rev: ebb2d557bbf410d98040cdaabbddd7e3ee0a9709)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 22:35:03 +00:00
Chen Qi
aa48c4ff4a package_manager.py: use 'purge' instead of 'remove' in case of deb
We need to use 'purge' instead of 'remove' for debian package backend when
removing packages at rootfs time. This is because that 'remove' command for
'dpkg' and 'apt-get' does not remove configuration files.

(From OE-Core rev: 14e8d826c4a5231ef331d8064d150737fe3ed656)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 22:35:02 +00:00
Paul Gortmaker
876015dbaf scripts: delete dummy help2man script
This was added to try and deal with the cross compile issue of
help2man ; one can not run an ARM binary "./chmod --help" on an
x86-64 host in order to get the help text to create a man page.
This has been primarily an issue with the coreutils package.

However, we have since fixed coreutils to have useful pre-made
manpages and we don't need this script anymore.  And if other
gnu packages are getting useless truncated "dummy" manpages,
we want the build to fail so we can fix those packages in a
similar way, vs. having the issue hidden via a help2man that is
a no-op.

(From OE-Core rev: 3fc812377baf95768cef0b7728a73a4b9e07f2ab)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 22:35:02 +00:00
Paul Gortmaker
2fdc77221a coreutils: import prebuilt manpages from Gentoo
As can be seen here:

http://lists.gnu.org/archive/html/coreutils/2014-11/msg00001.html

other people have run into the headache of trying to cross compile
coreutils, with the "help2man" problem (assumes host can run the
target binaries with "--help" arg to collect data for manpage.)

And since "current wisdom is this is working as intended" we are
largely left with no choice but to use the same solution and
abandon trying to generate the man pages at build time.  So here
we import prebuilt manpages.

(From OE-Core rev: 1c0bdebbe362dc47b3b6f521ba15ccf0de15e5b5)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 22:35:02 +00:00
Paul Gortmaker
a48168602e coreutils: don't generate useless dummy stub manpages
We had a couple patches to 1) deal with missing perl and 2) deal
with the perl-less "dummy" help2man fallout, but in the end, they
achieve no purpose whatsoever, since they just populate the doc
RPM with manpages like this one:

  NAME
       chmod - a GNU coreutils 8.22 program

  DESCRIPTION
       OOOPS!   Due to the lack of perl on the build system, we were
       unable to create a proper manual page for chmod.

As the above serves no purpose whatsoever, and since the concept
of running the binaries to capture the "--help" text output is
completely broken for cross compiles, lets just decouple man page
generation from the building of coreutils entirely so it paves the
way for importing pre-generated manpages.

(From OE-Core rev: cb2519466b4d28217ae955370077bc4a8f9b6dce)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 22:35:02 +00:00
Javier Viguera
2ca0339b39 utils.bbclass: fix create_cmdline_wrapper
Similar to commit 4569d74 for create_wrapper function, this commit fixes
hardcoded absolute build paths in create_cmdline_wrapper.

Otherwise we end up with incorrect paths in users of this function. For
example the 'file' wrapper in current released toolchain:

exec -a
/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-fsl-arm/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-file/5.18-r0/image//opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/bin/file
`dirname $realpath`/file.real --magic-file
/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/share/misc/magic.mgc
"$@"

(From OE-Core rev: 49ab89eb9f83388e99069a4b53bdc4cba22bb6f3)

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 22:35:02 +00:00
Scott Rifenbark
51bdf3ba5f ref-manual: Review edits to the AUTOREV variable.
Fixes [YOCTO #7306]

Some review updates to have better wording.

(From yocto-docs rev: 6f2d10c87128934958295111d10e038689fd94d3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:03 +00:00
Scott Rifenbark
f03c8374a9 ref-manual: Updates to AUTOREV and SRCREV variable descriptions
Fixes [YOCTO #7306]

Added an example for when the user tries to inherit the most recent
version of software through use of the SRCREV variable.  When using
SRCREV = "${AUTOREV}" PV does not always get ${SRCPV}, which it need
in order to fetch the latest software.  I added a clarifying example
to explain this situation.

This commit also has a small change to fix a broken link to
EXTERNAL_TOOLCHAIN.  We do not documentat that variable so I removed
the link.

(From yocto-docs rev: 82f66a7193d0e40ffd65547223d4d9b10fdcf9bd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:03 +00:00
Scott Rifenbark
586992d24e toaster-manual: 2nd draft for review.
Fixes [YOCTO #6901]

This is the 2nd review draft of the manual.

(From yocto-docs rev: 9f541e4421e0e74e59e3b3da1896b6c1254daf08)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:03 +00:00
Scott Rifenbark
3dad9aee73 adt-manual, ref-manual: Detail on using an external toolchain.
Fixes [YOCTO #4907]

I created a new section in the toolchain chapter of the adt-manual
called "optionally Using an External Toolchain".  This provides
some fundamental information for the user that wants to use
an external toolchain.  Additionally, it references Mentor
Graphics Sourcery toolchain as an example.

In the ref-manual, I updated the TCMODE variable description to
better integrate the MGC Sourcery toolchain as the overriding
example.

(From yocto-docs rev: 51e9c3b88f7e5a16da2aa101589b0f2612fff11d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:03 +00:00
Scott Rifenbark
6d17aa00f9 ref-manual: Added 'debug-tweaks' fragmentation.
The image feature 'debug-tweaks' has been fragmented into three
separate areas of functionality that deals with handling empty
passwords and post-installation logging.  I updated the list of
image features appropriately and the description of 'debug-tweaks'
in the EXTRA_IMAGE_FEATURES variable.

Fixes [YOCTO #5344]

(From yocto-docs rev: ce0ab20472a75049298287cd05109f6e091b80bd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:03 +00:00
Scott Rifenbark
f63a3b65fb ref-manual: Updates to some variables per review comments.
Updates to the following:

  BUILD_ARCH
  SOURCE_MIRROR_FETCH
  TARGET_PREFIX
  SDK_PREFIX
  SDK_SYS (I added this one new).

(From yocto-docs rev: ad5f9b56dc912783b415b30604456bd5071f9721)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:02 +00:00
Scott Rifenbark
da3a4890d1 ref-manual, mega-manual: Adjustments to variable context images
Fixes [YOCTO #5601]

Discovered that the solution I had to display a small PNG file
to indicate the context a variable is used in the build system
was not displaying properly in the ref-manual variable glossary
when using the Chrome browser.  The solution was to adjust some
settings in the CSS file and place the image after the term.
This allowed me to dump the webkit stuff that I had inserted
into the CSS file styles to make it work in Mozilla, which
ended up not working in Chrome.

Additionally, I needed to update the 'define-generic.png' file to
have less white space on top as part of the figure.  Note that
this commit adds the figure to Git for tracking as well.

(From yocto-docs rev: 59a1295aeb1c866f330634907ad28642a997cd63)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:02 +00:00
Scott Rifenbark
26a3df450e ref-manual: Updated the ASSUME_SHLIB variable.
Applied a different example from Paul.

(From yocto-docs rev: b21ef6a792361eb0893ee17524794fba3bed885c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:02 +00:00
Scott Rifenbark
57270588f8 ref-manual: Added new variable description for BUILD_VENDOR.
(From yocto-docs rev: d38bf6819c5a2c4e7aea0ba3a741c18365c760ff)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:01 +00:00
Scott Rifenbark
3c3e856094 ref-manual: Added variable description for BUILD_PREFIX.
(From yocto-docs rev: d4ab1886cb5c4b65afa2c0e8e2e1b2ce567b4d2e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:01 +00:00
Scott Rifenbark
d089b7c7f2 ref-manual: Added new description for SDK_VENDOR.
(From yocto-docs rev: 20d1d9145926b459dff39bfe39d71b78a25cd387)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:01 +00:00
Scott Rifenbark
b0ed0bc630 ref-manual: Edits to the SDK_SYS variable.
(From yocto-docs rev: 520ded3e50a0299164b3b941cca99b677fa83dad)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:01 +00:00
Scott Rifenbark
95253222d0 ref-manual: Added new variable description for SDK_SYS.
(From yocto-docs rev: cc5d9a1a090023f79440f6c1d60efab53b1aef21)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:01 +00:00
Scott Rifenbark
d8acb872c5 ref-manual: Added new description for SDK_OS.
(From yocto-docs rev: f71c032bb51608ab2fe8e5735c423a8a86e6d37e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:01 +00:00
Scott Rifenbark
35612bfd32 ref-manual: Created new SDK_PREFIX glossary entry.
(From yocto-docs rev: c72b97ec58e609d63920c431b5948c8dd09d2595)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:01 +00:00
Scott Rifenbark
0410f36860 ref-manual: Updates to TARGET_PREFIX and STAGING_DIR_HOST variables.
Small typo fix for STAGING_DIR_HOST.  Some re-wordings for
TARGET_PREFIX.

(From yocto-docs rev: 919a13436de6ea150f685a50b6ecc8154b75da86)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:00 +00:00
Scott Rifenbark
32f6b13293 ref-manual: Updated the SOURCE_MIRROR_FETCH variable description.
Did a significant re-write on this description as I had the
meaning pretty far off.

(From yocto-docs rev: 6bcc63ac83f0aeb3d3d06db33c7a8f010c737312)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:00 +00:00
Scott Rifenbark
022f5af654 ref-manual: Updated the Date variable description.
Re-worded the way you say the date.

(From yocto-docs rev: 3c6b51fb474628954654f2f1290509a78a48a1fb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:00 +00:00
Scott Rifenbark
a7f992eddc ref-manual: Updated the BUILD_OS variable description.
Fixed the meaning up.

(From yocto-docs rev: 1b057475acd2bf33bb6fa3bd03e85a415697873f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:00 +00:00
Scott Rifenbark
a89f895a79 ref-manual: Updated the BUILD_ARCH variable description.
Better wording.

(From yocto-docs rev: f048485fb69c4355d01ad1299f5d9187d767806a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:00 +00:00
Scott Rifenbark
0ba32a62ae ref-manual: Updated the ASSUME_SHLIBS variable.
Added an example.

(From yocto-docs rev: 7a22c2941618f29ad89087c186ae2af6f0c07323)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:00 +00:00
Scott Rifenbark
46614dab87 dev-manual: Edit to wording in "Avoid Duplicating Include Files"
Changed wording to be more accurate.

(From yocto-docs rev: 1acb7ce94a4f4b02cc50d1e098f04a77d9a53ab3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:17:00 +00:00
Scott Rifenbark
8e8d961527 ref-manual: Updated the following variables based on review comments:
ASSUME_SHLIBS
  BBINCLUDELOGS_LINES
  BUILD_ARCH
  BUILD_OS
  CACHE
  DATE
  PACKAGE_INSTALL_ATTEMPTONLY
  PRIORITY
  SOURCE_MIRROR_FETCH
  TARGET_PREFIX
  TARGET_SYS
  TIME
  CROSS_COMPILE

(From yocto-docs rev: c55ab3cb5ef9d517ea5f29d2be8999cc1dc7e085)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:59 +00:00
Scott Rifenbark
21fcd57042 ref-manual: Updates to SDKTARGETSYSROOT and PKG_CONFIG_PATH variables.
Applied some review edits to these two variable descriptions.

(From yocto-docs rev: fb1eb903b9bcc8b0bb67e72c795a1dd602143589)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:59 +00:00
Scott Rifenbark
f3410bfc75 dev-manual: Updates to "Avoiding Duplicating Include Files" section.
I removed the last paragraph example as it is not a good example.
Unfortunately, there is not a good example so I replaced it with
a minor suggestive work-around at the end of the first paragraph.

Also, used some <replaceable></replaceable> formatting for the
first paragraph.

(From yocto-docs rev: 6c3989fd4fe41a6434d70208d59747060e62a366)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:59 +00:00
Scott Rifenbark
ef959e61c4 ref-manual: Added "leakage" FAQ entry.
Fixes [YOCTO #6852]

I added a new FAQ entry to address situations where during a
native build, the build fails due to previously installed stuff
on the system from /usr/local/include and /opt.  The entry
tries to cover "leakage" issues in general but calls out the
specific case involving libiconv and iconv.h.

(From yocto-docs rev: 2c09c7ee0970189953bfbbdcaac49a1ebe8482fe)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:59 +00:00
Scott Rifenbark
a0999ab4df toaster-manual: Updated tar contents to not include the PDF file.
(From yocto-docs rev: b80931a3930ac4eda8daec37dc3de0f1d4d3844e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:59 +00:00
Scott Rifenbark
481c1788bc mega-manual: Edits to fix titling
The way the mega-manual used 'xinclude' to suck in the other
YP manuals was to suck in the root XML file.  The problem with
this was that the root XML file for each subsequent book would
include front-matter information.  The front-matter information
included an .authorgroup style, which caused the new mega-manual
title displayed at the very top to be also re-displayed with
a subsequent manual's title.  These changes altered the strategy
for using 'xinclude' to pull in the various YP manuals.  Rather
than pull in the root XML file for a given manual, individual
chapters are pulled in that comprise a given manual.  A slight
side-effect is that chapter numbering is sequential from top to
bottom in the mega-manual, which I suppose is better as it is
being presented as an entire manual anyway.

(From yocto-docs rev: 61cc9f2f92900894ef09ff13e1e92ebe30a17be3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:59 +00:00
Scott Rifenbark
0c4e31cef1 mega-manual: Fixed reference to style sheet.
the customization layer for some reason was referencing the
ref-style.css file instead of the mega-style.css.  I changed this
over.

(From yocto-docs rev: f47e14c27cde0a436a9ffbf26ca425951eae5d4e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:58 +00:00
Scott Rifenbark
1b719fa724 toaster-manual: Cleaned up the intro chapter
Fixes [YOCTO #6901]

I removed some left over stuff from the intro that should not
have been in there.

(From yocto-docs rev: 91d1ee2b4433312e0f94e1ac99f8ec0e14ef6ac7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:58 +00:00
Scott Rifenbark
6d512bd691 mega-manual: Updated sed file to include the toaster manual.
Added logic to string search and fix links in the Toaster Manual
part of the mega-manual.  This keeps the links correct for the
mega-manual.

(From yocto-docs rev: f93b5a187984949129db16b638935b678fd344a1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:58 +00:00
Scott Rifenbark
dd62d577be mega-manual: Added toaster-title.png and code to include toaster-manual
Fixes [YOCTO #6901]

Added the toaster-title.png file to the mega-manual/figures
folder so the Toaster title would show up in the mega-manual.

Added lines so that the mega-manual would include the Toaster
manual file to the mega-manual.

(From yocto-docs rev: 5a4a67e4f140802da133b7bcb480c84b4a8edb63)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:58 +00:00
Scott Rifenbark
ab2007dc4e Makefile: Removed default PDF creation of Toaster Manual.
(From yocto-docs rev: 7cceb7b0a0f53a4207070ff369bec8a3a6ceb135)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:58 +00:00
Scott Rifenbark
9d033d83cc toaster-manual: Added two chapter files.
Fixes [YOCTO #6901]

These are the second and third chapters of the Toaster Manual.

(From yocto-docs rev: 6ff4e3dfff391efdbb0f36dc6800bf115abcfc92)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:58 +00:00
Scott Rifenbark
e2f004faa3 toaster-manual: Changed from "current" to "1.76.1" XSL templates
Fixes [YOCTO #6901]

Makes it so the boxes appear around the manual revision table.

(From yocto-docs rev: f3ee2bc1ef957a585d0f814b91451a8460dec8c1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:58 +00:00
Scott Rifenbark
7fe19fcb94 toaster-manual: Edits to the intro chapter
Fixes [YOCTO #6901]

(From yocto-docs rev: 633368738e244313168edab86e843b8895e818e3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:57 +00:00
Scott Rifenbark
464c1d9f92 toaster-manual: Added two chapters to the manual's book file.
Added both chapters that follow the intro chapter to the root
file so they will build as part of the book.

Fixes [YOCTO #6901]

(From yocto-docs rev: 37967896f12471d34188cd532e00211ca665910b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:57 +00:00
Scott Rifenbark
0e3cb25ad7 toaster-manual: WIP - Some placeholder introductory text.
(From yocto-docs rev: 50af668137ec11105f08398bf92649217f75aad3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:57 +00:00
Scott Rifenbark
cd31b931e3 documentation: Support files to build Toaster Manual.
Changes to the files that support building out and publishing
the Toaster User Manual:

 * poky.ent - Added a new variable YOCTO_DOCS_TOAST_URL that can
   be used in other manuals to link to sections with the Toaster
   User Manual.

 * Makefile - Added a section of code to build out the Toaster
   User Manual.  Currently, no eclipse support is added as I don't
   think we want to cross into that development environment with
   Toaster.

(From yocto-docs rev: 35ea6656265d61024d5db36a534a7250f783956a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:57 +00:00
Scott Rifenbark
430237631e toaster-manual: Initial file structure for new Toaster User Manual.
For this commit, the manual only has a single "intro" file with
placeholder text only.  Graphic for title page is in place,
stylesheet is in place, all files needed for a successful, initial
build of the new manual.

(From yocto-docs rev: 99416caa943fe6af13292b18bda53522ce3576d6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:57 +00:00
Scott Rifenbark
75206ccfd2 ref-manual: WIP - test for YOCTO #5600
(From yocto-docs rev: 3cd7d367d7ccb8314fea422303701f275d21d87a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:57 +00:00
Scott Rifenbark
d8e2874916 mega-manual: New PNG file for mega-manual title page.
(From yocto-docs rev: e3d8af0c6cd88e76f7cf2bcff82e1fffd7a46589)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:57 +00:00
Scott Rifenbark
f1bb814d50 ref-manual: Fixed icecc example code
Fixes [YOCTO #6912]

The example used to make sure builders use the same sstate
signatures regardless if they use icecc or not was incorrect.
I updated the INHERIT_DISTRO line of the example to use the
append part in the name so it appends the icecc as suggested
by the bug submitter.

Reported-by: Peter Bergin <petan679@gmail.com>
(From yocto-docs rev: 1f6b2f152202ab6e0be3026af3275f67bdb40d16)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:56 +00:00
Claudius Heine
b83bed6a3a dev-manual: Fixed reference to TEST_SERIALCONTROL link
Fixes [YOCTO #7256]

In the "Serial Console Connection" section there was a link to
TEST_POWERCONTROL_CMD when it should have been to the
TEST_SERIALCONTROL_CMD variable.

(From yocto-docs rev: 9ec64c86bd4171a017898daa332d2a98fea0358a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:56 +00:00
Claudius Heine
3c7ad6e41f dev-manual: Fixed tc attribute description
The description for "tc" was described as "the called text context..."
rather than "the called test context...".  Updated the description.

Fixes [YOCTO #7269]

(From yocto-docs rev: 0da4437c26225ce0302f10f7ba3c012f1f990c74)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:56 +00:00
Scott Rifenbark
5d19f2bf27 dev-manual: First draft of recipetool section.
(From yocto-docs rev: 3220f98c756291d95da0d9d7cff4aa09e8670ff2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:56 +00:00
Scott Rifenbark
b2a68067f5 dev-manual: Edits to Quilt and finding temporary source code sections
These edits help place the two sections within the new organization
that basically splits out the devtool and quilt methods as ways
of modifying your source code.

(From yocto-docs rev: 1dc2e8783d9774bb98a30e06d114f1c9bfb85b71)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:56 +00:00
Scott Rifenbark
be7e182140 documentation: Reverted back to the 1.76.1 XSL stylesheet
Using the 1.76.1 version in all the customization layers so
the manual revision tables will build with boxes.

(From yocto-docs rev: 85a31ef53a59d17bed23ebf57a14db507eb21338)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:56 +00:00
Scott Rifenbark
0a54446d2f mega-manual, Makefile, poky.ent: Added front matter to mega-manual
Put in proper front matter for the mega-manual.  This effectively
creates a real title for the manual as well as a brief abstract
that explains why this behemoth exists.

(From yocto-docs rev: 26c78f0b00762846a839fbfc9ba969b7aa5d5b58)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:56 +00:00
Scott Rifenbark
4a1ea28ce9 documentation: First draft devtools.
Completed draft of the new devtool material.  This commit affects
some linking and figures across the YP doc set.

* Added the build-workspace-directory.png file to both the
  dev-manual and the mega-manual.

* Updated the Makefile to include the new figure in the TARFILE
  for dev-manual and mega-manual.

* Re-did the section organization to pull the quilt and finding
  source file out of the "Modifying Source Files" section.

(From yocto-docs rev: 4585b9fbb1636ae3c65e2e3ad2d1d6baca636e59)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:55 +00:00
Scott Rifenbark
b876909269 adt-manual, ref-manual: Review edits for xcross-toolchain additions.
Mark Hatle reviewed the section and I updated some things based
off his input.  A rewrite to the "Makefile-Based Projects" section
to get it technically correct.  Also, removed all SDKROOT
documentation from both the adt-manual and ref-manual.

Fixes [YOCTO #7133]

(From yocto-docs rev: dd785777834611d94868a3774f2eb21ffc081b1a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:55 +00:00
Scott Rifenbark
93052c9900 adt-manual: Remaining mods to clarify xtoolchain env use
Fixes [YOCTO #7133]

Edits to add more clarification for use and role of the
cross-toolchain environment variables established when a user
runs the cross-toolchain environment setup script.

(From yocto-docs rev: 2c3fa3a838a3a8970cd112935e903c96552ed06b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:55 +00:00
Scott Rifenbark
05feb9679e adt-manual: Added file name for reference to the config file.
(From yocto-docs rev: 080af576473f886a9325cfb7514e0cc7740dec35)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:55 +00:00
Scott Rifenbark
ce8ead36bb adt-manual, ref-manual: Added missing variables and cross-links
I added the ADKROOT, GDB, CROSS_COMPILE, and CONFIGURE_FLAGS
variables to the glossary.  Also added appropriate cross-reference
links from the adt-manual to those new variables.

(From yocto-docs rev: 812367e3b915b99d900b7934c4d5d409f393e814)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:55 +00:00
Scott Rifenbark
9c27a91d61 adt-manual: Added a list of variables defined for ADT setup
Fixes [YOCTO #7133] partially

At the end of the section that first mentions running the
environment setup script for the cross-toolchain, I added a list
of environment variables that are defined as a result of running
the script.

(From yocto-docs rev: f1b66a09676d1b5c055e7ae7e7cc9a7f45cb9b67)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:55 +00:00
Scott Rifenbark
4d12f8dd83 adt-manual: Expanded note with a user configuration reference.
The note in the "Getting the ADT Installer Tarball" section has
a note that warns the user to be sure they have local.conf
properly configured before baking out the adt-installer.  I
provided a linked cross-reference into the section of the
ref-manual that takes a closer look at user configuration.

(From yocto-docs rev: d13c044b65543a2f15fbda0266d2e30a14cfd19f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:54 +00:00
Scott Rifenbark
77a62835d2 adt-manual: Added missing period.
(From yocto-docs rev: 8a47c17cecf023c3eb021108a1830394cb8bf103)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:54 +00:00
Scott Rifenbark
9dff02bc21 adt-manual: Added some reasoning behind sourcing the xtoolchain env script
The intro to the "installing the ADT and Toolchains" section notes
that the user must source the cross-toolchain environment setup
script.  I added a clause stating that this establishes environment
variables.

Fixes [YOCTO #7133] partially.

(From yocto-docs rev: e9777012d935ced8fd82209543569aaa70ab1832)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:54 +00:00
Scott Rifenbark
cc06786545 adt-manual: Reword for how user-space tools are provided.
The "User-Space Tools" section incorrectly stated that user-space
tools are provided as part of the distribution.  The Yocto
Project is not a distribution.  So I changed to say that they
are provided as part of the Yocto Project.

(From yocto-docs rev: 03dd97b68a1900959aa51ad6a17547822e8392fc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:54 +00:00
Scott Rifenbark
db030b19a2 dev-manual: Updated the OpenEmbedded build system term.
Added text to note how this term is used, what makes up the
OE BS, and how the term "build system" is used in general.

(From yocto-docs rev: 2af0a59a84fd1cf6d23db29f470cb5644f962746)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:54 +00:00
Scott Rifenbark
b0639bc8ae adt-manual: Added cross-reference to OE build system term
First occurrence cross-reference added.

(From yocto-docs rev: 91db235e935e799c2d4cc301ef799cb581704020)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:54 +00:00
Scott Rifenbark
7ca1a51cd3 dev-manual: Added OpenEmbedded build system term, dumped build system
The list of terms had a "build system" term that basically
described the OpenEmbedded build system.  I dumped this entry
in favor of "OpenEmbedded build system."  I updated the term's
description to cover the generic term "build system" for no
confusion.

(From yocto-docs rev: 0ada8348a2ace6ce99e640d1c1f21812188151d5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:54 +00:00
Scott Rifenbark
568224beef adt-manual: Fixed hyphenation issue.
(From yocto-docs rev: a0b11ddf7ce4d12f330fcddd21ee127b11bf0ace)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:54 +00:00
Scott Rifenbark
ee80485443 dev-manual: Removed #!/bin/sh -e from the base script form
This start to the script is not really necessary and is in fact
the rare case.  I have removed two occurrences of it in the
"Post-Installation Scripts" section where it was used in code
as the best form to create a script.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: f7c1a1e135e8a9d76005bb6ae7b9cc2810f0af90)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:53 +00:00
Scott Rifenbark
f50e412d84 dev-manual: Updated the QEMUARCH option in the runqemu command.
Found a typo in this list.  The "qemux86-64" should be "qemux86_64".

(From yocto-docs rev: 32f62f51c1574f3a479c12b67aeba7ebcb743a02)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:53 +00:00
Scott Rifenbark
3ac28906ba ref-manual: Removed the DISTRO_PN_ALIAS variable.
(From yocto-docs rev: 102a41d94c22266b7209b29e2a6dd7cd11647e8a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:53 +00:00
Scott Rifenbark
e0dbcbf056 ref-manual: Edits to SOURCE_MIRROR_FETCH variable and typo fix
Updated the description for the SOURCE_MIRROR_FETCH variable
so that it actually made sense.  The [doc] string was also
updated.

Found a typo elsewhere that was fixed when I spell-checked the
file.

(From yocto-docs rev: 609f09231815f80ea3fd800e0b5d9a4fbad110cc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:53 +00:00
Scott Rifenbark
44ddc355ef ref-manual, dev-manual: Removed information about package name alias.
The section on "Handling a Package Name Alias" was confusing and
wrong.  We decided to eliminate it.  The section was removed from
the dev-manual.  The corresponding variable DISTRO_PN_ALIAS
remains for now but without the cross-reference link to the
now missing section.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 9938cdcc8488baffa4252288bf45243055e76fed)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:53 +00:00
Scott Rifenbark
db874ed595 ref-manual, dev-manual, adt-manual, yocto-project-qs: scrub eglibc
Scrubbed out the occurrences of eglibc and replaced them with
glibc.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 868ceda79b1c738349e512e523c850b24f9232ca)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:53 +00:00
Scott Rifenbark
9a47967a18 ref-manual, mega-manual: Updated buildhistory example figure
Scrubbed the eglibc from the buildhistory directory and
also replaced with an i586 example.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: c7469f1a857f278e1adac9012d99802195e36849)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:52 +00:00
Scott Rifenbark
84647d586e ref-manual: scrubbed eglibc
Removed the references to eglibc and replaced them with glibc.
This involved updating the example buildhistory output with
current examples as well

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: b44cce9817191d616d51d6b1d067efc730423198)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:52 +00:00
Scott Rifenbark
84ee65aef0 ref-manual: Edits to the TCLIBCAPPEND variable.
(From yocto-docs rev: da3327f5fb5a89ff94c90bd6260b8e6f8adbcd1a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:52 +00:00
Scott Rifenbark
328b3bdbfd ref-manual: Added 21 new variable to glossary.
I added the following:

 ASSUME_SHLIBS
 BBINCLUDELOGS_LINES
 BUILD_ARCH
 BUILD_OS
 CACHE
 CONF_VERSION
 CVSDIR
 DATE
 FONT_EXTRA_RDEPENDS
 GITDIR
 HOST_ARCH
 HOST_OS
 HOST_PREFIX
 HOST_VENDOR
 PACKAGE_INSTALL_ATTEMPTONLY
 PRIORITY
 SOURCE_MIRROR_FETCH
 SVNDIR
 TARGET_PREFIX
 TARGET_SYS
 TIME

(From yocto-docs rev: 76e5f7ca78db63b63ac6357218ef153e064e605f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:52 +00:00
Scott Rifenbark
70a2007b67 ref-manual: New variables added to the variable glossary
Fixes [YOCTO #7133]

This goes toward fixing the bug but not completing it.  I have
added the following variables to the variable glossary:

 SDKTARGETSYSROOT
 PKG_CONFIG_PATH
 CC
 CXX
 CPP
 AS
 LD
 TARGET_PREFIX
 AR
 STRIP
 OBJCOPY
 OBJDUMP
 RANLIB
 NM

(From yocto-docs rev: c9d9e422684dad7cdc81db309235d0d1751ac88a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:52 +00:00
Scott Rifenbark
eafdfbfb37 tools: Added new file update-documentation-conf
This is a Python script that a developer can run to create a .patch
file that when submitted to oe-core will update the documentation.conf
file.  The update will bring the [doc] file variable descriptions
in line with what is in the ref-manual variables file.

Reported-by: Paul Eggleton <paul.eggleton@intel.com>
(From yocto-docs rev: f9dca76a8d9be3dcdbde9229beb03f0ba3701485)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:52 +00:00
Scott Rifenbark
10b2504613 ref-manual: Updated the [doc] string to include the & character.
(From yocto-docs rev: 71bc09c2c424d5c4a901a4b8889d83f7d6d3d76f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:52 +00:00
Scott Rifenbark
c9b7007f27 ref-manual: Added warnings about using package_tar
This option to the PACKAGE_CLASSES variable is broken and not
supported.  I added several warnings saying such.  We opted to
keep the documentation rather than eliminating it completely to
prevent questions should someone find the code and wonder why
it is not documented.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 1acf3da2034c4c3f74acee1ccb375f0450ed90a0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:52 +00:00
Scott Rifenbark
4ab132a20d dev-manual, ref-manual, yocto-project-qs: Updates to parallelism variables
The way the old manual set had worded the use of the
BB_NUMBER_THREADS, PARALLEL_MAKE, and BB_NUMBER_PARSE_THREADS
had become depricated.  It suggested a lot of user intervention
to get these variables set to have the build system utilize
optimal parallelism.  The change a while back to the build system
where the variables are set to the number of build host cores
now makes the variables automatically be set to their best
values.  I have gone through the manual set and changed wordings
appropriately to reflect this.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 3a27b1792c92a2f22173315e2732f672cdad2c78)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:51 +00:00
Scott Rifenbark
0a367c514b ref-manual: Updated text for speeding up builds.
The "Speeding Up the Build" section presents a list of items the
user can consider when they want to tweak the build speed.  One of
the items is the three variables BB_NUMBER_THREADS, BB_NUMBER_PARSE_THREADS,
and PARALLEL_MAKE.  It was noted that the system figures out
the optimal settings for these now and it is pretty useless to
override the settings.  However, the introducing sentence to the
list is still valid due to other considerations that go beyond these
three variables.  So, to update the text, I have re-emphasized the
role of these three variables for quickening the build time.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 84610550cef66d0aa7478bcf95ad97b081709b2f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:51 +00:00
Scott Rifenbark
d1bd81ed0e dev-manual: Updated examples in "Splitting an Application into Multiple Packages"
The example was out of date.  Updated accordingly.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: b95535fca149abbbe4fee7e74ebc13d2bb376c27)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:51 +00:00
Scott Rifenbark
281c4728d6 dev-manual: Edits to add more detail to where patch files are
Updated some text to indicate that you should put patch files
in $BP, $BPN, or "files."  Also, added more on how the patch
files suffix is (i.e. accounting for compressed suffix names
like diff.bz).

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: d9e23da24e9d86ec5e2b9d4067667478f3e56ba1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:51 +00:00
Scott Rifenbark
6a6687d6d5 dev-manual: Updated text to indicate patch files can end differently
Patch files can end with compressed suffixes such as
diff.gz and patch.bz2.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 69993710d1466dddc804c33c1d76f46d0982d28f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:51 +00:00
Scott Rifenbark
3cd8d861ab dev-manual: Removed unwanted characters from text.
Reported-by: Pascal Bach <pascal.bach@siemens.com>
(From yocto-docs rev: 3ffbebd6c638e9f5b334dfef1d4e0bcc698ae810)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:51 +00:00
Scott Rifenbark
f8245d98ea dev-manual: Updated section on how checksums are dealt with
In the "Fetching Code" section, some loose description of how the
build system reacts to the two checksums in a recipe existed.
Robert asked some questions about how the behavior would be if
just a single, correct checksum existed and if the two existed but
only one proved correct.  Turns out, if you supply a single one then
the build will not throw an error or warning.  If you supply two
but one is incorrect, then the build will throw an error or
warning.  I updated the text to be technically correct without
going into huge details.

(From yocto-docs rev: f49a744821d9326314803d5003158bd402e74e0d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:50 +00:00
Robert P. J. Day
4492b37a06 dev-manual: Replaced lttng-control and lttng-viewer with lttng-tools.
Replace references to these deleted items.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:50 +00:00
Scott Rifenbark
2d54b1d72f ref-manual: Added CentOS 7.x to list of supported distros.
(From yocto-docs rev: 49bcfd52ee94c79c04e779f2f81421ea7a40c9f1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:50 +00:00
Scott Rifenbark
bc4858fe99 dev-manual, ref-manual: Edits to dev manager section and USE_DEVFS var.
Some minor edits to the original patch.  These edits were caught by
Robert P. J. Day.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: b50a2e44eccd50166351611f17c643cbbc60f8b8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:50 +00:00
Scott Rifenbark
0e0a19a7ff ref-manual: Added a cross-reference from the USE_DEVFS variable
Placed a reference for more information on the variable into the
section of the dev-manual that explains how to choose a device
manager.

(From yocto-docs rev: 3f9b1329fe4794af03d673323d11558e85d9b097)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:50 +00:00
Pascal Bach
da47cb736b dev-manual: New section on choosing a device manager added.
This patch was modified to fit in with the style of the book.

(From yocto-docs rev: 7c6c7ac573f92bfc844977e0d7a97ca4aac9bc70)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:50 +00:00
Scott Rifenbark
a23e76dbce dev-manual: repaired cross-line link for a <ulink></ulink> pair.
These can't split lines.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:49 +00:00
Pascal Bach
b273c25857 ref-manual: Added USE_DEVFS variable description
(From yocto-docs rev: 0999c2811d3bf5a2e5998f81da91960ee4c9c855)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:49 +00:00
Scott Rifenbark
8bb0ffb09a ref-manual: Re-ordered the UPDATERCPN variable.
I had it out of order alphabetically.

(From yocto-docs rev: d766cc58dfe2581599815b76729c742034c910ef)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:49 +00:00
Scott Rifenbark
f972db3a04 dev-manual: Updates to the "Locate a Base Recipe" section.
Bob Cochran pointed out that the skeleton recipe shown in the
example is not really what is created by newbb.vim.  I updated the
example to match.

(From yocto-docs rev: 2dfa712522aec5204b9e739b6060109090280011)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:49 +00:00
Scott Rifenbark
c037dd7b4c dev-manual: Updates to the "Using .bbappend Files" section.
This section was a bit confusing on the use of "_prepend" as associated
with the FILESEXTRAPATHS statement.  Especially in the final note
where it indicated you don't need "_prepend" if your append file
is not adding any new files.  I updated the note to be more specific.

Another small change I made was to replace the Crown Bay BSP referenced
in the section with the Emenlow BSP, which has a longer life span than
CB.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 35bdc8031bc4ecf1ea321b0cafade97eeaa56513)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:49 +00:00
Scott Rifenbark
1e0797adfe documentation: Removed redundant ID tags that were throwing warnings
When you "make" the mega-manual, there were four tags across the
various manuals where the same string "id='intro'" occurred.  This
causes warnings during the make process.  I updated the strings to
be unique.  There are no cross-references to these so no collateral
issues were caused.

(From yocto-docs rev: d0e770e0ad797031a75e2373a41723408b4b051c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:49 +00:00
Scott Rifenbark
48559ff1de ref-manual: Review edits to several glossary variables.
I updated the following variables based on slight review changes
from Paul Eggleton:

 EXTRA_AUTORECONF - changed autoconf class to autotools
 KERNEL_IMAGE_MAXSIZE - Wording tweak
 AUTO_LIBNAME_PKGS - Wording tweak
 DEBIANNAME - [doc] string updated
 TCLIBCAPPEND - Second clarifying sentence in first para added
 PACKAGEGROUP_DISABLE_COMPLEMENTARY - [doc] string updated

(From yocto-docs rev: ff5c765ffab1cdf6fc8a007cebdf7114432f65ef)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:48 +00:00
Scott Rifenbark
63750d8c11 dev-manual: Updates to using IMAGE_FEATURES and EXTRA_IMAGE_FEATURES
The section "Customizing Images Using Custom IMAGE_FEATURES
and EXTRA_IMAGE_FEATURES" needed a bit more clarification on
the image features.  The text pretty much passed off image
features as all mapping into package groups, which is not true.
Some, like "debug-tweaks for example, are more like general
configurations.  I updated the section accordingly.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 7dd55ff0bd6f7923e22695ed7323df5cfe17d1d4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:48 +00:00
Scott Rifenbark
a0e84189ee bsp-guide: Added a clarifying not about meta- in BSP layer names.
This note provides a bit of a warning or tip regarding naming
BSP layers.  The letter of the law dictates that you don't
need to prepend a BSP layer name with the string "meta-".
However, scripts exist in OE where the naming convention is
assumed.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 0375349fdd3cd5ff8a54db8124d5cdc02133ff12)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:48 +00:00
Scott Rifenbark
73588fa725 dev-manual: Updated sysroot location for Eclipse examples.
Fixes [YOCTO #7029]

I was missing the "sysroots" part of the path.  I added this
to the pathname.

(From yocto-docs rev: 077efc8063ed01ef4067f7e71912dd52c1f6a4a6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:48 +00:00
Scott Rifenbark
261fd1bb25 bsp-guide: Replaced the Crown Bay example with the eMenlow.
Crown Bay is short on life so I swapped it out for the eMenlow.

(From yocto-docs rev: 6d5394c12a374463cb1d5215af88178b63a5b8c0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:48 +00:00
Scott Rifenbark
2bf21c2235 bsp-guide: Updated the output examples for bsp tools.
The yocto-bsp and yocto-kernel tool output for the examples
were updated to be current.

(From yocto-docs rev: a05b1df35c7518027b1eb73f9ea2b6a3d00dca43)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:48 +00:00
Scott Rifenbark
7d480c304a ref-manual: 13 new variables added to the glossary.
Added descriptions for the following variables:

 EXTRA_AUTORECONF
 KERNEL_IMAGE_MAXSIZE
 UPDATERCPN
 AUTO_LIBNAME_PKGS
 DEBIANNAME
 DEBIAN_NOAUTONAME
 TCLIBCAPPEND
 PACKAGEGROUP_DISABLE_COMPLEMENTARY
 CLEANBROKEN
 DISTRO_CODENAME
 BASE_WORKDIR
 DISTRO_FEATURES_DEFAULT
 DISTRO_FEATURES_LIBC

Part of adding new variables is checking to see if a previously
undocumented variable is used elsewhere in the manual.  One
occurrence was spotted and turned into a link for this list.

(From yocto-docs rev: bb75387b7aa4fcb0b594d300772952d81a651644)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:48 +00:00
Scott Rifenbark
b83c526667 Makefile: Modified to make 'pdf' target not part of 'all'
By default, making a file will not include the PDF version of the
manual.  Some manuals you can't do a PDF version anyway (i.e.
yocto-project-qs and mega-manual).  The PDF versions do not need
to be part of the mainstream make process.  If someone wants these
they can take the extra step of doing 'make pdf DOC=<manual>'.

(From yocto-docs rev: 16f605350adb1b252b94e921faf282d0634cefb6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:47 +00:00
Scott Rifenbark
e3180323f9 ref-manual: Updated the supported distro list.
Covering CentOs to 6.x and the debian stuff to 7.x

(From yocto-docs rev: fa7d6f138506b90330c52c1dbe3a56e40a34a97e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:47 +00:00
Scott Rifenbark
e1f4ba8cd7 poky.ent: Corrected two variables with typos
1. <!ENTITY ECLIPSE_INDIGO_CDT_URL "&ECLIPSE_DL_URL;/tools/cdt/releases/indigo">
2. <!ENTITY YOCTO_ECLIPSE_DL_URL "&YOCTO_RELEASE_DL_URL;/eclipse-plugin/">

(From yocto-docs rev: a0f66a35b365b7577a54e8a85a2b590f38b3c769)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:47 +00:00
Scott Rifenbark
d250d38974 documentation: Changed back to the "current" XSL style sheet.
I need to get back to how it was working and then fix the table
box issue from there.  Using the 1.76.1 stylesheets makes the
build too long for the manuals and sometimes the XSL sheets do
not load.

(From yocto-docs rev: 7bc502fa069fdc4aebf5705513bb82127716859f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:47 +00:00
Scott Rifenbark
66ad91bd54 dev-manual: Rewrite of the section on customizing images with packagegroups
This section was pointing to a poor example in meta.  I substituted
in a better example and rewrote the section to flow better around
that example and the final fabricated one.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: c7f07a2993d5c1b8e0c8b7da0e9d4c28242a5e26)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:47 +00:00
Robert P. J. Day
c8691a2d44 dev-manual, mega-manual: Updated kernel-overview-2-generic.png file.
There was a sample string in this tree that ended in "ro" when it
should have been "r0" (as in release 0). Anytime you update a figure,
the modified file must go in both the "figures" directory of both
the manual (dev-manual in this case) and in the mega-manual.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 8e75cc23fbf03f355fade416a12b7c8fe1e656a5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:47 +00:00
Robert P. J. Day
0cec924324 dev-manual: Applied wording to warn reader that wikis have dated info.
Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: ea4489f856417d70b54a7e38da32e068cbd54cbf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:46 +00:00
Robert P. J. Day
cd37517f97 dev-manual: Add ref to bitbake-layers "add-layer" and "remove-layer"
(From yocto-docs rev: aafc8f1da396a1838ce541706a8162a1493382b3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:46 +00:00
Pascal Bach
b7020b0bb8 dev-manual: Added missing ending quotation to code snippet.
(From yocto-docs rev: 7bf228dbf54e227a06dc69d701b9c83f9c6a2f3a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 15:16:46 +00:00
Alexandru DAMIAN
88f431cddf bitbake: toasterui: empty state for pages
Toaster needs to properly prompt the user and display
actionable help texts when the database is void of
meaningful information. This patch brings in the
"empty" states for pages.

[YOCTO #6755]

(Bitbake rev: 7cfe279bf77b59d5cbd20d8a93e1d33279bebc20)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 14:38:32 +00:00
Michael Wood
208f40dc05 bitbake: toaster: Set the machines page default pagesize to 100
This brings it into line with the all layers and targets pages

(Bitbake rev: 7c862ae4e3c3a00f2b37c2272007ce64304359bd)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 14:38:32 +00:00
Michael Wood
baa38a14c7 bitbake: toaster: Remove filtering from layers,machines and targets
The filter counts are unreliable so for consistency the filter feature
here is removed.

[YOCTO #7060]
[YOCTO #7052]

(Bitbake rev: ca5124d48d306921ac0f0499762ea5867644b0ef)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 14:38:32 +00:00
Michael Wood
c5ba5eccba bitbake: toaster: Remove Layer source from machines, layers and targets
From the bug: The layer source reveals too much of the implementation model,
without explaining what is going on behind the scenes. It will confuse more
than inform, so let's get rid of it.

[YOCTO #7302]

(Bitbake rev: 7fee378849c9518a4560aa5be65fca9644c03048)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 14:38:32 +00:00
Michael Wood
82d2c502c2 bitbake: toaster: New build button allow arbitrary build targets
Target input field needed to support both selecting suggestions and
typing targets, since Toaster doesn't always know about all the targets
provided by the layers in the project.

[YOCTO #7187]

(Bitbake rev: d753db7a18eb9218016e586171d2a08298a0b05d)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 14:38:32 +00:00
David Reyna
9819728e12 bitbake: toaster: Additional fixes for the project variable page
Fix IMAGE_FSTYPES, IMAGE_INSTALL_append, and DISTRO editing management, plus other usability details.

[YOCTO #7231]

(Bitbake rev: 58f19f1c3128c303fb8e5338c01f575418dc0b15)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 14:38:31 +00:00
Michael Wood
eba4e0f74a bitbake: toaster: layerdetails use new vcs reference api
Use the new layer_version api so that we return the vcs reference whether
that be the commit hash, branch name or the upstream branch to which the
layer is associated with.

[YOCTO #7192]

(Bitbake rev: fa6e6d5b18c8c6231ae8ac499d332298f551fd7d)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 14:38:31 +00:00
Alexandru DAMIAN
377526562d bitbake: toaster: fix git checkout command
This patch fixes the git checkout command that would fail to
properly rebase the working tree in some cases.

[YOCTO #7309]

(Bitbake rev: 25640851c8f8459741d2c423b2bb54f9f59a536a)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 14:38:31 +00:00
Alexandru DAMIAN
a07cf2e50c bitbake: toaster: properly detect failed server start
This patch brings in reading the server log if the server
fails to start. This is the first step in displaying the errors
in a manner that is actionable by the user.

[YOCTO #7285]

(Bitbake rev: 7f47b67bccff55673a827dbcccc767af4459c933)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 14:38:31 +00:00
Michael Wood
d8d0db1701 bitbake: toaster: Use on input event for validation rather than keyup
Avoid using keyup event to trigger form validation as this won't fire
for events such as pasting or autofill from the browser.

[YOCTO #7292]

(Bitbake rev: 2060be8d31baa0cd302aa8dc0b6d179df853ee99)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 14:38:31 +00:00
Paul Eggleton
fdb5639e90 lib/oe/package_manager: support exclusion from complementary glob process by regex
Sometimes you do not want certain packages to be installed when
installing complementary packages, e.g. when using dev-pkgs in
IMAGE_FEATURES you may not want to install all packages from a
particular multilib. This introduces a new PACKAGE_EXCLUDE_COMPLEMENTARY
variable to allow specifying regexes to match packages to exclude.

(From OE-Core rev: d4fe8f639d87d5ff35e50d07d41d0c1e9f12c4e3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 14:20:45 +00:00
Martin Jansa
3d2d158e34 test-dependencies.sh: strip only .bb suffix
* we were stripping too much when stripping recipe name from line like this:
  ERROR: Task 12016 (/some/patch/something.dot.bar.bb, do_fetch) failed with exit code '1'
  where the recipe name contains dots and doesn't end with _<version>.bb

(From OE-Core rev: 8c9a25ae70d249b823ab2b0385d539eb8bbc1374)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 14:20:45 +00:00
Peter A. Bigot
3f8c532e6d qt-mobility: select distro preference for bluez provider
(From OE-Core rev: 47d31abef49494b408f6ba004638bac007782947)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:40 +00:00
Bian Naimeng
9571ccb2dd iputils: install clockdiff same as ubuntu and fedora
(From OE-Core rev: f15ca5902e5feead3848d01599f3c75e3c450087)

Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:40 +00:00
Richard Purdie
508509d150 populate_sdk: Handle OLDEST_KERNEL
Add a check to the SDK so that it only runs on systems with kernel versions
it supports.

[YOCTO #6856]

(From OE-Core rev: b4caa8085aa15674162ff5135b13409998db9510)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:39 +00:00
Richard Purdie
d8d5feee2a default-providers: Set the preferred provider for bluez based on version
bitbake will currently 'selecting bluez4 to satisfy runtime
libasound-module-bluez due to PREFERRED_PROVIDER_bluez4 = bluez4'
which in the case of bluez5 isn't correct.
This slightly unusual construct avoids this.
Ultimately this is a bitbake issue that needs fixing in
a better way but this means we can merge the bluez5 changes
until bitbake gets fixed.

(From OE-Core rev: ef41f4b91d65f87850edd6cc56ca37d2ecb56378)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:39 +00:00
Peter A. Bigot
8633e18d28 connman: depend on distro provider of bluez
connman currently supports both bluez4 and bluez5 without distinguishing
them at configuration time.

(From OE-Core rev: 420ab90167e434d6972702c44271104881f08fc9)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:39 +00:00
Cristian Iorga
7800588e99 conf/distro/include/default-providers: updated bluez-hcidump providers
If BlueZ5 is added to a build as a replacement for BlueZ4,
the provider for bluez-hcidump will be bluez5.

(From OE-Core rev: 11354dd5b8e4a6005dff6d52eeb7aae59a9c3ac3)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:39 +00:00
Peter A. Bigot
44b08f2dff gstreamer1.0-plugins-bad: select distro preference for bluez provider
(From OE-Core rev: c8063dd66369dfc2fcb3e2dc27929a8aa5e4c74a)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:39 +00:00
Peter A. Bigot
4e2642e449 ofono: select distro preference for bluez provider
(From OE-Core rev: acb49c962be8c3fd7136d8d03f3be55f713cf9f0)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:39 +00:00
Peter A. Bigot
8596c29d2d libpcap: select distro preference for bluez provider
(From OE-Core rev: 4c2a993735b668c6fbe9889a910dfa07b65cdff3)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:39 +00:00
Peter A. Bigot
47dea14069 neard: select distro preference for bluez provider
(From OE-Core rev: 33b3164c2627d20315ff716e7d78ced86871c472)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:39 +00:00
Peter A. Bigot
0a4db94942 pulseaudio: select distro preference for bluez provider
(From OE-Core rev: 2da39b9c6ee7019a88b962ec30980221f2b966c1)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:38 +00:00
Peter A. Bigot
0c9d0e964e packagegroup-base: select distro preference for bluez provider
(From OE-Core rev: 08d7e1e96270006ad74a281ff8b91d8dab50662a)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:38 +00:00
Peter A. Bigot
1139cc4eef bluetooth.bbclass: simplify recipe inference of bluetooth provider
Defines ${BLUEZ} to be the provider of bluez services as specified by
DISTRO_FEATURES.

Example recipe fragment:
  inherit bluetooth
  PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}
  PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4"
  PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5"

[YOCTO #5031]

(From OE-Core rev: 045484283530bced19bb1d3aea229c8f138f510a)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:38 +00:00
Richard Purdie
69c5e0992d libtool: 2.4.5 -> 2.4.6
Drop patch merged upstream.

(From OE-Core rev: cd03ef79b50ed42b9d407ee45fc3e3321385281c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:38 +00:00
Andre McCurdy
ad8250868f neon: update 0.30.0 -> 0.30.1
pkgconfig.patch needed a minor refresh due to the following fix for
static linking using neon.pc being merged upstream:

  http://lists.manyfish.co.uk/pipermail/neon/2013-October/001568.html

(From OE-Core rev: f02b33329bd382d66756ad01292daa9441a79742)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-17 13:43:38 +00:00
Aníbal Limón
6ae933b75c bitbake: tests/fetch.py: latest_versionstring add set of PN
Add set of PN in data because now latest_versionstring use it for
validate version directory searching.

(Bitbake rev: 2e4a03db967ac1459b2764108fc54c4566a7e371)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-16 09:13:06 +00:00
Aníbal Limón
1c1d9e3beb bitbake: fetch2: wget remove scape of - in regexes don't needed
(Bitbake rev: 8fa43245351f3ec0a5007b2742c08b7ef98e7879)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-16 09:13:06 +00:00
Aníbal Limón
5a88664b22 bitbake: fetch2: wget _modelate_version improvments
Fix sustition for rc, beta and alpha releses from -N to N weight.

(Bitbake rev: 63a9e60a6d80cfd2693ec1a6359785dc19f98e1f)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-16 09:13:06 +00:00
Aníbal Limón
22cebb87b7 bitbake: fetch2: wget latest_versionstring improvments in get version by dir
Add support for scan every version directory using _check_latest_version
makes code more robust because sometimes upstream projects publish
new directories without files, causing don't find version.

To support this new behaviour remove _check_latest_dir and replace for
_check_latest_version_by_dir,

(Bitbake rev: 1a75b3707743c32eec9d2cf566fb6bbea9f73784)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-16 09:13:06 +00:00
Aníbal Limón
62e171b721 bitbake: fetch2: wget add _check_latest_version_by_dir
Add _check_latest_version_by_dir this function provides support
for scan every directory newer than current dir in order to get
latest_versionstring, example:

	http://somedoamin.com/project/v2.1/
	http://somedoamin.com/project/v3.0/

Change return of _vercmp from True/False to -1/0/1 to provide test
when current directory is equal to newer directory this helps to
scan the same directory to get minor versions, example:

	http://somedoamin.com/project/v2.1/project-v2.1.2.tgz
	http://somedoamin.com/project/v2.1/project-v2.1.6.tgz

(Bitbake rev: 5f7c5eb218a221165f59a0f4dd48d2d97f756193)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-16 09:13:06 +00:00
Aníbal Limón
309d92efde bitbake: fetch2: wget latest_versionstring _check_latest_version improvments
In order to reduce code duplication now compile package_regex in
_init_regexes instead of make this decision at _check_latest_version,

(Bitbake rev: e7284e3ad0e7dd91ed59dfbf8450ef62e89c7e54)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-16 09:13:05 +00:00
Aníbal Limón
bed1b3f47e bitbake: fetch2: wget latest_versionstring improve _parse_path
Add support for get group only if exist in regex, this enables to use
this function in _check_latestversion regardless if the regex is generic
or specified by REGEX_URI.

(Bitbake rev: 1127af5b8c458929c4685b0326f86870ed09442e)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-16 09:13:05 +00:00
Paul Eggleton
c4da9b949a bitbake: cooker: rework LAYERDEPENDS versioning so that it is actually useful
We've had versioned dependency support in LAYERDEPENDS for quite a long
time, but I can say with pretty good certainty that almost nobody has
used it up to now because it was too strict - the specified version had
to exactly match the version in your configuration or you would get an
error; there was no "greater than or equal" option, which is usually
what you will want given that LAYERVERSION does get bumped from time to
time.

However, users mismatching layer branches and then having their builds
fail later on with some incomprehensible error is still a pretty common
problem. We can't simply use the git branch because not everyone is
always on a branch and the branch names don't always match up (and
that's not an issue). To provide a practical means to address branch
mismatching, I have reworked LAYERDEPENDS version specifications to use
the more familiar "dependency (>= version)" syntax as used with package
dependencies, support non-integer versions, and clarified the error
message a little. If we then take care to bump the version on every
breaking change, it is at least possible to have layers depend on these
changes when they update to match; we can now even support a major.minor
scheme to allow retrospectively adding a version limiter to old branches
when a new branch is created and yet still allow the old branch minor
version to be bumped if needed.

Fixes [YOCTO #5991].

(Bitbake rev: 408be9cdf2b1e32e64ea488d8051a546fb54c144)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-16 09:10:42 +00:00
Paul Eggleton
758dc92abd bitbake: tests: add tests for OE pre-release version formatting
This scheme is used for versioning recipes that are pre-release (alpha,
beta, etc.) within OpenEmbedded, so add some tests to ensure the
appropriate comparison results still hold true.

(Bitbake rev: 3a9eefe27f29a4593d6298f0427ac5f3e9183377)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-16 09:10:42 +00:00
Paul Eggleton
93c3f3922c bitbake: utils: ensure explode_dep_versions2 raises an exception on invalid/missing operator
We really want an error rather than the version to just be silently
skipped when the operator is missing (e.g. "somepackage (1.0)" was
specified instead of "somepackage (>= 1.0)".)

(Bitbake rev: b6dc946f477adc40d68da16e2f2580cb3b4a10db)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-16 09:10:42 +00:00
Maxin B. John
b427750a5d bitbake: depexp.py: Fix segfault if DISPLAY is not set
bitbake -g -u depexp <package> segfaults when DISPLAY is not set
properly. Fix it with a proper check.

[YOCTO #7299]

(Bitbake rev: f35e9bd7b59c180fe9a3d9177efb57b92d9cd373)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-16 09:09:43 +00:00
Robert Yang
a2bfd4b1fb syslinux: support ext2/3/4 device
* Support ext2/3/4 deivce.
* The open_ext2_fs() checks whether it is an ext2/3/4 device,
  do the ext2/3/4 installation (install_to_ext2()) if yes, otherwise go
  on to the fat/ntfs.
* The ext2/3/4 support doesn't require root privileges since it doesn't need
  mount (but write permission is required).

Next:
* Get rid of fat filesystem from the boot image.

These patches have been sent to upstream, we may adjust them (maybe put
the extX support to syslinux-mtools), I will go on working with the
upstream.

(From OE-Core rev: d5af8539c0a1718a7254bcdcfa973e3c887dfbd6)

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-02-15 21:58:29 +00:00
Richard Purdie
06ff3c420c e2fsprogs: Extend to add nativesdk for syslinux
(From OE-Core rev: 96ca20db0f4e06a5298f706b30313079af54f1bc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:29 +00:00
Khem Raj
a55d5374e0 gcc: Upgrade 4.9.1 -> 4.9.2
Delete backported patch which are present in 4.9.2

backport patched from upstream gcc trunk to fix

[YOCTO #6824]

Change-Id: Ia0067940471d4c5d9d62089bf6f18f3a9c2bfedd
(From OE-Core rev: bdd8d7db74ad6927cd54f38c3e87246a36b2c319)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:29 +00:00
Richard Purdie
18b3cfdf4c gst-plugins-base: Fix mulitlib packaging
Updated FILES to contain MLPREFIX since this is a dyanmic assignment
and cannot automatically be fixed.

ERROR: QA Issue: lib32-gstreamer1.0-plugins-base: Files/directories were installed but not shipped
  /usr/share/gst-plugins-base/1.0/license-translations.dict [installed-vs-shipped]

(From OE-Core rev: 178cacf6d8b664cce64c29117c30df4546e7c917)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:29 +00:00
Maxin B. John
d88555ba64 openssl: upgrade to 1.0.1k
Upgrade includes 8 CVE bug fixes

(From OE-Core rev: 5dc197f0b2a088d8a88480da0afc886c745f551b)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:28 +00:00
Lucian Musat
4c00256dd9 oeqa/ptest: Removed buildhistory as requirement for ptest
(From OE-Core rev: 990c0048fc7fe363b679943fe0ed0434645711d9)

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-02-15 21:58:28 +00:00
Andreas Müller
c74ee53d61 libassuan: add native build
libassuan-native is required for gpgme-native - introduced in next patch

(From OE-Core rev: 3a3b41690fed1d20c13cf76b0c0bd424008adef1)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:28 +00:00
Andreas Müller
cd34df3c4b gpgme: fix configuration by setting proper parameters instead of patching
(From OE-Core rev: ea4c80098d9fc938e77991b4fcd09c09d0032efb)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:28 +00:00
Lucian Musat
6cac3ad6fa oeqa/smart: Added some new test cases
(From OE-Core rev: 945cdab87ed247524059183e1376923a8655069c)

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-02-15 21:58:28 +00:00
Randy Witt
c0a79410b9 build-compare: Add the build-compare_git.bb recipe.
The description for build-compare describes it as "This package contains
scripts to find out if the build result differs to a former build." More
specifically this contains a script that will display differences between
"packages." It works with rpms, tarballs and other various types of
packages.

The idea is that it will eventually be used in Yocto to check for differences
between sstate so that we can check for build reproducibility. It will
also be used once an updateable sdk is in place, so that packages that
have different hashes but are not different in contents, don't get updated.
It could also be used in the same manner when updating packages from a
package feed.

[Yocto #6992]

(From OE-Core rev: 48387f0c0c4cccc8bc89afd121b7d8315475964a)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:28 +00:00
Robert Yang
c0a1f43aad coreutils 6.9: fix unknown-configure-option
Fixed:
WARNING: QA Issue: coreutils: configure was passed unrecognised options: --disable-acl [unknown-configure-option]

It doesn't support --enable-acl or --disable-acl, use
ac_cv_header_acl_libacl_h to fix the problem.

(From OE-Core rev: 1fc671938b2389866fb4a36801698caf4e92e05d)

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-02-15 21:58:28 +00:00
Kai Kang
ce79eca89f libnewt-python: remove make var LIBNEWTSH
Var LIBNEWTSH which points to libnewt.so in STAGING_LIBDIR is passed to
make. But during do_compile, LIBNEWTSH is rebuilt. Check the log that
gcc populates file into STAGING_LIBDIR directly:

i586-poky-linux-gcc  -m32 -march=i586
--sysroot=/poky/builds/build/tmp/sysroots/qemux86 -shared -o
/poky/builds/build/tmp/sysroots/qemux86/usr/lib/libnewt.so.0.52.18
...

It is not a proper operation export file into STAGING_LIBDIR during
compile. So remove the var LIBNEWTSH.

(From OE-Core rev: 9963b22acacbe49bffd7ebdeb72c45280e687385)

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-02-15 21:58:28 +00:00
Andre McCurdy
dc9c8bcda8 icu: remove obsolete aclocal.m4 workaround (fixed upstream since v52.1)
Patch also includes some minor formatting cleanup of icu.inc.

(From OE-Core rev: 0d5103997afef773376df01260f0d52555e2a9cd)

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-02-15 21:58:27 +00:00
Nathan Rossi
abb6cdef94 libaio: Backport generic arch detection patch
* Backport the patch which adds generic architecture detection
* Remove the no longer required patch to fix padding for mips64

(From OE-Core rev: 699da7aff18c8b7630dd6da7323081a25ba7a9c2)

Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:27 +00:00
Robert Yang
60ae5c2eb0 meta: enable parallel build for several recipes
I used a for loop to build these packages more than 520 times, these
recipes never failed.

(From OE-Core rev: 7957c5bc2771a763d26e50e716733c6335cef3c2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:27 +00:00
Robert Yang
eee50b24ee vala.bbclass: enable PARALLEL_MAKE
The midori is built well now.

(From OE-Core rev: 445135f4fdd5878a0660029d0876aec51f971e20)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:27 +00:00
Robert Yang
eacb5c54ce pcmciautils: fix and enable parallel build
(From OE-Core rev: 2f7ae00803bec32dabb75ece86b6d4a858e512d1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:27 +00:00
Robert Yang
8d30c2a0b3 ghostscript: fix and enable parallel build
(From OE-Core rev: 065f4034698caaaab9c8076d3c7e4ebafb8a9353)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:27 +00:00
Robert Yang
2d9763a1c8 blktrace: fix and enable parallel build
(From OE-Core rev: 521ec7e979409f213cd98ed6015fdba2fce89243)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:27 +00:00
Robert Yang
7502fa5feb openssl: fix and enable parallel build
Fixed:
Cannot create directory image/usr: File exists
make: *** [install_sw] Error 17

Create /usr to avoid race issues.

(From OE-Core rev: a831cbe6cce67396148b41d56cbc12f99a972bd1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:27 +00:00
Robert Yang
60b33e5b93 pth: fix and enable parallel build
(From OE-Core rev: 38cbca47bb6cf5bb2c399c665520c1e207eb6734)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:26 +00:00
Robert Yang
5f5d0d872e mtools: fix and enable parallel build
Fixed do_install error:
mkdir: cannot create directory `/path/to/image/usr': File exists
mkdir: cannot create directory `/path/to/image/usr/share': File exists

(From OE-Core rev: 4ec82250945bc8e2f3e8d246bcba2cfede933773)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:26 +00:00
Robert Yang
208c9d39d7 at: fix and enable parallel build
(From OE-Core rev: 5ede7b9d3132801b9af76efb8612826af16d82f9)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:26 +00:00
Robert Yang
5c87de13cb tcp-wrappers: fix and enable parallel build
(From OE-Core rev: 3aa806eaae34ea6261816c5300ec4869ffc05c2e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:26 +00:00
Robert Yang
b003df0335 bind: fix and enable parallel build
(From OE-Core rev: af851c7cdeab0ef53f00866da3da1a96b96bd63a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:26 +00:00
Nathan Rossi
3dff11ca2c openssl: Add mapping for microblaze architecture
Map the microblaze architecture to the linux-generic32 target.

(From OE-Core rev: 7ea1979f687777bcafec393b6ab126ec11017074)

Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:26 +00:00
Robert Yang
f562905ceb btrfs-tools: remove nodocs.patch
It isn't used anymore, the docs is disabled by DISABLE_DOCUMENTATION=1.

(From OE-Core rev: 89dddaf7c763f7bf6236857a6638efc2cb93b78e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:26 +00:00
Robert Yang
f404ab2563 neard: do not ship version.h
The HEADERS' name has been changed to pkginclude_HEADERS, so use
nodist_pkginclude_HEADERS, otherwise version.h would be shipped.

It would cause other pkgs failed to build if ship version.h to
usr/include/version.h

(From OE-Core rev: 2025284acf8999d254c671b5e259587a4171858f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:26 +00:00
Robert Yang
146f28ad19 gcc-sanitizers: check gcc-build-internal before link
The ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$mtarget may not exist
when use the external sdk toolchain, we need check before link for it.

Fixed:
run.do_configure.12538: 149: cd: can't cd to sysroots/x86_64-linux/usr/include/gcc-build-internal-x86_64-wrs-linux

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

(From OE-Core rev: 82166e514438eb1b562f2a4dc2f9f8fecf3f60df)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:25 +00:00
Robert Yang
88ad298e77 rt-tests: fix gzip command
The "-c" doesn't work in command "gzip file -c", need use "gzip -c file"

(From OE-Core rev: ee152cb5f83c76d81e199dbb7861712a3797f400)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:25 +00:00
Robert Yang
b3dab28e5b libtool: don't execute automake and autoconf on every invocation
From the origin commit message:
Regression from 2.4.2 was causing noticable slow-down in builds
that call libtool many times.
* build-aux/ltmain.in (func_help): Override func_help() from
gl/build-aux/options-parser to only run automake --version and
autoconf --version when libtool --help is executed on the command
line.

(From OE-Core rev: 9fd23c9ac03143b578559bb79995f2655c81ccc8)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:25 +00:00
Robert Yang
00472a77c5 Revert "libtool: avoid running automake/autoconf --version"
This reverts commit 1f53edeaf9.

There is a better fix on upstream, will backport it.

(From OE-Core rev: 600c9bb271a47674876b029a6a58ffac08add8ed)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:25 +00:00
Peter A. Bigot
ef072602ea bluez5: upgrade to 5.28
- Fixes to GATT service discovery & probing
- Fix for bearer selection with dual-mode devices
- Fix potential crash when removing devices
- Fix issue with incomplete names in EIR data
- Fix parsing GATT name characteristics
- Fix AVCTP long press & key repetition handling
- Fixes for GATT notification handling

hex2hcd graduated to installed tool; two new noinst tools

See: http://www.bluez.org/release-of-bluez-5-28/
(From OE-Core rev: c8da28df187b22f1260b0f806854e8c357bccde4)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:25 +00:00
Cristian Iorga
51b6021179 ofono: upgrade to 1.16
- Fix issue with PIN retry handling;
- Fix issue with HFP and multiple calls;
- Add support for Distracted Driving Reduction;
- Add support for available technologies property;
- Add support for Telit location reporting driver;
- Add support for u-blox SARA-U270 modems;
- Add support for Quectel UC15 modems.

(From OE-Core rev: b3e7ecc75f5a2b0cf6dde03fb7b2972e89457c0d)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:25 +00:00
Richard Purdie
7d1e1fc6b6 python-pycurl: 7.19.5 -> 7.19.5.1
(From OE-Core rev: a95c7fe895583fc145300d739d0bcac30626c588)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:25 +00:00
Richard Purdie
7b72a848c8 python-scons: 2.3.2 -> 2.3.4
(From OE-Core rev: 3e924fafab2ad407a51a0bb19be9faf281b766c9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:25 +00:00
Richard Purdie
ca88dd86f3 lttng-tools: 2.5.3 -> 2.6.0
(From OE-Core rev: 4317e4269da08b1a1e7adbc60fc18e3d280786fe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:24 +00:00
Richard Purdie
6d247ebaa8 libpciaccess 0.13.2 -> 0.13.3
(From OE-Core rev: ca6240e30e6ba9cbff20ff46cac6512416964b66)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:24 +00:00
Richard Purdie
6f471485a8 lttng-ust: 2.5.2 -> 2.6.0
(From OE-Core rev: 2279700bf90e27c08595d433a26425bcc0c7ba9a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:24 +00:00
Richard Purdie
8b54cb7e96 subversion: 1.8.10 -> 1.8.11
(From OE-Core rev: 6218b590e02afc346b473e62ee4e4624b677cacf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:24 +00:00
Richard Purdie
1aa6b041f7 kexec-tools: 2.0.8 -> 2.0.9
Adjust the patch since it was partially applied upstream (in
a different form) but not completely since the ppc specific
part was not applied.

(From OE-Core rev: d397ba39e6a5a7d42641d489917033c779816a1a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:24 +00:00
Aníbal Limón
2e608ecd1c package_regex.inc: Cleanup and organize
Removed unnecesary entries because now are supported by latest_versionstring
method of bitbake fetcher.

Organized regex'es into categories,

    - REGEX that are special cases.
    - REGEX_URI's for upstream site that don't provide get (403, 404,
      550) support.
    - Python PyPI site and Sourceforge site.
    - GIT REGEX'es that are special cases.

(From meta-yocto rev: fb85931362cdc125115128c706f7e4d18e9fe887)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 10:02:39 +00:00
Aníbal Limón
73f7ced9b7 upstream_tracking.inc: Remove entries that now isn\'t needed
Remove manual upstream tracking entries that isn't needed because
now there are supported by latest_versionstring method.

(From meta-yocto rev: a1932069696a3f9149d6f4bc006c413a8f6eec6f)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 10:02:38 +00:00
Saul Wold
b7153be8ca image: add new items to IMAGE_FEATURES[validitems] list
Add the new items to the validitems list, this is fully tested, initial testing
had been done with a local change that did not make the original commit request

[YOCTO #7308]

(From OE-Core rev: 6e48bc5fbd834f19bdcac17007d27a750cc5f331)

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-02-14 08:41:02 +00:00
Ross Burton
5476ce3d74 gstreamer-plugins: don't ship files in ${PN}
${PN} generally should be empty as every file the GStreamer packages ship is
owned by a particular plugin or library, so enforce this behaviour by unsetting
FILES_${PN}.

(From OE-Core rev: 4ea74059981bb4f22c55c75d9d9291f83227d609)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:02 +00:00
Ross Burton
f7495943c1 gst-plugins-good: ship equaliser presets in right package
The equaliser presets were packaged into ${PN} which was rarely installed, so
move the files to the right subpackage.

(From OE-Core rev: 929566a5f9c53ee08fc27925dc4a3f1bd4b0021e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:02 +00:00
Ross Burton
8df03f407f gstreamer1.0-plugins-good: ship equaliser presets in right package
The equaliser presets were packaged into ${PN} which was rarely installed, so
move the files to the right subpackage.

(From OE-Core rev: 91811bd26740a583b5111e4754e1d462793ca30c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:02 +00:00
Ross Burton
bfb4819480 gstreamer1.0-plugins-base: move data to the right subpackage
The libgsttag library has a data file that was packaged in
gstreamer1.0-plugins-base, so was never actually installed.

(From OE-Core rev: 01977ba4adb30a403cbbd43142a1edc38b2bc429)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:01 +00:00
Cristian Iorga
34221ef141 gst-plugins-*, gstreamer1.0-plugins-*: fix main package binary components
Users often install the main package thinking it will bring in
all of the individual plugin packages, not realising that the
-meta package exists. Since the main package isn't currently
used for anything else, it would make more sense to just make
installing the main package install all of the plugins.
To do this in a manner that doesn't break any upgrade paths,
just add a dependency from the main package on the -meta
package for all of the gstreamer plugin recipes.

Fixes [YOCTO #5589].

(From OE-Core rev: 8e1009a3b128c9a00c183f89f98d9458f21cf6c0)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:01 +00:00
Paul Eggleton
1920ef31f3 oe-pkgdata-util: add some QA tests
Test each of the subcommands that this utility provides.

(From OE-Core rev: 725526139debf12d115fada6bd465a297e169080)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:01 +00:00
Paul Eggleton
cfc12dfc34 oe-pkgdata-util: add list-pkg-files subcommand
Adds a subcommand to list the files in a package, or list the files in
all packages for a recipe.

(From OE-Core rev: 380218d7b963e8931c72596852b1ed2a7f4df61d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:01 +00:00
Paul Eggleton
8d13d187b5 oe-pkgdata-util: add list-pkgs subcommand
Add a subcommand to list packages, with options to list packages
matching a specification, and packages produced by a particular recipe.

(From OE-Core rev: a6791526fec5b78ddefcf1b6b828bd376d0f2bc0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:01 +00:00
Paul Eggleton
4b33006379 oe-pkgdata-util: allow reverse package name lookups
Add a -r/--reverse option to the lookup-pkg subcommand to enable looking
up the recipe-space package name for one or more runtime package names.

Also make this subcommand into a function that can be reused elsewhere.

(From OE-Core rev: f0af7471e688047c7bac5130457e5f9cc2fd5107)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:01 +00:00
Paul Eggleton
0f77efe9ae oe-pkgdata-util: fix read-value to handle data with colons in the value
The read-value subcommand was truncating the value if it contained
colons, for example FILES_INFO.

(From OE-Core rev: 77411c775c4bf3fa7897985916c2d4a4af2dda47)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:01 +00:00
Paul Eggleton
1fb1caf15c oe-pkgdata-util: make find-path show a proper error if no package found
(From OE-Core rev: e13e53a30372a4cb3eabdb1b2199ff64c3e85cc3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:01 +00:00
Paul Eggleton
9f03969994 oe-pkgdata-util: improve command-line usage
* Use argparse instead of optparse for standardised help output, options
  and a much cleaner code structure
* Look up pkgdata directory automatically so the user doesn't have to
  specify it
* Use standard logging

NOTE: this does mean a slight change in syntax - if you do want to
specify the pkgdata directory (usually only necessary if you're calling
it from within the build process) you need to use the parameter -p (or
 --pkgdata-dir) and specify this before the command, not after it.

Examples:

oe-pkgdata-util find-path /sbin/mke2fs
oe-pkgdata-util lookup-recipe libelf1
oe-pkgdata-util read-value PKGSIZE libc6
oe-pkgdata-util -p /home/user/oe/build/tmp/sysroots/qemux86-64/pkgdata read-value PKGSIZE libc6

(From OE-Core rev: 04dc571ac7c26f0dcf1a1fcd466482e22519998d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:01 +00:00
Paul Gortmaker
675aa5f57a git: add basic tab completion support
Trying to use git w/o tab completion is especially annoying if
you are used to using it elsewhere -- "whatchanged" is simply
too annoying to type out in full more than once.

(From OE-Core rev: 3c5285237dece0af594e74926e6f4f02ca81f715)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:00 +00:00
Paul Gortmaker
9aafb02831 git: expand recipe to take advantage of pre-gen'd manpages
These could be created from scratch from git itself, but it
requires asciidoc, xsltproc, python bits and too much other
baggage.  Since the git folks issue a tarball with the manpages
for each release, it is simpler to just go get that.

(From OE-Core rev: 9aba4bf2143c228d58aac06764f87ace5dd21d02)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:00 +00:00
Saul Wold
af7fc22af0 lib/oe/lsb.py: Fix up for dash
Remove the leading -e when using dash which does not use -e with echo

(From OE-Core rev: 105280d58f7be50e5aee6a33ef1aa89dd6485cbf)

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-02-14 08:41:00 +00:00
Saul Wold
842a33219e image_types: Error out if BTRFS image is too small
[YOCTO #6804]

(From OE-Core rev: 14a1c035ba654aff1ec09d884f0b0acf7b83ab79)

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-02-14 08:41:00 +00:00
Ricardo Ribalda Delgado
e34a65f6d5 cryptodev-module: Fix build on kernel v3.19
Kernel commit f938612dd97d481b8b5bf960c992ae577f081c17 removes the get_unused_fd_macro().
This patch replaces the macro with its output.

| NOTE: make -j 8 KERNEL_DIR=/home/ricardo/curro/qtec/qt5022/build-qt5022-cesium/build/tmp/sysroots/qt5022/usr/src/kernel PREFIX=/home/ricardo/curro/qtec/qt5022/build-qt5022-cesium/build/tmp/work/qt5022-poky-linux/cryptodev-module/1.6-r0/image KERNEL_PATH=/home/ricardo/curro/qtec/qt5022/build-qt5022-cesium/build/tmp/sysroots/qt5022/usr/src/kernel KERNEL_SRC=/home/ricardo/curro/qtec/qt5022/build-qt5022-cesium/build/tmp/sysroots/qt5022/usr/src/kernel KERNEL_VERSION=3.19.0-qtec-standard CC=x86_64-poky-linux-gcc  LD=x86_64-poky-linux-ld.bfd  AR=x86_64-poky-linux-ar
| make -C /home/ricardo/curro/qtec/qt5022/build-qt5022-cesium/build/tmp/sysroots/qt5022/usr/src/kernel SUBDIRS=`pwd` modules
| make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
| make[1]: Entering directory '/home/ricardo/curro/qtec/qt5022/build-qt5022-cesium/build/tmp/sysroots/qt5022/usr/src/kernel'
|   CC [M]  /home/ricardo/curro/qtec/qt5022/build-qt5022-cesium/build/tmp/work/qt5022-poky-linux/cryptodev-module/1.6-r0/cryptodev-linux-1.6/ioctl.o
| /home/ricardo/curro/qtec/qt5022/build-qt5022-cesium/build/tmp/work/qt5022-poky-linux/cryptodev-module/1.6-r0/cryptodev-linux-1.6/ioctl.c: In function 'clonefd':
| /home/ricardo/curro/qtec/qt5022/build-qt5022-cesium/build/tmp/work/qt5022-poky-linux/cryptodev-module/1.6-r0/cryptodev-linux-1.6/ioctl.c:532:2: error: implicit declaration of function 'get_unused_fd' [-Werror=implicit-function-declaration]
|   ret = get_unused_fd();
|   ^

(From OE-Core rev: 83643dc4edb9c7656726302b92fb22d1c8652dac)

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-02-14 08:41:00 +00:00
Aníbal Limón
ae977c5efc xserver-xorg: Improvments in systemd-logind disable
Add packageconfig for systemd-logind instead of hard disable in
EXTRA_OECONF this allows users to use packageconfig also add
dependency of dbus because systemd-logind require it for communicate
with systemd.

(From OE-Core rev: ce4035ee635decab83e08a8c77ae7b077a029096)

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-02-14 08:41:00 +00:00
Aníbal Limón
84520a9c87 xserver-xorg: Update to 1.16.3
(From OE-Core rev: 41f7bed4873384424a869aa70240cc36dd51b734)

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-02-14 08:41:00 +00:00
Paul Gortmaker
1cdaf20570 base-files/profile: change EDITOR to not be busybox specific
Setting "EDITOR=/bin/vi" breaks on non-busybox systems, as
vim will populate /usr/bin/vi instead, and you get stuff like:

  op3:~/poky/meta-builder$ git commit -s
  error: cannot run /bin/vi: No such file or directory
  error: unable to start editor '/bin/vi'
  Please supply the message using either -m or -F option.
  op3:~/poky/meta-builder$ which vi
  /usr/bin/vi
  op3:~/poky/meta-builder$

Since we've already specified a proper path above in the profile,
we've no need to call out where in the path vi lives, and hence
this will work with busybox and a full vim install w/o busybox.

(From OE-Core rev: dcdaa651f3180e4561d7d08f56bfb29f35f2085f)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:00 +00:00
Denys Dmytriyenko
34a4413ef7 u-boot: update to version 2015.01
(From OE-Core rev: 62052810dbf3ed19697078a48b617bfbdadf2a29)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:59 +00:00
Paul Gortmaker
1993237a90 procps: disable fancy new top output mode
General consensus is that the new output format, with the all red
colour and one line per core is too fugly to be left as the default.

Use the configure option to switch it back to the sane default that
we've all become used to seeing for decades.

(From OE-Core rev: e6f57ae4cfad51107a8723cc42aec1ad2fc4c7da)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:59 +00:00
Cristian Iorga
9e93803372 connman: upgrade to 1.28
- Fixes an issue with DHCPv6 retransmission timer
calculation that causes system load to jump to 100%;
- All WiFi P2P issues encountered with Miracast have been addressed;
- ConnMan no longer hands off foreground autoscanning to
wpa_supplicant as it causes issues when finding hidden WiFi networks;

Other changes and fixes include:

- Several fixes for handling IPv6 contexts via oFono;
- Fix memory deallocation in exit code paths;
- Use OPEN auth_alg for wpa_supplicant open WiFi networks;
- A WiFi Access Point with unknown strength now has a proper
minimum value which translates to a service 'Strenght' property of 30;
- Fix byte order in DHCP server identifier;
- Properly cancel an ongoing service connect if the Agent exits.

(From OE-Core rev: fa718d0d2d74893bf8e532a132f8ede26552d2be)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:59 +00:00
Cristian Iorga
c22ba2d36a harfbuzz: upgrade to 0.9.38
(From OE-Core rev: 99eacbfd677e6c7637d3183117591e098bbe0dde)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:59 +00:00
Alexandre Belloni
8102bd0172 wic: add GPT support
Add GPT partition table support.

(From OE-Core rev: a3479ab45d89273b4474ca54517554fc5346da32)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:59 +00:00
Alexandre Belloni
fa818fbb7b wic: properly label filesystems
Use the partition label option, when available, to label the filesystem.

(From OE-Core rev: 93e2de4f4b71775d70ac2ccb7e2d26ca95b96186)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:59 +00:00
Alexandre Belloni
5c056356bc wic: fix empty btrfs partitions
btrfs emtpy partition creation is currently not working because of the
usage of the non existant variables rootfs ans extra_imagecmd. It also
as an incorrect size.

(From OE-Core rev: 2624f30dd2d2a8f7fd97117c77a4d6aa2ba6f1f9)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:59 +00:00
Alexandre Belloni
4dce5c44ab wic: remove useless calls to __write_fstab
__write_fstab() is already iterating over parts. There is now need to
call it fort each parts.

(From OE-Core rev: 0a6668f6e60b4195ff4163c00fc972bacdb27b4b)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:59 +00:00
Alexandre Belloni
cf3e21e71e wic: allow to configure overhead factor per partition
Introduce a new option --overhead-factor to replace
IMAGE_OVERHEAD_FACTOR.

(From OE-Core rev: 20fe0c7202724187dbe80eb2101d8ef69e86b94e)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:58 +00:00
Alexandre Belloni
d84742c39f wic: allow to configure extra space per partition
Introduce a new option --extra-space instead of using IMAGE_EXTRA_SPACE.
This is useful for boot partitions where the extra space is often
useless or for huge partition where 10MiB may not be enough.

(From OE-Core rev: 9f7fe71a10bcdd1864d2f838f3510e96810ef42e)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:58 +00:00
Alexandre Belloni
605627bc9d wic: add rawcopy source plugin
(From OE-Core rev: 5f237238a1fab87668068d042ac86b67d2c5224b)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:58 +00:00
Alexandre Belloni
0b156dac83 wic: allow creation of partitions not in table
For some architectures it is necessary to reserve space on disk without
it being present in the partition table.

For example, u-boot on i.mx is placed at an offset of 1kB on the sdcard.
While it would be possible to create a partition at that offset and
place u-boot there, it would then be necessary to update the default
u-boot environment to use partition 2 on the mmc instead of partition 1.

(From OE-Core rev: 233b631ece5ee14d057932c146327065064b5196)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:58 +00:00
Belen Barros Pena
f923f0fde8 toasterconf: update Toaster configuration file
Update the config section of the meta/conf/toasterconf.json file
to set the default project variables as in meta-yocto/conf/toasterconf.json

[YOCTO #7248]

(From OE-Core rev: eea9ada645ea5f17cf2e0f2a89a790c26ad27e9d)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:58 +00:00
Andre McCurdy
53f3f61a3c mesa: update 10.4.3 -> 10.4.4
(From OE-Core rev: 2665bedf3b38c6d03d991b91a7b150601572b594)

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-02-14 08:40:58 +00:00
Andre McCurdy
efd0e860a3 mesa: update --with-llvm-shared-libs configure option
As per the Mesa 10.2 release notes, "--with-llvm-shared-libs"
has been renamed to "--enable-llvm-shared-libs".

  http://www.mesa3d.org/relnotes/10.2.html

(From OE-Core rev: 34fe51e9b381e99d664a7e567a3267bcee991084)

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-02-14 08:40:58 +00:00
Nathan Rossi
548ab15d6d qemu: Update PACKAGECONFIG[xen] and add xen to defaults
* Add build and runtime dependencies for PACKAGECONFIG[xen]
* Add xen as a default PACKAGECONFIG option when it is part of
  DISTRO_FEATURES

(From OE-Core rev: d3c82cd6019ad43af489fdc518a3f8a9f31f6777)

Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:57 +00:00
Bruce Ashfield
62eb5e6ddf kern-tools: fix patch application error (preempt-rt)
Updating the SRCREV to import the following kern-tools patch:

    kgit-meta: always clear series file on branch transitions

This was triggered by the patch optimization changes, that no longer
run do_patch if a leaf/final branch is not being processed.

Without this change, invalid patches, or already applied patches in
an existig series file will be re-used which leads to missing files,
or patch errors.

(From OE-Core rev: 762cf3beea5ff374e2ddf491e541f07129443af3)

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-02-14 08:40:57 +00:00
Ricardo Neri
edde3e58da runqemu: Add option for BIOS binary filename
If we intend to use a custom BIOS binary file, it would be good to be
able to specify the name of the binary via the -bios option of qemu. The
name of the custom binary could be different from the default name used
by qemu. For instance, it was bios.bin in qemu 1.5.0 and changed to
bios-256k.bin for 2.1.0.

(From OE-Core rev: 29c9e6f44541b7f8731e21e9d1a0adca9da28e37)

Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:57 +00:00
Armin Kuster
98da500a19 btrfs-tools: update to 3.18.2
(From OE-Core rev: f9fd13dd776c9949b5a6e15024a72d7713c0e64a)

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-02-14 08:40:57 +00:00
Tomas Novotny
a298d8cf5a qmake_base.bbclass: fix hardcoded paths in a generated qt.conf
The qmake_base class generates internal qt.conf for build with hardcoded
qt4 target paths. This is ok for qt4-x11 as this is the default
$QT_DIR_NAME, but it is wrong for qt4-embedded, because qtopia is its
default directory.

(From OE-Core rev: f4b8c0faa1cebda2a2742f8e4d622dcd024428e9)

Signed-off-by: Tomas Novotny <tomas.novotny@tbs-biometrics.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:57 +00:00
Marco Trillo
23bf6bf78b gst-fluendo-mpegdemux: update to 0.10.85
*	Update gst-fluendo-mpegdemux recipe from 0.10.72 to 0.10.85.
*	Provide a more descriptive SUMMARY.
*	Fix broken link in parent file gst-fluendo.inc.

(From OE-Core rev: 6e390315b72a1c95d7f6e32a4b013f619f71e26b)

Signed-off-by: Marco Trillo <martri@arantia.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:57 +00:00
Ricardo Neri
4870290ee5 rootfs.py: ignore "NOTE:" when catching warnings
The script looks for any warn|Warn pattern in the log. However,
it may happen that the warn|Warn pattern appears as part of the name
of the objects described in the NOTE lines of the log. Thus, to avoid
false positives, ignore the line if it contains the word "NOTE:"

(From OE-Core rev: 0387d0957909a9977efd8b2008e4d1c6d81ceb2a)

Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:57 +00:00
Rob Woolley
2c2b003de5 dhcp-client: Ignore partial checksums
dhclient will fail to get an IP address if run inside a guest when traffic is
flowing over a virtual network interface.  The user will see the error
message:

  5 bad udp checksums in 5 packets
  No DHCPOFFERS received.
  Unable to obtain a lease on first try.  Exiting.
  Failed to bring up eth0.

This is because Linux only uses partial checksums for packets that go over
virtual network interfaces and dhclient does not like this.

  See linux kernel commit 78ea85f17b15390e30d8b47488ec7b6cf0790663
  ("net: skbuff: improve comment on checksumming")

An application can detect this behaviour by checking for the
TP_STATUS_CSUMNOTREADY flag in the tp_status field.

  See linux kernel commit 8dc4194474159660d7f37c495e3fc3f10d0db8cc
  ("Add optional checksum computation for recvmsg")

An extra parameter is added to decode_udp_ip_header() in dhclient to indicate
whether or not dhclient should ignore partial checksums.  This is used
when the TP_STATUS_CSUMNOTREADY bit is set by the guest kernel.

This fix has been included in Fedora and Ubuntu, however it has not yet been
accepted by ISC upstream.  Likely because it is specific to behaviour in Linux
and other UNIX variants do not seem to be affected.

The patch was imported from the dhcp source RPM in Fedora 21
  (http://pkgs.fedoraproject.org/cgit/dhcp.git/tree/dhcp-xen-checksum.patch?h=f21)

Originally contributed to fedora-cvs-commit by David Cantrell on Jan 30 2007
  (https://www.redhat.com/archives/fedora-cvs-commits/2007-January/msg01442.html)

Submitted to dhcp-bugs@isc.org - [ISC-Bugs #22806] - by Michael S. Tsirkin
  (http://comments.gmane.org/gmane.comp.emulators.kvm.devel/65236)
  (https://lists.isc.org/pipermail/dhcp-hackers/2010-April/001835.html)

Upstream-Status: Submitted [dhcp-bugs@isc.org]
(From OE-Core rev: 99b598927b7a3837621d9e83e69b3b4fd83afed1)

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:40:57 +00:00
Andreas Müller
a849839f8c u-boot.inc: unbreak
fix multiple:

| run.do_deploy.7526: line 107: [: missing `]'

(From OE-Core rev: 71fa7c263cdb410f463f2c17a257ee02ecf2fa69)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-13 17:07:09 +00:00
Richard Purdie
ae32fed70e gcc-target: Don't install target gcc libdir files
Installing /usr/lib/gcc/* means we'd have two copies, one from gcc-cross
and one from here. These can confuse gcc cross where includes use #include_next
and builds track file dependencies (e.g. perl and its makedepends code).
For determinism we don't install this to the sysroot, ever and rely on the
copy from gcc-cross.

[YOCTO #7287]

(From OE-Core rev: 15b3324b769dc92e1b0d4b9da9fbfccbc8dde9dd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-13 14:49:37 +00:00
Richard Purdie
cefc40389e autotools/siteinfo: Avoid races over siteinfo files
If a siteinfo enabled tasks re-executes at the wrong moment whilst something else is
in do_configure, the _config files can be removed which upsets autoconf and
causes build failures.

Use the same approach as we do for dealing with the aclocal files. We already
parse the manifests so look out any *_config files and if so, copy them, then
reference the copy from siteinfo instead. This has the advantage of also being
more deterministic.

[YOCTO #7101]

(From OE-Core rev: c8b7aad133c3e3319345d50f85a91cbd5116f842)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-13 14:49:36 +00:00
Scott Rifenbark
231d4a9d3d bitbake: bitbake-user-manual: Removed errant writer note line.
Removed a note to myself in the BB_ORIGENV example.

Reported-by: Paul Eggleton <paul.eggleton@intel.com>
(Bitbake rev: 27848725316ddae619c1b86f8adc0bfecfadf413)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:09:32 +00:00
Scott Rifenbark
9f562f8844 bitbake: bitbake-user-manual: Added some links to some new variables.
(Bitbake rev: 5b8249acabad3eeedcf564590e6ab71588aec89c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:09:32 +00:00
Scott Rifenbark
d87805b66d bitbake: bitbake-user-manual: Added five new repo variables and links.
Added the following variables to the glossary:

  CVSDIR
  GITDIR
  SVNDIR
  HGDIR
  BZRDIR

Several areas in the main manual mentioned these variables.  For
each, I added the appropriate link to the glossary term.

(Bitbake rev: 5b797c758bf0499646e4e0256f03fbbdfb3ea080)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:09:32 +00:00
Scott Rifenbark
961e692cf2 bitbake: Makefile: Updated the script to not create PDF version by default
For this release, we are dropping automatic creation of PDF manual.
The user can still create them by specifically using the 'pdf' target.

(Bitbake rev: e19320b4c453844f4ea7f7c1e56a9ed3e552f014)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:09:32 +00:00
Belen Barros Pena
1a740bbde1 bitbake: toastergui: links outside Toaster should open in a new window
Make sure all links going to pages outside Toaster in
the layer details page (to web repos and the like)
open in a new tab/window.

[YOCTO #7193]

(Bitbake rev: 5482507210c3bd1c6223fc1e7881ac5c5474fbdf)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:51 +00:00
Michael Wood
c8a8288f49 bitbake: toaster: All machines Fix filter counts
Filter counts needed to take into account the filters that had
previously been applied.

(Bitbake rev: 97ef99ea5107543799ec2386b3840b435347edfb)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:51 +00:00
Michael Wood
ea7d2461b4 bitbake: toaster: All machines show results count if filtering or searching
Show the number of results returned if filtering as well as when
searching.

(Bitbake rev: 44e989b32cc36efa31f893c40930bcc9f746bd43)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:50 +00:00
Michael Wood
2a3ca552ce bitbake: toaster: All machines reset order_by if removing that column
When you remove a column from a table that is currently being sorted by
that value we also need to remove the sort.

(Bitbake rev: fcb551ff622b3b24ee113ad49ec6cbd26569acd0)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:50 +00:00
Michael Wood
203ac2937c bitbake: toaster: all Machines exclude de-prioritised layer source items
If a duplicate layer exists from another layer source and provides a
machine we don't want to show it if that layer comes from a low priority
layer source.

(Bitbake rev: ae52f478bbf693b85da21f64835e70825968a305)

Signed-off-by: Michael Wood <michael.g.wood@intel.com
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:50 +00:00
Michael Wood
a7ab4d0314 bitbake: toaster: All Machines fix reset search link
In firefox this link wasn't valid as it was inside a button element.
Remove this and add a click handler for the button.

(Bitbake rev: 97366eae1d5c2c84b03b3e019480e56e03f812da)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:50 +00:00
Michael Wood
9e8798fd37 bitbake: toaster: models Allow the machine's layer name to be searched
Make the layer name searchable. If you know the name of the layer you are
interested in, searching for it is a fast way of getting the list of
machines provided by it.

(Bitbake rev: 0a2e0194fe7d949f1e9e01f7b42a7e0dc7a223f5)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:50 +00:00
Michael Wood
d6868d5d9d bitbake: toaster: All machines Add filtering based on layer in project
Add a filter so that we can filter machines which are already being provided
by a layer in the current project.
Also make sure that we're only showing layers which are compatible with
the current project.
Also handle no results returned and page heading reflecting the number of
results returned from a search.

AlexD solved conflicts while merging the patch.

(Bitbake rev: b0ae4d2bb71e897d8a846a3cf14b7151baa09bd2)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:50 +00:00
Michael Wood
50719afbc2 bitbake: toaster: All machines Add layer name order by functions
Allow the layer name to be sorted alphabetically in the machines table.
Also fix the default ordering to be machine name

(Bitbake rev: 8fffd7b5fd53bd66ed7621595f57e2cae416e80d)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:50 +00:00
Michael Wood
02b7704052 bitbake: toaster: layerdetails Don't remove alert from dom on dismissal
When dismissing the alert we actually want to keep the alert area still
in the dom for the use of future alerts. The default behaviour is to
remove it from the dom. Hide it again instead.

(Bitbake rev: b3af4f01856c1983f2e77293444e2c3c1b08f879)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:50 +00:00
Michael Wood
a1347a150a bitbake: toaster: All machines Update layer notifications
Update layer notifications to the new wording for layer add remove
notifications.
Fix bug where the the alert area is being removed from the dom on
dismiss instead of re-hidden

(Bitbake rev: 2a571a4523dbbe9b6afcf2e6b41edf2cb059729d)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:49 +00:00
Michael Wood
479338cc7b bitbake: toaster: All machines add a column to link back to machine conf
Add a column with the "path" to the machine file and add a link back to
the vcs web to view the machine configuration file.

(Bitbake rev: c1462c0530fe6c34ffef87bcde7a363995b503c9)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:49 +00:00
Michael Wood
87074af8ce bitbake: toaster: machines Make sure we don't overwrite the pagesize
The pagesize was accidentally being over written and should be set to
the value returned from the cookie if there was one.

(Bitbake rev: 2c3b84f5012196c62be3ecf212e9752ee307635c)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:49 +00:00
Michael Wood
8c25c3491b bitbake: toaster: Add add/select functionality to machines page
This feature for the machines page allows the user to add a layer and
it's dependencies to the current project and then if successful select
the machine(s) which become available due to being provided by the
layer.

AlexD merged the changes into the submission queue.

(Bitbake rev: ca4e4ab09ba214363181eeb8ad54ccc716bd65f3)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:49 +00:00
Michael Wood
6969a3d3ea bitbake: toaster: machines Fix undefined variables
pagesize and orderby were undefined causing an error to be thrown when
browsing to the all machines page

(Bitbake rev: 388cfb26695ffd6ac0498e5de571cd4a5e083f8b)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:49 +00:00
Belen Barros Pena
b2a903e1ba bitbake: toastergui: add download task log icon to recipe details page
When a task fails, we keep the log and allow users to
download it. Make sure the download is provided in the
tasks table of the recipe details page.

[YOCTO #7207]

(Bitbake rev: 29837409a6cbabafe9e4d102e8143bab5ec22dc2)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:49 +00:00
Belen Barros Pena
6877263f36 bitbake: toastergui: add the word 'compatible' to 'all' pages
Labels for the 'all' pages don't really convey what's provided in them.
The team has suggested we add the word 'compatible' to them,
to make clear they will show all layers / targets / machines that
can be built with the version of the build system you are
using in a certain project. A link like 'view all targets'
becomes 'view all compatible targets'.

I've also added some help text.

(Bitbake rev: 49d85b7035d12a6e482d608e828f69fcafb59d39)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:49 +00:00
Belen Barros Pena
42a7d91ad4 bitbake: toastergui: set column heading to 'Revision'
Replace the column heading 'Branch, tag or commit' with
'Revision'. This also fixes 7023.

[YOCTO #7023]

(Bitbake rev: 102144f8e5069f76e7de8db052c3c4531609771f)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:48 +00:00
Alexandru DAMIAN
d81e5141c1 bitbake: toaster: display Toaster mode and version in debug mode
This patch displays the current running mode and checked-out git branch
as Toaster version when running in debug mode.

(Bitbake rev: 93e4f8c44273f4657c5be4c00b61db12aa875e31)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:48 +00:00
Alexandru DAMIAN
da8110a86a bitbake: toaster: improve logging facilities for toaster
This patch improves the logging facilities for toaster in order
to help diagnose bugs that happen on user machines.

The logs are stored now under "/tmp/toaster_$$" where $$ is a
PID-based unique identifier. On shutdown, toaster will automatically
erase all logs unless errors are listed in the log file.

On error, Toaster provides suggestions on what to do.

This patch includes a minor fix found as a result of logging
improvements.

(Bitbake rev: 8a8248f7b7e30469f592e2f8adbf6ce21e8685c5)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:48 +00:00
Alexandru DAMIAN
0c89846daf bitbake: toaster: enhancements for the startup sequence
This patch brings fixes and enhancements in the startup sequence.

- the dependency version checking is now correctly enforced when
starting in both modes
- fixed errors in looking up environment variables
- added message with 'daemon' program start location
- presenting menu for selecting config file

[YOCTO #7283]
[YOCTO #7291]
[YOCTO #7273]

(Bitbake rev: c5ddd9d88910857a1b745b1c237df0390dd56835)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:48 +00:00
Alexandru DAMIAN
202d808f89 bitbake: toastergui: improvements in layer selection logic
This patch clearers and bring fixes for the layer selection
logic in order to enable information collected during build to be used
in configuring projects, specifically targeting the recipes
learned through the building process.

The patch also adds tests to verify the layer selection logic.

[YOCTO #7189]

(Bitbake rev: f0faba8ef0f08c98ac4bddf5b3954d540820d215)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:48 +00:00
Alexandru DAMIAN
b741c9a4b4 bitbake: toaster: enable server-side caches and debug-panel
This patch enables the server-side caches for Django using
file cache in /tmp/ directory.

Patch enables django debug panel if available.

(Bitbake rev: 00496fb67fa341477edbf80c5438f0b069871ac6)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:48 +00:00
Alexandru DAMIAN
d72f1982ee bitbake: toastergui: fix loadconf error message
Toaster crashes in loadconf if it needs to raise an Exception due
to poorly formatted error message. This patch fixes the formatting

[YOCTO #7276]

(Bitbake rev: 2a18952a525d15814389584817674f6c3aee12d6)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:47 +00:00
Belen Barros Pena
ed5c448e2b bitbake: toaster: correct typo in toaster script
A small typo slipped in the message included in
the fix for [YOCTO #6023].

(Bitbake rev: f28fb3d660d8726b75e6c31fa36bc22b54e1bca7)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:47 +00:00
Belen Barros Pena
514b7cf3bf bitbake: toasterui: use text() instead of html()
Use the text() jQuery function instead of the html()
one for security reasons.

(Bitbake rev: b96457870b40ba60dd5c86d83c43093d09b70aea)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:47 +00:00
Belen Barros Pena
16a9667b5c bitbake: toastergui: remove time link for failed build requests
Failed build requests do not have a build time page where
you can look at the time spent on each task. Therefore,
their build time information cannot be a link to such
a page.

(Bitbake rev: b7b1e64f650c9ea676714209b9d6e7efeca992be)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 23:07:47 +00:00
Richard Purdie
cc5f804483 libtool: Fix option parsing performance regression
Cut and paste the pieces of build-aux/options-parser inline into the main
ltmain.sh code. This removes a performance degradation caused by the
repeated calls to func_quote_for_eval, the mechanism funclib uses
to construct the functions used for option parsing.

(From OE-Core rev: 6bf5cbbcac80ee818cc932d69227e70e41ce02d3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-10 22:36:38 +00:00
Bruce Ashfield
870323cac1 linux-yocto/3.14: fix qemumips build error
The merge of the 3.14 -stable series triggered a build failure in the
32 bit mips builds.

Updating the SRCREVs to import the fix for the issue.

(From OE-Core rev: 234b4feef24ffe0cea9b6d88d9c51a05ee63db9e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:30 +00:00
Bruce Ashfield
035743701f kern-tools: import patch performance improvements
Updating the SRCREV for the following commits:

  4822d22b65c2 kgit-meta: dont run kgit-s2q for non-leaf nodes
  3e3de1b9cdec createme: remove meta branch checks

With these, we save 10 seconds on the average patch phase, and
significantly more if very long patch queues are used.

(From OE-Core rev: 04e600d933878f3d104cf734d437e6baffb983d8)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:30 +00:00
Bruce Ashfield
9348049d99 linux-yocto-dev: update to v3.19+
(From OE-Core rev: f102bf7691af52ea45b5798d359f73528089166d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:30 +00:00
Bruce Ashfield
4078802030 lttng: update to 2.6.0-stable
To fix build issues against the v3.19 kernel, we can safely update to
the lttng 2.6 stable branches.

This allows us to drop two backported patches that are already part of
this update.

(From OE-Core rev: 76668418a63d4c0618c63bd9d13970df35e736eb)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:30 +00:00
Bruce Ashfield
46b1b96324 linux-yocto: basic octeon III support
Importing the following commits to add basic octeon III support to the
3.14 linux-yocto kernel:

   1e0bbd1dd68e MIPS:OCTEON: More OCTEONIII support
   f51a5843ee2d MIPS: Octeon: CVMSEG LM loads may cause dcache parity errors
   58bcba842781 MIPS: Octeon: Implement the core-16057 workaround
   ba5a219685e8 MIPS Override assembler ISA for kernel FPU instruction.
   7759a0511965 MIPS donot build fast TLB refill handler with 32-bit kernels.
   3f51e46ff641 MIPS Add minimal support for OCTEON3 to c-r4k.c
   bbde024d903a MIPS Add function get ebase cpunum
   9f18310679cb MIPS OCTEON Enable use of FPU
   d24496ee8fc8 MIPS OCTEON Add OCTEON3 to get cpu type

(From OE-Core rev: 451142572f156ff0e88943931b924bfb0d9c30ce)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:30 +00:00
Bruce Ashfield
ef3fa6011b linux-yocto/3.17: update to v3.17.8
Updating to the latest korg stable version.

(From OE-Core rev: 4d342c2531bbb33c9101dcd7a669a620c8cf6917)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:30 +00:00
Bruce Ashfield
d0fe36e78e linux-yocto/3.10: update to v3.10.65
Integrating the latest korg -stable updates for 3.10 LTSI.

(From OE-Core rev: d159e9db537f68ed91d4a1ab0f432ac1d0020697)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:29 +00:00
Bruce Ashfield
5848c9219a linux-yocto/3.14: update to 3.14.29
Updating to the latest korg -stable release for 3.14.

(From OE-Core rev: a6a64ee87182c6fa62117e68fafc4ec25ceefc0b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:29 +00:00
Bruce Ashfield
a7c428c735 kernel-dev: install all modules by default
When doing kernel development testing, we want all the modules that were
built to be installed on the target.

(From OE-Core rev: 440b827c7953c59a85e3a93b88953cd33a530a07)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:29 +00:00
Nicolas Dechesne
dade54fee6 libdrm: upgrade to 2.4.59
* Refreshed installtests.patch
* Removed --enable-freedreno-experimental-api, since it is now enabled by
  default upstream

Tested on Snapdragon 600 with freedreno and X11.

(From OE-Core rev: 9ab2d19d4c320cc37f71bba25caa7585caf9679e)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:29 +00:00
Cristian Iorga
62cd5e7fb2 flac: upgrade to 1.3.1
- 0001-Fix-Makefile.am-altivec-logic.patch patch removed,
included upstream.
- Copyright years updated, triggered new checksums for copyright files.

(From OE-Core rev: 59e62c44cba3a88b073547701e1e9f6ea84ddd6c)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:29 +00:00
Cristian Iorga
3145abf078 neard: upgrade to 0.15
- parallel-build.patch patch removed,
included upstream;
- systemd unit files provided by neard,
YP-provided removed;
- improved systemd support.

(From OE-Core rev: a86985f890bef6a22e57f754e184ac8f5c59ce9c)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:29 +00:00
Robert Yang
4530a8f4ef m4-native 1.4.9: remove it
Its do_compile would be failed once our autoconf-naitve is built:
| /path/to/m4-native/1.4.9-r2/m4-1.4.9/missing: line 54: aclocal-1.10: command not found
| WARNING: `aclocal-1.10' is missing on your system.  You should only need it if
|          you modified `acinclude.m4' or `configure.ac'.  You might want
|          to install the `Automake' and `Perl' packages.  Grab them from

Also:
| /path/to/m4-native/1.4.9-r2/m4-1.4.9/missing: line 54: automake-1.10: command not found

We don't need keep a native GPLv2 recipe, so remove it.

(From OE-Core rev: 0d08fcdf495b5cdd2f51a7b379458dbf794b14af)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:29 +00:00
Robert Yang
586eab42e0 bison 2.3: disable native
The following packages will fail to build once we build bion-native 2.3:
libnl
iproute2
libxkbcommon
lttng-tools
gstreamer1.0
babeltrace

(From OE-Core rev: 2dc378e60e3594a57eddf470b61c1a0b79d7daff)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:29 +00:00
Robert Yang
90ca8d537e coreutils 6.9: disable native
ERROR: The recipe coreutils-native is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
   tmp/sysroots/x86_64-linux/bin/kill
 Matched in manifest-x86_64-util-linux-native.populate_sysroot

We have 8.23, so disable it rather than fix.

(From OE-Core rev: da6fbea919bd460a30423b16c48b79047d6c6030)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:29 +00:00
Robert Yang
9171652af2 elfutils 0.148: use BPN in SRC_URI
(From OE-Core rev: e2546c26acaf8fc47114398e3c4a15d17f0f07fb)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:29 +00:00
Robert Yang
b5577e02e0 subversion 1.6.15: fix unknown-configure-option
WARNING: QA Issue: subversion: configure was passed unrecognised options: --without-apache [unknown-configure-option]

(From OE-Core rev: 49ad2ba8c2ffe57300b37e6bd0d9d25eb30a5449)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:28 +00:00
Robert Yang
8eadaecfb1 rxvt-unicode: fix for 9.20 and 9.21
* Add a rxvt-unicode.inc for rxvt-unicode_9.20.bb and rxvt-unicode_9.21.bb
* Fix unknown-configure-option:
  WARNING: QA Issue: rxvt-unicode: configure was passed unrecognised options: --enable-menubar --enable-cursor-blink --enable-shared --disable-strings --enable-xgetdefault [unknown-configure-option]
* Fix build-deps: (add a PACKAGECONFIG)
  WARNING: QA Issue: rxvt-unicode rdepends on startup-notification, but it isn't a build dependency? [build-deps]

(From OE-Core rev: 3033c7dda12c448974c51e48a0813b642f19f35d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:28 +00:00
Robert Yang
594959eb1b tar 1.17: fix unknown-configure-option
WARNING: QA Issue: tar: configure was passed unrecognised options: --without-posix-acls [unknown-configure-option]

tar 1.17 doesn't support --without-posix-acls, move it from tar.inc to
tar_1.28.bb to fix the problem.

(From OE-Core rev: faf469f9b5fbf794311d83db26cdf7f1042785c0)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:28 +00:00
Robert Yang
f4b1459005 grep 2.5.1a: fix unknown-configure-option
Fixed:
WARNING: QA Issue: grep: configure was passed unrecognised options: --disable-ncurses [unknown-configure-option]

(From OE-Core rev: ed8b62aca29be93281dbdb92a3acbff5922efe5e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:28 +00:00
Robert Yang
1f9b782661 gzip 1.3.12: a few fixes
* Let gzip_1.3.12.bb and gzip_1.6.bb use gzip.inc to remove duplicated
  code.
* Fixed for gzip_1.3.12.bb:
  WARNING: QA Issue: gzip requires /bin/bash, but no providers in its RDEPENDS [file-rdeps]
* Remove native extend from gzip_1.3.12.bb, keep gzip_1.6.bb's.

(From OE-Core rev: f3edae1a8cd8ac1b2ddb5f771a99cbb2c28bb529)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:28 +00:00
Robert Yang
8f2bda74e7 patch 2.5.9: fix unknown-configure-option
Fixed:
WARNING: QA Issue: patch: configure was passed unrecognised options: --disable-xattr [unknown-configure-option]

The patch 2.5.9 doesn't support --disable-xattr, there are already
PACKAGECONFIG and PACKAGECONFIG[attr] in patch_2.7.1.bb, so remove them from
patch.inc to fix the problem.

(From OE-Core rev: 7d10af1954aa4f27e3f32b7371a1f2454344bb5f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:28 +00:00
Robert Yang
b92a61956b m4 1.4.9: fix unknown-configure-option
Fixed:
WARNING: QA Issue: m4: configure was passed unrecognised options: --without-libsigsegv-prefix [unknown-configure-option]

The m4 1.4.9 doesn't support --without-libsigsegv-prefix, so move it from m4.inc
to m4-1.4.17.inc.

(From OE-Core rev: 4546f7c141e0ba0232593f1f9df588da7fe44ce9)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:28 +00:00
Robert Yang
82bc3fb3a9 findutils 4.2.31: fix SRC_URI
The findutils_4.2.31.bb can't use the SRC_URI in findutils.inc (but
findutils_4.5.14.bb can use it), use the right SRC_URI to fix it.

(From OE-Core rev: 243e6d1380d376d1669c0ffa477027c1bec7f74a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:28 +00:00
Robert Yang
d31ec825bd groff 1.18.1.4: fix HOMEPAGE and SRC_URI
The upstream has moved tarball to "old" dir.

(From OE-Core rev: 22c5aa534943b6f6e801da2cf33b66b739c0e22e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:28 +00:00
Robert Yang
60b932d7a4 xf86-video-intel 2.21.15: remove it
It doesn't work:
| checking whether to include DRI1 support... no
| configure: error: DRI1 requested but prerequisites not found

And there is a xf86-video-intel_2.99.917.bb which is MIT-X.

(From OE-Core rev: b2feaf0d542047b28abaf946bf7ad6fcdcaf6784)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:28 +00:00
Robert Yang
4557e95cb3 matchbox-desktop: remove 0.9.1 and 2.0 version
For 0.9.1:
ERROR: matchbox-wm: Recipe file does not have license file information (LIC_FILES_CHKSUM)
ERROR: Licensing Error: LIC_FILES_CHKSUM does not match, please fix

For 2.0:
| /path/to/matchbox-desktop-2.0/configure: line 2488: syntax error near unexpected token `build_old_libs,'
| /path/to/matchbox-desktop-2.0/configure: line 2488: `    _LT_DECL(build_old_libs, enable_static, 0,'

And there is a matchbox-desktop_git.bb which is "GPLv2+ & LGPLv2+", so remove them.

(From OE-Core rev: 7b781f1532a64973175cffced1eac4cd8bba3d0c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Robert Yang
f9db5491a1 matchbox-wm 1.2: remove it
It doesn't work:
ERROR: matchbox-wm: Recipe file does not have license file information (LIC_FILES_CHKSUM)
ERROR: Licensing Error: LIC_FILES_CHKSUM does not match, please fix

And there is a matchbox-wm_git.bb, they have the same GPLv2+ license.

(From OE-Core rev: 5b74b2c129ded8d8d8e2843ff7b86e1053c81ba7)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Robert Yang
a960a14c7f which 2.18: fix SRC_URI
It is the GPLv2+ version, the old SRC_URI is down, use fedoraproject's
repo. Its homepage is also down, but I can't find a new one for it.

(From OE-Core rev: 41c4bad11e4a8ebc13f2e4a9712265f3946bf0a8)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Ash Charles
1b45a5158e busybox: Include 'mesg' utility
The 'dot.profile' supplied by base-files calls 'mesg'.  For simple
images using busybox e.g. core-image-minimal, this utility should be
available to avoid errors on login:

 -sh: mesg: command not found

Provide mesg with busybox.

(From OE-Core rev: 7ec6f8290910c242d6e58110c30b3ffbdff274e4)

Signed-off-by: Ash Charles <ashcharles@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Paul Eggleton
a3dfb70b62 recipetool: improve command-line help
Based on feedback from Scott Rifenbark <scott.m.rifenbark@intel.com>

(From OE-Core rev: 2c59b2b20c32577085645056e4cbf4f9c259e4d7)

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-02-08 08:00:27 +00:00
Paul Eggleton
943353707b devtool: improve command-line help
Based on feedback from Scott Rifenbark <scott.m.rifenbark@intel.com>

(From OE-Core rev: ec3378f3a7013e289daa0f5c52329488b861f99c)

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-02-08 08:00:27 +00:00
Alexandru DAMIAN
7d73324af3 scripts/oe-selftest: add command line option to list test classes
While trying to discover what tests are available, I felt the
need to be able to list all individual tests so I can run specific
tests.

This patch adds the "--list-classes" command line option that
lists the unit test classes and methods available.

(From OE-Core rev: f0ba400a398a172f9ebf953bb3a26e5d911a17d6)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Alexandru DAMIAN
336d28c413 scripts/oe-selftest: fix startup backtrace
Fixing a backtrace dump that happens if the script is started
without sourcing the oe-init-build-env first.

(From OE-Core rev: 0d769abcab272f41d74ed4d7915d26c7c309253a)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Alexandre Belloni
eba9f8a16d wic: bootimg-partition: Stop removing whole workdir
Stop removing the whole working directory as this is also removing
eventual previously created partition images, leading to image creation
failures.

(From OE-Core rev: 2d3c9f89852bd009fc7accee495ede2fbcadc3bb)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Alexandre Belloni
080e3e4f58 wic: print partition alignment when available
When printing a partition, the --align parameter was shown when present
but not its value.

(From OE-Core rev: 26280cf0199abb3266d620c8dee1194504a5a829)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Alexandre Belloni
602d90d57a wic: use kB for the partitions size
Use kB instead of MB for the partition size to get a better granularity.

This is needed on some SoC (i.mx, omap) where it is necessary to create
partitions as small as 64kB.

Keep the backward compatibility by assuming MB when no unit is provided.

(From OE-Core rev: 3d4da9186016d54b76ad2fa710646de253f0f063)

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Tested-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Acked-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Tested-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:27 +00:00
Dan McGregor
7c3b9a9a9f terminal.py: add tmux new window option
Add a new terminal type that makes a new window in the running tmux
session instead of splitting the window. 80x25 is not enough to run
menuconfig inside a split window, so add the option to create a new
window instead.

Use the new window option by default when the split window would be
less than 19 lines high.

(From OE-Core rev: d7ef9e49b1c687279f6eb2c7abc32ff915714177)

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-02-08 08:00:26 +00:00
Dan McGregor
b7d91d30a5 openssh: Fix non-deterministic build behaviour
If maillock.h is found, a dependency on liblockfile will be created.
liblockfile is in meta-oe, so we don't want that in an oe-core recipe.

(From OE-Core rev: b2cee9b9f08dff41e46e227b1ffa5e46e98faa89)

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-02-08 08:00:26 +00:00
Saul Wold
0de948f85e linux-yocto-tiny_3.17: Update to actually use 3.17 git repo
The named release was still using the -dev git repo which did not contain
the SRCREV referenced in the numbered/named version.

(From OE-Core rev: b4f2f39ce0f4690ed51d14d1034b9f5e21c0f5a0)

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-02-08 08:00:26 +00:00
Ross Burton
f6ec8dfaf7 Revert "bitbake.conf: don't remove WARN_QA and ERROR_QA from hashes"
It turns out that changing WARN_QA and ERROR_QA results in do_configure's QA
postfunc re-executing, so changing a QA test results in a complete rebuild.

This is just too much and the lesser evil of needing to do a full rebuild to
verify changed QA flags is preferable to an enforced full rebuild.

This reverts commit daecfc3438122b5d146a59a5053e57006d55ccc4.

(From OE-Core rev: 4c5895da16de6f00148a0755b421f07223083d09)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:26 +00:00
Alejandro Hernandez
24d9d5a6eb insane.bbclass: Added QA test for expanded ${D}
Checks in FILES and pkg_* variables, solves common mistake of

using ${D} instead of $D and warns the user accordingly.

[YOCTO #6642]

(From OE-Core rev: e3ea62b370f69d2435e76f6e444f5d3a3b25eb17)

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-02-08 08:00:26 +00:00
Aníbal Limón
1c5be7705e files/toolchain-shar-template.sh: fix replace target_sdk_dir twice in environment setup file
When specify a target sdk dir that contains default install dir as
subdir,

	target_sdk_dir=/opt/poky/$version/
	custom_target_sdk_dir=/opt/poky/$version/some

The target_sdk_dir variable in environment-setup file is replaced twice
causes to point to wrong PATH.

In order to fix filter environment-setup file in second replacement.

[YOCTO #7032]

(From OE-Core rev: 02ecaa69abe97fe2f01cd609e0e59933c0f9ddbf)

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-02-08 08:00:26 +00:00
Pengyu Ma
16a0178424 mesa: Upgrade to 10.4.3
flags for EGL and GBM Gallium had been removed in 10.4,
so remove these flags, files or packages.

(From OE-Core rev: ba079975fa984f53fde5b4e8131d0f3877323e6c)

Signed-off-by: Pengyu Ma <pengyu.ma@windriver.com>
Tested-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:26 +00:00
Maciej Borzecki
09fba50cf3 wic: bail out on kickstart parse errors
Kickstart file errors are not emitted by the parser. In case errors, the
current code will continue to execute possibly creating a faulty or
incomplete image. The patch enables the parser to emit all encountered
errors. The error message is shown for the user and further execution is
ceased.

(From OE-Core rev: 0aa1221c16e65b3daac4aa9a9cfe1d5e9e6106c0)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:26 +00:00
Khem Raj
24ffda5438 glibc: Re-enable upstream __USE_KERNEL_XATTR_DEFS patch
Re-introduce

https://sourceware.org/git/?p=glibc.git;a=commit;h=fdbe8eae2b9aed74dabba1b0a189c5d7d61bf032

This patch was overzealously removed during option groups forward port

Change-Id: I8dd01902ae8e5ee8b5c6fc9dc39c7216952dca51
(From OE-Core rev: 24f02c8d1313a423cf219270a9aa55bccbe1893c)

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-02-08 08:00:26 +00:00
Chen Qi
1f292659c0 image.bbclass: don't let do_rootfs depend on BUILDNAME
BUILDNAME is set by cooker as a string of current time. Letting do_rootfs
task depend on this variable gets us no benefit. Besides, letting do_rootfs
task depend on this variable will cause us trouble when executing
`bitbake -S none core-image-minimal'. With current code, this command
gives us error complaining about the different bashhash of do_rootfs task.

(From OE-Core rev: eb6305d03723527830976c3a4ce2342a0e09eefc)

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-02-08 08:00:26 +00:00
Saul Wold
d42963a3fe core-image: split debug-tweaks into individual features
Split the debug-tweaks into a more fine tunable set of IMAGE_FEATURES
which activate the component functions.

Clean-up image-core and image bbclass by having the ROOTFS_POSTPROCESS_COMMANDs
in in one place for the debug-tweaks related functions

[YOCTO #5344]

(From OE-Core rev: e52d8281eb98dbade2d82451fa9788285121437e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:25 +00:00
Saul Wold
dbfed41b76 create-pull-request: Fix git request-pull
(From OE-Core rev: 5ffa98a95317e6bea436e4372b9202f4da0ce2ae)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:25 +00:00
Saul Wold
5a4e20a73f ca-certificates: Upgrade to 20141019 (git based)
Rebase default-sysroot patch
Remove backported Mozilla certdata patch
License has not changed, just wording.

(From OE-Core rev: 33222af134c465791ed84eccd61bbc2b69ad81f1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:25 +00:00
Saul Wold
308a7ea780 lsbinitscripts: Upgrade to 9.61
(From OE-Core rev: c603e720c865e0ff8391990ad6751bce74ab835f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:25 +00:00
Saul Wold
10f95ff5bf nspr: Upgrade to 4.10.8
(From OE-Core rev: f7f7d5aa993315a146279b796a405a58d487cad6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:25 +00:00
Saul Wold
5ca2518e3d glew: Upgrade to 1.12
(From OE-Core rev: ec8bcba7906116cb2bab8d5a69101057705b07da)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:25 +00:00
Paul Eggleton
30a5c9edc6 classes/license: tweak license format messages
Strictly speaking not all of these characters are operators, so reword
the message to describe them as separators. Also use the standard
"recipename: message" format.

(From OE-Core rev: 9e5da3e83f2a5d43620e07a31728b7427329d8f4)

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-02-08 08:00:25 +00:00
Robert Yang
617e2e9413 binconfig-disabled.bbclass: fix echo command
The ">" should be ">>".

We had got something like the following in pcap-config:
echo '--should-not-have-used-/usr/bin/pcap-config'
exit 1

(Lacks of #!/bin/sh)

(From OE-Core rev: d4adf9ac1b8318d4eb3f1c8dd82bbf04c6908eb5)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:25 +00:00
Robert Yang
775d467fe2 gcc-configure-common.inc: remove ac_cv_path_SED
It is not needed any more since sed-native had been dropped.

(From OE-Core rev: 289e433f8d0e4b5a710094e3a3c0d8e77e82e50d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:25 +00:00
Robert Yang
588342f2c0 valgrind: depends on boost when ptest
Fixed:
drd/tests/boost_thread.cpp:5:38: fatal error: boost/thread/condition.hpp: No such file or directory
 #include <boost/thread/condition.hpp>

(From OE-Core rev: 5650ece64f55044a8fd7fa3fce692dfb17006f8f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:25 +00:00
Timo Mueller
5fcb217f81 apr-util: Allow use in SDK
This adds 'nativesdk' in the BBCLASSEXTEND.

Building apr-util for the SDK requires that some paths in the rules.mk
file are fixed to point to the actual enviroment. These include pointing
the apr configuration variables to the actual apr builddir and
correcting the name of the libtool.

(From OE-Core rev: 4595e4832418afc651300c88ad2b835f0aedd8bc)

Signed-off-by: Timo Mueller <timo.mueller@bmw-carit.de>
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-02-08 08:00:24 +00:00
Maciej Borzecki
6b19a93f38 wic: fix extended/logical partition layout
The patch fixes an issue in laying out extended and logical partitions
by wic. The original code produced disk images in which the size 3rd
partition as described in MBR was incorrect. Depending on the type of
file system used for that partition and size of the partition, it would
be impossible to mount the partition correctly. For instance, kickstart
file in which the 3rd partition had size of 1GB and used ext4 fs, would
result in an image with an umountable partition. The root cause is
reservation of sectors for EBR through stealing of last sector from the
last primary partition.

(From OE-Core rev: a8b85f7878726503dbfa2e9ea86bd6fd961bf03b)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:24 +00:00
Chunrong Guo
eca277b0af u-boot.inc : add compile multiple u-boot feature
(From OE-Core rev: ab126dcca85d6a335212b07a1ca37d5e045a59cf)

Signed-off-by: Chunrong Guo <B40290@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:24 +00:00
Chunrong Guo
1e4ee4bc22 uboot-config.bbclass: Allow multiple U-Boot config for machine
This adds support to build multiple U-Boot configs for a machine; this
  is useful when we have support for different media boots which require
  different U-Boot configuration (e.g: eMMC and NAND).

  Below there's an usage example:
  ,----[ i.MX6Q SABRE AUTO based example ]
  | UBOOT_CONFIG ??= "sd eimnor nand spinor"
  | UBOOT_CONFIG[sd] = "mx6qsabreauto_config,sdcard"
  | UBOOT_CONFIG[eimnor] = "mx6qsabreauto_eimnor_config"
  | UBOOT_CONFIG[nand] = "mx6qsabreauto_nand_config,ubifs"
  | UBOOT_CONFIG[spinor] = "mx6qsabreauto_spinor_config"
  `----

(From OE-Core rev: be997c70e4dec101786978b3ab5e49a1be87a85d)

Signed-off-by: Chunrong Guo <B40290@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-08 08:00:24 +00:00
Tom Zanussi
02a1e01c00 yocto-bsp: Add branch to SRC_URI for custom kernels
Without 'branch' in the SRC_URI, a SRCREV specified for a non-master
KBRANCH will result in a fetch failure since the branch tested by the
fetcher will default to master, which doesn't contain the SRCREV.
This fixes the problem by adding branch=KBRANCH to the SRC_URI.

Fixes [Yocto #6518].

(From meta-yocto rev: 29a36d4c1146f38b4d204b5b4b89bd002074d47d)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-07 13:34:00 +00:00
Tom Zanussi
bf6f35b214 yocto-bsp: Add missing conf dir to arm template
The /conf dir for arm was missed when committing the changes for the
'removing strange characters' patchset; this restores it.

(From meta-yocto rev: 0fe51b37c32569bd5a3e24c43dc4d16ab7b6d4e9)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-07 13:33:59 +00:00
Robert Yang
1f53edeaf9 libtool: avoid running automake/autoconf --version
The libtool would be very slow if run "automake/autoconf --version", for
example, when compile xz-native (make -j1, only compile, no confiure or
install):

before patched: 19s
after patched:  11s

Use plain text to instead of running them.

NOTE: it is still a little slower than libtool 2.4.2 when compile
xz-native because of other parts:
make -j1: about 2s slower
make -j32: about 0.4s slower

If we run to do_install:
(PARALLEL_MAKE = "-j32")
libtool 2.4.2:
$ bitbake xz-native -cinstall && bitbake xz-native -ccleansstate && time bitbake xz-native -cinstall
real    0m21.092s
user    0m28.292s
sys     0m3.932s

libtool 2.4.5:
$ bitbake xz-native -cinstall && bitbake xz-native -ccleansstate && time bitbake xz-native -cinstall
real    0m21.380s
user    0m31.140s
sys     0m4.068s

About 0.3s, slightly different.

But when using /bin/bash as CONFIG_SHELL, the new libtool would be much slower:
real    0m23.106s
user    0m44.044s
sys     0m4.280s

About 2s slower, for the big package like cairo, it is more slower (about 6s),
unfortunately, /bin/bash is most default CONFIG_SHELL for the recipes since
configure checks first check bash.

(From OE-Core rev: eb9d896db2fc67bac8efd258744d06fbbee87f06)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-05 09:46:11 +00:00
Paul Barker
d8f0011c23 opkg-keyrings: New recipe
This recipe wraps package and package feed verification keys into a package,
making the management and deployment of verification keys much easier. Comments
on how to select keys for inclusion in this package are provided in the recipe
file.

(From OE-Core rev: 2104111edc85d057eb4fadecd007f5c592803da6)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:56 +00:00
Paul Barker
9d3e44df29 opkg: Backport improvements to opkg-key
The improvements to opkg-key made for v0.3.0 are backported. The rest of v0.3.0
needs further testing and bugfixing prior to release, but the improvements to
opkg-key have been tested and work well.

(From OE-Core rev: c4bc41cb2dd679629184a3693dd6c8d964a24d27)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:56 +00:00
Paul Barker
c8c75eddf9 poky-feed-config-opkg: Remove
This recipe was not usable as-is. A much better way of configuring package feeds
for opkg is provided by the distro-feed-config recipe in meta-oe.

(From OE-Core rev: 718d5c64069e7bc958f94daae2369fdefa4bafeb)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:56 +00:00
Paul Barker
e4d165d79a opkg: Merge in opkg-collateral
All non-arch-specific and non-distro-specific configuration is now kept in the
main 'opkg' recipe and package.

(From OE-Core rev: e8879cd1ec8914815c7a78f1d9b296b0e2b30fcf)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:56 +00:00
Paul Barker
3d18626bf0 opkg: Merge opkg.inc into recipe and tidy up
There is no benefit to having a separate .inc file when we only support one
version of opkg.

The .inc file had multiple do_install_append functions and several variables
were defined out of the usual order. This arrangement should be better.

(From OE-Core rev: ab3cc175649dbea6f434bb0f6ee1346f5f0e701a)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:56 +00:00
Paul Barker
d07c9addee opkg-collateral: Simplify source files
Instead of having the source files 'opkg.conf.comments', 'dest' and 'src', we
simply have one 'opkg.conf' file containing all the necessary configuration.

This does mean that replacing 'src' in a bbappend to define distro-specific
package feeds is no longer supported, but these feed configurations should be
packaged separately from the rest of the opkg configuration anyway so that
things can be updated independently. The best recipe to use for managing feed
configs is currently distro-feed-config in the meta-oe layer.

(From OE-Core rev: f7c591df37493e8f3cde9c19bb0d1edc370eca1c)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:55 +00:00
Paul Barker
d1373d4642 opkg-arch-config: Renamed from opkg-config-base
The name 'opkg-arch-config' is much more descriptive.

(From OE-Core rev: d0cb4fb3aab1d6041f88fa564e5d745629316ae2)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:55 +00:00
Timo Mueller
cb6501acb5 apr: Allow use in SDK
This adds 'nativesdk' in the BBCLASSEXTEND.

(From OE-Core rev: de17201509d16210ead076f0e11d30593d65df25)

Signed-off-by: Timo Mueller <timo.mueller@bmw-carit.de>
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-02-03 14:53:55 +00:00
Ross Burton
8ec0347431 insane: add unknown-configure-option to default WARN_QA
The unknown-configure-option check is generally useful and should be enabled by
default.

(From OE-Core rev: 2f1909a6a78dec943800a0e8a39f890c007165b7)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:55 +00:00
Ross Burton
9c9560f00a bitbake.conf: don't remove WARN_QA and ERROR_QA from hashes
Changing WARN_QA and ERROR_QA should cause do_package_qa to re-execute, so
removing them from the sstate hashes is harmful.

They were added back when sanity testing was part of packaging and this was the
lesser evil, compared to changing sanity tests causing a re-package of
everything.

(From OE-Core rev: daecfc3438122b5d146a59a5053e57006d55ccc4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:55 +00:00
Ross Burton
ddb8d3fb73 wayland: remove explicit class-native DEPENDS
(From OE-Core rev: 50147404973e3f09206e8c1bb53d65b0772492e1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:55 +00:00
Ross Burton
8ac69a923c native: remove PN from DEPENDS automatically
If a recipe (say, wayland) has DEPENDS=wayland-native and BBCLASSEXTEND=native,
when built as wayland-native it has DEPENDS=wayland-native which results in a
circular dependency.

Typically this is resolved by having explicit DEPENDS_class-native statements
but as this is duplication which can lead to inconsistent dependencies,
automatically remove the circular dependency.

(From OE-Core rev: 3e9392c0965166462e0993d46f4cc2fb1832f1e5)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:55 +00:00
Khem Raj
7330a886ce systemd: Backports fixes to 216
Fix systemd-timesyncd assertion

when networkd is disabled then we now do not
create /run/systemd/netif/links but timesyncd needs it. So lets
manually create this file when networkd is disabled so timesyncd
can still function

When enabling systemd-timesyncd we need systemd-timesync user

Backport patches to enable timesyncd when resolved and networkd
are disabled

replace the resolv.conf symlinink patch with a proper backport

Change-Id: I53f1a53eec4e4a4dbdfb7e8cd155d544ee5d81ec
(From OE-Core rev: 2a675bc63b22724f12e6ed6ff58d0f1d1e0d3b29)

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-02-03 14:53:55 +00:00
Jackie Huang
960dd0ad4f lsbinitscripts: fix the path for mountpoint
mountpoint is installed in ${bindir}

(From OE-Core rev: e1a3c6e218779e2237c494e58209c06b871c47c4)

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-02-03 14:53:54 +00:00
Rodrigo Chiossi
da35877db8 lib/oe/terminal: add support for Terminology terminal emulator
Terminology is the default Enlightenment terminal emulator

(From OE-Core rev: f3da8570a977809fadb08315f384726b80f5ee01)

Signed-off-by: Rodrigo Chiossi <rodrigo.chiossi@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:54 +00:00
Martin Jansa
95bf2ab4b0 piglit: add x11 to required DISTRO_FEATURES
* there is some pending work to resolve this unnecessary x11
  dependency, this can be reverted together with x11 dependency
  removal

(From OE-Core rev: bc4d051c2fa56acb0479330b4342a39396de30d4)

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-02-03 14:53:54 +00:00
Alejandro Hernandez
4cc8614cba xmlto-native: fixes slow creation of yocto docs
Forces native RDEPENDS of xmlto-native to be built and installed
since those files are required when creating yocto-docs
if not found, they are downloaded from upstream everytime
significant time difference is achieved.

[YOCTO #7148]

(From OE-Core rev: 928d41cb7343c23f586a2a1a5e6f81569d9c261b)

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-02-03 14:53:54 +00:00
Martin Jansa
ee9acb13cb xorg-driver: add x11 to required DISTRO_FEATURES
(From OE-Core rev: 8764282a06fa5f7571c479a5b3b35c7baaad241f)

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-02-03 14:53:54 +00:00
Chen Qi
4385b3cc9d package_manager.py: fix rootfs failure with multilib enabled
With the current code, if we use debian package backend and enable
multilib support, the do_rootfs process would always fail with error
messages like below.

    E: Unable to locate package packagegroup-core-boot

This patch fixes the above problem.

(From OE-Core rev: d140d556ae30b6dbd0ffce8882c3e22b17050820)

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-02-03 14:53:54 +00:00
Dan McGregor
e4dc8fe86c openssh: configuration updates
Rebase sshd_config and ssh_config with openssh upstream.
Check for the ed25519 key in the systemd keygen service.

(From OE-Core rev: 046dd5567d9de0596023846e7f0c6df7f01a9f5b)

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-02-03 14:53:54 +00:00
Khem Raj
93842f0ec9 pigz: Upgrade to 2.3.3
Fix build issues due to libz being required but
is specified before use.

Change-Id: I1f26c8e656b330a4b5f1eeffee7ac13500fa98d0
(From OE-Core rev: c939b9cc5bd046261981dcaae6cae9d358ed7671)

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-02-03 14:53:53 +00:00
Alejandro Hernandez
57647c9cbb terminal.py: fixes launching multiple windows of gnome-terminal
When resolving a patch, a new process of gnome-terminal
is created for every patch to be resolved, it "waits"
for the previous one to end, instead of launching
multiple windows at the same time.

[YOCTO #7254]

(From OE-Core rev: b457e0b028418260aee25858b8af8938dd038fac)

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-02-03 14:53:53 +00:00
Chen Qi
f14e96a9cc runqemu-internal: get rid of annoying but harmless error message
If tap0 interface has been created by other users on the system, we would
get error messages when using runqemu. Error messages are like below.
     Acquiring lockfile for tap0...
     touch: cannot touch ‘/tmp/qemu-tap-locks/tap0.lock’: Permission denied
     /buildarea2/chenqi/poky/scripts/runqemu-internal: line 139: /tmp/qemu-tap-locks/tap0.lock: Permission denied
     flock: 8: Bad file descriptor

The system can still boot up because runqemu would try to create a new tap
interface. So the error message above is harmless, yet somewhat annoying.

This patch fixes the above problem. With this patch, the output would be as
follows.

Acquiring lockfile for tap0...
Acquiring lockfile for /tmp/qemu-tap-locks/tap0.lock failed
Setting up tap interface under sudo
Acquiring lockfile for tap1...
Running qemu-system-arm...

(From OE-Core rev: 039c57257c4180b0688fc2ec1b03948276009b04)

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-02-03 14:53:53 +00:00
Dan McGregor
491d1db8d1 image.bbclass: make kernel depmod data optional
This allows an image to skip the creation of kernel depmod
data. It is useful for creating an image that will run as a
container image inside a host with no knowledge of the parent's
kernel.

(From OE-Core rev: ca641aedff5f6bd155796ead02cb2eb871f8c17a)

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-02-03 14:53:53 +00:00
Armin Kuster
616696aaa6 busybox: cve-2014-9645
modprobe,rmmod: reject module names with slashes

(From OE-Core rev: 815a7b6fbf3b0cf95f5464bca687d97366d7ed6a)

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-02-03 14:53:53 +00:00
Bian Naimeng
88a966a6e2 gnutls: update to 3.3.12
update to 3.3.12 to fix some bugs.

http://article.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/7967

(From OE-Core rev: 894edb243a984654bb929bbbaf299d89167801f1)

Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:53 +00:00
Robert Yang
29d961a7e0 mingetty: fix SRC_URI
Fixed:
WARNING: Failed to fetch URL http://cdnetworks-kr-1.dl.sourceforge.net/project/mingetty/mingetty/1.08/mingetty-1.08.tar.gz, attempting MIRRORS if available

(From OE-Core rev: 7b68204401d9766911da959544fa099a91d6c8fc)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:52 +00:00
Robert Yang
2bb31f17c7 pcmciautils: fix SRC_URI and HOMEPAGE
Fixed:
WARNING: Failed to fetch URL http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmciautils-018.tar.bz2, attempting MIRRORS if available

The pcmciautils-018.tar.bz2 is gone from kernel.org.

(From OE-Core rev: 315b22be7540c18d53477738647bf184ecdfb837)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:52 +00:00
Robert Yang
92cf495979 latencytop: fix SRC_URI and HOMEPAGE
Fixed:
WARNING: Failed to fetch URL http://www.latencytop.org/download/latencytop-0.5.tar.gz, attempting MIRRORS if available

Its homepage is also down, but can't find a proper one atm.

(From OE-Core rev: 1f6a21b76210efa8d323014263d5656c61131803)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:52 +00:00
Robert Yang
a4ae55d84e pax: fix SRC_URI and HOMEPAGE
Fixed:
WARNING: Failed to fetch URL ftp://ftp.suse.com/pub/people/kukuk/pax/pax-3.4.tar.bz2, attempting MIRRORS if available

(From OE-Core rev: 3fa94ef9685651b9fe812e122748ebac1cf66471)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:52 +00:00
Robert Yang
77755375f9 man: fix SRC_URI
Fixed:
WARNING: Failed to fetch URL http://primates.ximian.com/~flucifredi/man/man-1.6g.tar.gz, attempting MIRRORS if available

Its HOMEPAGE is also down, but can't find one for it.

(From OE-Core rev: 787f735c4f66fc498d86b468c862ceed25ed80de)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:52 +00:00
Robert Yang
a375173cd3 cwautomacros: fix SRC_URI and HOMEPAGE
Fixed:
WARNING: Failed to fetch URL http://download.berlios.de/cwautomacros/cwautomacros-20110201.tar.bz2, attempting MIRRORS if available

(From OE-Core rev: bfc6f30ff39994ee468f471e6b41f46e7acc088f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:52 +00:00
Robert Yang
b0a28c085a dosfstools: fix SRC_URI
Fixed:
WARNING: Failed to fetch URL ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/dosfstools/dosfstools-2.11.src.tar.gz, attempting MIRRORS if available

And add a HOMEPAGE for it, there is no dosfstools 2.11 on its official
page (but 3.x).

(From OE-Core rev: cba73a598abc396fae4fb582be98fc04cb2a580f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:52 +00:00
Robert Yang
eb0c8d50f1 base-passwd: fix SRC_URI
Fixed:
WARNING: Failed to fetch URL ftp://ftp.debian.org/debian/pool/main/b/base-passwd/base-passwd_3.5.29.tar.gz, attempting MIRRORS if available

(From OE-Core rev: 9ac88e3a9ac36ed83f01ac21db57a3c01a24385e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:51 +00:00
Robert Yang
8c2c459f3b cdrtools-native: fix HOMEPAGE and SRC_URI
The old ones are invalid, fixed:
WARNING: Failed to fetch URL ftp://ftp.berlios.de/pub/cdrecord/alpha/cdrtools-3.01a20.tar.bz2, attempting MIRRORS if available

(From OE-Core rev: dd8c87987b2d228ec1c8b48d207767fb146ae0fd)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:51 +00:00
Robert Yang
03038f3b9c perf: add LIBNUMA_DEFINES
Fixed:
WARNING: QA Issue: perf rdepends on numactl, but it isn't a build dependency? [build-deps]

The numactl is in meta-oe.

(From OE-Core rev: 175d6b4e598f78dfa17c101a36a82c0951615b7a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:51 +00:00
Robert Yang
312e8a10d2 screen: add PACKAGECONFIG for libutempter
Fixed:
WARNING: QA Issue: screen rdepends on libutempter, but it isn't a build dependency? [build-deps]

The libutempter is in meta-oe.

(From OE-Core rev: 9672cf6ea4e35ffa45b9d624b3822df31533db19)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:51 +00:00
Robert Yang
5379ed8267 dpkg: add perl to RDEPENDS
perl scripts:
packages-split/dpkg/usr/bin/dpkg-parsechangelog:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-mergechangelogs:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-architecture:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-vendor:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-shlibdeps:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-scanpackages:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-buildpackage:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-genchanges:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-gensymbols:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-distaddfile:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-buildflags:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-checkbuilddeps:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-gencontrol:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-scansources:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-source:#!/usr/bin/perl
packages-split/dpkg/usr/bin/dpkg-name:#!/usr/bin/perl
packages-split/dpkg/usr/lib/dpkg/parsechangelog/debian:#!/usr/bin/perl

(From OE-Core rev: eb7179e3c182dc456956fd8ae7e0b512488ad0f2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:51 +00:00
Paul Eggleton
ca232b5c7b lib/oe/image.py: add error checking for missing IMAGE_CMD
An invalid value in IMAGE_FSTYPES was triggering a traceback. Add a
check and a reasonable error message instead.

(From OE-Core rev: f38c35b925d6eab0d5a41b8592b0eb8b0a3b7b72)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:51 +00:00
Paul Eggleton
26e5b0f7b9 classes/image: ensure uninstalled packages do not appear in manifests
Since the rewrite of the image construction code in python a few
releases ago, we remove a couple of packages from the image as one of
the final steps when constructing the image (notably update-rc.d and
run-postinsts).  However, because of the order of operations, these
packages are still listed both in the buildhistory
installed_package*.txt files and in the manifest file created next to
the image, which is wrong.

There were two possible solutions to this: (1) change the order such
that the uninstallation occurs before calling ROOTFS_POSTPROCESS_COMMAND
or (2) add another hook variable in such that we can have the
package list collection code run at the right time. Because it's
currently possible (but very much not recommended) to install additional
packages within ROOTFS_POSTPROCESS_COMMAND, which may have postinstall
scripts and thus require the packages we would otherwise uninstall if we
were to take option 1, option 2 is really the least likely to cause
problems. Therefore, add ROOTFS_POSTUNINSTALL_COMMAND and make the image
and buildhistory classes use it.

Fixes [YOCTO #6479].

(From OE-Core rev: b198a189228648057c3be7d068598f50841b3bf9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:50 +00:00
Paul Eggleton
69c588b66d classes/image: skip recipe on invalid IMAGE_FEATURES item
If you add an item to EXTRA_IMAGE_FEATURES in your local.conf that is
not supported by image.bbclass itself (such as "tools-sdk" which is
implemented in core-image.bbclass), it can be somewhat annoying to have
the parse fall over if you have a recipe that inherits image.bbclass
only. Change the error from bb.fatal to skip the recipe instead so that
you only see the error when attempting to build the recipe, plus add a
bit of logic to report if the feature is coming in via
EXTRA_IMAGE_FEATURES.

Fixes [YOCTO #5023].

(From OE-Core rev: cbe9d2f748125aa2dffc829570d46f8dbc1781a4)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:50 +00:00
Paul Eggleton
124f0419b9 lib/oe/rootfs.py: rename _uninstall_uneeded to fix spelling error
Rename it to _uninstall_unneeded.

(From OE-Core rev: cb217f442b8143d88112bebe4011051efbd905a3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:50 +00:00
Paul Eggleton
44212390de classes/image: drop unused default of MACHINE_POSTPROCESS_COMMAND
In the daisy (1.6) timeframe, when we rewrote the image construction in
Python, we neglected to reimplement the support for the little used and
undocumented variable MACHINE_POSTPROCESS_COMMAND, and apparently nobody
noticed. We have a better method for implementing machine-specific image
formats that is in wider use (i.e. add a custom class which implements
the new image type, add the class to IMAGE_CLASSES and the type to
IMAGE_FSTYPES), and we now also have wic. Thus it makes more sense to
just call this variable unsupported now and drop the sole remaining
reference to it.

(From OE-Core rev: 46fef857d6c4ac25d89b71b542b019d0ed068c19)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:53:50 +00:00
Paul Eggleton
3f739a86a9 recipetool: replace version in S value
If a versioned recipe filename is specified, replace the version in the
value of S with ${PV} just as we do with SRC_URI to make future upgrades
of the recipe easier.

(From OE-Core rev: 0b3c81ed5bcce9b608c4f804496d769288fe8c04)

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-02-03 14:53:50 +00:00
Richard Purdie
bcfca54628 libtool: Fix tools path issues
If for example you build on a machine with /bin/grep, then restore that sstate
onto a machine with /usr/bin/grep, things will fail. Simply don't bother
hardcoding paths.

This was lost during the libtool upgrade:

http://git.yoctoproject.org/cgit.cgi/poky/diff/meta/recipes-devtools/libtool/libtool/avoid_absolute_paths_for_general_utils.patch?id=d4e1862453b2a4c12400de0f43f08a9871a4de60

since the path to the files changed. This restores the previous behaviour.

(From OE-Core rev: e48c06264f183c3d611a20a45914e9eeaa8f3736)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:30:55 +00:00
Michael Wood
bd84192866 report-error: Catch un-readable log data
If a log data cannot be decoded to utf-8 or read then handle this
gracefully. This can happen if a log file contains binary or something
goes wrong with the file open process.

(From OE-Core rev: 787ffc5e12f1639aa5e0917bb23deced53a0478e)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 14:30:55 +00:00
Ross Burton
013f7e286d poky.conf: use logic to edit WARN_QA and ERROR_QA
Instead of overriding WARN_QA and ERROR_QA, edit the defaults to remove specific
tests from WARN_QA and add them to ERROR_QA.

This should avoid tests being added to poky.conf but not insane.bbclass
(unknown-configure-option wasn't enabled in oe-core), or vice versa (infodir
wasn't enabled in Poky).

(From meta-yocto rev: 32f5014c871f5fd86262fb6a87b60360b1b21d07)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 12:43:22 +00:00
Ross Burton
3ebb522cc6 poky.conf: remove poky-feed-config-opkg from images
This recipe didn't do anything beyond opkg-arch-config so it was deleted from
oe-core.  Update the Poky distro configuration to stop install it.

(From meta-yocto rev: fc4daa22422accc83ce03d74fc32312f1b93aff0)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 12:43:22 +00:00
Ross Burton
825c0a9835 bitbake: data_smart: split expanded removal values when handling _remove
Given these assignments:

 TEST="a b c d"
 TEST_remove = "b d"

TEST evaluates to "a c".  However, if the _remove override is given as a
variable:

 TEST="a b c d"
 FOO = "b d"
 TEST_remove = "${FOO}

TEST evaluates to "a b c d", because when FOO is expanded it isn't split into a
list.

Solve this by splitting all members of removeactive once they've been expanded.

[ YOCTO #7272 ]

(Bitbake rev: 207013b6dde82f9654f9be996695c8335b95a288)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 12:21:36 +00:00
Ross Burton
b00e781b4a bitbake: tests/data: add test for incorrect remove behaviour
The _remove operator isn't working correctly when used with a variable that
expands to several items, so add a test case to exercise this path.

(Bitbake rev: cb2a62a5fbffb358528a85b46c1fc6383286cb9d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-03 12:21:36 +00:00
Richard Purdie
22c38e2d8a build-appliance-image: Update to master head revision
(From OE-Core rev: 818bcba063819b80d5a99827c5adb8ee157dbfe1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-02 14:57:52 +00:00
Richard Purdie
e240435000 libtool: 2.4.4 -> 2.4.5
(From OE-Core rev: 8156469a2ff36521aefcc9a3a4125d2dbcd4711a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-02 14:09:20 +00:00
Sona Sarmadi
103663075e python: Disables SSLv3
This is related to "SSLv3 POODLE vulnerability" CVE-2014-3566

Building python without SSLv3 support when openssl is built without
any support for SSLv3 (e.g. by adding EXTRA_OECONF = " -no-ssl3" in
the openssl recipes).

Backport from:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=768611#22
[python2.7-nossl3.patch] only Modules/_ssl.c is backported.

References:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7015
https://bugzilla.yoctoproject.org/show_bug.cgi?id=6843
http://bugs.python.org/issue22638
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566

(From OE-Core rev: 3462cac82cf0ab32e5e530f543b14fdcc211c678)

Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-02 14:09:20 +00:00
Paul Eggleton
4213ccc733 sed-native: drop
This was added back in the depths of history (around 2006 in OE-Classic)
when apparently the host sed couldn't always be relied upon. We now call
the host sed all over the place without this dependency and don't have
any problems. On the other hand, having it around can lead to races
where we're calling sed in one task and staging it to the sysroot in
another, the result being nasty failures compiling binutils for example.
Since it isn't needed, let's just drop it completely.

Fixes [YOCTO #7264].

(From OE-Core rev: 863a3966e1a200e7a15fbdbb8e04dce6e3f6c1a2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-02 12:41:12 +00:00
Saul Wold
47a55255fe btrfs: create an empty file to build the fs in
The newer btrfs-utils needs an empty file to build the filesystem in, so
create an empty file and use it for the mkfs to build the fs in.

[YOCTO #6804]

(From OE-Core rev: 224c24d8a8ea6230ed56ea61cdb86e78c5ec4311)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-02 12:40:37 +00:00
Armin Kuster
823d2f9806 tzdata: update to 2015a including leap second
Changes affecting future time stamps

The Mexican state of Quintana Roo, represented by America/Cancun,
will shift from Central Time with DST to Eastern Time without DST
on 2015-02-01 at 02:00.  (Thanks to Steffen Thorsen and Gwillim Law.)

Chile will not change clocks in April or thereafter; its new standard time
will be its old daylight saving time.  This affects America/Santiago,
Pacific/Easter, and Antarctica/Palmer.  (Thanks to Juan Correa.)

New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49.
(Thanks to Tim Parenti.)

Changes affecting past time stamps
Iceland observed DST in 1919 and 1921, and its 1939 fallback
transition was Oct. 29, not Nov. 29.  Remove incorrect data from
Shanks about time in Iceland between 1837 and 1908.

Some more zones have been turned into links, when they differed
from existing zones only for older time stamps.  As usual,
these changes affect UTC offsets in pre-1970 time stamps only.
Their old contents have been moved to the 'backzone' file.
The affected zones are: Asia/Aden, Asia/Bahrain, Asia/Kuwait,
and Asia/Muscat.

(From OE-Core rev: 4ee327602a0cc3200b5d6490ef2f115768cff2f4)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-02 12:40:04 +00:00
Armin Kuster
d231cc4c6f tzcode: update to 2015a leap second changes too
Changes affecting code

tzalloc now scrubs time zone abbreviations compatibly with the way
that tzset always has, by replacing invalid bytes with '_' and by
shortening too-long abbreviations.

tzselect ports to POSIX awk implementations, no longer mishandles
POSIX TZ settings when GNU awk is used, and reports POSIX TZ
settings to the user.  (Thanks to Stefan Kuhn.)

Changes affecting build procedure

'make check' now checks for links to links in the data.
One such link (for Africa/Asmera) has been fixed.
(Thanks to Stephen Colebourne for pointing out the problem.)

Changes affecting commentary
The leapseconds file commentary now mentions the expiration date.
(Problem reported by Martin Burnicki.)

Update Mexican Library of Congress URL.

(From OE-Core rev: ccc543570b96bb1f1efefd5ed79469da142cafd3)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-02 12:40:04 +00:00
Cristian Iorga
6145832283 build-appliance-image: update to head afe85485fe
Build Appliance includes a more recent
version of poky, up to commit:
afe85485fe.

Fixes [YOCTO #7228].

(From OE-Core rev: 4d1cfbfde4be2b0f19f40fbf46f880b658afaeb8)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-02 12:39:25 +00:00
David Reyna
b4d01ecd02 toasterconf.json update
The toaster layer configuration file is updated to specify
sane default for more build configuration variables.

Minor whitespace changes to beautify the file.

Rebased by Alex from a patch written by David Reyna.

(From meta-yocto rev: e6ac763a6f13c6338b5f7d6254ba763d9619a25b)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-02 12:38:31 +00:00
Randy Witt
c462ce62e7 maintainers.inc: Update some items for Randy Witt.
(From meta-yocto rev: 0d12e6a53743536d521233a20d2e37209845969b)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-02 12:38:31 +00:00
Alexandru DAMIAN
2237c9fcaa bitbake: toaster: proper setup for build configuration
This patch makes sure that all the toaster conf files are actually
written from the build enviroment controllers.

Additionally, toaster checks that the 'daemon' program, which is used
to start the build system, is available (currently for localhost).

[YOCTO #7171]

(Bitbake rev: 0a1db7d1531f8254955e1152bcd8e6db4ec1d277)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-02 12:34:53 +00:00
Alexandru DAMIAN
afe85485fe bitbake: toaster: new layer checkout logic
This patch implements a new layer checkout logic that brings more
flexibility in getting layers under different commits work with
Toaster.

The new hibrid logic will checkout separately each layer and commit id;
the task execution will be delegated to the checkedout bitbake, but the
data logger will be executed from the current toaster version as to
bring in enough data to sustain the updates in UI models.

[YOCTO #7171]
[YOCTO #6892]

(Bitbake rev: c6eb0f7f16c59530c2525b2e5629fe86de4e8f0f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-30 15:14:58 +00:00
Alexandru DAMIAN
c58c94824b bitbake: toaster: update texts for the startup sequence
This patch updates the prompts to the user to better explain
what Toaster is doing and the information it needs from the user.

Additionally, fixes a check in loadconf command.

[YOCTO #6785]
[YOCTO #7251]

(Bitbake rev: 90ef8975f35e2da824bc1c80e41ca26d9af0b208)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-30 15:14:58 +00:00
Richard Purdie
635130d0d1 bitbake: data_smart: Don't use mutable objects as default args
These only have one instance created which means your subsequent datastores
can contain echos of previous ones. Obviously this is not the behaviour
we want/expect. It doesn't affect bitbake too badly as we only have one
datastore, it does massively potentially break our selftests though.

Thanks to Tim Amsell for pointing out the now obvious problem!

(Bitbake rev: 9facf3604759b00e8fe99f929353d46f8b8ba5cb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:35 +00:00
Pascal Bach
087424d925 bitbake: parse/ast: Fix issue if path contains '&'
(Bitbake rev: 4fea138f7cef53626a40decb96207dbaf9284020)

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:35 +00:00
Alexandru DAMIAN
4f7182775c bitbake: toastergui: update project build listing
We update the build listings in the project mode to enable
proper display and selection of build requests that do not have
an actual build object because the bitbake process did not start.

We add a page to display error details for build requests that
did not start a build.

Fixing errors and misspelling in build sections.

Sorting by "timespent" is disabled for build-listing pages.

[YOCTO #7165]
[YOCTO #7156]
[YOCTO #7196]
[YOCTO #7188]

(Bitbake rev: ee13bf45cecd6a0132d724b3206a6f4515669496)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:35 +00:00
Alexandru Damian
fefef50e54 bitbake: toasterui: do not filter images by extension
ToasterUI filters build artifacts by extension in order
to determine if a build artifact is an image or not.

Using IMAGE_FSTYPES for this purpose is not correct as
the varible value holding image extensions is just a coincidence.

So we just look if the filename contains the "rootfs" magic
string, which is a pretty good approximation.

[YOCTO #7213]

(Bitbake rev: b11e8bd626e0212ee72914529c3d92d1dd718674)

Signed-off-by: Alexandru Damian <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:35 +00:00
Belen Barros Pena
32b396b8e1 bitbake: toastergui: alignment fix
Align horizontally the pagination and show rows
controls at the bottom of the layer details page.

(Bitbake rev: 8be4a8cf1673112e9e613e719fa6ed96dbca8976)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:35 +00:00
Belen Barros Pena
bc63d6bc7b bitbake: toastergui: remove recipe id links to the layer index
Toaster cannot use the recipe id to link to the layer
index, because recipe ids can change. We need to search
by the recipe name instead.

This patch removes the recipe id link from the layer
details page and replaces it with a search by the
recipe name.

It also makes sure links to the layer index open in
a new tab/window.

[YOCTO #7194]
[YOCTO #7193]

(Bitbake rev: 947ef663e452c15933218fd680875ade7cb46e9a)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:34 +00:00
Belen Barros Pena
a9c0865239 bitbake: toastergui: consistent capitals in button
Capitalise correctly the 'Build target' button label in
the layer details page: it should match the table heading.

(Bitbake rev: 4d52ceb7e66835a3088d83cd4caa002a3e7a1297)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:34 +00:00
Belen Barros Pena
05f5435563 bitbake: toastergui: hide table controls when when less than 10 entries
The 'show rows' and pagination controls in the layer details
page should only show when there are more than 10 entries
in a table.

[YOCTO #7217]

(Bitbake rev: 5399738fb2e2956a7d4ce59699dc4b6f6c67bbb2)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:34 +00:00
Belen Barros Pena
8a2ec99aad bitbake: toastergui: set column width in layer details page
Set the width of the action columns to span2 to stop
the buttons from wrapping as much as possible.

(Bitbake rev: 4282a92fe3652c52448dba3d5f3fc4e1de28be63)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:34 +00:00
Belen Barros Pena
d4b9b0f416 bitbake: toastergui: add 'show all' link to no results page
When you search for targets or machines in the layer details
page and your search returns no results, you should
see a 'show all' link that you can click to clear the
search and display all table entries.

[YOCTO #7218]

(Bitbake rev: 70486fc36c5b6bd6b7b8e846e23ad4062d583877)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:34 +00:00
Belen Barros Pena
c748c7e68a bitbake: toastergui: give the add dependencies form some breathing space
In the editable version of the layer details page, the form to
add dependencies needs some distance from the dependency list.

(Bitbake rev: 2c576552118bcfe65d375ff809b3b4a4916da225)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:34 +00:00
Belen Barros Pena
088c19d644 bitbake: toastergui: consistent add / remove layer notifications
In my struggle to ensure consistency in the format and content
of the notifications we show when you add and remove layers to
a project, I've:

* added the project name to the notifications
in the layer details page

* removed the 'Go to project configuration' link
from the notifications in the layer details page

This changes align the notifications we show in the layer
details page with the ones we show in the 'all' pages.

(Bitbake rev: 87deeb2016cbfdaff5531e1badb58761af6df848)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:34 +00:00
Belen Barros Pena
571d551a2d bitbake: toastergui: remove redundant style declaration
The bottom margin for dd tags nested inside forms is
set twice. Delete one of them.

(Bitbake rev: 4fcea0aad1ac715d6eb104f60972007bc2289569)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:34 +00:00
Belen Barros Pena
c04977563f bitbake: toastergui: Generic message for the layer details empty states
In the layer details page, change the message you see when
the number of targets or machines provided by a layer is
0, either because that's what's reported by a layer index
instance, or because Toaster does not have any information
about the layer.

The new message is more generic, in order to fit layers from
all layer sources.

(Bitbake rev: 48123b53d66de01ad6273140aa148276d63707ba)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:34 +00:00
Belen Barros Pena
24979f5219 bitbake: toaster: apply common styles to right hand column of detail pages
Layer, recipe and package details pages have a right column
with additional information. This commit standardises the
formatting of the content in that right column across
all these pages by creating a new css class .item-info
in default.css

(Bitbake rev: aed92feac017c967834575344faa3bad7a905b18)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:34 +00:00
Belen Barros Pena
a11a34c60f bitbake: toaster: make layouts consistent
The layer details page should have the same layout as all
other detail pages (recipes, packages). For this to happen,
the basebuilddetailpage.html and baseprojectpage.html
templates should use the same layout, and so should the
layerdetails.html and recipe.html templates.

This patch also capitalises the string 'All layers' in the
breadcrumb of layerdetails.html as all other breadcrumb elements.

(Bitbake rev: 49d56fcbbf6b7d0c0c589b93182e4c73071b3fcf)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 22:11:33 +00:00
Richard Purdie
e2cffc00e1 scripts/send-error-report: Set exit code if error occurs
If an error occurs, set an error exit code so the world knows about it. This fixes
issues where the autobuilder doesn't notice these failures.

[YOCTO #7265]

(From OE-Core rev: b219377defc9517af360986352bd7da1a7906f10)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:52 +00:00
Richard Purdie
3f15d8a807 kernel: Fix depmod for multilib
Using populate_sysroot for this data was a nice idea but flawed as it
doesn't work in multilib builds. Instead we can use PKGDATA_DIR since
this is consistent over multilib builds. It also turns out to be
slightly neater code too. Hopefully this resolves the problem once and
for all.

(From OE-Core rev: 6cccae3ca54c1177a1d91d23c3e151d74e735ee9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:52 +00:00
Richard Purdie
36bd248463 image: Add missing depends on virtual/kernel for depmod data
We need the depmod data so that the kernel depmod command works successfully
at rootfs time. The fact this was working inconsistently is now highlighted
after the command was made to error out. A simple test case is:

bitbake virtual/kernel image
bitbake vrituak/kernel -c clean
bitbake image -c rootfs -f

We fix it by adding the missing dependency, the data is in PKGDATA_DIR and
hence we use packagedata.

(From OE-Core rev: 41f0f86ec0a3e0b6f6c9bb4ef71a4215c00bf66c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:52 +00:00
Ross Burton
08c64b5af6 security_flags: disable PIE on expect
Disable PIE in expect as otherwise it tries to link the shared library as an
executable.

(From OE-Core rev: fe1f5c90eede593100fe57630d39cf329e59ef8f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:52 +00:00
Andre McCurdy
7bc6794740 logrotate: fix missing acl and libselinux dependencies
(From OE-Core rev: 3c7d6a4442931aa7e33ee960f554b0eed11160df)

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-01-29 15:36:52 +00:00
Dan McGregor
474661b0a0 dpkg: fix host contamination
Force dpkg to use "tar" on the target.

The dpkg configure script looks for gnutar, gtar, and
tar in order. If it finds gnutar or gtar on the host
it expects to use that as its tar program on the target.
Without this, if gtar exists (as it does on my system) then
dpkg will consistently fail on the target with an error about
gtar not being found.

(From OE-Core rev: 45bcb1ea92f244df4745aca6f9f9556c43e9b6ce)

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-01-29 15:36:52 +00:00
Markus Lehtonen
3592507a14 combo-layer: support updating up to arbitrary commit
Support defining the top commit up to which to update. In other words,
this makes it possible to update up to certain point other than the
branch head. The update point (git commitish) is given on the command
line by appending the component name(s) with a colon and the commitish,
e.g.
 $ combo-layer update my_component:sha1

Only the "update" action supports this.

(From OE-Core rev: b7ee7cf5bbfd0f305a75e4df9455f9968aa67878)

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-01-29 15:36:52 +00:00
Markus Lehtonen
62d94a44ae combo-layer: minor refactor
Change get_repos() to assume a list of repository names instead of full
list of command line arguments.

(From OE-Core rev: d2d8f3c2a7570bb74db713ddc83059d3b3bd4b2e)

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-01-29 15:36:51 +00:00
Ting Liu
f51e79b000 libunwind: Fix test case link failure on PowerPC with Altivec
(From OE-Core rev: 5f6e2a9a474e96332879329deb358219f1328464)

Signed-off-by: Ting Liu <ting.liu@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:51 +00:00
Andre McCurdy
8754c8a9bf udev: remove obsolete dependency on acl
udev_acl was removed from udev in v182.

(From OE-Core rev: 060057d1aa769cefcea5928594927bc60901c804)

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-01-29 15:36:51 +00:00
Andre McCurdy
693d455b11 udev: fix missing dependency on glib-2.0-native
udev compile requires glib-genmarshal and glib-mkenums

(From OE-Core rev: 215f06b746d0194e8b6221b1c23ca7c2cf5c6664)

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-01-29 15:36:51 +00:00
Ting Liu
d963f3b185 bitbake.conf: add PKGDATA_DIR to BB_HASHBASE_WHITELIST
In meta/conf/bitbake.conf, PKGDATA_DIR is default to:
PKGDATA_DIR = "${STAGING_DIR_HOST}/pkgdata"

But in meta/conf/multilib.conf, PKGDATA_DIR is set as:
PKGDATA_DIR = "${STAGING_DIR}/${MACHINE}/pkgdata"

When multilib enabled, linux-libc-headers cache will be machine
specific:
$ bitbake-diffsigs sstate-cache/1a/sstate:linux-libc-headers:ppce6500-poky-linux:3.17.7:r0:ppce6500:3:1a0c3934d91479fd7242a5b1d407d155_package.tgz.siginfo sstate-cache/28/sstate:linux-libc-headers:ppce6500-poky-linux:3.17.7:r0:ppce6500:3:28c918e8f9f4a4cfceb3a38b258f7501_package.tgz.siginfo
basehash changed from 8d3158bbddcee612fa30badd05f47b8e to 68ac258fc6c8e489f360fde3123a5894
Variable MACHINE value changed from 'b4420qds' to 'b4860qds'

(From OE-Core rev: c511f65a3ccfcbaabd2ba1d1c89be81498240a2b)

Signed-off-by: Ting Liu <ting.liu@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:51 +00:00
Koen Kooi
609898aab9 linux-dummy: provide empty shared_workdir method
Perf.bb (among others) requires access to the kernel source, so have linux-dummy fake that as well. As before, perf will fail to build, but there are use cases where this patch is needed. For example a perf.bbappend that will always build it from the debian linux-tools tarball.

Using linux-dummy is still a bad, bad idea, but it shouldn't start breaking existing use cases.

(From OE-Core rev: 56142f002046d319a2cdc326ea8f8c0892f3061f)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:51 +00:00
Li xin
86c77aca5b elfutils_0.148.bb: CVE-2014-9447 fix
Reference: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-9447

(From OE-Core rev: c992868a989926eac6c4b78a6bb9729bce54f2ed)

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-01-29 15:36:51 +00:00
Martin Jansa
6e02676d2c recipes-qt: add x11 to required DISTRO_FEATURES
* it's not complete, but recipes depending on virtual/libx11 are easiest
  to spot, I've long list of PNBLACKLIST for all recipes which cannot
  be built in distro without x11 in DISTRO_FEATURES

(From OE-Core rev: fda535d5b5239b091c79e957f68a45d4eab0ab5d)

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-01-29 15:36:51 +00:00
Khem Raj
6618cff562 libpng: Upgrade to 1.6.16
License checksum changed because of date change like below

-libpng versions 1.2.6, August 15, 2004, through 1.6.13, August 21, 2014, are
+libpng versions 1.2.6, August 15, 2004, through 1.6.16, December 22, 2014, are

Change-Id: I7a2a950ef06c0bd8950a65b273bde5c214e6d3c7
(From OE-Core rev: 929ccf90d9cbf6a10a263b59e5f02b0542d73899)

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-01-29 15:36:51 +00:00
Khem Raj
c55165e078 gmp: Change the SRC_URI to reflect upstream changed location
This avoid warnings during parse though it gets it from
yocto mirrors builds dont fail.

Change-Id: Idc33d14802862196a2094ef712781530b8a9b35b
(From OE-Core rev: 70be13c9ce052c6a1bfb2978849ed5a2a7b5dd2d)

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-01-29 15:36:51 +00:00
Khem Raj
dc11c0ee2b icu: Upgrade to v54
The license checksum changed because instead of having
the license text in the local html file it is now
referred to as a href to url

Change-Id: Ifd93cbf4d22d2842c97e8c0d72d8a6378cf3b095
(From OE-Core rev: e565952276319325f658e8fc21d4cfab7ad3cac6)

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-01-29 15:36:50 +00:00
Khem Raj
ca1cd18955 usbutils: Fix typo in md5sum
Change-Id: I69b8df20e368de777bce3739dd766e9857625d10
(From OE-Core rev: 7e5df1901e9648364e51d8b49d113a68c6cae084)

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-01-29 15:36:50 +00:00
Jun Zhu
b7d334df3c xserver-xorg: Add the patch to fix subwindow in Xi emulated events
(From OE-Core rev: e82c9e8098326f2ec070471b7a3daed21cc2cd28)

Signed-off-by: Jun Zhu <R01007@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:50 +00:00
Chen Qi
14ef8b98bb udev-cache: avoid using '-L' for stat
stat command from stat package doesn't support '-L' option, so avoid
using it to get rid of boot errors like below.

Populating dev cache
stat: invalid option -- 'L'
Usage: stat [-l] [-f] [-s] [-v] [-h] [-t] [-c format] file1 [file2 ...]

[YOCTO #7210]

(From OE-Core rev: 4ef8cc01906833847386fd441d87a89cbdda7e25)

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-01-29 15:36:50 +00:00
Saul Wold
2b7d3110fc util-linux: move readprofile to match busybox
This change moves readprofile from /sbin -> /usr/sbin to match busybox,
the change allows update-alternative to correctly setup the links

[YOCTO #7225]

(From OE-Core rev: 43424eb3c8bf03a2f9ec331b78dd4040dd39eacd)

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-01-29 15:36:50 +00:00
Chen Qi
0962b29d48 libsm: remove dependency on e2fsprogs
This patch is to solve the following circular dependency problem.

     systemd -> dbus -> libsm -> e2fsprogs -> util-linux -> systemd

libsm doesn't have any dependency on e2fsprogs. It might be some dependency
on util-linux's libuuid, controlled by configure options. So e2fsprogs should
be removed from the DEPENDS variable.

Ideally, we should add a PACKAGECONFIG for 'libuuid' for libsm. However, if
libsm depends on util-linux, we would have the circular dependency described
above. That's why this patch explicitly set '--without-libuuid' in EXTRA_OECONF.
libsm would still be working well because it would fall back to an internal
algorithm to do the uuid stuff.

(From OE-Core rev: 5e7d6f40149be69a3e3b17b28ce3f687a93b40fa)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:50 +00:00
Chen Qi
2e8b1b47da systemd: remove util-linux from DEPENDS
Remove 'util-linux' from DEPENDS so that we don't have the following circular
dependency issue.

    systemd <--> util-linux

This dependency was first introduced into the recipe without saying any reason
about it. After checking the source files in systemd, I can guess that the
reason might be udev making use of libblkid. However, we actually have
./src/udev/udev-builtin-blkid.c. So this dependency is not necessary and could
be safely removed.

(From OE-Core rev: b45e54137cfb013fd473507d5d1406f8807e0e63)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:50 +00:00
Chen Qi
0f8c09193e util-linux: upgrade to 2.25.2
fix-configure.patch is removed as it's not appropriate, and the new
version of util-linux has solved the problem this patch is trying to solve.

util-linux-ensure-the-existence-of-directory-for-PAT.patch is removed as
the new version of util-linux has solved the problem this patch is trying
to solve.

util-linux-native.patch is rebased.

util-linux-ng-replace-siginterrupt.patch is rebased.

Add PACKAGECONFIG for 'pylibmount' to build out python bindings for libmount
optionally. util-linux-pylibmount is added to PACKAGES if PACKAGECONFIG has
'pylibmount' in it.

Fix PACAGECONFIG for 'systemd' as the new version has changed things related
to systemd. Now util-linux would have a dependency on systemd if 'systemd' is
in PACKAGECONFIG.

Fix SYSTEMD_PACKAGES, SYSTEMD_SERVICE and SYSTEMD_AUTO_ENABLE variable to match
the new version.

Four lines in do_compile task are deleted because they caused do_compile failure
and nowhere in util-linux are they used. Corresponding files are also removed.

(From OE-Core rev: 264e2fde3a8624c87d2451d2752c9f3ed8911672)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:50 +00:00
Martin Jansa
09aa2b1ed8 libav: drop older 0.8.* and use libav-9 by default
(From OE-Core rev: 4ceff7d0a1f28eb1ce5d288111015bff8d5e9a7e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:50 +00:00
Martin Jansa
872b656e88 libpostproc: import from meta-oe
(From OE-Core rev: bb6f073adb1613930a14c9c6f9d7d9ae2e7b59c0)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:50 +00:00
Martin Jansa
f78bf87ea9 gst-ffmpeg: add dependency on libpostproc
* building with libav-9 fails with:
  | checking for POSTPROC... configure: error: Package requirements (libpostproc libavcodec libavutil) were not met:
  |
  | No package 'libpostproc' found

(From OE-Core rev: 8765c31cbe1909b8040953e5a90ad454c541eb81)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:50 +00:00
Max Krummenacher
57351e90ba udev: don't keep ptest testdata laying around
Only unpack udev's testdata right before executing the tests and cleanup
afterwards.

udev's testsuite can be used by ptest. However currently the testdata against
which its functionality is tested is installed in the sysroot at udev install
time.
If the sysroot is used with qemu the testdata makes qemu entering an infinite
loop.
http://lists.openembedded.org/pipermail/openembedded-core/2014-September/097098.html

This has already been fixed for the systemd udev flavour.
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5664

(From OE-Core rev: 3f799b173d871160ab24666920f5e7ab4e09fd42)

Signed-off-by: Max Krummenacher <max.oss.09@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:49 +00:00
Max Krummenacher
0d5ac1a1de udev: fix ptest rule syntax check
The ptest which checks for correct udev rules fails.
Missing files and paths for the build host caused this.

(From OE-Core rev: 2c9773e71ed757f1ff3306eb716d22a71defeb25)

Signed-off-by: Max Krummenacher <max.oss.09@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:49 +00:00
Maxin B. John
29de3d27c2 ltp: update to 20150119 release
Update LTP to 20150119 release
1. Remove 2 upstreamed patches
2. Add 'expect' to run time dependency and install the tests which
   depend on it.
3. ffsb related configuration problem was fixed in this release.

(From OE-Core rev: 01f91eaa81a986424bf7e9a6b65a73f6395e54cf)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:49 +00:00
Philip Balister
b688d55d10 orc : Update to 0.4.23.
Orc has moved to freedesktop.org, so the fetch URL changed. Dropped the .inc
file and PR from the recipe.

This version fixes a bug that led to problems on armhf abi builds.

https://bugzilla.gnome.org/show_bug.cgi?id=727464

(From OE-Core rev: cca0ccfa9d019131f0c206f46d4f6af3e1eb2cf7)

Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:49 +00:00
Theodor Gherzan
af691920c0 kernel-yocto.bbclass: Bug Fix inside do_kernel_checkout()
--047d7b3a7fac0eebee050cb47483
Content-Type: text/plain; charset="UTF-8"

 After we check the existence of 'machine_branch' with 'git show-ref'
 the following if statement should change the 'machine_branch'
 to the default (i.e. master) if the 'git show-ref' has returned an
 exit code that is not 0, not the other way around.

 Signed-off-by: Theodor Gherzan <theodor@resin.io>

(From OE-Core rev: cc95da21914d08bfbf1936830985f824e8813904)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:49 +00:00
Mark Hatle
3bf5b6de3e arch-mips.inc: Change definition of TRANSLATED_TARGET_ARCH
[YOCTO #7230]

In certain system configurations TRANSLATED_TARGET_ARCH will not
expand in the right order for gcc-cross-candian-mips64n32 to be
generated properly.

This will cause SDKs to fail to generate properly.

Changing the global definition of TRANSLATED_TARGET_ARCH always
expands the ABIEXTENSION, which causes the OVERRIDES to pick it up
as well.  This effectively defines a new class of overrides for the 'n32'.

The side effect is that we need to duplicate some mips64 overrides, and
redefine others that were previously 'n32' or 'mips64' exclusive to have
the correct semantics.

(From OE-Core rev: 4b3a2b703b20583bd107f00a297d972e9bfb514a)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:49 +00:00
Mark Hatle
e558e5489d feature-arm-thumb.inc: Remove extra space on thumb override
The extra space makes the overrides look like "foo:bar: thumb:foobar".

This may prevent thumb from working properly, and the space was never
intended in the original fix.

(From OE-Core rev: 330119da319a08c13ca3350270a95d66d18ffb94)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:49 +00:00
Jackie Huang
9e44be4b60 dmidecode: add powerpc64 to compatible host
(From OE-Core rev: 8f2928dbfedb001c44795c4239502b6d51684677)

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-01-29 15:36:49 +00:00
Dan McGregor
6a41dd1bd1 gcc-sanitizers: fix licensing
The sanitizer runtime library is dual-licensed under the NCSA
and MIT licenses.

Also make nativesdk-gcc-sanitizers use SDKGCCVERSION by default
instead of GCCVERSION

(From OE-Core rev: 4ed21998827060745d2858e2d6c121baf823e64a)

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-01-29 15:36:49 +00:00
Patrick Ohly
b2b62c3608 binconfig-disabled: install config scripts in sysroot
The purpose of binconfig-disabled is to manipulate config scripts such that
using them causes errors. But that only works when the modified config script
really gets installed in the sysroot. That is not the case with the staging
code in binconfig.bbclass.

Only patched config files get staged. For that reason it seemed more
appropriate to change binconfig-disabled instead of binconfig.

The reason for the change was the observation that the swig recipe needs
pcre-config installed on the host system. Staging pcre-config removes that
host dependency. swig did not actually end up *using* the pcre-config from the
host, because later during do_compile the patched configure.ac is used to
re-generate configure.

(From OE-Core rev: 822df6d23c9c24e131c38fda9f0012c47ad7af46)

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-01-29 15:36:49 +00:00
Patrick Ohly
5e6e95d71b binconfig-disabled: try harder to prevent usage of config scripts
Returning a non-zero exit code is not enough to cause errors when configure
scripts call the patched config scripts: for example, swig's configure script
uses PCRE_LIBS=`$PCRE_CONFIG --libs` and does not abort on errors. Using empty
output may then succeed, for example when the required library is available
indirectly.

Returning some nonsense command line arguments covers such cases, because
using them will definitely lead to errors during compilation. The faked
arguments were chosen such that these errors can be linked back to the root
cause.

(From OE-Core rev: d1ff61a16a3fcfdd7cf882bc89fb1d164cb1603a)

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-01-29 15:36:49 +00:00
Qian Lei
0383bb8658 lighttpd: Use PACKAGECONFIG to enable openssl
Enabled openssl defalutly to use https, just like ubuntu do.

(From OE-Core rev: 549c9cb6a7b0e989ffcefed8219eedaa6f13c6c8)

Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:48 +00:00
Juro Bystricky
c453597d44 eglibc-use-option-groups.patch: Various fixups
Build suppport for mutibyte character handling only when
__OPTION_EGLIBC_LOCALE_CODE evaluates to 1.
Fixes missing .out suffix for several tests to be built.
Fixes building of locales needed for several tests. Do not use
cross-localedef to build locales. Use localedef built with the
newly built libgc instead.

Fixes:
[YOCTO #6809] [YOCTO #6796] [YOCTO #6797]

(From OE-Core rev: f01800d46de95f55d7a90d4a2523788368f7c025)

Signed-off-by: Juro Bystricky <jurobystricky@hotmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:48 +00:00
Mark Hatle
2af94b0af6 python-smartpm: Fix attemptonly builds when file conflicts occur
[YOCTO #7299]

When file conflicts occur, the RPM transaction aborts.  Instead of
simply accepting the failure, we now identify, capture, and remove
the offending package(s) from the transaction and retry.

(From OE-Core rev: cd475aea5f5bc4b6a2dd3e576070a117ae079597)

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-01-29 15:36:48 +00:00
Otavio Salvador
5656567104 u-boot-fw-utils: Fix the cross build
This merges the u-boot-fw-utils-cross into the main u-boot-fw-utils
recipe and fixes the build failure seen since 2014.07 update.

The cross package now is handled using an extended class instead of a
duplicated recipe.

(From OE-Core rev: e9e0235f64250614c79f1749843f5559be32fefd)

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-01-29 15:36:48 +00:00
Lei Maohui
f687f9922a libidn_0.6.14: fix the QA Issue
To fix the QA Issue as following:
ERROR: QA Issue: libidn: Files/directories were installed but not shipped
  /usr/share/emacs
  /usr/share/emacs/site-lisp
  /usr/share/emacs/site-lisp/punycode.el
  /usr/share/emacs/site-lisp/idna.el [installed-vs-shipped]

(From OE-Core rev: 510837cacdc98acc42ea36bd5bd1841dbff418e4)

Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:48 +00:00
Armin Kuster
6a63df761c glibc: CVE-2014-9402 endless loop in getaddr_r
The getnetbyname function in glibc 2.21 in earlier will enter an infinite loop
if the DNS backend is activated in the system Name Service Switch
configuration, and the DNS resolver receives a positive answer while processing
the network name.

(From OE-Core rev: f03bf84c179f69ef4800ed92a4a9d9401d0e5966)

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-01-29 15:36:48 +00:00
Armin Kuster
5db14d5cf3 nss: update package to 3.17.3 and build fix
Update includes:
CVE-2014-1569
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-1569

for changelog information see
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_3.17.3_release_notes

We had a build failure on 32 bit hosts so including a patch from:
 http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=mhatle/dora-misc

Wenzong Fan (1):
  nss: workaround multilib build on 32bit host

(From OE-Core rev: ccb86249b2b29686303ed04aac74887f0fa490df)

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-01-29 15:36:48 +00:00
Fabien Proriol
dacbc744bf boost: Avoid to use local host configuration
(From OE-Core rev: 6586aeb3e26d58322c169dfef0228a425fe5d3fa)

Signed-off-by: Fabien Proriol <fabien.proriol@jdsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:48 +00:00
Enrico Scholz
43dc6b5974 image_types.bbclass: manage 'cpio_append' directory
For cpio images, do_rootfs() can operate on a dirty '${WORKDIR}/cpio_append'
directory which contains e.g. files from previous builds.  This can cause
unwanted files in the image or can break the build.

E.g. when there is a cpio_append/init -> /sbin/init symlink symlink, the
'ln -sf' can fail due to SELinux restrictions:

| $ ls -la cpio_append/init
| lrwxrwxrwx. 1 ensc ensc 10 22. Jan 16:26 cpio_append/init -> /sbin/init
|
| $ strace ln -sf /sbin/init cpio_append/init
| ...
| stat("cpio_append/init", 0x7fffbb9ca310) = -1 EACCES (Permission denied)
| exit_group(1)                           = ?

Patch cleans up 'cpio_append' before executing the 'do_rootfs' task by
adding it to 'cleandirs'.  An alternative implementation (which avoids
creation of this empty dir for non-cpio images) might remove it within
IMAGE_CMD_cpio, but this might break builds where people rely on the
existence of this directory (e.g. to add local files).

(From OE-Core rev: 4db3cc2360289c062fa0df4678f2f2ef990f0c1a)

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-01-29 15:36:48 +00:00
Enrico Scholz
e598bd52ef image_types.bbclass: fixed 'init' creation for cpio images
When /init is a dangling symlink or a symlink to a file which can not be
stated on the build system (e.g. due to SELinux restrictions), the '[ !
-e .../init ]' test will succeed which causes the manual creation of
/init.

E.g. here:

| $ ls -la cpio_append/init
| lrwxrwxrwx. 1 ensc ensc 10 22. Jan 16:26 cpio_append/init -> /sbin/init
|
| $ strace /bin/test -e  cpio_append/init
| stat("cpio_append/init", 0x7fff374a9db0) = -1 EACCES (Permission denied)
| exit_group(1)                           = ?

To test for the existence of a file, both '-L' and '-e' checks must be
executed and to prevent SELinux noise, the '-L' should happen before
'-e'.

(From OE-Core rev: 2aa5d2880ee3578f4965f245addd365fb7b1c1ca)

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-01-29 15:36:48 +00:00
Gustavo Sverzut Barbieri
579aa720a4 kmod: new PACKAGECONFIG debug and logging to help reduce binary size.
debug and logging will make kmod and its library bigger than expected
due many strings in the resulting binaries. While these are useful for
development, they are of no use for deployment.

With them enabled kmod is 154Kb, libkmod is 99Kb. Disabling reduces to
kmod 139Kb (10%) and libkmod 83Kb (19%) on i586 stripped.

(From OE-Core rev: 907514c1b2d07231eb6ec63d21ad5dc25e731b29)

Signed-off-by: Bruno Bottazzini <bruno.bottazzini@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:47 +00:00
Pascal Bach
db8e08ca92 base-passwd: Don't replace $ variables in passwd and group files
This allows the usage of "$type$salt$encrypted_password" passwords in the passwd file.

(From OE-Core rev: 620b100f54c379661a8c48a1eb78ed94cd3b7a49)

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
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-01-29 15:36:47 +00:00
Saul Wold
99ee41b204 build-appliance-image: Upgrade for 1.8 Master
(From OE-Core rev: 1e21da3877f1d3ce842ae012ac606be363b080c3)

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-01-29 15:36:47 +00:00
Saul Wold
fd37993d24 mkfontscale: Upgrade to 1.1.2
(From OE-Core rev: 0ccc2aaee4ad0348f971a425e7f9877817dea8b0)

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-01-29 15:36:47 +00:00
Hongxu Jia
2baa624fdf libxml-parser-perl: upgrade to 2.44
(From OE-Core rev: 11a290a03cc45ca45b09b658e66641f481708b7c)

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-01-29 15:36:47 +00:00
Paul Eggleton
8bef63373d gcc: ensure target gcc headers can be included
There are a few headers installed as part of gcc-runtime (omp.h,
ssp/*.h). Being installed from a recipe built for the target
architecture, these are within the target sysroot and not
cross/nativesdk; thus they weren't able to be found by gcc with the
existing search paths. Add support for picking up these headers
under the sysroot supplied on the gcc command line in order to
resolve this.

Thanks to Richard Purdie for giving me a number of pointers during
fixing this issue.

Fixes [YOCTO #7141].

(From OE-Core rev: 5c87bb9ac2b35b3f8cf2b7d3e4507e7013115162)

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-01-29 15:36:47 +00:00
Ting Liu
a3dbfc82ed bind: fix typo chown->chmod
(From OE-Core rev: a6ee74222b43d0bb7fe9ef0072ede78f82a5e446)

Signed-off-by: Ting Liu <ting.liu@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:47 +00:00
Hongxu Jia
c4c885b838 distcc: fix initscript can not stop distcc daemon correctly
The distcc's initscript has used option '--pid-file' to save daemon
process id, but it didn't to create that file, that caused start/stop
distcc daemon failed.

We refer what Ubuntu 14.04 did, create pid file before start and
delete it after stop

[YOCTO #7090]

(From OE-Core rev: 3b0d6c7c324f0283cfab10445d1a5a3bf2526598)

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-01-29 15:36:47 +00:00
Mark Hatle
959759bfb9 gcc/libgcc-common.inc: Add missing 'fakeroot' to two tasks
Without the fakeroot flag the two tasks may create files or
symbolic links that end up being owned by the user and not
root:root as expected.

(From OE-Core rev: 7e9fd9d34a540fdfc1243d059d1f13f1d09864d2)

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-01-29 15:36:47 +00:00
Soren Brinkmann
867758c971 shadow: securetty: Add Xilinx Zynq SoC
Add Zynq's console devices to securetty.

(From OE-Core rev: 82f5fd5f39b1c665098dd5ca567cbb2b5d955924)

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:47 +00:00
Peter Seebach
2323efc799 pseudo_1.6.x.bb/pseudo_git.bb: Pseudo 1.6.4
pseudo 1.6.3 merges (with some changes) the changes from
Peter A. Bigot to make --without-fallback-passwd work. It
also adds a proposed fix for Yocto bug #7097, which has
passed the obvious tests I could think of.

pseudo 1.6.4 fixes a silly configure bug introduced with
1.6.3.

[YOCTO: #7097]

(From OE-Core rev: 67298d4fe6d96692a4e0578a44cc1a0bbf2cdc2b)

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-01-29 15:36:47 +00:00
Petter Mabäcker
07f2eca7e9 tiny-init: set proper S value
Ensure that we are using a proper value for S, instead of the default
value.

All recipes must have a proper value set for S when solving [YOCTO #5627].

(From meta-yocto rev: 5ed1f6622435d8a38c472c8e5e5876900c9fc0f8)

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-26 12:09:36 +00:00
Richard Purdie
745cebd635 bitbake: siggen: Ensure taskdata default functions exist in base class
The get/set_taskdata functions are now part of the API of the class,
ensure they exist in the base class definition so the noop handler
works.

[YOCTO #7233]

(Bitbake rev: 9b5b1bd7d77e3f5886f6c557d3b750de1f6d6025)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 14:39:44 +00:00
Richard Purdie
2b899a472a net-tools: Fix rerunning of do_patch task
Rerunning the do_patch task currently fails. The code is nearly correct
but needs to remove the quilt ".pc" directory and move the secondary
one into place in order to rerun, not move it into the .pc directory
as the code currently does.

[YOCTO #7128]

(From OE-Core rev: 2a775ebbb175dd70fc7228607c306d4ccb9e4ba4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 14:32:42 +00:00
Richard Purdie
11ef55a93b kernel/image/depmodwrapper: Fixups for depmod
With the rpm package backend enabled, running:

bitbake <image>
bitbake virtual/kernel -c clean
bitbake <image> -c rootfs -f

results in an image with incorrect kernel module dependency information.
The problem is that the System.map and kernel-abiversion files are needed
for depmod and after the recent kernel changes, these are no longer in
sstate.

Its reasonable to require the kernel to unpack/build if you're
about to build a module against it. It is not reasonable to require this
just to build a rootfs.

Therefore stash the needed files specifically for depmod.

Also fix some STAGING_KERNEL_DIR references which were incorrect, found
whilst sorting through his change.

(From OE-Core rev: b851504dcf5e147c9efb1c7b6a4d22c1a1a87cd7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 14:32:02 +00:00
Daniel Dragomir
46dba26374 gcc-runtime: Remove libgfortran data from receipe
Remove libgfortran packages from PACKAGES list as long as libgfortran
has separate receipe since commit

5bde5d9b39
gcc: Allow fortran to build successfully in 4.8

Otherwise, when fortran support will be enabled in the compiler, both
lingfortran and gcc-runtime receipes will create the same files and will
try to install them. This will cause errors:

ERROR: The recipe libgfortran is trying to install files into a shared
area when those files already exist. Those files and their manifest
location are: ...
Please verify which recipe should provide the above files.

(From OE-Core rev: 872342fa3d08edede4a0105ac3ddb0f2ae3224b4)

Signed-off-by: Daniel Dragomir <daniel.dragomir@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:31 +00:00
Mike Looijmans
a9102e5bf9 package.bbclass: Let PR server update PKGV, not PV
PV is the package version as we need it to be during the build. PKGV is the
final version as it ends up in the package, and defaults to PV.

The packager handled builds without PR-server by replacing the AUTOINC string
in PKGV, but when the PR-server is being used, the script replaces the contents
of PKGV with the PV if the PV contains "AUTOINC". Thus the packager overrides
any change to PKGV the recipe might have made.
This breaks classes like gitpkgv that provide a correctly numbered PKGV, the
number as calculated by that class will simply be replaced with a 0-based index
from the PR-server.

This patch makes the packager look at the PKGV version instead of the PV, and
update the PKGV only based on the PKGV contents as set by the recipe.

See also the discussion here:
http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100329.html

From investigating the history of the code and changes in the past year, the
use of "pv" instead of "pkgv" appears to be just an oversight, introduced in:
commit b27b438221e16ac3df6ac66d761b77e3bd43db67 "prs: use the PRServer to replace the BB_URI_LOCALCOUNT functionality"
A later commit 865d001de168915a5796e5c760f96bdd04cebd61 "package/prserv: Merge two similar functions into one"
silently fixed this only for the case without PR-server by using pkgv there.

(From OE-Core rev: 7895c0a67d381ff66668fca5207bd196f36c91db)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:31 +00:00
Richard Purdie
8bab098c36 lib/oe/package: Ensure strip breaks hardlinks
Normally, strip preserves hardlinks which in the case of the way our hardlink
rather than copy functionality works, is a disadvantage and leads to non-deterministic
builds. This adds a move into place after the strip operation to ensure hardlinks
are broken and we bring back build determinism.

(From OE-Core rev: 7c0fd561bad0250a00cef63e3d787573112a59cf)

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-01-23 11:36:31 +00:00
Philip Tricca
7f58a85337 python-2.7-manifest: Add package for contextlib module
This is required for python code using 'with' statements.

(From OE-Core rev: 27dbacdb88ee3e79f4c95a779d8a7e8c5c8f941d)

Signed-off-by: Philip Tricca <flihp@twobit.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:31 +00:00
Hongxu Jia
3948336d8d dhcp: not override site.h
Previously, site.h was overridden for setting _PATH_DHCPD_CONF
and _PATH_DHCLIENT_CONF, it caused other MACROs were missing,
so we use a patch to instead.

The macros NSUPDATE and COMPACT_LEASES existed in site.h

(From OE-Core rev: c9281266ea3b56a2a44ab5e543ead5cd0f80a42f)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:30 +00:00
Hongxu Jia
bee37d495d dhcp: upgrade to 4.3.1
Rebase fixsepbuild.patch to 4.3.1

(From OE-Core rev: 580c2398cb6c84d89badc22fd9f5453b74d73a79)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:30 +00:00
Hongxu Jia
02ee240db3 rpcbind: add PACKAGECONFIG for systemd
(From OE-Core rev: e3d3534f30afd52c4c8f5e8f9f098964b2f03c4b)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:30 +00:00
Hongxu Jia
38978eef17 rpcbind: upgrade to 0.2.2
Drop 0001-rpcbind-rpcuser-not-being-set-in-Makefile.am.patch
which has been merged to 0.2.2

(From OE-Core rev: 07a3ae994b293053c57f38b176e428322fb816bc)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:30 +00:00
Hongxu Jia
36763782fe man-pages: upgrade to 3.76
(From OE-Core rev: b5c979b90c42c1ae0351138aedd5d0d61083257b)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:30 +00:00
Hongxu Jia
f733dad3c5 gnupg: upgrade to 2.1.1
(From OE-Core rev: 6f53af6c3d6a09285f73bb946804b930055f71b2)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:30 +00:00
Hongxu Jia
e758eb535c xmlto: upgrade to 0.0.25
Drop obsolete_automake_macros.patch, it has been merged to 0.0.25

(From OE-Core rev: fc96d1443213f189b5fbfb25f2c1d23d6fbd6d92)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:30 +00:00
Hongxu Jia
0421c67c02 elfutils: upgrade to 1.161
Drop PREFERRED_VERSION_elfutils in meta/conf/distro/include/
tcmode-default.inc, it builds the latest version by default.

(From OE-Core rev: 7ff30c54439a761d66fd4ceca80073e3653373bf)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:30 +00:00
Paul Gortmaker
5832ed3340 packagegroup-self-hosted: package all of Python
Based on commit 745dfbc869fd593d1b92e2bc9c01d589ab21ade3
"buildtools-tarball: package all of Python", we do the same here
for packagegroup-self-hosted.

The switch to the fetcher where it added BeautifulSoup revealed
a shortcoming in the python packaged for the self hosting (missing
htmlentitydefs).  Here we fix it in the same way as what was done
for buildtools-tarball and include python-modules vs. all the
individual little chunks.

(From OE-Core rev: 4afbc5f7b2b8a6587110b16cda90e72c3e73a506)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:29 +00:00
Vincent Génieux
9839638238 fix '[[: not found' error message using dash
Remove bash specific syntax '[[ test ]]' replaced with '[ test ]'.

Fixes [YOCTO #7112]

(From OE-Core rev: f2ff849d5936d3dc5e24301e0620da265df50fea)

Signed-off-by: Vincent Génieux <vincent2014@startigen.fr>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:29 +00:00
Dan McGregor
c5fb558a1c packagegroup-core-sdk: add gcc-sanitizers to core SDK
(From OE-Core rev: 66ff089603618dc9b22532509bf39274bf6adf67)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:29 +00:00
Dan McGregor
166015c809 gcc-sanitizers: Enable GCC sanitizers
AddressSanitizer is a fast memory error detector.
ThreadSanitizer detects data races.
UBSanitizer detectes undefined behaviour.

All consist of compiler instrumentation and a run-time library.
The compiler instrumentation was already enabled, this builds
the run-time library component.

(From OE-Core rev: 1709bf0c3a84bb04bc52e9104ad8e09fba6c6f91)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:29 +00:00
Richard Purdie
5b985fd364 oeqa/utils/decorators: Try and improve ugly _ErrorHandler tracebacks
Currently, if one module is skipped, any other module calling skipModule
causes tracebacks about _ErrorHandler not having a _testMethodName
method.

This reworks the code in a way to avoid some of the problems by using
the id() method of the objects. It also maps to the correct name
format rather than "setupModule" or just skiping the item entirely.

(From OE-Core rev: 78d3bf2e4c88779df32b9dfbe8362dc24e9ad080)

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-01-23 11:36:29 +00:00
Robert Yang
52a837e027 perf: fix for rebuilding
Fix for rebuilding error:
make[3]: *** No rule to make target `/path/to/sysroots/qemuarm64/usr/src/kernel/tools/lib/traceevent//trace-seq.c',
needed by `.trace-seq.d'.  Stop.
make[2]: *** [sub-make] Error 2

(From OE-Core rev: 9dafa571ed0a40d21a886dec7704c31150b21942)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:29 +00:00
Martin Jansa
f63f4b5240 libav: drop unused FFMPEG_LIBS and move libpostproc only to 0.8.11
* standalone libpostproc recipe depends on libav, but current PACKAGES_DYNAMIC indicated
  that libav-9.13 also provides libpostproc

(From OE-Core rev: b142504d4e4e83d030c45e48ea333c387e8f5c88)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:29 +00:00
Martin Jansa
58d91fa32c xorg-app: add x11 to required DISTRO_FEATURES and cleanup dependencies
(From OE-Core rev: 1cf0245344ce272e7330cfe1b04a0ed7bd18e8f5)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:29 +00:00
Christopher Larson
1b7b58ac97 recipetool: add python dependency scanning support
This uses a standalone python script named `pythondeps` which now lives in
scripts. It supports scanning for provided packages and imported
modules/packages, the latter via the python ast. It's not perfect, and
obviously conditional imports and try/except import blocks are handled
naively, listing all the imports even if they aren't all used at once, but it
gives the user a solid starting point for the recipe.

Currently `python_dir` from setup.py isn't being handled in an ideal way. This
is easily seen when testing the python-async package. There, the root of the
project is the async package, so the root has __init__.py and friends, and the
python provides scanning currently just assumes the basedir of that dir is the
package name in this case, which is not correct. Forthcoming patches will
resolve this.

(From OE-Core rev: cb093aca3b78f130dc7da820a8710342a12d1231)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:28 +00:00
Christopher Larson
e490d79fb7 recipetool: add python buildsystem support
- Handles distutils & setuptools.
- Supports pulling metadata from PKG-INFO, .egg-info, & setup.py (via two
  different mechanisms).
- Doesn't handle python 3 yet.

(From OE-Core rev: 6ff693c71d97b4bcfde198c84cf9fac7185cccfd)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:28 +00:00
Gary Thomas
26f7732166 perl: Backport fix for bug #123591
This patch fixes a crash in perl when using formatted strings @...

(From OE-Core rev: 6ff3776bb7f1a7ba2fc641bfd9b8546c4bb02466)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:28 +00:00
Robert Yang
817606a90f grub-efi: bump the PR
Fixed when rebuild:
configure: error: source directory already configured; run "make distclean" there first

grub doesn't need bump since it always uses autotools (not
autotools-brokensep in the past).

(From OE-Core rev: eee108a6ce6237f8aa7ab10f78ea9b8f69c900a5)

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-01-23 11:36:28 +00:00
Robert Yang
e22020741a neard: fix B != S
And bump PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: 26937169a0cb04e71ddd79bae3bca6feb22fc369)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:28 +00:00
Robert Yang
7cd72306bf neard: fix parallel issue
There might be no src dir if the src/builtin.h runs earlier, create it
to fix the race issue:
src/genbuiltin nfctype1 nfctype2 nfctype3 nfctype4 p2p > src/builtin.h
/bin/sh: src/builtin.h: No such file or directory

(From OE-Core rev: 4b6762b924a561febede13b85330309dbf75da19)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:28 +00:00
Robert Yang
940c4179cc guile: fix installed-vs-shipped error
Fixed:
guile-2.0.11: guile: Files/directories were installed but not shipped
  /usr/lib64/libguile-2.0*-gdb.scm [installed-vs-shipped]

This is because when there is no file in the directory:
for f in libguile-2.0*; do
    [snip]
done

The f would be libguile-2.0* itself, use install-exec-hook will fix the
problem since it depends on install-libLTLIBRARIES.

(From OE-Core rev: 482c0c44e6efffed826cbc621a039dd0950847f8)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:28 +00:00
Robert Yang
b31e6e75ec Revert "guile: fixed installed-vs-shipped error"
This reverts commit 397f27cdce.

The fix isn't correct, caused:
install: cannot create regular file `/path/to/sysroots/x86_64-linux/usr/lib/libguile-2.0.so.22.7.2': File exists

will add a new fix.

(From OE-Core rev: d6469ecb0cd13596924a117a9bd5e19cd843c2a9)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:28 +00:00
Petter Mabäcker
cf72ede74d base.bbclass: detect when S has been set incorrectly
Currently base.bbclass is creating S if it's not created by unpacking
an archive or fetching a repository. If we avoid creating S we can detect
when S hasn't been set correctly, since it will not exist. Then we can tell
the user that they should set S to a proper value, instead of just failing
with odd errors in later tasks.

Besides removing the auto-creation of S this change will introduce a warning
if S is set incorrectly. The reason for not display an error and return
is due to all external layers that might have recipes that will fail otherwise
and that might be a bit to hard to start with. So use a warning until people
have had a chance to cleanup affected recipes.

[YOCTO #5627]

(From OE-Core rev: 0d84b9a8ba408d168cb8a92e895d2f7338d6da1b)

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:28 +00:00
Petter Mabäcker
4eb3db9a2c meta: set proper S value
After removal of auto-creating S we must ensure that all recipes are
using a proper value for S.

Fix all recipes that only need to set S equals to WORKDIR.

[YOCTO #5627]

(From OE-Core rev: 9d220b1bfe4589736604dd5a7129e3699377d830)

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:27 +00:00
Petter Mabäcker
00fbca6950 xorg-minimal-fonts: set and handle S in a proper way
After removal of auto-creating S we must ensure that all recipes are
using a proper value for S. Also do some minor adjustment after changing
value of S.

[YOCTO #5627]

(From OE-Core rev: dd7be09318b55a69cb8636e86d2af6e6b8140b31)

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:27 +00:00
Petter Mabäcker
06a2dd73ea lsof: handle S in a proper way
Since lsof are doing two unpacks and S should be set to match
the second unpack of an internal archive, we should let the build
system know that we are aware of this.

Solve this by temporarily set S like lsof are doing with SRC_URI.

[YOCTO #5627]

(From OE-Core rev: 3693b63c5d33a88591be818a942324954b12e076)

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:27 +00:00
Petter Mabäcker
ed3ddd467f makedevs: set and handle S in a proper way
After removal of auto-creating S we must ensure that all recipes are
using a proper value for S. Also do some cleanup of code not needed
after changing value of S.

[YOCTO #5627]

(From OE-Core rev: beae29727427f5da2a2287f29b4344538e6c3f1d)

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:27 +00:00
Robert Yang
32fb1de468 gnutls: fix sed command
The "sed 's/.bak//g'" matchs "bitbake", which would cause strange errors
when the S contains "bitbake", fix to "sed 's/\.bak$//'`"

(From OE-Core rev: 51a12be7104bc3925b700597c6d52238c0fc5044)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:27 +00:00
Robert Yang
b2f8367dff python3: fix for cross compiling
Fixed:
* python3 has introduced _PYTHON_PROJECT_BASE which is used for separate
  B and S, but it doesn't work when compile Modules, the target python3 runs
  python3-native's sysconfig to get srcdir which is the native's, there
  would be errors when native's srcdir has been removed, add
  _PYTHON_PROJECT_SRC to fix the problem.

* Check cross_compiling when get FLAGS

(From OE-Core rev: c33639963491f00f55b80299922895fe68b0637d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:27 +00:00
Maxin B. John
3873efd33c curl: Add PACKAGECONFIG for samba
curl 7.40.0 added support for the SMB/CIFS protocol. So provide
a PACKAGECONFIG option for smb.

Reported-by: Andre McCurdy <armccurdy@gmail.com>
(From OE-Core rev: c776fd463902594e77cf9a8199039714a078437c)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:27 +00:00
Ross Burton
8f9506bc1c at-spi2-core: pass correct path to dbus-daemon
at-spi2-core tries to find the dbus-daemon binary and hard-codes this path in a
script.  The first dbus-daemon it finds is the one in the target sysroot, so
explicitly pass the correct path.

(From OE-Core rev: 964ab1abf6faceb513ceb8618a74726a5086c319)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:26 +00:00
Robert Yang
c929bd3e9a texi2html: update po_document/Makefile.in.in for new gettext
* The autotools_do_configure updates po/Makefile.in.in, we also need
  update po_document and po_messages.

Fixed:
 *** error: gettext infrastructure mismatch:
using a Makefile.in.in from gettext version 0.18 but the autoconf macros are from gettext version 0.19

* Remove fix_gettext_version.patch, it wasn't a correct fix.

* Remove unneeded code from do_configure_append/prepend().

(From OE-Core rev: 5633b4e12560eab4c748e1fdf8216c3db310b34f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:26 +00:00
Robert Yang
77125fe038 texinfo: update po_document/Makefile.in.in for new gettext
The autotools_do_configure updates po/Makefile.in.in, we also need
update po_document.

Fixed:
 *** error: gettext infrastructure mismatch:
using a Makefile.in.in from gettext version 0.18 but the autoconf macros are from gettext version 0.19

(From OE-Core rev: ac7b5014cfb44b0b47adf24fa1f04152a36e142a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:26 +00:00
Robert Yang
b3dd5ecd52 gettext: upgrade to 0.19.4
* gettext:
  - Update parallel.patch, we only need a part of it.

* gettext-minimal-native:
  - Update related files from gettext-native.
  - Remove Makevars.template, we didn't use it.
  - Remove iconv-m4-remove-the-test-to-convert-euc-jp.patch (can be
    reverse applied).
  - Update the COPYING (1995 - 2014).

* About upgrade gettext-minimal-native (for future's upgrade):
  - Build gettext-native
  - Copy gettext-runtime/po/Makefile.in.in, build-aux/config.rpath and
    gettext-runtime/po/remove-potcdate.sin from gettext-native.
  - Update COPYING when needed (usually update the year), do not copy
    the whole COPYING file from gettext-native.
  - Go to gettext-native's ${S}/gettext-runtime/m4:
    > Remove lt*.m4 and libtool.m4
    > copy lib-ld.m4 lib-link.m4 lib-prefix.m4 from ${S}/gettext-runtime/m4/
    > tar czvf /path/to/aclocal.tgz *.m4

(From OE-Core rev: cd91b748e83bd5c040538aecf76823549662b3c7)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:26 +00:00
Robert Yang
edd91b4b30 opkg: fix libtoolize error
Fixed:
libtoolize:   error: AC_CONFIG_MACRO_DIRS([m4]) conflicts with ACLOCAL_AMFLAGS=-I shave.

They are already included by configure.ac:
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_MACRO_DIR([shave])

(From OE-Core rev: f813c09493ddad2df5b18b3b3b5c44d5b4201b72)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:26 +00:00
Robert Yang
d4e1862453 libtool: upgraded to 2.4.4
* Upgrade:
  - libtool-native
  - libtool-cross
  - nativesdk-libtool
  - libtool

* Remove 2 patches:
  - respect-fstack-protector.patch: already in the new source.
  - avoid_absolute_paths_for_general_utils.patch: no general.m4sh any
    more.
  - Use inline-source to install libtoolize.

* Update other patches

* The LIC_FILES_CHKSUM is changed because of the indent, the contents
  are the same.

* The libtool config files are put in libtool/build-aux now, it was
  libtool/config in the past.

(From OE-Core rev: 871dc461b1dfc431c0c95743af1624b781262bce)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:26 +00:00
Robert Yang
d977873463 automake: upgrade to 1.15
(From OE-Core rev: 455edf38e8af854de0cffffdebf258b354ff7e54)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:26 +00:00
Robert Yang
0d93a58483 mklibs-native: upgrade to 0.1.40
Remove the do_configure_prepend, it never worked since the sed command
didn't use '-i'.

(From OE-Core rev: e101de6030949d746e04fb901200ff071b197f0c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:25 +00:00
Robert Yang
4a0386ee70 autogen-native: upgrade to 5.18.4
(From OE-Core rev: a7c6cf649641e1411ab4dd1921b2953361e4f6fd)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:25 +00:00
Ross Burton
cc0ee9b56c grub: remove autogen-native dependency for tarball recipes
The tarballs of grub ship the files that are generated by autogen, so tarball
recipes don't need to depend on autogen-native (and thus guile-native).

(From OE-Core rev: 0ef983cd682134443020821fed6dd6e2bbbf3188)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:25 +00:00
Pau Espin Pedrol
6f196670e8 lib/oe/sdk.py: Add SDKIMAGE_INSTALL_COMPLEMENTARY capabilities to DpkgSdk
Creating an SDK by means of do_populate_sdk, complementary packages
(SDKIMAGE_FEATURES = "dev-pkgs dbg-pkgs") are not installed when using
the deb packaging system.

The reason is that the call to install the complementary packages is missing
from the deb backend. This patch fixes that.

[YOCTO #7160]

(From OE-Core rev: 0bcca69ea97ac51acf290f8f1da1bde715ab51c4)

(From OE-Core rev: 6755935e58b0414870adb7c7abab1aa331596209)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:36:25 +00:00
Richard Purdie
9538ee9191 bitbake: cooker: Use expanded_data for ASSUME_PROVIDED
Users expect operators like _remove to work on this variable. We need
to use expanded_data to ensure this happens correctly.

[YOCTO #7135]

(Bitbake rev: cc4c8478fc547ea0ebf827a8d319496b39f25684)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:55 +00:00
Richard Purdie
4eb3ffe571 bitbake: cooker: Rename event_data -> expanded_data
event_data would be better named expanded_data, then we can widen its scope
to other places in cooker where we need to access an expanded data store.
We certainly don't want multiple expanded data stores.

(Bitbake rev: 1a3c1c9203e1a1452314954f1cfd771e5c1ce89b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:54 +00:00
Richard Purdie
793f2f2e69 bitbake: server/process: Fix select call
There was a report that bitbake -e | less would use 100% cpu when it shouldn't
really. The issue appears to be a bogus file descriptor in the select call. We
shouldn't be blocking if there is event data pending to a *reader* from server
context.

[YOCTO #7138]

(Bitbake rev: 8f166e1a0f3574ae7d1e917a8bb403b87bad15bf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:54 +00:00
Alexandru DAMIAN
d95e988c83 bitbake: toastergui: enable re-ordering when columns are hidden
This patch enables table re-ordering when a sorted-by column is hidden.
This is default functionality in toaster table pages, but was not
enabled for all columns in this situation.

[YOCTO #7125]
[YOCTO #7022]

(Bitbake rev: c1b9c7a05c1c05fcd73d819e8b0142169106f0da)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:53 +00:00
Alexandru DAMIAN
02c49c229e bitbake: toastergui: all projects column show/hide
This patch fixes the show/hide in all projects page.

(Bitbake rev: 1d07020049d3bd824f6d0280c1cc7effa3db339d)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:53 +00:00
Belen Barros Pena
ca8c634279 bitbake: toastergui: fix the second 'view all targets' link
The project page has 2 links to the all targets page.
The one at the top of the page is working, but not
the one further down. This patch sorts that out.

[YOCTO #7147]

(Bitbake rev: ad6a2d42b9ce7ce317184d978253e5506be7e47f)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:53 +00:00
Alexandru DAMIAN
2dba91727d bitbake: toastergui: minor fixes
This is a minor fixes patch.

- legacy sorting by "timespent" does not crash the builds pages
- missing xhr_configvaredit view in observer mode is added

(Bitbake rev: bd4ff7a15e74e1d4af8ea3dbaaed141678046a9b)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:53 +00:00
Alexandru DAMIAN
08e5a49afb bitbake: toastegui: project page build selected targets
Fixing the action on the "Build selected targets" button.
Remove "build-button" duplicate id from the build page.

[YOCTO #7047]

(Bitbake rev: 8278d7b15b58484af93d952e594f29dabb9200a9)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:53 +00:00
Alexandru DAMIAN
c546815eee bitbake: toastergui: fix all targets page search
This fixes the display of layers in all-targets page search/filtering
usage pattern by displaying layer-equivalence class.

The significant impact is the correct display of the list size
for search/filtering actions

[YOCTO #7051]

(Bitbake rev: 4957ec63a11d51dfac2252263e4d26c705eb31e9)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:53 +00:00
Alexandru DAMIAN
4571c827a4 bitbake: toastergui: fix all-targets redirect
Fixes the all targets redirect to /api/1.0/targets.

[YOCTO #7147]

(Bitbake rev: f1cccafb4c7aa2c338e29ec5d2ea190dfeceb132)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:53 +00:00
Alexandru DAMIAN
8e3be3f268 bitbake: toaster: newproject default release selection fix
This patch fixes the default project release selection to
obey the DEFAULT_RELEASE name set in ToasterSettings.

[YOCTO #7035]

(Bitbake rev: bcd7ba013b973d3b3ac1e0845acf60b80cb227c2)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:52 +00:00
Alexandru DAMIAN
bdbc37f5c6 bitbake: toastergui: "Run again" button in build pages
This patch fixes the "Run again" button for the completed builds.

[YOCTO #7173]

(Bitbake rev: 37125f2b52492f8bee465611e60514b365541892)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:52 +00:00
Alexandru DAMIAN
99bbf30b1d bitbake: toastergui: fix duplicate IDs all builds page
This patch fixes the duplicate IDs found in the all builds page,
originating in the "Project" column filter.

Also fix misspell "Log1" instead of "Log".

(Bitbake rev: bd681cb2ce349dd7de01c98d5089a368c4514c37)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:52 +00:00
Alexandru DAMIAN
c7af070b66 bitbake: toasterui: save event backlog to build
We add a call that saves any queued events to the build

[YOCTO #7021]

(Bitbake rev: 4f5b19d453da64749affc1c27ec51b013bedc71a)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:52 +00:00
Alexandru DAMIAN
4dc8edb610 bitbake: toastergui: save cookie for orderby/page size settings
We save the current settings as cookies on the server side
for the layers, targets and machines pages under Project pages.

[YOCTO #6961]

(Bitbake rev: 58b35c055e37b5e1552d8ba3db2e05ea4ee85023)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:33:52 +00:00
Paul Gortmaker
07bfa68195 poky.conf: change case of Poky for DISTRO<->SANITY mismatch
Using anything build appliance based will emit the warning:

 WARNING: Host distribution "poky-1.7" has not been validated with
 this version of the build system; you may possibly experience
 unexpected failures. It is recommended that you use a tested distribution.

The chain of events leading to this is:

1) At image creation time:

   meta-yocto/conf/distro/poky.conf:
	DISTRO = "poky"

   meta/recipes-extended/lsb/lsb_4.1.bb:
	echo "DISTRIB_ID=${DISTRO}" >> ${D}${sysconfdir}/lsb-release

2) At deployment/usage time of the created image:

   meta/lib/oe/lsb.py:
	output, err = bb.process.run(['lsb_release', '-ir'], stderr=PIPE)

   meta-yocto/conf/distro/poky.conf:
	SANITY_TESTED_DISTROS ?= " \
            Poky-1.6 \n \
            Poky-1.7 \n \
            [...]

   meta/classes/sanity.bbclass:
	distro = oe.lsb.distro_identifier()
	tested_distros = sanity_data.getVar('SANITY_TESTED_DISTROS', True)

and hence the lsb.distro gets the lower case "poky" which fails to
match the upper case "Poky" used in SANITY_TESTED_DISTROS.

(From meta-yocto rev: 3373b04f8a61e5daa5d24501c0c7d8f947afb3f8)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:31:59 +00:00
Hongxu Jia
d67593245f upstream_tracking.inc: update entries for bash
(From meta-yocto rev: 8777825344e201080547dc91a6c3a2f9a716760c)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:31:58 +00:00
Richard Purdie
8da8a0e55e bitbake: prserv/serv: Improve exit handling
Currently, I'm not sure how the prserver managed to shut down cleanly. These
issues may explain some of the hangs people have reported.

This change:

* Ensures the connection acceptance thread monitors self.quit
* We wait for the thread to exit before exitting
* We sync the database when the thread exits
* We do what the comment mentions, timeout after 30s and sync the database
  if needed. Previously, there was no timeout (the 0.5 applies to sockets,
  not the Queue object)

(Bitbake rev: 0926492295d485813d8a4f6b77c7b152e4c5b4c4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-23 11:31:58 +00:00
David Reyna
6abcc6118d bitbake: toaster: project configuration variables page
Implement the project configuration variables page.

AlexD made whitespace changes and a minor fix.

[YOCTO #6588]

(Bitbake rev: 909fa19f20e909820aa484967b7fe2a34d89ab49)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-21 14:37:39 +00:00
Alexandru DAMIAN
d1dbf4c078 bitbake: toaster: project builds page
This is a complete re-write of the "Project builds" page
based on the "All builds" page in managed mode.

[YOCTO #6589]

(Bitbake rev: 0353d49ae934c4595408e1b7a1443769f095f2aa)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-21 14:37:39 +00:00
Ross Burton
9a51fb39db bitbake: fetcher: use os.path.splitext() instead of string.split()
(Bitbake rev: 1689edd35477a126bfbf4bd3257c4f1f9e16f20d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-21 14:37:39 +00:00
Ross Burton
f0d5edc91e bitbake: bin/bitbake: only check that /dev/shm is writable on Linux
(Bitbake rev: 7a87ca9518f7239a2dfeb4576c59ea7b1f8d3071)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-21 14:37:39 +00:00
Aníbal Limón
a67b855df6 bitbake: bb/fetch2/wget.py: latest_versionstring escape packagename when built regex
When built package regex for use in searching upstream version in sites,
the package name need to be escaped to avoid usage of special regex
char.

For example when search for gtk+, '+' need to be escaped.

(Bitbake rev: 1aa1de4b0c5bd34466e04844bbc371933736be59)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-21 14:37:39 +00:00
Robert Yang
c6f933e5cf bitbake: cooker.py: trap the ENOSPC error and translate it
Trap the ENOSPC error and translate it into a human readable error
message, which is good for debugging.

(Bitbake rev: 2b084dff6ff0d274fbbf7ab07022507f7249e427)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-21 14:37:39 +00:00
Richard Purdie
e63723f59a bitbake: cooker: Further optimise pyinotify
We currently add crazy numbers of watches on files. The per user limit is 8192
by default and on a system handling multiple builds, this can be an issue.

We don't need to watch all files individually, we can watch the directory containing
the file instead. This gives better resource utilisation and better performance
further reverting some of the performance regression seen with the introduction
of pyinotify.

(Bitbake rev: a2d441237916a99405b800c1a3dc39f860100a8c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-21 14:37:39 +00:00
Richard Purdie
db45ddeeaf bitbake: command/cooker/knotty: Fix memres handling of command environment changes
If the environment changes, we need memory resident bitbake to adapt to those
changes. This adds in functionality to handle this alongside the configuration
option handling code. This means that the common usage:

MACHINE=X bitbake Y

now works with the memory resident server.

(Bitbake rev: 4d1343010da757a0c126bc22475354da44aaf8e3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-21 14:37:39 +00:00
Mark Hatle
3e4d84aea3 arch-mips.inc: Add the MIPS ABIEXTENSION to toolchain name
[YOCTO #7143]

When the system is configured for a multilib SDK, such as:

require conf/multilib.conf
MULTILIBS = "multilib:lib32 multilib:lib64"
DEFAULTTUNE = "mips32r2"
DEFAULTTUNE_virtclass-multilib-lib32 = "mips64-n32"
DEFAULTTUNE_virtclass-multilib-lib64 = "mips64"

Only one of the mips64-n32 or mips64 toolchains is built.  Causing the
other to be unavailable.  This is due to both recipes ending up with the
same PN.

The toolchain uses the TRANSLATED_TARGET_ARCH in it's name, however the
target for mips64 and mips64 n32 were the same, causing the conflict.
Avoid this conflict by adding the ABIEXTENSION to the name.

(From OE-Core rev: 0bcc01121e928d0be7a0550e500425852c63cf98)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-21 14:28:48 +00:00
Saul Wold
3290dc9e48 maintainers: Clean up a couple items
(From meta-yocto rev: 8636965b2e145002054c61822cbe2462392786f0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-21 14:13:07 +00:00
Richard Purdie
08d3f44d78 bitbake: lib/fetch2: Tweak get_srcrev() function description
Tweak the comments on get_srcrev() to better describe its function.

(Bitbake rev: b4d40f1ac7b32990c456cce261f99a5a157b5ae5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-21 11:36:52 +00:00
Saul Wold
35c9fa0588 maintainers: Update for non-maintained recipes
(From meta-yocto rev: 20ac71eb2e9dfb6676a7565550a70e75c574fcf3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-20 21:39:41 +00:00
Richard Purdie
d9d5b8b499 depmodwrapper-cross: Update to use STAGING_KERNEL_BUILDDIR
(From OE-Core rev: eaea05c88661a88a89fa6b139f7e6b243155d492)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-17 17:05:45 +00:00
Richard Purdie
1dfb9033e0 lib/oe/rootfs.py: Fix reference to abiversion file location
With the changes to kernel layout, we need to refer to the correct
location of the kernel abiversion file.

Thanks to Saul, Randy, Darren and Bruce to figuring out the issue.

(From OE-Core rev: 6541799c2e9a5a1586676c207d62f885c70e24dc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:16:15 +00:00
Randy Witt
7298317e36 xserver-xorg: Always disable systemd-logind.
Without a dm to handle the session management systemd-logind can make it
difficult for X to gain ownership of devices and behave properly.

Since X seems to work without enabling systemd-logind, always disable it for
now, and we can revisit it if we ever want to try to take advantage of
multi-user sessions/seats.

[Yocto # 7100]

(From OE-Core rev: 31c701821e2770e29955d1e1eb45a254f5a0acb8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:14:12 +00:00
Robert Yang
42b7055812 maintainers.inc: update it
Added:
gnu-efi
python-git
python-gitdb
systemd

(From meta-yocto rev: d3f8944125202da61a6247dba8dd1de6baa01fc0)

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-01-16 23:08:28 +00:00
Saul Wold
08970d45bf glibc: Fix up minimal build with libc-libm
This addresses 2 issues discovered trying to build a minimal libc with
libm option.  By default nscd was always being built and without inet
enabled there were missing symbols.

[YOCTO #7108]

(From OE-Core rev: 89649881bcd0e76d6ee7c85c30e75bb01e1c004f)

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-01-16 23:08:28 +00:00
Ross Burton
2d58e62525 msmtp: fix configure options
msmtp moved from gnome-keyring to libsecret, so update EXTRA_OECONF.  Also
explicitly disable libgsasl to avoid potential non-deterministic builds in the
future.

(From OE-Core rev: 35ac8cd4bd4f2d4ba85bcc88eb30ef07a215c41c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:28 +00:00
Robert Yang
fde9288015 kexec-tools: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: 5fccfd0f0a9dd4dca96389f5d856d3fab21745e2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:28 +00:00
Robert Yang
0a861d20c5 presentproto: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: a5dee19715a1a6997c50abbf59bbbd3767891783)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:28 +00:00
Robert Yang
a7f4a3a3e6 rpm: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: a73161c89e6de3e244f70afe746c4786ad5e982f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:28 +00:00
Robert Yang
fb043c4dcc icon-naming-utils: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: bad2cc186bbd5bb4d5c4621d81d411a745407886)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:27 +00:00
Robert Yang
e6fd674623 libfm: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: 2c74e755f7e18d61791f80b9605a3fad8f82d1b7)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:27 +00:00
Robert Yang
972178d4a8 libfm-extra: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: db7f6b5c24fe102b4346611441ac2f44f9b6f5d1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:27 +00:00
Robert Yang
03ab499a05 connman: fix B != S
And bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: 38aa1ef57392fcb726fcdd0b708b9d76f0279c77)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:27 +00:00
Robert Yang
55a45864ea python: fix B != S
And bump PR to avoid:
gcc: error: Parser/tokenizer_pgen.o: No such file or directory
gcc: error: Parser/printgrammar.o: No such file or directory
gcc: error: Parser/pgenmain.o: No such file or directory

(From OE-Core rev: aea42f59c8331c4d5944f698453bfd663aa0c59d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:27 +00:00
Robert Yang
84a76b28ea alsa-utils: fix B != S
And bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: af92ac8ef84a689a9c22dce6b06e5e813dce88dc)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:27 +00:00
Robert Yang
15ce397ab5 libcroco: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: facdfe967e77e949555b882228e109f4280c5e3c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:26 +00:00
Robert Yang
0736edb63f gnome-desktop-testing: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: 77fce300fe61aaa3c910d737c1f08b7bd91efce5)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:26 +00:00
Robert Yang
3a0c5de055 qemu: fix B != S
And bump PR to avoid:
Makefile:16: *** This is an out of tree build but your source tree
(/path/to/qemu-2.2.0) seems to have been used for an in-tree build. You
can fix this by running "make distclean && rm -rf *-linux-user
*-softmmu" in your source tree.  Stop.

(From OE-Core rev: 0ba65934fa1c2a4f4bd3ed404ab9a9163bde5309)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:26 +00:00
Robert Yang
9d4cad3a6b apr-util: fix B != S
And bump PR to avoid:
x86_64-linux-libtool:   error: 'dbm/apr_dbm_gdbm.la' is not a valid libtool archive

(From OE-Core rev: e712a31287eb830f365df456e68bc95bdacb1a4a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:26 +00:00
Robert Yang
646230a4de expect: separate B and S
And bump the PR to avoid:
install: cannot stat `/path/to/image/usr/lib64/expect5.45/libexpect*.so': No such file or directory

(From OE-Core rev: 912af87805abf857f1d4d3ba2cdbb3ae1f26a637)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:26 +00:00
Robert Yang
0c498a7843 oprofile: separate B and S
And bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: c450175470e66e58095886a9b027a4a77fff38aa)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:26 +00:00
Robert Yang
3d0bf25bec pinentry: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: d6dc82ddd7e122a3223a44624023814551136150)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:26 +00:00
Robert Yang
de6e1fa664 bash: separate B and S
It works well now, and bump the PR to avoid:
x86_64-poky-linux-ar: shmatch.o: No such file or directory

(From OE-Core rev: f31f86b4c81d409b91feb77a46d362de1ad29b69)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:26 +00:00
Robert Yang
42947da333 gnutls: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: 84f4be762fbf044cfe76de4929e1101357feecef)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:25 +00:00
Robert Yang
0e67d3c83f libgcrypt: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: 05020b08ecb55f27164c67eda494377e4a70e606)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:25 +00:00
Robert Yang
ec65748f5a flac: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

Remove the CLEANBROKEN.

(From OE-Core rev: e7635fd385313b1457811706b369d32710174c3c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:25 +00:00
Robert Yang
e340a37bfd cracklib: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: 1d30280d1f40e5c4077ae56a9a60b5d210edf9bb)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:25 +00:00
Robert Yang
bd52abba5f cmake: fix B != S
And bump PR to avoid:
| Error when bootstrapping CMake:
| Found directory "/path/to/cmake-2.8.12.2/Bootstrap.cmk".
| Looks like somebody did bootstrap CMake in the source tree, but now you are
| trying to do bootstrap in the binary tree. Please remove Bootstrap.cmk
| directory from the source tree.

(From OE-Core rev: ade72d5bad7303a40f7b27526145ed83e372cd35)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:25 +00:00
Robert Yang
f7b94f6813 bc: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: f8fbbc92134a8dfdbc6923cea04e55a2e73fc6dd)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:25 +00:00
Robert Yang
d6252454ab ghostscript: fix B != S
(From OE-Core rev: 0f7d0bb0fa422d188493150b1ffcc8d68f6e65d1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:25 +00:00
Robert Yang
3b1324b177 nspr: fix B != S
And bump the PR to avoid:
make[3]: ../../../config/./nsinstall: Command not found

(From OE-Core rev: 66b747597d231c00fefe51d52ed5f836b9a3c482)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:24 +00:00
Robert Yang
92597b5d8a libnl: separate B and S
It works well now, and bump the PR to avoid:
configure: error: source directory already configured; run "make distclean" there first

(From OE-Core rev: df3bea8a25ea126a6c1d79004481347cc3b0da37)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:24 +00:00
Saul Wold
2e1bdfffdf rxvt-unicode: Add Upgraded version 9.21
Keep older 9.20 due to newer version being GPLv3

(From OE-Core rev: 16c03661374093c4825dcf1381c2e907b97a483e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:24 +00:00
Saul Wold
586c5bdfa4 dtc: Upgrade to 1.4.1 (git based)
(From OE-Core rev: 169a7520b7992ef25d94b07c0d639256b06e44d2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:24 +00:00
Saul Wold
36be2d6091 msmtp: Upgrade to 1.6.1
(From OE-Core rev: 425293f65816953b59668878a19e15c2381fe5f9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:24 +00:00
Robert Yang
4bbe189d5d autotools.bbclass: print make clean
It makes us easier to see make clean failed.

(From OE-Core rev: c34d9e66a1a97952965128ab84c691202a60985b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:24 +00:00
Robert Yang
41e6eae923 quilt: set CLEANBROKEN
Fix when rebuild:
| DEBUG: Executing shell function autotools_preconfigure
| Please run ./configure
| make: *** [Makefile] Error 1

(From OE-Core rev: 3918dd643e45ca7009559b5e04f925b924707a36)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:24 +00:00
Robert Yang
8617fdefed mkelfimage: set CLEANBROKEN
Fix when rebuild:
| DEBUG: Executing shell function autotools_preconfigure
| Makefile:1: Makefile.conf: No such file or directory

(From OE-Core rev: 04c1cf8595cebe25edbd7ec77bbe362fae3e6bfc)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:24 +00:00
Robert Yang
4acf17f149 slang: set CLEANBROKEN
When make clean:
| Makefile is older than the configure script.
| Please re-run the configure script.
| make: *** [Makefile] Error 1

(From OE-Core rev: 6f9753b32176efe1390382fc5a0317ba267d640d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:23 +00:00
Paul Eggleton
8910c5e39c libxml-parser-perl: fix LICENSE to be more accurate
XML::Parser is distributed under the same licenses as Perl itself.

(From OE-Core rev: 2d01180515235fb0a7edee03b2adeed2e5417c10)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:23 +00:00
Paul Eggleton
fee4f23e2c libxml-simple-perl: fix LICENSE to be more accurate
XML::Simple is distributed under the same licenses as Perl itself; its
accompanying license statement also explicitly restates Artistic license
or GPL version 1 or (at your option) any later version (i.e. the same as
Perl).

(From OE-Core rev: de237c079ea1b2cf236191959770244c1205f3c2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:23 +00:00
Paul Eggleton
b404dd3623 perl: fix LICENSE to be more accurate
The Perl license is the Artistic License, or GPL version 1 or (at your
option) any later version:

  http://dev.perl.org/licenses/

Update LICENSE accordingly. Thanks to Clemens Lang for reporting this.

(From OE-Core rev: 7341d91ee329090440cad1e295b9b26d9f49141d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:23 +00:00
Paul Eggleton
56e8fc5b13 pigz: add Apache-2.0 to LICENSE
As of version 2.3, pigz ships a copy of zopfli, which is Apache-2.0
licensed, so we need to add this to LICENSE.

Thanks to Clemens Lang for reporting this.

(From OE-Core rev: 84968d3db166b592c95b7a867d7a885752f8a428)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:23 +00:00
Robert Yang
ca6cb22715 portmap: remove obsolete lines
* The SRC_URI and S in portmap.inc was for portmap 5, but we don't have
  it any more.
* Remove DEPENDS = "virtual/fakeroot-native" and fakeroot before
  do_install.
* Remove sbindir = "/sbin" and use "${base_sbindir}" in FILES.
* Move patches from dir portmap-6.0 to portmap.

(From OE-Core rev: b341066d625d5ff7980a4bdffb338fc83940502b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:23 +00:00
Robert Yang
8d8e035daa man: remove fakeroot from do_install()
The fakeroot is already set in base.bbclass.

(From OE-Core rev: 507eaacf6f3c44038c60fd312a42123dc945ff7b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:23 +00:00
Robert Yang
2acea20823 cups: remove fakeroot from do_install()
The fakeroot is already set in base.bbclass.

(From OE-Core rev: 921470e9a949d296cc9b829a8002ff289f01bdb7)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:22 +00:00
Robert Yang
93c9b3c40c libical: use BPN in SRC_URI
(From OE-Core rev: 7c55b6542c5ecb8258763b77e60faeb7f69cfd16)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:22 +00:00
Robert Yang
f3eb2778c3 gnu-efi: upgrade to 3.0.1
* Use the official src rather than debian.
* It doesn't have a general license file, the license is embedded in the
  files, which are "GPLv2+ | BSD-2-Clause".
* Supported aarch64 and arm.
* Remove parallel-make.patch that was accepted upstream. (From Saul)

(From OE-Core rev: e55b76cf3313c4ef9073f5fad06246c27282e7f3)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:22 +00:00
Peter A. Bigot
63925b5d4a bluez5: upgrade to 5.27
- Bug fixes in A2DP, OBEX, GATT, and mgmt
- Low Energy Secure Connections with 3.19+ kernels

See: http://www.bluez.org/release-of-bluez-5-27/
See: http://www.bluez.org/release-of-bluez-5-26/
(From OE-Core rev: beb79d7b8fa59947e1e3e979c2b0d6d637a2447f)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:22 +00:00
Saul Wold
bbd5fe680e libaio: Upgrade to 0.3.110
Remove old patches and rebase existing ones
Add libc for x86 for stack-protector bounce function (__stack_chk_fail_local)

(From OE-Core rev: 8017bfdaca1cdaa8bfd9178063967ec89a58be06)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:22 +00:00
Saul Wold
85326e2baa security_flags: disable pie support for libaio, blktrace and ltp
libaio when built with pie and fpie does not link correctly with blktrace or ltp
so we need to disable those flags until a better solution comes along.

(From OE-Core rev: 4fbf13a6c28fc1170a4defbf50032546a14eaa59)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:21 +00:00
Saul Wold
399c0fa9a8 usbutils: Add version 008
The latest version of usbutil (v008) uses the latest version of udev (v196 or greater)
which is only available as part of the systemd package.  So add systemd as a DEPENDS and
REQUIRED_DISTRO_FEATURE.

Add v008 version of iconv.patch

COPYING file is GPLv2, but has newer formatting and address change.

(From OE-Core rev: 3d88f74833fafd5c928c64d9ecc0aa257b7bb0f6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:21 +00:00
Ross Burton
1f63bd2d9f systemd: add missing RDEPENDS
systemd-ptest also needs a Python interpretter.  Also remove the redundant
comment.

systemd-kernel-install is a bash script that can't be trivially ported to POSIX
sh.

(From OE-Core rev: 9f6b34493d332f9eff54c3eb2da9483a344e6d3c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:21 +00:00
Robert Yang
e518d3e6c1 python-gitdb: upgrade to 0.6.1
(From OE-Core rev: eb46e1d61f6658b921372354771102f91b177c66)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:21 +00:00
Robert Yang
3996f7a46f python-git: upgrade to 0.3.3
(From OE-Core rev: 70ca4ede24cd45057992580ab1a81e803a49a68b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:21 +00:00
Ross Burton
b39ebfd9b2 socat: forcibly disable use of libbsd
Socat will look for openpty() in BSD headers before Linux headers, so if libbsd
is present at configure time then that will be used.  We don't need to depend on
libbsd though, and leaving it floating can cause build errors, so tell configure
that the libbsd header isn't present.

(From OE-Core rev: 7defa2bb5b28ea69f749363a607a114cfa4ba4ed)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:21 +00:00
Robert P. J. Day
5e52a6cf3e BAD_RECOMMENDATIONS also works for RPM packaging.
(From OE-Core rev: b985f32a38b3809ea7f34b5946ac8e22a73f2741)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:21 +00:00
Maxin B. John
363100ff4b curl: upgrade to 7.40
Bump to version 7.40

(From OE-Core rev: d3704312252c1607883099063151c599cca81cbe)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:20 +00:00
Martin Jansa
013de192d7 package.bbclass: Fix support for private libs
* n is a tuple since this commit:
  commit d3aa7668a9f001044d0a0f1ba2de425a36056102
  Author: Richard Purdie <richard.purdie@linuxfoundation.org>
  Date:   Mon Jul 7 18:41:23 2014 +0100
  Subject package.bbclass: Improve shlibs needed data structure

  since then 'n in private_libs' was always false and private libs
  were always processed
* this is bad when we have libfoo in private libs, but also some package
  providing libfoo, that way we ship own libfoo.so, but together with
  runtime dependency on package providing libfoo

(From OE-Core rev: ec1d379683cedca4be1c252475d02c8041227142)

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-01-16 23:08:20 +00:00
Chen Qi
311d9d1e9f sysklogd: upgrade to 1.5.1
(From OE-Core rev: f9f5f7d7154efcf3238de5cdbc3d2442c597e4f9)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:20 +00:00
Chen Qi
ce9cb7ae7a coreutils: upgrade to 8.23
fix-for-dummy-man-usage.patch is rebased.

(From OE-Core rev: 4fb3752824ff20e5b5b322e6e12211c81795313c)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:20 +00:00
Chen Qi
ce5cc411bb sysstat: upgrade to stable version 11.0.2
(From OE-Core rev: df4224f151c3d5a7f6fd33ed44abd2e3bfc5c8b0)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:20 +00:00
Hongxu Jia
5b7371b832 qt4-embedded: support c++0x stand for directfb
While directfd upgrade to 1.7.6, it always includes directfb++ utils
when C++ is used and set c++0x as c++ standard.
(In git://git.directfb.org/git/directfb/core/DirectFB.git
commit b444bcae3197be9faf883460dcc239ef757d5922, and commit
522beeb76f2a8d2dee30d928d2a5955bd06cf25c)

The directfd in qt4-embedded is c++, and there was a build failure:
...
| qdirectfbwindowsurface.cpp:336:69: error: in C++98 'rect' must be
initialized by constructor, not by '{...}'
|      const DFBRectangle rect = { r.x(), r.y(), r.width(), r.height() };
...

The g++ used c++98 as default c++ standard, we should
explicitly set c++0x for directfd in qt4-embedded.

(From OE-Core rev: 833cb0e47f7542a67bdf943cede1754b7a20c1d9)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:20 +00:00
Hongxu Jia
ac35e3cabd directfb: upgrade to 1.7.6
- Drop fixsepbuild.patch which has been merged to 1.7.6
- Drop obsolete rename-no-instrument-function-macro.patch

(From OE-Core rev: 15c0ee00550b9e5aac04da598393a614a45bc8a9)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:20 +00:00
Armin Kuster
7b8c6b81ca lz4: update to r127
dropped Makefile from license check.

r127
added : lz4frame_static.h

r126
New : lz4frame API is now integrated into liblz4
Fixed : GCC 4.9 bug on highest performance settings, reported by Greg Slazinski
Fixed : bug within LZ4 HC streaming mode, reported by James Boyle
Fixed : older compiler don't like nameless unions, reported by Cheyi Lin
Changed : lz4 is C90 compatible
Changed : added -pedantic option, fixed a few minor warnings

r125
New 32/64 bits, little/big endian and strict/efficient align detection routines
(internal)
New directory structure
Small decompression speed improvement
Fixed a bug into LZ4_compress_limitedOutput(), thanks to Christopher Speller
lz4 utility uses lz4frame library (lz4io modified)

r124
New : LZ4 HC streaming mode
Fixed : LZ4F_compressBound() using null preferencesPtr

(From OE-Core rev: c40d785990ca361eb198b4a6ee92dcda5bf6d43d)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:20 +00:00
Robert Yang
ac867c3d4d grub 2.0: several fixes
* Make grub, grub-efi grub_git use a grub2.inc to reduce the duplicated code.

* Make grub and grub-efi use the same patches since they use the same
  source. (grub_git is different).

* grub-efi:
  - Use autotools to replace autotools-brokensep
  - Remove the DEPENDS of freetype, it should be a RDEPENDS.
  - Remove grub-2.00-ignore-gnulib-gets-stupidity.patch since it is a
    duplication of remove-gets.patch.
  - Make grub-efi.rpm contain files rather than make an empty package.

* grub_git:
  - Fix a SSE build failure.

[YOCTO #6310]

(From OE-Core rev: cf4aaed28a34cc652352f0817316187b72babc76)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:19 +00:00
Robert Yang
175d162b19 pax-utils: RDEPENDS on python
python script:
pax-utils/usr/bin/lddtree

(From OE-Core rev: b972e7fc5774a6daf92511e897919ebad29f405b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:19 +00:00
Robert Yang
23864d6e3f parted: parted-ptest RDEPENDS on python
python scripts:
parted-ptest/usr/lib64/parted/ptest/tests/gpt-header-move
parted-ptest/usr/lib64/parted/ptest/tests/msdos-overlap

(From OE-Core rev: 80262094fde6a44afd954bbecc7e016243661b81)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:19 +00:00
Ross Burton
ca133bcbd1 oprofile: disable documentation
Seed the xsltproc detection with "not found" to avoid determinism races with the
documentation which doesn't build correctly with our xsltproc.

(From OE-Core rev: 7bca8658c55223bf4b6f691e4a66a18675a1f762)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:19 +00:00
Dmitry Eremin-Solenikov
c2c4579c49 icecc.bbclass: properly handle disabling of icecc
Always use use_icc to check if IceCC should be enabled. Move
ICECC_DISABLED variable checking to use_icc function. Also while we are
at it, fix condition in icc_is_allarch function.

(From OE-Core rev: 20b0168da47d6e30fcbaf6adab3bde0d398d0d00)

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:19 +00:00
Richard Purdie
db2255dc0b cross-canadian/meta-environment: Allow modification of TARGET_OS to be optional
There are some cases we want the manipulation cross-canadian performance
on TARGET_OS, there are also cases like meta-environment where we do not
want this manipulation.

We did try and use immediate expansion to avoid this problem and it
works in the non multilib case. If we have a multilib that used an
extension, like for example:

require conf/multilib.conf
MULTILIBS = "multilib:lib32 multilib:lib64"
DEFAULTTUNE = "mips32r2"
DEFAULTTUNE_virtclass-multilib-lib32 = "mips64-n32"
DEFAULTTUNE_virtclass-multilib-lib64 = "mips64"

then the n32 extension case will be misconfigured.

It turns out saving an unexpanded variable is hard. The best I could
come up with was:

SAVEDTOS := "${@d.getVar('TARGET_OS', False).replace("{", "*")}"

and then

localdata.setVar("TARGET_OS", d.getVar("SAVEDOS", False).replace('*','{'))

which is rather evil, I'd challenge someone to come up with a nicer way
of making it work though!

Rather than the above madness, we modify cross-canadian to make the
problamtic code conditional.

This fixes the original issue (where a linux-gnuspe target was seeing
'linux') of
http://cgit.openembedded.org/openembedded-core/commit/?id=0038634ee6e2b6035c023a2702547f20f67c103a
but also fixes the multilib one.

(From OE-Core rev: 85ff3d6491c54aa712ed238c561742cda4f4ba07)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:19 +00:00
Kai Kang
0e35e33b37 openssh: deliver ssh-copy-id
Deliver script ssh-copy-id from openssh which is useful to add an
authorized ssh key.

(From OE-Core rev: 16562034a2c28cbfc6c90f9324c42c08e0655b7d)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:18 +00:00
Bruce Ashfield
2eaeba1f9a kernel-yocto: remove GUILT_BASE from terminal exports
guilt is no longer used to manage linux-yocto kernel pathes, so
we no longer need to export variables that it needed to locate
patches in the tree.

(From OE-Core rev: eb0209360d14b57fbef6fa20bdd9948e8337f24b)

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-01-16 23:08:18 +00:00
Darren Hart
34f3d55950 kernel.bbclass: Update cleandirs to remove new kernel staging dirs
Fixes [YOCTO 6818]

Update do_unpack[cleandirs] to include the STAGING_KERNEL_BUILDDIR, and
add the same set of updated cleandirs for do_clean.

(From OE-Core rev: 0726f8099c1407eea9e53a62be94defbab32265e)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
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-01-16 23:08:18 +00:00
Darren Hart
fddf343bec kernel-devsrc: Depend on virtual/kernel:do_compile
Since virtual/kernel do_compile modifies ${B}, we need to wait for
do_compile to copy everything across in order to ensure a deterministic
file set.

Currently, we race against the build and can see .debug directories, and
the do_compile dependency we will always see them. Add .debug to the
find path pruning.

(From OE-Core rev: 20dd877d36e85911b57bec079cf978a577fba866)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
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-01-16 23:08:18 +00:00
Tom Zanussi
14fa1343ec perf: Disable perf-libunwind
It hasn't actually been being enabled anyway: 'Disabling post unwind,
no support found.'.  For now, turn it off because of [YOCTO #7129].

Fixes [YOCTO #7129].

(From OE-Core rev: d8c839afa96925b27909eb5a7b89ee83c87924bc)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:18 +00:00
Tom Zanussi
4e13036d66 perf: Add libdw unwind support to perf-libunwind feature
perf can use either libdw or libunwind dwarf unwinders, or neither.
The perf-libunwind feature implies that if disabled, neither should be
used, so have it disable both libdw and libunwind DWARF unwinders if
disabled.

This fixes [YOCTO #7129].

(From OE-Core rev: 868dd446fa2732858813e96dd8f3f64b2a9ec339)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:18 +00:00
Bruce Ashfield
46cdaf1c7b kernel: move source and build output to work-shared
commit 3b3f7e785e279 [kernel: Rearrange for 1.8] began the process of
moving the kernel source and build artefacts out of sstate control and
into a shared location.

This changed triggered some workflow issues, as well as bugs related
to the kernel source containing build output, and hence being dirty and
breaking kernel rebuilds.

To solve these issues, and to make it clear that the kernel is not under
sstate control, we move the source and build outputs to:

  work-shared/MACHINE/kernel-source
  work-shared/MACHINE/kernel-build-artifacts

Where kernel-build-artifacts is the kernel build output and
kernel-source is kept "pristine". The build-artifacts contain everything
that is required to build external modules against the kernel source,
and includes the defconfig, the kernel-abiversion, System.map files and
output from "make scripts".

External module builds should either pass O= on the command line, or
set KBUILD_OUTPUT to point to the build-artifacts. module-base.bbclass
takes care of setting KBUILD_OUTPUT, so most existing external module
recipes are transparently adapted to the new source/build layout.

recipes that depend on the kernel source must have a depedency on the
do_shared_workdir task:

 do_configure[depends] += "virtual/kernel:do_shared_workdir"

With this dependency added, the STAGING_KERNEL_DIR will be populated and
available to the rest of the build.

(From OE-Core rev: 6a1ff0e7eacef595738f2fed086986fd622ec32a)

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-01-16 23:08:18 +00:00
Otavio Salvador
92725ad46f kernel.bbclass: When linux/version.h exists, copy it
Old Linux kernel versions rely on linux/version.h for modules; this
needs to be published for external modules to use. Copy it when
available.

(From OE-Core rev: 78226efe72c8221206594c70fa1d8742d4097af1)

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-01-16 23:08:18 +00:00
Otavio Salvador
1a0343aa56 module.bbclass: Add KERNEL_SRC in EXTRA_OEMAKE
When the sstate hash changes for do_configure task, the do_configure
default implementation triggers the 'clean' to be run. For it to
succeed we need to have KERNEL_SRC defined in EXTRA_OEMAKE. Fixes
following error:

,----
| DEBUG: Executing shell function do_configure
| NOTE: make -e MAKEFLAGS= clean
| make -C  M=.../tmp/work/... clean
| make[1]: *** M=.../tmp/work/...: No such file or directory.  Stop.
| Makefile:20: recipe for target 'clean' failed
| make: *** [clean] Error 2
| ERROR: oe_runmake failed
`----

(From OE-Core rev: bc0f58f0713ea7db3c4c24a7d321435934d745d7)

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-01-16 23:08:17 +00:00
Robert Yang
397f27cdce guile: fixed installed-vs-shipped error
Fixed:
guile-2.0.11: guile: Files/directories were installed but not shipped
  /usr/lib64/libguile-2.0*-gdb.scm [installed-vs-shipped]

This is because when there is no file in the directory:
for f in libguile-2.0*; do
    [snip]
done

The f would be libguile-2.0* itself, make sure the libs are installed
firstly will fix the problem.

(From OE-Core rev: adf32ca3d0657cb5d363ae7a3fdb539c6627cf39)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 23:08:17 +00:00
Alexandru DAMIAN
4e20211090 bitbake: toasterui: fix variable data error
A bug slipped in the toaster ui that prevented saving of
build configuration despite the data being retrieved
from the server. This patch fixes the shaming mistake.

[YOCTO #7117]

(Bitbake rev: 8118f465b9f87c66b2a741008f69198ac5fea901)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 08:25:31 +00:00
Alexandru DAMIAN
2d78912bc6 bitbake: toastergui: all builds page lists failed build requests
This patch modifies the all builds page by splitting the page
into two variants - the "interactive" (default) and "managed" mode
versions.

In the "managed" mode version, we display build requests instead of
builds, including the failed build requests that have no build
associated with them.

[YOCTO #6671]

(Bitbake rev: c5f5fb80308228585aa7ff9721352feb5ed9c961)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 08:25:31 +00:00
Michael Wood
ce784879f4 bitbake: toaster: layerdetails Remove compatibility setting
Remove the layer compatibility configuration option from the layer
details as this is not in the design.

(Bitbake rev: c46492f5599da8af16af05ecc2d7aa7a8660416b)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 08:25:31 +00:00
Michael Wood
025533d90b bitbake: toaster: Add layer details page feature
This commit adds the layer details page which shows the metadata for the
layer such as layer description, machines associated with the layer as well
as the targets provided.
If the layer is an imported layer this page also allows you to update
the layer's configuration.
>From this page you can add/remove the layer from the current project

(Bitbake rev: c1442bc68ad8ba20c37b1a7cde1400297f4be811)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 08:25:31 +00:00
Richard Purdie
2a6f739f1d bitbake: ConfHandler: Clean up bogus imports
The import statements here are plain bizarre. Remove them, tweaking
some of the function calls to match current practices. I can't find any
reason these old imports are as they are.

(Bitbake rev: 4c2f1fe51a13ddc97e518327714292af46b9e1ab)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 08:25:30 +00:00
Richard Purdie
5c9e2b2f43 bitbake: ConfHandler: Rename oldfn to parentfn to be clearer
Looking at this function I had no idea what oldfn was, I doubt anyone
else would either without looking up what the caller does. "parentfn"
would seem a more appropriate name so rename it.

(Bitbake rev: fc70ed596703a1aa954223b169d4ad51193a6ec1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 08:25:30 +00:00
Richard Purdie
967f13fda0 bitbake: cooker: Improve pyinotify performance
Benchmarks show that the introduction of pyinotify regressed
performance. This patch ensures we only call the add_watch() function
for new entries, not ones we've already processed which does improve
performance as measured by "time bitbake -p".

This doesn't completely remove the overhead but it does substantially
reduce it.

(Bitbake rev: 493361f35f6cc332d4ea359a2695622c2c91a9c2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-16 08:25:30 +00:00
Richard Purdie
10837473b2 libxml2: Backport fix for CVE introduced entity issues
The CVE fix introduced problems with entity issues, we observed this
when building the Yocto Docs in particular. Backport the fix from
upstream so we can build our docs correctly.

[YOCTO #7134]

(From OE-Core rev: af501bd51f9a86edd34e0405bc32dabe21312229)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-15 16:55:17 +00:00
Cristian Iorga
2b92504587 poky.conf: add support for running mips64 qemu machine
qemumips64 machine lacks a qemu system emulator,
so add it.

Fix for [YOCTO #7082].

(From meta-yocto rev: 881f334879a42934ba50281c558eefcd8a74ad9e)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-14 16:57:09 +00:00
Richard Purdie
eb7480fc4d bitbake: cooker: Fix pyinotify handling of ENOENT issues
We try and add watches for files that don't exist but if they did, would influence
the parser. The parent directory of these files may not exist, in which case we need
to watch any parent that does exist for changes. This change implements that fallback
handling.

(Bitbake rev: 979ddbe4b7340d7cf2f432f6b1eba1c58d55ff42)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-14 13:34:06 +00:00
Richard Purdie
6c3c3e11f6 bitbake: cooker/cache/parse: Implement pyinofity based reconfigure
Memory resident bitbake has one current flaw, changes in the base configuration
are not noticed by bitbake. The parsing cache is also refreshed on each invocation
of bitbake (although the mtime cache is not cleared so its pointless).

This change adds in pyinotify support and adds two different watchers, one
for the base configuration and one for the parsed recipes.

Changes in the latter will trigger a reparse (and an update of the mtime cache).
The former will trigger a complete reload of the configuration.

Note that this code will also correctly handle creation of new configuration files
since the __depends and __base_depends variables already track these for cache
correctness purposes.

We could be a little more clever about parsing cache invalidation, right now we just
invalidate the whole thing and recheck. For now, its better than what we have and doesn't
seem to perform that badly though.

For education and QA purposes I can document a workflow that illustrates this:

$ source oe-init-build-env-memres
$ time bitbake bash
[base configuration is loaded, recipes are parsed, bash builds]
$ time bitbake bash
[command returns quickly since all caches are valid]
$ touch ../meta/classes/gettext.bbclass
$ time bitbake bash
[reparse is triggered, time is longer than above]
$ echo 'FOO = "1"' >> conf/local.conf
$ time bitbake bash
[reparse is triggered, but with a base configuration reload too]

As far as changes go, I like this one a lot, it makes memory resident bitbake
truly usable and may be the tweak we need to make it the default.

The new pyinotify dependency is covered in the previous commit.

(Bitbake rev: 0557d03c170fba8d7efe82be1b9641d0eb229213)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-14 11:32:02 +00:00
Richard Purdie
83f8a4002a bitbake: bitbake: Add pyinotify to lib/
We need inotify support within bitbake and pyinotify provides the best
mechanism to add this. We have a few options:

a) Depend on pyinotify from the system
b) Add in our own copy
c) Only use pyinotify in cases like the memory resident server

For a), it would mean adding in dependencies, updating documentation and
generally creating churn for users as well as having implications for things
like the build-appliance recipe.

It turns out that glibc has the C functionality we need from version 2.4
onwards (2006) and that we just need a single python file for b), there
is no binary module needed. We therefore add in a copy of pyinotify 0.9.5
into the tree meaning we can depend on it simply and unconditionally.

c) is unattractive as we need fewer possible code paths, not more.

(Bitbake rev: d49004a4e247e3958a2f7ea9ffe5ec92794e1352)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-14 11:32:02 +00:00
Aníbal Limón
3cd31b19d3 bitbake: bb/fetch2/ssh.py: Fix urldata.localpath use os.path.normpath
When urls ends with trailing slash os.path.basename return "" [1]
and built urldata.localpath only with DL_DIR, it causes that
donestamp is built as DL_DIR + '.done' and seems that ssh resource
was already download.

[YOCTO #6448]

[1] https://docs.python.org/2/library/os.path.html#os.path.basename

(Bitbake rev: 47992591349bab2c12741b937096e41085399087)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-14 11:32:01 +00:00
Richard Purdie
83a30dfd49 bitbake: fetch/git: Improve ls-remote handling for latest_revision
Currently the code ignores lightweight tags which has caused some user
complaints. We can't put the right search list in place easily since
the results don't come back in a good order, head happens to sort
before tags.

In the end I refactored the function so we get the complete list of
remotes and then we can filter it ourselves in the order we chose,
including checking for light weight tags, preferring the proper ones.

Hopefully this resolves the issues people have been seeing.

[YOCTO #6881]

(Bitbake rev: 07ad307065bb15a48f0015b9e4a643201abdc283)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-14 11:32:01 +00:00
Paul Eggleton
c45589a55c poky.conf: mark all CentOS 6/7 versions as compatible
It's rather unlikely with a distribution such as CentOS that they would
introduce changes that would cause us issues that we would not be
prepared to fix; therefore use a wildcard to suppress the warning (in
any case, CentOS 6.6 is now the current 6.x version.)

Also add CentOS 7 as we are running regular builds on CentOS 7 machines
as part of the autobuilder infrastructure.

(From meta-yocto rev: 7eba5a772bb9e78288b4d8034d2f1925228a6343)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-12 13:31:08 +00:00
Alexandru DAMIAN
876370419a bitbake: toaster: implementation of project page
This patch brings the project page in line with the design,
including build error handling and suggestions.

Includes some refactoring for already existing code.

[YOCTO #6587]

(Bitbake rev: 1ea658dcdfde5465d3ecdb97550e0a66cb8b122e)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 22:34:38 +00:00
Alexandru DAMIAN
66e1b520d7 bitbake: toaster: branch name priority resolution
Adding a Layer_Version function that gets back the
branch name that should be used/displayed for finding the
targeted git branch name.

Change the commit id to use the branch name instead of the
last-updated commit hash from the layer source.

[YOCTO #7031]

(Bitbake rev: 1a52202f7f3719f5421289aaf0fc8eba0bf4c7ce)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 22:34:37 +00:00
Alexandru DAMIAN
3e73af423f bitbake: toaster: do not launch web browser on noweb option
This patch makes Toaster managed mode obey the "noweb" parameter
by not starting the web server and launching the web browser
command if the "noweb" parameter is specified.

The web browser will be pointed at 127.0.0.1 instead of 0.0.0.0

[YOCTO #7039]

(Bitbake rev: 4037f8b08bc9fb5c4c9f260efb847105be718a32)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 22:34:36 +00:00
Alexandru DAMIAN
3c37669272 bitbake: toaster: write pre-read conf file for build variables
We change the setting of variables from directly injection
into the set-up cooker to writing a conf file that is pre-read
on bitbake server startup. This is needed because the injection
can only happen after the variable set is parsed, and the variables
already inferred, so setting up variables happens too late.

[YOCTO #7045]

(Bitbake rev: 854f680b5b9d2d0fa796af84cb1218545fbfc55a)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 22:34:36 +00:00
Michael Wood
ed9fa17467 bitbake: toaster: Improve client side error handling
Make use of the toastermain.settings.DEBUG flag to toggle the client
side error logging. Make the error logging consistent by using
console.warn/error across the project, this adds traceability to the
warnings. Also handles the case where console is not available by
stubbing it in libtoaster.

(Bitbake rev: c34ebc51a6cbf90c64ef1ac461e475c6341f0f2a)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 22:34:36 +00:00
Richard Purdie
2e26745a13 bitbake: ast: Add error when trying to use dash in sh function names
A dash character is illegal in function names in sh (but not bash). Since
our shell tasks run under sh and the shell parser is sh based, EXPORT_FUNCTIONS
won't work with class names containing a dash.

We can't change sh, we can ensure the user is warned about the problem
straight away though.

[YOCTO #7006]

(Bitbake rev: 86704281b79e524dccccc88cbf996b299b33bae2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 10:38:36 +00:00
Richard Purdie
97d44bf526 bitbake: cache/fetch2/siggen: Ensure we track include history for file checksums
Currently, if you reference a file url, its checksum is included in the
task hash, however if you change to a different file at a different
location, perhaps taking advantage of the FILESPATH functionality, the
system will not reparse the file in question and change its checksum to
match the new file.

To correctly handle this, the system not only needs to know if the
existing file still exists or not, but also check the existance
of every file it would have looked at when computing the original file.

We already do this in the bitbake parsing code for class inclusion. This
change uses the same technique to log the file list we looked at and
if files in these locations exist when they previously did not, to
invalidate and reparse the file.

Since data stored in the cache is flattened text, we have to use a string
form of the data and split on the ":" character which is ugly, but is
an internal detail we can improve later if a better method is found.

The cache version changes to trigger a reparse since the previous
cache data is now incompatible.

[YOCTO #7019]

(Bitbake rev: 6c0706a28d72c591f1b75b6e3f3b645859387c7e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:52:52 +00:00
Richard Purdie
26cd67e63a bitbake: wget: Add localpaths method which gives localpath with history
In some cases for cache purpoes we not only need to know which file
is going to be used but also which paths were considered. Add a
localpaths method which includes the history.

The core which() funciton already supports this, this just extends
the function to preserve the extra data we need. localpath becomes
just a special case of the case with history.

(Bitbake rev: ea5efeac5c1f7986666c979f789786f29fc1619a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:52:52 +00:00
Richard Purdie
130958cc24 bitbake: bitbake-worker: Use setsid() rather than setpgid()
The bug has a long discussion of this. Basically, in some environments,
the exact details of which aren't understood, a Ctrl+C signal to the
UI is being transmitted to all the process children. Looking at the output
of "ps ax -O tpgid", its clear the main process is still the terminal
owner of these processes.

stty -a on a problematic system shows: "-ignbrk brkint"
and on a working system shows: "-ignbrk -brkint"

The description of brkint would suggest this is the problem, setting up
that terminal environment wasn't able to reproduce the problem though.
It was confirmed that using setsid() caused the problem to be resolved
and is probably the right thing to be doing anyway, so lets do it.

[YOCTO #6949]

(Bitbake rev: 461aa73fff0ab616032d28c4fd0322eb88838be6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:46:58 +00:00
Richard Purdie
1393e224b5 bitbake: cooker: Shut down the parser in error state
If the cooker is in an error state, we shouldn't continue to try parsing.
This fixes an issue where an invalid PR server is detected when bitbake
is started and ensures bitbake exits cleanly rather than hanging.

[YOCTO #6934]

(Bitbake rev: 294bb9cad294423d4f8998405ceff58655f12660)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:42:24 +00:00
Noor
cbb4f57800 bind: Update libxml2 check to make it deterministic.
* Firstly configure scritp was testing files from bin folder.
  In our case we don't copy bin folder to sysroot for target
  recipes. So added extra check to validate .pc file from lib
  folder via a patch to configure.in file.
* Secondly linxml2 dependency was missing. So added PACKAGECONFIG
  for libxml2.

(From OE-Core rev: b61a2acc321489c3427f0afa3059486dc144a13b)

Signed-off-by: Noor Ahsan <noor_ahsan@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:24:50 +00:00
Robert Yang
33f823660b git: upgrade to 2.2.1
(From OE-Core rev: c3d4515854bb889c866b1592a6b109bd7b1deb8c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:24:50 +00:00
Robert Yang
9a998a4e65 file: upgrade to 5.22
(From OE-Core rev: fa81c9fd14067075afbfe7787a3114b96abb902a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:24:49 +00:00
Lucian Musat
19399d5d29 oeqa/parselogs: Added a check in case the folder location does not contain any log files
(From OE-Core rev: affa3a126ba214f4d9b9a770e51323a6a5863bf2)

Signed-off-by: Lucian Musat <george.l.musat@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:24:49 +00:00
Max Krummenacher
9fee93dd0a pcmanfm: update to 1.2.3
(From OE-Core rev: 3f2aee4547649cf99e8ce9051721e15e8755cb06)

Signed-off-by: Max Krummenacher <max.oss.09@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:24:49 +00:00
Max Krummenacher
bb21377878 menu-cache: update to 1.0.0
menu-cache depends on fmlib-extra and thus requires the split
of the libfm recipe in version 1.2.3.

This obsoletes Fix-segfault.patch.

menu-cache license has been changed by the authors from GPL to LGPL:
http://git.lxde.org/gitweb/?p=lxde/menu-cache.git;a=commit;h=7972913d8e47e4970b9aa70267cb87fe7eb3a8b4
http://git.lxde.org/gitweb/?p=lxde/menu-cache.git;a=commit;h=08fe520c52a79d425504ba631afbea5fd62cc735

(From OE-Core rev: a356da6094982cc76b4e742e17e556094fb3e38a)

Signed-off-by: Max Krummenacher <max.oss.09@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:24:48 +00:00
Max Krummenacher
6450281c6b libfm: update to 1.2.3
split out libfm-extra as a seperate recipe to break a circular dependency
with newer menu-cache recipe.

This obsoletes ignore_automake_warnings.patch.
This obsoletes fix-make-parallelism-issue.patch.
24c8eab43c

The library part of libfm has its license changed by the authors to LGPL:
http://git.lxde.org/gitweb/?p=lxde/libfm.git;a=commit;h=e0d250aeb40f26ceead82d4b4c7af3b58ab34930

(From OE-Core rev: 4f12442b752626ad5f9711cbb1344720fdb3f47e)

Signed-off-by: Max Krummenacher <max.oss.09@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:24:48 +00:00
Otavio Salvador
41fa9bd7aa base.bbclass: Avoid explicit ${MAKE} in do_configure
The do_configure may eventually call 'make clean' when the sstate
signature does not match. We should respect EXTRA_OEMAKE when doing
so, so use 'oe_runmake' for it.

(From OE-Core rev: 29cd284cab63fb1f6e82ad90bc8c92c1bbcafa88)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:24:47 +00:00
Richard Purdie
2aa210cbc5 rm_work: Fix RM_WORK_EXCLUDE for image/sdk recipes
A previous change meant image/sdk recipes were removed unconditionally
by the class and did not respect RM_WORK_EXCLUDE. This fixes that
problem.

[YOCTO #7114]

(From OE-Core rev: 050de16968fe6efeba5d64761b11512549e9fdc2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-08 09:24:47 +00:00
Robert Yang
292f32b18b glib-2.0: add HOMEPAGE
It doesn't have a homepage except gtk.org, use its reference manual page
as the homepage, which we can easily know whether it is a stable version
or not.

(From OE-Core rev: ef303442278c900cd6bfd529692cb9de80e31353)

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-01-07 23:35:13 +00:00
Ross Burton
c366bcb09e cogl: fix .pc file packaging
Some .pc files were not being correctly moved into the right sub-package, so fix
this.

(From OE-Core rev: a37366224cc7d7ef5e2a603655bf531e3704f21f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:13 +00:00
Chen Qi
02f010b99f cmake-native: disable check for acl.h
We build cmake-native without acl support. However, the acl.h header
is still being checked which would sometimes cause the following error
during do_compile:

     archive_read_disk_entry_from_file.c:38:21: fatal error: sys/acl.h: No such file or directory
     |  #include <sys/acl.h>
     |                      ^
     | compilation terminated.

This happens when the sysroot parts of acl-native is removed between
do_configure and do_compile tasks of cmake-native.

To reproduce the problem manually, execute the following command:

bitbake cmake-native -c cleansstate && bitbake acl-native -c cleansstate && \
bitbake	acl-native && bitbake cmake-native -c configure	&& \
bitbake acl-native -c cleansstate && bitbake cmake-native -c compile

This patch fixes the above problem by explicitly disable the checking for
acl.h header file.

(From OE-Core rev: 3ad1701b0afe59af9d8427d53ffa4c0f52f42805)

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-01-07 23:35:12 +00:00
Saul Wold
9cfe52d36e libgpg-error: Update to 1.17
Rebased the pkgconfig.patch

Added do_compile_prepend() copy an architecture specific header file.

(From OE-Core rev: f6866391934588136f6cfa2c58fb8593875eb6fd)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:12 +00:00
Saul Wold
1a3afca79d liburcu: Upgrade to 0.8.6
Move patches from files to liburcu directory

(From OE-Core rev: 1d925c962ac4e1cac3a6c6004f24bdc276e16202)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:11 +00:00
Saul Wold
108b48195b libksba: Upgrade to 1.3.2
(From OE-Core rev: 845c1bd009042339a15656730cbd6cc0cc4bf959)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:11 +00:00
Saul Wold
be42ad12d8 libassuan: Upgrade to 2.2.0
(From OE-Core rev: 61dfbbc30f498c37b9e494d038053afc7f07165e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:10 +00:00
Saul Wold
0943983782 libffi: Upgrade to 3.2.1
(From OE-Core rev: 4984622044da3457eabac7d90a6c5884a7067938)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:10 +00:00
Saul Wold
6ca44e2743 lsbinitscripts: Upgrade to 9.60
(From OE-Core rev: ec9629321a4501d832f776a04a89dea55359f337)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:10 +00:00
Saul Wold
86b24bc9b3 json-c: Upgrade to 0.12
Added CFLAGS to prevent compiler error of unused size variable

(From OE-Core rev: f229327783021c20f93a38d35c8f9d31e432503e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:09 +00:00
André Draszik
5e2bf794c7 openssl: fix hard paths in native openssl
This causes the package to not be relocateable from sstate

The OpenSSL binaries respect a few environment variables for determining
locations of files, so we now use these to point the binaries to the
relocated locations.

[YOCTO #6827]

(From OE-Core rev: 771d3123331fbfab1eb9ce47e3013eabcb2248f5)

Signed-off-by: André Draszik <adraszik@digisoft.tv>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:09 +00:00
Saul Wold
c4fc5641d3 syslinux: Update to 6.0.3
Removed patches that are now committed upstream, rebase parallel make
patch and add a new patch to remove a script that was calling git during
the clean process.

(From OE-Core rev: b53e46bece1c4976ba146d9abf41a8a54c584300)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:08 +00:00
Saul Wold
31059be977 gnupg: Upgrade to 2.1.0
Add patch to use pkg-config instead of npth-config and remove
--without-curl as it's not used anymore.

Also needed a patch to add libgpg-error to correctly build dirmngr

(From OE-Core rev: 0509f3b6f880b516dfbe053b13d417f724509b99)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:08 +00:00
Robert Yang
144630e6e8 cogl: enable egl-x11 when build with x11
Fixed clutter-1.0 compile error when build with x11:
clutter-backend-eglnative.h:31:27: fatal error: cogl/cogl-egl.h: No such file or directory
 #include <cogl/cogl-egl.h>
compilation terminated.

We need enable egl-x11 when x11 as we enable egl-wayland when wayland.

(From OE-Core rev: d61e3a6e63664ab2893a90e5525fe634d4514318)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:07 +00:00
Robert Yang
188db833ab cups: check avahi before use it
Fixed the error when --disable-avahi:
ippserver.c:425:8: error: unknown type name 'AvahiThreadedPoll'

The avahi is optional, we need check whether it is enabled before use as
other code does.

(From OE-Core rev: e69a1a583bf65dd2b6358c1d925d8de6419e3d76)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:07 +00:00
Mike Looijmans
d1b523e7dd qt4: Fix QT4 applications spamming "QWSLock::down(): Invalid argument"
If you run a QT server application, and a client in a separate process, it will
spam the log with "QWSLock::down(): Invalid argument" messages because of an old
bug in the locking code. There's a patch on the net that fixes it, which I manually
adapted by removing the commented-out debug statements.

We have been using this patch for about half a year without problems, and the QT people
apparently don't care about the bug, for which this solution has been posted in 2012.
Including this into OE core will at least save other people the trouble of having to find
and apply it for themselves.

(From OE-Core rev: 7b6546e0ee5561ece1c7972bb8dde7383b530eb7)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:07 +00:00
Paul Eggleton
fca3bc561c dropbear: upgrade to 2014.66
* Upgrade to upstream 2014.66; incorporates several minor bugfix
  releases.
* LIC_FILES_CHKSUM changed because the copyright year changed; there was
  no change to the license text itself.

(From OE-Core rev: 78f388e81cad5dfb6aea52da68f9b4523c88c5ad)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:06 +00:00
Paul Eggleton
3fb5191d4d openssh: upgrade to 6.7p1
* Drop two CVE patches already handled upstream.
* Drop nostrip.patch which no longer applies and use the existing
  --disable-strip configure option instead.
* OpenSSH 6.7+ no longer supports tcp wrappers. We could apply the
  Debian patch to add support back in, but it seems best to follow
  upstream here unless we have a good reason to do otherwise.

(From OE-Core rev: 59e0833e24e4945569d36928dc0f231e822670ba)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:06 +00:00
Paul Eggleton
060e35492d libevdev: upgrade to 1.3
(From OE-Core rev: bb872893cd5d2bef21b081a424ea6766729fa0dc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:05 +00:00
Ross Burton
3accae165a rgb: upgrade to 1.0.6.
(From OE-Core rev: 75b79264cfd0ccfc67daffd6244ece8731232a8a)

(From OE-Core rev: 56ad2156365258c497e98ed0111dfe633b170a80)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:05 +00:00
Ross Burton
b457fe591c xkbcomp: upgrade to 1.3.0
(From OE-Core rev: 99df8a16cf48df5c3eb8159cb4680f81a142f814)

(From OE-Core rev: f858ebb507427bae053d87299fc31dbb27cb32c1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:04 +00:00
Ross Burton
c8cf56b252 xinit: upgrade to 1.3.4
(From OE-Core rev: 87b345cc62f132d67e16b68fa9864691999c0ef7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:04 +00:00
Ross Burton
1db3472932 xf86-video-modesetting: upgrade to 0.9.0
(From OE-Core rev: 64734c645d48e2c69c757db9a1b1d4ab88db6350)

(From OE-Core rev: 515d3e5564494ab108a3ed3138ff27757f1f012d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:04 +00:00
Ross Burton
8db61a9785 xf86-input-synaptics: upgrade to 1.8.1
(From OE-Core rev: 3d3edc199e123d16fe1403766a0da09f86da53e8)

(From OE-Core rev: 45dc1771f2b26098e703279527aa92b45719e3d9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:03 +00:00
Ross Burton
57f2f855c8 xf86-input-evdev: upgrade to 2.9.1
(From OE-Core rev: 6218a9e12da4e6c27df2e735a08e90387b3cacf0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:03 +00:00
Ross Burton
593ad5752c xf86-video-intel: upgrade to 2.99.917
Remove backported patch that is present in this release.

(From OE-Core rev: 026de2fd671f2442809cf3ce11da74f1c7c574a6)

(From OE-Core rev: 4b07c105270f80e75ed8f54af8ec71a120fdcdb9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:02 +00:00
Ross Burton
86d1a86e12 freetype: upgrade to 2.5.4.
(From OE-Core rev: 19256cb72fe8f645cc1f6db3b653b95071e7f4f4)

(From OE-Core rev: 81b66d9a324187d182cc50432a7b182acb0950ce)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:02 +00:00
Ross Burton
b186008868 xkeyboard-config: upgrade to 2.13.
(From OE-Core rev: 2ae82451222467b6f31895a1fb46ffa002f2494d)

(From OE-Core rev: 85db96e734298865da77659a208f51ca904a904a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:01 +00:00
Ross Burton
cd00f2a714 libpng12: upgrade to 1.2.52
License texts contain new dates and versions, so update checksums.

(From OE-Core rev: 92fc39417ba1fcfb3b6004f0d8d657cb56fe123e)

(From OE-Core rev: ffb4b8533c882a8221cae4ed4f8429945562d0ab)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:01 +00:00
Ross Burton
67786c471a librsvg: upgrade to 2.40.6
Upstream now ships it's own vapigen.m4, so don't install our own copy.

(From OE-Core rev: 7235da88c6ed6555cfa271714331595a8c3dd2e4)

(From OE-Core rev: a06bdaf8c25fbe838c416e67aaf4a6bc0335681c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:01 +00:00
Ross Burton
450a4aaf1a hicolor-icon-theme: upgrade to 0.14
Drop the customised index.theme as it was only required for Hildon- and
OpenMoko-specific environments.

Upstream now uses autotools, so drop custom rules and autotools-brokensep.

Drop pointless unknown SECTION and unused gnomebase class.

(From OE-Core rev: 60784d5faafe75f79fc5aaa9c7ef03b51f6efaec)

(From OE-Core rev: b2f7cd12b053c00f42a5eb8e036c0aa8a8e447e4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:00 +00:00
Ross Burton
e4aa242ae6 json-glib: upgrade to 1.0.2
(From OE-Core rev: 91201b12f97294fc2b78cf65d6ba51444ba4e0c5)

(From OE-Core rev: 8e123e620cff289e9c13bd69276ef9705da3be68)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:35:00 +00:00
Ross Burton
fad05a714c gst-fluendo-mp3: upgrade to 0.10.31
This version supports both GStreamer 0.10 and 1.0, but for now only build 0.10
for consistency with previous recipies.

Add a missing build dependency.

(From OE-Core rev: ed1edf4917e173f5df41854cfd74559b60b9fdf3)

(From OE-Core rev: 6e86e7a5fdc94a5f31cf89327fb877951dbc58c2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 23:34:59 +00:00
Robert Yang
4935fe64be insane.bbclass: fix desktop
The desktop-file-utils-native lacks a space.

(From OE-Core rev: 95f7d2c8fd5ee6ad0b7d202906073066f35a268d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 14:52:52 +00:00
Martin Jansa
cc73622d52 kernel.bbclass: fix do_unpack function when S ends with slash
* slash at the end causes os.symlink(kernsrc, s) to use s as
  directory name and fails with:

ERROR: Error executing a python function in /OE/build/owpb/webos-ports/meta-smartphone/meta-samsung/recipes-kernel/linux/linux-samsung-tuna_git.bb:

The stack trace of python calls that resulted in this exception/failure was:
File: 'base_do_unpack', lineno: 26, function: <module>
     0022:        subprocess.call(d.expand("mv /OE/build/owpb/webos-ports/tmp-glibc/work/maguro-webos-linux-gnueabi/linux-samsung-tuna/3_3.0.72+gitrAUTOINC+f8ed73f94a-r12/git/ /OE/build/owpb/webos-ports/tmp-glibc/sysroots/maguro/usr/src/kernel"), shell=True)
     0023:        os.symlink(kernsrc, s)
     0024:
     0025:
 *** 0026:base_do_unpack(d)
     0027:
File: 'base_do_unpack', lineno: 23, function: base_do_unpack
     0019:        bb.utils.mkdirhier(kernsrc)
     0020:        bb.utils.remove(kernsrc, recurse=True)
     0021:        import subprocess
     0022:        subprocess.call(d.expand("mv /OE/build/owpb/webos-ports/tmp-glibc/work/maguro-webos-linux-gnueabi/linux-samsung-tuna/3_3.0.72+gitrAUTOINC+f8ed73f94a-r12/git/ /OE/build/owpb/webos-ports/tmp-glibc/sysroots/maguro/usr/src/kernel"), shell=True)
 *** 0023:        os.symlink(kernsrc, s)
     0024:
     0025:
     0026:base_do_unpack(d)
     0027:
Exception: OSError: [Errno 2] No such file or directory

ERROR: Function failed: base_do_unpack
ERROR: Logfile of failure stored in: /OE/build/owpb/webos-ports/tmp-glibc/work/maguro-webos-linux-gnueabi/linux-samsung-tuna/3_3.0.72+gitrAUTOINC+f8ed73f94a-r12/temp/log.do_unpack.17042
ERROR: Task 0 (/OE/build/owpb/webos-ports/meta-smartphone/meta-samsung/recipes-kernel/linux/linux-samsung-tuna_git.bb, do_unpack) failed with exit code '1'

(From OE-Core rev: dba30c2395792b553b69ce0b44cc75ff2dbdb317)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 14:30:21 +00:00
Martin Jansa
0e92cbc29f pulseaudio: use stricter PACKAGES_DYNAMIC
* I don't see any usage for libpulse-* packages
* adding '-' resolves the issue when we have separate recipe for
  pulseaudio-modules-droid which isn't built to satisfy RDEPENDS
  with the same name, because generic pulseaudio recipe seems to
  RPROVIDE it through PACKAGES_DYNAMIC

(From OE-Core rev: 600346c6ebce9acb0c3b6718bb022f804f41071b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 14:30:20 +00:00
Paul Eggleton
97ca1c3b54 poky.conf: add file-rdeps to WARN_QA
This was added to the default value of WARN_QA in insane.bbclass in
OE-Core, but we missed adding it to the value set in poky.conf.

(From meta-yocto rev: 125621909c69ac00ca90e6001b7798c5123b0405)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-07 11:04:59 +00:00
Robert P. J. Day
2674ddb4b0 dev-manual: Some minor fixes to some text.
I applied (in spirit) the changes here... Some literal and some
with changes.

(From yocto-docs rev: 0ccf8a43264981accbe42f729c723804e5b69b72)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-06 14:27:03 +00:00
Robert P. J. Day
cf17b6cb72 dev-manual: Minor hyphenation fix.
(From yocto-docs rev: 7a88f5f3a3f826ff4c2a6415c279d1fc4a8cc5f8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-06 14:27:03 +00:00
Scott Rifenbark
060d30ded8 bsp-guide: Added more detail for customizing a BSP recipe
The way the explanation for adding the BSP-specific files did
not take into account for layers that might support multiple
machines versus a layer not supporting multiple machines.  I added
more explanation that covers both scenarios to be clear.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 3f00f0bb830665f8711c68aa6110b8399e867345)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-06 14:27:02 +00:00
Scott Rifenbark
54f98c0525 bsp-guide: Cleaned up some examples affected by VESA-support
The Crown Bay BSP now only supports VESA graphics.  Because of
this, some of the examples in several areas of the BSP hierarchy
were wrong.  Changed accordingly.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: b61f013a086a9135a86eedf2884fd1b07f798165)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-06 14:27:02 +00:00
Robert P. J. Day
eae11ba551 bsp-guide: Updates to the "yocto-bsp" section.
Update the choices and version numbers of the "yocto-bsp" section
of the BSP guide to match the current development utilities.

(From yocto-docs rev: 0f8472ffa2bc3ae762587c4e2345a4d9850608ed)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-06 14:27:01 +00:00
Robert P. J. Day
bc4215154c bsp-guide: Some minor fixes to the BSP Guide
(From yocto-docs rev: c0ca0d285f8de6ce921971fdd8bd8473fa33f3c2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-06 14:27:01 +00:00
Scott Rifenbark
e38e7e7c79 bsp-guide: Some corrections to the Crown Bay code examples.
The directory structure no longer seems to support two flavors
of the BSP: one with EMGD and the "noemgd."  Only the "noemgd"
remains.  I have updated some of the examples here to reflect
the current directory structure and sample configuration code
for the BSP.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 64fc4a7a6d69eb99dcd3d8c5e388810e7052ad75)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-06 14:27:01 +00:00
Robert P. J. Day
63e44521ef Makefile: Clean ups to the Makefile.
* small number of typos fixed.
* documentation corrected in a couple places.
* for most part, reduce line lengths to 80 for printing.

I was going to fix just a couple typos, then figured that while i was
there, might as well do some cleanup, mostly in the area of reducing
line lengths to 80 where possible for printing. feel free to comment
on any other possible aesthetic fixes, i can add them and resubmit.

(From yocto-docs rev: cfe4c061d8691e128933b81693aa42c809ef5486)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-06 14:27:00 +00:00
Scott Rifenbark
67f9fa9206 poky.ent: Updated the high-end copyright date to "2015".
(From yocto-docs rev: 7c4160fc286edf0afa5a95b182c8ffb848eb1d6a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-06 14:27:00 +00:00
Scott Rifenbark
46f120c85c documentation: Updated all XSL style sheet imports to use 1.76.1 version
This fixes the issue where the lines for the manual revision table
are not appearing.  For some reason they do not appear when building
the docs using Ubuntu 14.10 and the "current" XSL transformation
files.  So, I backed up to the 1.76.1 version, which is the nearest
version where the issue does not surface.

(From yocto-docs rev: 82b15986b97b9ed082b652b562eaaf843572fdff)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-06 14:26:59 +00:00
Awais Belal
bfe7d3032a gstreamer1.0-omx: use mulitple SCMs to fetch submodules
The gstreamer omx package uses a submodule 'common' which
is fetched by the configure script. This approach fails
on non-network builds as the fetcher tries to look upstream
for the submodule.
We now use multiple SCMs, one for the main omx package and
the other for the 'common' submodule so it is available in
the downloads_dir for later use.

(From OE-Core rev: 24f19fedb40d0af84beb8e9a6595ea06f09d4615)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:52 +00:00
Otavio Salvador
b3d517aad4 image.bbclass: Remove 'set_image_autologin' function
The set_image_autologin function is GPE Login specific and the package
is not available in OE-Core so the function should be added in the
meta-gpe layer, if necessary. Drop this from the OE-Core as it is
unused.

(From OE-Core rev: a7191a7018c1fe43fe35a894a09d2a165af1a4d2)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:51 +00:00
Ross Burton
ea06c15c04 telepathy: remove (moved to meta-oe)
Nothing in oe-core uses Telepathy, so move these recipes to meta-oe.

(From OE-Core rev: fc8c843ae2a7d688a5b7e3effd1dae10c7e2fbf8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:51 +00:00
Otavio Salvador
d25f3980a5 lttng-ust: Update to 2.5.2 version
(From OE-Core rev: 6d6649ba08682533752568b6e3e42fca955cfd56)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:50 +00:00
Otavio Salvador
1fc866e559 lttng-tools: Update to 2.5.3 version
(From OE-Core rev: 3ffa64167f6fe165518efdd4fc1c33bd062394be)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:48 +00:00
Otavio Salvador
b371b6b2db lttng-modules: Update to revision to 16d7431c3
This update the source code to the 2.5.2 version and also brings two
fixes from stable-2.5 branch. The update also allowed the removal of
some already applied patches from the metadata.

Doing this update, it fixes following build error:

,----
| make[1]: Entering directory `.../build-framebuffer/tmp/sysroots/imx23evk/usr/src/kernel'
|
|   ERROR: Kernel configuration is invalid.
|          include/generated/autoconf.h or include/config/auto.conf are missing.
|          Run 'make oldconfig && make prepare' on kernel src to fix it.
|
|   Building modules, stage 2.
| ./scripts/Makefile.modpost:42: include/config/auto.conf: No such file or directory
| make[2]: *** No rule to make target `include/config/auto.conf'.  Stop.
| make[1]: *** [modules] Error 2
| make[1]: Leaving directory `.../build-framebuffer/tmp/sysroots/imx23evk/usr/src/kernel'
| make: *** [default] Error 2
`----

(From OE-Core rev: e575ab81f0cf145503c4afd9ce62040721a526b2)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:48 +00:00
Armin Kuster
93f902f506 libinput: update to 0.7.0
(From OE-Core rev: f25e913dbc400a8c72fbd93b2754501d5b61e3df)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:47 +00:00
Armin Kuster
4ae6e8f4dd mmc-utils: update to latest git version
(From OE-Core rev: 07d8a86f688641aa9ea55eaa803c23fe716d556f)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:47 +00:00
Yi Zhao
8c9fb9dbe7 oeqa/selftest: fix test_incremental_image_generation for changes in log output
test_incremental_image_generation case failed because the log output
chanaged:

FAIL: test_incremental_image_generation (oeqa.selftest.buildoptions.ImageOptionsTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File
  "/buildarea3/yzhao1/poky-build/meta/lib/oeqa/utils/decorators.py", line 90, in wrapped_f
    return func(*args)
  File
  "/buildarea3/yzhao1/poky-build/meta/lib/oeqa/selftest/buildoptions.py", line 25, in test_incremental_image_generation
    self.assertEqual(0, res.status, msg="No match for openssh-sshd in log.do_rootfs")
AssertionError: 0 != 1 : No match for openssh-sshd in log.do_rootfs
----------------------------------------------------------------------

Using re search instead grep

(From OE-Core rev: 1872a9430cec0c61f1ec349df198160addd430de)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:46 +00:00
Ross Burton
9c16a966ac gstreamer1.0-rtsp-server: upgrade to 1.4.5
(From OE-Core rev: 6398ae1d40c86a3b848ac79a1dce25520bd088c6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:46 +00:00
Ross Burton
dabb7f6d4a gstreamer1.0-libav: upgrade to 1.4.5
License checksum changed as the file list in the license was revised.

(From OE-Core rev: 4d11e5151c947bedf1dfc26a9249bf20a923c48e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:45 +00:00
Ross Burton
7bdb55f3b0 gstreamer1.0-plugins-ugly: upgrade to 1.4.5
(From OE-Core rev: 6ddece80afc84357854d515f2c2ac39b5c766901)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:45 +00:00
Ross Burton
fbf32bef81 gstreamer1.0-plugins-good: upgrade to 1.4.5
(From OE-Core rev: 3b8ad35382d66fbca4b30d72a8ce56dd12456595)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:45 +00:00
Ross Burton
f5e4d7baef gstreamer1.0-plugins-bad: upgrade to 1.4.5
(From OE-Core rev: 8a5c276cea4df993386b2f55cf85dab54f16ec69)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:44 +00:00
Ross Burton
88b6366c60 gstreamer1.0-plugins-base: upgrade to 1.4.5
(From OE-Core rev: e74cbf449921ecca0014bf56a1a7837d9a431689)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:44 +00:00
Ross Burton
8c42ad47b7 gstreamer1.0: upgrade to 1.4.5
(From OE-Core rev: 4661628f9e818a637adba646c81d18cb570f1772)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:43 +00:00
Richard Purdie
4477069b64 oeqa/parselogs: Add harmless failure warning introduced by new qemu version on qemuppc
(From OE-Core rev: d9f49e0e6b377c402e01de631edca73bb6537ab9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:43 +00:00
Kai Kang
39dea062d6 qemu: upgrade to 2.2.0
Upgrade qemu from version 2.1.2 to 2.2.0.

Update Qemu-Arm-versatilepb-Add-memory-size-checking.patch for new
version qemu.

(From OE-Core rev: a693ccb1603be1125bea3b254bf4b6c4188890ac)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 17:04:42 +00:00
Zidan Wang
5c8ef2bfe2 gstreamer1.0-plugins-base: Taglist will not be sent to downstream if all the frame corrupted
Add patch to fix the issue that taglist will not be sent to downstream if the
tag is EOS.

https://bugzilla.gnome.org/show_bug.cgi?id=737246

(From OE-Core rev: 223f8dc63385f2a2f5ba009494abce2a26c78090)

Signed-off-by: Zidan Wang <b50113@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:28 +00:00
Zidan Wang
0b971429d0 gstreamer1.0-plugins-good: Decrease the rank as havn't this kind of decoder for asteriskh263
When streaming H263 stream on RTSP, asteriskh263 will be loaded, but it can't
find this kind of video decoder. So decrease the rank as havn't this kind of
decoder.

https://bugzilla.gnome.org/show_bug.cgi?id=739935

(From OE-Core rev: 5ba935eea545d26f1339e62410b3c83715a6967a)

Signed-off-by: Zidan Wang <b50113@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:27 +00:00
Ross Burton
ff46a34327 xcb-util-keysyms: upgrade to 0.4.0
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:27 +00:00
Ross Burton
f5cb9a7ec6 xcb-util-image: upgrade to 0.4.0
(From OE-Core rev: 842e6eb2043ae48f2f98bd0c2c6f9be456395559)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:27 +00:00
Ross Burton
5da3d30d67 xcb-util: upgrade to 0.4.0
(From OE-Core rev: 84185ac4ac25686f22817f5fc9f3681fa12e2448)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:26 +00:00
Ross Burton
b74c1ad2e8 xtrans: upgrade to 1.3.5
(From OE-Core rev: 3a8a87706b7e41d2076771cab02bf37784c323e3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:26 +00:00
Ross Burton
f551ab1035 libxext: upgrade to 1.3.3
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:26 +00:00
Ross Burton
9e64b6d96c gtk+: upgrade to 2.24.25
Remove patches that are no longer needed:
* GtkButton-do-no-prelight: merged upstream
* Duplicate-the-exec-string: upstream decided this behaviour is incorrect
* cellrenderer-cairo: Cairo isn't the performance bottleneck it once was, drop
* configure-nm: resolved upstrea
* configurefix.patch: not applied
* run-iconcache: not needed when building tarballs, and if gtk-update-icon-cache
  is needed at build time (e.g. user is customising default icon theme) then
  they can add a dependency on gtk-update-icon-cache-native.

Also remove mention of patches that have been commented out for a long time.

(From OE-Core rev: 9299b5d2e5f82cf0e3f66ca49dedbe2c8b18bb44)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:25 +00:00
Ross Burton
db8bf52277 pango: upgrade to 1.36.8
(From OE-Core rev: dbfe7d6eb2a292efe25f43ca2f5b3bb476a6210d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:25 +00:00
Ross Burton
e81b8aba2b harfbuzz: upgrade to 0.9.37
(From OE-Core rev: 72ad7edb8c06af5b4b06e6877fc6ab55f4404ec4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:24 +00:00
Ross Burton
538b6b69ce cairo: upgrade to 1.12.8
Drop Remove-LTO-support as this patch has been merged upstream.

(From OE-Core rev: 8aa42f360fa9f17d949f908787088795f7ddac5e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:24 +00:00
Ross Burton
515d71a156 at-spi2-atk: upgrade to 2.14.1.
(From OE-Core rev: 81c23512a63242d291a8087797ef515b4bec79a8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:24 +00:00
Ross Burton
cfc61547be at-spi2-core: upgrade to 2.14.1
Drop core_acinclude_m4.patch, merged upstream.

(From OE-Core rev: 311df48b13098f3c5f51bb9f04eeba63c1aa46b3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:23 +00:00
Ross Burton
344ce08822 atk: upgrade to 2.14.0
License checksums included some #includes so update the endline to match the
license statement.

(From OE-Core rev: c8d333c8e6e06e65fbc77271c3b3014c9ddcf638)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:23 +00:00
Ross Burton
d26dcd8b8b glib-2.0: Upgrade to 2.42.1
(From OE-Core rev: a429f81a358e3f56c0b93a628bc6709944374fc9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:22 +00:00
Aníbal Limón
fa9777bdad sqlite3: Upgrade to 3.8.7.4
(From OE-Core rev: fc537000800e6561f0a6260ee35e23b9b5af6fdd)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:22 +00:00
Aníbal Limón
1e8147a569 mc: Upgrade to 4.8.13
(From OE-Core rev: 73e6fa14f6bed53e23bd4851299bb1184272c3f8)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:22 +00:00
Aníbal Limón
0d58be6bf2 lsof: Upgrade to 4.88
(From OE-Core rev: b463d7001972a255447aec9dfdecd4af693293b4)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:21 +00:00
Aníbal Limón
6e13bfb174 acpid: Upgrade to 2.0.23
(From OE-Core rev: ad95a4e3da9bf80b535f71231631117c854d35cb)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:21 +00:00
Aníbal Limón
4db2bdf266 xrandr: Upgrade to 1.4.3
(From OE-Core rev: 0a0b962fe21d6e26fa6acd12ce95ccd6072907a6)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:21 +00:00
Chen Qi
e400e0372b pciutils: change default value of PACKAGECONFIG
Default PACKAGECONFIG value to "hwdb" if 'systemd' is in DISTRO_FEATURES.

(From OE-Core rev: 9a7d1149c5f97c8f7b8fef12b4f77ae7c6d88b2c)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:20 +00:00
Sona Sarmadi
6ceceb10be bind: fix for CVE-2014-8500
[From upstream commit: 603a0e2637b35a2da820bc807f69bcf09c682dce]

[YOCTO #7098]

External References:
===================
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8500

(From OE-Core rev: 7225d6e0c82f264057de40c04b31655f2b0e0c96)

Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:20 +00:00
Chen Qi
48894789ca diffutils & diffstat: fix up EXTRA_OECONF
The following line is meant to be in diffutils but it was added to
diffstat by accident. The commit message which introduced this line
says that it's for diffutils.

     EXTRA_OECONF += "--without-libsigsegv-prefix"

This patch fixes this problem.

(From OE-Core rev: a27a6f93d6add381e001c38cd24c9575a04d4fa5)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:19 +00:00
Justin Capella
8bd9b201e2 wpa-supplicant: avoid host contamination of drivers by libnl3
(See patch refrenced from OE-core rev: 1c3beda0015da9a0fec2581af7645c9ea122c7e3)

Modifies do_configure to inject DRV_CFLAGS variable into wpa_supplicant/.config which is then included during make of drivers.

(From OE-Core rev: 766dcc69d320052f668945d2207bef723cf8be4b)

Signed-off-by: Justin Capella <justincapella@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:19 +00:00
Ross Burton
8de27f84ce clutter: enable EGL backend by default
(From OE-Core rev: bfb06977edff4992b40eda484fcdb6e2b7ca029c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:19 +00:00
Tim Orling
82a5df1a0a clutter-1.0: add ptest
Upstream has reworked installed-tests, use them for ptest.
Default output format for tests is not TAP, add patch to generate TAP output.
Run tests with gnome-desktop-testing-runner, which understands TAP output.

Tested on nuc with core-image-clutter and core-image-weston.

Reminder that for "pure" wayland (e.g. core-image-weston) you need to "export CLUTTER_BACKEND = wayland" to get past setting the DISPLAY variable expected for X11 backend.

(From OE-Core rev: 7656e861be3e7c6111b722761857b4a7c5905712)

Signed-off-by: Tim Orling <TicoTimo@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:18 +00:00
Tim Orling
66ede54cf8 clutter-1.0: upgrade to v1.20.0
* The 1.19.x series were "snapshots" and not stable releases.
* This is the first stable release beyond the 1.18.x series.
* Tested on nuc with core-image-weston.

ANNOUNCEMENT:
https://mail.gnome.org/archives/clutter-list/2014-September/msg00007.html

(From OE-Core rev: 87cf3f43bf6a5c648039be18cd4bda103ba64a68)

Signed-off-by: Tim Orling <TicoTimo@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-31 08:14:18 +00:00
Mark Hatle
96f9761e11 local.conf.sample: Add qemuarm64
Add an example machine configuration for qemuarm64.

(From meta-yocto rev: b1ba8091bf69c636821c443177b7768cd84d4c63)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-30 11:38:47 +00:00
Paul Eggleton
8b8d46f31e bitbake: utils: make edit_metadata_file() handle VARIABLE +=
This is a little crude as the usage basically ignores that you're doing
an append operation, but for a lot of cases it will be sufficient.

(Bitbake rev: 24a28205ab680b6cc645d97b76c9855920608229)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-30 09:21:42 +00:00
Paul Eggleton
b264f5629b bitbake: bitbake-layers: fix error handling in add-layer / remove-layer
* Fix add-layer error message when a layer is already in BBLAYERS
* Ensure we show an error message if we can't find BBLAYERS at all

(Bitbake rev: 1c743fd2103730e27699dd55efc6914d3b0c3702)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-30 09:21:42 +00:00
Armin Kuster
6dde745bf9 binutils: several security fixes
CVE-2014-8484
CVE-2014-8485
CVE-2014-8501
CVE-2014-8502
CVE-2014-8503
CVE-2014-8504
CVE-2014-8737

and one supporting patch.

[Yocto # 7084]

(From OE-Core rev: 859fb4d9ec6974be9ce755e4ffefd9b199f3604c)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-27 22:53:40 +00:00
Holger Hans Peter Freyther
508c95d989 m4: Disable searching for libsigsegv
When building GNU Smalltalk libsigsegv will be available and m4
will start to use it. This leads to the below warning:

WARNING: QA Issue: m4 rdepends on libsigsegv, but it isn't a build dependency? [build-deps]

(From OE-Core rev: 564e6b34831556d720c5a9d1c6bc9e7758c77e53)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-27 22:53:40 +00:00
Holger Hans Peter Freyther
4b2a1d85c9 diffutils: Disable searching for libsigsegv
After building GNU Smalltalk libsigsegv is in the sysroot
and will be picked-up by diffutils. This lead to the below
warning:

WARNING: QA Issue: m4 rdepends on libsigsegv, but it isn't a build dependency? [build-deps]

(From OE-Core rev: c147d41f1514ffe89a09f1dafd4f32db72c395c3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-27 22:53:39 +00:00
Chen Qi
16d74f8da8 grep: upgrade to 2.21
(From OE-Core rev: f7a927a266ef08ea5c61b682e345a477a460d98b)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-27 22:53:39 +00:00
Chen Qi
088d4bb85c xz: upgrade to latest stable release 5.2.0
(From OE-Core rev: 13599899f84ece79779e787c52c3756484cd5df1)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-27 22:53:39 +00:00
Chen Qi
8bc9af4282 pciutils: add PACKAGECONFIG for 'hwdb'
Add PACKAGECONFIG for 'hwdb' to fix the following QA warning.
WARNING: QA Issue: libpci rdepends on libudev, but it isn't a build dependency? [build-deps]
WARNING: QA Issue: pciutils rdepends on libudev, but it isn't a build dependency? [build-deps]

(From OE-Core rev: 9188a2672013cb6960590f03f753178999fe4c3c)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-27 22:53:38 +00:00
Chen Qi
39e21d1fe5 pciutils: upgrade to 3.3.0
lib-build-fix.patch is removed as it doesn't seem useful.
do_compile_prepend is removed because it's not useful for the new version.
The following line is removed as I don't see any problem without it.
PARALLEL_MAKE = ""

(From OE-Core rev: 0df811d5afdb947bfef98f7c53268259c99b88be)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-27 22:53:38 +00:00
Chen Qi
5f62b2c8d5 sudo: upgrade to latest state version 1.8.11p2
Files containing license information have changed position.
FILES_${PN}-dev needs to be modified to contain correct files.

(From OE-Core rev: 62995a7ab26554842036dd7254ad3b0a46f57273)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-27 22:53:38 +00:00
Chen Qi
e3aa717318 tar: upgrade to 2.18
(From OE-Core rev: a9b0419f304aba30518fa65fa81e88a78bdd49fb)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-27 22:53:37 +00:00
Chen Qi
09c1c79611 kmod: upgrade to 19
0001-Add-missing-O_CLOEXEC-in-kmod_module_get_size.patch is dropped
as it's in the new version.

Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch is modified
to match the new version.

License chesum is changed but it is confirmed that the license information
is not chagned.

(From OE-Core rev: 234d61aa89deecf909938bfba39601f79bdcfaee)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-27 22:53:37 +00:00
Philip Balister
c73a6ca2a8 boost : Add the atomic and chrono libraries to the build.
Inspection of buildhistory shows no existing libraries changed and
the atmoic and chrono libraries are packaged individually.

(From OE-Core rev: d5b0e6062a4e9f66a5b1813ed082a56cce5bee5d)

Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 22:05:43 +00:00
Kai Kang
e3a623bfe3 runqemu-internal: increase memory for qemuarm64
Increase memory to 512M for qemuarm64. The original size 126M can't make
task testimage pass, neither 256M.

[YOCTO #7102]

(From OE-Core rev: 93979b2d025cf318fd0d867ed730721c7594d33b)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:27:13 +00:00
Saul Wold
575ba9a4d8 elfutils: Update PREFERRED_VERSION after upgrade
Since we normally fix the version of elfutils in tcmode-default, this
needs to be updated after we upgrade the recipe itself.

(From OE-Core rev: d2a70aaa1fea446b578a4d904d8d92a6eb16b6a5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:27:13 +00:00
Paul Eggleton
93ba8e0f91 oeqa/selftest: fix test_force_task so it doesn't taint the entire build
Using -C sets a taint on the specified task, and m4-native is in the
dependency chain for just about everything, which means that everything
gets forced to rebuild. We don't need the influence of this test to
extend outside of the test itself, so ensure that the taint gets cleared
at the end of the test.

(From OE-Core rev: 24b41a1e3f2496e38a6ae9c47dfe85887f3d7d6e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:27:13 +00:00
Paul Eggleton
5268d8ab1d oeqa/selftest: populate pkgdata/shlibs in test_recipetool_create_git
Build some recipes so that we have the needed data in the sysroot for
recipetool to refer to when scanning for dependencies.

(From OE-Core rev: 67bf1dac68d76c7e6a4d95e5bdd1eba468331f01)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:27:13 +00:00
Paul Eggleton
9c93079795 oeqa/selftest: improve failure messages for devtool tests
assertTrue prints "False is not True" if it fails, which is pretty much
useless. Use a more appropriate assertion test where practical and add a
message where it isn't.

(From OE-Core rev: 0e0dd2575bb2a1b6f6c5eba1f8cfb0d81cc1b091)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:27:13 +00:00
Paul Eggleton
41f3dd1d33 oeqa/selftest: skip test_incremental_image_generation if not using rpm
We have just implemented incremental ipk image generation, but at the
moment this test doesn't support that, so skip it if not using rpm.

(From OE-Core rev: e920c1a62705524be71dc5f9e4527b396ca83dca)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:27:12 +00:00
Paul Eggleton
8bb5dccedb oeqa/selftest: fix test_event_handler for changes in bitbake output
(From OE-Core rev: 3b3c6aa09301c0c19e7fc8720cd3d1b036c5b103)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:27:12 +00:00
Paul Eggleton
7d9b5fb69a oeqa/utils: fix testcase decorator to allow calling tests individually
Without this, running tests individually failed with a traceback:

$ oe-selftest --run-test
buildoptions.ImageOptionsTests.test_incremental_image_generation
2014-12-23 14:40:37,636 - selftest - INFO - Checking that everything is in order before running the tests
2014-12-23 14:40:38,408 - selftest - INFO - Running bitbake -p
2014-12-23 14:40:40,235 - selftest - INFO - Loading tests from:
oeqa.selftest.buildoptions.ImageOptionsTests.test_incremental_image_generation
Traceback (most recent call last):
  File "/home/user/poky/scripts/oe-selftest", line 179, in <module>
    ret = main()
  File "/home/user/poky/scripts/oe-selftest", line 164, in main
    suite.addTests(loader.loadTestsFromName(test))
  File "/usr/lib64/python2.7/unittest/loader.py", line 91, in loadTestsFromName
    module = __import__('.'.join(parts_copy))
  File "/home/user/poky/meta/lib/oeqa/selftest/buildoptions.py", line 12, in <module>
    class ImageOptionsTests(oeSelfTest):
  File "/home/user/poky/meta/lib/oeqa/selftest/buildoptions.py", line 14, in ImageOptionsTests
    @testcase(761)
NameError: global name 'func' is not defined

(From OE-Core rev: 8e3fbb0bb2c0eabfb39752c25e7c3f5d77881f64)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:27:12 +00:00
Paul Eggleton
d4d73b0139 oeqa/utils: replace some tabs with spaces
Python code should use spaces only for indentation.

(From OE-Core rev: a1e22121e521aabf454a850cd7c8be60b7b1adc3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:27:12 +00:00
Richard Purdie
e75139cc9d bitbake: fetch2/wget: Fix horrible temp file handling
Hardcoding a temp directory is bad practice and leads to races between
the tests. There is no longer any good reason for doing this, drop it
and ensure the files get cleaned up correctly.

(Bitbake rev: 10a47b1ec7470c9e8c4ffe0bb35cdf6d1bb2ee2e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:14 +00:00
Richard Purdie
1d4908ddb2 bitbake: tests/data: Add a key deletion test
If you copy the datastore, then delete a key, it should not exist in
d.keys(). This adds a test to cover the recently found data store bug.

(Bitbake rev: 16d5f40ad20fd08bf7a4d0e36200c739b5a9f59e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:14 +00:00
Richard Purdie
4d06fb7307 bitbake: tests/fetch: Add versionstring tests to network tests list, fix print()
The versionstring tests hit the network so should only run when
network tests are enabled.

Also remove the print statement which confuses the test output and
add it to the test failure message instead.

(Bitbake rev: 6c046660cfc4fb3792a42aeafff91a13f68a2e89)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:14 +00:00
Richard Purdie
544533922d bitbake: data_smart: Ensure d.keys() doesn't list deleted variables
If you copy the datastore, then delete a variable, it still shows up
in d.keys() when it should not. This patch addresses the issue.

(Bitbake rev: f28ee1bb03cb32d3757fbef67c9fbe143e3dadfa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:13 +00:00
Aníbal Limón
172ea4f79e dpkg: Upgrade to 1.17.21
Remove dpkg-1.17.4-CVE-2014-0471, dpkg-1.17.4-CVE-2014-0471-CVE-2014-3127 and
ignore_extra_fields patches that are already in upstream.

Rebase no-vla-warning patch.

(From OE-Core rev: d09ea40d7f5b59f37625e43973c363c07053fdfb)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:13 +00:00
Andreas Müller
f6cf293bbd pythonnative: set PYTHON_EXECUTABLE so that cmake can find it
| CMake Error at /home/a.mueller/tmp/oe-core-glibc/sysroots/x86_64-linux/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
|   Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)

[RP: Added comment that is used by cmake]
(From OE-Core rev: 66455b8a0758176996028bf23f04391c7baf8abd)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:13 +00:00
Maciej Borzecki
052c67c845 wic: account for mmcblk device partition naming
MMC block device partitions are named differently than other block
devices and use the scheme: mmcblk<devnum>p<partnum>, ex: mmcblk0p1,
mmcblk0p2. The current code generates incorrect parition names missing
'p' infix for fstab entries. The patch resolves this problem.

(From OE-Core rev: e2664f563921467fe38bb74f4dd2a41eb004ee9f)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:13 +00:00
Robert Yang
51374d55ef lsb: remove sendmail from sysroot
The sysroot/${libdir}/sendmail conflicts with esmtp's, and it's a
symlink to ${sbindir}/sendmail which is meaningless for sysroot, so
remove it.

(From OE-Core rev: 9e906f4260d9ce44a78cc315930677b3bd0ab9c1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:13 +00:00
Chen Qi
422c317818 bind: fix conf.patch to add db.255 configuration file
Add in conf.patch /etc/bind/db.255 file so that we don't get the following error.

    zone 255.in-addr.arpa/IN: loading from master file /etc/bind/db.255 failed: file not found

(From OE-Core rev: 98caaf4b92bf3350cc74ef66dc9eda35aa7d428a)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:13 +00:00
Chen Qi
b4499ec036 image.bbclass: avoid boot error on read-only systemd image
New version of systemd implements a new feature of updating /etc
or /var when needed at boot. For details, please see link below.

Opointer.de/blog/projects/stateless.html

For now, at boot time, the systemd-sysusers.service would update user
database files (/etc/passwd, /etc/group, etc.) according to the configuration
files under /usr/lib/sysusers.d. This step is necessary for other systemd
services to work correctly. Examples of such services are systemd-resolved
and systemd-tmpfiles-setup.

The problem is that on a read-only file system, that is, if /etc is read-only,
the user database files could not be updated, causing failures of services.

This patch fixes this problem by adding users/groups at rootfs time.

(From OE-Core rev: 2501c2f03f24fbbefd9999dd444318704d8aa8c2)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:13 +00:00
Robert Yang
bcc548c750 license.bbclass: hardlink requires write permission
Fixed:
* The os.link() reqiures write permission on the src file (suppose the
  src file belongs to another user, then you need write permission to harlink to
  it since the link count would change)

* Print more info when failed to copy
  The warning was like:
  WARNING: Could not copy license file COPYING: [Errno 1] Operation not permitted

  We couldn't know which recipe print the warning from this message.

(From OE-Core rev: ebc185186c36fe839008d94dbfb779383df960c7)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:13 +00:00
Paul Barker
ccd2f54d5e opkg-collateral: Use new lists_dir syntax
Since opkg v0.2.3, it has been possible to use the new syntax for the
'lists_dir' option in an opkg configuration file. From v0.3.0, this new syntax
is required. The new syntax matches the way other options are set.

(From OE-Core rev: dfc99740bd3530baead1703b3a772b17a1c58acc)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:13 +00:00
Hongxu Jia
d33bfe4b35 ppp: upgrade 2.4.7
(From OE-Core rev: 98a251b8fea5ba329c898d2159dd470d53c6c783)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:13 +00:00
Hongxu Jia
4641f72071 pax-utils: upgrade to 0.9.2
(From OE-Core rev: 675272167d2ad4448b1d8b03730a1e0003ff4fae)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:13 +00:00
Hongxu Jia
7296df430c apr-util: upgrade to 1.5.4
(From OE-Core rev: 92f6e8f485af959e1e8d1d5f585b39d77c30fc12)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:12 +00:00
Hongxu Jia
bd4052b6cf libxml2: upgrade to 2.9.2
- Rebase python-sitepackages-dir.patch to 2.9.2

- Drop libxml2-CVE-2014-3660.patch which has been merged to 2.9.2.

- Add configure.ac-fix-cross-compiling-warning.patch to fix cross
  compilation failure.

- Tweak do_configure_prepend, use configure.ac to instead of configure.in

- Add cmake files to ${PN}-dev

(From OE-Core rev: 06f555fa5a36dbf63b26c3734dbbd0b5af16dc33)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:12 +00:00
Aníbal Limón
3ef9f83ab7 license: Validate if LICENSE is well defined.
Add check_license_format function that shows warning if LICENSE don't have
valid operators and also if have space separated entries without operator,
add check_license_format validation into base class.

[YOCTO #6758]

(From OE-Core rev: 346a023a42f127881476e760e8fa4e04303849b9)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:12 +00:00
Aníbal Limón
101c3bf7f5 license_class: fix license.manifest shows LICENSE field differently to recipe
Drop removal of [|&()*] operators in pkged_lic because this removal is only
needed to validate if license is collected.

[YOCTO #6757]

(From OE-Core rev: 57e5f74382d51f2a8df00e18b6008e3d2b44ad1a)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:12 +00:00
Robert Yang
c924c07dab logrotate: upgrade to 3.8.8
* Upgrade to 3.8.8.
* Update disable-check-different-filesystems.patch since we still need it.

(From OE-Core rev: e7e9d4b989790e71702e06b26a45f3a380a715dd)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:12 +00:00
Otavio Salvador
01c7d083ef lib/oe/image.py: Handle compressed IMAGE_TYPEDEP values
When computing the dependency graph for the image generation, we need
to take into account the compression type and identify the base type
it relates to. This allow for a more robust graph generation even when
using composed image types.

(From OE-Core rev: 6e7d1de6cc99ed2def346dc40310573f5f0ce5ca)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:12 +00:00
Otavio Salvador
7856fb3f0c image_types.bbclass: Rework code to map types for 'ext3'
(From OE-Core rev: df00cb53f0548d34e5865b6fff314bff641af6e7)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:12 +00:00
Otavio Salvador
fc74b5d007 image_types.bbclass: Respect IMAGE_TYPEDEP dependencies
The IMAGE_TYPEDEP dependencies also need to be taken into account when
building an IMAGE_FSTYPE.

(From OE-Core rev: 055fddd601536109e0574e84dc6570c322f22d44)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-25 08:18:12 +00:00
Richard Purdie
ac17cd3b92 poky.conf: Add qemuarm64 support
(From meta-yocto rev: 95232227e1a38bad4d97ab38dae9f7b4e4533efb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:21 +00:00
Aníbal Limón
8c906632e7 bitbake: bb/fetch2/wget.py: latest_versionstring fix multithread and remove deprecated code
In order to fix multithread usage of latest_versionstring moves package_custom_regex_comp
from class to method level because need to be defined by package.

Remove code for build url's with /download suffix because it's deprecated since you can
specify the download directory using package_regex.inc file.

(Bitbake rev: 231cae9f9b552ec6737795c098d1de426b5adcbc)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:21 +00:00
Andy Voltz
6b33e1a840 bitbake: ui/ncurses: Update ncurses ui to accept configParams
(Bitbake rev: 730b4c50364fba7173309278d670eda02e0ce38e)

Signed-off-by: Andy Voltz <andy.voltz@timesys.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:21 +00:00
Paul Eggleton
d31b7bdf11 bitbake: cooker: add ability to ignore unmatched regexes in BBFILE_PATTERN
Add a BBFILE_PATTERN_IGNORE_EMPTY variable to allow ignoring the fact
that a regex specified in BBFILE_PATTERN for a particular collection
doesn't match any recipes. This will be used in OpenEmbedded in the
workspace layers created by "devtool" which may not always contain any
recipes (which is not cause for warning the user).

(Bitbake rev: 19c74aaa2836a88d666f0032452fac521689ab6b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:21 +00:00
Paul Eggleton
db3f589f49 bitbake: bitbake-layers: add commands for adding and removing layers
Add add-layer and remove-layer commands for easily adding and removing
layers to/from bblayers.conf.

(Bitbake rev: 0e94aed033917b91ea6ba0522b14a040c3bdc987)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:21 +00:00
Paul Eggleton
b1e5a6794f bitbake: utils: add basic metadata manipulation functions
* Add a generic edit_metadata_file() function to modify variable
  assignments in any metadata file (conf, bb, bbappend) using a callback
  for flexibility
* Add a specific edit_bblayers_conf() function to modify
  conf/bblayers.conf and add and/or remove layers from the BBLAYERS
  value within it.

(Bitbake rev: aa03a28b442549dd8ffe92ae4d6390f62202a76a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:20 +00:00
Paul Eggleton
7b70d5e8a4 bitbake: siggen: ensure nostamp tasks force dependent tasks to re-execute
If a nostamp task is depended on by a non-nostamp task, then we want the
signature of that task to change such that it re-executes afterwards.
This is an unusual situation, but we want this to work in OE in
externalsrc.bbclass so that compilation happens every time it is
requested.

(Bitbake rev: 73498afc3d45beede5b8f24a9acd523a1663b793)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:20 +00:00
Richard Purdie
c91b10cae8 init-ifupdown: Add missing script for qemuarm64
(From OE-Core rev: 353e70f3964eb6531ecb3dc69cbd827053d8f463)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:20 +00:00
Koen Kooi
a273462d86 libpng 1.6.13: fix build for aarch64
The configure override was too restrictive, it needed both 'arm' and
'neon' to trigger, which breaks on aarch64. Since TUNE_FEATURES is the
only qualifier that matters, drop the 'arm' override.

Buildtested for 'genericarmv8' and 'qemux86' machines.

[RP: Added class-target override to avoid failures for libpng-native]
(From OE-Core rev: 100a46e19da87964d11e11d1af1e59c27a1d5241)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:20 +00:00
Robert Yang
f1d83b8071 make: upgrade to 4.1
(From OE-Core rev: c6ef0981b4eb39717b5b04ecc9cf1c589b4c79be)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:20 +00:00
Robert Yang
5756e07d3e git: upgrade to 2.2.0
(From OE-Core rev: 3b38d77b9b1d46b9ff5f59b34f65162494a161c8)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:20 +00:00
Robert Yang
9b49cfd275 rsync: upgrade to 3.1.1
(From OE-Core rev: 7b922f9f2cdf1f3810fc257653194e177ed88c4d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:20 +00:00
Robert Yang
9b6247b4af wget: add PACKAGECONFIG for util-linux
Fixed:
WARNING: QA Issue: wget rdepends on util-linux-libuuid, but it isn't a build dependency? [build-deps]

(From OE-Core rev: 079c9cee02f8e7c79c76997db55cc26d8d70ff95)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:20 +00:00
Robert Yang
f3c615eeab wget: upgrade to 1.16.1
* upgrade to 1.16.1
* inherit pkgconfig to fix the error like:a
  | configure.ac:41: error: possibly undefined macro: AC_MSG_NOTICE
  | configure.ac:89: error: possibly undefined macro: AS_IF

(From OE-Core rev: 4da089e92b00d0b1e0b3071aa41fcb82dcabd691)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:20 +00:00
Robert Yang
7d8fe6df4d file: upgrade to 5.21
* Upgrade to 5.21.
* The debian-742262.patch is still needed.

(From OE-Core rev: 9f336e07df7e273c55f0c7a451604a3500b4c6ab)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:19 +00:00
Richard Purdie
e1858932f9 runqemu-internal: Fix qemu networking for qemuarm64
This brings qemuarm64 into feature parity with the other qemu machines
and enables the automated testing on the autobuilder.

(From OE-Core rev: 31e259f2f2a83c26b8a62b6d7dbca010c6db16bf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:19 +00:00
Mark Hatle
eef1d41751 linux-yocto: Fixup linux-yocto for aarch64
linux-yocto is updated to pass the sysroot path to the compiler when necessary.

linux-yocto_ver.bb are updated to reference the correct linux-yocto branchs and
SRCREVs.

(From OE-Core rev: af67a2938e007e08fd1d082a0932c78deaedb527)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:19 +00:00
Mark Hatle
eba9c1be73 aarch-arm64: Update tune files
arch-arm64 is the base tune file for aarch64.  Update this to allow the
system to work with both aarch32 and aarch64 (multilib).

arch-armv8 is for compatibility, it simply uses the base config for now.

feature-arm-thumb was updated, since aarch64 mode does NOT have thumb support.
We should only be processing warnings and additional arguments if thumb
support is enabled on the processor core.

(From OE-Core rev: 03d2f5646485b565cc14a0009b7d5224ab298f4c)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:19 +00:00
Mark Hatle
a1d75c2cf8 glibc-package: aarch64 enable symlink for ABI compliance
aarch64 requires the ld.so to be present in /lib, even if the rest
of the libraries are installed into an alternative directory.

See: https://sourceware.org/glibc/wiki/ABIList

(From OE-Core rev: aeb6f53dd607ceb0d2265a05c27f751109c73752)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:19 +00:00
Mark Hatle
3923f7ea0b gcc: Disable aarch64 multilib options
We want to revert to default gcc behavior to support oe-core's ability
to change the libdir.

(From OE-Core rev: 7ea9e87217c78a20cebcb16a23bfd412e276440f)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:19 +00:00
Kai Kang
5fd4e25c89 packagegroup-core-tools-profile: remove sysprof for aarch64
Remove sysprof from packagegroup-core-tools-profile that sysprof doesn't
support arch aarch64.

(From OE-Core rev: e185e96c2f4a1d4561a37764345556abef20ccfe)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:19 +00:00
Kai Kang
8bf791c790 kexec-tools: add aarch64 support
Add patch from
https://fedorapeople.org/~hrw/aarch64/for-fedora/kexec-aarch64.patch

to add aarch64 support for kexec-tools.

(From OE-Core rev: 342ef3196bd754866bbdb54d538804ab71926553)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:18 +00:00
Kai Kang
f78f9d7adb runqemu: add qemuarm64 support.
Update scripts runqemu and runqemu-internal to support to boot
qemuarm64.

(From OE-Core rev: 2f020b53bdb8c262e432bc4df35101fa990c460c)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:18 +00:00
Fathi Boudra
b6663eb107 libunwind: add aarch64 support
* pass --enable-debug-frame on aarch64 architecture
* include patches:
  - aarch64 port (backported from upstream)
  - Support-building-with-older-compilers (fix undefined reference to
    `unreachable' on older compilers)

(From OE-Core rev: 07cdb1b6583a6cf379de769bdf392c90b49692db)

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:18 +00:00
Joe Slater
4c2048f1b5 guile: allow compilation for aarch64
Add aarch64 endianness specification to scm file.

(From OE-Core rev: 6ec04f8ceaa02bf6dba586f0858f860b5df60945)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:18 +00:00
Joe Slater
ba1db068b0 lttng: recognize aarch64
Add aarch64 architecture to liburcu and lttng-ust.
Internally it is treated the same as "arm".

(From OE-Core rev: 9546d5a5078e34966061d42233678faaa3041d41)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:18 +00:00
Joe Slater
1ce4f04bb9 sysprof: disable build for aarch64
Add COMPATIBLE_HOST to the recipe and prohibit
building for aarch64 and aarch64_be.

(From OE-Core rev: 69eff591cc13d22c61679fbda9bc768561114eef)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:18 +00:00
Kai Kang
fbfabde9d5 qt4: add aarch64 support
Add aarch64 support for qt4 packages.

Most of the patches are derived from debian:
http://anonscm.debian.org/cgit/pkg-kde/qt/qt4-x11.git/tree/debian/patches

Add arch check to set right QT_ARCH.

Disable webkit temporarily for qt4 and qt4-embedded that they fail to build:

| runtime/JSValueInlineMethods.h: In constructor
'JSC::JSValue::JSValue(const JSC::JSCell*)':
| runtime/JSValueInlineMethods.h:242:78: error: cast from 'JSC::JSCell*'
to 'int32_t {aka int}' loses precision [-fpermissive]

It has been fix by Qt5, but didn't backport to Qt4. There is an still open
defect for it:
https://bugreports.qt-project.org/browse/QTBUG-35442

(From OE-Core rev: 886e0d43f2a543a13ac8e3f1cb570ecae90339e0)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:18 +00:00
Kai Kang
5b3107af9e libatomics-ops: add aarch64 target iniitial support
Add patch for libatomics-ops to add aarch64 target iniitial
support. It is from linaro repo.

(From OE-Core rev: af4654dfcabd575c1380516d499ef961b6d75984)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:18 +00:00
Kai Kang
c4c7d863e4 glibc-locale.inc: add aarch64 to BINARY_LOCALE_ARCHES
Add aarch64 to var BINARY_LOCALE_ARCHES. In libc-packages.class, it is
used to work with other vars to check and add cross-localedef-native as
a dependecy correctly.

(From OE-Core rev: 6ff3cdcaf1585c5ac99803e54baacdf850e0dc39)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:17 +00:00
Kai Kang
275504e44f libc-package.bbclass: add aarch64 target to locale_arch_options
Add aarch64 target to locale_arch_options in libc-package.bbclass to
support Arm V8.

(From OE-Core rev: 0d7a92f887bcbe44083a8c0f3f66d195d8bd023e)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:17 +00:00
Joe Slater
2637385615 siteinfo: account for 32 and 64 bit arm
Pull wordsize related items from arm-common and put in
arm-32.  Leave them as they were.  Copy arm-32 to arm-64
and comment out all variables.  Re-define to correct
values leaving items which do not appear to be used
undefined.

(From OE-Core rev: 99d43a1554b2daeb7aba3c4582ccec758e6ec4a5)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:17 +00:00
Kai Kang
8781b4952d Add machine qemuarm64
Add machine qemuarm64. The configure files are derived from linaro.

Update:
* rename genericarmv8 to qemuarm64 for coordination in oe-core
* include qemu.inc then remove common part of config
* disable using autoserial
* move arch-armv8.inc from machine/include/arm64 to machine/include/arm

[YOCTO #6487]

(From OE-Core rev: d7314c3bc804b7bcc921b0a6c5b63d71ca2e73db)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:17 +00:00
Kai Kang
28ba4d349e linux-yocto: depend on libgcc for aarch64
Make aarch aarch64 kernel depend on libgcc.

In arch/arm64/Makefile, it adds LIBGCC to libs-y:

LIBGCC          := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
libs-y          += $(LIBGCC)

In file Makefile in top directory, libs-y is assigned to to var
KBUILD_VMLINUX_MAIN. It uses script link-vmlinux.sh to link vmlinux.o,
and when execute function vmlinux_link() in link-vmlinux.sh,
KBUILD_VMLINUX_MAIN is passed to ${LD}.

If build without libgcc, the value of LIBGCC is just libgcc.a without
parent directory. linux-yocto fails to build:

|   LD      vmlinux.o
| aarch64-poky-linux-ld.bfd: cannot find libgcc.a: No such file or directory

Add libgcc to aarch64 kernel dependency.

(From OE-Core rev: 69ab638adcd8d30f35bb863254d9b112ad12b925)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:17 +00:00
Maciej Borzecki
2ca18705bc python-2.7-manifest.inc: add stdlib argparse module
Adding argparse module from Python's standard library. The module has replaced
previous python-argparse package that was build using source that are not part
of Python 2.7 release.

(From OE-Core rev: 198c67c2f9407f9c36127ff5a0778ed981778410)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:17 +00:00
Maciej Borzecki
9a9a2266d8 python-argparse: remove external argparse module
Python argparse module is a part of a standard library since Python 2.7
release. Remove externally built module in favor of the stdlib one.

(From OE-Core rev: c99b7bcb95fb4ede9293119487a7cec391136028)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:17 +00:00
Paul Barker
4a17e7c58b opkg-utils: Update SRCREV
The new upstream commit incorporates the following fix to update-alternatives
from Chen Qi <Qi.Chen@windriver.com>:

    update-alternatives: avoid double slash problem

    The link path stored by update-alternatives should always be absolute and so we
    do not need to add an additional slash when joining to $OPKG_OFFLINE_ROOT.

(From OE-Core rev: 49dca57255a61b05bb93dbc5d912a9d06d024058)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:16 +00:00
Chong Lu
f25fdec966 byacc: Upgrade to 20141128
(From OE-Core rev: 1eb815e248540e168c0dc5ac53e230397b061e8b)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:16 +00:00
Chong Lu
d0e309901a cups: Upgrade to 2.0.1
(From OE-Core rev: e3ea2707432482bc7d713d9de25ca77965354f4d)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:16 +00:00
Chong Lu
5734086bfa less: Upgrade to 471
(From OE-Core rev: 0218dc4cb7a796e0e9653c9676beedbc7bf14542)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:16 +00:00
Paul Eggleton
8d46255a56 devtool: add QA tests
Add some QA tests for devtool (and recipetool). These aren't
comprehensive but at least they are a start, and have already helped me
catch and fix a number of regressions.

(From OE-Core rev: 79486a8aea7af138535e139e696fbdbd5d57581b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:16 +00:00
Junchun Guan
0d686ccc7c scripts/devtool: Support deploy/undeploy function
Deploy recipe output files to live target machine using scp
Store the files list and target machine info in localhost if deployment
is done
Undeploy recipe output files in target machine using the previous
deployment info

[YOCTO #6654]

(From OE-Core rev: cc10751aa3121218b21ec2058358f3ea02a4500a)

Signed-off-by: Junchun Guan <junchunx.guan@intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:16 +00:00
Paul Eggleton
cd5ca4a11d scripts/devtool: add development helper tool
Provides an easy means to work on developing applications and system
components with the build system.

For example to "modify" the source for an existing recipe:

  $ devtool modify -x pango /home/projects/pango
  Parsing recipes..done.
  NOTE: Fetching pango...
  NOTE: Unpacking...
  NOTE: Patching...
  NOTE: Source tree extracted to /home/projects/pango
  NOTE: Recipe pango now set up to build from /home/paul/projects/pango

The pango source is now extracted to /home/paul/projects/pango, managed
in git, with each patch as a commit, and a bbappend is created in the
workspace layer to use the source in /home/paul/projects/pango when
building.

Additionally, you can add a new piece of software:

  $ devtool add pv /home/projects/pv
  NOTE: Recipe /path/to/workspace/recipes/pv/pv.bb has been
  automatically created; further editing may be required to make it
  fully functional

The latter uses recipetool to create a skeleton recipe and again sets up
a bbappend to use the source in /home/projects/pv when building.

Having done a "devtool modify", can also write any changes to the
external git repository back as patches next to the recipe:

  $ devtool update-recipe mdadm
  Parsing recipes..done.
  NOTE: Removing patch mdadm-3.2.2_fix_for_x32.patch
  NOTE: Removing patch gcc-4.9.patch
  NOTE: Updating recipe mdadm_3.3.1.bb

[YOCTO #6561]
[YOCTO #6653]
[YOCTO #6656]

(From OE-Core rev: 716d9b1f304a12bab61b15e3ce526977c055f074)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:16 +00:00
Paul Eggleton
b7d53f2ebb scripts: add scriptutils module
Add a utility module for scripts. This is intended to provide functions
only really useful before bitbake has been found (or only of particular
interest to scripts). At the moment this includes functions for setting
up a logger and for loading plugins.

(From OE-Core rev: a8f90528981127fbace3e901c6e3dfe8b45b98ab)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:15 +00:00
Paul Eggleton
5638ca2b94 scripts/recipetool: Add a recipe auto-creation script
Add a more maintainable and flexible script for creating at least the
skeleton of a recipe based on an examination of the source tree.
Commands can be added and the creation process can be extended through
plugins.

[YOCTO #6406]

(From OE-Core rev: fa07ada1cd0750f9aa6bcc31f8236205edf6b4ed)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:15 +00:00
Paul Eggleton
f176b0c64f classes/externalsrc: set do_compile as nostamp
Most of the time what you want when using this class is for do_compile
to execute more than just once - every time the source changes would be
ideal, but that's a little tricky to accomplish. Thus, set do_compile as
nostamp to get something close.  Note that in order to be effective this
also requires the change to bitbake that causes nostamp task signatures
to change on each execution.

(From OE-Core rev: e734e12fd1478cdacdadf4e0fae5247cb70b9fb1)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:15 +00:00
Paul Eggleton
d7aec8c5f4 oeqa/utils: make get_bb_var() more reliable
* Enable querying exported variables
* Use strip() to remove quotes so any internal quotes are not disturbed

(From OE-Core rev: 418cdf1ca37e06165ebaec86a0098d4750208539)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:15 +00:00
Richard Purdie
15de188692 kernel-devsrc: Ensure we have a dependency on the actual source
Tthe kernel populate_sysroot can come from sstate, we need the full
source here. We therefore depend on the configure task which isn't
covered by sstate to ensure we get the right set of files.

(From OE-Core rev: c3598cf720e04ab27ab5d2817c09f2496b677560)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 13:52:17 +00:00
Maciej Borzecki
b99419ff4c README.hardware: update beaglebone entry to match KERNEL_IMAGETYPE
U-boot 2014.07 defaults to using a gzip compressed kernel
image (zImage). A proper change upading KERNEL_IMAGETYPE has already
been introduced to beaglebone machine config. This patch updates manual
steps to creating a SD card image with proper kernel image name.

(From meta-yocto rev: f1b4b97415e3bb16b1b9119e8339e0bf454c7335)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:38:07 +00:00
Maciej Borzecki
1f5eaa3b36 beaglebone.conf: update KERNEL_IMAGETYPE to match u-boot
U-boot 2014.07 in Poky expects a zImage kernel image, thus a build done with
current machien config will not be directly useable. Update machine config to
produce a zImage.

(From meta-yocto rev: 96afb63a83116b9993a23cd20b33a9a68e59b525)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:38:07 +00:00
Aníbal Limón
5d7274326f meta-yocto/conf/distro/include: Update package_regex'es and upstream info.
Update package_regex.inc in order to match upstream versions, remove unnecesary
records because bb.fetch2 latest_versionstring  method match this cases.
Update upstream_info.inc remove un-updated records.

(From meta-yocto rev: 0b9346afa6c09eca2e9738a55929af56de8dec55)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:38:06 +00:00
Richard Purdie
b671847d57 sanity: TMPDIR ABI change for kernel process
Increase the ABI number to match the kernel build process change.

(From meta-yocto rev: 4214e61977dab113f5a8a1e1c9b3efe975c56c3a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:38:06 +00:00
Paul Eggleton
db73bcc3b8 lib/oe: add recipeutils module
Add a module to help provide utility functions for dealing with recipes.
This would typically be used by external tools.

Substantial portions of this module were borrowed from the OE Layer
index code; other functions originally contributed by
Markus Lehtonen <markus.lehtonen@intel.com>.

(From OE-Core rev: fd970c3b42b39601f379300d83354d42d5a536ba)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:56 +00:00
Paul Eggleton
12bb32e766 lib/oe/patch: add support for extracting patches from git tree
When patches from a recipe have been written out to a git tree, we also
want to be able to do the reverse so we can update the patches next to
the recipe. This is implemented by adding a comment to each commit
message (using git hooks) which we can extract later on.

(From OE-Core rev: 765b7bad50eae5b79d13a3f4988dc440c3d9787f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:56 +00:00
Paul Eggleton
50e771d114 lib/oe/patch.py: abort "git am" if it fails
If we don't do this, you may still be in the git am resolution mode at
the end of applying patches, which is not desirable.

(From OE-Core rev: 630a393d01950a0d00b5d30ac376472911e50ff9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:56 +00:00
Paul Eggleton
37db9e62f0 lib/oe/patch: use --keep-cr with git am
Preserving carriage returns is important where the patch contains them.

(From OE-Core rev: 1cfcae0cd0bc776f5bb91a75bb8ffdad3d7bf200)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:56 +00:00
Paul Eggleton
400933b050 lib/oe/patch: auto-commit when falling back from git am
When PATCHTOOL = "git", if we're not able to use "git am" to apply a
patch and fall back to "git apply" or "patch", it is desirable to
actually commit the changes, attempting to preserve (and interpret) the
patch header as part of the commit message if present. As a bonus, the
code for extracting the commit message is callable externally in case it
is useful elsewhere.

(From OE-Core rev: 8c522846093809a8deb866079e73fa317266c80e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:56 +00:00
Paul Eggleton
e03c04758b lib/oe/patch: fall back to patch if git apply fails
When PATCHTOOL = "git", git apply doesn't support fuzzy application, so
if a patch requires that it's better to be able to apply it rather than
just failing.

(From OE-Core rev: a8143f33d3104adcd10968e3b05df2024e723f5a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:56 +00:00
Paul Eggleton
de8730ce2d classes/package: move read_shlib_providers() to a common unit
This allows us to use this function elsewhere in the code.

(From OE-Core rev: 657cff8a0f0e5db171b2ed9388a790ee0b135842)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:56 +00:00
Paul Eggleton
3e6e4e0198 meta-environment: don't mark tasks as nostamp
With siggen being changed to alter the signature of nostamp tasks on the
fly, having these tasks as nostamp results in the SDK being rebuilt
every time, which is not desirable. In any case this is just legacy from
the days before we used signatures to take care of ensuring these tasks
get re-run when they need to be.

(From OE-Core rev: e9a211321b4570282d0d65a0bb519e05a3d477bb)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:56 +00:00
Richard Purdie
54d5e74a19 core-image-sato-sdk: Use kernel-devsrc to ensure kernel module builds work
With the move of the kernel source to the kernel-devsrc, we need this package
to ensure the kernel module sanity tests made on core-image-sato-sdk continue
to pass. Therefore update the name of the package included in the image.

(From OE-Core rev: 51c19b97f7282eaba0a6f6b04703a62a3fea2b4a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:55 +00:00
Richard Purdie
6ae253c9b1 boot-directdisk: Use kernel from DEPLOY_DIR_IMAGE, not sysroot
After the recent kernel changes, this avoids failures like:

DEBUG: Executing shell function build_boot_dd
install: cannot stat '/home/pokybuild/yocto-autobuilder/yocto-worker/build-appliance/build/build/tmp/sysroots/qemux86-64/usr/src/kernel/bzImage': No such file or directory
WARNING: exit code 1 from a shell command.

(From OE-Core rev: 40e83470ca45ae5c305609a5065278612e69a7e2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:55 +00:00
Richard Purdie
c5236d723f bootimg: Use deploy artefacts, not STAGING_KERNEL_DIR
bzImage is no longer in STAGING_KERNEL_DIR. Rather than add it back,
depend on the kernel deploy task and find it in DEPLOY_DIR_IMAGE.

(From OE-Core rev: 75f83fdc5a78bf1b84dbcd6acb9fa3f76b2aac2c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:55 +00:00
Richard Purdie
1dd37a2a99 kernel: Fix non linux-yocto builds
After the recent kernel changes, non linux-yocto builds stopped working
properly for two reasons:

a) ${S} was being reset to ${WORKDIR}/git for example and STAGING_KERNEL_DIR
   did not contain the source

b) Most builds were using ${B} == ${S}

This patch adds a fixup to the unpack function to handle the case where
${S} != ${STAGING_KERNEL_DIR} and also set up the infrastrcture so that
B != S for kernel builds from now on. The kernel build system is one of the
best for supporting this and there is no good reason not to take advantage
of it.

(From OE-Core rev: 106dab2fd0321e6b4e77b40111e59a3a31d329d4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:55 +00:00
Richard Purdie
6eb95d654e kernel-devsrc: Ensure we don't race against do_make_scripts from module-base.bbclass
do_install for kernel-devsrc can race against do_make_scripts from
module-base.bbclass. Since there is a lock there to guard against concurrency
already, we can just use it here to avoid a race.

Ultimately, this can all likely be much more streamlined but this resolves
the immediate build failures.

(From OE-Core rev: 17fb28156737e803b36d7b3fd59d092fe152d126)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:55 +00:00
Richard Purdie
da2764e184 kernel-devsrc: Handle ppc crtsaves.o explictly for now
Resolve kernel module build failures for qemuppc by including crtsaves.o.

I'm not particularly happy to be doing this, it should perhaps be contained
in the kernel-dev package. Until the overlap between kernel-devsrc and
kernel-dev is resolved, this at least removed the regressions.

(From OE-Core rev: 5fa888894384eff18df77d0a5aaa007eba1406c8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:55 +00:00
Richard Purdie
76b7e81ff7 kernel-devsrc: Inherit module-base
As a "normal" recipe, mulitlib would try and extend it for multilibs.
By inheriting module-base, we can avoid this since we now look more
'kernel' like.

(From OE-Core rev: 59f08c9144e6f81906154cb306db6fee14dc42ca)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:55 +00:00
Richard Purdie
22246c6aac kernelsrc.bbclass: Ensure fetch/unpack/patch tasks don't run
In particular this removes a race condition where a ${S}/patches
directory could be created by do_unpack. This confuses kern-tools.

(From OE-Core rev: a64d36e3bec47fedc788c33b23736914cfbd62bb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:55 +00:00
Richard Purdie
bc97e8555d linux-libc-headers: Upgrade 3.17 -> 3.17.7
Whilst we don't usually take linux-libc-headers point release, 3.17.3
fixes a userspace header issue which caused gdb to fail to build on
mips. We therefore may as well upgrade to the latest point release.

(From OE-Core rev: f08a67b451091fcdc84b6b8b1627a8c9589e0ef3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:55 +00:00
Bruce Ashfield
be50d1dc1c linux-libc-headers: update to 3.17
(From OE-Core rev: 6b43ac633ea77c9af29b196f3043a40198b29b2f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:54 +00:00
Bruce Ashfield
c219f6b399 socat: fix compile erorr against 3.17+ kernel headers
With the linux 3.17 kernel socat's configure detects the wrong include
for errqueue.h which results in a compilation error.

By backporting the gentoo patch from:

  http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-misc/socat/files/socat-1.7.2.4-linux-3.17.patch

Fixes the build issue

(From OE-Core rev: ad83184721be815c6589b53dcf0b469f7fee5c41)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:54 +00:00
Bruce Ashfield
fc152d9fe7 linux-yocto/3.14: update to 3.14.26, integrate ltsi and -rt updates
Updating the 3.14 tree to the latest korg 3.14.26, as well as
integrating 3.14 LTSI content, and refreshing preempt-rt. Minor
conflict resolutions were performed between ltsi, stable and -rt

(From OE-Core rev: 8c30cec8233605cbec334fcc5c2b9ef5cf8f6482)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:54 +00:00
Bruce Ashfield
88fb739149 linux-yocto/3.10: update to v3.10.62
Updating to the latest korg -stable update for the 3.10 series. Minor
merge conflict resolution was done with the standard/ltsi and
standard/preempt-rt branches.

(From OE-Core rev: a87bf5d3d435d333f5ee9d15b8c641b03ff4bb9c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:54 +00:00
Bruce Ashfield
d02bb17bfc linux-yocto/3.17: update to v3.17.6
Integrating the latest korg -stable update for v3.17

(From OE-Core rev: 4408bfc7dd0fd2223791cb5da706dde986f4ddef)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:54 +00:00
Bruce Ashfield
7a16c50aec lttng-modules: fix mm_compaction_isolate_template build
linux-stable integrated the 3.16 commit f8c9301fa5a2a [mm/compaction: do
not count migratepages when unnecessary] with the 3.14.25 update.

So we have to update the lttng-module linux version codes to use the
new definition in builds greater than 3.14.24 or 3.16.

(From OE-Core rev: cf76820379746e91fc4cf01895cb98cc56987002)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:54 +00:00
Bruce Ashfield
662f39e004 linux-yocto/3.14: update to v3.14.24
(From OE-Core rev: e2c2960ae79953b5ef69444d91f2e784a35bfefd)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:54 +00:00
Bruce Ashfield
bb9812799b linux-yocto/3.10: update to v3.10.59
Updating to the latest 3.10 -korg stable update. We also bring in a meta
change for the valley island IO configuration.

(From OE-Core rev: 22d5ac7e1fc096dc11c766eda91c9e131398c6c5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:54 +00:00
Bruce Ashfield
f0fe7dc45d linux-yocto/3.17: update to v3.17.2
Updating to the korg 3.17.2 -stable release.

(From OE-Core rev: d63b126b8d68824fe900012fafe0e65afa2b264f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:54 +00:00
Bruce Ashfield
33437d6ac8 linux-yocto/3.17: update to v3.17.1
Updating to the kver to the latest korg stable update. This fixes some
important bugs (as well as the usual mix of more minor ones), in particular
libata bugs and SSD corruption issues are fixed.

(From OE-Core rev: 82f93cfed946fb56e53997bf6a873480bb6d3fc5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:54 +00:00
Richard Purdie
63695c6353 kernel: Clean ${S} before unpack
Currently unpack just forces sources over the current files. This change
ensures ${S} is cleaned out before sources are unpacked. This resolves
issues seen when upgrading to the new kernel class changes.

Ultimately, this should probably move to base.bbclass but one step at a
time, this solves an immediate problem blocking the other patches from
merging.

(From OE-Core rev: 7deb1f670c188c24744b7888a2d2f73c2a8ddff7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Richard Purdie
d0857f4ae3 sanity: TMPDIR ABI change for kernel process
The kernel source is being moved into the sysroot, to do this and
preserve previous builds, we need to change the TMPDIR ABI and
provide a function to uninstall all kernels from the sysroot.

This change adds code to do that and increases the ABI number.

(From OE-Core rev: 323f9ea99cff00a751e446286bf8bcf8756e4351)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Jeff Wang
6a5a2dff3c kernel-yocto: make sure git tags get dereferenced properly in do_patch()
Commit 92c1ece6c3 causes the test in do_patch()
in kernel-yocto.bbclass to fail if ${machine_srcrev} is an annotated tag. The
check is meant to ensure that ${machine_srcrev} is an ancestor of HEAD, but
if ${machine_srcrev} is a tag, then "$(git rev-parse --verify
${machine_srcrev})" evaluates to the SHA of the tag instead of what it's
pointing to.

Replacing "$(git rev-parse --verify ${machine_srcrev})" with "$(git rev-parse
--verify ${machine_srcrev}~0)" fixed the problem by finding the object pointed
to by the tag, and not the tag itself. This also works for commit IDs that
are not tags, hence is safe in a scenarios.

Jeff Wang <jeffrey.wang@ll.mit.edu>
(From OE-Core rev: f79c9334f670ed6fce86047fbadb817af8d4fe14)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Bruce Ashfield
5b71b69355 kernel-yocto: fix non-git builds
The ability to build non-git repositories was broken by two changes:

 - The existence of an empty 'patches' directory created during the
   unpack phase. This dir was incorrectly identified as a valid meta
   directory and broke the build. By ensuring that it is removed before
   creating the empty repository, it will no longer be found instead of
   the real meta directory.

 - The attempt to reset the git repository to a specific SRCREV when
   no SRCREV was provided. By checking for a SRCREV of 'INVALID', we
   avoid any processing and failed git operations.

(From OE-Core rev: d5451dda1b8cfbbe8b6a779b0cd9b1397ebf1a07)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Bruce Ashfield
2214cb2e2c lttng/perf: depend on virtual/kernel:do_install
To ensure that the minimal environment has been created for out of
tree module builds, perf and lttng should depend on the do_install
task of the kernel.

(From OE-Core rev: 7f934946fdb3184a06ce1a2cdc29559e7c468492)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Bruce Ashfield
b829eaa125 images: introduce core-image-kernel-dev
When building a new kernel, or testing and update to the kernel there
are a set of packages that are sensitive to APIs, build system and
other changes associated with the kernel.

After building this recipe, we can be reasonably sure that a new kernel
package and coupled userspace have been built, installed and tested
via a single image.

(From OE-Core rev: 6c22c0e7e7bb392df6d04864f56d66d3a2c1e32b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Bruce Ashfield
a1c24ecbe8 kerneldev: create kernel-devsrc packaging
kernel-devsrc is responsible for creating and a packaging an environment
appropriate for kernel development (on or off target).

To create this support, we only need to copy/install the results of the
virtual/kernel providers build in the staging dir ... with some minor
manipulations to the source tree (.git removal and a clean up). This
produces a source tree that is capable of rebuilding the kernel on the
target.

Installing the kernel-devsrc package on a target (along with a
toolchain) is all that remains to be done.

 $ cd /usr/src/kernel
 $ make oldconfig
 $ make -j2 bzImage

(From OE-Core rev: 6412dc1df434f774c434ec08bf9b3706edb756f2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Bruce Ashfield
d1aced444f kernel: fix out of tree module builds
With the kernel build optimizations, we no longer copy the source from
the built kernel into the staging dir, since the kernel is unpacked and built
directly from the staging dir.

This means that a few build artifacts need to be restored to allow out of
tree modules to once again build.

(From OE-Core rev: 4b981e4fd5a4744d0d83053219274296e7785e77)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Richard Purdie
86893e4ea5 kernel: Rearrange for 1.8
In 1.8 we want to streamline the kernel build process. Basically we
currently have multiple copies of the kernel source floating around
and the copying/compression/decompression is painful.

Lets assume we have a kernel source per machine since in most cases
this is true (and we have a sysroot per machine anyway). Basically,
instead of extracting a source into WORKDIR, then copying to a sysroot,
we now set S to point straight at STAGING_DIR_KERNEL.

Anything using kernel source can then just point at it and use:

do_configure[depends] += "virtual/kernel:do_patch"

to depend on the kernel source being present. Note this is different
behaviour to DEPENDS += "virtual/kernel" which equates to
do_configure[depends] += "virtual/kernel:do_populate_sysroot".

Once we do this, we no longer need the copy operation in
do_populate_sysroot, in fact there is nothing to do there (yay).

The remaining part of the challenge is to kill off the horrible
do_install. This patch splits it off to a different class, the idea here
is to have a separate recipe which depends on the virtual/kernel:do_patch
and just installs and packages the source needed to build modules on
target into a specific package.

Right now this code is proof of concept. It builds kernels and kernel
modules. perf blows up in do_package with issues on finding the kernel
version which can probably be fixed by adding back the right bit of do_install,
and adding a dependency of do_package[depends] += "virtual/kernel:do_install"
to perf. The whole thing needs a good write up, the corner cases testing
and probably a good dose of cleanup to the remaining code.

(From OE-Core rev: 3b3f7e785e27990ba21bc7cd97289c826a9a95d1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Richard Purdie
1ff64a7e84 image: Avoid race over directory creation
There is a race over the do_package_qa task and the do_rootfs task
since rootfs recreates a directory. This patch disables the task
(which isn't used for images) to avoid the race:

NOTE: recipe core-image-minimal-1.0-r0: task do_package_qa: Started
NOTE: recipe core-image-minimal-1.0-r0: task do_rootfs: Started
ERROR: Build of do_package_qa failed
ERROR: Traceback (most recent call last):
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/bitbake/lib/bb/build.py", line 497, in exec_task
    return _exec_task(fn, task, d, quieterr)
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/bitbake/lib/bb/build.py", line 440, in _exec_task
    exec_func(func, localdata)
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/bitbake/lib/bb/build.py", line 212, in exec_func
    exec_func_python(func, d, runfile, cwd=adir)
  File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/bitbake/lib/bb/build.py", line 237, in exec_func_python
    os.chdir(cwd)
OSError: [Errno 2] No such file or directory: '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/build/tmp/work/qemumips-poky-linux/core-image-minimal/1.0-r0/core-image-minimal-1.0'

(From OE-Core rev: 0550d112ad9c2ca9f8167dcae35200210923f2c5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:53 +00:00
Richard Purdie
e2f68c0233 dbus-test: Fix SRC_URI checksum to match dbus
If the system fetches dbus first, everything works and the checksum is
correct there. If dbus-test fetches first, the checksum is incorrect
and wasn't changed with the version upgrade.

Fix the checksum.

(From OE-Core rev: a5fc201961e62cf5d9088b6d66bb2d50aa84109d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:52 +00:00
Richard Purdie
900f27a983 report-error: Handle the case no logfile exists
If the task fails early, no error log may exist. Currently we crash in
that case, this handles the situation more gracefully.

(From OE-Core rev: 1e6bfcab47f532677f87683ba2f5e5fb905e9ba5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-21 12:37:52 +00:00
Maciej Borzecki
88528a128f ref-manual: Update to the BOOT_IMAGE_FILES variable in the glossary
Update entry for IMAGE_BOOT_FILES with information on glob
patterns.

(From yocto-docs rev: ad3fc0061e3f4dc3ecc6b0a101685c301c5690e9)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:14 +00:00
Scott Rifenbark
99bd2c41c6 ref-manual: Updates to some tuning variables in the glossary:
Fixes [YOCTO #5463]

Updated the notes in the TUNE_ASARGS, TUNE_CCARGS, and
TUNE_LDARGS to indicate that the BSPs select the tune and then
selected tun affects the tun variables themselves.

Also combined the TUNE_PKGARCH and the TUNE_PKGARCH_tune variable.
We really don't need the TUNE_PKGARCH_tune variable as it is simply
the TUNE_PKGARCH variable with the override.

(From yocto-docs rev: dabc624272a9bb4cf5e62dee664ba729a9887208)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:14 +00:00
Scott Rifenbark
4f0fa9224a Revert "yocto-project-qs, mega-manual: Conformed to YP book set"
This reverts commit 914c482bd89071ab34b3381e3bd8065f871cc047.

I had to revert this change because it broke the footnote behavior.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:14 +00:00
Scott Rifenbark
d23e18990e Revert "yocto-project-qs: Removed redundant code to display title image."
This reverts commit 322ae6450dfac9b2054b33334898a078fdd20902.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:14 +00:00
Scott Rifenbark
5c7acf0a81 yocto-project-qs: Removed redundant code to display title image.
Creation of a PDF version of the YP Quick Start is not supported.
The <mediaobject></mediaobject> code appears in the manual for
that purpose only.  It is ignored during HTML generation.  Thus,
I have removed it from the file.  The image is actually displayed
through the <authorgroup> definition, which is located in the
CSS stylesheet.

(From yocto-docs rev: 322ae6450dfac9b2054b33334898a078fdd20902)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:14 +00:00
Scott Rifenbark
c576556033 yocto-project-qs, mega-manual: Conformed to YP book set
I discovered some artifacts and inconsistencies with how the YP
Quick Start was made.  I made the following changes:

1. Changed the structure of the QS from "article" to "book"
   as it is a separate book.  This change doesn't fix anything
   but it does bring the XML file closer to passing validation.

2. Removed the <abstract></abstract> tag.  This tag was in place
   simply to display the PNG file for the Yocto logo in the upper
   right part of the first page.  After turning the QS into a
   book from an article, the title could be displayed as a PNG
   file similar to the other books.  This change solved two issues:
   1) removed the empty "abstract" element from being displayed in
   both the mega-manual and the PDF version, and 2), brought the
   author and look of the first page into line with other YP
   manuals.

3. Removed the old PNG file used to display the Yocto logo at
   the top of the QS.  This file was removed from both the
   yocto-project-qs and mega-manual "figures" directories.

4. Added a new "yocto-project-qs-title.png" file to both the
   yocto-project-qs and mega-manual "figures" directories.

5. Updated the "qs-style.css" file's .authorgroup element to
   match and behave like the other YP manuals.  This effectively
   correctly displays the title PNG file for the QS.

6. Updated the Makefile area where the TAR files are made for
   both the yocto-project-qs and the mega-manual.  I had to
   substitute in the new PNG file for the QS one and had to
   add the title PNG to the mega-manual part.

(From yocto-docs rev: 914c482bd89071ab34b3381e3bd8065f871cc047)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:14 +00:00
Scott Rifenbark
6ee3207ec7 yocto-project-qs: Updated DocBook type declaration
The DocBook type at the top of the file indicated chapter
when the actual block of XML is article.  I changed it to article
to be consistent.

(From yocto-docs rev: 5350426c11abc2fa4b1418a2d215cd8814745ef9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 22:36:13 +00:00
Richard Purdie
2059a6607d security_flags: Fix typo for cups
(From OE-Core rev: 146b1ea632294b2830e2cfe2d1258d48cd0c0e85)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:03 +00:00
mike.looijmans@topic.nl
973c565a7e busybox-mdev: Support automatic mounting of block devices
Upon inserting a USB stick or similar device, mdev will run
an automounter script that mounts valid partitions on
/media/<device>. The script first checks /etc/fstab entries
so that mounting on UUID or LABEL or using custom mount options
is still possible. If /etc/fstab does not contain particular
mount options, the script will create (and remove) the mountpoint
automatically.
The script also supports full disk partitions (devices without
partition table).

The following environments can be set in /etc/default/mdev:
MDEV_AUTOMOUNT=n (Disables automounting completely)
MDEV_AUTOMOUNT_ROOT=/media (Change the mount root location)

Automatic mounting for a particular device can be disabled by
creating a file "/dev/<device>.nomount". This is helpful in
scripts that create partitions for example, and want to perform
specific actions which require the device to remain unmounted.

A more complex variation (using LABEL based mounts) on this script
has been in use in OpenPLi for many years now, and I've used this
one on many projects already, so it's about time to push this to
mainline.

(From OE-Core rev: 19073fb991b3e2d2304e55f94e30674adf375197)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:03 +00:00
mike.looijmans@topic.nl
6695f76a10 busybox-mdev: Add hotplug kernel module support to mdev.conf
Add a line to mdev.conf that tells mdev to load kernel modules when
required.

For example, if you built wifi support as an external module, inserting
a wifi stick into a USB port will now automatically load that module
into the kernel and the wlan device will be ready for configuration.
Without this patch, you have to load required modules manually or force
them to load at system startup.

(From OE-Core rev: 11420b0566a6a085c6cb78f3f1495ed9c599e6fd)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:03 +00:00
mike.looijmans@topic.nl
f9392a539e busybox/find-touchscreen.sh: Simplify script and recognize USB devices
Simplify the grep expression, use the more common "grep" command instead
of "egrep", avoid forking extra processes, join multiple invokations into
a single combined expression.

Change the touchscreen regex so that it also recognizes various USB
touchscreen controllers and the ad7879 i2c device.

Based on code used in OpenPLi and meta-topic.

(From OE-Core rev: e82353eb9f76b582122fda27c93339eac5553eb2)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:03 +00:00
mike.looijmans@topic.nl
f50c622239 busybox-mdev: Install missing find-touchscreen.sh
mdev.conf references the find-touchscreen.sh script, but this file
was not being installed. Add the script to the busybox-mdev package.

(From OE-Core rev: 44f6df0dfac54845ef5c3ab1af5663d1b6c1d64b)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Acked-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>
2014-12-19 18:08:02 +00:00
Martin Jansa
3ee4015f5b powertop: Fix build for !uclibc
* EXTRA_LDFLAGS isn't defined for !uclibc and configure fails
  when it reads it unexpanded, see config.log snippet:

  configure:4177: checking whether the C compiler works
  configure:4199: i586-oe-linux-gcc  -m32 -march=i586 --sysroot=/OE/sysroots/qemux86  -O2 -pipe -g -feliminate-unused-debug-types  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed ${EXTRA_LDFLAGS} conftest.c  >&5
  i586-oe-linux-gcc: error: ${EXTRA_LDFLAGS}: No such file or directory
  configure:4203: $? = 1
  configure:4241: result: no

(From OE-Core rev: a3e9b391e1024d6d2e256b75c214d34e6693e332)

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>
2014-12-19 18:08:02 +00:00
Ross Burton
88af91954e common-licenses: add SMAIL_GPL
This is used by debianutils.

(From OE-Core rev: 6214649b3aed5075c86aed79aa1356f1e5a19f9d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Maciej Borzecki
cff6c481aa wic: add globbing support in IMAGE_BOOT_FILES entries
Adding glob support for entries in IMAGE_BOOT_FILES. Files picked up by
glob are by default installed under their basename, as this is likely
most common use case. Target name for globbed entries specifies the
name of directory in which files will be installed withing the partition.

(From OE-Core rev: 2c9635bdb97ddc80750c11d356e153a99d61cf09)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Maciej Borzecki
90487dfbbb wic: IMAGE_BOOT_FILES format checks in bootimg-partition source
Check for malformed entries in IMAGE_BOOT_FILES, fail early if such
entries were found.

(From OE-Core rev: e56072aaaad6cfa222853a4e9e68dd8aa861de18)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Nicolas Dechesne
94e14422f6 mesa: add PACKAGECONFIG support for gallium XA state tracker
(From OE-Core rev: d1cf188783ea5ae9013996a208f60960e3e7a6e7)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Saul Wold
7d495e5032 vala: Add Upstream-Status to patch
(From OE-Core rev: 89bb91520746c229d534cd856051f11d8b328d29)

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>
2014-12-19 18:08:02 +00:00
Ross Burton
3c55f44c23 oprofile: add missing Upstream-Status
(From OE-Core rev: 77367e78aa6e2edce2a7837c7d28aa74f6ef2d8b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Ross Burton
77e1c5f2e5 which: add missing Upstream-Status
(From OE-Core rev: c04715d17b357f46bd78f1d9c83e2639b04987dd)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Richard Tollerton
02e11ceeaa udev-cache: refactor conditionals and error handling
Most of /etc/init.d/udev-cache is in a conditional block which can be
replaced by a `[ ... ] || exit 0` to reduce nesting.

This also provides an opportunity to add some additional messages
when VERBOSE is set.

Capture and report errors encountered in the cache generation process,
using set -e and trap EXIT. These errors were previously being ignored.

(From OE-Core rev: a1357f3c78e46cd4297fefab56acf87342967132)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:02 +00:00
Richard Tollerton
408baa9903 udev-cache: Update cache asynchronously
Don't hold up the boot while the cache is being updated.

(From OE-Core rev: eb52b257511b7624c8e212f5e9df711935d619ee)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ben Shelton <ben.shelton@ni.com>
Acked-by: Gratian Crisan <gratian.crisan@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
88c184a9bf udev-cache: invalidate on rules.d changes
Presently, the cache is not regenerated if udev rules are modified,
which may cause the cache to preserve an old configuration. To fix,
include the size, mtime, and filename of all udev rules in the system
configuration.

This change requires `stat`. If busybox supplies stat,
CONFIG_FEATURE_STAT_FORMAT must be enabled.

(From OE-Core rev: 8847e33b12171a21b7c7e1241198080ad9ef9284)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
7c522ced96 udev-cache: always warn on console if invalidated
Failure to use the udev cache is a significant enough impact to
the boot time (possibly seconds) that it should always be
reported on the console, regardless of the VERBOSE setting.

(From OE-Core rev: 9e588bbf9477d57f0a46d92ce11f8f891115496c)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
8b0be8018a udev-cache: Clean up message when cache is invalidated
Replace a bunch of echo's with a single cat<<EOF. Take this opportunity
to more clearly communicate what is going on with the cache and what
files are being looked at.

(From OE-Core rev: d768772a1259d3659d0424c39e65eeb3443af86c)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
0002d46e78 udev-cache: refactor sysconf generation
The current system configuration needs to be generated both inside
udev (to compare against the cached system configuration) and
udev-cache (to regenerate the cached system configuration). Use a single
function definition for this task, duplicated across both initscripts.
This also allows administrators to modify it for machine-specific
requirements.

(From OE-Core rev: 34957afcfe663eed4f5ebec0891a84467e67a48d)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
c6e8f075a9 udev-cache: don't generate sysconf twice
The udev initscript signals udev-cache to run by generating a new
sysconf; but udev-cache now overwrites that with its own copy. To
eliminate the needless sysconf generating in udev, we instead trigger
udev-cache to run by touching a new file $DEVCACHE_REGEN.

(From OE-Core rev: 8d2325be2d03086b7e5a02618edb05b19fbcdc48)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
7f8634cc90 udev-cache: replace readfiles() with cmp
Currently, udev-cache system configurations are compared as shell string
variables, read into memory with the readfiles() function. This is more
complex, and significantly (27-41%) slower, than comparing them using
`cmp`. (Performance was verified on both Cortex-A9 and Intel Nehalem
systems.)

So just use cmp. This requires a few other small changes:

exclude /proc/atags from CMP_FILE_LIST if it doesn't exist to avoid
errors in `cat` and `cmp`.

`cmp -q` doesn't exist in busybox, so instead, redirect output to
/dev/null.

(From OE-Core rev: e8ea6a29ed3ab9892a3bc7ee8249f10688c0af29)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Richard Tollerton
24a159e169 udev-cache: stop race between sysconf and cache generation
The validity of the udev cache is determined by the sysconf
file (/etc/udev/cache.data). Currently, there is a substantial delay
between sysconf generation in /etc/init.d/udev and cache generation in
/etc/init.d/udev-cache. If a hotplug event arrives in the middle of
this, then the sysconf will be out of date with respect to the cache.

The solution is two-pronged. First, we minimize the race window by
regenerating the sysconf immediately before the cache, in
/etc/init.d/udev-cache. This allows us to kill the race entirely by
stopping the udev event queue while the sysconf and cache are being
generated.

(From OE-Core rev: 107e7fa2b2cc2e06addb83518c03b3ab769fed6f)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Paul Eggleton
a957ff1dc4 buildtools-tarball: restore missing git tools
Since the split out of git-perltools, some git tools (such as "git am",
"git send-email" and "git-submodule") have no longer been part of the
buildtools. We need these, so add them back in.

However, adding git-perltools to buildtools triggers perl itself being
brought into buildtools as well, and we don't want that; but we also
don't want to have to hack the git recipe or indeed anything else that
starts depending on perl. Thus, add a dummy package which gets installed
in its place, in a separate package architecture that is only enabled
for buildtools to ensure it doesn't start appearing in place of
nativesdk-perl anywhere else.

Fixes [YOCTO #7033].

(From OE-Core rev: 5b051d65e797624cca3a81fc6f5c924925f3493e)

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>
2014-12-19 18:08:01 +00:00
Tomas Novotny
d5e0cc7b08 systemd-systemctl: add handling of template unit files
Template unit files (those with '@' in their names) are not handled with
native version of systemctl. This is usually not a problem, as the
native systemctl fails and systemctl command is executed during first
boot. But some early boot template units may fail during first boot
because opkg configure for first boot is pulled too late for them
(although I encouter it only with some of my services, not with oe-core
ones).

Handling of template unit files is same as in original systemctl. Also
DefaultInstance directive in template is respected. As with original
systemctl, enabling of template without instance and DefaultInstance
does nothing.

(From OE-Core rev: 90904ef3bab182a46174f7bb60e83f0f22a3f209)

Signed-off-by: Tomas Novotny <tomas@novotny.cz>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:01 +00:00
Hongxu Jia
0932d84f26 libproxy: let INCOMPATIBLE_LICENSE supports wildcard
While wildcard in INCOMPATIBLE_LICENSE, such as INCOMPATIBLE_LICENSE =
"*GPL-3", libproxy could correct work.

[YOCTO #5592]

(From OE-Core rev: 97f46c97c7f8a39f3691aee423b4192680d114a0)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:00 +00:00
Hongxu Jia
b3c625a7f2 default-versions.inc: let INCOMPATIBLE_LICENSE supports wildcard
While wildcard in INCOMPATIBLE_LICENSE, such as INCOMPATIBLE_LICENSE =
"*GPL-3", PREFERRED_VERSION_db-native could have the correct value "5.%"

[YOCTO #5592]

(From OE-Core rev: fddca246f15ff72828a0198d8c4d3e58d8bf4442)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:00 +00:00
Hongxu Jia
5f78cf9b4e base/license.bbclass: expand wildcards in INCOMPATIBLE_LICENSE
The whitelist processing in code in base.bbclass does not play well with
wildcards in INCOMPATIBLE_LICENSES. The code expects bad_licenses to
contain actual license names, not wildcards.

Add incompatible_license_contains to replace bb.utils.contains(
"INCOMPATIBLE_LICENSE", **, **, **, d)

[YOCTO #5592]

(From OE-Core rev: 3587653a8d8abc7cfed6a5c6ecfa72bee283e451)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:00 +00:00
Joe Slater
fc518325c6 gcc runtime: specify license on a per package basis
It can be alarming to attempt to exclude GPLv3 from an
image but find that libstdc++ and libgcc still show it.
We indicate the license for each package to show libraries
that really are just GCC-3.0-with-GCC-exception.

(From OE-Core rev: 5db535a91edea439c14e75726acd23e64bb1e2ea)

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>
2014-12-19 18:08:00 +00:00
Alexandru DAMIAN
31e86e6b02 toaster.bbclass: trigger event for other image files
Toaster will log all the files that it can find in the
deploy images directory, and list them, considering that
they may be artifacts of the current build not logged
anywhere else.

[YOCTO #6836]

(From OE-Core rev: 87a25b1dec86da809c9a13c10449bd33a471cb95)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:00 +00:00
Jonathan Liu
1f41cb64b4 systemd: backport patch to fix reading journal backwards
(From OE-Core rev: c0650feb6ce7151a22632bab7270002314a1b6be)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:00 +00:00
Richard Tollerton
ef552b9535 font-util: Fix incorrect PKG_CONFIG_PATH
PKG_CONFIG_PATH always defaults to /usr/lib/pkgconfig, and the host
/usr/lib/pkgconfig is always checked as a fallback; however,
PKG_CONFIG_PATH is currently (incorrectly) set to /usr/lib/pkg-config in
the sysroot, which doesn't exist. On host distros where the font
encoding maps are stored under a different path than OE, this will break
font builds, because ucs2any will attempt to read the sysroot's encoding
maps with the host paths.

(From OE-Core rev: 89a29a3ad0742cd713e739d3d460be7711966679)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:00 +00:00
Peter Seebach
244cb9b5c3 package.bbclass: do variable fixups even when FILES was set
A number of settings (DESCRIPTION, SUMMARY, postinst, postrm,
and appends to RDEPENDS) were made only if FILES_foo was not
set for a given package. If you had a modified glibc packaging
setup that was defining FILES_glibc-gconv-somelocale, this would
prevent the automatic append of glibc-gconv as a dependency,
because extra_depends was ignored.

I think the assumption may have been that if FILES_foo was set,
DESCRIPTION_foo and SUMMARY_foo would also be set, but it seems
to me that the right answer is probably to set them if they aren't
already set, and leave them alone if they are.

(From OE-Core rev: 7e59b0c7e03fc08a6eaf9c8ccb6bfa72b4604cc5)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:08:00 +00:00
Khem Raj
48b35406c9 kernel.bbclass: Remove bashism
Fixes build on systems using dash for default shell e.g.

errors like

run.do_strip.25842: [[: not found
| readelf: Error: Unable to read in 0x37 bytes of section headers
| readelf: Error: Not an ELF file - it has the wrong magic bytes at the start

Change-Id: I29cac15be44a02d75a3d6889b6ae9b2e19bf46af
(From OE-Core rev: 6956ffdc6e9879e32360b6ee3a3d286618807485)

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>
2014-12-19 18:08:00 +00:00
Nathan Rossi
31952101f3 image_types.bbclass: Populate cpio /init as symlink
For cpio/ramfs the kernel will first attempt to execute /init and will
emit the following error as the file is empty:

    Failed to execute /init (error -13)

If /sbin/init exists symlink to it so the kernel can immediately start
the correct init executable instead of an empty file.

(From OE-Core rev: 3505558e067fdde4ab7aaaf3c50886f292d7c166)

Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:07:59 +00:00
Baptiste DURAND
25a3ab1822 shadow: disable nscd feature when glibc is not built with spawn posix functions
shadow package  configure step fails with this log output :
| checking location of faillog/lastlog/wtmp... (cached) /var/log
| checking location of the passwd program... (cached) /usr/bin
| checking for posix_spawn... no
| configure: error: posix_spawn is needed for nscd support
| Configure failed. The contents of all config.log files follows to aid debugging
| ERROR: oe_runconf failed

(From OE-Core rev: 3678e504cf81f45bd0b0ab315f9cc4da87a633b5)

Signed-off-by: Baptiste DURAND <baptiste.durand@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:07:59 +00:00
Armin Kuster
1b330a47d2 gnutls: upgrade to 3.3.11
this also includes a fix for CVE-2014-8564.

see http://www.gnutls.org/security.html for CVE-2014-3566 "POODLE" statement.

(From OE-Core rev: 60e4c6ca148e736c947477da4ddcb5e7fdfb94f1)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:07:59 +00:00
Nathan Lynch
3fb5467ca0 packagegroup-core-tools-profile: allow lttng-modules for ARM
Per commit f6587be6cd3dc864143b1c0be0bb8179a61dc835 (lttng-modules:
re-enable ARM builds) lttng-modules is fine for ARM now.  Without this
additional change, tools-profile won't bring in lttng-modules when
targeting ARM.

(From OE-Core rev: fbf979da6e6b7332dccab38fd66f3c01594f8211)

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>
2014-12-19 18:07:59 +00:00
Armin Kuster
2cd226e747 glibc: CVE 2014-7817 and 2012-3406 fixes
(From OE-Core rev: 41eb5a1ae2a92034bed93c735e712d18ea3d9d1d)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:07:59 +00:00
Saul Wold
d913c67ef1 openssh: move setting LD to allow for correct override
Using the export LD in the recipe does not allow for secodnary toolchain
overriding LD later, by setting it in the do_configure_append the export
is used by autotools setting LD based on the env, but would allow for
override later.

[YOCTO #6997]

(From OE-Core rev: 9b37e630f5f6e37e928f825c4f67481cf58c98a1)

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>
2014-12-19 18:07:59 +00:00
Richard Tollerton
48a03945c3 qemu: disable vte if gtk is also disabled
vte will pull in the gtk libs itself. This can cause build failures if
the native gtk was build with glib>=2.41 while the sysroot native glib
is <=2.40.

Fix for [YOCTO #7077].

(From OE-Core rev: 6cea10dd8f041731269ad16b94d8e172ab1f7257)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:07:59 +00:00
Awais Belal
73388a1846 gstreamer1.0-* fix configure for out of tree build on git recipes
The autogen.sh script lies in the srcdir ($S) and is required to be run on git
based checkouts of gstreamer packages in order to generate initial
makefiles. So, we fix this by cd'ing to the specific dir, run the required
script and then come back to our initial dir which is builddir ($B).
Additionally rather than overriding the whole do_configure step we only _prepend
to make it clear what we are doing here.

(From OE-Core rev: f4a26b72377380e60d1e7058ba40aaf49b6316e5)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:07:59 +00:00
Ross Burton
f9ea9382a7 connman: use PACKAGECONFIG to control systemd option
(From OE-Core rev: fed354d79da865ee1017aa932449f329e4b11dd1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:07:59 +00:00
Ross Burton
2c8be7344e ofono: use PACKAGECONFIG for systemd and bluetooth
For clarity use PACKAGECONFIG for the systemd and bluetooth optional features.

(From OE-Core rev: e76e7bf166544c1059c20753165a644dc1af750f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:07:58 +00:00
Ross Burton
b9ed702ee7 gst-plugins-bad: add PACKAGECONFIG for the RTMP plugin
The RTMP plugin was non-deterministic, based on whether rtmpdump from
meta-multimedia had been built.  Add a PACKAGECONFIG to resolve this.

(From OE-Core rev: b34147722b1ea43e960eae10c514325e40cdf0ba)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:07:58 +00:00
Ross Burton
8a4e32dd22 gst-plugins: remove spurious whitespace
(From OE-Core rev: b59087df33f1a4367d728447edafe09a25058200)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:07:58 +00:00
Richard Tollerton
0a791e91e5 bitbake: data: escape '$' in shell variable assignment
Running bitbake inside make results in the exported environment variable
MAKEOVERRIDES="${-*-command-variables-*-}", which the shell chokes on
when trying to expand it. But of course, it probably shouldn't have been
trying to expand it in the first place -- so just escape the dollar
sign.

(Bitbake rev: 18cd0ce6a55c9065c3f1bf223b47d817b5efcd8f)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:28:44 +00:00
Michael Wood
bb83fccb4b bitbake: toaster: importlayer Tidy up the page initialisation
Tidy up the page initialisation and change the error logging so that
it's consistent with other pages.

(Bitbake rev: 3a5b78af4f3cab203824d933a73e82a41ab377e3)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:08 +00:00
Belen Barros Pena
641c50d79b bitbake: toaster: Change the full stop to a colon
In the import layers notification for multiple layers
there was a full stop where there should be a colon.

(Bitbake rev: c23736003b788f2b45ae7cbcd7c7250ead2e5724)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:08 +00:00
Belen Barros Pena
6f3f05936c bitbake: toaster: Formatting changes to error messages
Just giving a bit of space to the content of the error
messages we show when you try to import a layer that
already exists.

(Bitbake rev: 19b8ff1949072691dade96038af529200175843a)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:08 +00:00
Michael Wood
c89fd79398 bitbake: toaster: projectapp Add links to the imported layers notify
Adds links to layer details for each of the layers that has been added
to the project.

(Bitbake rev: 07e5c7c82519604501feb7d892db330c610978e9)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:07 +00:00
Michael Wood
8d96256c39 bitbake: toaster: importlayer Avoid namespace clash with layer name
This was causing validation issues as the layer name was being picked up
from a different location in the dom.

(Bitbake rev: 54165dd929ef304357806411cd70caf85b6132f0)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:07 +00:00
Michael Wood
dadc11a52f bitbake: toaster: Importlayer add notify exactly which layers changed
This changes when the dependencies are added to the project so that we
can know which ones were successfully added by waiting for the server to
respond with a list. This is more reliable because we may have specified
dependencies which are already in the project.

To pass this information to the project page a temporary cookie is used
with the values for the notification.

(Bitbake rev: 23ca89dc3e0f0ea387649f1e9e8d7d50846048d6)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:07 +00:00
Belen Barros Pena
bd6b8796a1 bitbake: toaster: tweaking the import layers form
This commit makes the following changes to the import
layers form:

* In the explanatory text at the top of the page, show only
the release description (to match the information shown in all
other pages)

* Make sure the spacing between form fields and labels is
consistent across the form

* Change the 'Branch, tag or commit' label to 'Revision'
and add some help text to the label

* Change the help text and the input type in the layer
 description

* Change the help text next to the form actions to match
the new field ordering in the form

(Bitbake rev: 1fae3ef8f87a836758519c85afb2762768c29efc)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:07 +00:00
Michael Wood
1605cd37db bitbake: toaster: Add import layer feature.
This feature allows users to import layers from git into their current
project and associate it with the release of the current project and the
dependencies for the newly imported layer with existing layers.
It will also resolve the child dependencies of the dependencies added.

[YOCTO #6595]

(Bitbake rev: 017f5c746e894f9d87d927c848386459ea332378)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:07 +00:00
Alexandru DAMIAN
13141af708 bitbake: toasterui: refactor project layer finding logic
This is a basic refactoring of the code computing
the layer equivalence classes for a project, in order to
bring common bits of logic in a single place.

(Bitbake rev: 9bdd0a687ba74577f2c0f0b6c696433ea662d38f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:07 +00:00
Michael Wood
7d5cd68a7d bitbake: toaster: libtoaster Add editProject and getLayerDepsForProject
Add two utility functions for editing project settings and returning the
layer "dependencies" for a specified layer.

(Bitbake rev: 5f98f245bdd381a141a018a7f9953a5510fbb4df)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:07 +00:00
Michael Wood
d5fc4f7f13 bitbake: toaster: libtoaster Add a error handler to GET in makeTypehead
If the JSON data comes back from the request with an error set, have a
default handler which logs the error to the console.

(Bitbake rev: 9e3f2e2d985a575adb5520d8b517eac5ad6a15ed)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:07 +00:00
Belen Barros Pena
c058c373f6 bitbake: toaster: Initialise the 'change' icon tooltips
All 'change' icons should have a tooltip that appears
when you hover over them. The tootlip says (fittingly):
"Change". Initialise those icons in the libtoaster.js
file so that they work outside the project page.

(Bitbake rev: c635dd71670030da78c52545d2bb32b8c485c1af)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:07 +00:00
Belen Barros Pena
3910763db7 bitbake: toaster: base Only show change project icon when > one project
In the new build button, it only makes sense to change
the selected project when there is more than one project
in the Toaster instance. If the number of projects is 1,
we hide the change project icon.

(Bitbake rev: e354a40d7dbcd85fea9d37d3983428e4470df2dd)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:07 +00:00
Alexandru DAMIAN
4061fcdeeb bitbake: add POST endpoint for uploading eventlog files
This patch adds a simple UI-less POST endpoint, where
bitbake_eventlog.json files generated by a bitbake run can be
uploaded to the running toaster instance for insertion into
the database.

(Bitbake rev: cf98a8cbc5dd7a41bbe5fdebcd81e29b1621ff35)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:06 +00:00
Alexandru DAMIAN
aa9816ad79 bitbake: toastergui: implement UI changes to allow file download
This patchset adds download links in the build analisys pages
if toaster runs in managed mode. This allows the user to access
data directly from the web interface.

[YOCTO #6837]

(Bitbake rev: 6000e1ae5c846e51932ecd0dc21e0fa02eb10357)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:06 +00:00
Alexandru DAMIAN
85a17f86ea bitbake: add option to write offline event log file
This patch adds a "-w/--write-log" option to bitbake
that writes an event log file for the current build.

The name of the file is passed as a parameter to the "-w"
argument. If the parameter is the empty string '', the file
name is generated in the form bitbake_eventlog_DATE.json,
where DATE is the current date and time, with second precision.

The "-w" option can also be supplied as the BBEVENTLOG
environment variable.

We add a script, toater-eventreplay, that reads an event
log file and loads the data into a Toaster database, creating
a build entry.

We modify the toasterui to fix minor issues with reading
events from an event log file.

Performance impact is undetectable under no-task executed builds.

(Bitbake rev: 1befb4a783bb7b7b387d4b5ee08830d9516f1ac2)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:06 +00:00
Alexandru DAMIAN
d086fa3aed bitbake: toasterui: add extra debug and development infos
We update and add logs throughout the code in order to help
with development. The extra logging is turned off by default,
but it can be enabled by using environment variables.

All logging happens through the Python logging facilities.

The toaster UI will save a log of all incoming events if the
TOASTER_EVENTLOG variable is set.

If TOASTER_SQLDEBUG is set all DB queries will be logged.

If TOASTER_DEVEL is set and the django-fresh module is available,
the module is enabled to allow auto-reload of pages when the
source is changed.

(Bitbake rev: 10c27450601b4d24bbb273bd0e053498807d1060)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:06 +00:00
Alexandru DAMIAN
f99f2cdd69 bitbake: add build artifacts table and other improvements
We add a BuildArtifacts class to store data about files
discovered during the build process and not stored anywhere
else.

Small cosmetic changes in the toasterui.

Add model methods to return file path display data relative
to the build environment instead of absolute file paths.

[YOCTO #6834]

(Bitbake rev: bbe24d912869312d561be199b2c029b0c898e049)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:24:06 +00:00
Belen Barros Pena
c467bbd841 toasterconf: naming and description changes
Some minor changes to the names and descriptions
used in the Toaster configuration file:

* Change the local layer source name from Local Poky to Local
Yocto Project to match release naming, which makes no reference
to Poky

* Change Imported Layer Source to just Imported layers. It is
shorter, which helps table display

* Change the helptext of the dizzy release to remove the
"latest" reference, since might make maintenance hard

(From meta-yocto rev: ab1326597bbc505c5beade577206de78cda2dae8)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:21:50 +00:00
Tom Zanussi
fb760054d4 yocto-bsp: Get rid of 'strange' filenames in x86_64 templates
For the x86_64 templates, give all the 'strange' yocto-bsp template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: d478b11db66795040009e9b7d7751300d4385018)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:09:01 +00:00
Tom Zanussi
82e8b73d78 yocto-layer: Get rid of 'strange' filenames in templates
For the yocto-layer templates, give all the 'strange' template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: 0aa76b36ccb8262a7eec62845361c3d4b73ceb46)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:09:00 +00:00
Tom Zanussi
4b4eca1359 yocto-bsp: Get rid of 'strange' filenames in powerpc templates
For the powerpc templates, give all the 'strange' yocto-bsp template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: c21329385f93bd876ef675ee453627910b4d5dec)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:59 +00:00
Tom Zanussi
debb440be5 yocto-bsp: Get rid of 'strange' filenames in mips64 templates
For the mips64 templates, give all the 'strange' yocto-bsp template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: 8bc26cbfe2da0d6ffd08ecdce36fd50622bb1fad)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:59 +00:00
Tom Zanussi
4b82dab822 yocto-bsp: Get rid of 'strange' filenames in arm templates
For the arm templates, give all the 'strange' yocto-bsp template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: fb533fd98678671d319e52fc288783bbd0368218)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:58 +00:00
Tom Zanussi
6a103322f8 yocto-bsp: Get rid of 'strange' filenames in mips templates
For the mips templates, give all the 'strange' yocto-bsp template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: afa61438aa31fbc5c87991c8b3ec88c228b9d2d1)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:57 +00:00
Tom Zanussi
37a6affc48 yocto-bsp: Get rid of 'strange' filenames in x86 templates
For the x86 templates, give all the 'strange' yocto-bsp template
filenames 'normal' names, adding new yocto-bsp-filename and
yocto-bsp-dirname tags for the new filename processing pass where
needed.

(From meta-yocto rev: 9fa30ad9cf1291a37d365515ec8d969fb4fd4aef)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:56 +00:00
Tom Zanussi
cac5446989 yocto-bsp: Get rid of 'strange' filenames
Give all the 'strange' yocto-bsp template filenames 'normal' names,
adding new yocto-bsp-filename and yocto-bsp-dirname tags for the new
filename processing pass where needed.

(From meta-yocto rev: c66a5b2acb2e243b857e5eb31c1427af296b4c9d)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:37 +00:00
Tom Zanussi
ed99aeeb68 yocto-bsp: Add a processing pass to get rid of 'strange' filenames
Operating systems that can't handle filenames containing anything but
uppercase letters don't like to see 'strange' characters in filenames
such as the file and directory names yocto-bsp uses as part of its
templating mechanism.  To fix this, we essentially add another level
of metadata into the template files themselves rather than into their
names, and add a processing pass that internally gives us what we had
before.  Specifically:

  - strange characters in filenames are moved inside the files they
    apply to, to the first line of the file prepended with '#
    yocto-bsp-filename {{...}} filename | this'

  - strange characters in directory names are moved inside a new file
    of the same name but ending in .noinstall and with the first (and
    only) line of the file prepended with '# yocto-bsp-dirname {{...}}
    dirname'

If the new filename contained in the yocto-bsp-* tag is 'this', the
filename is the existing name of the file.  For a dirname, this would
be the filename with .noinstall removed.

"Fixes" [YOCTO #5312].

(From meta-yocto rev: 3dad2decbd682713f717950fc39fa0f63f1b8c98)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-18 10:08:37 +00:00
Enrico Scholz
8657c2fd57 serf: readded md5sum
Commit 36d94ed631f1a753482282fced7d3b7505d5e03d ("serf: fix 'ccache'
builds") removed the source md5sum accidentally while resolving a
merge conflict.

Readd it.

(From OE-Core rev: 8d0e56a850579f9a6d501266deeef9b257ce4780)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Cc: Kang Kai <Kai.Kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:57 +00:00
Ross Burton
456ea67a09 gsettings-desktop-schemas: remove
This is not used in oe-core and now has a new home in meta-gnome.

(From OE-Core rev: 73a40d1621f19fd78c1c606837fe79a5c2a8be7d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:57 +00:00
Saul Wold
87c310c8d3 npth: npth needs pthread in some cases
(From OE-Core rev: aaf056939b35069fef3d12a4290fa1c84f3418dc)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:57 +00:00
Saul Wold
7ae7964497 babeltrace: Update to 1.2.4
(From OE-Core rev: 5b494349af92b3e3f16ce369d75e0d7e0ab45f2e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:57 +00:00
Saul Wold
40304fc6b9 procps: Upgrade to 3.3.10
This is now the procps-ng version

cleaned up patches
added to fix up usrbin_execprefix in OE-Core

Add CPPFLAGS to allow seperate build directory works

[YOCTO #6952]

(From OE-Core rev: 8a9b9a323f4363e27138077e3e3dce8139a36708)

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>
2014-12-11 11:34:57 +00:00
Ross Burton
6bcd295f71 python-pycurl: build docstrings to fix rebuilds
On a rebuild base.bbclass will invoke "make clean" to ensure that old build
objects are not used. This will delete docstrings.c and the only way to
re-generate that is with a dedicated setup.py target.

(From OE-Core rev: f5bc0ba35ac531feae2e84bbc4f9d16f861db6c6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:57 +00:00
Kai Kang
b570d9089e valgrind: update to 3.10.1
Update valgrind from 3.10.0 to 3.10.1 which is a bug fix release.  It
fixes various bugs reported in 3.10.0 and backports fixes for all
reported missing AArch64 ARMv8 instructions and syscalls from the trunk.

Add dependency perl-module-file-glob for ptest subpackage.

(From OE-Core rev: 65e15a1d4304bd3677a79d9b4c5a7a771dfd42d5)

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>
2014-12-11 11:34:57 +00:00
Jackie Huang
c72bada56a apr: avoid absolute paths for grep
The apr provides usr/share/build-1/libtool which is required by
the recipe such as apache2, and it will find grep on the host
and set absolute paths in libtool: GREP="/usr/bin/grep"

If we build apr/apr-native on a host that grep is in "/usr/bin/grep",
and re-use the sstate on another host with "/bin/grep", it will fail
when build apache2/apache2-native with:

| tmp/sysroots/x86_64-linux/usr/share/build-1/libtool: line 1093: /usr/bin/grep: No such file or directory
| tmp/sysroots/intel-x86-64/usr/share/build-1/libtool: line 1093: /usr/bin/grep: No such file or directory

(From OE-Core rev: 475709fc4f32e1ed01f45ee44819cd24e739eb43)

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>
2014-12-11 11:34:57 +00:00
Andreas Müller
bcc18fedf0 midori: update to 0.5.8
midori has moved to cmake for configuration

(From OE-Core rev: 39bb9f47c727c5518a794aac976dacd4b00a0534)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:57 +00:00
Bian Naimeng
b9001b69b2 cpio: fix bug CVE-2014-9112 for cpio-2.11
Obtain detain from following URL.
  http://lists.gnu.org/archive/html/bug-cpio/2014-12/msg00000.html
  http://git.savannah.gnu.org/cgit/cpio.git/commit/?id=746f3ff670dcfcdd28fcc990e79cd6fccc7ae48d

(From OE-Core rev: 9a32da05f5a9bc62c592fd2d6057dc052e363261)

Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:56 +00:00
Bian Naimeng
8018f6167b cpio: fix bug CVE-2014-9112 for cpio-2.8
Obtain detain from following URL.
http://lists.gnu.org/archive/html/bug-cpio/2014-12/msg00000.html
http://git.savannah.gnu.org/cgit/cpio.git/commit/?id=746f3ff670dcfcdd28fcc990e79cd6fccc7ae48d

(From OE-Core rev: 732fc8de55a9c7987608162879959c03423de907)

Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:56 +00:00
Awais Belal
adb8c0d655 libxcb, xcbproto: upgrade to version 1.11
Update libxcb and xcb-proto to 1.11 from 1.10.

(From OE-Core rev: 63e81152fd62b2c4d43d60813c5e672132ee001a)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:56 +00:00
Dan McGregor
ae7bfb2c89 autoconf: disable checking for emacs
Emacs is somewhat broken on Fedora 21. Don't check for it. We
don't need it.

(From OE-Core rev: beee408a35d459392764aafad2adea49b645b5cf)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:56 +00:00
Peter A. Bigot
93f3754835 bluez5: support experimental through PACKAGECONFIG
Make it simple to enable the experimental plugins and tools.

(From OE-Core rev: df4fcc54d605fa0bf345ad54bc898505160198b0)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:56 +00:00
Peter A. Bigot
360064a504 bluez5: add a package for tools left in the build area
In bluez4 gatttool was provided as a command-line interface to the
Generic Attribute Profile.  In bluez5 this tool is still built but is no
longer installed.  It is still necessary for those wishing to use GATT
since the programmatic API is not yet mature.  A variety of other useful
tools are treated similarly by bluez5.

Make these tools available in the bluez5-noinst-tools package, in a way
that allows control over which tools are packaged, with the default
being all that are provided in a particular release of bluez.

(From OE-Core rev: b5f6121dadebc9d854e0791dff466adbc8360d67)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:56 +00:00
Peter A. Bigot
756cb160a7 bluez-hcidump: select provider as bluez4 or bluez5
bluez-hcidump was a separate package in bluez4, but was integrated into
bluez5.

(From OE-Core rev: 0dcaea0fcf38f0e382eda11e74ded1daeb98a8ac)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:56 +00:00
Alejandro Hernandez
74d4a5cb90 python3-core: Fix minimal python3 install
Added additional runtime dependencies for python3-core needed
to run the interpreter with a minimal install (codecs,io,math,reprlib).

Created python3-reprlib package to avoid getting python3-misc bringing
lots of unneeded libraries.

Fixed FILES-python3-core, missing _sysconfigdata, renamed copyreg
undetected before due to previously needed installation of python3-misc.

[YOCTO #6967]

(From OE-Core rev: bafdfb28726d0a9b30b8283b2472727e8208059d)

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>
2014-12-11 11:34:56 +00:00
Magnus Olsson
2b945a9544 python: add python-codecs runtime dependency for python-json
A piece of JSON initialization code that runs when you "import json"
tries to use the hex-decoder, thus breaks if you do not have
python-codecs installed. Example:

    >>> import json
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/lib/python2.7/json/__init__.py", line 108, in <module>
        from .decoder import JSONDecoder
      File "/usr/lib/python2.7/json/decoder.py", line 24, in <module>
        NaN, PosInf, NegInf = _floatconstants()
      File "/usr/lib/python2.7/json/decoder.py", line 18, in _floatconstants
        _BYTES = '7FF80000000000007FF0000000000000'.decode('hex')
    LookupError: no codec search functions registered: can't find encoding

This patch adds a runtime dependency on python-codecs for python-json and
re-generates the python manifests for Python v2.7. Solves [YOCTO #7020].

(From OE-Core rev: 90fd48144f146f455b18372a9b061314ab3a3857)

Signed-off-by: Magnus Olsson <magnus@minimum.se>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:56 +00:00
Maxin B. John
34995442a2 python: fix ssl import error
Fix this ssl import error:
Python 2.7.3 (default, Dec  5 2014, 16:24:17)
[GCC 4.9.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/ssl.py", line 92, in <module>
    import base64        # for DER-to-PEM translation
ImportError: No module named base64

(From OE-Core rev: dfa34e70a4c7543dc67835c2e9a270ccd011ac72)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:55 +00:00
Awais Belal
7f7d3b7298 gstreamer1.0-libav: specify proper cross-prefix
This avoids a compile failure locating ranlib by providing
the correct cross-prefix for build.

(From OE-Core rev: 90c89e46377c3b9a04ee3616cd82ad6001aa6896)

Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:55 +00:00
Aníbal Limón
acfb2982e8 xorg-xserver: Upgrade to 1.16.2.
Add PACKAGECONFIG systemd, xserver-xorg now depends in dbus because
adds support for systemd-logind, dbus is used by xserver-xorg to
communicate with systemd.

Add conditional enablement of systemd-logind if DISTRO_FEATURES contains
systemd.

Remove crosscompile, mips64-compile and present-module because are already
in upstream.

(From OE-Core rev: 4c33baa4a95aee26c6bf6fd0c7ec827ff63a9e62)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:55 +00:00
Aníbal Limón
993989f033 mesa: Upgrade to 10.3.4.
Remove 0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA,
0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch and
0006-fix-out-of-tree-egl.patch are already in upstream.

(From OE-Core rev: 929dc6e581a94b45e6d41b8a596e76f4c2b078ee)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:55 +00:00
Ross Burton
fe4aa1afad dtc: don't use autotools as this doesn't use autotools
(From OE-Core rev: c4771129a1e2acada7a7f16b3a1ea9e30563a9d4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-11 11:34:55 +00:00
Otavio Salvador
5168672bc9 distro/poky: Add Debian 8 (Jessie) as sanity tested
The Debian 8 (codename Jessie) is frozen and has been in use in our
machines for some time. It has been working fine and as it is about to
be released it is better to whitelist it and remove the ugly warning
from build logs.

(From meta-yocto rev: 1e34f87ace4a5c03c1be544acb7877c11bca9a28)

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>
2014-12-11 11:30:55 +00:00
Robert P. J. Day
ec6377bcf5 bitbake: bitbake-user-manual-metadata.xml: Updated do_package_write example
Given that the "do_package_write" task doesn't exist in OE anymore,
steal another, existing example to demonstrate the "rdeptask" flag.

(Bitbake rev: 9e27bb2869e8ec6781d2f68d0585ebbf9ca6f3d8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 22:25:36 +00:00
Scott Rifenbark
d5a808d6b3 bitbake: bitbake-user-manual-metadata.xml: Added [eventmask] flag information.
Reported-by: Laszlo Papp <lpapp@kde.org>
(Bitbake rev: 38150bc53c6bda5be7194f9acd112d362506d2ea)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 22:25:36 +00:00
Richard Purdie
1aae44787c bitbake: runqueue: Fix 100% cpu use after keyboard interrupt
After Ctrl+C is pressed to interrupt bitbake, it loops continually, running
at 100% cpu. This patch selects on the correct file descriptors resolving
the excess cpu usage.

(Bitbake rev: 497404e8484b7ca7c11e459bf0845642156eb677)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 22:15:49 +00:00
Richard Purdie
eb2ea6fd2d bitbake: data: Handle BASH_FUNC shellshock implication
The shellshock patches changed the way bash functions are exported.
Unfortunately different distros used slightly different formats,
Fedora went with BASH_FUNC_XXX()=() { echo foo; } and Ubuntu went with
BASH_FUNC_foo%%=() {  echo foo; }.

The former causes errors in dealing with out output from emit_env,
the functions are not exported in either case any more.

This patch handles things so the functions work as expected in either
case.

[YOCTO #6880]

(Bitbake rev: f28f37220e7787721a31b659521a1c44ebea92bf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 22:15:49 +00:00
Paul Eggleton
9c02ad9fc9 bitbake: event: fix resetting class handlers object
If you don't explicitly specify to use a global variable when doing an
assignment, you will be setting a local variable instead, which means
this function wasn't working at all. It explains some odd behaviour we
have seen in the layer index where event handlers were sometimes
bleeding into other contexts where they should not have been.

(Bitbake rev: ac45ea848901b0f6cd23087b662dde8ce9cd807e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 22:15:49 +00:00
Paul Eggleton
c1ef10afb6 bitbake: event: add a means of filtering events internally
When using external tinfoil-based utilities, it is useful to be able to
turn off most of the event handlers; for example sstate_eventhandler
doesn't like being sent events for any recipe which has been skipped.

(Bitbake rev: 41236c28985a3b66b3737382a94e39dbf6480160)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 22:15:48 +00:00
Paul Eggleton
eb0a6fc210 bitbake: fetch2: add means of disabling SRC_URI checksums
If we're fetching outside of the context of a recipe, it's handy to be
able to disable checksum functionality so you don't get a meaningless
warning about the signatures being missing.

(Bitbake rev: 49dbcfbc56a206964acc5de761bba31be0283ba1)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 22:15:48 +00:00
Paul Eggleton
cde28486b0 bitbake: utils: add exec_flat_python_func()
Add a function that allows executing a flat python function (defined
with def funcname(args): ...).

(Bitbake rev: 20e6939ebcb62e08a9a7ad586a915dfe368136a0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 22:15:48 +00:00
Scott Rifenbark
8ff0840412 bitbake: bitbake-user-manual: Updated copyright to 2015.
(Bitbake rev: be8f0076667f17587dbcff4b6b6467a7ec29d2b8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 22:14:47 +00:00
Scott Rifenbark
3a17209e12 dev-manual: Added link to ptest wiki page into Ptest section.
(From yocto-docs rev: 2a9cd5948cd17ce9f7eb5381b27c25f97963578e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 15:09:06 +00:00
Scott Rifenbark
8165210a1e bsp-guide: Fixed ambiguous sentence.
In the example that creates a new BSP layer by using the yocto-bsp
script, the final step 6 could be interpreted as the script
creating the new layer in "poky".  Even though the sentence is
technically correct, sloppy reading could mis-interpret it.  I updated
the sentence so that nobody will be confused.

(From yocto-docs rev: 7c2bed2aa6f8c189ed9cabff6e4d4d9557238702)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 15:09:06 +00:00
Scott Rifenbark
400cb14dea ref-manual: Created form for context images for variables
Fixes [YOCTO #6158]

Updated the style scheet file to format glossary variables in
such a way to allow for a PNG file of standard size to be
displayed below each variable.  Right now, the PNG file is a
generic placeholder.  Each variable displays a PNG file.

Updated each variable to include that PNG file.

(From yocto-docs rev: 24b7b847b7093022a49a014395df0c3a8c019331)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 15:09:06 +00:00
Scott Rifenbark
56d099540f ref-manual: Added XSERVER variable description to the glossary.
(From yocto-docs rev: 9e1551afd4d82197b2c46e76b6f6ea68c1dca886)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 15:09:06 +00:00
Scott Rifenbark
6a57cb10b7 dev-manual: Added more info to mulit-machine builds section.
Fixes [YOCTO #5400]

Per Martin Jansa, added some information in the bullet item that
talks about the tools and the cases that can cause issues when
tuning things by machine or architecture.

(From yocto-docs rev: e8e47828df65abdc18bbd681c47719a7df77b00f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 15:09:06 +00:00
Scott Rifenbark
117c9b4a64 dev-manual: Edits to the multi-machine builds section.
Fixes [YOCTO #5400]

I applied some review edits to this section as suggested by
Richard Purdie.

(From yocto-docs rev: a1898cf65537e732e0e42605bb28d636077e7f56)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 15:09:06 +00:00
Scott Rifenbark
81fb49bb05 ref-manual: Added info strings for variables in glossary.
Fixes [YOCTO #5600]

Added a <info></info> tag pair with a short description of the
variable to each variable in the glossary.  The short description
is what will be used in the documentation.conf file.  Scripting
from engineering will pick up the variable description
automatically.  The information between the tags does not
appear in the HTML or PDF output.

(From yocto-docs rev: 57fb9100e377a96c330be20613c5895b25910022)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 15:09:06 +00:00
Scott Rifenbark
5f4050f73d dev-manual: First draft of "multi-builds" section.
Fixes [YOCTO #5400]

This is the first draft of a new section on multi-machine builds.

(From yocto-docs rev: a47fd17295d943bff482a0747f3b2e69831aa985)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 15:09:05 +00:00
Scott Rifenbark
146d4bb4dd ref-manual: WIP - Edits for the speed section.
(From yocto-docs rev: 3a158dbefe32fb1e87718558462c0562077052c8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 15:09:05 +00:00
Scott Rifenbark
62a67c813a ref-manual: WIP - New section on speeding up builds.
Fixes [YOCTO #5594]

(From yocto-docs rev: e841f3c59f0c272f8a7314b2de20bab6581149cd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-09 15:09:05 +00:00
Richard Purdie
b813bdebb3 qemu/libc-package: Fix qemu option handling
The 'overrides' here are PACKAGE_ARCH based and hence not overrides
as such and the _append wasn't working in many cases. This adjusts the
code to use PACKAGE_ARCH as the accessor and ensures the variables
work as expected. This fixes various segfaults and ensures postinsts
run at build time rather than on the target system.

The bug was introduced in http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=7efad8a1b56df6ee07c12ad360c0493d7b1d6d23.

(From OE-Core rev: 219e793907406eabf632e784e3a11ab9acb77cfb)

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>
2014-12-05 18:01:08 +00:00
Ross Burton
da53141db3 libnewt: set CLEANBROKEN
(From OE-Core rev: 4f301c9cd17043f039d82555f973cbbca9acd51f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:08 +00:00
Aníbal Limón
764e08b292 libdrm: Upgrade to 2.4.58.
Disable man pages creation because it needs to download docbook.xsl from
upstream site and sometimes can't (resource unavailable) and this cause
build fails.

Remove GNU_SOURCE_definition patch it's already integrated in upstream.

(From OE-Core rev: 65246c7111b4e23c1c505ad95271a17ca4be3d31)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:08 +00:00
Ross Burton
7930902777 bzip2: use subdir SRC_URI param instead of adding tasks
Instead of adding new tasks to move files around, just use the subdir SRC_URI
parameter.

(From OE-Core rev: 3a4b24549dcab06b7b840d04eeab9b660c2ed473)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:08 +00:00
Koen Kooi
9a79319f65 tcmode-default.inc: use GCCVERSION for gcc-source
This was missing leading to gcc-source-<foo> being built when using gcc-cross-<bar> with GCCVERSION=bar.

(From OE-Core rev: fa249f347b3453537ee6aaea0d3bb75cfe7a75d1)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:08 +00:00
Ross Burton
0ca237ddd9 default-distrovars: add gcc-source recipe to the GPLv3 whitelist
gcc-source is a convenience recipe to save duplicate copies of the GCC source
tree and should be whitelisted for GPLv3 avoidance along with the rest of GCC.

(From OE-Core rev: fd58d0e920707198caf62ffef50b67c7c7882c69)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:07 +00:00
Ross Burton
450651b788 gcc: stub do_fetch instead of removing it
Whilst gcc doesn't have any source to fetch, it still needs a fetch task so that
a world fetch can run without errors.  So instead of deleting the fetch task,
stub it.

(From OE-Core rev: 8e68ebbddc2bc41eb6cb607c51d6a80c54c4199d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:07 +00:00
Ross Burton
3d1199c742 cwautomacros: stub do_configure to avoid cleaning
cwuatomacros's build system doesn't have a clean target, so stub out
do_configure to a no-op.

(From OE-Core rev: c52f380b1df716517a585075f59546d559cc1ebb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:07 +00:00
Ross Burton
814ad79c04 gnome-doc-utils: set CLEANBROKEN
(From OE-Core rev: c4aeb2f8fc75c94ebb83c022fe58d2fde02fa39e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:07 +00:00
Ross Burton
a1abb63f0b autotools.bbclass: respect CLEANBROKEN
autotools.bbclass should respect CLEANBROKEN as it invokes 'make clean' on
configure.

(From OE-Core rev: ffbcb440c43e5e00e73ced67a2c888e9863a1d00)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:07 +00:00
Ross Burton
55db8777c2 base.bbclass: fix CLEANBROKEN logic
The evalation order was incorrect in some situations (CLEANBROKEN=1 and
GNUmakefile exists) the clean would be executed incorrectly.

Add brackets to correct the logic.

(From OE-Core rev: a9e95c3cd771b16bbf4c9eaa05c79d7b4ca7272a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:07 +00:00
Wenzong Fan
bdadf2fed8 coreutils-native: don't install groups
This binary is provided by shadow-native nowadays. Fixes:

  ERROR: The recipe coreutils-native is trying to install files \
    into a shared area when those files already exist. \
    Those files and their manifest location are: \
      .../tmp/sysroots/x86_64-linux/usr/bin/groups \
    Matched in manifest-x86_64-shadow-native.populate_sysroot

To reproduce the errors:

  $ bitbake shadow-native && bitbake coreutils-native

(From OE-Core rev: 113225b93c55d55a330fcca7d9f996ec039fb953)

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>
2014-12-05 18:01:07 +00:00
Jackie Huang
997fb34747 gzip: fix MakeMaker issues with using wrong SHELL/GREP
A set of substitution is being processed to all target scripts with sed by
replacing some key words with the detected values at configure time, this
is exactly not compliant with cross compling, and will cause missing path
errors at run time like:
"/usr/bin/zgrep: line 230: /usr/bin/grep: No such file or directory"

Fixed by removing unneeded substitution and using real runtime paths
instead.

(From OE-Core rev: fafdf20179cf28b24459dc0263e4ba36e5843b85)

Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
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>
2014-12-05 18:01:07 +00:00
Saul Wold
984e17d88b lzo: add debian patch for alignment issue
[YOCTO #6994]

(From OE-Core rev: 2910478f42ec23ab112da4753dbf38cefb835a3a)

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>
2014-12-05 18:01:07 +00:00
Jackie Huang
3cbe382e55 util-linux: add switch_root to alternatives list
switch_root is provided by both busybox in /sbin/switch_root and util-linux provides one
in /usr/sbin/switch_root, so move util-linux's to sbin and setup ALTERNATIVE_LINK.

(From OE-Core rev: cac818f0ecd0553b59b967a94766534643fecdf4)

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>
2014-12-05 18:01:06 +00:00
Hongxu Jia
5e21592365 Revert "busybox : fix do_compile failed on qemumips when DEBUG_BUILD (ICE)"
Since the gcc has resolved this, so we revert the workaround patch.

This reverts commit f026b7a211.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:06 +00:00
Zheng Junling
853e76f8bb openssh: fix using the original config files in srcdir
Currently, we install our own ssh_config and sshd_config into ${S} in
do_compile_append() task. So when finishing compiling, their .out files
are generated by the original files, rather than by our own files.

In most cases, installing "$(CONFIGFILES)" in Makefile will generate .out
files again, and then installing "install-sysconf", which will install
these two files into $(DESTDIR), thus we get what we expect.

However, when parallel installing, "install-sysconf" may be installed
before "$(CONFIGFILES)" sometimes. In this rare case, the .out files
generated in the first time rather than those in the second time will be
installed into $(DESTDIR), and thus we get an unexpect result.

This patch fixes this bug through transfering the installing of our own
files from do_compile_append() into do_configure_prepend().

(From OE-Core rev: 6a60a4ba8d8e529882daa33140c9a2fc08714fb2)

Signed-off-by: Zheng Junling <zhengjunling@huawei.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:06 +00:00
Ross Burton
615fb3b2f2 package_manager.py: fix arguments to string format
Multiple arguments to string formats need to be in a tuple.

Reported by Lorenz <lqb.list@gmail.com>.

(From OE-Core rev: e30a4650beabac215b6d867070b7acdb3601a4d7)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:06 +00:00
Juro Bystricky
9fc63c57a8 eglibc: modified option-groups.h generation
option-groups.h only explicitely #defines options that are enabled.
EGLIBC options are typically pre-processed under the assumption that if
an option is not explicitely defined then it evaluates as 0.
This assumption is correct, but it generates a compiler warning
message each time an undefined symbol is being evaluated.
In order to remove the warnings, each EGLIBC option is now defined
as 1 if the option is enabled or as 0 otherwise.
The consequence is we cannot use #ifdef OPTION_XXX when evaluating
the option, we must always use #if OPTION_XXX.

[YOCTO #7001]

(From OE-Core rev: 7f1bdc331304a61a4836a5752bca210450b6c5b5)

Signed-off-by: Juro Bystricky <jurobystricky@hotmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:06 +00:00
Drew Moseley
0935937969 mesa-demos: Move util to the front of the SUBDIRS variable.
This forces it to be built first since many of the demos
require it.  Resolves build failures such as the following
when certain demos are enabled (notably when PACKAGECONFIG
contains glut):

    make[2]: *** No rule to make target `../util/libutil.la', needed by `copypix'.  Stop.

(From OE-Core rev: 9e4b25893cc8e15e390b8f25545416ef431f0b88)

Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:06 +00:00
Drew Moseley
ab4ed9c72c glew: Additional fix for generation of glew.pc.
Without this fix, building mesa-demos with the glew
PACKAGECONFIG will result in errors like the below
being logged in tmp/work/*/mesa-demos/*/build/config.log:

    configure:16529: checking for GLEW
    configure:16536: $PKG_CONFIG --exists --print-errors "glew >= 1.5.4"
    Package @requireslib@ was not found in the pkg-config search path.
    Perhaps you should add the directory containing `@requireslib@.pc'
    to the PKG_CONFIG_PATH environment variable
    Package '@requireslib@', required by 'glew', not found
    configure:16539: $? = 1

(From OE-Core rev: 9245cb4fe211da06283d53086bca3fcd5b2c8aef)

Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:06 +00:00
Michael Jones
95fcc673e2 image.bbclass: whitespace
Don't mix tabs and spaces

(From OE-Core rev: 505a3a6a9a0c080bc5b7d16ed569b80b43869977)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:06 +00:00
Michael Jones
d3b221d183 image.bbclass: remove comment that readonly only works for sysvinit
Should have been removed with
92f956d tweak read_only_rootfs_hook to also support systemd based systems

(From OE-Core rev: e8bd2783870e71b42c902a31bd6521d564915e99)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:06 +00:00
Jackie Huang
07f7764e95 qt4: disable webkit for mips64 n32 temporarily
Disable webkit for mips64 n32 temporarily that fails to compile.

The webkit package also disable the build for n32:
f5c4d18 webkit/midori: block to build webkit on mips64 with libn32 ABI

The opened defect in qt upstream is:
https://bugreports.qt-project.org/browse/QTBUG-39224

(From OE-Core rev: 68d274be3e07689e749d832fbb01712e00fb4545)

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>
2014-12-05 18:01:05 +00:00
Jackie Huang
8403b75108 Revert "qt4*.bbclass: disable build qt on mips64 with 64 bits userspace"
This reverts commit 17890ebd637da0b3bf78804002d8b4f0ace078d2.

qt4 is upgraded to 4.8.6 and this is fixed by:
c889b40 qt webkit: add support for MIPS64 platforms

so revert the commit.

(From OE-Core rev: 28abbcc5cc4fcea23528027ef2c0faebcd9474c8)

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>
2014-12-05 18:01:05 +00:00
Chen Qi
05f206d15b bootchart2: fix to find collector correctly in case of multilib
This patch fixes the following error of being not able to find the
bootchart-collector program when using bootchart2 in multilib system.

In order for bootchartd to correctly find the collector program, we need
to set several vars while compiling.

(From OE-Core rev: 26518bea1d6aa0e438e6492c2af70225b431d7a1)

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>
2014-12-05 18:01:05 +00:00
Chen Qi
845fc6fdbe systemd: add PACKAGECONFIG for 'manpages'
Instead of always disabling manpages for systemd, we use PACKAGECONFIG
for 'manpages' so that the manpages for systemd could be built out correctly.

(From OE-Core rev: 9abb72664b27cf5fbde50283b2a877ce546c3d43)

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>
2014-12-05 18:01:05 +00:00
Chen Qi
87298099f1 libxslt: create wrapper to avoid host system referencing
By default, xsltproc from libxslt would use configuration files under
/etc/xml. To avoid host system contamination, we create a wrapper for
this command to make it use configuration files in the sysroot directory.

(From OE-Core rev: f14ecfa98baf98edf47b6820d3b0b3af376c5623)

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>
2014-12-05 18:01:05 +00:00
Paul Eggleton
8ad1d1d6f6 kernel-yocto.bbclass: fix shell syntax error
Spaces aren't valid around = in an assignment statement (not even with
bash).

(From OE-Core rev: fb419b1a3f5dbc5e5019be9d09c4acdbeb460c19)

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>
2014-12-05 18:01:05 +00:00
Chong Lu
7d59e192ec gnutls: disable tpm
Disable tpm to solve following error:

.../usr/lib64/libtspi.la: No such file or directory

trousers isn't an oe-core recipe, disable it for now.

(From OE-Core rev: f735a540d2bf489547aede0745e34174c39c71bd)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:05 +00:00
Ezra Savard
93bf97b213 powertop: update version number from 2.6.1 to 2.7
The v2.7 release of powertop fixes devfreq support for ARM, along with
other bug fixes.

v2: deletes old file
v3: fixed SRC_URI and checksums

(From OE-Core rev: 4bc65feb8f90180fdb8ff23ece2a9f30c3346832)

Signed-off-by: Ezra Savard <ezra.savard@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:05 +00:00
Jean-Michel Hautbois
4de97f7b3e gstreamer1.0-plugins-bad.inc: Disable cocoa on configure
When configuring, if GNUstep is found on host, the configure script thinks
that ist is running osx and so enables cocoa support.

(From OE-Core rev: e526f5633669819417ef975c49d07fff8f35b91b)

Signed-off-by: Jean-Michel Hautbois <jean-michel.hautbois@vodalys.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:05 +00:00
Cody P Schafer
60d504b431 cmake: supply CMAKE_AR in toolchain file
(From OE-Core rev: 79144da00f005b5a3ab8f7404730216cfc684616)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:04 +00:00
Saul Wold
54d020345e valgrind: Upgrade to 3.10.0
Rebase existing patches
Add patch to fix rpath issue with ptest

(From OE-Core rev: 80b7db50d191c27c8ea78206140a4fa23adcf292)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:04 +00:00
Ross Burton
ab7059585a weston: fix plugin location in FILES
The plugins are installed to ${libdir}/weston, not ${libexecdir}.

(From OE-Core rev: 6e1769f44e18657c5bd576f8b053832d0ce825d7)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:04 +00:00
Ross Burton
dec0b0ffd2 dbus: don't use PTEST_ENABLED as recipe doesn't inherit ptest
As this recipe's ptest support is merely a shim to pull in dbus-test-ptest it
doesn't inherit ptest.  This means that PTEST_ENABLED isn't ever set, so check
DISTRO_FEATURES directly.

(From OE-Core rev: 7ee1da8126f1d4957e533cc26696e85c5a6de4bb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:04 +00:00
Ross Burton
6b58ddbbbd python: remove spurious nativesdk dependency
There's no need to add a dependency on python-crypt_class-native to
nativesdk-openssl as the general dependency there is transformed appropriately.

Presumably this is cruft from back when SDK packages were suffixed instead of
prefixed, and there were mapping problems.

(From OE-Core rev: f0b1eab1ef24fabac98609eb9d314f618dca713a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:04 +00:00
Ross Burton
483562938a python: ensure all of Python is installed in nativesdk
If any part of Python gets installed in a SDK, we need to ensure that all of
Python gets installed to avoid replacing python in the environment with a
minimal package set.

[ YOCTO #6735 ]

(From OE-Core rev: e36ff98a7a4da478bb886f61005cd72a0b5a9c0e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:04 +00:00
Tom Zanussi
bf0ec70284 yocto-bsp: Add mips64 support
mips64 support was recently added to the core BSPs; we should also
support it in yocto-bsp.  [YOCTO #5314]

(From meta-yocto rev: 3f3d29e2df6462c915d0763ab07f3be3c739ca4d)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:00:22 +00:00
Tom Zanussi
0cc9a12ff8 yocto-bsp: Update templates to 3.17 kernel
Add 3.17 kernel support.

(From meta-yocto rev: cdebafc6f87ae635769cf93787c97caa8e58e13e)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:00:21 +00:00
Lucian Musat
4fa0f0c8bd meta-yocto/distro: Updated SANITY_TESTED_DISTROS.
Removed Poky-1.4, Poky-1.5, Ubuntu-13.10, Fedora-19, CentOs-6.4,Suse-LINUX-12.2. Replaced the list of Debian-7.x with wildcard. Added Ubuntu 14.10.

(From meta-yocto rev: 2e71ff3f007f446ecfd6a0ccce5ec1ca1018183e)

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>
2014-12-05 18:00:21 +00:00
Chong Lu
a862bf0451 upstream_tracking.inc: update entries for dbus
(From meta-yocto rev: 6b4fca83123c4e45ae48a72eab494b3b4d93002e)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:24:01 +00:00
Richard Purdie
9315a2b645 bitbake: bitbake: Update to 1.25.0 as development version after release
(Bitbake rev: 94d9590a4310f96396e8e782bcf65918f4dcdb36)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:24:01 +00:00
Ross Burton
b92ec90ea4 bitbake: data: rename defaultval to _defaultval
The defaultval field is intended to be internal and the only use of that field
outside of data.py is to skip over it when iterating over a value's flags.

For clarity and convenience, rename the field to _defaultval so that it is
considered internal and not exposed through the data API.

(Bitbake rev: 2800958dadaa5c055ba21d52c98d842d360f0785)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:24:00 +00:00
Ross Burton
13322986a6 gdb: disable Guile
GDB 7.8 added Guile support, and it will auto-detect if Guile is present (which
is non-deterministic, so bad), and if it's present will fail to find the guild
binary as it doesn't consider the sysroot.

For now disable Guile support in GDB, if there is a need to have it enabled in
the future then GDB/Guile can be fixed.

(From OE-Core rev: f7b342a73661cfff4043fab77ab8e9ef0e48dec4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:24:00 +00:00
Ross Burton
fcd72aab59 attr: use EXTRA_AUTORECONF to disable autoheader
Disable autoheader by setting EXTRA_AUTORECONF to --exclude=autoheader instead
of setting AUTOHEADER to true.

(From OE-Core rev: aa4c06ca7375faacd055ba98d59d48efadd87f59)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:24:00 +00:00
Ross Burton
8a21eee81b bash: use EXTRA_AUTORECONF to disable autoheader
Disable autoheader by setting EXTRA_AUTORECONF to --exclude=autoheader instead
of setting AUTOHEADER to true.

(From OE-Core rev: cdb5bf9ce2eed0c1608b33d8272e755c26e376f9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:24:00 +00:00
Laszlo Papp
1ecad61a9d toolchain-script: Add support for ccache builds with the SDK
It is necessary to have an SDK for developers who build their software with
ccache to speed up the compilation. Without resolving this, unfortunately the
compilation will fail for them.

(From OE-Core rev: 1d31ddb856a80ba9da1a64ed5d701dc0f7351ef7)

Signed-off-by: Laszlo Papp <lpapp@kde.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:24:00 +00:00
Jian Liu
1a46946b82 libpam: avoid overwritting editable files during package updating
Use CONFFILES to mark editable files as such,
  /etc/pam.d/common-session
  /etc/pam.d/common-auth
  /etc/pam.d/common-password
  /etc/pam.d/common-session-noninteractive
  /etc/pam.d/common-account

If there is no %config micro before the file name in the spec file,
this file will be overwritten after updating package.
This will make our settings lost.

(From OE-Core rev: 078fedcc0b7d50e7001c587968319f1b45b3c1ba)

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>
2014-12-03 12:24:00 +00:00
Jian Liu
b4f4d0f804 initscripts: avoid overwritting editable files during package updating
Use CONFFILES to mark editable files as such,
  /etc/init.d/checkroot.sh

If there is no %config micro before the file name in the spec file,
this file will be overwritten after updating package.
This will make our settings lost.

(From OE-Core rev: a265af666a80298ccca0eb80d6f15ca3d4be8b57)

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>
2014-12-03 12:23:59 +00:00
Jian Liu
535afd4b06 base-files: avoid overwritting editable files during package updating
Use CONFFILES to mark editable files as such,
  /etc/motd
  /etc/nsswitch.conf
  /etc/profile

If there is no %config micro before the file name in the spec file,
this file will be overwritten after updating package.
This will make our settings lost.

(From OE-Core rev: 2ffc174e9506a00081457145f0fcf3bef5846f4a)

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>
2014-12-03 12:23:59 +00:00
Hongxu Jia
5007319cd2 package_manager.py: check the result of create_index
While invoking create_index failed, there was no error output
and didn't break the build until the package installation.
...
|ERROR: run-postinsts not found in the base feeds (qemux86 i586 x86
noarch any all).
...

The reason is we used multiprocessing to execute create_index, and
did not check its invoking result.

(From OE-Core rev: d8921e4ea68647dfcf02ae046c9e09bf59f3e6e4)

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>
2014-12-03 12:23:59 +00:00
Hongxu Jia
5030c7fb3e compress_doc.bbclass: support update-alternatives
While doc file make use of update-alternatives to fix confliction,
we should reconfigure update-alternatives for doc compression.

Such as util-linux-doc:
...
update-alternatives --install /usr/share/man/man1/last.1 last.1
  /usr/share/man/man1/last.1.util-linux 100
...
was updated by doc_compress to
...
update-alternatives --install /usr/share/man/man1/last.1.bz2 last.1.bz2
  /usr/share/man/man1/last.1.util-linux.bz2 100
...

(From OE-Core rev: ba4dd1afc2476259eff52f8a68fba1344e0f0474)

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>
2014-12-03 12:23:59 +00:00
Hongxu Jia
887ffa0d7e compress_doc.bbclass: improve manual file detection
The previous detection missing the following manual file:
...
gawk-doc/usr/share/man/man3/readfile.3am
libpcap-doc/usr/share/man/man3/pcap_dump_open.3pcap
...

We use re to imporve it.

(From OE-Core rev: 886685d207bd5e6e2e236a7c5591f62f5de26090)

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>
2014-12-03 12:23:59 +00:00
Merten Sach
97d5b997cf metadata_scm: Fix crash due to uncaught python exception
Function base_get_metadata_svn_revision was crashing due to an uncaught
IndexError exception.

The except notation without parentheses is legacy syntax. It is the equivalent
to 'except IOError as IndexError' which is not what we want here.

The change catches both exceptions.

(From OE-Core rev: 33bea949bae54ddc89aa83cf07d7b1ee62e2b393)

Signed-off-by: Merten Sach <msach@mailbox.tu-berlin.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:59 +00:00
Enrico Scholz
496a793d7b serf: fix 'ccache' builds
'scons' cleans the environment which breaks ccache builds because
CCACHEDIR can point to an unexpected location:

| ccache arm-linux-gnueabi-gcc ... context.c
| ccache: failed to create .../serf/1.3.8-r0/.home/.ccache (No such file or directory)

Issue is described in

  http://www.scons.org/wiki/ImportingEnvironmentSettings

and because 'bitbake' cleans environment we can pass it completely
instead of trying to enumerate needed env.

With the 'env.patch' the FULLCC variable is not needed anymore (which
would break when CC is 'ccache arm-...-gcc' and host ccache is used)
because the correct $PATH is available during scons build:

| sh: .../sysroots/x86_64-oe-linux/usr/bin/arm-linux-gnueabi/ccache: No such file or directory
| scons: *** [context.o] Error 127

(From OE-Core rev: 36d94ed631f1a753482282fced7d3b7505d5e03d)

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>
2014-12-03 12:23:58 +00:00
Khem Raj
ec4781194c package.bbclass: Create empty key/value if not there for shlib_provider
When we use ASSUME_SHLIBS,e.g.

ASSUME_SHLIBS = "libEGL.so.1:libegl-implementation"

then we end up with errors like below when using shlibs2 (dizzy+)

File: 'package_do_shlibs', lineno: 216, function: package_do_shlibs
     0212:            dep_pkg = dep_pkg.rsplit("_", 1)
     0213:            if len(dep_pkg) == 2:
     0214:                lib_ver = dep_pkg[1]
     0215:            dep_pkg = dep_pkg[0]
 *** 0216:            shlib_provider[l][libdir] = (dep_pkg, lib_ver)
     0217:
     0218:    libsearchpath = [d.getVar('libdir', True),
d.getVar('base_libdir', True)]
     0219:
     0220:    for pkg in packages.split():
Exception: KeyError: 'libEGL.so.1'

This is because the entry which is being populated does not exist
so lets create it if its not already there.

Change-Id: I9e292c5439e5d1e01ea48341334507aacc3784ae
(From OE-Core rev: a64f81fcef42172f788cec7a63bb4672eac99f94)

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>
2014-12-03 12:23:58 +00:00
Saul Wold
35e0a3eb67 resolvconf: add fixes for busybox and make it work
resolvconf was missing a script and needed readlink which was in
/usr/bin.  Also the /etc/resolv.conf was not being correctly linked
to /etc/resolvconf/run/resolv.conf, which is fixed by the volaties
change which is now a file as opposed to created in do_install.

Ensure that the correct scripts for ifup/ifdown get installed and that
resolvconf is correctly enabled at startup

[YOCTO #5361]

(From OE-Core rev: 853e8d2c7aff6dddc1d555af22f54c4ecef13df1)

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>
2014-12-03 12:23:58 +00:00
Saul Wold
bc9adc175b pseudo: remove older version and patches
(From OE-Core rev: 73f418ce10a801f0befc06ffe54864563aea986c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:58 +00:00
Saul Wold
85c476188a boost: Upgrade to 1.57
(From OE-Core rev: 4c3076ad1cb6273add941483d481354572bcefd7)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:58 +00:00
Saul Wold
2f7c9faf3a npth: Upgrade to 1.1
Add patch for adding pkgconfig file.

(From OE-Core rev: 7799ca5e72cd42830efa7e1b5f2dbddcf2495254)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:58 +00:00
Saul Wold
2a7b8755c1 babeltrace: Upgrade to 1.2.3
Remove backported patches

(From OE-Core rev: 733856ee8458b31074e4df379dc8c1b037251c49)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:58 +00:00
Saul Wold
bcff2a7a69 curl: Ugrade to 7.38
Remove backported CVE patches

(From OE-Core rev: 257ca2054c907c9c9868ccae57c6e0d750fb1164)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:57 +00:00
Chong Lu
49329f417e connman-gnome: fix dbus interface name
This patch resolves following error:

"connman-dbus.xml": "connman" is not a valid D-Bus interface name

(From OE-Core rev: 964bcac02bb182340e44dc8a07b5d308f0a4a719)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:57 +00:00
Chong Lu
1654f385da dbus-glib: Upgrade to 0.102
Remove obsolete_automake_macros.patch, since upstream has merged it.

(From OE-Core rev: 5873734b21735f9fb598c7d8e67ce8cef9ddb39c)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:57 +00:00
Chong Lu
89a8e1c4e1 dbus-test: Upgrade to 1.8.10
(From OE-Core rev: 640b4274ee5653bb107a7ff043c33dc6392f9cfb)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:57 +00:00
Chong Lu
6e0f74a275 dbus: Upgrade to 1.8.10
(From OE-Core rev: 55b909021dc3e383cd28392c8ca39eee7f27a583)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:57 +00:00
Hongxu Jia
ec6aeeada7 libnewt/libnewt-python: upgrade to 0.52.18
(From OE-Core rev: 5239060e99da82134387787e544e724500a6ab41)

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>
2014-12-03 12:23:57 +00:00
Hongxu Jia
4b938a676b cracklib: upgrade to 2.9.2
(From OE-Core rev: e884548dabab7ac1d45c469390f3238f57dbb684)

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>
2014-12-03 12:23:57 +00:00
Richard Purdie
f82156640b gcc: Rework shared work
The current implementation of shared work for gcc is at best confusing. It relies
on the fetch/unpack/patch tasks having exactly the same stamps and if this gets
broken for some reason, its hard to figure out what the problem is. It also
leads to complex code in bitbake.

The benefits of shared work for gcc are clear but a better approach is needed. This
patch adjusts things so that a single new recipe (gcc-source) provides the
fetch/unpack/patch/preconfigure tasks, the rest of gcc simply depends on these tasks
and have no fetch/unpack/patch tasks of their own.

This means we should get the significant benefits (disk usage/performance) of the
single source tree but in a way which has less potential for problems and is
easier for people to understand. The cost is an extra recipe/some inc files
which is probably a good tradeoff.

(From OE-Core rev: ceaa0a448dc5ebddb4f7fb94fb8a503a1c0248c3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:56 +00:00
Ross Burton
893f9b2187 bitbake.conf: remove internal flags from BB_SIGNATURE_EXCLUDE_FLAGS
As the code that uses BB_SIGNATURE_EXCLUDE_FLAGS uses d.getVarFlags() so doesn't
get to see the internal flags, remove _append and _prepend.  Also defaultval is
now _defaultval and thus internal, so remove that too.

(From OE-Core rev: b53e06c8fc4a8183a2f8232c13931a39b1ca0e23)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:56 +00:00
Ross Burton
77eebccb0b scripts: don't skip defaultval
This field is now internal and won't be seen.

(From OE-Core rev: b1e02de02b3e0e83d003d0030b97da06abcdfe87)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:56 +00:00
Ross Burton
e89a5d046e uboot-config.bbclass: don't skip defaultval
This field is now internal and won't be seen.

(From OE-Core rev: cce39741bb9d1b0166c7fd63506f96abaa0d8af6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:56 +00:00
Ross Burton
cd904146d6 base.bbclass: don't skip defaultval
This field is now internal and won't be seen.

(From OE-Core rev: 9a715be3b2b4396495f2f8c10dc28b33f206efe4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:56 +00:00
Richard Purdie
daeb4a4459 sanity.conf: Update to require bitbake 1.25.0 as minimum version
This allows us to merge in the _defaultval changes.

(From OE-Core rev: 3de8689ad4aa97acd36a76dda36c96697e2ab712)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:56 +00:00
Aníbal Limón
b8631416f1 package_regex.inc: Update REGEX'es in order to find upstream versions correctly
Since Bitbake fetcher implements latest version string methods using bs4 to parse
HTML data some regexes need update because bs4 gives functionality to get href
entries and isn't necessary put pattern [hH][rR][eE][fF] into it, this make
maintenance easier.

Compatibility testing was made running distrodata class and the result files
can be found at:

https://bugzilla.yoctoproject.org/show_bug.cgi?id=1813

[YOCTO #1813]

(From meta-yocto rev: 9a926dda9f945f181775f64f024af7ee2ea8e6a4)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:02 +00:00
Richard Purdie
2fc06a12a1 bitbake: cooker: Allow featureset in error state
Currently, if an invalid PR service is selected the server will error
with a traceback. This is because its set into the error state and the
setFeature code will then fail since its not in the initial state.

Modifying the featureset in the error state is acceptable, we just need
to ensure we don't trigger a reset, that would happen from whichever
code handles the error.

[YOCTO #6934]

(Bitbake rev: c52841445d8db8f84c4da34203b195fea5874247)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:02 +00:00
Aníbal Limón
b585c4b8b8 bitbake: fetch/wget: latest_versionstring clean improvments minor
Update documentation strings in _check_latest_dir and _check_latest_version
methods with  the correct return types.

_check_latest_version method remove unused testversion variable.

(Bitbake rev: e30c11af7bc8a1f3d8c9198ee3c0065bd6b447cc)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:02 +00:00
Aníbal Limón
0ce833dfa2 bitbake: tests/fetch: Update wget latest_versionstring cups case
Update test case for cups is needed because match only 2.0.0
versions see VERSION=2\.0\.0 in the previous string.

(Bitbake rev: 148aba30155f4de17f6c6fb9b4c37f08a2db202b)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:02 +00:00
Aníbal Limón
158aee79f6 bitbake: fetch/wget: latest_versionstring remove newuri set because is previous set
(Bitbake rev: d2890c8868281cb7d89a8dc66e5db589cddb3363)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:02 +00:00
Aníbal Limón
75b82b03b0 bitbake: fetch/wget: latest_versionstring add support for search in RAW html lines
Some upstream sites put the name of the package in the body of href tags,
i.e. <a href="#43">somepackage-v1.4.10.tar.gz </a>.

(Bitbake rev: 4fa8542a8880d5749fbb3382706e011b012024d0)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:01 +00:00
Aníbal Limón
aa35076f34 bitbake: fetch/wget: latest_versionstring remove unnecessary usage for name in version comparision
(Bitbake rev: 91b6b38ccee5e9d5bb27e4cd1578356c3b3dc607)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:01 +00:00
Aníbal Limón
4b2932906c bitbake: fetch/wget: latest_versionstring improvments in searching
Validate if package contain version string if not return the current
version cases for spectrum-fw and corpus recipes.

_check_latest_version return the latest version available don't
take into account the current version previous this only return
the upstream version if it greater than the current version.

(Bitbake rev: 91a7ac8c7f87f98e366585cf9720ec35b0790bae)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:01 +00:00
Aníbal Limón
af47f14c71 bitbake: fetch/wget: latest_versionstring add package_custom_regex_comp
package_custom_regex_comp is built with the current package name and
then used to search upstream version this reduces custom regex'es in
sites that have different packages in the same directory.

(Bitbake rev: a69d5d48c4bf9a3df3121cc4e69ba5d7e947ad8d)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:01 +00:00
Aníbal Limón
cd40af6b1d bitbake: fetch/wget: Improve REGEX_URI handling
Latest version string only try to find latest directory when REGEX_URI
isn't specified to avoid unnecessary processing and makes code easier

(Bitbake rev: afc33ec7cdb7d8ee3602a23fa973551ca5510ac4)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:01 +00:00
Aníbal Limón
a7bdd0eb29 bitbake: fetch/wget: _init_regexes rename variables to be more consistent and move dirver_regex into it
(Bitbake rev: 583e5d9c1c3cb8a25d34648078200faadc597e9c)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:00 +00:00
Aníbal Limón
35b7089b34 bitbake: fetch/wget: latest_versionstring create _init_regex method for have one place when regex'es are defined
(Bitbake rev: 6989193a875afd0b1f0f88c95e28cb81bfdb4eaf)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:00 +00:00
Belen Barros Pena
6cecdd1f36 bitbake: toaster: remove the word 'project' from layers and machine
Remove the word 'project' from the 'Layers' and 'Machine'
sections of the project page, following feedback from the
QA team, who suggested that the word 'project'
raised questions regarding the scope of the configuration,

(Bitbake rev: 1bf19f66260aaca2caa300e976bf90479e2c48f3)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:00 +00:00
Belen Barros Pena
fee87cdd57 bitbake: toaster: release name consistency
Small changes to the project, new project and all layers
pages to ensure consitency in release naming across the
interface.

The changes are:

* In the new project page, change the label 'release version' to
'release'

* In the new project page, sort the releases in the dropdown menu
in ascending alphabetical order

* In the new project page, remove the release name that was
showing between brackets after the release description in the
dropdown menu

* In the project page, make sure the release information
shows the release description field instead of the release name,
to keep consistency with the new project page

* In the all layers page, provide some help text for the branch 'HEAD'

(Bitbake rev: 9a90bf201dab83060f0bdd6ac08c72b8d62f6060)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:00 +00:00
Alexandru DAMIAN
af51fb0674 bitbake: toasterui: Compatibility patch for daisy and dizzy
This patch brings in changes that allow a toasterUI coming in
from 'master' branch to record data from a 'daisy' or 'dizzy'
bitbake server.

This is needed to allow Toaster to record builds running
on older branch releases.

(Bitbake rev: 8d75e28e0688a6520311afce36543175f36910b3)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:03:00 +00:00
Belen Barros Pena
dc1be9c438 bitbake: toaster: fix padding of build notifications
In managed mode, we show the name of the project in the build
notifications of the all builds page. The way we show the
project requires modifying the default padding of the .alert
class. This patch makes sure the padding modification is
only applied in managed mode, i.e., when the project name
needs to be shown.

(Bitbake rev: d1cd8b229c402fae3499e35415ad79c0e11ee517)

Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:59 +00:00
Belen Barros Pena
c31f30918b bitbake: toaster: make 'latest builds' section consistent across pages
Make sure that the 'latest builds' sections in the all builds
page and the project page are identical:

* no icon to represent build outcome
* remove machine name
* show date only when the build is more than 24 hours old
* same date and time format

(Bitbake rev: 99ac7379e5df6c5cc491c2be591b15ad7ec04caa)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:59 +00:00
Belen Barros Pena
be2475b409 bitbake: toaster: fix errors and warnings display
In the 'Latest builds' section of the project page,
show number of errors and number of warnings as we
show them in the all builds page.

(Bitbake rev: 3f6b33472820e339c0f057c2e30f25ec2a04366b)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:59 +00:00
Alexandru DAMIAN
126bca43b7 bitbake: toastergui: new project page
Patch that brings in to new project page according to specifications.

[YOCTO #6596]

(Bitbake rev: be357d147d525ac3d6b7bd33ca0aa594728ffedd)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:59 +00:00
Alexandru DAMIAN
5790337cec bitbake: toaster: fix loadconf path calculation
Fixing the path calculation for local layer sources, as the
path need to be absolute.

Added tests for pieces of code.

(Bitbake rev: e764834f3c7c7da9356fa11b62e1fa8f643986fc)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:58 +00:00
Alexandru DAMIAN
d9644d49fd bitbake: toasterui: fix layer identification for managed builds
If we have a managed build, we match the layers used for build
with the layers configured for project, as we know where the layers
are coming from

[YOCTO #6962]

(Bitbake rev: e02ec052a62cbc476bdac65cb7cea1167ce04781)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:58 +00:00
Alexandru DAMIAN
af1f9fda8b bitbake: toaster: display Toaster exceptions and other fixes
Changing ToasterUI to log toaster exceptions on a different level than
build errors.

Updating the build dashboard to show Toaster exceptions.

We add extra logging to console for exceptions.

Fixed a problem where packages database entries were created instead of
being looked up in the database, conficting with entries created to
satisfy dependency information.

Toaster now checks for invalid states at startup and performs needed
cleanups.

Removed loading reference to jquery-ui.min.css as we do not have this
file.

(Bitbake rev: 2378812bc24d433125fb940f110154f0ce638448)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:58 +00:00
Alexandru DAMIAN
707a960ffa bitbake: toastergui: do not show project info in interactive mode
The most recent builds section showed the project name and the Run Again
buttons regardless whenever the Toaster was in interactive or managed
modes. These widgets have no meaning in interactive mode, and this
patch disables the widgets if toaster is not running in Managed mode.

[YOCTO #6776]

(Bitbake rev: 86dced90db666aa73ebb7ebb48d64fc08f66e7e2)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:58 +00:00
Alexandru DAMIAN
4c82dfbb70 bitbake: toastergui: update layer search criteria
In order to accomodate the designs around imported layer,
we add a "project" field for in the layer versions.

The field must be set if and only if the layer is manually
imported in the project. This will prevent information leakage
between different projects.

The views have been updated to perform relevant layer queries
in a single location.

(Bitbake rev: e1f7ec868b0702dfd27d5708581c134aaa6f4ae8)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:58 +00:00
Michael Wood
152e2d9cc5 bitbake: toaster: base Only show New Build button when there are > 0 projects
Only show new build button if we have defined at least one project as we
can't select a project to build against if there are no projects created
yet.

(Bitbake rev: 6daada59ee846c4e957bba3574dc262a0c79854d)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:57 +00:00
Alexandru DAMIAN
49ac18dd0f bitbake: toaster: use http proxies to fetch data
Under some network configurations http proxies are used
for Internet access. This patch makes Toaster obey
the http_proxy environment variable when fetching
information from layer indexes.

(Bitbake rev: 9f3cf52b3a96768e5b9764dde02833b078fe61e4)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:57 +00:00
Aníbal Limón
21924451c1 distrodata_class: checkpkg make usage of latest_versionstring methods in bitbake fetcher
Because methods for get latest version of upstream package are now available
into bitbake removes duplicated code and make use of it.

Compatibility testing was made running distrodata class and the result files
can be found at:

https://bugzilla.yoctoproject.org/show_bug.cgi?id=1813

[YOCTO #1813]

(From OE-Core rev: 68ddb28a68ceb59cd1ed322c16143827ce1ac712)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:57 +00:00
Richard Purdie
fd9fc495f1 gcc-4.8: Drop unused patch
I disabled this patch as it became obsolete some time ago but forgot to
remove it, this cleans things up.

(From OE-Core rev: 11dc68ef46aa0e3f28473c0decb4034e0d00fcab)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:56 +00:00
Richard Purdie
ef7ea3869c qemu: Add missing wacom HID descriptor
The wacom driver we use is missing a HID descriptor causing it not to work
with 3.17 kernels and later. This patch adds in a descriptor to make the
driver work again.

(From OE-Core rev: 51200e0151f0a3b0ed06649ffe77ef20bb296499)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:56 +00:00
Alexandru DAMIAN
c5ebca28b7 toaster.bbclass: use the openembedded-core name
Fixing the bug where the openembedded-core name was registered
as "meta" in toaster.

[YOCTO #6962]

(From OE-Core rev: ab9f17893c4b004906ec232da300915145c125e0)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:56 +00:00
Belen Barros Pena
e2cf2d1fc5 toaster: naming and description changes
Some minor changes to the names and descriptions
used in the Toaster configuration file:

* Change the name of the local layer source from Local OE-Core
to Local OpenEmbedded

* Change the imported layer source name from User Imported Layers
to just Imported layers. It is shorter, which helps table display

* Change the description of the master release from OE-Core
master to OpenEmbedded master

* Change the description of the dizzy release from OE-Core dizzy
to OpenEmbedded Dizzy

* Change the helptext of the dizzy release to remove the
"latest" reference, which can make maintenance hard

* Change the name of the Local Yocto Project release to Local
OpenEmbedded

(From OE-Core rev: 151475009fe8cd105ba3964cd9c23fe7b9af11a8)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-28 14:02:55 +00:00
Alexandru DAMIAN
99262b6b73 toasterconf: fix localpath values
The toasterconf.json file listed wrong local path values
for meta-yocto and meta-yocto-bsp. This patch fixes the values.

(From meta-yocto rev: ffbb53656090590348bd9f70a6158d17adf0b30d)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-27 16:50:32 +00:00
Robert Yang
0bc03af7ee maintainers.inc: update maintainers
* Update maintainers
* Fix some typos
* Remove duplicated lines

(From meta-yocto rev: 7a817624fd068146ba9d66eff64acf4918f6ccc0)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-26 17:06:10 +00:00
Ross Burton
ab63640fad gdk-pixbuf: use ptest-gnome
(From OE-Core rev: ff2ff155ea5273b2023a1c9834b13f10249d343f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:30 +00:00
Peter A. Bigot
f363c2087d useradd.bbclass: set PSEUDO_PASSWD consistent with root directory
When installing into a sysroot this class examines $D/etc/passwd for
content, then invokes useradd to make changes.  Under pseudo useradd
attempts to look up user information in directories specified by
$PSEUDO_PASSWD.  For opkg multilib installs $D is not always the same as
$IMAGE_ROOT, and the user might already be in the IMAGE_ROOT files,
causing a failure during rootfs population.

Fix this by ensuring the files pseudo looks at when doing useradd stuff
are the same ones that useradd.bbclass will be manipulating.

(From OE-Core rev: ec3417ad825c52f5137d38b91d8fcb4637a50f4c)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:30 +00:00
Peter A. Bigot
b0b468d681 bitbake.conf: pseudo fall back to last-resort passwd files
Recipe packaging for the target requires permissions that are consistent
with meta/files/fs-perms.txt which specifies certain user and group
names.  In the early parts of a target build base-passwd is not yet
available to provide the target /etc files used for user/group lookup.
Allow pseudo to fall-back to the last-resort files it installs if the
target ones aren't there yet.

(From OE-Core rev: 071d364b7a758ba5e546bb18c5816ac4c2e6747c)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:30 +00:00
Peter A. Bigot
e96ac60915 pseudo: provide fallback passwd and group files
Normally pseudo is built with --without-passwd-fallback, which requires
that somebody provide target passwd and group files.  Those come from
base-passwd in OE, but base-passwd cannot be built without first
invoking operations under pseudo that require getpw*/getgr*.

Provide the absolute minimum stub files, matching in content what will
eventually be on the target, that can be used in the cases where the
target files are not yet available.  The requirements for minimum stub
are the usernames and groups identified in meta/files/fs-perms.txt.

(From OE-Core rev: 91443426246fbe13083c19801b7c74365e041271)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:30 +00:00
Peter A. Bigot
4ad0821c84 pseudo: default --without-passwd-fallback
No good reason exists to fall back to the build host /etc files when
attempting to resolve user and group information.  Recipe dependencies
should be updated so the correct target files are available.

(From OE-Core rev: 899fe3d1d05054a10e4d427810c20ad1e34f916a)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:30 +00:00
Peter A. Bigot
d1434d97f5 image.bbclass: search both rootfs and native staging for passwd files
When pseudo is configured to disallow fallback to the build host
/etc/hosts and /etc/group, the selection of ${IMAGE_ROOT} for
PSEUDO_PASSWD is insufficient as the necessary files will not be
available until base-passwd has been installed and its pkg_postinst
script run.  Fall back to the ${STAGING_DIR_NATIVE} version of those
files until the rootfs versions are available.  (The native copies are
never modified by the build; the ones in ${STAGING_DIR_TARGET} are
updated and may contain settings not consistent with what would be
created by post-install useradd/groupadd commands invoked in the image
rootfs.

(From OE-Core rev: 8c653bafaa32126c54400bb56b9a94f07cd33197)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:29 +00:00
Peter A. Bigot
835f5c8410 pseudo: support multiple search directories in PSEUDO_PASSWD
This makes it possible to use --without-passwd-fallback when building
images where the preferred passwd files are not available until after
installation has begun.

(From OE-Core rev: 15b3b796d6e06fb7a7867d132b234d783e733531)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:29 +00:00
Peter A. Bigot
d2b8576bfa pseudo: support --without-passwd-fallback configuration option
A bug in pseudo 1.6.2 results in lock failures if this option is
present.

(From OE-Core rev: eb5b99e4fbfdf31497a4606fc55cab268ec8d654)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:29 +00:00
Lucian Musat
16e8b40b50 oeqa/runtime: Added some new filters for the log parser Including custom filters for edgerouter, minnow and jasperforest.
(From OE-Core rev: 20310e68a2930dd1ddc6d0d9fc577fffa5a2777f)

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>
2014-11-25 13:03:29 +00:00
Chen Qi
3857f24e2d procps: install symlink under /etc/sysctl.d in case of systemd
Install /etc/sysctl.d/99-sysctl.conf symlink in case of systemd so
that /etc/sysctl.conf is taken into consideration by systemd-sysctl.

(From OE-Core rev: a32869fcbcb5f31741a32fdca14e7f38c2abace6)

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>
2014-11-25 13:03:29 +00:00
Hongxu Jia
2e13f27e38 elfutils: upgrade to 0.160
- Upgrade elfutils to 0.160

- Move 0.148 patches from elfutils to elfutils-0.148

- Drop 0.158 patches that got from debain, so far debian
  doesn't provide patches for 0.160 (the latest is 0.159)

- Move fixheadercheck.patch from 0.159 to 0.160

- We choose to use 0.159 patches from debian for the current 0.160
  which located in elfutils-0.160
  1) Rebase the following patches from 0.159 to 0.160
     hppa_backend.diff
     arm_backend.diff
     mips_backend.diff
     m68k_backend.diff
     arm_func_value.patch
     arm_unwind_ret_mask.patch

  2) Rebase redhat-portability.diff according to
     commit 52a6d20519
     Author: Roxana Ciobanu <roxana.ciobanu@intel.com>
     Date:   Tue Jul 1 17:17:00 2014 +0300
       elfutils/elfutils-native: Fix patching generated files

  3) Drop the following patches which have already beem merged to 0.160
     arm_unsupported.patch
     arm_syscall.patch
     unaligned.patch
     aarch64-run-native-test-fix.patch

(From OE-Core rev: 74b191022494fc1d357c1f05dbce38c986bed365)

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>
2014-11-25 13:03:28 +00:00
Shiqun Lin
fa234ef4e0 bind: clean host path in isc-config.sh
* /usr/bin/isc-config.sh
* /usr/bin/bind9-config - hardlink to isc-config.sh

(From OE-Core rev: c2332d304a2c872e97653c980b090efa2181123b)

Signed-off-by: Shiqun Lin <Shiqun.Lin@windriver.com>
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:28 +00:00
Shiqun Lin
fc5ad52ca7 e2fsprogs: clean host path in compile_et, mk_cmds
* /usr/bin/compile_et
* /usr/bin/mk_cmds

(From OE-Core rev: 7ac224ee9f626d0ba2305bc4608b29f047cc65a4)

Signed-off-by: Shiqun Lin <Shiqun.Lin@windriver.com>
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:28 +00:00
Shiqun Lin
692950eae8 bash: clean host path in bashbug
* /usr/bin/bashbug

(From OE-Core rev: a745b4b790fe2550fafa731c02f33dd39a9d8651)

Signed-off-by: Shiqun Lin <Shiqun.Lin@windriver.com>
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:28 +00:00
Roy Li
3fc5cfe3dd gst-ffmpeg: fixes for CVE-2014-8548 and CVE-2014-8541
Issue: LIN7-1755
Issue: LIN7-1739

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-8541

libavcodec/mjpegdec.c in FFmpeg before 2.4.2 considers only dimension
differences, and not bits-per-pixel differences, when determining whether an
image size has changed, which allows remote attackers to cause a denial of
service (out-of-bounds access) or possibly have unspecified other impact via
crafted MJPEG data.

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-8548

Off-by-one error in libavcodec/smc.c in FFmpeg before 2.4.2 allows remote
attackers to cause a denial of service (out-of-bounds access) or possibly
have unspecified other impact via crafted Quicktime Graphics (aka SMC) video
data.

(From OE-Core rev: 4bd50c5a967af2b8f0fe77b8f9c100169e4fc531)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
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>
2014-11-25 13:03:28 +00:00
Paul Barker
a2b7b6d451 opkg-utils: Update SRCREV
A bug in the opkg-show-deps script is fixed.

(From OE-Core rev: 5b8856c0f85b5c6870358152932f20b6346dbbac)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:27 +00:00
Paul Barker
417ce465d3 opkg: Update patch status
Both patches against opkg have been accepted upstream with modifications and
will be included in the v0.3.0 release.

(From OE-Core rev: 6a7d9c220779878a535baf21e57cc9d08868476d)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:27 +00:00
Paul Barker
0ee83d781c opkg: Upgrade to v0.2.4
The patches for opkg have been rebased using git so that they apply cleanly onto
the new release.

(From OE-Core rev: 514c349bac19608e65f566c989f1971ca58f6944)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:27 +00:00
Yue Tao
11d9f02cc6 libpam: Stop a QA WARNING when building multlib version
WARNING: QA Issue: lib64-libpam: Files/directories were installed but
not shipped
  /usr/sbin/pam_console_apply

Because the package name is changed to mlprefix-pam-plugin-console. The file
must be appended to that item.

(From OE-Core rev: a9bc116ab80d920b781a8ae31370220fac683f3d)

Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
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>
2014-11-25 13:03:27 +00:00
Jackie Huang
ce8c56f838 python3: several fixes for cross compiling
* Add a patch to use CROSSPYTHONPATH as PYTHONPATH for
  PYTHON_FOR_BUILD, otherwise CROSSPYTHONPATH is never used,
  and it use the path in target builds to find libraries.

* Add a patch to avoid finding host headers and libs

* Fix a typo: s/python-native3/python3-native/

(From OE-Core rev: d3d00163671bda5395c9046c1109f711772e4ed9)

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>
2014-11-25 13:03:27 +00:00
Alejandro Hernandez
4a7446ed99 cronie: Added default crontab
Added default configuration to crontab, for instructive pruposes

Added /etc/crontab to CONFFILES to avoid overwriting if updating via PMS

[YOCTO 6644]

(From OE-Core rev: 23303ff8f6fba72be5c295981631bb357a583924)

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>
2014-11-25 13:03:27 +00:00
Alejandro Hernandez
b4ba8d6365 gnome-desktop: removed gnome-desktop recipe
It is already in meta-gnome and also unused by oe-core.

(From OE-Core rev: 579469a32ea9fd2052a7a88c0b9ec34796fd41b8)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:26 +00:00
Alejandro Hernandez
44a86777f4 gnome-common: Upgrade to 3.14.0
(From OE-Core rev: 64656abcdc547171bd074cbcb9f0f4344153056c)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:26 +00:00
Alejandro Hernandez
4d9172d5cc cronie: Upgrade to 1.4.12
Fixed license BSD, it should've been BSD-3 & BSD-2

Added license GPLv2+ according to upstream

Patch fix-out-of-tree-build removed; already on upstream.

(From OE-Core rev: c69373a3dcaaccb5a1cabc2890549fc46030e068)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:26 +00:00
Alejandro Hernandez
1379659da5 nfs-utils: Upgrade to 1.3.1
Removed: fix-a-Gcc-undefined-behavior.patch - Upstream

Removed: 0001-statd-fixed-the-with-statdpath-flag.patch - Upstream

Removed: fix-the-start-statd.patch - Different solution on upstream

Removed: nfs-utils-1.0.6-uclibc.patch - Different solution on upstream

(From OE-Core rev: 7cd8b38f4f53d25a6dec8ec3b130a345480ff6b7)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:26 +00:00
Cristian Iorga
16edf5c212 iproute2: upgrade to 3.17.0
0001-ip-link-Remove-unnecessary-device-checking.patch removed,
included upstream.

(From OE-Core rev: ca8d593ca2683f73cdbfcbd14ee7ee1549e2f2bd)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:26 +00:00
Cristian Iorga
2169801ae4 libpcap: upgrade to 1.6.2
- Bug fixes.

(From OE-Core rev: e9d5ac91207ee2bc3ce99c16a2b41134eb709139)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:25 +00:00
Cristian Iorga
273572d9e1 netbase: upgrade to 5.3
- switched to tar.xz archive.

(From OE-Core rev: 5284c7ce78de215059a9a95f35f5d5ac97ddcbdd)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:25 +00:00
Wenzong Fan
89108b49a7 serf: 1.3.6 -> 1.3.8
Release changes:

Serf 1.3.8 [2014-10-20, from /tags/1.3.8, rxxxx]
  Fix issue #152: CRC calculation error for gzipped http reponses > 4GB.
  Fix issue #153: SSPI CredHandle not freed when APR pool is destroyed.
  Fix issue #154: Disable SSLv2 and SSLv3 as both or broken.

Serf 1.3.7 [2014-08-11, from /tags/1.3.7, r2411]
  Handle NUL bytes in fields of an X.509 certificate. (r2393, r2399)
  - CVE-2014-3504: (Closes: #757965)

(From OE-Core rev: ff02b0e2f1d1798555187b8cd5e6fd447ba57380)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:25 +00:00
Wolfgang Denk
322ba17fd8 perl: fix PERL5LIB settings
The PERL5LIB settings in the perl wrapper script did not include the
"site_perl" or "vendor_perl" directories, which caused some errors.

See https://bugzilla.yoctoproject.org/show_bug.cgi?id=6890

(From OE-Core rev: 477ca2da14abaf072d3645c4be916760a48b8938)

Signed-off-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 11:39:59 +00:00
Krzysztof Sywula
67261e2d7a dtc: old SRC_URI died, changing to new working one
(From OE-Core rev: 131a17f014e6373dae526cc927588ccc0fedc38d)

Signed-off-by: Krzysztof Sywula <krzysztof.m.sywula@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 16:52:00 +00:00
Alexandru DAMIAN
49547a6d6d toaster: add toaster layer configuration files
In managed mode, Toaster creates project configurations
based on the layers that are being checked-out on disk.

The defaults are set through a JSON configuration
file that contains layer-specific specific information.

This patch adds toasterconf.json files for the oe core layer,
that make Toaster work with a standalone OpenEmbedded-Core checkout.

The toasterconf.json files describe basic configuration for Toaster
projects, including default layers, default configuration variable values,
toaster-compatible branches, and the layerindex URL
where the base layer and compatible layers.

(From OE-Core rev: 323b2d27598df8fe18892559e093ae7281e99918)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:52:37 +00:00
Alexandru DAMIAN
ae7c1e57a6 toaster: add toaster layer configuration files for meta-yocto
In managed mode, Toaster tries to create project configuration
based on the layers that are being checked-out on disk.

This is done by using a JSON configuration file that is
layer-specific.

This patch adds toasterconf.json files to the meta-yocto layer,
allowing Toaster projects based on Yocto Project releases.

(From meta-yocto rev: 3011da795a1c208438424e064cd5f77a21b6a87a)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:24 +00:00
Belen Barros Pena
39bace01e2 bitbake: toaster: do not show target if target name is empty
In the all targets table, all entries should have a target
name. If a target does not have a name, something has not
gone to plan, so don't show it.

(Bitbake rev: 27023ce2d264ce05008ef9af33982b054c6a87b5)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:24 +00:00
Belen Barros Pena
f3ffeba4a7 bitbake: toaster: fix dependencies dialog layout
Remove the bottom margin of forms inside dependencies
modal dialogs.

(Bitbake rev: dc9b4a4ab06ed49f3fcab4f644b8bc136f19fdb0)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:24 +00:00
Belen Barros Pena
57b8ccc670 bitbake: toaster: add no results state to all layers page
When you search for a layer and your search returns no results,
we should show you an alert and a link to show back all layers,
as we do in all other tables.

(Bitbake rev: c67a5dd8026833e167c58a17643febee130dbb35)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:24 +00:00
Belen Barros Pena
2066b9b47f bitbake: toaster: Tiny refinements to the new build button dialog
* Get rid of the display:block attribute for the "View
all projects" link, to stop it from firing when you
click outside (but next to) the link

* Give some margin to the incomplete configuration
alert

(Bitbake rev: 83af0db872ea28965cd6007ad72ff210f67a4f30)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:24 +00:00
Michael Wood
3530316f9b bitbake: toaster: project page remove additional tooltip for Change pencil
We have a global pencil icon tooltip so avoid two tooltips appearing by
removing them from the project page. This also means it's one less place to
update it.

(Bitbake rev: c2021dda953db51f59fb115542ea4a329a854f76)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:24 +00:00
Michael Wood
f26c3cd6f1 bitbake: toaster: Add New Build Button feature
This adds a quick access dropdown menu feature for running builds on a
selected project.

[YOCTO #6677]

(Bitbake rev: e92769b43b00764082a7cb2207e314b40510ef62)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:24 +00:00
Michael Wood
5b8a62dad7 bitbake: toaster: libtoaster: Add getProjectInfo utility function
Add a utility function to return a specified project's info/config
This re-uses the existing server code path for the project edit
except that it allows any project id to be used as a parameter

(Bitbake rev: af42ea5f006c5cf55a7c57a42904f412639d261f)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:23 +00:00
Michael Wood
fa9206e427 bitbake: toaster: Create libtoaster.js with some utility functions
Replace main.js with libtoaster. This can be a place for common
functionality for toaster. Calling it lib... makes it more obvious as
well as helps with code readability due to the namespacing.

(Bitbake rev: cdf6178ae3675b40afca9f08d491ca1b7e45914e)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:23 +00:00
Alexandru DAMIAN
0b6859cdf3 bitbake: toastergui: layer name correlation
This patch modifies how layers are identified and matched.

Layers were primarely organized by the source of layer information,
and Releases were separated by both layer git branches and originating
source of layer information. This setup prevented mixing layers from
different sources for a certain release, which didn't match the way
people use Yocto Project / bitbake.

This patch brings name-based indentification, where layers with the
same name are assumed to be equivalent, in the sense of being able
to substitute one another. To facilitate this identification to
humans, layers are differentiated by GIT URI instead of layer sources,
which was a rather arbitrary abstraction.

Additional changes include modification to models in order accomodate
for the new data structure, and to config file loading to match
the new toasterconf.json layout.

(Bitbake rev: 4357200aed522ad56cfd84917f877645b83b6a70)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:23 +00:00
Michael Wood
5b0616ad7d bitbake: toaster: skip virtualenv when searching for django apps
If we are using a virtualenv in the current search path we end up trying
to add modules to the django apps list which do not have the correct
load path or are internal to other modules. Fix this by skipping the
virtualenv path.

[YOCTO #6896]

(Bitbake rev: 3f614295d688c33b690f63ff7eb28e6988707919)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:23 +00:00
Belen Barros Pena
2f3e40c5d8 bitbake: toaster: fix file name collision
When toaster is used by multiple users on the same machine,
it is possible that files in /tmp have a name race.

This patch makes sure that the files have unique names.

(Bitbake rev: d4a47bc84f762666a847f1152cc2e75c9ef36092)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-21 11:49:23 +00:00
Robert Yang
c09e56168e bitbake: bitbake-worker: exit normally when SIGHUP
Fixed:
1) Run "bitbake recipe" in the terminal
2) Close the terminal while building
3) $ ps aux | grep bitbake-worker
There will be many processes, and they will keep the resources (e.g.,
memory), and won't exit unless kill or kill -9.

(Bitbake rev: 40d2ae0723de2bf5fee343faafb4afda40546839)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:15:32 +00:00
Paul Eggleton
7d559fcca8 gtk+: drop part of patch adding useless file
This patch shouldn't be adding a .orig file. Aside from not being
necessary, attempting to apply the patch with patch rather than quilt
results in failure.

(From OE-Core rev: 4a888b2ab61662c7f749b5d1e64af92ed613d8eb)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:09:02 +00:00
Paul Eggleton
69e388b405 xmodmap: drop already applied patch
This patch was part of the 1.0.8 release.

(From OE-Core rev: 1de7d0bfc1bac6752a6aa7e96b384a8103efce1e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:09:02 +00:00
Paul Eggleton
0ed19834b2 cmake: drop already applied patches
These patches were part of the 2.8.11 release.

(From OE-Core rev: cd9127664d77df995037bdcff53053835ef026ee)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:09:02 +00:00
Paul Eggleton
4d6772706c openssh: drop already applied patch
This patch was part of the 6.6p1 release.

(From OE-Core rev: 45206510ab48bfee6e183f698f963fea8f03e2a5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:09:02 +00:00
Ross Burton
bc41835eee cups: remove unrecognised option
--disable-openssl was removed in 2.0, so don't pass it to configure.

(From OE-Core rev: 132f90b9bad068fc28c4b262c3b1dbd3e37a9169)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:14 +00:00
Tobias Olausson
3092f33296 spdx.bbclass: improved error handling and code cleanup
The spdx task now writes a meaningful error message in case of error in
communication with the FOSSology server. Also the coding style is now more
consistent and some unneccessary calls/functions are removed.

(From OE-Core rev: 094e27c881d06e428f18788463627da736c66911)

Signed-off-by: Tobias Olausson <tobias.olausson@pelagicore.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:14 +00:00
Hongxu Jia
0f5d0e98f6 postinst-intercept: rename recipe for nativesdk only
The recipe postinst-intercept is only used for nativesdk, so we rename
it from postinst-intercept to nativesdk-postinst-intercept.

It avoids unnecessary build of postinst-intercept.

[YOCTO #6937]

(From OE-Core rev: 6a320d07e45d9c41a6b50b96ba7f910cc141a1dd)

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>
2014-11-20 14:08:14 +00:00
Robert Yang
9ca077710f toolchain-shar-template.sh: fix the text files in the top dir
It only fixed the text files in native_sysroot, but there might be some
files in the top installed dir (whose var name is target_sdk_dir in the
code) which are also needed to be fixed.

It used "find $native_sysroot", now also "find $target_sdk_dir -maxdepth 1",
and split the long line into small ones.

(From OE-Core rev: 104990923f82d129a0fc8e6cd5bf0224751d5d03)

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>
2014-11-20 14:08:13 +00:00
Javier Viguera
71df8a408f shadow-securetty: add ttyAM[0-3] serial ports
Old version of the ARM AMBA serial port driver creates those device nodes.

(From OE-Core rev: fa17b9ea435f5c49e3bea56524152b21d915d464)

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:13 +00:00
Ross Burton
01e9ca3df6 bind: use PACKAGE_BEFORE_PN instead of PACKAGES_prepend
Appending or prepending to PACKAGES breaks when the package is built natively,
so use PACKAGE_BEFORE_PN instead.

(From OE-Core rev: 23d7223a21582edefc4e30d76f94f8e81a543af9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:13 +00:00
Hongxu Jia
c360dcbda8 gcc-4.9: fix the compile failure of 'defaults.h' not found
While compiling gcc-crosssdk-initial-x86_64 on some host, there is
occasionally failure that test the existance of default.h doesn't
work.
...
| tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/gcc/calls.c:1240:
error: 'STACK_CHECK_MAX_VAR_SIZE' was not declared in this scope
...

The reason is tm_include_list='** defaults.h' rather than
tm_include_list='** ./defaults.h'

So we add the test condition for this situation.

(From OE-Core rev: fec684512c6f934d7a847b0c9f5151da81426910)

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>
2014-11-20 14:08:13 +00:00
Changhyeok Bae
3e813f458d ethtool: Upgrade to 3.16
(From OE-Core rev: bedcf3cf03d0c6283e06949a0c98773390c01ed0)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:12 +00:00
Hongxu Jia
aa2c1548b3 parted: upgrade to 3.2
Drop fix-git-version-gen.patch, fix-dvh-overflows.patch and
fix-deprecated-readline.patch, because the parted 3.2 have
merged them.

Add fix-compile-failure-while-dis.patch to fix compile failure

(From OE-Core rev: 5faae24198ded58c5328e9f3e5ab99c89047a57d)

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>
2014-11-20 14:08:12 +00:00
Chong Lu
8aa5f17b08 byacc: Upgrade to 20141006
(From OE-Core rev: fcf9d14fe49f9229f795de4e4ce013099ccd57c6)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:12 +00:00
Chong Lu
bd45e51c32 tcl: Upgrade to 8.6.3
(From OE-Core rev: 67544ace055f83054a838af6149ae5d070bf4ec5)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:12 +00:00
Richard Tollerton
7ce22937fb lsb: update RDEPENDS for broken-out util-linux-getopt
lsb currently depends on util-linux solely for getopt, but that has now
been broken out into util-linux-getopt. Update RDEPENDS accordingly.

(From OE-Core rev: a9a588ec3dcb62f5b61c64371b19ebd3ac9bc80c)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Acked-by: Ken Sharp <ken.sharp@ni.com>
Acked-by: Ben Shelton <ben.shelton@ni.com
Acked-by: Brad Mouring <brad.mouring@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:11 +00:00
Richard Tollerton
887c75a9ff default-providers.inc: define VIRTUAL-RUNTIME_getopt
getopt can be provided by either util-linux or busybox. Allow the
distro to control which implementation is used, and default it to
util-linux.

(From OE-Core rev: 218d5eb990011442d3b15e8fbb3e682af6bcbe92)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Acked-by: Ken Sharp <ken.sharp@ni.com>
Acked-by: Ben Shelton <ben.shelton@ni.com
Acked-by: Brad Mouring <brad.mouring@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:11 +00:00
Richard Tollerton
92afbaee1e util-linux: break out util-linux-getopt
The getopt binary itself is only a few kb, while the util-linux package
is much larger. The lsb package is very small and depends only on
getopt. Break it out into util-linux-getopt in order to reduce the disk
requirements of lsb on systems that don't otherwise bring in util-linux.

(From OE-Core rev: 3626e8df78ffecd29735c1e79eb3ccccec54a663)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Acked-by: Ken Sharp <ken.sharp@ni.com>
Acked-by: Ben Shelton <ben.shelton@ni.com
Acked-by: Brad Mouring <brad.mouring@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:11 +00:00
Roy.Li
318730be2e rpm: fix the rpm addsign function
(From OE-Core rev: d382c1541bec301468119268f4940ae15c326b1c)

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>
2014-11-20 14:08:11 +00:00
Wenzong Fan
07a31ed4d1 python: Fix CVE-2014-7185
Integer overflow in bufferobject.c in Python before 2.7.8 allows
context-dependent attackers to obtain sensitive information from
process memory via a large size and offset in a "buffer" function.

This back-ported patch fixes CVE-2014-7185

(From OE-Core rev: 49ceed974e39ab8ac4be410e5caa5e1ef7a646d9)

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>
2014-11-20 14:08:10 +00:00
Hongxu Jia
587b28b551 ghostscript: upgrade to 9.15
Rebase cups-no-gcrypt.patch and ghostscript-9.02-parallel-make.patch to 9.15

(From OE-Core rev: b93ef60acf8128cf44d4407fdb65a0ac016791d3)

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>
2014-11-20 14:08:10 +00:00
Otavio Salvador
58bee16296 systemd-serialgetty: Disable the carrier detect requirement for serial consoles
This aligns the params of getty with the ones used in Debian. From the
getty(8) manpage:

,----[ getty(8) manpage ]
|  -L, --local-line
|
|    Force the line to be a local line with no need for carrier
|    detect. This can be useful when you have a locally attached
|    terminal where the serial line does not set the carrier detect
|    signal.
`----

Reported-by: Craig McQueen <craig.mcqueen@beamcommunications.com>
(From OE-Core rev: d7f057341e5c007783f41247ee054f257a9f2f64)

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>
2014-11-20 14:08:10 +00:00
Otavio Salvador
3a3e5abe45 sysvinit-inittab: Disable the carrier detect requirement for serial consoles
This aligns the params of getty with the ones used in Debian. From the
getty(8) manpage:

,----[ getty(8) manpage ]
|  -L, --local-line
|
|    Force the line to be a local line with no need for carrier
| 	 detect. This can be useful when you have a locally attached
| 	 terminal where the serial line does not set the carrier detect
| 	 signal.
`----

Reported-by: Craig McQueen <craig.mcqueen@beamcommunications.com>
(From OE-Core rev: a899c362be71cb7b94bd318c57702446b017005c)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Tested-by: Craig McQueen <craig.mcqueen@beamcommunications.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:10 +00:00
Otavio Salvador
7bc2e2a312 toolchain-scripts.bbclass: Export KCFLAGS to ensure sysroot is provided
When building the U-Boot the lack of a proper sysroot can trigger
following error:

,----
| arm-poky-linux-gnueabi-ld.bfd: cannot find -lgcc
| make[2]: *** [examples/standalone/hello_world] Error 1
| make[1]: *** [examples/standalone] Error 2
| make: *** [examples] Error 2
`----

Guillaume Fournier has posted a very complete analysis of the
problem[1].

1. https://lists.yoctoproject.org/pipermail/meta-freescale/2014-November/011270.html

The use of KCFLAGS makes the build of U-Boot work out of box, now that
it uses the Linux kernel build system.

Reported-by: Guillaume Fournier <gfournier@brioconcept.com>
(From OE-Core rev: 50437f9c187f1a884825a8d1ec12da47a5e58670)

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>
2014-11-20 14:08:10 +00:00
Andrei Gherzan
9544db489f xkeyboard-config: Inherit gettext
In a GPLv3-free build we have two different versions of gettext in sysroot due
to GPLv3 restrictions. In this case we need gettext-native too so we can have
the needed macros and avoid errors like:
"error: possibly undefined macro: AM_GNU_GETTEXT"

The needed dependency is added by gettext class which is prefered because it
takes care of NLS flags too.

(From OE-Core rev: 23d8a4d64e9ff126d6460a69e6d086b1c86e87a9)

Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:09 +00:00
Peter A. Bigot
419a37e095 bluez5: fix QA error from configure option
The systemdunitdir option was split into systemdsystemunitdir and
systemduserunitdir before bluez5 was ever released, so this produced a
QA error and was ignored.  There appears to be no reason to override the
inferred default, so replace it with an explicit --enable-systemd.

(From OE-Core rev: 8c9c08112d7b3bde48fb4dd5e15429948aca0dd6)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:09 +00:00
Cristian Iorga
fd338cff2e linux-firmware: upgrade to git rev 0e5f637
- Intel iwlwifi firmware copyright years changed.
- Cleanup and updates for Intel wireless firmware.

(From OE-Core rev: a38d13e3380acb2adaf39f6771958843b28a892f)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:09 +00:00
Cristian Iorga
cdbcadfaef bluez5: upgrade to 5.25
- Cleanups and minor fixes;
- Phonebook Access Profile 1.2 and Message Access Profile 1.2 features and improvements;
- Various GATT related fixes;
- Fix for a race condition which could occasionally cause LE connection/pairing failures.

(From OE-Core rev: 3b387c7c76d52373acae3bad96a8d718ab1948bd)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:09 +00:00
Cristian Iorga
9f2732b1f4 sbc: upgrade to 1.3
- Frame length calculation for dual-channel mode operation bug fixed;
- Prevents overflow of an internal frame length variable.

(From OE-Core rev: 3d7ba21df31a2cfd9fbc38b5fa0d92556a830def)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:08 +00:00
Cristian Iorga
d681466d84 wpa-supplicant: upgrade to 2.3
- P2P WiFi improvements;
- Bug fixes.

(From OE-Core rev: f600e77bbdc1d6a0f29bf8bd775b79dc01bc0b4d)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:08 +00:00
Otavio Salvador
3c7cf5dc33 bitbake: bb.codeparser.py: Remove reference for oe.utils.contains
The oe.utils.contains function has been removed from OE-Core metadata
as the references for it has been replaced to use the
bb.utils.contains.

(Bitbake rev: 5cfdebe7a67dccc7552ff80c1ccc970e36d562df)

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>
2014-11-20 13:27:52 +00:00
Ross Burton
d895e9632d bitbake: depexp: use stateForceShutdown instead of stateStop
This state was renamed in bitbake 12e9d3 but this use of it wasn't changed.

[ YOCTO #5445 ]

(Bitbake rev: 196106100e2dedfacce95be0ee6def94c5a80f27)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 13:27:52 +00:00
Brendan Le Foll
edaeb89408 bitbake: cooker.py: fix loginfo op being set to an invalid value
loginfo "op" was being set to invalid values in saveConfigurationVar it was
working because set is a python global but append is not. This replaces both
the "op" with strings and removes the crash when calling appendConfigurationVar

(Bitbake rev: 2a8e847de85546d43600a561f9c63aa36bd69222)

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:50 +00:00
Alexandru DAMIAN
c5d19aae55 bitbake: toastergui: fix XSS injection points in projects page
We close XSS injection points in Projects page.

* modify the json filter to properly escape HTML tags in strings
* enable $sanitize to automatically sanitize dangerous HTML in
user-supplied input
* clean dangerous characters in targets field, as that field contents
will be directly passed to a shell command

Based on the vulnerability discovered and the patch provided by Michael Wood.

(Bitbake rev: 23c440db9c076ca37e651bdbbdbefee54998e1dc)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:50 +00:00
Alexandru DAMIAN
326d5b1a28 bitbake: toaster: importing angular service
We import angular services ngRoute and
ngSanitize that helps performing user-input
sanitization in order to prevent XSS.

Both services are version 1.2.23.

License is MIT.

(Bitbake rev: 4165895329b3a5e439a38ee749b089637dc502d7)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:50 +00:00
Belen Barros
76f1800f11 bitbake: toastergui: Silly UI fixes
Small fixes to the UI of the project.html and targets.html templates.

In project.html:

* Remove some inline styles and replace them with declarations
in default.css

* Make sure that the 'add' and 'build' buttons in the project
configuration areas have nice, rounded corners

* Add some space between the machine name and the change icon

* Remove the input-prepend class from the build form (we don't
need it)

* Apply the success class to target names in completed builds

* Bold machine and project name in the change notifications to
match all other notifications

* There is a bug in Twitter Boostrap in tooltips inside buttons, so
moving the tooltip in the 'build' button outside the button tag

In targets.html, just add a missing space between the semicolon
and the first layer name in the add layer notification.

(Bitbake rev: 19113c4fe915be7db51ab06dfab5ea0797faea84)

Signed-off-by: Belen Barros <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:50 +00:00
Michael Wood
3a338a2be7 bitbake: toaster: Replace bootstrap js with the correct version
The bootstrap version we are working with is 2.3 not 3

(Bitbake rev: 76c90fe9dcd6fc1aa7e82d9dca0ea9e653d322a1)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:50 +00:00
Alexandru DAMIAN
7b65fa9bbb bitbake: toastergui: changes for the Project page, round 3 of reviews
This patch implements the round 3 of reviews for the Project
page, including fixing the time display, fixing the build list
display, with fade-in and fade-out animations, and various
small layout fixes.

[YOCTO #6587]
[YOCTO #6731]

(Bitbake rev: 09e3ba8f800a03de731b022543cae33a46be17ef)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:49 +00:00
Alexandru DAMIAN
abf7551f60 bitbake: toaster: separate the load configuration file command
We separate the load configuration command as to allow
system administrators load toasterconf.json file as part of the
setup process.

[YOCTO #6895]

(Bitbake rev: 3ed596ac4e21a4494fd7f6cd8739d460fd98512f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:49 +00:00
Michael Wood
6f0496ef55 bitbake: toaster: Update filter count labels when Add/Remove layers
When the user has added/removed a layer but no page reload/requery has
happened we need to update the filter count labels client side.

[YOCTO #6861]

(Bitbake rev: d17e8425de6c609394b9a029afa2dcb455df0b3c)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:49 +00:00
Michael Wood
6cfd8aa148 bitbake: toaster: Fix the table data so that it matches the column order
This fixes the issue where the column is under the wrong table header.

[YOCTO #6684]

(Bitbake rev: 4ef276e379d58130bb50024d7b74b7774fce6fdd)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:49 +00:00
Alexandru DAMIAN
42afeb422e bitbake: toastergui: Various fixes for projects, layers and targets page
This is a combined set of fixes for the project, layers and targets
pages in the project section of toaster.

The fixes correct behaviour and look in various parts of the page,
including submitting XHR commands and updating the DOM with the correct
info.

(Bitbake rev: 96d7738f964784871c928c376cb9fbc9a275cf00)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN
46f1fbe3ab bitbake: adding angular-animate plugin
We add a static copy of the Angular's animate plugin,
version 1.2.23

Licensed under MIT.

(Bitbake rev: 12162fda32af4bc805d6ff5b0348d93befe2f623)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN
78e3a7877b bitbake: toaster: update Release model to pinpoint to specific Branch
We update the release model to pinpoint to specific branch,
instead of holding a branch name that needs to be matched.

This is needed because we move away from mixing branches on different
layer sources.

Various minor changes to models file.

(Bitbake rev: d58aacc69b1832f99758b941803123329e06082d)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN
990fb9ed6c bitbake: toaster: SQL query logging
We add a logger, enabled through the settings.py, that
logs all SQL queries, with timestamp and duration, to console.

This is helpful in profiling the SQL queries.

The facility is disabled by default.

(Bitbake rev: 54fd0a76fa3154adfab5688ecc96963f42cded11)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN
3e9fc8d091 bitbake: toasterui: performance improvements
Improve the performance of data logging in toasterui.
We modify the data queries used to:

 * cache searching in memory
 * insert in bulk (i.e. multiple values per insert, where possible)

On development test rig (networked mysql), on no-op build,
time for data recording is reduced from 4:10 to 1:30 (minutes).

We also improve the logging, so it is easier to detect
toasterui errors.

(Bitbake rev: d42784432f927f58730caf80546c66772e0fec89)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Alexandru DAMIAN
0ca70ce37a bitbake: toaster script: webport option and other improvements
We add the "webport=" command line option as to allow starting
the web server on a custom port.

The bitbake server port is now auto-allocated. This is needed
to be able to run multiple toaster environments on a single machine.

We tackle bug 6023 (toaster refusing to start when lock file is present)
by using more specific checks, and automatically recover from
bitbake server down / webserver up error mode.

Command line parameters are now read on both interactive and managed
modes.

The localhost and ssh controllers are updated to work with the modified
toaster launcher script.

[YOCTO #6023]

(Bitbake rev: cd3eb5b051743463cfe51dba97cae4da75420048)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 17:04:48 +00:00
Ross Burton
baa1082c64 docbook-xsl-stylesheets: fix do_configure typo
do_configure was incorrectly spelt do_configre, which with recent changes to
base.bbclass mean make clean was invoked, which doesn't exist.

(From OE-Core rev: e7b731a1a358e0007dba1038ad504888bec5916e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:38:33 +00:00
Armin Kuster
15d7937e93 tzdata: update to 2014j
(From OE-Core rev: 3ab9dfb703835fee21fd73c4e5cbad1c34c6a163)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:38:33 +00:00
Armin Kuster
42444d3cb4 tzcode: update to 2014j
(From OE-Core rev: 2f8940e8b2a0537f131a6d5410e85bba07a8c116)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:38:33 +00:00
Chong Lu
5638e1fbea strace: add libunwind dependency
Add libunwind package dependency to solve following error:

configure: error: failed to find libunwind-ptrace.h

(From OE-Core rev: 50985a40021c20c8620e82b431ff2da8e005845d)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:38:33 +00:00
Mark Hatle
bb213d8e60 meta-environment: Fix config-site with a multilib config
[YOCTO #6951]

The TOOLCHAIN_CONFIGSITE_SYSROOTCACHE value was defaulting to the nativesdk
path and not the associated target path.  Set the value in toolchain-scripts
to the target path.

Be sure to set the MLPREFIX within the meta-environment script as multilibs
are processed.

Update the config_site file name to use -BPN- not PN.  Otherwise the
environment processing can't find the correct filename.

(From OE-Core rev: 1f05aaa4944ddac6c2b3ba440effdf1eaf732656)

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>
2014-11-12 15:38:33 +00:00
Ross Burton
8c240ad247 vala: upgrade to 0.26.1
vapigen can't be disabled anymore, so remove --disable-vapigen.

(From OE-Core rev: 3562603044e908aacece86985bc8e4d7338622ac)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:38:32 +00:00
Paul Barker
92dd72788a opkg-utils: Update SRCREV
update-alternatives now escapes '[' in expressions passed to sed.

(From OE-Core rev: f41810a6cbdbb1c6c4df64a929fa4ee4747878bd)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:38:32 +00:00
Chong Lu
2decbd0279 nss: Upgrade to 3.17.2
(From OE-Core rev: 34593e222fe1cc6f8b30d71aeaa5078b1c1724f1)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:38:32 +00:00
Paul Eggleton
7abfdd25cf documentation.conf: add missing tasks / variables
Document some recently added tasks and variables.

(From OE-Core rev: f650d584bf446f5923a40ca9a39ddcbbf31bf886)

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>
2014-11-12 15:38:32 +00:00
Jackie Huang
2cdcd4bfdf classextend: Do not extend for that already have multilib prefix
If a BSP supports two or more multilibs, for example:

    MULTILIBS = "multilib:lib32 multilib:lib64"

and a variable is already extended to include multilib variants,
for example in populate_sdk_base:

    commit 396371588c7fd2d691ca9c39cd02287e43cb665b
    Author: Richard Purdie <richard.purdie@linuxfoundation.org>
    Date: Thu Jul 24 22:09:09 2014 +0100

    populate_sdk_base: Extend TOOLCHAIN_TARGET_TASK to include multilib variants

    Most people expect the toolchain from a multilib build to contain multilib
    components. This change makes that happen and is easy for users to override
    should they want something different.

    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

The mapping clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK")
ends up with a wrong double extended package name like:

    lib32-lib64-packagegroup-core-standalone-sdk-target

This patch avoid such issues.

(From OE-Core rev: c4e9b2aa894d59fe951038b3b73795b6891df70a)

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>
2014-11-12 15:38:31 +00:00
Chen Qi
c5f8996b0d systemd: add PACKAGECONFIG for 'audit'
Add PACKAGECONFIG for 'audit', otherwise there would be warnings like
below which would possibly lead to do_rootfs failure.

WARNING: QA Issue: systemd-analyze rdepends on audit, but it isn't a build dependency? [build-deps]
WARNING: QA Issue: systemd rdepends on audit, but it isn't a build dependency? [build-deps]

(From OE-Core rev: b4e6e0aa0229d2ce4c8bee24581c127a31109676)

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>
2014-11-12 15:38:31 +00:00
Robert Yang
12fe05c440 apr-native: Set CONFIG_SHELL to /bin/bash
The apr-native provides usr/share/build-1/libtool which is required by
the recipe such as apache2-native. If we don't set the CONFIG_SHELL to
/bin/bash, then:

1) If we build apr-native on a host which is "/bin/sh -> bash", the
   interpreter in usr/share/build-1/libtool would be "#!/bin/sh".
2) When we re-use apr-native's sstate on a host which is
   "/bin/sh -> dash", there would be errors.

(From OE-Core rev: 38d83009dfe77437533969ce681605a9ab9534ac)

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>
2014-11-12 15:38:31 +00:00
Koen Kooi
5c69e44ca8 gptfdisk: add 0.8.10+git version
Besides from being useful as fdisk replacement this gives us 'sgdisk'
which can be used to set the GUID for partitions, e.g.

	sgdisk -t 1:C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/mmcblk0p1

To mark it as ESP in scripts like mkefidisk.sh.

(From OE-Core rev: 8c219ef79ce9855524e483d13b3c9559f9233eb1)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:38:31 +00:00
Kai Kang
35c2ff702e qemu: remove task sanitize_sources
There is no dtc/.git and pixman/.git files any longer. So remove task
sanitize_sources which is used to remove these files.

(From OE-Core rev: 8d280849b00b1e8ec0de906f6d2ad0b4dc31864a)

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>
2014-11-12 15:38:31 +00:00
Denys Dmytriyenko
5c23ec681c u-boot: update to version 2014.07
u-boot doesn't really support building its tools for the target, as they are
built with HOSTCC compiler, which is also used to compile fixdep utility
that gets executed during the build. Since it might be beneficial to have a
target version of mkimage, let's hack it to build fixdep in a separate step.

(From OE-Core rev: a8692184d25cb7d8cb3b617e1dfb901fe1b0ca3d)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:38:31 +00:00
Chen Qi
2abfdcfd1c systemd: avoid using system-auth
Patch systemd-user pam configuartion file to avoid using system-auth
file. Instead, we use common-* files.

(From OE-Core rev: a3c863c4a65737a410a0353d97a0ee538eb82434)

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>
2014-11-12 15:38:30 +00:00
Shiqun Lin
e9b729d75c libtool: remove build host paths from installed libtool
Resulted libtool contains references about paths from the build host

Below variables contains hard coded build paths from the host:
LTCC=
lt_sysroot=
sys_lib_search_path_spec=
LD=
CC=
compiler_lib_search_dirs=
predep_objects=
postdep_objects=
compiler_lib_search_path=

(From OE-Core rev: d27c4226f600584f83f66c86b0988a165e8ecb75)

Signed-off-by: Shiqun Lin <Shiqun.Lin@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:38:30 +00:00
Kai Kang
507947a2b0 beecrypt: add option --with-dev-dsp
Add this configure option for developer to control if the
/dev/dsp should be used on target. Instead of judging it
based on the very device file of build server.

(From OE-Core rev: 5960262802c394cb6a54ede30e4994929621ca06)

Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
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>
2014-11-12 15:38:30 +00:00
Martin Hundebøll
c0dafd3101 scripts: use '/usr/bin/env' in shebangs with python
To support yocto on systems with python3 as default version, scripts
should use /usr/bin/env python in the shebang, as this allows the use of
a fake env to mimic python2 as default version.

This patch simply replaces occurrences of #!/usr/bin/python with
 #!/usr/bin/env python and was done with this oneliner:

     git grep -lE '^#!/usr/bin/python' | xargs \
         sed -i 's|/usr/bin/python|/usr/bin/env python|'

(From OE-Core rev: 6d3de22a19657a413e01d7bb5fd74d16c00dc696)

Signed-off-by: Martin Hundebøll <martin@hundeboll.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:38:29 +00:00
Martin Hundebøll
3e068831a1 bitbake: progressbar: use '/usr/bin/env' in shebangs with python
To support yocto on systems with python3 as default version, scripts
should use /usr/bin/env python in the shebang, as this allows the use of
a fake env to mimic python2 as default version.

This patch simply replaces occurrences of #!/usr/bin/python with
 #!/usr/bin/env python and was done with this oneliner:

     git grep -lE '^#!/usr/bin/python' | xargs \
         sed -i 's|/usr/bin/python|/usr/bin/env python|'

(Bitbake rev: 90d9bf1bda282fb5d053a42438a8cfd02475b9cd)

Signed-off-by: Martin Hundebøll <martin@hundeboll.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:25:17 +00:00
Aníbal Limón
6bb241a278 bitbake: fetch/wget: Add latest_versionstring method
Being able to query whether updated versions of a url are available
is useful, not least for the package reporting system. Since such code
is closely linked to the url type and the url itself, the fetcher
makes a locical place to contain this code.

For wget based urls this means taking upstream directory listings
and searching those for later versions, returning those that are
found.

The patch also adds unittests for this function so that if
improvements are made, the original test urls can be used
to evaulate the those changes.

This is based on code from Irina Patru <irina.patru@intel.com>.

(Bitbake rev: a8272e22b7819e0e8afd8e291d276f5f28fc0007)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:25:17 +00:00
Aníbal Limón
7587877e5d bitbake: fetch/git: Add latest_versionstring method
Being able to generate a version string representing the most recent git commit
given git is useful, not least for the package reporting system.

This adds in a latest_versionstring method to the git fetcher
which allows users to query the latest version using ls-remote
and filtering the responses.

The patch also adds unittests for this function so that if
improvements are made, the original test urls can be used
to evaulate the those changes.

This is based on code from Irina Patru <irina.patru@intel.com>.

(Bitbake rev: f71c8c0354e87fed80bc845db6728e6e18ce9c4d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-12 15:25:17 +00:00
Signed-off-by: Saul Wold
95c7b39951 maintainers: Update per replies on OE-Core
(From meta-yocto rev: bc8b6d31dcb0ac4a0cda77214369259c8eb37027)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-10 17:47:44 +00:00
Richard Purdie
3c741a8d33 oprofile: 0.9.9 -> 1.0.0
opcontrol is now dropped and replaced with the operf interface. As such, we drop
the opstart/opstop commands and any patches related to the old removed interfaces.

Some patches were also mered upstream so those are also dropped.

There is also a problem found on mips with the security flags enabled, the
patch has more specific details.

(From OE-Core rev: 33b7885ecdc8774e34ac3534ec49fed6ffdb3916)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:24 +00:00
Gary Thomas
77d62cca27 python-pygtk: Clean up incorrect "fix"
This patch removes most of "dirty fix #1" which is no longer needed
(no dependency on python-pygobject-dev exists).  A side effect is
that the pygtk code generator will also be installed.

Merge 'fix-path.inc' into this recipe as it is not used by any other
recipe.

(From OE-Core rev: 02985d315f71126d3af789b0666dbf428f586e4b)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:24 +00:00
Richard Tollerton
fb4d7ece3b populate_sdk_base: improve POSIXLY_CORRECT compat
The install script is sometimes called under POSIXLY_CORRECT. This
requires two fixes be made:

1. `find -perm /0000` is a gnuism; replace with an equivalent boolean
expression using `-perm -0000`.

2. POSIX grep requires that all options be passed on the command line
before all files; otherwise, the options must be parsed as filenames.

(From OE-Core rev: 0870d9115546ad3b456af52ed45e46e637874a48)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:24 +00:00
Chong Lu
a899e13329 tcl: Upgrade to 8.6.2
libgcc_s.so.1 is needed by running ptest, so add libgcc to
RDEPENDS_${PN}-ptest.

(From OE-Core rev: c7eca550b0c11c040440ee2610c5eb1e78ed5be4)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:23 +00:00
Chong Lu
24ad27878c strace: Upgrade to 4.9
Remove two backported patches:
0001-Work-around-conflict-between-sys-ptrace.h-and-linux-.patch
strace-fix-64-bit-process-detection.patch

Update two patches to fit new version:
Makefile-ptest.patch
strace-add-configure-options.patch

Add coreutils, grep and gawk to RDEPENDS_${PN}-ptest for making
ptest pass.

(From OE-Core rev: 826e36643a3fcb8b4ee4ed79612c63c3a9cc1536)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:23 +00:00
Chong Lu
bfe16dbb3c byacc: Upgrade to 20140715
(From OE-Core rev: 607d0099a652c83979b74cd8c8c3d8479221c513)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:23 +00:00
Chong Lu
a485eb8cfe libpcre: Upgrade to 8.36
(From OE-Core rev: 0e5a1e7d9fde3856fbf1624f065c9d1ce3286023)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:23 +00:00
Armin Kuster
4d9771a524 lz4: update to version r123
Makefile md5sum changed since version is hardcode in it.

Added : experimental lz4frame API; special thanks to Takayuki Matsuoka and
Christopher Jackson for testings and suggestions
Fix : s390x support, thanks to Nobuhiro Iwamatsu

(From OE-Core rev: 593bbc9cef20017a85cf4ee2d9865152624d5b40)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:23 +00:00
Armin Kuster
59283bd563 pinentry: update 0.9
removed  some EXTRA_OECONF to  fix:
WARNING: QA Issue: pinentry: configure was passed unrecognised options: --disable-glibtest --disable-pinentry-gtk --disable-pinentry-qt [unknown-configure-option]

(From OE-Core rev: 72ee39589588d8d2b4b61b4cbdf6827cf00f26b8)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:23 +00:00
Jason Wessel
da6a4f6c2b ncurses, busybox, cml1.bbclass: Fix menuconfig display corruption
Previously there was a change to the ncurses compile to make it more
like the typical way it was compiled on a host system.  This fixed a
whole class of host machines, but masked the real underlying problem
with the display corruption issues and menuconfig.

The corner case that led to the discovery that the wrong curses.h file
was getting used was when there was no curses libraries at all on one
of the development hosts.  What had happened before was that
/usr/include/curses.h on the host system had to match closely enough
to the curses.h in the sysroot and then linking against the sysroot
version of curses.so was ok (meaning no display corruption).  But on
some systems with ncurses.h vs curses.h such as SuSE hosts, there were
still issues.

If we fix the root of the problem and force the mconf and lxdialog to
use the correct headers and libraries from the sysroot there is no
further issues and the menuconfig target works properly.  It also
means we can back out the custom compilation flags to the ncurses
recipe because they are no longer needed.

For the kernel part of the menuconfig / nconfig changes it will be
merged separately and this is all based on:

https://lkml.org/lkml/2013/3/3/103

(From OE-Core rev: 889e02659dd396feba24f0b0ee6b4043c3f3735a)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@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>
2014-11-09 10:21:23 +00:00
Chen Qi
8f9ed2407f nfs-utils: change owner/group of directories in do_install
Previously, the owners/groups of directories like /var/lib/nfs/statd
are changed in the init script, /etc/init.d/nfscommon. This is actually
a workaround. We need to change them at do_install time.

This patch fixes the above problem by changing owners/groups at do_install
time.

Besides, configuration option '--with-staduser=nobody' is changed to be
'--with-statduser=rpcuser'. And /var/lib/nfs/statd/state is modified to have
permission 0644, just like other distros (ubuntu, fedora, etc.) do.

(From OE-Core rev: 8c27a1e25ae42a435ab7d290cab40f94f9286243)

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>
2014-11-09 10:21:22 +00:00
Jackie Huang
5fe3954013 perl: set the perl libraries search path
The default value for this is ../../lib which ends up with
something like:
| ./sysroots/x86_64-linux/usr/bin/perl-native/perl5.20.0.real \
| "-I../../lib" "-I../../lib" "-MExtUtils::Command::MM" -e pod2man \
| "--" --section=0 --perm_rw=644 perldoc.pod blib/man1/perldoc.1

in this case, nativeperl will find libraries from the target build,
When using an x86-64 host to target Haswell, you can end up with
../../lib including precompiled modules which use Haswell
instructions, it fails with:
| Running pm_to_blib for dist/if directly
| Skip ../../lib/if.pm (unchanged)
| Makefile:457: recipe for target 'manifypods' failed
| make[1]: *** [manifypods] Illegal instruction

So set it to use the -native ones instead of those from the target
build.

(From OE-Core rev: 82ac2a29126dc38d23c278b82d129d73b17000b7)

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>
2014-11-09 10:21:22 +00:00
Ricardo Ribalda Delgado
b3ea9b6404 apt: Add missing running depency debianutils
apt-file calls run-parts with options --list and --regex:

root@neopili:~/curro/qtec/qt5022/build-qt5022-cesium/build/tmp/work/bobcat_64-poky-linux/apt/0.9.9.4-r0/apt-0.9.9.4# grep run-parts cmdline/apt-key -rn
187:		for trusted in $(run-parts --list $TRUSTEDPARTS --regex '^.*\.gpg$'); do

busybox implementation of run-parts does not support --regex. And --list option is not enabled on yocto busybox configuration.

(From OE-Core rev: 40dd71a4e0beade84ecd686559243a10e55c3a2d)

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>
2014-11-09 10:21:22 +00:00
Ricardo Ribalda Delgado
9e3c886ad5 debianutils: Add recipe from meta-oe
This recipe is a running dependency of recipe apt

(From OE-Core rev: de8278300eca1e29747be0a0f94787ff90926598)

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>
2014-11-09 10:21:22 +00:00
Aníbal Limón
1d19791828 package_manager: DpkgPM fix populate_sdk
DpkgPM change all_arch_list variable set from PACKAGE_ARCHS to passed
archs variable because is different when is executed from rootfs.py
and sdk.py.

Credits to: Ricardo Ribalda <ricardo.ribalda@gmail.com>

(From OE-Core rev: f6fb8c16f49fd9a2b124ad55f5c4fed82d7e6dca)

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>
2014-11-09 10:21:22 +00:00
Alejandro Hernandez
ed3e25379c image-buildinfo.bbclass: new class, writes build information to image
Writes build information to target filesystem on /etc/build such as enabled
layers, their current status and commit.

squashspaces was moved to oe/utils.py to make it available to different classes
and avoid code duplication.

[YOCTO #6770]

(From OE-Core rev: c9cc652e88ddedddf8a2f23fb9b8c024616526d7)

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>
2014-11-09 10:21:22 +00:00
Saul Wold
c58237560d watchdog: Upgrade to 5.14
Move the patches from generic files to watchdog
Rebased the fix-ping due to code reorg on the source

(From OE-Core rev: fb2e1fd7d2df68d02f5da7dbf4390ea03e7eafdb)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:22 +00:00
Saul Wold
f5ecb75481 man-pages: Upgrade to 3.75
(From OE-Core rev: f16573362398efc8d340024d749c30a8043db0f5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:22 +00:00
Saul Wold
739100c9f3 lsbinitscripts: Upgrade to 9.56.1
(From OE-Core rev: 2faa41bcb5cf719fff59178a1223c7fd77ae1369)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:21 +00:00
Saul Wold
b166d5cd74 less: Upgrade to 470
(From OE-Core rev: f1fdcee974e04ece1830ecd539c7f217802df973)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:21 +00:00
Saul Wold
8523fd55a7 hdparm: Upgrade to 9.45
(From OE-Core rev: 6695c965fd518dfe615bd3def51975a1a4c6cf08)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:21 +00:00
Saul Wold
2ce92adfb3 help2man: Upgrade to 1.46.4
(From OE-Core rev: a0fa4bf358cfb25e11e62552d0aa2033fedda7c3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:21 +00:00
Saul Wold
0aca644028 cups: Upgrade to 2.0.0
Remove backported patch and rebase gcrypt patch

Licence change updates the date and removes the OpenSSL exception

(From OE-Core rev: bcf7691bb6be86b88c7f6d08d35c229b3f30a9f6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:21 +00:00
Saul Wold
b2306632a7 at: Upgrade to 3.1.16
(From OE-Core rev: 9d9acda02bdee8462f182fd368ef9920ea8befa8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:21 +00:00
Saul Wold
2fa79a97be resolvconf: Upgrade to 1.76
(From OE-Core rev: 8768b0f66a0419b6bf94010bc6458e9f0b528891)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:21 +00:00
Saul Wold
1ec6ea135d libxkbcommon: Upgrade to 0.5.0
COPYING has additional MIT section

(From OE-Core rev: 95fe967e977dba65aaecb95be963dfc3cf9b006d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:21 +00:00
Saul Wold
afd7e24c42 systemtap: Upgrade to 2.6 Git Version
Remove backported patch

(From OE-Core rev: 89a900cb356504bc56e507412adaf5a0d5043ac9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:20 +00:00
Saul Wold
58c76d143d libksba: Ugrade to 1.3.1
(From OE-Core rev: 066ed36068088c0726c46e8396c670044b729c37)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:20 +00:00
Saul Wold
813718c2ea libgcrypt: Ugrade to 1.6.2
Remove backported patch

(From OE-Core rev: a1ebad9242eb3c94505383c4558e4d9476298c5d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:20 +00:00
Saul Wold
ddc5abec96 liburcu: Ugrade to 0.8.5
(From OE-Core rev: 1a458d0f49f669afbe5b1ad5ff218a5074d71f4f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:20 +00:00
Saul Wold
5ff390fb28 npth: Upgrade to 1.0
(From OE-Core rev: 67d779db017dd3d486304c0a0cdbbecc92c52b6f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:20 +00:00
Saul Wold
54cedb13ee btrfs: Update to 3.17 version
(From OE-Core rev: 54d306bbed948a0eb5171f9efd206ea773d9bd3b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:20 +00:00
Saul Wold
78f6f533bb libcap: Upgrade to 2.24
Tarballs moved to kernel.org
Deleted upstream'ed patch
merged minimal .bb with .inc

Check for security dir before moving it when pam is enabled.

(From OE-Core rev: 73f2b69b17e5364388faf0f31275c3c69fb31030)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:20 +00:00
Mark Hatle
0ee5eb295c gcc: Fix intermittent failures during configure
If configure or any of the components it uses from the shared work directory
change, do_configure may fail.

An existing do_preconfigure was created to handle these conditions, but
a 'sed' operation was missed, and a call to gnu-configize was also missed.

(From OE-Core rev: 21c2cfff14442cf224e3568bdbb9bcd4070be247)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:20 +00:00
Richard Purdie
b78e3e3b27 gdb: 7.7.1 -> 7.8.1
Drop patch merged upstream.

Also drop old arm/thumb patch which breaks the compile on arm. We've
had this since 2010 (or longer) and the issue has likely been fixed
upstream by now. If not someone with more knowledge will need to
figure out the fix against the current codebase.

(From OE-Core rev: b171f30701aae36f8512ed0b7472984671589c5f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:19 +00:00
Richard Purdie
593f14b2e3 package/prserv: Merge two similar functions into one
Having these two separate functions handling PR values seems pointless,
and worse, there are impossible code branches mixed within them.

Merge them into one function and tweak comments so at least you
don't have to read both functions to figure out what is going on.

This does restructure the conditionals to try and aid readability.

(From OE-Core rev: 865d001de168915a5796e5c760f96bdd04cebd61)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:19 +00:00
Richard Purdie
d01b8d556e base: Make PRINC warning an error
Apparently 1.5 years of warnings isn't enough to get anyone to take any
notice. We therefore make this an error so people can ignore it for
another 6 months whereafter we can finally give up and remove the
obsolete code.

(From OE-Core rev: 0c21d06dea96ca5f19ac2e3136c66da582036a11)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:19 +00:00
Richard Purdie
cb4b12c9b9 perl: Enable rebuilds to account for configuration changes
If configure/compile was rerun for perl, changes such as libdir changes
were not being picked up. To fix this we we add "make clean"
functionality, if the makefile is present.

We also in this case need to delete the .so file, else some perl modules
try and load the target arch libraries leading to build failures. I'd
love it if there were a better way to do this and am open to better
proposals but this was the best I could find, not being a perl expert.

(From OE-Core rev: 3b8adee2756085df47b90357eed4c20ee98c7cd1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:19 +00:00
Richard Purdie
e6cbda6419 base: Improve makefile clean handling, introduce CLEANBROKEN variable
It turns out we have quite a number of Makefiles out there without a
clean target. Rather than have all cases code an empty do_configure, add
a CLEANBROKEN variable which when set to "1" will disable the attempt to
"make clean".

This patch also adjusts various recipes which either have this problem
fixed, or have been reported to have make clean failures.

(From OE-Core rev: 45b7d3add14eafc25da62bab68d4ae133f8dcb57)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:19 +00:00
Fathi Boudra
2020ba7c48 ltp: update to 20140828 release
bump SRCREV to 20140828 tag
drop automake-foreign patch - fixed upstream (commit 18594de and edbae29)
add add-know-for-tirpc patch - workaround ftbfs with libtirpc found
update realtime tests fixes upstream status from submitted to backported -
merged upstream

(From OE-Core rev: a1dacd52d8bad948dcea3c39278da1d87e3167af)

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:19 +00:00
Scott Rifenbark
45bb9e3323 profile-manual: Updates to the LTTng Documentation section.
The LTTng Documentation website has been updated to actually
have extensive documentation now.  Previously, in the profile-manual,
we were stating that documentation did not exist, which was true
at the time of writing.  I updated the section to link to the
main LTTng documentation website and altered some other text in
the section appropriately.

Additionally, I found and corrected a couple spelling errors in
this chapter.

(From yocto-docs rev: 6e03bd6b90726904a1ac54b8f16f6554b4bb22b8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-08 11:15:12 +00:00
Scott Rifenbark
0d3e6853a6 ref-manual: Fixed typo in the PACKAGE_EXTRA_ARCHS variable.
(From yocto-docs rev: 85bd37d28b4394d422a70adec9a01a88ba4b4f21)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-08 11:15:12 +00:00
Scott Rifenbark
9104c1c29c dev-manual: Fixed broken link to the allarch class.
(From yocto-docs rev: 3ec771dffdaf7d42b98371516bbb33f915dfe572)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-08 11:15:12 +00:00
Stefan Müller-Klieser
2f17b2ce7f bitbake: data_smart.py: fix variable splitting at _remove mechanism
If we split variables only at whitespaces, a slipped in tab will render
a value unremovable.

(Bitbake rev: 9f171ea755644ecd9d2b3d7ed13bf8ec09ec917a)

Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-08 11:14:31 +00:00
Richard Purdie
01a61c8e6e bitbake: siggen: Fix shared work checksum mismatch/rebuild issues
Similar to the last shared work task signature bug, we've found another
one. Looking at the improved output of diffsigs in this case:

runtaskdeps changed from [
'autoconf_2.69.bb.do_populate_sysroot:virtual:native',
'gnu-config_20120814.bb.do_populate_sysroot:virtual:native',
'libgcc-initial_4.9.bb.do_patch:virtual:nativesdk'
] to [
'autoconf_2.69.bb.do_populate_sysroot:virtual:native',
'gcc-crosssdk-initial_4.9.bb.do_patch',
'gnu-config_20120814.bb.do_populate_sysroot:virtual:native'
]

so we can get a different task hash since libgcc sorts before gnu-config
and gcc sorts after it. We could do with a way of fixing this, the best
I can come up with is to include a single parent directory. Since
recipes are never at the top of any metadata trees I've seen, this
should suffice for now.

I'm planning to burn the concept of shared work within bitbake
and do something at the metadata level in the 1.8 timeframe as its just
too fragile as things stand and hard to fix well.

(Bitbake rev: d753644c67d163f338f2bdc3d600203e8b1a5734)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-08 11:14:31 +00:00
Richard Purdie
2db07ca8a3 bitbake: siggen: Add computed hash code to verify hash computation to dumpsig
This is useful code to double check the computed checksum value if nothing
else. Might as well have it in tree.

(Bitbake rev: 54ecf96c6f031927ee2410f6efde4e16f19bbf66)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-08 11:14:31 +00:00
Richard Purdie
636dcb84fe bitbake: siggen: Ensure we output if the ordering of runtaskdeps changes
Order of runtaskdeps is important. If the hashes differ we should print output.
This is complicated by shared work where the filenames themselves can differ,
but the checksum should not.

This fixes a case where two different checksums could show no output with
bitbake-diffsigs.

(Bitbake rev: 40c95cb9def282dc88234cd72ff462d7a01e47c1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-08 11:14:31 +00:00
Saul Wold
695d25452d readline: Patch for readline multikey dispatch issue
(From OE-Core rev: d301ef7c2a5e857bd87be2a24251243ff181fa24)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-08 11:14:31 +00:00
Alexandru DAMIAN
7bd03ac241 bitbake: toastergui: fix invalid build url usage
We need to pass the URL for the build action as javascript
parameter, since the project ID is different for each build,
instead of using the project id of the most-recently-used project.

(Bitbake rev: 35c1de4b05c64ee1c436be2dfbd97dcf9ed9ed71)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:23 +00:00
Alexandru DAMIAN
fc75011506 bitbake: toasterui: improvements in data reading
We add improvements in data reading, following
issues discovered in testing.

- elapsed_time is now read from buildstats
- we add safeguards to not fail logging if the build was triggered
with a toaster_brbe configuration, but it's running in
1.6 mode
- added log markups for build finish to let other programs
known when the work is done.

[YOCTO #6833]
[YOCTO #6685]
[YOCTO #6887]

(Bitbake rev: 0b225035cefee3d3713a93f9a432e5e4d4e174f1)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:23 +00:00
Richard Purdie
7105d44d87 bitbake: prserv: Use WAL mode
Ideally, we want the PR service to have minimal influence from
queued disk IO. sqlite tends to be paranoid about data loss and
locks/fsync calls. There is a "WAL mode" which changes the journalling
mechanism and would appear much better suited to our use case.

This patch therefore switches the database to use WAL mode. With this
change, write overhead appears significantly reduced.

(Bitbake rev: 0cdd48261daeb17efc528b5de0ac81c8836e8565)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:23 +00:00
Gary Thomas
5dca71bc2a bitbake: bitbake: Make printed 'runqueue' be consistently capitalized
This has always bothered me:
  NOTE: Preparing runqueue
  NOTE: Executing RunQueue Tasks

This patch changes the messages to be consistent.

(Bitbake rev: 72ac9f9227fbfb4dc8b933b357d21aa0e4060959)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:23 +00:00
Aníbal Limón
25e3e57c55 bitbake: bs4: Add beautifulsoup 4.3.2 to assist the fetcher
Added Beautifulsoup module because fetch/wget latest_versionstring
method depends on it.

This provides support to fetch/wget.py module for search new package
versions in upstream sites.

(Bitbake rev: 4626c9b77e5eded97507b6f9ca0d891f9a54bb8a)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:23 +00:00
Fredrik Svensson
bc6330cb7f bitbake: fetch2/git: Allow other namespaces than refs/heads to be searched.
This makes it possble to fetch Gerrit review references which are
normally stored under refs/changes.

Please disregard previous patch with the same topic.

(Bitbake rev: 268e9c0c6830e8e621c418f20c2ca12dc840e48b)

Signed-off-by: Fredrik Svensson <fredrik.svensson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:22 +00:00
Peter A. Bigot
5fa2ce0773 image_types.bbclass: whitespace and reorder
Use a multi-line value to set IMAGE_TYPES and put all the compressed
versions of a format on one line.  Other than moving ext2.lzma this is
just whitespace.

(From OE-Core rev: dd93b3a950d063f4e3020362c636006f51fb5782)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:22 +00:00
Denys Dmytriyenko
ad6fd2cbf8 weston: update to version 1.6.0, add libinput PACKAGECONFIG
(From OE-Core rev: e828dd2eae2a3eb4c341926aeb4ae6febd660ec2)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:22 +00:00
Denys Dmytriyenko
ab3086fee7 wayland: update version to 1.6.0
(From OE-Core rev: 15ace31331ea2975f1a80167093786749adebbc4)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:22 +00:00
Denys Dmytriyenko
24dc5f436b libinput: add 0.6.0 version
libinput is an optional dependency for Weston to handle input devices
externally, which provides better support especially for touch devices.

(From OE-Core rev: c4641a70a54e7cd3d17f448fa920c94e6610b654)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:22 +00:00
Saul Wold
8569e10e59 nss: Upgrade to 3.17
CVE patches removed since they have been implemented upstream
Rename patch dir (files) to generic PN name

(From OE-Core rev: ff3ca87477f2caf9e2228ed100f243f5ea831577)

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>
2014-11-06 16:45:21 +00:00
Saul Wold
c1809c4b89 findutils: Upgrade to 4.5.14
Move findutils-4.4.2 directory to more generic findutils
Removed backported patches

(From OE-Core rev: 8071b8d1ccc5e8a6b24ccf13b185f5cda6ce890e)

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>
2014-11-06 16:45:21 +00:00
Saul Wold
188873951a vala: Update to 0.24.0
Remove un-needed PR and INC_PR
Rename vala-0.16 to more geneic vala

Now correctly supports seperate build/source directorys so drop -sepbuild tag

(From OE-Core rev: d5624272824795b85047d8064077bc8458cbfa67)

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>
2014-11-06 16:45:21 +00:00
Roy Li
0d9a0711d3 texinfo: integrate texinfo 4.8
It is a GPLv2 package

(From OE-Core rev: 8d33c091784675405fbe1c3e7c3a12cc82b800d1)

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>
2014-11-06 16:45:21 +00:00
Chong Lu
c60fa73007 insane.bbclass: add condition for build-deps
Add condition for build-deps, then we can use it in INSANE_SKIP.

(From OE-Core rev: 1cb62dbb1ecedc6232be3509a2887e92def2b8db)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:20 +00:00
Chong Lu
49d22ac951 gst-plugin-bluetooth: remove systemd service file
The service file should be included in bluez4 package, not in plugin package.

This solves the following warning:

WARNING: QA Issue: gst-plugin-bluetooth: Files/directories were installed but not shipped
  /lib
  /lib/systemd
  /lib/systemd/system
  /lib/systemd/system/bluetooth.service [installed-vs-shipped]

(From OE-Core rev: e1767c2f39e690c40c5d53d3b6d9e9706ceb10cd)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:20 +00:00
Cristian Iorga
ddac00a235 qemu: upgrade to 2.1.2
Mainly a bug fix release.

- Patch 0001-Back-porting-security-fix-CVE-2014-5388.patch removed,
included upstream.

(From OE-Core rev: e2dadd361b3728e4c3aac2a7e40dac8cebbd5406)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:20 +00:00
Paul Eggleton
c3d0cd9402 psplash: update to latest git version
Include two enhancement patches from Olaf Mandel <o.mandel@menlosystems.com>

(From OE-Core rev: e2a32d9a0e18dc0565d5a2d9197616ac9b338d77)

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>
2014-11-06 16:45:20 +00:00
Jackie Huang
b7ae852b69 gcc: backport two patches to fix ICE in dwarf2out_var_location
The first patch fixes the ICE in dwarf2out_var_location, at
dwarf2out.c.

r212171:
    * except.c (emit_note_eh_region_end): New helper function.
    (convert_to_eh_region_ranges): Use emit_note_eh_region_end to
    emit EH_REGION_END note.
    * jump.c (cleanup_barriers): Do not split a call and its
    corresponding CALL_ARG_LOCATION note.

But it introduced a regression issue:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63348

so backport the fix for the regression as well:

r215613:
    PR rtl-optimization/63348
    * emit-rtl.c (try_split): Do not emit extra barrier.

(From OE-Core rev: de52db1b1b0dbc9060dddceb42b7dd4f66a7e0f3)

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>
2014-11-06 16:45:19 +00:00
Cristian Iorga
40b3888e40 connman: upgrade to 1.26
- WiFi P2P support in ConnMan has been significantly improved;
- Applications can now register WiFi Display, UPnP or Bonjour P2P services;
- Various bug fixes.

(From OE-Core rev: 3aad6d51a303d0330205eebfeac58c2ccb612e77)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:19 +00:00
Paul Eggleton
a4db2d9630 wget: upgrade to 1.16
Among other things, fixes CVE-2014-4877:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-4877

(From OE-Core rev: de31ee56e07fea9e3f8ae2f71c69ab5e9c48836f)

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>
2014-11-06 16:45:19 +00:00
Ross Burton
07e8ae71e8 acl: add acl dependency to acl-ptest
The acl test suite doesn't work without the acl binaries, so add an explicit
dependency.

(From OE-Core rev: 3720478dbdc7efa5d38a53182bab14985c698d8d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:19 +00:00
Alexandru DAMIAN
6e055bbc2e toaster.bbclass: read elapsed time from the stats file
We read the elapsed time fromt the build stats file, instead
of computing it independently.

[YOCTO #6833]
[YOCTO #6685]

(From OE-Core rev: 4f5a4ec0cdaf078463f04be4a6683816e9b78d5f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:19 +00:00
Aníbal Limón
6839a39912 perl: Fix bug when installs SDK in custom directory
Add site_perl and vendor_perl directories in create_wrapper
this fix bug when searching for libraries in these directories.

[YOCTO #6890]

(From OE-Core rev: ea2584213e2e852157ec2490c84cc6c03feb4b40)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:18 +00:00
Jackie Huang
b0bbdf29a1 packagegroup-self-hosted: add git-perltools
git-perltools provides some usefull git tools like:
git-submodule, git-request-pull, git-send-email, git-am, etc.

We should have it added in self-hosted image.

(From OE-Core rev: 4b0cbdc9c94b336f3102d4cce1886842b28ce6d5)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:18 +00:00
Richard Purdie
e20a85dab9 subversion: 1.8.9 -> 1.8.10
(From OE-Core rev: aa3aa6fff5b5e5b36b76665846e8b7f0408f7e81)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:18 +00:00
Richard Purdie
d19152d9df kexec-tools: 2.0.7 -> 2.0.8
(From OE-Core rev: afec7f721edd7223cc0b8e8b465fb7e3ecfd0cb2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:18 +00:00
Richard Purdie
e972fcf0bf mdadm: 3.3.1 -> 3.3.2
(From OE-Core rev: cfd25d00575a88acc6739e12077ca593d7436436)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:18 +00:00
Richard Purdie
f54fc65a9b python-pycurl: 7.19.3.1 -> 7.19.5
Lines in the readme referring to the license moved, license is unchanged.

(From OE-Core rev: 330c39685b5d71d4382d4b4930581de07ed689c6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:17 +00:00
Richard Purdie
d38da0f14e libunistring: 0.9.3 -> 0.9.4
Drop two patches merged upstream.

(From OE-Core rev: addb823a797b7e8e02be44ae9d2a4802dcb46c92)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:17 +00:00
Richard Purdie
c4c7b0fb23 nasm: 2.11.05 -> 2.11.06
(From OE-Core rev: 42aa9cf193ae14cccb102c55a51cbc533300ad71)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-06 16:45:17 +00:00
Ross Burton
0add8abc12 buildtools-tarball: package all of Python
Instead of cherry-picking pieces of Python to put into the buildtools tarball,
ship all of it.  We can't predict what bits of Python will be needed in the
future.

(From OE-Core rev: 745dfbc869fd593d1b92e2bc9c01d589ab21ade3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-05 23:30:49 +00:00
Chong Lu
7cde98f997 curl: Security Advisory - curl - CVE-2014-3620
libcurl wrongly allows cookies to be set for Top Level Domains (TLDs), thus
making them apply broader than cookies are allowed. This can allow arbitrary
sites to set cookies that then would get sent to a different and unrelated site
or domain.

(From OE-Core rev: ddbaade8afbc9767583728bfdc220639203d6853)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-05 16:52:58 +00:00
Paul Eggleton
9bfd0dee4f poky-tiny.conf: remove inherit of blacklist
The blacklist class is now automatically inherited.

(From meta-yocto rev: b61b1c2d309ae46ae15cd97eaf4ece8aff20319d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 15:14:23 +00:00
Richard Purdie
2380ebecd1 bitbake: prserv/serv: Ensure sync happens in the correct thread
The sync/commit calls are happening in the submission thread which can
race against the handler. The handler may start new transactions which
then causes the submission thread to error with "cannot start a
transaction within a transaction".

The fix is to move the calls to the correct thread.

(Bitbake rev: 92e128a0e331e563cfe48827e95939041c16c88e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 15:00:19 +00:00
Scott Rifenbark
51f6cb03b0 mega-manual.sed: Updated to support the 1.8 release.
Replaced the 1.7 strings with 1.8 so that all links in the
mega-manual are self-contained and properly resolve.

(From yocto-docs rev: 49f4b02c999ff2c3c78111673f6760f5fde2b82e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:28:30 +00:00
Scott Rifenbark
1484e62e5f documentation: Updated the manual revision history tables.
Added an entry for the 1.8 release stating that the release
is slated for sometime in 2015.

(From yocto-docs rev: 9799a7848f24024048eae0cbed470a2be4b4b879)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:28:30 +00:00
Scott Rifenbark
c2d6febad5 poky-ent: Updated variables to support the 1.8 release.
(From yocto-docs rev: 0d7b1b77108e33c17d7169a1134ad176c20cd85f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:13 +00:00
Chong Lu
27754b2d1b docbook-xsl-stylesheets: add perl to RDEPENDS
This solves the following warning:

docbook-xsl-stylesheets-1.78.1: docbook-xsl-stylesheets requires /usr/bin/perl,
/bin/bash, but no providers in its RDEPENDS [file-rdeps]

(From OE-Core rev: d7a277b35bcc67050046c76fb70412101679a545)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:13 +00:00
Hongxu Jia
f948dbf2e7 rootfs.py: tweak inner warn message catching
The fix filters out irrelevant messages, and makes the catching more
accurate, the inner warn message in do_rootfs usually comes from the
output of complementary install, and pattern the format to catch it.

Here is the example of irrelevant messages:
...
|WARNING: log_check: There is a warn message in the logfile
|WARNING: log_check: Matched keyword: [warn]
|WARNING: log_check: `tmp/deploy/rpm/core2_64/pam-plugin-warn
-1.1.6-r5.0.core2_64.rpm' -> `tmp/work/intel_x86_64-wrs-linux/
wrlinux-image-installer/1.0-r0/rootfs/Packages.intel/./core2_64/
pam-plugin-warn-1.1.6-r5.0.core2_64.rpm'
...

(From OE-Core rev: 4ceb3b5f928af7f631294c83b83e3a3c89cbf890)

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>
2014-11-04 10:27:13 +00:00
Hongxu Jia
944fb2fd02 python-smartpm: report warn rather than error during install with --attempt
With the following config and build image:
...
IMAGE_INSTALL_append = "shadow man-pages"
EXTRA_IMAGE_FEATURES += "doc-pkgs"
...

There is an error during install with --attempt, and it breaks the build.
...
|error: file /usr/share/man/man5/passwd.5 from install of
shadow-doc-4.2.1-r0.i586 conflicts with file from package
man-pages-3.71-r0.i586
...

For complementary and 'attemptonly' package processing, we should make sure
the warn rather than error messages reported.

[YOCTO #6769]

(From OE-Core rev: beb2e989e24e671fecd37805876dfb2375ee0df6)

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>
2014-11-04 10:27:13 +00:00
Hongxu Jia
fe244b285a man-pages/shadow: resolve man pages confliction
Invoke smart/rpm to install man-pages and shadow-doc, there
is a build failure:
...
|error: file /usr/share/man/man5/passwd.5 from install of
shadow-doc-4.2.1-r0.0.core2_64 conflicts with file from
package man-pages-3.70-r0.0.core2_64
|error: file /usr/share/man/man3/getspnam.3 from install of
shadow-doc-4.2.1-r0.0.core2_64 conflicts with file from
package man-pages-3.70-r0.0.core2_64
...
Use alternatives mechanism to fix it.

As README in man-pages said: "Note that sometimes these
pages are duplicates of pages also distributed in other
packages. Be careful not to overwrite more up-to-date
versions. So we set man-pages with lower priority.

[YOCTO #6769]

(From OE-Core rev: 32357da67fa640bc0c14048af1d7b8dbbe8e775e)

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>
2014-11-04 10:27:12 +00:00
Bogdan Purcareata
1c8040ef1c shadow: enable support for subordinate IDs
The subordinate IDs support in pkg-shadow allows unprivileged users to manage a
set of UIDs and GIDs. These subordinate IDs are specified by root, and can be
further used by the unprivileged user they have been assigned to. This user can
then create an e.g. user namespace, where he is allowed to manage his own set of
users and group from the pool of subordinate IDs. More details can be found at
http://lwn.net/Articles/533617/.

Pull a required change from upstream in order to make shadow cross-compile with
subordinate IDs support. Enable flag in recipe.

Changes since v1:
- update changelog

(From OE-Core rev: 8548868c05e52700fd4712298b1705b8ec7ae446)

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:12 +00:00
Roy.Li
18f6c1219a iproute2: backport a patch to make adding vxlan link success
If without this patch:
    $ ip link add vxlan0 type vxlan id 51 group 238.1.1.1 dev eth0
    Error: argument "vxlan0" is wrong: Unknown device
    $

With this patch;
    $ ip link add vxlan0 type vxlan id 51 group 238.1.1.1 dev eth0
    $ ifconfig -a |grep vxlan0
    vxlan0    Link encap:Ethernet  HWaddr da:61:56:2e:c2:20
    $

(From OE-Core rev: 4f2873c8567738310f7e86c633c6da759554b21a)

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>
2014-11-04 10:27:12 +00:00
Gary Thomas
8e146975a3 python-pygtk: Restore pkg-config file
Some previous version of this recipe was errantly removing the pygtk-2.0.pc
(pkg-config) file.  This is needed for other packages to be able to build
against this library.

Also update the .pc file to match current pkg-config use (libdir was missing).

(From OE-Core rev: 8c6158d7bcca2ecf3e150d1e8eaaaa4ece58e1e2)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:12 +00:00
Ming Liu
69dd116eb9 pciutils: Fix multilib header conflict - pci/config.h
pci/config.h conflicts between 32-bit and 64-bit versions.

(From OE-Core rev: 21fb6bc1b030cab14e2c9b14607b34a62262ac06)

Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:12 +00:00
Kai Kang
72964fca1d python-2.7.3:remove BOM insertion code
Backport patch from:
https://hg.python.org/cpython/rev/af46a001d5ec

SysLogHandler converts message to utf8 and adds BOM, supposedly
to conform with RFC5424, but the implementation is broken:
the RFC specifies that the BOM should prefix only unstructured
message part, but current Python implementation puts it in the
middle of structured part, thus confusing RFC-compliant receivers.

(From OE-Core rev: c51caffe5ac0d49844dcbac7967f609d44c20470)

Signed-off-by: yzhu1 <yanjun.zhu@windriver.com>
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>
2014-11-04 10:27:11 +00:00
Pascal Bach
d6fd3030f9 image_types.bbclass: Make ubi depend on ubifs
The ubi command assumes the ubifs file is present.
This makes sure this is really the case.

(From OE-Core rev: 0a947408f32d7ab10d2004e7d9332296b82191a3)

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:11 +00:00
Jackie Huang
8c051c8c31 license.bbclass: canonicalise the licenses named with 'X+'
If INCOMPATIBLE_LICENSE=GPLv3, GPLv3+ should be excluded
as well but not now since there is no SPDXLICENSEMAP for
licenses named with 'X+', we can add all the SPDXLICENSEMAP
settings for licenses named with 'X+' in licenses.conf,
but it's more like a duplication, so improve the canonical_license
function to auto map for 'X+' if SPDXLICENSEMAP for 'X' is
available, so GPLv3+ becomes GPL-3.0+.

(From OE-Core rev: 1d6dab1dbbbfbcb32e58dba3111130157ef2b24f)

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>
2014-11-04 10:27:11 +00:00
Chong Lu
014654f79f curl: Security Advisory - curl - CVE-2014-3613
By not detecting and rejecting domain names for partial literal IP addresses
properly when parsing received HTTP cookies, libcurl can be fooled to both
sending cookies to wrong sites and into allowing arbitrary sites to set cookies
for others.

(From OE-Core rev: 985ef933208da1dd1f17645613ce08e6ad27e2c1)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:11 +00:00
Chong Lu
9adfa08360 kmod: fix debuginfo is missing in shared library
INHIBIT_PACKAGE_STRIP variable will make debuginfo lose in shared library.
The test cases of kmod contain kernel modules for many different architectures,
strip and arch gets confused and throws errors. Pack kernel modules in test
cases to avoid strip command failed.

(From OE-Core rev: 3576399ed163cb3136ee1a2077622035d2033158)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:11 +00:00
Ross Burton
028a39431e systemd: don't add files and dependencies from units Conflicts
Adding dependencies and moving files based on Conflicts tags in unit files isn't
right, mainly as it means that systemd depends on systemd-binfmt, because the
latter ends up containing the shutdown.target unit.

(From OE-Core rev: 02767aac492cedf6ccd02648b8e65751cc23c11c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:11 +00:00
Paul Barker
365947e9d1 package_manager: Fix BAD_RECOMMENDATIONS for opkg
In package_manager.py, when using opkg as the packager, the command 'opkg <args>
info <pkg>' is called to get information about each pkg in BAD_RECOMMENDATIONS
in a format that can be written to the status file. The 'Status: ...' line is
modified and all other lines are passed through. Changing the verbosity level
argument for this command will change what it written into the status file.
Crucially, with the default verbosity level, no blank lines are being printed by
the opkg command and so no blank lines are being written to the status file to
separate each package entry.

The package parsing code in opkg expects package entries in the status file to
be separated by at least one blank line. If no blank line is seen, the next
package entry is interpreted as a continuation of the last package entry, but
the new values overwrite the old values.

So with the default verbosity level, a blank line follows some package entries
and these are parsed. The others are dropped due to the lack of blank lines. As
the verbosity increases, more debugging messages add blank lines and more
packages are parsed.

The solution to ensure that this works correctly regardless of the verbosity
level is simply add a blank line after the output of 'opkg info' is written to
the status file, ensuring that the next package is separated from the current
package.

[YOCTO #6816]

(From OE-Core rev: 3fa24eee41c26fecd5e4f680082288ec772d2de9)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Cc: Chris Carr <chris.carr@ge.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:10 +00:00
Chen Qi
9e07fbbd6f bind: fix to use correct environment file in service file
Use /etc/default/bind9 as the environment file in named.service.

(From OE-Core rev: 0ee1fa68a4d749585c43fc706c8da6e849d10857)

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>
2014-11-04 10:27:10 +00:00
Johan Hovold
56fa8cdbf1 udev: fix uevent-helper disable
Make sure that /proc/sys/kernel/hotplug exists before trying to disable
the uevent-helper mechanism.

Since kernel commit 86d56134f1b6 ("kobject: Make support for
uevent_helper optional.") the kernel can be built without uevent-helper
support. In this case /proc/sys/kernel/hotplug does not exist and the
current sysvinit script fails with

	/etc/rcS.d/S04udev: line 132: can't create /proc/sys/kernel/hotplug: nonexistent directory

when trying to disable the uevent-helper mechanism during boot.

Note that a single NULL-character has always been sufficient to disable.

(From OE-Core rev: f7b8445f2e89ad0a59c2859f9eb26855769f1070)

Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:10 +00:00
yadi.hu@windriver.com
7e8ca6fb18 BusyBox: Fixing broadcast address is not fed and rightly initialized
When using udhcpc along with ip command(/sbin/ip), broadcast address is not
assigned. Broadcast address is successfully assigned when using udhcpc without
ip command existence.

with ip command:
    $ifconfig eth0|grep Bcast
          inet addr:128.224.162.141  Bcast:0.0.0.0  Mask:255.255.254.0
    $
without ip command:
    $ifconfig eth0|grep Bcast
          inet addr:128.224.162.141  Bcast:128.224.163.255  Mask:255.255.254.0
    $

/etc/udhcp.d/50default[simple.script] is called to set ip address by dhcp
client, In case of ifconfig, it doesn't care of it's existence because it
will automatically calculate broadcast address then assign it if there is
no broadcast option. However in case of ip command, it requires broadcast
address statically.

(From OE-Core rev: 666c6a126cd12d2555361f5b573b6a26437df780)

Signed-off-by: Hu <yadi.hu@windriver.com>
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:10 +00:00
Shan Hai
160b53b701 ldconfig-native: fix a endian-ness bug
Some header fields of ELF were read with wrong size on 64bit
big-endian machine, fix it by reading the fields with read64
instead of read32.

(From OE-Core rev: adbf0b1fdf897076e5e3dec2443c8927f315c2e6)

Signed-off-by: Par Olsson <Par.Olsson@windriver.com>
Signed-off-by: Shan Hai <shan.hai@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:10 +00:00
Chong Lu
a60af9ac74 xinetd: add systemd unit file
Add systemd unit file for xinetd.

(From OE-Core rev: aa0a1cbc92a4d586377cb9e9827ee8b90749c364)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:09 +00:00
Andreas Müller
0d339e21db gdb-cross: build with python support
variable contents are displayed properly when debugging qt applications remotely

see [1] for further details

[1] http://qt-project.org/doc/qtcreator-2.6/creator-debugging-helpers.html#debugging-helpers-based-on-python

(From OE-Core rev: 440440363dded1d1549dc94a3eaccfcbb3cf517d)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:09 +00:00
Martin Jansa
41ae2056e6 systemd: don't move libgudev around, it breaks libgudev-1.0.la
* libgudev-1.0.la still references /usr/lib and this change was breaking gypsy (detected in navit) and
  network-manager-applet

(From OE-Core rev: 7807d1d8b9535a87ba3e5ab7df21a2954708333f)

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>
2014-11-04 10:27:09 +00:00
Hongxu Jia
8619d93726 multilib.bbclass/package_manager.py: fix <multilib>-meta-toolchain build failure
There is a failure to build lib32-meta-toolchain:
...
|ERROR: lib32-packagegroup-core-standalone-sdk-target not found in the base
feeds (qemux86_64 x86 noarch any all).
...

In package_manager.py, the variable 'DEFAULTTUNE_virtclass-multilib-lib32'
is used to process multilib image/toolchain. But for the build of lib32-
meta-toolchain, the value of 'DEFAULTTUNE_virtclass-multilib-lib32' is
deleted. In 'bitbake lib32-meta-toolchain -e', we got:
...
|# $DEFAULTTUNE_virtclass-multilib-lib32 [2 operations]
|#   set? /home/jiahongxu/yocto/build-20141010-yocto/conf/local.conf:237
|#     "x86"
|#   del data_smart.py:406 [finalize]
|#     ""
|# pre-expansion value:
|#   "None"
...

The commit 899d45b90061eb3cf3e71029072eee42cd80930c in oe-core deleted
it at DataSmart.finalize
...
Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date:   Tue May 31 23:52:50 2011 +0100

    bitbake/data_smart: Change overrides behaviour to remove
       expanded variables from the datastore
...

We add an internal variable 'DEFAULTTUNE_ML_<multilib>', assign it with the
value of 'DEFAULTTUNE_virtclass-multilib-lib32' before deleting.

For rpm backend in package_manager.py, we use DEFAULTTUNE_virtclass-multilib
-lib32 first, if it is not available, and try to use DEFAULTTUNE_ML_<multilib>

[YOCTO #6842]

(From OE-Core rev: 9c59d3d8b538d3a98ff4b5e5b189a4a23a85da2d)

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>
2014-11-04 10:27:09 +00:00
Hongxu Jia
99b0f382f9 opkg: fix remove pkg with --force-removal-of-dependent-packages failed
opkg remove perl --force-removal-of-dependent-packages
...
Removing package perl-module-extutils-mm-dos from root...
...
Removing package perl-module-extutils-mm-dos from root...
You can force removal of packages with failed prerm scripts with the option:
	--force-remove
No packages removed.
Collected errors:
 * pkg_run_script: Internal error: perl-module-extutils-mm-dos has a
NULL tmp_unpack_dir.
 * opkg_remove_pkg: not removing package "perl-module-extutils-mm-dos",
prerm script failed
...

While remove pkg with '--force-removal-of-dependent-packages',
pkg may be added to remove list multiple times, add status
check to make sure pkg only be removed once.

[YOCTO #6819]

(From OE-Core rev: 476f864b1564265469b5c9074c1f262bce21f119)

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>
2014-11-04 10:27:09 +00:00
Armin Kuster
b19d01469c tzdata: update to 2014i
Changes affecting future time stamps

Pacific/Fiji will observe DST from 2014-11-02 02:00 to
2015-01-18 03:00.  (Thanks to Ken Rylander for the heads-up.)
Guess that future years will use a similar pattern.

A new Zone Pacific/Bougainville, for the part of Papua New
Guinea that plans to switch from UTC+10 to UTC+11 on
2014-12-28 at 02:00.  (Thanks to Kiley Walbom for the
heads-up.)

Changes affecting time zone abbreviations

Since Belarus is not changing its clocks even though Moscow
is, the time zone abbreviation in Europe/Minsk is changing
from FET to its more-traditional value MSK on 2014-10-26 at
01:00.  (Thanks to Alexander Bokovoy for the heads-up about
Belarus.)

The new abbreviation IDT stands for the pre-1976 use of UT+8
in Indochina, to distinguish it better from ICT (UT+7).

Changes affecting past time stamps

Many time stamps have been corrected for Asia/Ho_Chi_Minh
before 1976 (thanks to Trần Ngọc Quân for an indirect pointer
to Trần Tiến Bình's authoritative book).  Asia/Ho_Chi_Minh has
been added to zone1970.tab, to give tzselect users in Vietnam
two choices, since north and south Vietnam disagreed after our
1970 cutoff.

Asia/Phnom_Penh and Asia/Vientiane have been turned into
links, as they differed from existing zones only for older
time stamps.  As usual, these changes affect pre-1970 time
stamps only.  Their old contents have been moved to the
'backzone' file. `

(From OE-Core rev: 00ca64c98615c95343e05017caa6da4720e37be2)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:09 +00:00
Armin Kuster
a5abc5346b tzcode: update to 2014i
Changes affecting code

The time-related library functions now set errno on failure,
and some crashes in the new tzalloc-related library functions
have been fixed.  (Thanks to Christos Zoulas for reporting
most of these problems and for suggesting fixes.)

If USG_COMPAT is defined and the requested time stamp is
standard time, the tz library's localtime and mktime functions
now set the extern variable timezone to a value appropriate
for that time stamp; and similarly for ALTZONE, daylight
saving time, and the altzone variable.  This change is a
companion to the tzname change in 2014h, and is designed to
make timezone and altzone more compatible with tzname.

The tz library's functions now set errno to EOVERFLOW if they
fail because the result cannot be represented.  ctime and
ctime_r now return NULL and set errno when a time stamp is out
of range, rather than having undefined behavior.

Some bugs associated with the new 2014g functions have been
fixed.  This includes a bug that largely incapacitated the new
functions time2posix_z and posix2time_z.  (Thanks to Christos
Zoulas.)  It also includes some uses of uninitialized
variables after tzalloc.  The new code uses the standard type
'ssize_t', which the Makefile now gives porting advice about.

Changes affecting commentary
Updated URLs for NRC Canada (thanks to Matt Johnson and Brian
Inglis).

(From OE-Core rev: 3a4cc36da4786f8de57b328e8220b96fc22f3577)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:08 +00:00
Yuanjie Huang
2eed76b73d mtd-utils: Fix alignment trap triggered by NEON instructions
NEON instruction VLD1.64 was used to copy 64 bits data after type
casting, and they will trigger alignment trap.
This patch uses memcpy to avoid alignment problem.

(From OE-Core rev: a31080021ad3ecfb92220dcb8c717928db268f1e)

Signed-off-by: Yuanjie Huang <Yuanjie.Huang@windriver.com>
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>
2014-11-04 10:27:08 +00:00
Roy Li
bfd2afab83 python3: do not replace ccache in the middle of a path
Python recipe did a sed s/ccache/$(CCACHE) on the Makefile, which
replaces all "ccache" including ones that consist of a full path.
This leads to build error when building in a project path with
"ccache" in its name. Fix it by only replacing "ccache " with
"$(CCACHE) ".

Same fix on python 2.xx is:
1181112cf65bc[python: do not replace ccache in the ]

(From OE-Core rev: 9f2398a0ff42389052155d971f136a37c5dc80da)

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>
2014-11-04 10:27:08 +00:00
Yue Tao
a64e37ac0e subversion: Security Advisory - subversion - CVE-2014-3528
Apache Subversion 1.0.0 through 1.7.x before 1.7.17 and 1.8.x before
1.8.10 uses an MD5 hash of the URL and authentication realm to store
cached credentials, which makes it easier for remote servers to obtain
the credentials via a crafted authentication realm.

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-3528

(From OE-Core rev: e0dc0432b13f38d16f642bdadf8ebc78b7a74806)

Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
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>
2014-11-04 10:27:08 +00:00
Yue Tao
514a91df49 subversion: Security Advisory - subversion - CVE-2014-3522
The Serf RA layer in Apache Subversion 1.4.0 through 1.7.x before 1.7.18
and 1.8.x before 1.8.10 does not properly handle wildcards in the Common
Name (CN) or subjectAltName field of the X.509 certificate, which allows
man-in-the-middle attackers to spoof servers via a crafted
certificate.<a href=http://cwe.mitre.org/data/definitions/297.html
target=_blank>CWE-297: Improper Validation of Certificate with Host
Mismatch</a>

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-3522

(From OE-Core rev: 06a33cd00ea11abec1ebe9d5883e44778075ccc6)

Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
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>
2014-11-04 10:27:07 +00:00
Paul Barker
d962e4550b mc: Update patch status
mc-CTRL.patch has now been accepted upstream.

(From OE-Core rev: ffc1c58809a2f5fef13484613d1b57c2d4c5ebfb)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:07 +00:00
Hongxu Jia
facfeb0b44 multilib.bbclass: fix incorrect TARGET_VENDOR in multilib image
While building multilib extended images such as libXX-core-image-minimal,
the WORKDIR has the same dir with the building of core-image-minimal.

$ ls tmp/work/qemux86_64-poky-linux/ -al
...
drwxrwxr-x  3 jiahongxu jiahongxu 4096 Oct 13 16:01 core-image-minimal
drwxrwxr-x  3 jiahongxu jiahongxu 4096 Oct 16 11:11 lib32-core-image-minimal
...

While image class is inherited, it did not assign OVERRIDES with
'virtclass-multilib-libXXX', so the reason is variable TARGET_VENDOR was
not override for multilib in that situation.

It refers what did for PN and MLPREFIX, and manually do the multilib
override for TARGET_VENDOR in RecipePreFinalise handler.

[YOCTO #6844]

(From OE-Core rev: 7ca012fb3addb11ba3f899efa0619ddd8d3c6946)

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>
2014-11-04 10:27:07 +00:00
Hongxu Jia
150f0f5fff classes/image: remove obsolete MULTILIB_VENDORS
In oe-core commit 03c5f39b4d7dd8c81e0a130b7d5884e5af039a24,
it removed obsolete codes about variable MULTILIB_VENDORS.

We clean up the rest obsolete codes related with
MULTILIB_VENDORS

(From OE-Core rev: 43a1c2dc08b4291e042b6c9ef981bd094ea2c477)

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>
2014-11-04 10:27:07 +00:00
Alexandru DAMIAN
f19b4e995e bitbake: bitbake: clarify startup message
Fix the startup message by making clear which
server runs on which port.

(Bitbake rev: 26d601ab2a677a422bab425696a2cf6357ff3576)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:52 +00:00
Alexandru DAMIAN
24dab21567 bitbake: toaster: update web vcs fields for layers
We update the layer vcs web fields to record extra URLs
for directory and file viewing. Updating the layers
view to show this data.

(Bitbake rev: 14762e182c8af22fd0fa96f0ba0db1ecd2495fbc)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN
298c3d52ba bitbake: toastergui: provide download file capability
We add, for the localhost environments, the capability to
download build artifacts. This is a pontentially dangerous API,
because it gives unrestricted read access to the build environment
file system - do not expose the functionality directly to the
web layer, but use filtering/translation code, such as
exemplified in the build_artifact view.

The capability for remote build environments is dependent
on bug 6835, as to use the collect storage as intermediary
storage for serving files.

[YOCTO #6834]

(Bitbake rev: 5fce7f6e83c6143244faa9618b7ed20c1106e08f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN
2837b110ae bitbake: toaster: change startup parameter passing to avoid race
We avoid a race between the setting the TOASTER_BRBE variable
and reading the variable in toaster ui by supplying the variable
at server startup time through the toaster.conf post-read file.

Additional small changes are included, including marking the
build request with the environment id of where the build took place.

(Bitbake rev: 7c333350418c4140e6c988c5272940f8057d327d)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN
a0660718e6 bitbake: toaster: improvements for admin pages
The default django URL validator marks git URLs as not valid,
so we change the default validators to a URLValidator-derived
that adds git and ssh protocol schemas and inhibits the
frontend URL validator.

We update the branch names based on the white-listed
branch names in the Releases name.

Adds proper class string to ease usage in admin section.

Other small improvements.

(Bitbake rev: 7d51f895bd56bd18f2258059b377851c2ce82114)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>

Conflicts:
	bitbake/lib/toaster/orm/admin.py
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN
97c0beb0eb bitbake: toaster: use modified validators for git url fields
The default django URL validator marks git URLs as not valid,
so we change the default validators to a URLValidator-derived
that adds git and ssh protocol schemas and inhibits the
frontend URL validator.

(Bitbake rev: 7223619505c0939358287e5baf84da0a91cb8d34)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:51 +00:00
Alexandru DAMIAN
a1f7a09801 bitbake: toaster: changes to the landing page
This patch brings in a new landing page to be shown
when there are no builds and no projects available.

The builds page now displays only only the builds part,
without the landing page bits.

There is a new projects page that displays the All Projects
table as specified in the design.

[YOCTO #6682]

(Bitbake rev: c6c7c05521daa9bf16c122d7d472330ca4c05e88)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:50 +00:00
Alexandru DAMIAN
c7382dbd8b bitbake: toastergui: protect variable value reads
We make sure we don't throw an exception when reading
non-existent variables from the database, and we return
empty data that can be displayed without ill effects.

This fixes the Configuration page on empty builds.

(Bitbake rev: 5b13eabdec1e8a052d343fd67654d7fe8974224f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:50 +00:00
Alexandru DAMIAN
477587b996 bitbake: toastergui: refactor objects get in views.py
We refactor the objects.filter()[0] pattern to the proper
Django QuerySet usage of objects.get() to make sure we
get one and only one object for a query.

(Bitbake rev: 6abec6631fbadaecc474f2a4e7981fde3c58657c)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:50 +00:00
Alexandru DAMIAN
1b109c7908 bitbake: toastergui: project edit capabilities in all layers page
This patch definitivates the all layers page, providing interactivity
for adding and removing layers inside the project from this page.

[YOCTO #6590]

(Bitbake rev: e690080f83ad53c5e4a31e8c0fba2cc744eea1eb)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:50 +00:00
Alexandru DAMIAN
960580cb70 bitbake: toaster: fix Project page in order to trigger builds
This patch rewrites the Project page and the additional
infrastructure in order to fix a bug that makes triggering
builds through UI impossible, and to introduce data feeds
for suggestions for the user.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Alexandru DAMIAN
1a463ab98e bitbake: toaster: fix layer source update code
We fix problems in the layer source update code related to
non-null field restrictions.

We add missing layer dependency update.

(Bitbake rev: e1169127405ce10a044ac9cdf4a892838a99d01f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Alexandru DAMIAN
b27fc6f18f bitbake: toaster: we add static copies of AngularJS and related libraries
We add the Angular JS library, release 1.2.23
https://angularjs.org/

We add the Bootstrap directives for AngularUI, release 0.11.0
http://angular-ui.github.io/bootstrap/

The license ued for all libraries is MIT

(Bitbake rev: 8b4d33a6182486795cca53b2832967de583281e1)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Alexandru DAMIAN
f16f434bf2 bitbake: toastergui: update breadcrumb in analysis pages
If we are in managed mode, and we inspect a build that comes
from a project, we modify the breadcrumb as to display
the project from where the build originated.

[YOCTO #6776]

(Bitbake rev: fe568c9350a691c863f9f5bf8703d639c12a9961)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Alexandru DAMIAN
4f1390cd23 bitbake: toasterui: save build id in build request on first chance
We change the saving of the build id to the build request as
soon is the build is created, as to allow for a consistent
display of build data while build is in progress.

(Bitbake rev: 9504ca6a69ba6da21f88b3cc77fa5910d886b6c3)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:49 +00:00
Belen Barros Pena
14e5b27324 bitbake: toastergui: Show failed tasks in the build dashboard
The build dashboard is supposed to show failed
tasks (if any) in the "Tasks" section.

(Bitbake rev: fc2a7be3982ea5441beef1b7e9e187caf5df2beb)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena
324b277336 bitbake: toastergui: Tiny change to help text
Modify the help text we show for the "Task covered by"
information to indicate that a task can be covered by
more than one task.

(Bitbake rev: cad45dfebaabe1875f786ba7ceeb3ee377e926b3)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena
754f3e7e0a bitbake: toastergui: Remove extra <div> from build dashboard
For builds that generate no rootfs files, an extra <div>
was being added between the build status and the build
summary section. This commit removes the extra <div> and the
white space it created.

(Bitbake rev: e84db294f733464b4952a3c92120e5b19e8c2750)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena
ceb113971a bitbake: toastergui: Remove sorting from "Size over total" column
The sorting in this column is tied to the sorting by
"Size". If we make both columns sortable, when you sort
by one of them it also sorts the other, and the table looks
as if you have sorted by 2 columns at the same time.

This was fixed in YOCTO #6061, but turned up again.

(Bitbake rev: acf372eb5a083451ab1507dd24e3a84380420c9a)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena
719f5e41b3 bitbake: toastergui: Fix blue highlight for failed tasks
Change the background colour of table rows with the .error
class from white to transparent, to make sure the blue
highlight animation works when you click on the order
number in the task details page.

(Bitbake rev: 25fd347b6a972164af9a0b5b56f803a296290246)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:48 +00:00
Belen Barros Pena
927943bd9e bitbake: toastergui: Fix reverse dependencies tab for packages included
Make sure the reverse dependencies tab for included packages
shows a notification when the number of reverse dependencies
is 0, instead of an empty table.

(Bitbake rev: 8dc3e582eb5f1d6e9a79de59a53014495a48e862)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Belen Barros Pena
7aaedc2004 bitbake: toastergui: Add missing task descriptions
The "Prebuilt task could be based on" table we provide in the task
details page for prebuilt tasks is missing the task descriptions.
This patch adds them.

[YOCTO #6328]

(Bitbake rev: 64894d640ee70a301f6f399db118ed17c0ccde08)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Belen Barros
93835e78c0 bitbake: toastergui: Amend show rows options
In the templates basetable_bottom.html and basetable_top.html
remove the '2' and '5' options from the 'show rows' menu, and
add the '150' option as per design specs.

Alex edited conflicts.

(Bitbake rev: 03f7ba3d8a101e05c106e5fb65eb379a6e4cb476)

Signed-off-by: Belen Barros <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Belen Barros Pena
daad086438 bitbake: toastergui: Fix help text in packages 'Reverse runtime dependencies' tab
For those packages renamed at packaging time, the help text
in the 'Reverse runtime dependencies' tab was missing the
original package name.

[YOCTO #6327]

(Bitbake rev: ca8fc7bd4ad940c8eeefa57619a6c8423f116fc7)

Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Alexandru DAMIAN
83edc576b2 bitbake: toasterbld: update checksettings command
We update the checksettings command to allow for upstream
git url detection at runtime by looking up a named remote
of a local repository.

Also various small fixes in check settings.

(Bitbake rev: c127ecb3b5b27b705b8714af063d910b944c8bbc)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:39:47 +00:00
Aníbal Limón
d4852795ed maintainers.inc: Updated with some ownership for Aníbal Limón and Alejandro Hernandez.
(From meta-yocto rev: aba82bf1ddd581ed432771c6f19998370e120f41)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:37:42 +00:00
Roy Li
7fb6b0fd61 elfutils: fix elf_cvt_gnuhash
The 'dest' and 'src' can be same, we need to save the value of src32[2]
before swaping it.

(From OE-Core rev: b7936bacf0cc89bdda6722d317274bd4a3af840a)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:37:41 +00:00
Jackie Huang
70ad0500e7 which-2.18: Use foreign strictness to avoid automake errors
Fixed:
Makefile.am: error: required file './ChangeLog' not found

(From OE-Core rev: c84bfa0f519e0bb74aed833a6318c21d91fce377)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:37:41 +00:00
Richard Purdie
e962f99ef0 hicolor-icon-theme: Deal with "make clean" breakage
hicolor-icon-theme can't cope with a "make clean" so disable that
newly enabled functionality.

(From OE-Core rev: 5b806c773a77a24799096b8c4aedfea6cff509f8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:11:52 +00:00
Richard Purdie
b900a8135c gnu-config: Deal with "make clean" breakage
gnu-config can't cope with a "make clean" so disable that
newly enabled functionality.

(From OE-Core rev: 2b0e78267df0ad708a5c15871757ca0db178621f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:11:51 +00:00
Richard Purdie
d5881b7b94 wpa_supplicant: Improve rebuild handling
Due to the split level nature of the wpa_suppliant sources, the standard
clean methods don't work. This change ensures it picks up on changes to
configuration.

(From OE-Core rev: 9183ce719463b20350d2a3de5ead64b0cc642d6e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:11:51 +00:00
Richard Purdie
c1f4b1f766 cmake: Try and improve cleaning of builds when B==S
Currently if B==S for a cmake recipe, the build will not reconfigure. This patch adds
code to remove the generated cmake files, meaning cmake will then be forced to regenerate
them. This forces cmake to see configuration changes it may not otherwise see.

(From OE-Core rev: 01f4ed0cfbc60859aabfa5bff33ed966117a05d7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:11:51 +00:00
Richard Purdie
6bd2d9d395 base.bbclass: Enable using 'make clean' for rebuilds
When something rebuilds say due to ${baselib} changing or some
other key variable, software is often not rebuilt due to the
fact that make detects no dependency change.

By running "make clean" when these changes occur, we can at least try
and ensure the correct rebuilds happen. We use the same checksum check as
autotools to decide if things have changed or not.

(From OE-Core rev: d06f2c089e01b7c67699800a7a54a4225233da93)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:11:51 +00:00
Richard Purdie
444ae98131 autotools: Use make clean for builds not supporting B != S
If the build doesn't support B != S, we can try running "make clean" instead
to try and clean up previous objects if the hash for the task has changed.

This tries to ensure that when variables like ${baselib} change, the changes are
correctly accounted for.

(From OE-Core rev: c2f761e2010857e2a2aad1dccf06ec39d15c1c86)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:11:51 +00:00
Tom Zanussi
fcf56083b9 wic: Update bootimg-partition to use bootimg_dir
Update bootimg-partition to use bootimg_dir instead of img_deploy_dir,
to match similar usage in other plugins.

As mentioned elsewhere, plugins should use the passed-in value for
bootimg_dir directly if non-null, which corresponds to a user-assigned
value specified via a -b command-line param, and only fetch the value
from bitbake if that value is null.

(From OE-Core rev: 3822f8a7b33da56ecd9144b4bcae50734fb1af81)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:03:41 +00:00
Tom Zanussi
42d0334aa8 wic: Remove special-case bootimg_dir
The first iterations of wic very shortsightedly catered to two
specific use-cases and added special-purpose params for those cases so
that they could be directly given their corresponding boot artifacts.
(hdddir and staging_data_dir).

As more use-cases are added, it becomes rather obvious that such a
scheme doens't scale, and additionally causes confusion for plugin
writers.

This removes those special cases and states explicitly in the help
text that plugins are responsible for locating their own boot
artifacts.

(From OE-Core rev: 6ba3eb5ff7c47aee6b3419fb3a348a634fe74ac9)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:03:41 +00:00
Tom Zanussi
38400617fe Revert "wic: set bootimg_dir when using image-name artifacts"
This reverts commit 7ce1dc13f9.

This patch broke the assumption that a non-null boot_dir means a
user-assigned (-b command-line param) value.

Reverting doesn't break anything, since the case it was added for
doesn't use the boot_dir for anything except debugging anyhow.

Fixes [YOCTO #6290]

(From OE-Core rev: db90f10bf31dec8d7d7bb2d3680d50e133662850)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:03:41 +00:00
Tom Zanussi
d1f8b8f5d0 wic: Update the help text to include -D (--debug)
The --debug option is missing from the wic help text; this adds it and
at the same time rearranges the usage into a more logical arrangement.

(From OE-Core rev: cf5144ef241d8f4ccaa3461ae5c9f89c2cf2f8d1)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:03:40 +00:00
Tom Zanussi
005d81da2b wic: Use overhead factor when creating partitions from rootfs directories
When creating partitions sized to given rootfs directories, filesystem
creation could fail in cases where the calculated target partition
size was too small to contain the filesystem created using mkfs.  This
occurred in particular when creating partitions to contain very large
filesystems such as those containing sdk image artifacts.

This same limition is present in the oe-core image creation classes,
which can be readily see by changing IMAGE_OVERHEAD_FACTOR from the
default 1.3 to 1.0 and building a sato-sdk image.

It should be possible to calculate required sizes exactly given the
source rootfs and target filesystem types, but for now, to address the
specific problem users are hitting in such situations, we'll just do
exactly what oe-core does and define and use an IMAGE_OVERHEAD_FACTOR
or 1.3 in those cases.

Fixes [YOCTO #6863].

(From OE-Core rev: bbaef3ff5833fc1d97b7b028d7770834f62789da)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:03:40 +00:00
Tom Zanussi
334f83a146 wic: Don't allow mkfs to fail silently in partition command
The return code from the mkfs command used by the partition creation
command was being ignored, allowing it to silently fail and leaving
users mystified as to why the resulting filesystem was corrupted.

This became obvious when failures occurred when creating large
e.g. sdk filesystems [YOCTO #6863].

(From OE-Core rev: 8cef3b06f7e9f9d922673f430ddb3170d2fac000)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:03:40 +00:00
Michael Wood
87dec81de6 bitbake: buildinfohelper: Make sure we use the orm defined value for loglevel
We need to consistently use LogMessage.INFO/WARNING/ERROR to make sure toaster knows
how to categories these rather than passing in the "raw" loglevel value
which in best case comes from python logging but worst case any value.

[YOCTO 6885]

(Bitbake rev: 3aa13bc1d8218c97c76581a895fa5f03ff807fbe)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:01:22 +00:00
Pascal Bach
c97194b0b1 image.py: Fix error in graph sorting
The graph sorting algorithm for image dependencies does a look for an
occurrence of a searched string instead of comparing the chunk to the
searched string. This leads to the problem that ubifs is recognized as ubi aswell.

This fixes this by splitting up the string into chunks.

(From OE-Core rev: cec9725c540c2d54c27092e40d159694cea75b5f)

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:01:22 +00:00
Peter Seebach
ef32b9f55d multilib.conf: set MULTILIB_GLOBAL_VARIANTS conditionally
It is not entirely obvious that all reasonable configurations
will have multilib.conf strictly before the file which might
want to set MULTILIB_GLOBAL_VARIANTS. The x86-ish values here
look like reasonable default guesses, but shouldn't override
an explicit setting.

(From OE-Core rev: 2645c07892abe79f73379b1ca4196f593cb3b330)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:01:22 +00:00
Khem Raj
55d66edd36 mklibs: Fix loader for mipsel
Additionally treat ld.so to be searched in sysroot

Change-Id: I8b4acb821d9855a1163c7149bc8e369c7c438856
(From OE-Core rev: 4cf539e67333ba2c3fe924b092e104da53e68ca0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:01:21 +00:00
Khem Raj
b8740fd5ec glibc: Delete ldconfig when USE_LDCONFIG is not set
This avoids below QA error/warning
/sbin/ldconfig [installed-vs-shipped]

Change-Id: I028b692eefeaa6e0e0e6507ab4108caa29e41e91
(From OE-Core rev: 2b499db19cd9bd14292457716b50dc62ed90515d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:01:21 +00:00
Richard Purdie
6476f0bf3d rm_work: Speed up rootfs/populate_sdk removal
Commands like bitbake X -c rootfs or bitbake X -c populate_sdk do not
trigger rm_work to clean up the directories afterwards since it
traditionally hooks onto do_build. This change means those two tasks now
clean up after themselves. We use the cleandirs function attribute to
handle this.

[YOCTO #6413]

(From OE-Core rev: 6bf06d80c2ce03dfdedac5ad8cf42ef8e36b0ecb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:01:21 +00:00
Richard Purdie
678e8798eb gcc: poison default sysroot path
Various pieces of the code assume that the --sysroot option gets passed
into the compiler tools. By having a "sane" default, we don't always
spot when this occurs and this can later show up as breakage in sstate,
or in usage of the external toolchain.

We've long since talked about poisoning the default such that it will
break unless the correct option is specified. This patch does just that.

If this patch causes something to fail to build, it most likely means
the various compiler flags and commands are not correctly being passed
through to the underlying piece of software and that there is a real
problem that needs fixing, its not the fault of this patch.

(From OE-Core rev: 04b725511a505c582a3abdf63d096967f0320779)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:01:21 +00:00
Scott Rifenbark
4faca22b8f ref-manual: Updates to the migrating to YP 1.7 section.
Some minor wording changes and a new section added for local.conf
QEMU changes.  Also, reordered some sections.

(From yocto-docs rev: 65207b6afa6df7d82cd3482d61f10b308da6fac7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-28 22:31:18 +00:00
Scott Rifenbark
a0aeeff2c6 dev-manual: Updates to "Performing Automated Runtime Testing"
Updated the section to account for some new variables and
several more ways to run tests against expanded targets.  Also
added power control section.

(From yocto-docs rev: a0f08466c00ae51a99d790fa6c9dccef2e0f1518)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-28 22:31:18 +00:00
Scott Rifenbark
0761eba74d ref-manual: Added some new test variables:
* TEST_SERIALCONTROL_CMD
 * TEST_SERIALCONTROL_EXTRA_ARGS
 * TEST_POWERCONTROL_CMD
 * TEST_POWERCONTROL_EXTRA_ARGS

(From yocto-docs rev: 25f196cc03178f07201ef183fb309721d412e971)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-28 22:31:17 +00:00
Scott Rifenbark
9908d9ed00 ref-manual: Updated list of supported distros.
Added Debian 7.5 and 7.6 to the list.

(From yocto-docs rev: 35fd5d5399fe1759158aef19d7b6eb68f2a1af12)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-28 22:31:17 +00:00
Ben Shelton
cf82c6756b bitbake: prserv: don't wait until exit to sync
In the commit 'prserv: Ensure data is committed', the PR server moved to
only committing transactions to the database when the PR server is
stopped.  This improves performance, but it means that if the machine
running the PR server loses power unexpectedly or if the PR server
process gets SIGKILL, the uncommitted package revision data is lost.

To fix this issue, sync the database periodically, once per 30 seconds
by default, if it has been marked as dirty.  To be safe, continue to
sync the database at exit regardless of its status.

(Bitbake rev: 424df64f2e9679043f0ce2b4f7dfc59c3d404304)

Signed-off-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-28 15:00:39 +00:00
Oscar Utbult
2794f916ff bitbake: utils.py: don't use len() for truth value testing.
(Bitbake rev: 4bdfeab7845bdcd62a4928200dd13701414a464e)

Signed-off-by: Oscar Utbult <oscar@oscr.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-28 14:58:34 +00:00
Koen Kooi
f5b9b389c0 bitbake: fetch2: add .lz compression support
See http://www.nongnu.org/lzip/lzip.html for details on the compression
format.

(Bitbake rev: 9027b1273b5405c7269b013604ab417771b5eafe)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-28 14:58:26 +00:00
Otavio Salvador
dacc4ce59e nativesdk-cmake: Adjust toolchain paths dynamically
This patch adds a flexible way to configure the CMake in SDKs. It adds
a toolchain configuration script which supports subscripts for
extensions, as for example Qt5.

(From OE-Core rev: 4143f3b0ce0d0c52f5b0babc1bb16ac0ac9610eb)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 21:59:46 +01:00
Saul Wold
ce339dde32 poky-lsb: Set LTSI as base kernel for LSB
By doing this we will enable the LTSI kernel (3.10 at this time) for the LSB
based images.

[YOCTO #6853]

(From meta-yocto rev: 4f828e2160942cb05c93fa6f48a5a4b590940497)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:51:59 +01:00
Ross Burton
0cfb89bc06 poky.conf: add Debian 7.7 to SANITY_TESTED_DISTROS
(From meta-yocto rev: bf36e7598d1718851b2d49fe77b4a46b4da3071a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:21 +01:00
Robert Yang
dd376e77f4 local.conf.sample.extended: update for RPM_PREFER_ELF_ARCH
Updated as the rpm upstream suggested:
- RPM_PREFER_COLOR -> RPM_PREFER_ELF_ARCH
- 3 -> 4

(From meta-yocto rev: 4bc3b88bbf626e412b5e3892d0b6fbe641e1cb1a)

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>
2014-10-24 17:36:21 +01:00
Bruce Ashfield
11dafe8447 kernel-yocto: fix branch validation for AUTOREV, non machine_meta kernels
The simplication of do_validate_branches missed a case where a custom
kernel can supply SRCREV="${AUTOREV}", and not use SRCREV_machine at all.

In this case, we will incorrectly try and test the tree for a non-existent
commit, and break the build.

By simplying the condition of the check to look for an empty SRCREV_machine,
we can skip manipulating the tree and testing for a SRCREV.

(From OE-Core rev: 212a4bd9b086365c022842a2ac6a2a25bd486002)

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>
2014-10-24 17:36:17 +01:00
Bruce Ashfield
2f93628290 linux-yocto/3.17: v3.17 release and config
Updating the SRCREVs to incoroprate the full 3.17 release, and also
updating the meta data to match the v3.17 content:

  9ba007f8d0ab meta: bump kver to v3.17-final
  5c6c5fe9b0bf config: remove CONFIG_HOTPLUG
  0ceecad5f15a qemu: explicitly include usb configuration fragments
  f6c78ada8655 gfx: convert CONFIG_TABLET_USB_WACOM to CONFIG_HID_USB_WACOM
  cd1dbedfa3c9 x86: Support 32 bit binaries

(From OE-Core rev: 18de1328dc99b851742468a3f366e3acdcce48d4)

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>
2014-10-24 17:36:17 +01:00
Bruce Ashfield
cdfe99f22a linux-yocto/3.10: 8250/8250_dw: fix compile failure due to stable/Yocto conflict
Updating the SRCREVs for the following fix:

   8250/8250_dw: fix compile failure due to stable/Yocto conflict

    As of merge 60a9d9fc565e4503dbb8705803e83d906afc4ad2, "Merge
    tag 'v3.10.48' into standard/base" the 8250_dw.c fails to
    compile due to an undeclared variable.

    This happens because stable brought in:

     -------------------------
     commit 6d5e79331417886196cb3a733bdb6645ba85bc42
     Author: Tim Kryger <tim.kryger@linaro.org>
     Date:   Tue Oct 1 10:18:08 2013 -0700

        serial: 8250_dw: Improve unwritable LCR workaround

        commit c49436b657d0a56a6ad90d14a7c3041add7cf64d upstream.

     [...]

        [wangnan: backport to 3.10.43:
          - adjust context
          - remove unneeded local var]
        Signed-off-by: Wang Nan <wangnan0@huawei.com>
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
     ------------------------

    ...which deletes the p->private_data declaration since it became
    unused at that point, however in Yocto, we also have this:

     -----------------------
     commit 0e02b050c3cafbcbf9952125089a27e02d6ecea9
     Author: David Daney <david.daney@cavium.com>
     Date:   Wed Jun 19 20:37:27 2013 +0000

        tty/8250_dw: Add support for OCTEON UARTS.

     [...]

        Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
        (cherry picked from commit d5f1af7ece96cf52e0b110c72210ac15c2f65438)
        Signed-off-by: Darren Hart <dvhart@linux.intel.com>
     -----------------------

    ...which _adds_ another user of the p->private_data.

    Here we restore the declaration in order that 8250_dw compiles.

    Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
    [PG: add root cause info to commit log.]
    Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

(From OE-Core rev: 4b4d1f38ea54ef8545e726ac9e181da08a2bad05)

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>
2014-10-24 17:36:17 +01:00
Ross Burton
fc0a068d47 unifdef: remove fork, package upstream
Instead of building specifiaclly for native a static fork of unifdef from
2007, simply package the latest tarball.

(From OE-Core rev: f642a9753b33c2f35d502b6721601fc690f674ec)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:17 +01:00
Ross Burton
ac638b7bd1 native.bbclass: use BUILD_* variables
Instead of replicating the logic for the host compiler naming from bitbake.conf,
use the BUILD_* variables directly.

Also change BUILD_CPP to use gcc -E (which native.bbclass previously used), as
some recipes (e.g. grub-efi) use ${CPP} with multiple input files, which gcc -E
can handle but cpp can't.

(From OE-Core rev: 9237d18964ff0bf76f5c37fca21ab3974d81d0d2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:16 +01:00
Ming Liu
9f33c2858c rpm: realpath is required before expanding _dbpath in chroot
A regression is introduced by commit 66573093:
[ rpm: Fix rpm relocation macro usage ]

_usr turned out to be a relative path to support dyanmic config after
that, but it's being used somewhere as a indicator to locate substrings,
so we must get the real path of it in advance.

(From OE-Core rev: 1247955a907f51aac7efd305d26856e263c11a65)

Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:16 +01:00
He Zhe
4c222d3a67 kernel.bbclass: Create modules directory even if there is no modules installed
During kernel_do_install it needs to make symbol link at
${D}/lib/modules/${KERNEL_VERSION}/build, but there will not be
${D}/lib/modules/${KERNEL_VERSION} if there is no modules installed for current
image, which will result in a build failure.
Add "mkdir -p ${D}/lib/modules/${KERNEL_VERSION}" here to avoid this failure
and the need of similar changes in other scripts that also expect it to exist.

(From OE-Core rev: f2f72f8ff623d24fffbb1b0ad40bc08f05ff31dd)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:16 +01:00
Joe MacDonald
b05755c6ef libxml2: fix CVE-2014-3660
It was discovered that the patch for CVE-2014-0191 for libxml2 is
incomplete.  It is still possible to have libxml2 incorrectly perform
entity substituton even when the application using libxml2 explicitly
disables the feature.  This can allow a remote denial-of-service attack on
systems with libxml2 prior to 2.9.2.

References:
    http://www.openwall.com/lists/oss-security/2014/10/17/7
    https://www.ncsc.nl/actueel/nieuwsberichten/kwetsbaarheid-ontdekt-in-libxml2.html

(From OE-Core rev: 643597a5c432b2e02033d0cefa3ba4da980d078f)

Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:16 +01:00
Roy.Li
0de79a72bf nfs-utils: fix start-statd
1. add /bin to PATH of start-statd, otherwise systemctl can not be found.
2. drop error when systemd fails to start statd.service; since if it failed,
rpc.statd will be called directly.

(From OE-Core rev: 048130996300e1762bc6d714ba09aac5a326843d)

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>
2014-10-24 17:36:16 +01:00
Joe Slater
38f02f1836 cross-localedef-native: provide SRCREV_FORMAT
Add SRCREV_FORMAT to provide a composite version number
for get_srcrev() in fetch2 code.

(From OE-Core rev: 87cda76a2f004813420d7730c4f2f74839d3c2df)

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>
2014-10-24 17:36:16 +01:00
Joe Slater
1a0485040c archiver: fix truncation of src_rev
In trying to eliminate AUTOINC+ from revision strings,
we accidently truncated the strings to almost guarantee
information from SRCREV_FORMAT, when supplied, would be
lost.  So, we now only delete any AUTOINC+'s from the string.

(From OE-Core rev: 83c6930cdfac5a7759c4786172a5c70226e6adc4)

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>
2014-10-24 17:36:15 +01:00
Jianchuan Wang
caebcda412 libaio: fix for mips64
Add mips64 support in the libaio.h
- add macro PADDED/PADDEDptr/PADDEDul in the mips64 for structure iocb
  to be matched userland with kernel

(From OE-Core rev: ce0a999efe5c9bfd4780bd2b7c24e99f580474c0)

Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:15 +01:00
Chen Qi
c908f5e257 systemd: fix libidn floating dependency
WARNING: QA Issue: systemd rdepends on libidn, but it isn't a build dependency? [build-deps]

(From OE-Core rev: 83be6e94f35b44baa6c363c9518f85e7670246f3)

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>
2014-10-24 17:36:15 +01:00
Arindam Nath
c981ebba29 grub: add cmdpath to grub configuration file
An issue was found where when yocto is installed to a hard disk
from a live USB key, no matter what boot order was selected in
the BIOS menu, the grub menu of the USB key would always show
up. The issue was narrowed down to the way grub configuration
file gets embedded into the standalone bootx64.efi image.

The commit prepends ($cmdpath) to the search path for grub.cfg,
thus making sure the UEFI environment itself sets this to the
correct device path. This in-turn lets the grub.cfg of the boot
device to be loaded.

(From OE-Core rev: 5ce73b6055ac5a47906e2e661bc5163604f5cec9)

Signed-off-by: Arindam Nath <arindam.nath@amd.com>
Reviewed-by: Drew Moseley <drew_moseley@mentor.com>
Tested-by: Ravikiran Polepalli <Ravikiran_Polepalli@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:15 +01:00
Tobias Olausson
f348071efd spdx.bbclass: improved stability, fixed SPDX compliance issues. Changes are reflected in licenses.conf.
The previous version could crash on dead links in the rootfs, or if the manifest directory did not
exist. The generated files were also not compliant with the SPDX specification, for example file
entries did not always start with the FileName tag, time stamps were incorrectly formatted etc.

Stability issues are addressed by added checks, originally written by Johan Thelin
<johan.thelin@pelagicore.com>, who never upstreamed them. I've also added an option for getting full
SPDX output from FOSSology, i.e. not only for all files, but for the package as well, including
license references. License refs are required in order to process the output by SPDXTools. For that
reason, this option defaults to true.

(From OE-Core rev: 5d3a4f4f57e4d8581fd88a14324f94e93104a690)

Signed-off-by: Tobias Olausson <tobias.olausson@pelagicore.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:15 +01:00
Hongxu Jia
8882eaaf97 default-versions.inc: match version of db and db-native while "AGPL-3.0" in ${INCOMPATIBLE_LICENSE}
The db 6.0.30's LICENSE is 'AGPL-3.0', and db 5.3.28 LICENSE is
'Sleepycat'

While building rpm image with "AGPL-3.0" in ${INCOMPATIBLE_LICENSE},
db 6.0.30 and db-native 5.3.28 were built, the different versions
caused the rpm doesn't work on target.

...
root@qemux86-64:~# rpm -qa
|rpmdb: BDB2531 Unacceptable log file /var/lib/rpm/./log/log.0000000001:
unsupported log version 21
|rpmdb: BDB2527 Invalid log file: log.0000000001: Invalid argument
|rpmdb: BDB0061 PANIC: Invalid argument
|==> rpmdbe_event_notify(0x623f40, PANIC(0), 0x7fffee0fbc0c) app_private
(nil)
|rpmdb: BDB1546 unable to join the environment
|error: db_init:tmp/work/core2-64-poky-linux/rpm/5.4.14-r0/rpm-5.4.14/
rpmdb/db3.c:1144: dbenv->open(-30973): BDB0087 DB_RUNRECOVERY: Fatal
error, run database recovery
...

[YOCTO #6858]

(From OE-Core rev: e5a40391dfa12c44f31bdb7550df1275edda3864)

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>
2014-10-24 17:36:15 +01:00
Randy Witt
7a206eb3bf libtool: Extend fix-final-rpath.patch
When building upower from meta-oe, the following QA error occurred:
ERROR: QA Issue: package upower contains bad RPATH

It appears to have been caused by one of the cases fix-final-rpath.patch
is meant to address but missed. So this change fixes the additional case
that was causing upower to have the QA error.

(From OE-Core rev: d2b2bb7cedb678c9f67ef1d9170fc427d9beee1e)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:14 +01:00
Jonathan Liu
12769d73ff liburcu: revert ARM GCC blacklist commit
This fixes the following error when building liburcu:
"Your gcc version produces clobbered frame accesses"

OE-Core is using a patched GCC 4.8.2 which is able to compile liburcu
properly.

(From OE-Core rev: 83bb2c2b1f68abfc4d882b2aec3b5468372b1436)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:14 +01:00
Roy Li
5269dfa0e6 nfs-utils: fix a Gcc undefined behavior
Calling strncpy with NULL second argument, even when the size is 0,
is undefined behavior, which leads to GCC to drop the check old
variable with NULL in following code.

https://bugzilla.yoctoproject.org/show_bug.cgi?id=6743

(From OE-Core rev: af56e7559d31cb9cb84b85a7dedd8e12cf1f06cd)

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>
2014-10-24 17:36:14 +01:00
Chong Lu
d7cb96f28d python-smartpm: Add checking for "rpm-ignoresize" option
The do_rootfs takes a very long time when build host has mounted many NFS
devices. syscall lstat() was being called on every filesystem mounted on the
build host during building.
The reason for the lstat() is that rpm is verifying that enough free disk space
is available to do the install. However, since the install is into the target
rootfs it should not matter how much free space there is in the host mounts.
Add checking for "rpm-ignoresize", by it, smart can make whether RPM skip
checking for diskspace when install a rpm package.

(From OE-Core rev: fc0668a019eca422540ceab3efcd2b2a27dd79e0)

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:14 +01:00
Dan McGregor
fd50427935 systemd: Use ${ROOT_HOME} instead of /root
systemd avoids using nss lookups for the root user, so
naturally it assumes that root's home directory is /root.
In OE that's not the case, and it can lead to long delays when
shutting down due to user shutdown unit failures.

(From OE-Core rev: e1efc61979b329c651c15acff1afeba2987397b5)

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>
2014-10-24 17:36:13 +01:00
1964 changed files with 79473 additions and 196818 deletions

2
.gitignore vendored
View File

@@ -8,7 +8,7 @@ scripts/oe-git-proxy-socks
sources/
meta-*/
!meta-skeleton
!meta-hob
!meta-selftest
hob-image-*.bb
*.swp
*.orig

29
README
View File

@@ -30,20 +30,29 @@ For information about OpenEmbedded, see the OpenEmbedded website:
Where to Send Patches
=====================
As Poky is an integration repository, patches against the various components
should be sent to their respective upstreams.
As Poky is an integration repository (built using a tool called combo-layer),
patches against the various components should be sent to their respective
upstreams:
bitbake:
bitbake-devel@lists.openembedded.org
Git repository: http://git.openembedded.org/bitbake/
Mailing list: bitbake-devel@lists.openembedded.org
meta-yocto:
poky@yoctoproject.org
documentation:
Git repository: http://git.yoctoproject.org/cgit/cgit.cgi/yocto-docs/
Mailing list: yocto@yoctoproject.org
Most everything else should be sent to the OpenEmbedded Core mailing list. If
in doubt, check the oe-core git repository for the content you intend to modify.
meta-yocto(-bsp):
Git repository: http://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto(-bsp)
Mailing list: poky@yoctoproject.org
Everything else should be sent to the OpenEmbedded Core mailing list. If in
doubt, check the oe-core git repository for the content you intend to modify.
Before sending, be sure the patches apply cleanly to the current oe-core git
repository.
openembedded-core@lists.openembedded.org
Note: The scripts directory should be treated with extra care as it is a mix
of oe-core and poky-specific files.
Git repository: http://git.openembedded.org/openembedded-core/
Mailing list: openembedded-core@lists.openembedded.org
Note: The scripts directory should be treated with extra care as it is a mix of
oe-core and poky-specific files.

View File

@@ -251,14 +251,14 @@ if used via a usb card reader):
5. If using core-image-minimal rootfs, install the modules
# tar x -C /media/root -f modules-beaglebone.tgz
6. If using core-image-minimal rootfs, install the kernel uImage into /boot
6. If using core-image-minimal rootfs, install the kernel zImage into /boot
directory of rootfs
# cp uImage-beaglebone.bin /media/root/boot/uImage
# cp zImage-beaglebone.bin /media/root/boot/zImage
7. If using core-image-minimal rootfs, also install device tree (DTB) files
into /boot directory of rootfs
# cp uImage-am335x-bone.dtb /media/root/boot/am335x-bone.dtb
# cp uImage-am335x-boneblack.dtb /media/root/boot/am335x-boneblack.dtb
# cp zImage-am335x-bone.dtb /media/root/boot/am335x-bone.dtb
# cp zImage-am335x-boneblack.dtb /media/root/boot/am335x-boneblack.dtb
8. Unmount the SD partitions, insert the SD card into the Beaglebone, and
boot the Beaglebone
@@ -352,19 +352,22 @@ Setup instructions
------------------
You will need the following:
* NFS root setup on your workstation
* TFTP server installed on your workstation
* RJ45 -> serial ("rollover") cable connected from your PC to the CONSOLE
port on the board
port on the device
* Ethernet connected to the first ethernet port on the board
If using NFS as part of the setup process, you will also need:
* NFS root setup on your workstation
* TFTP server installed on your workstation (if fetching the kernel from
TFTP, see below).
--- Preparation ---
Build an image (e.g. core-image-minimal) using "edgerouter" as the MACHINE.
In the following instruction it is based on core-image-minimal. Another target
may be similiar with it.
--- Booting from NFS root ---
--- Booting from NFS root / kernel via TFTP ---
Load the kernel, and boot the system as follows:

View File

@@ -23,363 +23,22 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys, logging
import sys
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)),
'lib'))
import optparse
import warnings
from traceback import format_exception
try:
import bb
except RuntimeError as exc:
sys.exit(str(exc))
from bb import event
import bb.msg
from bb import cooker
from bb import ui
from bb import server
from bb import cookerdata
__version__ = "1.24.0"
logger = logging.getLogger("BitBake")
# Python multiprocessing requires /dev/shm
if not os.access('/dev/shm', os.W_OK | os.X_OK):
sys.exit("FATAL: /dev/shm does not exist or is not writable")
# Unbuffer stdout to avoid log truncation in the event
# of an unorderly exit as well as to provide timely
# updates to log files for use with tail
try:
if sys.stdout.name == '<stdout>':
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
except:
pass
def get_ui(config):
if not config.ui:
# modify 'ui' attribute because it is also read by cooker
config.ui = os.environ.get('BITBAKE_UI', 'knotty')
interface = config.ui
try:
# Dynamically load the UI based on the ui name. Although we
# suggest a fixed set this allows you to have flexibility in which
# ones are available.
module = __import__("bb.ui", fromlist = [interface])
return getattr(module, interface)
except AttributeError:
sys.exit("FATAL: Invalid user interface '%s' specified.\n"
"Valid interfaces: depexp, goggle, ncurses, hob, knotty [default]." % interface)
# Display bitbake/OE warnings via the BitBake.Warnings logger, ignoring others"""
warnlog = logging.getLogger("BitBake.Warnings")
_warnings_showwarning = warnings.showwarning
def _showwarning(message, category, filename, lineno, file=None, line=None):
if file is not None:
if _warnings_showwarning is not None:
_warnings_showwarning(message, category, filename, lineno, file, line)
else:
s = warnings.formatwarning(message, category, filename, lineno)
warnlog.warn(s)
warnings.showwarning = _showwarning
warnings.filterwarnings("ignore")
warnings.filterwarnings("default", module="(<string>$|(oe|bb)\.)")
warnings.filterwarnings("ignore", category=PendingDeprecationWarning)
warnings.filterwarnings("ignore", category=ImportWarning)
warnings.filterwarnings("ignore", category=DeprecationWarning, module="<string>$")
warnings.filterwarnings("ignore", message="With-statements now directly support multiple context managers")
class BitBakeConfigParameters(cookerdata.ConfigParameters):
def parseCommandLine(self):
parser = optparse.OptionParser(
version = "BitBake Build Tool Core version %s, %%prog version %s" % (bb.__version__, __version__),
usage = """%prog [options] [recipename/target ...]
Executes the specified task (default is 'build') for a given set of target recipes (.bb files).
It is assumed there is a conf/bblayers.conf available in cwd or in BBPATH which
will provide the layer, BBFILES and other configuration information.""")
parser.add_option("-b", "--buildfile", help = "Execute tasks from a specific .bb recipe directly. WARNING: Does not handle any dependencies from other recipes.",
action = "store", dest = "buildfile", default = None)
parser.add_option("-k", "--continue", help = "Continue as much as possible after an error. While the target that failed and anything depending on it cannot be built, as much as possible will be built before stopping.",
action = "store_false", dest = "abort", default = True)
parser.add_option("-a", "--tryaltconfigs", help = "Continue with builds by trying to use alternative providers where possible.",
action = "store_true", dest = "tryaltconfigs", default = False)
parser.add_option("-f", "--force", help = "Force the specified targets/task to run (invalidating any existing stamp file).",
action = "store_true", dest = "force", default = False)
parser.add_option("-c", "--cmd", help = "Specify the task to execute. The exact options available depend on the metadata. Some examples might be 'compile' or 'populate_sysroot' or 'listtasks' may give a list of the tasks available.",
action = "store", dest = "cmd")
parser.add_option("-C", "--clear-stamp", help = "Invalidate the stamp for the specified task such as 'compile' and then run the default task for the specified target(s).",
action = "store", dest = "invalidate_stamp")
parser.add_option("-r", "--read", help = "Read the specified file before bitbake.conf.",
action = "append", dest = "prefile", default = [])
parser.add_option("-R", "--postread", help = "Read the specified file after bitbake.conf.",
action = "append", dest = "postfile", default = [])
parser.add_option("-v", "--verbose", help = "Output more log message data to the terminal.",
action = "store_true", dest = "verbose", default = False)
parser.add_option("-D", "--debug", help = "Increase the debug level. You can specify this more than once.",
action = "count", dest="debug", default = 0)
parser.add_option("-n", "--dry-run", help = "Don't execute, just go through the motions.",
action = "store_true", dest = "dry_run", default = False)
parser.add_option("-S", "--dump-signatures", help = "Dump out the signature construction information, with no task execution. The SIGNATURE_HANDLER parameter is passed to the handler. Two common values are none and printdiff but the handler may define more/less. none means only dump the signature, printdiff means compare the dumped signature with the cached one.",
action = "append", dest = "dump_signatures", default = [], metavar="SIGNATURE_HANDLER")
parser.add_option("-p", "--parse-only", help = "Quit after parsing the BB recipes.",
action = "store_true", dest = "parse_only", default = False)
parser.add_option("-s", "--show-versions", help = "Show current and preferred versions of all recipes.",
action = "store_true", dest = "show_versions", default = False)
parser.add_option("-e", "--environment", help = "Show the global or per-recipe environment complete with information about where variables were set/changed.",
action = "store_true", dest = "show_environment", default = False)
parser.add_option("-g", "--graphviz", help = "Save dependency tree information for the specified targets in the dot syntax.",
action = "store_true", dest = "dot_graph", default = False)
parser.add_option("-I", "--ignore-deps", help = """Assume these dependencies don't exist and are already provided (equivalent to ASSUME_PROVIDED). Useful to make dependency graphs more appealing""",
action = "append", dest = "extra_assume_provided", default = [])
parser.add_option("-l", "--log-domains", help = """Show debug logging for the specified logging domains""",
action = "append", dest = "debug_domains", default = [])
parser.add_option("-P", "--profile", help = "Profile the command and save reports.",
action = "store_true", dest = "profile", default = False)
parser.add_option("-u", "--ui", help = "The user interface to use (e.g. knotty, hob, depexp).",
action = "store", dest = "ui")
parser.add_option("-t", "--servertype", help = "Choose which server to use, process or xmlrpc.",
action = "store", dest = "servertype")
parser.add_option("", "--token", help = "Specify the connection token to be used when connecting to a remote server.",
action = "store", dest = "xmlrpctoken")
parser.add_option("", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not.",
action = "store_true", dest = "revisions_changed", default = False)
parser.add_option("", "--server-only", help = "Run bitbake without a UI, only starting a server (cooker) process.",
action = "store_true", dest = "server_only", default = False)
parser.add_option("-B", "--bind", help = "The name/address for the bitbake server to bind to.",
action = "store", dest = "bind", default = False)
parser.add_option("", "--no-setscene", help = "Do not run any setscene tasks. sstate will be ignored and everything needed, built.",
action = "store_true", dest = "nosetscene", default = False)
parser.add_option("", "--remote-server", help = "Connect to the specified server.",
action = "store", dest = "remote_server", default = False)
parser.add_option("-m", "--kill-server", help = "Terminate the remote server.",
action = "store_true", dest = "kill_server", default = False)
parser.add_option("", "--observe-only", help = "Connect to a server as an observing-only client.",
action = "store_true", dest = "observe_only", default = False)
parser.add_option("", "--status-only", help = "Check the status of the remote bitbake server.",
action = "store_true", dest = "status_only", default = False)
options, targets = parser.parse_args(sys.argv)
# some environmental variables set also configuration options
if "BBSERVER" in os.environ:
options.servertype = "xmlrpc"
options.remote_server = os.environ["BBSERVER"]
if "BBTOKEN" in os.environ:
options.xmlrpctoken = os.environ["BBTOKEN"]
# if BBSERVER says to autodetect, let's do that
if options.remote_server:
[host, port] = options.remote_server.split(":", 2)
port = int(port)
# use automatic port if port set to -1, means read it from
# the bitbake.lock file; this is a bit tricky, but we always expect
# to be in the base of the build directory if we need to have a
# chance to start the server later, anyway
if port == -1:
lock_location = "./bitbake.lock"
# we try to read the address at all times; if the server is not started,
# we'll try to start it after the first connect fails, below
try:
lf = open(lock_location, 'r')
remotedef = lf.readline()
[host, port] = remotedef.split(":")
port = int(port)
lf.close()
options.remote_server = remotedef
except Exception as e:
sys.exit("Failed to read bitbake.lock (%s), invalid port" % str(e))
return options, targets[1:]
def start_server(servermodule, configParams, configuration, features):
server = servermodule.BitBakeServer()
if configParams.bind:
(host, port) = configParams.bind.split(':')
server.initServer((host, int(port)))
configuration.interface = [ server.serverImpl.host, server.serverImpl.port ]
else:
server.initServer()
configuration.interface = []
try:
configuration.setServerRegIdleCallback(server.getServerIdleCB())
cooker = bb.cooker.BBCooker(configuration, features)
server.addcooker(cooker)
server.saveConnectionDetails()
except Exception as e:
exc_info = sys.exc_info()
while hasattr(server, "event_queue"):
try:
import queue
except ImportError:
import Queue as queue
try:
event = server.event_queue.get(block=False)
except (queue.Empty, IOError):
break
if isinstance(event, logging.LogRecord):
logger.handle(event)
raise exc_info[1], None, exc_info[2]
server.detach()
return server
def main():
configParams = BitBakeConfigParameters()
configuration = cookerdata.CookerConfiguration()
configuration.setConfigParameters(configParams)
ui_module = get_ui(configParams)
# Server type can be xmlrpc or process currently, if nothing is specified,
# the default server is process
if configParams.servertype:
server_type = configParams.servertype
else:
server_type = 'process'
try:
module = __import__("bb.server", fromlist = [server_type])
servermodule = getattr(module, server_type)
except AttributeError:
sys.exit("FATAL: Invalid server type '%s' specified.\n"
"Valid interfaces: xmlrpc, process [default]." % server_type)
if configParams.server_only:
if configParams.servertype != "xmlrpc":
sys.exit("FATAL: If '--server-only' is defined, we must set the servertype as 'xmlrpc'.\n")
if not configParams.bind:
sys.exit("FATAL: The '--server-only' option requires a name/address to bind to with the -B option.\n")
if configParams.remote_server:
sys.exit("FATAL: The '--server-only' option conflicts with %s.\n" %
("the BBSERVER environment variable" if "BBSERVER" in os.environ else "the '--remote-server' option" ))
if configParams.bind and configParams.servertype != "xmlrpc":
sys.exit("FATAL: If '-B' or '--bind' is defined, we must set the servertype as 'xmlrpc'.\n")
if configParams.remote_server and configParams.servertype != "xmlrpc":
sys.exit("FATAL: If '--remote-server' is defined, we must set the servertype as 'xmlrpc'.\n")
if configParams.observe_only and (not configParams.remote_server or configParams.bind):
sys.exit("FATAL: '--observe-only' can only be used by UI clients connecting to a server.\n")
if configParams.kill_server and not configParams.remote_server:
sys.exit("FATAL: '--kill-server' can only be used to terminate a remote server")
if "BBDEBUG" in os.environ:
level = int(os.environ["BBDEBUG"])
if level > configuration.debug:
configuration.debug = level
bb.msg.init_msgconfig(configParams.verbose, configuration.debug,
configuration.debug_domains)
# Ensure logging messages get sent to the UI as events
handler = bb.event.LogHandler()
if not configParams.status_only:
# In status only mode there are no logs and no UI
logger.addHandler(handler)
# Clear away any spurious environment variables while we stoke up the cooker
cleanedvars = bb.utils.clean_environment()
featureset = []
if not configParams.server_only:
# Collect the feature set for the UI
featureset = getattr(ui_module, "featureSet", [])
if not configParams.remote_server:
# we start a server with a given configuration
server = start_server(servermodule, configParams, configuration, featureset)
bb.event.ui_queue = []
else:
# we start a stub server that is actually a XMLRPClient that connects to a real server
server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, configParams.xmlrpctoken)
server.saveConnectionDetails(configParams.remote_server)
if not configParams.server_only:
try:
server_connection = server.establishConnection(featureset)
except Exception as e:
if configParams.kill_server:
sys.exit(0)
bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e)))
# Restore the environment in case the UI needs it
for k in cleanedvars:
os.environ[k] = cleanedvars[k]
logger.removeHandler(handler)
if configParams.status_only:
server_connection.terminate()
sys.exit(0)
if configParams.kill_server:
server_connection.connection.terminateServer()
bb.event.ui_queue = []
sys.exit(0)
try:
return ui_module.main(server_connection.connection, server_connection.events, configParams)
finally:
bb.event.ui_queue = []
server_connection.terminate()
else:
print("server address: %s, server port: %s" % (server.serverImpl.host, server.serverImpl.port))
return 0
return 1
from bb.main import bitbake_main, BitBakeConfigParameters
if __name__ == "__main__":
try:
ret = main()
ret = bitbake_main(BitBakeConfigParameters(sys.argv),
cookerdata.CookerConfiguration())
except bb.BBHandledException:
ret = 1
except Exception:

View File

@@ -46,6 +46,12 @@ logger = logger_create('bitbake-diffsigs')
def find_compare_task(bbhandler, pn, taskname):
""" Find the most recent signature files for the specified PN/task and compare them """
def get_hashval(siginfo):
if siginfo.endswith('.siginfo'):
return siginfo.rpartition(':')[2].partition('_')[0]
else:
return siginfo.rpartition('.')[2]
if not hasattr(bb.siggen, 'find_siginfo'):
logger.error('Metadata does not support finding signature data files')
sys.exit(1)
@@ -54,7 +60,7 @@ def find_compare_task(bbhandler, pn, taskname):
taskname = 'do_%s' % taskname
filedates = bb.siggen.find_siginfo(pn, taskname, None, bbhandler.config_data)
latestfiles = sorted(filedates.keys(), key=lambda f: filedates[f])[-2:]
latestfiles = sorted(filedates.keys(), key=lambda f: filedates[f])[-3:]
if not latestfiles:
logger.error('No sigdata files found matching %s %s' % (pn, taskname))
sys.exit(1)
@@ -62,6 +68,16 @@ def find_compare_task(bbhandler, pn, taskname):
logger.error('Only one matching sigdata file found for the specified task (%s %s)' % (pn, taskname))
sys.exit(1)
else:
# It's possible that latestfiles contain 3 elements and the first two have the same hash value.
# In this case, we delete the second element.
# The above case is actually the most common one. Because we may have sigdata file and siginfo
# file having the same hash value. Comparing such two files makes no sense.
if len(latestfiles) == 3:
hash0 = get_hashval(latestfiles[0])
hash1 = get_hashval(latestfiles[1])
if hash0 == hash1:
latestfiles.pop(1)
# Define recursion callback
def recursecb(key, hash1, hash2):
hashes = [hash1, hash2]

View File

@@ -5,7 +5,7 @@
# See the help output for details on available commands.
# Copyright (C) 2011 Mentor Graphics Corporation
# Copyright (C) 2012 Intel Corporation
# Copyright (C) 2011-2015 Intel Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@@ -20,13 +20,15 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import cmd
import logging
import os
import sys
import fnmatch
from collections import defaultdict
import argparse
import re
import httplib, urlparse, json
import subprocess
bindir = os.path.dirname(__file__)
topdir = os.path.dirname(bindir)
@@ -39,26 +41,24 @@ import bb.utils
import bb.tinfoil
logger = logging.getLogger('BitBake')
def logger_create(name, output=sys.stderr):
logger = logging.getLogger(name)
console = logging.StreamHandler(output)
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
if output.isatty():
format.enable_color()
console.setFormatter(format)
logger.addHandler(console)
logger.setLevel(logging.INFO)
return logger
logger = logger_create('bitbake-layers', sys.stdout)
def main(args):
cmds = Commands()
if args:
# Allow user to specify e.g. show-layers instead of show_layers
args = [args[0].replace('-', '_')] + args[1:]
cmds.onecmd(' '.join(args))
else:
cmds.do_help('')
return cmds.returncode
class Commands(cmd.Cmd):
class Commands():
def __init__(self):
self.bbhandler = None
self.returncode = 0
self.bblayers = []
cmd.Cmd.__init__(self)
def init_bbhandler(self, config_only = False):
if not self.bbhandler:
@@ -66,27 +66,6 @@ class Commands(cmd.Cmd):
self.bblayers = (self.bbhandler.config_data.getVar('BBLAYERS', True) or "").split()
self.bbhandler.prepare(config_only)
def default(self, line):
"""Handle unrecognised commands"""
sys.stderr.write("Unrecognised command or option\n")
self.do_help('')
def do_help(self, topic):
"""display general help or help on a specified command"""
if topic:
sys.stdout.write('%s: ' % topic)
cmd.Cmd.do_help(self, topic.replace('-', '_'))
else:
sys.stdout.write("usage: bitbake-layers <command> [arguments]\n\n")
sys.stdout.write("Available commands:\n")
procnames = list(set(self.get_names()))
for procname in procnames:
if procname[:3] == 'do_':
sys.stdout.write(" %s\n" % procname[3:].replace('_', '-'))
doc = getattr(self, procname).__doc__
if doc:
sys.stdout.write(" %s\n" % doc.splitlines()[0])
def do_show_layers(self, args):
"""show current configured layers"""
self.init_bbhandler(config_only = True)
@@ -103,6 +82,293 @@ class Commands(cmd.Cmd):
logger.plain("%s %s %d" % (layername.ljust(20), layerdir.ljust(40), layerpri))
def do_add_layer(self, args):
"""Add a layer to bblayers.conf
Adds the specified layer to bblayers.conf
"""
layerdir = os.path.abspath(args.layerdir)
if not os.path.exists(layerdir):
sys.stderr.write("Specified layer directory doesn't exist\n")
return 1
layer_conf = os.path.join(layerdir, 'conf', 'layer.conf')
if not os.path.exists(layer_conf):
sys.stderr.write("Specified layer directory doesn't contain a conf/layer.conf file\n")
return 1
bblayers_conf = os.path.join('conf', 'bblayers.conf')
if not os.path.exists(bblayers_conf):
sys.stderr.write("Unable to find bblayers.conf\n")
return 1
(notadded, _) = bb.utils.edit_bblayers_conf(bblayers_conf, layerdir, None)
if notadded:
for item in notadded:
sys.stderr.write("Specified layer %s is already in BBLAYERS\n" % item)
def do_remove_layer(self, args):
"""Remove a layer from bblayers.conf
Removes the specified layer from bblayers.conf
"""
bblayers_conf = os.path.join('conf', 'bblayers.conf')
if not os.path.exists(bblayers_conf):
sys.stderr.write("Unable to find bblayers.conf\n")
return 1
if args.layerdir.startswith('*'):
layerdir = args.layerdir
else:
layerdir = os.path.abspath(args.layerdir)
(_, notremoved) = bb.utils.edit_bblayers_conf(bblayers_conf, None, layerdir)
if notremoved:
for item in notremoved:
sys.stderr.write("No layers matching %s found in BBLAYERS\n" % item)
return 1
def get_json_data(self, apiurl):
proxy_settings = os.environ.get("http_proxy", None)
conn = None
_parsedurl = urlparse.urlparse(apiurl)
path = _parsedurl.path
query = _parsedurl.query
def parse_url(url):
parsedurl = urlparse.urlparse(url)
if parsedurl.netloc[0] == '[':
host, port = parsedurl.netloc[1:].split(']', 1)
if ':' in port:
port = port.rsplit(':', 1)[1]
else:
port = None
else:
if parsedurl.netloc.count(':') == 1:
(host, port) = parsedurl.netloc.split(":")
else:
host = parsedurl.netloc
port = None
return (host, 80 if port is None else int(port))
if proxy_settings is None:
host, port = parse_url(apiurl)
conn = httplib.HTTPConnection(host, port)
conn.request("GET", path + "?" + query)
else:
host, port = parse_url(proxy_settings)
conn = httplib.HTTPConnection(host, port)
conn.request("GET", apiurl)
r = conn.getresponse()
if r.status != 200:
raise Exception("Failed to read " + path + ": %d %s" % (r.status, r.reason))
return json.loads(r.read())
def get_layer_deps(self, layername, layeritems, layerbranches, layerdependencies, branchnum, selfname=False):
def layeritems_info_id(items_name, layeritems):
litems_id = None
for li in layeritems:
if li['name'] == items_name:
litems_id = li['id']
break
return litems_id
def layerbranches_info(items_id, layerbranches):
lbranch = {}
for lb in layerbranches:
if lb['layer'] == items_id and lb['branch'] == branchnum:
lbranch['id'] = lb['id']
lbranch['vcs_subdir'] = lb['vcs_subdir']
break
return lbranch
def layerdependencies_info(lb_id, layerdependencies):
ld_deps = []
for ld in layerdependencies:
if ld['layerbranch'] == lb_id and not ld['dependency'] in ld_deps:
ld_deps.append(ld['dependency'])
if not ld_deps:
logger.error("The dependency of layerDependencies is not found.")
return ld_deps
def layeritems_info_name_subdir(items_id, layeritems):
litems = {}
for li in layeritems:
if li['id'] == items_id:
litems['vcs_url'] = li['vcs_url']
litems['name'] = li['name']
break
return litems
if selfname:
selfid = layeritems_info_id(layername, layeritems)
lbinfo = layerbranches_info(selfid, layerbranches)
if lbinfo:
selfsubdir = lbinfo['vcs_subdir']
else:
logger.error("%s is not found in the specified branch" % layername)
return
selfurl = layeritems_info_name_subdir(selfid, layeritems)['vcs_url']
if selfurl:
return selfurl, selfsubdir
else:
logger.error("Cannot get layer %s git repo and subdir" % layername)
return
ldict = {}
itemsid = layeritems_info_id(layername, layeritems)
if not itemsid:
return layername, None
lbid = layerbranches_info(itemsid, layerbranches)
if lbid:
lbid = layerbranches_info(itemsid, layerbranches)['id']
else:
logger.error("%s is not found in the specified branch" % layername)
return None, None
for dependency in layerdependencies_info(lbid, layerdependencies):
lname = layeritems_info_name_subdir(dependency, layeritems)['name']
lurl = layeritems_info_name_subdir(dependency, layeritems)['vcs_url']
lsubdir = layerbranches_info(dependency, layerbranches)['vcs_subdir']
ldict[lname] = lurl, lsubdir
return None, ldict
def get_fetch_layer(self, fetchdir, url, subdir, fetch_layer):
layername = self.get_layer_name(url)
if os.path.splitext(layername)[1] == '.git':
layername = os.path.splitext(layername)[0]
repodir = os.path.join(fetchdir, layername)
layerdir = os.path.join(repodir, subdir)
if not os.path.exists(repodir):
if fetch_layer:
result = subprocess.call('git clone %s %s' % (url, repodir), shell = True)
if result:
logger.error("Failed to download %s" % url)
return None, None
else:
return layername, layerdir
else:
logger.plain("Repository %s needs to be fetched" % url)
return layername, layerdir
elif os.path.exists(layerdir):
return layername, layerdir
else:
logger.error("%s is not in %s" % (url, subdir))
return None, None
def do_layerindex_fetch(self, args):
"""Fetches a layer from a layer index along with its dependent layers, and adds them to conf/bblayers.conf.
"""
self.init_bbhandler(config_only = True)
apiurl = self.bbhandler.config_data.getVar('BBLAYERS_LAYERINDEX_URL', True)
if not apiurl:
logger.error("Cannot get BBLAYERS_LAYERINDEX_URL")
else:
if apiurl[-1] != '/':
apiurl += '/'
apiurl += "api/"
apilinks = self.get_json_data(apiurl)
branches = self.get_json_data(apilinks['branches'])
branchnum = 0
for branch in branches:
if branch['name'] == args.branch:
branchnum = branch['id']
break
if branchnum == 0:
validbranches = ', '.join([branch['name'] for branch in branches])
logger.error('Invalid layer branch name "%s". Valid branches: %s' % (args.branch, validbranches))
return 1
ignore_layers = []
for collection in self.bbhandler.config_data.getVar('BBFILE_COLLECTIONS', True).split():
lname = self.bbhandler.config_data.getVar('BBLAYERS_LAYERINDEX_NAME_%s' % collection, True)
if lname:
ignore_layers.append(lname)
if args.ignore:
ignore_layers.extend(args.ignore.split(','))
layeritems = self.get_json_data(apilinks['layerItems'])
layerbranches = self.get_json_data(apilinks['layerBranches'])
layerdependencies = self.get_json_data(apilinks['layerDependencies'])
invaluenames = []
repourls = {}
printlayers = []
def query_dependencies(layers, layeritems, layerbranches, layerdependencies, branchnum):
depslayer = []
for layername in layers:
invaluename, layerdict = self.get_layer_deps(layername, layeritems, layerbranches, layerdependencies, branchnum)
if layerdict:
repourls[layername] = self.get_layer_deps(layername, layeritems, layerbranches, layerdependencies, branchnum, selfname=True)
for layer in layerdict:
if not layer in ignore_layers:
depslayer.append(layer)
printlayers.append((layername, layer, layerdict[layer][0], layerdict[layer][1]))
if not layer in ignore_layers and not layer in repourls:
repourls[layer] = (layerdict[layer][0], layerdict[layer][1])
if invaluename and not invaluename in invaluenames:
invaluenames.append(invaluename)
return depslayer
depslayers = query_dependencies(args.layername, layeritems, layerbranches, layerdependencies, branchnum)
while depslayers:
depslayer = query_dependencies(depslayers, layeritems, layerbranches, layerdependencies, branchnum)
depslayers = depslayer
if invaluenames:
for invaluename in invaluenames:
logger.error('Layer "%s" not found in layer index' % invaluename)
return 1
logger.plain("%s %s %s %s" % ("Layer".ljust(19), "Required by".ljust(19), "Git repository".ljust(54), "Subdirectory"))
logger.plain('=' * 115)
for layername in args.layername:
layerurl = repourls[layername]
logger.plain("%s %s %s %s" % (layername.ljust(20), '-'.ljust(20), layerurl[0].ljust(55), layerurl[1]))
printedlayers = []
for layer, dependency, gitrepo, subdirectory in printlayers:
if dependency in printedlayers:
continue
logger.plain("%s %s %s %s" % (dependency.ljust(20), layer.ljust(20), gitrepo.ljust(55), subdirectory))
printedlayers.append(dependency)
if repourls:
fetchdir = self.bbhandler.config_data.getVar('BBLAYERS_FETCH_DIR', True)
if not fetchdir:
logger.error("Cannot get BBLAYERS_FETCH_DIR")
return 1
if not os.path.exists(fetchdir):
os.makedirs(fetchdir)
addlayers = []
for repourl, subdir in repourls.values():
name, layerdir = self.get_fetch_layer(fetchdir, repourl, subdir, not args.show_only)
if not name:
# Error already shown
return 1
addlayers.append((subdir, name, layerdir))
if not args.show_only:
for subdir, name, layerdir in set(addlayers):
if os.path.exists(layerdir):
if subdir:
logger.plain("Adding layer \"%s\" to conf/bblayers.conf" % subdir)
else:
logger.plain("Adding layer \"%s\" to conf/bblayers.conf" % name)
localargs = argparse.Namespace()
localargs.layerdir = layerdir
self.do_add_layer(localargs)
else:
break
def do_layerindex_show_depends(self, args):
"""Find layer dependencies from layer index.
"""
args.show_only = True
args.ignore = []
self.do_layerindex_fetch(args)
def version_str(self, pe, pv, pr = None):
verstr = "%s" % pv
if pr:
@@ -115,32 +381,13 @@ class Commands(cmd.Cmd):
def do_show_overlayed(self, args):
"""list overlayed recipes (where the same recipe exists in another layer)
usage: show-overlayed [-f] [-s]
Lists the names of overlayed recipes and the available versions in each
layer, with the preferred version first. Note that skipped recipes that
are overlayed will also be listed, with a " (skipped)" suffix.
Options:
-f instead of the default formatting, list filenames of higher priority
recipes with the ones they overlay indented underneath
-s only list overlayed recipes where the version is the same
"""
self.init_bbhandler()
show_filenames = False
show_same_ver_only = False
for arg in args.split():
if arg == '-f':
show_filenames = True
elif arg == '-s':
show_same_ver_only = True
else:
sys.stderr.write("show-overlayed: invalid option %s\n" % arg)
self.do_help('')
return
items_listed = self.list_recipes('Overlayed recipes', None, True, show_same_ver_only, show_filenames, True)
items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, True)
# Check for overlayed .bbclass files
classes = defaultdict(list)
@@ -167,7 +414,7 @@ Options:
overlayed_class_found = True
mainfile = bb.utils.which(bbpath, os.path.join('classes', classfile))
if show_filenames:
if args.filenames:
logger.plain('%s' % mainfile)
else:
# We effectively have to guess the layer here
@@ -181,7 +428,7 @@ Options:
for classdir in classdirs:
fullpath = os.path.join(classdir, classfile)
if fullpath != mainfile:
if show_filenames:
if args.filenames:
print(' %s' % fullpath)
else:
print(' %s' % self.get_layer_name(os.path.dirname(classdir)))
@@ -196,38 +443,15 @@ Options:
def do_show_recipes(self, args):
"""list available recipes, showing the layer they are provided by
usage: show-recipes [-f] [-m] [pnspec]
Lists the names of overlayed recipes and the available versions in each
Lists the names of recipes and the available versions in each
layer, with the preferred version first. Optionally you may specify
pnspec to match a specified recipe name (supports wildcards). Note that
skipped recipes will also be listed, with a " (skipped)" suffix.
Options:
-f instead of the default formatting, list filenames of higher priority
recipes with other available recipes indented underneath
-m only list where multiple recipes (in the same layer or different
layers) exist for the same recipe name
"""
self.init_bbhandler()
show_filenames = False
show_multi_provider_only = False
pnspec = None
title = 'Available recipes:'
for arg in args.split():
if arg == '-f':
show_filenames = True
elif arg == '-m':
show_multi_provider_only = True
elif not arg.startswith('-'):
pnspec = arg
title = 'Available recipes matching %s:' % pnspec
else:
sys.stderr.write("show-recipes: invalid option %s\n" % arg)
self.do_help('')
return
self.list_recipes(title, pnspec, False, False, show_filenames, show_multi_provider_only)
self.list_recipes(title, args.pnspec, False, False, args.filenames, args.multiple)
def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_multi_provider_only):
@@ -277,7 +501,13 @@ Options:
if len(allproviders[p]) > 1 or not show_multi_provider_only:
pref = preferred_versions[p]
preffile = bb.cache.Cache.virtualfn2realfn(pref[1])[0]
realfn = bb.cache.Cache.virtualfn2realfn(pref[1])
preffile = realfn[0]
# We only display once per recipe, we should prefer non extended versions of the
# recipe if present (so e.g. in OpenEmbedded, openssl rather than nativesdk-openssl
# which would otherwise sort first).
if realfn[1] and realfn[0] in self.bbhandler.cooker.recipecache.pkg_fn:
continue
if preffile not in preffiles:
preflayer = self.get_file_layer(preffile)
multilayer = False
@@ -307,9 +537,7 @@ Options:
def do_flatten(self, args):
"""flattens layer configuration into a separate output directory.
usage: flatten [layer1 layer2 [layer3]...] <outputdir>
"""flatten layer configuration into a separate output directory.
Takes the specified layers (or all layers in the current layer
configuration if none are specified) and builds a "flattened" directory
@@ -331,26 +559,19 @@ bbappends in the layers interact, and then attempt to use the new output
layer together with that other layer, you may no longer get the same
build results (as the layer priority order has effectively changed).
"""
arglist = args.split()
if len(arglist) < 1:
logger.error('Please specify an output directory')
self.do_help('flatten')
return
if len(arglist) == 2:
if len(args.layer) == 1:
logger.error('If you specify layers to flatten you must specify at least two')
self.do_help('flatten')
return
return 1
outputdir = arglist[-1]
outputdir = args.outputdir
if os.path.exists(outputdir) and os.listdir(outputdir):
logger.error('Directory %s exists and is non-empty, please clear it out first' % outputdir)
return
return 1
self.init_bbhandler()
layers = self.bblayers
if len(arglist) > 2:
layernames = arglist[:-1]
if len(args.layer) > 2:
layernames = args.layer
found_layernames = []
found_layerdirs = []
for layerdir in layers:
@@ -499,14 +720,12 @@ build results (as the layer priority order has effectively changed).
def do_show_appends(self, args):
"""list bbappend files and recipe files they apply to
usage: show-appends
Recipes are listed with the bbappends that apply to them as subitems.
Lists recipes with the bbappends that apply to them as subitems.
"""
self.init_bbhandler()
if not self.bbhandler.cooker.collection.appendlist:
logger.plain('No append files found')
return
return 0
logger.plain('=== Appended recipes ===')
@@ -545,7 +764,6 @@ Recipes are listed with the bbappends that apply to them as subitems.
if best_filename in missing:
logger.warn('%s: missing append for preferred version',
best_filename)
self.returncode |= 1
def get_appends_for_files(self, filenames):
@@ -564,29 +782,13 @@ Recipes are listed with the bbappends that apply to them as subitems.
return appended, notappended
def do_show_cross_depends(self, args):
"""figure out the dependency between recipes that crosses a layer boundary.
"""Show dependencies between recipes that cross layer boundaries.
usage: show-cross-depends [-f] [-i layer1[,layer2[,layer3...]]]
Figure out the dependencies between recipes that cross layer boundaries.
Figure out the dependency between recipes that crosses a layer boundary.
Options:
-f show full file path
-i ignore dependencies on items in the specified layer(s)
NOTE:
The .bbappend file can impact the dependency.
NOTE: .bbappend files can impact the dependencies.
"""
import optparse
parser = optparse.OptionParser(usage="show-cross-depends [-f] [-i layer1[,layer2[,layer3...]]]")
parser.add_option("-f", "",
action="store_true", dest="show_filenames")
parser.add_option("-i", "",
action="store", dest="ignore_layers", default="")
options, args = parser.parse_args(sys.argv)
ignore_layers = options.ignore_layers.split(',')
ignore_layers = (args.ignore or '').split(',')
self.init_bbhandler()
@@ -612,7 +814,7 @@ The .bbappend file can impact the dependency.
self.bbhandler.config_data,
self.bbhandler.cooker_data,
self.bbhandler.cooker_data.pkg_pn)
self.check_cross_depends("DEPENDS", layername, f, best[3], options.show_filenames, ignore_layers)
self.check_cross_depends("DEPENDS", layername, f, best[3], args.filenames, ignore_layers)
# The RDPENDS
all_rdeps = self.bbhandler.cooker_data.rundeps[f].values()
@@ -632,7 +834,7 @@ The .bbappend file can impact the dependency.
best = bb.providers.filterProvidersRunTime(all_p, rdep,
self.bbhandler.config_data,
self.bbhandler.cooker_data)[0][0]
self.check_cross_depends("RDEPENDS", layername, f, best, options.show_filenames, ignore_layers)
self.check_cross_depends("RDEPENDS", layername, f, best, args.filenames, ignore_layers)
# The RRECOMMENDS
all_rrecs = self.bbhandler.cooker_data.runrecs[f].values()
@@ -652,7 +854,7 @@ The .bbappend file can impact the dependency.
best = bb.providers.filterProvidersRunTime(all_p, rrec,
self.bbhandler.config_data,
self.bbhandler.cooker_data)[0][0]
self.check_cross_depends("RRECOMMENDS", layername, f, best, options.show_filenames, ignore_layers)
self.check_cross_depends("RRECOMMENDS", layername, f, best, args.filenames, ignore_layers)
# The inherit class
cls_re = re.compile('classes/')
@@ -667,7 +869,7 @@ The .bbappend file can impact the dependency.
continue
inherit_layername = self.get_file_layer(cls)
if inherit_layername != layername and not inherit_layername in ignore_layers:
if not options.show_filenames:
if not args.filenames:
f_short = self.remove_layer_prefix(f)
cls = self.remove_layer_prefix(cls)
else:
@@ -687,7 +889,7 @@ The .bbappend file can impact the dependency.
if pv_re.search(needed_file) and f in self.bbhandler.cooker_data.pkg_pepvpr:
pv = self.bbhandler.cooker_data.pkg_pepvpr[f][1]
needed_file = re.sub(r"\${PV}", pv, needed_file)
self.print_cross_files(bbpath, keyword, layername, f, needed_file, options.show_filenames, ignore_layers)
self.print_cross_files(bbpath, keyword, layername, f, needed_file, args.filenames, ignore_layers)
line = fnfile.readline()
fnfile.close()
@@ -714,7 +916,7 @@ The .bbappend file can impact the dependency.
bbclass=".bbclass"
# Find a 'require/include xxxx'
if m:
self.print_cross_files(bbpath, keyword, layername, f, m.group(1) + bbclass, options.show_filenames, ignore_layers)
self.print_cross_files(bbpath, keyword, layername, f, m.group(1) + bbclass, args.filenames, ignore_layers)
line = ffile.readline()
ffile.close()
@@ -754,5 +956,84 @@ The .bbappend file can impact the dependency.
logger.plain("%s %s %s" % (f, keyword, best_realfn))
if __name__ == '__main__':
sys.exit(main(sys.argv[1:]) or 0)
def main():
cmds = Commands()
def add_command(cmdname, function, *args, **kwargs):
# Convert docstring for function to help (one-liner shown in main --help) and description (shown in subcommand --help)
docsplit = function.__doc__.splitlines()
help = docsplit[0]
if len(docsplit) > 1:
desc = '\n'.join(docsplit[1:])
else:
desc = help
subparser = subparsers.add_parser(cmdname, *args, help=help, description=desc, formatter_class=argparse.RawTextHelpFormatter, **kwargs)
subparser.set_defaults(func=function)
return subparser
parser = argparse.ArgumentParser(description="BitBake layers utility",
epilog="Use %(prog)s <subcommand> --help to get help on a specific command")
parser.add_argument('-d', '--debug', help='Enable debug output', action='store_true')
parser.add_argument('-q', '--quiet', help='Print only errors', action='store_true')
subparsers = parser.add_subparsers(title='subcommands', metavar='<subcommand>')
parser_show_layers = add_command('show-layers', cmds.do_show_layers)
parser_add_layer = add_command('add-layer', cmds.do_add_layer)
parser_add_layer.add_argument('layerdir', help='Layer directory to add')
parser_remove_layer = add_command('remove-layer', cmds.do_remove_layer)
parser_remove_layer.add_argument('layerdir', help='Layer directory to remove (wildcards allowed, enclose in quotes to avoid shell expansion)')
parser_remove_layer.set_defaults(func=cmds.do_remove_layer)
parser_show_overlayed = add_command('show-overlayed', cmds.do_show_overlayed)
parser_show_overlayed.add_argument('-f', '--filenames', help='instead of the default formatting, list filenames of higher priority recipes with the ones they overlay indented underneath', action='store_true')
parser_show_overlayed.add_argument('-s', '--same-version', help='only list overlayed recipes where the version is the same', action='store_true')
parser_show_recipes = add_command('show-recipes', cmds.do_show_recipes)
parser_show_recipes.add_argument('-f', '--filenames', help='instead of the default formatting, list filenames of higher priority recipes with the ones they overlay indented underneath', action='store_true')
parser_show_recipes.add_argument('-m', '--multiple', help='only list where multiple recipes (in the same layer or different layers) exist for the same recipe name', action='store_true')
parser_show_recipes.add_argument('pnspec', nargs='?', help='optional recipe name specification (wildcards allowed, enclose in quotes to avoid shell expansion)')
parser_show_appends = add_command('show-appends', cmds.do_show_appends)
parser_flatten = add_command('flatten', cmds.do_flatten)
parser_flatten.add_argument('layer', nargs='*', help='Optional layer(s) to flatten (otherwise all are flattened)')
parser_flatten.add_argument('outputdir', help='Output directory')
parser_show_cross_depends = add_command('show-cross-depends', cmds.do_show_cross_depends)
parser_show_cross_depends.add_argument('-f', '--filenames', help='show full file path', action='store_true')
parser_show_cross_depends.add_argument('-i', '--ignore', help='ignore dependencies on items in the specified layer(s) (split multiple layer names with commas, no spaces)', metavar='LAYERNAME')
parser_layerindex_fetch = add_command('layerindex-fetch', cmds.do_layerindex_fetch)
parser_layerindex_fetch.add_argument('-n', '--show-only', help='show dependencies and do nothing else', action='store_true')
parser_layerindex_fetch.add_argument('-b', '--branch', help='branch name to fetch (default %(default)s)', default='master')
parser_layerindex_fetch.add_argument('-i', '--ignore', help='assume the specified layers do not need to be fetched/added (separate multiple layers with commas, no spaces)', metavar='LAYER')
parser_layerindex_fetch.add_argument('layername', nargs='+', help='layer to fetch')
parser_layerindex_show_depends = add_command('layerindex-show-depends', cmds.do_layerindex_show_depends)
parser_layerindex_show_depends.add_argument('-b', '--branch', help='branch name to fetch (default %(default)s)', default='master')
parser_layerindex_show_depends.add_argument('layername', nargs='+', help='layer to query')
args = parser.parse_args()
if args.debug:
logger.setLevel(logging.DEBUG)
elif args.quiet:
logger.setLevel(logging.ERROR)
ret = args.func(args)
return ret
if __name__ == "__main__":
try:
ret = main()
except Exception:
ret = 1
import traceback
traceback.print_exc(5)
sys.exit(ret)

View File

@@ -156,8 +156,11 @@ def fork_off_task(cfg, data, workerdata, fn, task, taskname, appends, taskdepdat
bb.event.worker_fire = worker_child_fire
worker_pipe = pipeout
# Make the child the process group leader
os.setpgid(0, 0)
# Make the child the process group leader and ensure no
# child process will be controlled by the current terminal
# This ensures signals sent to the controlling terminal like Ctrl+C
# don't stop the child processes.
os.setsid()
# No stdin
newsi = os.open(os.devnull, os.O_RDWR)
os.dup2(newsi, sys.stdin.fileno())

View File

@@ -34,7 +34,7 @@ from bb.ui.crumbs.hig.deployimagedialog import DeployImageDialog
from bb.ui.crumbs.hig.imageselectiondialog import ImageSelectionDialog
# I put all the fs bitbake supported here. Need more test.
DEPLOYABLE_IMAGE_TYPES = ["jffs2", "cramfs", "ext2", "ext3", "btrfs", "squashfs", "ubi", "vmdk"]
DEPLOYABLE_IMAGE_TYPES = ["jffs2", "cramfs", "ext2", "ext3", "ext4", "btrfs", "squashfs", "ubi", "vmdk"]
Title = "USB Image Writer"
class DeployWindow(gtk.Window):

View File

@@ -37,7 +37,7 @@ function webserverKillAll()
kill -SIGTERM -$(< ${pidfile}) 2>/dev/null
sleep 1;
# Kill processes if they are still running - may happen in interactive shells
ps fux | grep "python.*manage.py" | awk '{print $2}' | xargs kill
ps fux | grep "python.*manage.py runserver" | awk '{print $2}' | xargs kill
done;
rm ${pidfile}
fi
@@ -68,12 +68,14 @@ function webserverStartAll()
python $BBBASEDIR/lib/toaster/manage.py checksettings --traceback || retval=1
fi
if [ $retval -eq 0 ]; then
echo "Starting webserver"
python $BBBASEDIR/lib/toaster/manage.py runserver 0.0.0.0:8000 </dev/null >${BUILDDIR}/toaster_web.log 2>&1 & echo $! >${BUILDDIR}/.toastermain.pid
echo "Starting webserver..."
python $BBBASEDIR/lib/toaster/manage.py runserver "0.0.0.0:$WEB_PORT" </dev/null >>${BUILDDIR}/toaster_web.log 2>&1 & echo $! >${BUILDDIR}/.toastermain.pid
sleep 1
if ! cat "${BUILDDIR}/.toastermain.pid" | xargs -I{} kill -0 {} ; then
retval=1
rm "${BUILDDIR}/.toastermain.pid"
else
echo "Webserver address: http://0.0.0.0:$WEB_PORT/"
fi
fi
return $retval
@@ -83,8 +85,10 @@ function webserverStartAll()
function addtoConfiguration()
{
echo "#Created by toaster start script" > ${BUILDDIR}/conf/$2
echo $1 >> ${BUILDDIR}/conf/$2
file=$1
shift
echo "#Created by toaster start script" > ${BUILDDIR}/conf/$file
for var in "$@"; do echo $var >> ${BUILDDIR}/conf/$file; done
}
INSTOPSYSTEM=0
@@ -99,7 +103,7 @@ function stop_system()
kill $(< ${BUILDDIR}/.toasterui.pid ) 2>/dev/null
rm ${BUILDDIR}/.toasterui.pid
fi
BBSERVER=0.0.0.0:8200 bitbake -m
BBSERVER=0.0.0.0:-1 bitbake -m
unset BBSERVER
webserverKillAll
# force stop any misbehaving bitbake server
@@ -122,43 +126,130 @@ function notify_chldexit() {
}
function verify_prereq() {
# Verify prerequisites
if ! echo "import django; print (1,) == django.VERSION[0:1] and django.VERSION[1:2][0] in (6,)" | python 2>/dev/null | grep True >/dev/null; then
echo -e "This program needs Django 1.6. Please install with\n\npip install django==1.6\n"
return 2
fi
if ! echo "import south; print reduce(lambda x, y: 2 if x==2 else 0 if x == 0 else y, map(lambda x: 1+cmp(x[1]-x[0],0), zip([0,8,4], map(int,south.__version__.split(\".\"))))) > 0" | python 2>/dev/null | grep True >/dev/null; then
echo -e "This program needs South 0.8.4. Please install with\n\npip install south==0.8.4\n"
return 2
fi
return 0
}
# read command line parameters
BBBASEDIR=`dirname ${BASH_SOURCE}`/..
RUNNING=0
NOTOASTERUI=0
WEBSERVER=1
TOASTER_BRBE=""
WEB_PORT="8000"
for param in $*; do
case $param in
noui )
NOTOASTERUI=1
;;
noweb )
WEBSERVER=0
;;
brbe=* )
TOASTER_BRBE=$'\n'"TOASTER_BRBE=\""${param#*=}"\""
;;
webport=*)
WEB_PORT="${param#*=}"
esac
done
if [ -z "$ZSH_NAME" ] && [ `basename \"$0\"` = `basename \"$BASH_SOURCE\"` ]; 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 [ -n "$BUILDDIR" ]; then
echo -e "Error: build/ directory detected. Toaster will not start in managed mode if a build environment is detected.\nUse a clean terminal to start Toaster." 1>&2;
if ! verify_prereq; then
echo -e "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
echo -e "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." 1>&2;
exit 1;
fi
if [ "x`which daemon`" == "x" ]; then
echo -e "Failed dependency; toaster needs the 'daemon' program in order to be able to start builds'. Please install the 'daemon' program from your distribution repositories or http://www.libslack.org/daemon/" 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
BUILDDIR=/tmp/toaster_$$
if [ -d "$BUILDDIR" ]; then
echo -e "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
function trap_ctrlc() {
echo "** Stopping system"
webserverKillAll
RUNNING=0
}
function do_cleanup() {
find "$BUILDDIR" -type f | xargs rm
rmdir "$BUILDDIR"
}
function 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
echo -e "\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;
}
TOASTER_MANAGED=1
export TOASTER_MANAGED=1
if ! webserverStartAll; then
if [ $WEBSERVER -gt 0 ] && ! webserverStartAll; then
echo "Failed to start the web server, stopping" 1>&2;
cleanup
exit 1;
fi
xdg-open http://0.0.0.0:8000/ >/dev/null 2>&1 &
if [ $WEBSERVER -gt 0 ]; then
echo "Starting browser..."
xdg-open http://127.0.0.1:$WEB_PORT/ >/dev/null 2>&1 &
fi
trap trap_ctrlc SIGINT
echo "Running. Stop with Ctrl-C"
echo "Toaster is now running. You can stop it with Ctrl-C"
while [ $RUNNING -gt 0 ]; do
python $BBBASEDIR/lib/toaster/manage.py runbuilds
sleep 1
python $BBBASEDIR/lib/toaster/manage.py runbuilds 2>&1 | tee -a "$BUILDDIR/toaster.log"
sleep 1
done
cleanup
echo "**** Exit"
exit 0
fi
if ! verify_prereq; then
echo -e "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" ] || [ -z `which bitbake` ]; then
echo "Error: Build environment is not setup or bitbake is not in path." 1>&2;
@@ -166,23 +257,6 @@ if [ -z "$BUILDDIR" ] || [ -z `which bitbake` ]; then
fi
# Verify prerequisites
if ! echo "import django; print (1,) == django.VERSION[0:1] and django.VERSION[1:2][0] in (5,6)" | python 2>/dev/null | grep True >/dev/null; then
echo -e "This program needs Django 1.5 or 1.6. Please install with\n\npip install django==1.6"
return 2
fi
if ! echo "import south; print [0,8,4] == map(int,south.__version__.split(\".\"))" | python 2>/dev/null | grep True >/dev/null; then
echo -e "This program needs South 0.8.4. Please install with\n\npip install south==0.8.4"
return 2
fi
# Determine the action. If specified by arguments, fine, if not, toggle it
if [ "x$1" == "xstart" ] || [ "x$1" == "xstop" ]; then
CMD="$1"
@@ -194,19 +268,6 @@ else
fi;
fi
NOTOASTERUI=0
WEBSERVER=1
for param in $*; do
case $param in
noui )
NOTOASTERUI=1
;;
noweb )
WEBSERVER=0
;;
esac
done
echo "The system will $CMD."
# Make sure it's safe to run by checking bitbake lock
@@ -216,42 +277,54 @@ if [ -e $BUILDDIR/bitbake.lock ]; then
(flock -n 200 ) 200<$BUILDDIR/bitbake.lock || lock=0
fi
if [ ${CMD} == "start" ] && ( [ $lock -eq 0 ] || [ -e $BUILDDIR/.toastermain.pid ] ); then
echo "Error: bitbake lock state error. File locks show that the system is on." 2>&1
echo "If you see problems, stop and then start the system again." 2>&1
if [ ${CMD} == "start" ] && [ $lock -eq 0 ]; then
echo "Error: bitbake lock state error. File locks show that the system is on." 1>&2
echo "Please wait for the current build to finish, stop and then start the system again." 1>&2
return 3
fi
if [ ${CMD} == "start" ] && [ -e $BUILDDIR/.toastermain.pid ] && kill -0 `cat $BUILDDIR/.toastermain.pid`; then
echo "Warning: bitbake appears to be dead, but the Toaster web server is running. Something fishy is going on." 1>&2
echo "Cleaning up the web server to start from a clean slate."
webserverKillAll
fi
# Execute the commands
case $CMD in
start )
start_success=1
addtoConfiguration "INHERIT+=\"toaster buildhistory\"" toaster.conf
addtoConfiguration toaster.conf "INHERIT+=\"toaster buildhistory\"" $TOASTER_BRBE
if [ $WEBSERVER -gt 0 ] && ! webserverStartAll; then
echo "Failed ${CMD}."
return 4
fi
unset BBSERVER
bitbake --postread conf/toaster.conf --server-only -t xmlrpc -B 0.0.0.0:8200
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:8200
export BBSERVER=0.0.0.0:-1
if [ $NOTOASTERUI == 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
bitbake --observe-only -u toasterui >>${BUILDDIR}/toaster_ui.log 2>&1 & echo $! >${BUILDDIR}/.toasterui.pid
fi
fi
if [ $start_success -eq 1 ]; then
# set fail safe stop system on terminal exit
trap stop_system SIGHUP
echo "Successful ${CMD}."
return 0
else
# failed start, do stop
stop_system
echo "Failed ${CMD}."
return 1
fi
# stop system on terminal exit
set -o monitor

179
bitbake/bin/toaster-eventreplay Executable file
View File

@@ -0,0 +1,179 @@
#!/usr/bin/env python
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2014 Alex Damian
#
# This file re-uses code spread throughout other Bitbake source files.
# As such, all other copyrights belong to their own right holders.
#
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# This command takes a filename as a single parameter. The filename is read
# as a build eventlog, and the ToasterUI is used to process events in the file
# and log data in the database
import os
import sys, logging
# mangle syspath to allow easy import of modules
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
'lib'))
import bb.cooker
from bb.ui import toasterui
import sys
import logging
logger = logging.getLogger(__name__)
console = logging.StreamHandler(sys.stdout)
format_str = "%(levelname)s: %(message)s"
logging.basicConfig(format=format_str)
import json, pickle
class FileReadEventsServerConnection():
""" Emulates a connection to a bitbake server that feeds
events coming actually read from a saved log file.
"""
class MockConnection():
""" fill-in for the proxy to the server. we just return generic data
"""
def __init__(self, sc):
self._sc = sc
def runCommand(self, commandArray):
""" emulates running a command on the server; only read-only commands are accepted """
command_name = commandArray[0]
if command_name == "getVariable":
if commandArray[1] in self._sc._variables:
return (self._sc._variables[commandArray[1]]['v'], None)
return (None, "Missing variable")
elif command_name == "getAllKeysWithFlags":
dump = {}
flaglist = commandArray[1]
for k in self._sc._variables.keys():
try:
if not k.startswith("__"):
v = self._sc._variables[k]['v']
dump[k] = {
'v' : v ,
'history' : self._sc._variables[k]['history'],
}
for d in flaglist:
dump[k][d] = self._sc._variables[k][d]
except Exception as e:
print(e)
return (dump, None)
else:
raise Exception("Command %s not implemented" % commandArray[0])
def terminateServer(self):
""" do not do anything """
pass
class EventReader():
def __init__(self, sc):
self._sc = sc
self.firstraise = 0
def _create_event(self, line):
def _import_class(name):
assert len(name) > 0
assert "." in name, name
components = name.strip().split(".")
modulename = ".".join(components[:-1])
moduleklass = components[-1]
module = __import__(modulename, fromlist=[str(moduleklass)])
return getattr(module, moduleklass)
# we build a toaster event out of current event log line
try:
event_data = json.loads(line.strip())
event_class = _import_class(event_data['class'])
event_object = pickle.loads(json.loads(event_data['vars']))
except ValueError as e:
print("Failed loading ", line)
raise e
if not isinstance(event_object, event_class):
raise Exception("Error loading objects %s class %s ", event_object, event_class)
return event_object
def waitEvent(self, timeout):
nextline = self._sc._eventfile.readline()
if len(nextline) == 0:
# the build data ended, while toasterui still waits for events.
# this happens when the server was abruptly stopped, so we simulate this
self.firstraise += 1
if self.firstraise == 1:
raise KeyboardInterrupt()
else:
return None
else:
self._sc.lineno += 1
return self._create_event(nextline)
def _readVariables(self, variableline):
self._variables = json.loads(variableline.strip())['allvariables']
def __init__(self, file_name):
self.connection = FileReadEventsServerConnection.MockConnection(self)
self._eventfile = open(file_name, "r")
# we expect to have the variable dump at the start of the file
self.lineno = 1
self._readVariables(self._eventfile.readline())
self.events = FileReadEventsServerConnection.EventReader(self)
class MockConfigParameters():
""" stand-in for cookerdata.ConfigParameters; as we don't really config a cooker, this
serves just to supply needed interfaces for the toaster ui to work """
def __init__(self):
self.observe_only = True # we can only read files
# run toaster ui on our mock bitbake class
if __name__ == "__main__":
if len(sys.argv) < 2:
logger.error("Usage: %s event.log " % sys.argv[0])
sys.exit(1)
file_name = sys.argv[-1]
mock_connection = FileReadEventsServerConnection(file_name)
configParams = MockConfigParameters()
# run the main program
toasterui.main(mock_connection.connection, mock_connection.events, configParams)

View File

@@ -11,7 +11,7 @@
# validate: validates
# clean: removes files
#
# The Makefile generates an HTML and PDF version of every document. The
# The Makefile generates an HTML version of every document. The
# variable DOC indicates the folder name for a given manual.
#
# To build a manual, you must invoke 'make' with the DOC argument.
@@ -21,8 +21,8 @@
# make DOC=bitbake-user-manual
# make pdf DOC=bitbake-user-manual
#
# The first example generates the HTML and PDF versions of the User Manual.
# The second example generates the HTML version only of the User Manual.
# The first example generates the HTML version of the User Manual.
# The second example generates the PDF version of the User Manual.
#
ifeq ($(DOC),bitbake-user-manual)
@@ -31,9 +31,9 @@ XSLTOPTS = --stringparam html.stylesheet bitbake-user-manual-style.css \
--stringparam section.autolabel 1 \
--stringparam section.label.includes.component.label 1 \
--xinclude
ALLPREQ = html pdf tarball
TARFILES = bitbake-user-manual-style.css bitbake-user-manual.html bitbake-user-manual.pdf figures/bitbake-title.png
MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf
ALLPREQ = html tarball
TARFILES = bitbake-user-manual-style.css bitbake-user-manual.html figures/bitbake-title.png
MANUALS = $(DOC)/$(DOC).html
FIGURES = figures
STYLESHEET = $(DOC)/*.css

View File

@@ -345,7 +345,7 @@
A special value of "now" causes the checkout to
be updated on every build.
</para></listitem>
<listitem><para><emphasis><filename>CVSDIR</filename>:</emphasis>
<listitem><para><emphasis><link linkend='var-CVSDIR'><filename>CVSDIR</filename></link>:</emphasis>
Specifies where a temporary checkout is saved.
The location is often <filename>DL_DIR/cvs</filename>.
</para></listitem>
@@ -394,7 +394,8 @@
Effectively, you are renaming the output directory
to which the module is unpacked.
You are forcing the module into a special
directory relative to <filename>CVSDIR</filename>.
directory relative to
<link linkend='var-CVSDIR'><filename>CVSDIR</filename></link>.
</para></listitem>
<listitem><para><emphasis>"rsh"</emphasis>
Used in conjunction with the "method" parameter.
@@ -435,9 +436,9 @@
The executable used is specified by
<filename>FETCHCMD_svn</filename>, which defaults
to "svn".
The fetcher's temporary working directory is set
by <filename>SVNDIR</filename>, which is usually
<filename>DL_DIR/svn</filename>.
The fetcher's temporary working directory is set by
<link linkend='var-SVNDIR'><filename>SVNDIR</filename></link>,
which is usually <filename>DL_DIR/svn</filename>.
</para>
<para>
@@ -491,8 +492,9 @@
This fetcher submodule fetches code from the Git
source control system.
The fetcher works by creating a bare clone of the
remote into <filename>GITDIR</filename>, which is
usually <filename>DL_DIR/git2</filename>.
remote into
<link linkend='var-GITDIR'><filename>GITDIR</filename></link>,
which is usually <filename>DL_DIR/git2</filename>.
This bare clone is then cloned into the work directory during the
unpack stage when a specific tree is checked out.
This is done using alternates and by reference to

View File

@@ -471,7 +471,7 @@ ERROR: Unable to parse base: ParseError in configuration INHERITs: Could not inh
Time: 00:00:00
Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Preparing RunQueue
NOTE: Executing RunQueue Tasks
********************
* *

View File

@@ -1140,8 +1140,6 @@
<filename>DISPLAY</filename> variable.
Here is an example:
<literallayout class='monospaced'>
BB_ORIGENV - add example?
origenv = d.getVar("BB_ORIGENV", False)
bar = origenv.getVar("BAR", False)
</literallayout>

View File

@@ -43,8 +43,8 @@
<link linkend='var-DEFAULT_PREFERENCE'>D</link>
<link linkend='var-EXCLUDE_FROM_WORLD'>E</link>
<link linkend='var-FAKEROOT'>F</link>
<!-- <link linkend='var-GROUPADD_PARAM'>G</link> -->
<link linkend='var-HOMEPAGE'>H</link>
<link linkend='var-GITDIR'>G</link>
<link linkend='var-HGDIR'>H</link>
<!-- <link linkend='var-ICECC_DISABLED'>I</link> -->
<!-- <link linkend='var-glossary-j'>J</link> -->
<!-- <link linkend='var-KARCH'>K</link> -->
@@ -1154,6 +1154,15 @@
</glossdef>
</glossentry>
<glossentry id='var-BZRDIR'><glossterm>BZRDIR</glossterm>
<glossdef>
<para>
The directory in which files checked out of a Bazaar
system are stored.
</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id='var-glossary-c'><title>C</title>
@@ -1168,6 +1177,15 @@
</glossdef>
</glossentry>
<glossentry id='var-CVSDIR'><glossterm>CVSDIR</glossterm>
<glossdef>
<para>
The directory in which files checked out under the
CVS system are stored.
</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id='var-glossary-d'><title>D</title>
@@ -1412,13 +1430,32 @@
</glossdiv>
<!--
<glossdiv id='var-glossary-g'><title>G</title>
<glossentry id='var-GITDIR'><glossterm>GITDIR</glossterm>
<glossdef>
<para>
The directory in which a local copy of a Git repository
is stored when it is cloned.
</para>
</glossdef>
</glossentry>
</glossdiv>
-->
<glossdiv id='var-glossary-h'><title>H</title>
<glossentry id='var-HGDIR'><glossterm>HGDIR</glossterm>
<glossdef>
<para>
The directory in which files checked out of a Mercurial
system are stored.
</para>
</glossdef>
</glossentry>
<glossentry id='var-HOMEPAGE'><glossterm>HOMEPAGE</glossterm>
<glossdef>
<para>Website where more information about the software the recipe is building
@@ -2100,6 +2137,15 @@
</glossdef>
</glossentry>
<glossentry id='var-SVNDIR'><glossterm>SVNDIR</glossterm>
<glossdef>
<para>
The directory in which files checked out of a Subversion
system are stored.
</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id='var-glossary-t'><title>T</title>

View File

@@ -21,7 +21,7 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
__version__ = "1.24.0"
__version__ = "1.26.0"
import sys
if sys.version_info < (2, 7, 3):

View File

@@ -43,7 +43,7 @@ except ImportError:
logger.info("Importing cPickle failed. "
"Falling back to a very slow implementation.")
__cache_version__ = "147"
__cache_version__ = "148"
def getCacheFile(path, filename, data_hash):
return os.path.join(path, filename + "." + data_hash)
@@ -529,8 +529,11 @@ class Cache(object):
if hasattr(info_array[0], 'file_checksums'):
for _, fl in info_array[0].file_checksums.items():
for f in fl.split():
if not ('*' in f or os.path.exists(f)):
logger.debug(2, "Cache: %s's file checksum list file %s was removed",
if "*" in f:
continue
f, exist = f.split(":")
if (exist == "True" and not os.path.exists(f)) or (exist == "False" and os.path.exists(f)):
logger.debug(2, "Cache: %s's file checksum list file %s changed",
fn, f)
self.remove(fn)
return False
@@ -620,10 +623,13 @@ class Cache(object):
def mtime(cachefile):
return bb.parse.cached_mtime_noerror(cachefile)
def add_info(self, filename, info_array, cacheData, parsed=None):
def add_info(self, filename, info_array, cacheData, parsed=None, watcher=None):
if isinstance(info_array[0], CoreRecipeInfo) and (not info_array[0].skipped):
cacheData.add_from_recipeinfo(filename, info_array)
if watcher:
watcher(info_array[0].file_depends)
if not self.has_cache:
return

View File

@@ -178,7 +178,7 @@ class BufferedLogger(Logger):
class PythonParser():
getvars = (".getVar", ".appendVar", ".prependVar")
containsfuncs = ("bb.utils.contains", "base_contains", "oe.utils.contains", "bb.utils.contains_any")
containsfuncs = ("bb.utils.contains", "base_contains", "bb.utils.contains_any")
execfuncs = ("bb.build.exec_func", "bb.build.exec_task")
def warn(self, func, arg):

View File

@@ -123,11 +123,11 @@ class Command:
def finishAsyncCommand(self, msg=None, code=None):
if msg or msg == "":
bb.event.fire(CommandFailed(msg), self.cooker.event_data)
bb.event.fire(CommandFailed(msg), self.cooker.expanded_data)
elif code:
bb.event.fire(CommandExit(code), self.cooker.event_data)
bb.event.fire(CommandExit(code), self.cooker.expanded_data)
else:
bb.event.fire(CommandCompleted(), self.cooker.event_data)
bb.event.fire(CommandCompleted(), self.cooker.expanded_data)
self.currentAsyncCommand = None
self.cooker.finishcommand()
@@ -273,7 +273,8 @@ class CommandsSync:
def updateConfig(self, command, params):
options = params[0]
command.cooker.updateConfigOpts(options)
environment = params[1]
command.cooker.updateConfigOpts(options, environment)
class CommandsAsync:
"""

View File

@@ -38,7 +38,10 @@ import bb, bb.exceptions, bb.command
from bb import utils, data, parse, event, cache, providers, taskdata, runqueue
import Queue
import signal
import subprocess
import errno
import prserv.serv
import pyinotify
logger = logging.getLogger("BitBake")
collectlog = logging.getLogger("BitBake.Collection")
@@ -120,8 +123,34 @@ class BBCooker:
self.configuration = configuration
self.configwatcher = pyinotify.WatchManager()
self.configwatcher.bbseen = []
self.confignotifier = pyinotify.Notifier(self.configwatcher, self.config_notifications)
self.watchmask = pyinotify.IN_CLOSE_WRITE | pyinotify.IN_CREATE | pyinotify.IN_DELETE | \
pyinotify.IN_DELETE_SELF | pyinotify.IN_MODIFY | pyinotify.IN_MOVE_SELF | \
pyinotify.IN_MOVED_FROM | pyinotify.IN_MOVED_TO
self.watcher = pyinotify.WatchManager()
self.watcher.bbseen = []
self.notifier = pyinotify.Notifier(self.watcher, self.notifications)
self.initConfigurationData()
self.inotify_modified_files = []
def _process_inotify_updates(server, notifier_list, abort):
for n in notifier_list:
if n.check_events(timeout=0):
# read notified events and enqeue them
n.read_events()
n.process_events()
return 1.0
self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier])
self.baseconfig_valid = True
self.parsecache_valid = False
# Take a lock so only one copy of bitbake can run against a given build
# directory at a time
lockfile = self.data.expand("${TOPDIR}/bitbake.lock")
@@ -156,6 +185,43 @@ class BBCooker:
# Let SIGHUP exit as SIGTERM
signal.signal(signal.SIGHUP, self.sigterm_exception)
def config_notifications(self, event):
if not event.path in self.inotify_modified_files:
self.inotify_modified_files.append(event.path)
self.baseconfig_valid = False
def notifications(self, event):
if not event.path in self.inotify_modified_files:
self.inotify_modified_files.append(event.path)
self.parsecache_valid = False
def add_filewatch(self, deps, watcher=None):
if not watcher:
watcher = self.watcher
for i in deps:
f = os.path.dirname(i[0])
if f in watcher.bbseen:
continue
watcher.bbseen.append(f)
while True:
# We try and add watches for files that don't exist but if they did, would influence
# the parser. The parent directory of these files may not exist, in which case we need
# to watch any parent that does exist for changes.
try:
watcher.add_watch(f, self.watchmask, quiet=False)
break
except pyinotify.WatchManagerError as e:
if 'ENOENT' in str(e):
f = os.path.dirname(f)
watcher.bbseen.append(f)
continue
if 'ENOSPC' in str(e):
providerlog.error("No space left on device or exceeds fs.inotify.max_user_watches?")
providerlog.error("To check max_user_watches: sysctl -n fs.inotify.max_user_watches.")
providerlog.error("To modify max_user_watches: sysctl -n -w fs.inotify.max_user_watches=<value>.")
providerlog.error("Root privilege is required to modify max_user_watches.")
raise
def sigterm_exception(self, signum, stackframe):
if signum == signal.SIGTERM:
bb.warn("Cooker recieved SIGTERM, shutting down...")
@@ -165,13 +231,13 @@ class BBCooker:
def setFeatures(self, features):
# we only accept a new feature set if we're in state initial, so we can reset without problems
if self.state != state.initial:
if not self.state in [state.initial, state.shutdown, state.forceshutdown, state.stopped, state.error]:
raise Exception("Illegal state for feature set change")
original_featureset = list(self.featureset)
for feature in features:
self.featureset.setFeature(feature)
bb.debug(1, "Features set %s (was %s)" % (original_featureset, list(self.featureset)))
if (original_featureset != list(self.featureset)):
if (original_featureset != list(self.featureset)) and self.state != state.error:
self.reset()
def initConfigurationData(self):
@@ -205,12 +271,82 @@ class BBCooker:
self.data = self.databuilder.data
self.data_hash = self.databuilder.data_hash
# we log all events to a file if so directed
if self.configuration.writeeventlog:
import json, pickle
DEFAULT_EVENTFILE = self.configuration.writeeventlog
class EventLogWriteHandler():
class EventWriter():
def __init__(self, cooker):
self.file_inited = None
self.cooker = cooker
self.event_queue = []
def init_file(self):
try:
# delete the old log
os.remove(DEFAULT_EVENTFILE)
except:
pass
# write current configuration data
with open(DEFAULT_EVENTFILE, "w") as f:
f.write("%s\n" % json.dumps({ "allvariables" : self.cooker.getAllKeysWithFlags(["doc", "func"])}))
def write_event(self, event):
with open(DEFAULT_EVENTFILE, "a") as f:
try:
f.write("%s\n" % json.dumps({"class":event.__module__ + "." + event.__class__.__name__, "vars":json.dumps(pickle.dumps(event)) }))
except Exception as e:
import traceback
print(e, traceback.format_exc(e))
def send(self, event):
event_class = event.__module__ + "." + event.__class__.__name__
# init on bb.event.BuildStarted
if self.file_inited is None:
if event_class == "bb.event.BuildStarted":
self.init_file()
self.file_inited = True
# write pending events
for e in self.event_queue:
self.write_event(e)
# also write the current event
self.write_event(event)
else:
# queue all events until the file is inited
self.event_queue.append(event)
else:
# we have the file, just write the event
self.write_event(event)
# set our handler's event processor
event = EventWriter(self) # self is the cooker here
# set up cooker features for this mock UI handler
# we need to write the dependency tree in the log
self.featureset.setFeature(CookerFeatures.SEND_DEPENDS_TREE)
# register the log file writer as UI Handler
bb.event.register_UIHhandler(EventLogWriteHandler())
#
# Special updated configuration we use for firing events
# Copy of the data store which has been expanded.
# Used for firing events and accessing variables where expansion needs to be accounted for
#
self.event_data = bb.data.createCopy(self.data)
bb.data.update_data(self.event_data)
bb.parse.init_parser(self.event_data)
self.expanded_data = bb.data.createCopy(self.data)
bb.data.update_data(self.expanded_data)
bb.parse.init_parser(self.expanded_data)
if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset:
self.disableDataTracking()
@@ -245,7 +381,7 @@ class BBCooker:
f.write(total)
#add to history
loginfo = {"op":append, "file":default_file, "line":total.count("\n")}
loginfo = {"op":"append", "file":default_file, "line":total.count("\n")}
self.data.appendVar(var, val, **loginfo)
def saveConfigurationVar(self, var, val, default_file, op):
@@ -314,7 +450,7 @@ class BBCooker:
f.write(total)
#add to history
loginfo = {"op":set, "file":default_file, "line":total.count("\n")}
loginfo = {"op":"set", "file":default_file, "line":total.count("\n")}
self.data.setVar(var, val, **loginfo)
def removeConfigurationVar(self, var):
@@ -376,9 +512,29 @@ class BBCooker:
self.handleCollections( self.data.getVar("BBFILE_COLLECTIONS", True) )
def updateConfigOpts(self,options):
def updateConfigOpts(self, options, environment):
for o in options:
setattr(self.configuration, o, options[o])
clean = True
for k in bb.utils.approved_variables():
if k in environment and k not in self.configuration.env:
logger.debug(1, "Updating environment variable %s to %s" % (k, environment[k]))
self.configuration.env[k] = environment[k]
clean = False
if k in self.configuration.env and k not in environment:
logger.debug(1, "Updating environment variable %s (deleted)" % (k))
del self.configuration.env[k]
clean = False
if k not in self.configuration.env and k not in environment:
continue
if environment[k] != self.configuration.env[k]:
logger.debug(1, "Updating environment variable %s to %s" % (k, environment[k]))
self.configuration.env[k] = environment[k]
clean = False
if not clean:
logger.debug(1, "Base environment change, triggering reparse")
self.baseconfig_valid = False
self.reset()
def runCommands(self, server, data, abort):
"""
@@ -425,7 +581,7 @@ class BBCooker:
fn = self.matchFile(fn)
fn = bb.cache.Cache.realfn2virtual(fn, cls)
elif len(pkgs_to_build) == 1:
ignore = self.data.getVar("ASSUME_PROVIDED", True) or ""
ignore = self.expanded_data.getVar("ASSUME_PROVIDED", True) or ""
if pkgs_to_build[0] in set(ignore.split()):
bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0])
@@ -505,7 +661,7 @@ class BBCooker:
taskdata, runlist, pkgs_to_build = self.buildTaskData(pkgs_to_build, task, False)
return runlist, taskdata
######## WARNING : this function requires cache_extra to be enabled ########
def generateTaskDepTreeData(self, pkgs_to_build, task):
@@ -957,42 +1113,30 @@ class BBCooker:
# Check dependencies and store information for priority calculation
deps = self.data.getVar("LAYERDEPENDS_%s" % c, True)
if deps:
depnamelist = []
deplist = deps.split()
for dep in deplist:
depsplit = dep.split(':')
if len(depsplit) > 1:
try:
depver = int(depsplit[1])
except ValueError:
parselog.error("invalid version value in LAYERDEPENDS_%s: \"%s\"", c, dep)
errors = True
continue
else:
depver = None
dep = depsplit[0]
depnamelist.append(dep)
try:
deplist = bb.utils.explode_dep_versions2(deps)
except bb.utils.VersionStringException as vse:
bb.fatal('Error parsing LAYERDEPENDS_%s: %s' % (c, str(vse)))
for dep, oplist in deplist.iteritems():
if dep in collection_list:
if depver:
for opstr in oplist:
layerver = self.data.getVar("LAYERVERSION_%s" % dep, True)
(op, depver) = opstr.split()
if layerver:
try:
lver = int(layerver)
except ValueError:
parselog.error("invalid value for LAYERVERSION_%s: \"%s\"", c, layerver)
errors = True
continue
if lver != depver:
parselog.error("Layer '%s' depends on version %d of layer '%s', but version %d is enabled in your configuration", c, depver, dep, lver)
res = bb.utils.vercmp_string_op(layerver, depver, op)
except bb.utils.VersionStringException as vse:
bb.fatal('Error parsing LAYERDEPENDS_%s: %s' % (c, str(vse)))
if not res:
parselog.error("Layer '%s' depends on version %s of layer '%s', but version %s is currently enabled in your configuration. Check that you are using the correct matching versions/branches of these two layers.", c, opstr, dep, layerver)
errors = True
else:
parselog.error("Layer '%s' depends on version %d of layer '%s', which exists in your configuration but does not specify a version", c, depver, dep)
parselog.error("Layer '%s' depends on version %s of layer '%s', which exists in your configuration but does not specify a version. Check that you are using the correct matching versions/branches of these two layers.", c, opstr, dep)
errors = True
else:
parselog.error("Layer '%s' depends on layer '%s', but this layer is not enabled in your configuration", c, dep)
errors = True
collection_depends[c] = depnamelist
collection_depends[c] = deplist.keys()
else:
collection_depends[c] = []
@@ -1044,7 +1188,7 @@ class BBCooker:
bf = os.path.abspath(bf)
self.collection = CookerCollectFiles(self.recipecache.bbfile_config_priorities)
filelist, masked = self.collection.collect_bbfiles(self.data, self.event_data)
filelist, masked = self.collection.collect_bbfiles(self.data, self.expanded_data)
try:
os.stat(bf)
bf = os.path.abspath(bf)
@@ -1134,7 +1278,7 @@ class BBCooker:
taskdata.add_provider(self.data, self.recipecache, item)
buildname = self.data.getVar("BUILDNAME")
bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.event_data)
bb.event.fire(bb.event.BuildStarted(buildname, [item]), self.expanded_data)
# Execute the runqueue
runlist = [[item, "do_%s" % task]]
@@ -1161,7 +1305,7 @@ class BBCooker:
return False
if not retval:
bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, item, failures), self.event_data)
bb.event.fire(bb.event.BuildCompleted(len(rq.rqdata.runq_fnid), buildname, item, failures), self.expanded_data)
self.command.finishAsyncCommand(msg)
return False
if retval is True:
@@ -1286,29 +1430,45 @@ class BBCooker:
if self.state == state.running:
return
if self.state in (state.shutdown, state.forceshutdown):
if self.state in (state.shutdown, state.forceshutdown, state.error):
if hasattr(self.parser, 'shutdown'):
self.parser.shutdown(clean=False, force = True)
raise bb.BBHandledException()
if self.state != state.parsing:
# reload files for which we got notifications
for p in self.inotify_modified_files:
bb.parse.update_cache(p)
self.inotify_modified_files = []
if not self.baseconfig_valid:
logger.debug(1, "Reloading base configuration data")
self.initConfigurationData()
self.baseconfig_valid = True
self.parsecache_valid = False
if self.state != state.parsing and not self.parsecache_valid:
self.parseConfiguration ()
if CookerFeatures.SEND_SANITYEVENTS in self.featureset:
bb.event.fire(bb.event.SanityCheck(False), self.data)
ignore = self.data.getVar("ASSUME_PROVIDED", True) or ""
ignore = self.expanded_data.getVar("ASSUME_PROVIDED", True) or ""
self.recipecache.ignored_dependencies = set(ignore.split())
for dep in self.configuration.extra_assume_provided:
self.recipecache.ignored_dependencies.add(dep)
self.collection = CookerCollectFiles(self.recipecache.bbfile_config_priorities)
(filelist, masked) = self.collection.collect_bbfiles(self.data, self.event_data)
(filelist, masked) = self.collection.collect_bbfiles(self.data, self.expanded_data)
self.data.renameVar("__depends", "__base_depends")
self.add_filewatch(self.data.getVar("__base_depends"), self.configwatcher)
self.parser = CookerParser(self, filelist, masked)
self.state = state.parsing
self.parsecache_valid = True
self.state = state.parsing
if not self.parser.parse_next():
collectlog.debug(1, "parsing complete")
@@ -1316,7 +1476,7 @@ class BBCooker:
raise bb.BBHandledException()
self.show_appends_with_no_recipes()
self.handlePrefProviders()
self.recipecache.bbfile_priority = self.collection.collection_priorities(self.recipecache.pkg_fn)
self.recipecache.bbfile_priority = self.collection.collection_priorities(self.recipecache.pkg_fn, self.data)
self.state = state.running
return None
@@ -1330,7 +1490,7 @@ class BBCooker:
if len(pkgs_to_build) == 0:
raise NothingToBuild
ignore = (self.data.getVar("ASSUME_PROVIDED", True) or "").split()
ignore = (self.expanded_data.getVar("ASSUME_PROVIDED", True) or "").split()
for pkg in pkgs_to_build:
if pkg in ignore:
parselog.warn("Explicit target \"%s\" is in ASSUME_PROVIDED, ignoring" % pkg)
@@ -1360,13 +1520,41 @@ class BBCooker:
try:
self.prhost = prserv.serv.auto_start(self.data)
except prserv.serv.PRServiceConfigError:
bb.event.fire(CookerExit(), self.event_data)
bb.event.fire(CookerExit(), self.expanded_data)
self.state = state.error
return
def post_serve(self):
prserv.serv.auto_shutdown(self.data)
bb.event.fire(CookerExit(), self.event_data)
bb.event.fire(CookerExit(), self.expanded_data)
lockfile = self.lock.name
self.lock.close()
self.lock = None
while not self.lock:
with bb.utils.timeout(3):
self.lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True)
if not self.lock:
# Some systems may not have lsof available
procs = None
try:
procs = subprocess.check_output(["lsof", '-w', lockfile], stderr=subprocess.STDOUT)
except OSError as e:
if e.errno != errno.ENOENT:
raise
if procs is None:
# Fall back to fuser if lsof is unavailable
try:
procs = subprocess.check_output(["fuser", '-v', lockfile], stderr=subprocess.STDOUT)
except OSError as e:
if e.errno != errno.ENOENT:
raise
msg = "Delaying shutdown due to active processes which appear to be holding bitbake.lock"
if procs:
msg += ":\n%s" % str(procs)
print(msg)
def shutdown(self, force = False):
if force:
@@ -1415,6 +1603,7 @@ class CookerExit(bb.event.Event):
class CookerCollectFiles(object):
def __init__(self, priorities):
self.appendlist = {}
self.bbappends = []
self.appliedappendlist = []
self.bbfile_config_priorities = priorities
@@ -1509,6 +1698,7 @@ class CookerCollectFiles(object):
# Build a list of .bbappend files for each .bb file
for f in bbappend:
base = os.path.basename(f).replace('.bbappend', '.bb')
self.bbappends.append((base, f))
if not base in self.appendlist:
self.appendlist[base] = []
if f not in self.appendlist[base]:
@@ -1534,14 +1724,14 @@ class CookerCollectFiles(object):
"""
filelist = []
f = os.path.basename(fn)
for bbappend in self.appendlist:
for b in self.bbappends:
(bbappend, filename) = b
if (bbappend == f) or ('%' in bbappend and bbappend.startswith(f[:bbappend.index('%')])):
self.appliedappendlist.append(bbappend)
for filename in self.appendlist[bbappend]:
filelist.append(filename)
filelist.append(filename)
return filelist
def collection_priorities(self, pkgfns):
def collection_priorities(self, pkgfns, d):
priorities = {}
@@ -1550,18 +1740,18 @@ class CookerCollectFiles(object):
for p in pkgfns:
realfn, cls = bb.cache.Cache.virtualfn2realfn(p)
priorities[p] = self.calc_bbfile_priority(realfn, matched)
# Don't show the warning if the BBFILE_PATTERN did match .bbappend files
unmatched = set()
for _, _, regex, pri in self.bbfile_config_priorities:
for _, _, regex, pri in self.bbfile_config_priorities:
if not regex in matched:
unmatched.add(regex)
def findmatch(regex):
for bbfile in self.appendlist:
for append in self.appendlist[bbfile]:
if regex.match(append):
return True
for b in self.bbappends:
(bbfile, append) = b
if regex.match(append):
return True
return False
for unmatch in unmatched.copy():
@@ -1570,7 +1760,8 @@ class CookerCollectFiles(object):
for collection, pattern, regex, _ in self.bbfile_config_priorities:
if regex in unmatched:
collectlog.warn("No bb files matched BBFILE_PATTERN_%s '%s'" % (collection, pattern))
if d.getVar('BBFILE_PATTERN_IGNORE_EMPTY_%s' % collection, True) != '1':
collectlog.warn("No bb files matched BBFILE_PATTERN_%s '%s'" % (collection, pattern))
return priorities
@@ -1870,7 +2061,7 @@ class CookerParser(object):
self.skipped += 1
self.cooker.skiplist[virtualfn] = SkippedPackage(info_array[0])
self.bb_cache.add_info(virtualfn, info_array, self.cooker.recipecache,
parsed=parsed)
parsed=parsed, watcher = self.cooker.add_filewatch)
return True
def reparse(self, filename):

View File

@@ -33,8 +33,8 @@ logger = logging.getLogger("BitBake")
parselog = logging.getLogger("BitBake.Parsing")
class ConfigParameters(object):
def __init__(self):
self.options, targets = self.parseCommandLine()
def __init__(self, argv=sys.argv):
self.options, targets = self.parseCommandLine(argv)
self.environment = self.parseEnvironment()
self.options.pkgs_to_build = targets or []
@@ -46,7 +46,7 @@ class ConfigParameters(object):
for key, val in self.options.__dict__.items():
setattr(self, key, val)
def parseCommandLine(self):
def parseCommandLine(self, argv=sys.argv):
raise Exception("Caller must implement commandline option parsing")
def parseEnvironment(self):
@@ -69,14 +69,14 @@ class ConfigParameters(object):
if bbpkgs:
self.options.pkgs_to_build.extend(bbpkgs.split())
def updateToServer(self, server):
def updateToServer(self, server, environment):
options = {}
for o in ["abort", "tryaltconfigs", "force", "invalidate_stamp",
"verbose", "debug", "dry_run", "dump_signatures",
"debug_domains", "extra_assume_provided", "profile"]:
options[o] = getattr(self.options, o)
ret, error = server.runCommand(["updateConfig", options])
ret, error = server.runCommand(["updateConfig", options, environment])
if error:
raise Exception("Unable to update the server configuration with local parameters: %s" % error)
@@ -139,6 +139,7 @@ class CookerConfiguration(object):
self.dry_run = False
self.tracking = False
self.interface = []
self.writeeventlog = False
self.env = {}

View File

@@ -238,6 +238,7 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
# to a shell, we need to escape the quotes in the var
alter = re.sub('"', '\\"', val)
alter = re.sub('\n', ' \\\n', alter)
alter = re.sub('\\$', '\\\\$', alter)
o.write('%s="%s"\n' % (varExpanded, alter))
return 0

View File

@@ -296,9 +296,14 @@ class VariableHistory(object):
self.variables[var] = []
class DataSmart(MutableMapping):
def __init__(self, special = COWDictBase.copy(), seen = COWDictBase.copy() ):
def __init__(self, special = None, seen = None ):
self.dict = {}
if special is None:
special = COWDictBase.copy()
if seen is None:
seen = COWDictBase.copy()
self.inchistory = IncludeHistory()
self.varhistory = VariableHistory(self)
self._tracking = False
@@ -589,7 +594,7 @@ class DataSmart(MutableMapping):
self._makeShadowCopy(var)
self.dict[var][flag] = value
if flag == "defaultval" and '_' in var:
if flag == "_defaultval" and '_' in var:
self._setvar_update_overrides(var)
if flag == "unexport" or flag == "export":
@@ -605,8 +610,8 @@ class DataSmart(MutableMapping):
if local_var is not None:
if flag in local_var:
value = copy.copy(local_var[flag])
elif flag == "_content" and "defaultval" in local_var and not noweakdefault:
value = copy.copy(local_var["defaultval"])
elif flag == "_content" and "_defaultval" in local_var and not noweakdefault:
value = copy.copy(local_var["_defaultval"])
if expand and value:
# Only getvar (flag == _content) hits the expand cache
cachename = None
@@ -616,7 +621,8 @@ class DataSmart(MutableMapping):
cachename = var + "[" + flag + "]"
value = self.expand(value, cachename)
if value and flag == "_content" and local_var is not None and "_removeactive" in local_var:
removes = [self.expand(r) for r in local_var["_removeactive"]]
removes = [self.expand(r).split() for r in local_var["_removeactive"]]
removes = reduce(lambda a, b: a+b, removes, [])
filtered = filter(lambda v: v not in removes,
value.split())
value = " ".join(filtered)
@@ -740,12 +746,16 @@ class DataSmart(MutableMapping):
yield key
def __iter__(self):
deleted = set()
def keylist(d):
klist = set()
for key in d:
if key == "_data":
continue
if key in deleted:
continue
if not d[key]:
deleted.add(key)
continue
klist.add(key)

View File

@@ -68,6 +68,7 @@ _ui_logfilters = {}
_ui_handler_seq = 0
_event_handler_map = {}
_catchall_handlers = {}
_eventfilter = None
def execute_handler(name, handler, event, d):
event.data = d
@@ -95,6 +96,9 @@ def fire_class_handlers(event, d):
evt_hmap = _event_handler_map.get(eid, {})
for name, handler in _handlers.iteritems():
if name in _catchall_handlers or name in evt_hmap:
if _eventfilter:
if not _eventfilter(name, handler, event, d):
continue
execute_handler(name, handler, event, d)
ui_queue = []
@@ -205,6 +209,10 @@ def remove(name, handler):
"""Remove an Event handler"""
_handlers.pop(name)
def set_eventfilter(func):
global _eventfilter
_eventfilter = func
def register_UIHhandler(handler):
bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1
_ui_handlers[_ui_handler_seq] = handler

View File

@@ -45,6 +45,13 @@ _checksum_cache = bb.checksum.FileChecksumCache()
logger = logging.getLogger("BitBake.Fetcher")
try:
import cPickle as pickle
except ImportError:
import pickle
logger.info("Importing cPickle failed. "
"Falling back to a very slow implementation.")
class BBFetchException(Exception):
"""Class all fetch exceptions inherit from"""
def __init__(self, message):
@@ -525,7 +532,7 @@ def fetcher_compare_revisions(d):
def mirror_from_string(data):
return [ i.split() for i in (data or "").replace('\\n','\n').split('\n') if i ]
def verify_checksum(ud, d):
def verify_checksum(ud, d, precomputed={}):
"""
verify the MD5 and SHA256 checksum for downloaded src
@@ -533,13 +540,28 @@ def verify_checksum(ud, d):
the downloaded file, or if BB_STRICT_CHECKSUM is set and there are no
checksums specified.
Returns a dict of checksums that can be stored in a done stamp file and
passed in as precomputed parameter in a later call to avoid re-computing
the checksums from the file. This allows verifying the checksums of the
file against those in the recipe each time, rather than only after
downloading. See https://bugzilla.yoctoproject.org/show_bug.cgi?id=5571.
"""
if not ud.method.supports_checksum(ud):
return
_MD5_KEY = "md5"
_SHA256_KEY = "sha256"
md5data = bb.utils.md5_file(ud.localpath)
sha256data = bb.utils.sha256_file(ud.localpath)
if ud.ignore_checksums or not ud.method.supports_checksum(ud):
return {}
if _MD5_KEY in precomputed:
md5data = precomputed[_MD5_KEY]
else:
md5data = bb.utils.md5_file(ud.localpath)
if _SHA256_KEY in precomputed:
sha256data = precomputed[_SHA256_KEY]
else:
sha256data = bb.utils.sha256_file(ud.localpath)
if ud.method.recommends_checksum(ud):
# If strict checking enabled and neither sum defined, raise error
@@ -589,6 +611,72 @@ def verify_checksum(ud, d):
if len(msg):
raise ChecksumError('Checksum mismatch!%s' % msg, ud.url, md5data)
return {
_MD5_KEY: md5data,
_SHA256_KEY: sha256data
}
def verify_donestamp(ud, d):
"""
Check whether the done stamp file has the right checksums (if the fetch
method supports them). If it doesn't, delete the done stamp and force
a re-download.
Returns True, if the donestamp exists and is valid, False otherwise. When
returning False, any existing done stamps are removed.
"""
if not os.path.exists(ud.donestamp):
return False
if not ud.method.supports_checksum(ud):
# done stamp exists, checksums not supported; assume the local file is
# current
return True
if not os.path.exists(ud.localpath):
# done stamp exists, but the downloaded file does not; the done stamp
# must be incorrect, re-trigger the download
bb.utils.remove(ud.donestamp)
return False
precomputed_checksums = {}
# Only re-use the precomputed checksums if the donestamp is newer than the
# file. Do not rely on the mtime of directories, though. If ud.localpath is
# a directory, there will probably not be any checksums anyway.
if (os.path.isdir(ud.localpath) or
os.path.getmtime(ud.localpath) < os.path.getmtime(ud.donestamp)):
try:
with open(ud.donestamp, "rb") as cachefile:
pickled = pickle.Unpickler(cachefile)
precomputed_checksums.update(pickled.load())
except Exception as e:
# Avoid the warnings on the upgrade path from emtpy done stamp
# files to those containing the checksums.
if not isinstance(e, EOFError):
# Ignore errors, they aren't fatal
logger.warn("Couldn't load checksums from donestamp %s: %s "
"(msg: %s)" % (ud.donestamp, type(e).__name__,
str(e)))
try:
checksums = verify_checksum(ud, d, precomputed_checksums)
# If the cache file did not have the checksums, compute and store them
# as an upgrade path from the previous done stamp file format.
if checksums != precomputed_checksums:
with open(ud.donestamp, "wb") as cachefile:
p = pickle.Pickler(cachefile, pickle.HIGHEST_PROTOCOL)
p.dump(checksums)
return True
except ChecksumError as e:
# Checksums failed to verify, trigger re-download and remove the
# incorrect stamp file.
logger.warn("Checksum mismatch for local file %s\n"
"Cleaning and trying again." % ud.localpath)
rename_bad_checksum(ud, e.checksum)
bb.utils.remove(ud.donestamp)
return False
def update_stamp(ud, d):
"""
@@ -603,8 +691,11 @@ def update_stamp(ud, d):
# Errors aren't fatal here
pass
else:
verify_checksum(ud, d)
open(ud.donestamp, 'w').close()
checksums = verify_checksum(ud, d)
# Store the checksums for later re-verification against the recipe
with open(ud.donestamp, "wb") as cachefile:
p = pickle.Pickler(cachefile, pickle.HIGHEST_PROTOCOL)
p.dump(checksums)
def subprocess_setup():
# Python installs a SIGPIPE handler by default. This is usually not what
@@ -620,11 +711,13 @@ def get_autorev(d):
def get_srcrev(d):
"""
Return the version string for the current package
(usually to be used as PV)
Return the revsion string, usually for use in the version string (PV) of the current package
Most packages usually only have one SCM so we just pass on the call.
In the multi SCM case, we build a value based on SRCREV_FORMAT which must
have been set.
The idea here is that we put the string "AUTOINC+" into return value if the revisions are not
incremental, other code is then responsible for turning that into an increasing value (if needed)
"""
scms = []
@@ -803,7 +896,7 @@ def try_mirror_url(origud, ud, ld, check = False):
os.chdir(ld.getVar("DL_DIR", True))
if not os.path.exists(ud.donestamp) or ud.method.need_update(ud, ld):
if not verify_donestamp(ud, ld) or ud.method.need_update(ud, ld):
ud.method.download(ud, ld)
if hasattr(ud.method,"build_mirror_data"):
ud.method.build_mirror_data(ud, ld)
@@ -819,12 +912,13 @@ def try_mirror_url(origud, ud, ld, check = False):
dldir = ld.getVar("DL_DIR", True)
if origud.mirrortarball and os.path.basename(ud.localpath) == os.path.basename(origud.mirrortarball) \
and os.path.basename(ud.localpath) != os.path.basename(origud.localpath):
# Create donestamp in old format to avoid triggering a re-download
bb.utils.mkdirhier(os.path.dirname(ud.donestamp))
open(ud.donestamp, 'w').close()
dest = os.path.join(dldir, os.path.basename(ud.localpath))
if not os.path.exists(dest):
os.symlink(ud.localpath, dest)
if not os.path.exists(origud.donestamp) or origud.method.need_update(origud, ld):
if not verify_donestamp(origud, ld) or origud.method.need_update(origud, ld):
origud.method.download(origud, ld)
if hasattr(origud.method,"build_mirror_data"):
origud.method.build_mirror_data(origud, ld)
@@ -936,22 +1030,21 @@ def get_checksum_file_list(d):
ud = fetch.ud[u]
if ud and isinstance(ud.method, local.Local):
ud.setup_localpath(d)
f = ud.localpath
pth = ud.decodedurl
if '*' in pth:
f = os.path.join(os.path.abspath(f), pth)
if f.startswith(dl_dir):
# The local fetcher's behaviour is to return a path under DL_DIR if it couldn't find the file anywhere else
if os.path.exists(f):
bb.warn("Getting checksum for %s SRC_URI entry %s: file not found except in DL_DIR" % (d.getVar('PN', True), os.path.basename(f)))
else:
bb.warn("Unable to get checksum for %s SRC_URI entry %s: file could not be found" % (d.getVar('PN', True), os.path.basename(f)))
filelist.append(f)
paths = ud.method.localpaths(ud, d)
for f in paths:
pth = ud.decodedurl
if '*' in pth:
f = os.path.join(os.path.abspath(f), pth)
if f.startswith(dl_dir):
# The local fetcher's behaviour is to return a path under DL_DIR if it couldn't find the file anywhere else
if os.path.exists(f):
bb.warn("Getting checksum for %s SRC_URI entry %s: file not found except in DL_DIR" % (d.getVar('PN', True), os.path.basename(f)))
else:
bb.warn("Unable to get checksum for %s SRC_URI entry %s: file could not be found" % (d.getVar('PN', True), os.path.basename(f)))
filelist.append(f + ":" + str(os.path.exists(f)))
return " ".join(filelist)
def get_file_checksums(filelist, pn):
"""Get a list of the checksums for a list of local files
@@ -981,6 +1074,10 @@ def get_file_checksums(filelist, pn):
checksums = []
for pth in filelist.split():
exist = pth.split(":")[1]
if exist == "False":
continue
pth = pth.split(":")[0]
if '*' in pth:
# Handle globs
for f in glob.glob(pth):
@@ -988,14 +1085,12 @@ def get_file_checksums(filelist, pn):
checksums.extend(checksum_dir(f))
else:
checksum = checksum_file(f)
if checksum:
checksums.append((f, checksum))
checksums.append((f, checksum))
elif os.path.isdir(pth):
checksums.extend(checksum_dir(pth))
else:
checksum = checksum_file(pth)
if checksum:
checksums.append((pth, checksum))
checksums.append((pth, checksum))
checksums.sort(key=operator.itemgetter(1))
return checksums
@@ -1041,6 +1136,7 @@ class FetchData(object):
self.sha256_expected = None
else:
self.sha256_expected = d.getVarFlag("SRC_URI", self.sha256_name)
self.ignore_checksums = False
self.names = self.parm.get("name",'default').split(',')
@@ -1197,9 +1293,9 @@ class FetchMethod(object):
bb.fatal("Invalid value for 'unpack' parameter for %s: %s" %
(file, urldata.parm.get('unpack')))
dots = file.split(".")
if dots[-1] in ['gz', 'bz2', 'Z', 'xz']:
efile = os.path.join(rootdir, os.path.basename('.'.join(dots[0:-1])))
base, ext = os.path.splitext(file)
if ext in ['.gz', '.bz2', '.Z', '.xz', '.lz']:
efile = os.path.join(rootdir, os.path.basename(base))
else:
efile = file
cmd = None
@@ -1219,6 +1315,10 @@ class FetchMethod(object):
cmd = 'xz -dc %s | tar x --no-same-owner -f -' % file
elif file.endswith('.xz'):
cmd = 'xz -dc %s > %s' % (file, efile)
elif file.endswith('.tar.lz'):
cmd = 'lzip -dc %s | tar x --no-same-owner -f -' % file
elif file.endswith('.lz'):
cmd = 'lzip -dc %s > %s' % (file, efile)
elif file.endswith('.zip') or file.endswith('.jar'):
try:
dos = bb.utils.to_boolean(urldata.parm.get('dos'), False)
@@ -1414,7 +1514,7 @@ class Fetch(object):
try:
self.d.setVar("BB_NO_NETWORK", network)
if os.path.exists(ud.donestamp) and not m.need_update(ud, self.d):
if verify_donestamp(ud, self.d) and not m.need_update(ud, self.d):
localpath = ud.localpath
elif m.try_premirror(ud, self.d):
logger.debug(1, "Trying PREMIRRORS")
@@ -1427,7 +1527,7 @@ class Fetch(object):
os.chdir(self.d.getVar("DL_DIR", True))
firsterr = None
if not localpath and ((not os.path.exists(ud.donestamp)) or m.need_update(ud, self.d)):
if not localpath and ((not verify_donestamp(ud, self.d)) or m.need_update(ud, self.d)):
try:
logger.debug(1, "Trying Upstream")
m.download(ud, self.d)

View File

@@ -67,6 +67,7 @@ Supported SRC_URI options are:
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import re
import bb
from bb import data
from bb.fetch2 import FetchMethod
@@ -245,7 +246,7 @@ class Git(FetchMethod):
subdir = ud.parm.get("subpath", "")
if subdir != "":
readpathspec = ":%s" % (subdir)
def_destsuffix = "%s/" % os.path.basename(subdir)
def_destsuffix = "%s/" % os.path.basename(subdir.rstrip('/'))
else:
readpathspec = ""
def_destsuffix = "git/"
@@ -339,20 +340,63 @@ class Git(FetchMethod):
"""
Compute the HEAD revision for the url
"""
output = self._lsremote(ud, d, "")
# Tags of the form ^{} may not work, need to fallback to other form
if ud.unresolvedrev[name][:5] == "refs/":
search = "%s %s^{}" % (ud.unresolvedrev[name], ud.unresolvedrev[name])
head = ud.unresolvedrev[name]
tag = ud.unresolvedrev[name]
else:
search = "refs/heads/%s refs/tags/%s^{}" % (ud.unresolvedrev[name], ud.unresolvedrev[name])
output = self._lsremote(ud, d, search)
return output.split()[0]
head = "refs/heads/%s" % ud.unresolvedrev[name]
tag = "refs/tags/%s" % ud.unresolvedrev[name]
for s in [head, tag + "^{}", tag]:
for l in output.split('\n'):
if s in l:
return l.split()[0]
raise bb.fetch2.FetchError("Unable to resolve '%s' in upstream git repository in git ls-remote output" % ud.unresolvedrev[name])
def latest_versionstring(self, ud, d):
"""
Compute the latest release name like "x.y.x" in "x.y.x+gitHASH"
by searching through the tags output of ls-remote, comparing
versions and returning the highest match.
"""
verstring = ""
tagregex = re.compile(d.getVar('GITTAGREGEX', True) or "(?P<pver>([0-9][\.|_]?)+)")
try:
output = self._lsremote(ud, d, "refs/tags/*^{}")
except bb.fetch2.FetchError or bb.fetch2.NetworkAccess:
return ""
for line in output.split("\n"):
if not line:
break
line = line.split("/")[-1]
# Ignore non-released branches
m = re.search("(alpha|beta|rc|final)+", line)
if m:
continue
# search for version in the line
tag = tagregex.search(line)
if tag == None:
continue
tag = tag.group('pver')
tag = tag.replace("_", ".")
if verstring and bb.utils.vercmp(("0", tag, ""), ("0", verstring, "")) < 0:
continue
verstring = tag
return verstring
def _build_revision(self, ud, d, name):
return ud.revisions[name]
def checkstatus(self, ud, d):
fetchcmd = "%s ls-remote %s" % (ud.basecmd, ud.url)
try:
runfetchcmd(fetchcmd, d, quiet=True)
self._lsremote(ud, d, "")
return True
except FetchError:
return False

View File

@@ -51,29 +51,41 @@ class Local(FetchMethod):
"""
Return the local filename of a given url assuming a successful fetch.
"""
return self.localpaths(urldata, d)[-1]
def localpaths(self, urldata, d):
"""
Return the local filename of a given url assuming a successful fetch.
"""
searched = []
path = urldata.decodedurl
newpath = path
if path[0] != "/":
filespath = data.getVar('FILESPATH', d, True)
if filespath:
logger.debug(2, "Searching for %s in paths:\n %s" % (path, "\n ".join(filespath.split(":"))))
newpath = bb.utils.which(filespath, path)
if not newpath:
filesdir = data.getVar('FILESDIR', d, True)
if filesdir:
logger.debug(2, "Searching for %s in path: %s" % (path, filesdir))
newpath = os.path.join(filesdir, path)
if (not newpath or not os.path.exists(newpath)) and path.find("*") != -1:
# For expressions using '*', best we can do is take the first directory in FILESPATH that exists
newpath = bb.utils.which(filespath, ".")
logger.debug(2, "Searching for %s in path: %s" % (path, newpath))
return newpath
if not os.path.exists(newpath):
dldirfile = os.path.join(d.getVar("DL_DIR", True), path)
logger.debug(2, "Defaulting to %s for %s" % (dldirfile, path))
bb.utils.mkdirhier(os.path.dirname(dldirfile))
return dldirfile
return newpath
if path[0] == "/":
return [path]
filespath = data.getVar('FILESPATH', d, True)
if filespath:
logger.debug(2, "Searching for %s in paths:\n %s" % (path, "\n ".join(filespath.split(":"))))
newpath, hist = bb.utils.which(filespath, path, history=True)
searched.extend(hist)
if not newpath:
filesdir = data.getVar('FILESDIR', d, True)
if filesdir:
logger.debug(2, "Searching for %s in path: %s" % (path, filesdir))
newpath = os.path.join(filesdir, path)
searched.append(newpath)
if (not newpath or not os.path.exists(newpath)) and path.find("*") != -1:
# For expressions using '*', best we can do is take the first directory in FILESPATH that exists
newpath, hist = bb.utils.which(filespath, ".", history=True)
searched.extend(hist)
logger.debug(2, "Searching for %s in path: %s" % (path, newpath))
return searched
if not os.path.exists(newpath):
dldirfile = os.path.join(d.getVar("DL_DIR", True), path)
logger.debug(2, "Defaulting to %s for %s" % (dldirfile, path))
bb.utils.mkdirhier(os.path.dirname(dldirfile))
searched.append(dldirfile)
return searched
return searched
def need_update(self, ud, d):
if ud.url.find("*") != -1:

View File

@@ -87,7 +87,8 @@ class SSH(FetchMethod):
m = __pattern__.match(urldata.url)
path = m.group('path')
host = m.group('host')
urldata.localpath = os.path.join(d.getVar('DL_DIR', True), os.path.basename(path))
urldata.localpath = os.path.join(d.getVar('DL_DIR', True),
os.path.basename(os.path.normpath(path)))
def download(self, urldata, d):
dldir = d.getVar('DL_DIR', True)

View File

@@ -25,6 +25,9 @@ BitBake build tools.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import re
import tempfile
import subprocess
import os
import logging
import bb
@@ -34,6 +37,7 @@ from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import logger
from bb.fetch2 import runfetchcmd
from bs4 import BeautifulSoup
class Wget(FetchMethod):
"""Class to fetch urls via 'wget'"""
@@ -104,3 +108,274 @@ class Wget(FetchMethod):
self._runwget(ud, d, fetchcmd, True)
return True
def _parse_path(self, regex, s):
"""
Find and group name, version and archive type in the given string s
"""
m = regex.search(s)
if m:
pname = ''
pver = ''
ptype = ''
mdict = m.groupdict()
if 'name' in mdict.keys():
pname = mdict['name']
if 'pver' in mdict.keys():
pver = mdict['pver']
if 'type' in mdict.keys():
ptype = mdict['type']
bb.debug(3, "_parse_path: %s, %s, %s" % (pname, pver, ptype))
return (pname, pver, ptype)
return None
def _modelate_version(self, version):
if version[0] in ['.', '-']:
if version[1].isdigit():
version = version[1] + version[0] + version[2:len(version)]
else:
version = version[1:len(version)]
version = re.sub('-', '.', version)
version = re.sub('_', '.', version)
version = re.sub('(rc)+', '.1000.', version)
version = re.sub('(beta)+', '.100.', version)
version = re.sub('(alpha)+', '.10.', version)
if version[0] == 'v':
version = version[1:len(version)]
return version
def _vercmp(self, old, new):
"""
Check whether 'new' is newer than 'old' version. We use existing vercmp() for the
purpose. PE is cleared in comparison as it's not for build, and PR is cleared too
for simplicity as it's somehow difficult to get from various upstream format
"""
(oldpn, oldpv, oldsuffix) = old
(newpn, newpv, newsuffix) = new
"""
Check for a new suffix type that we have never heard of before
"""
if (newsuffix):
m = self.suffix_regex_comp.search(newsuffix)
if not m:
bb.warn("%s has a possible unknown suffix: %s" % (newpn, newsuffix))
return False
"""
Not our package so ignore it
"""
if oldpn != newpn:
return False
oldpv = self._modelate_version(oldpv)
newpv = self._modelate_version(newpv)
return bb.utils.vercmp(("0", oldpv, ""), ("0", newpv, ""))
def _fetch_index(self, uri, ud, d):
"""
Run fetch checkstatus to get directory information
"""
f = tempfile.NamedTemporaryFile()
agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/9.10 (karmic) Firefox/3.6.12"
fetchcmd = self.basecmd
fetchcmd += " -O " + f.name + " --user-agent='" + agent + "' '" + uri + "'"
try:
self._runwget(ud, d, fetchcmd, True)
fetchresult = f.read()
except bb.fetch2.BBFetchException:
fetchresult = ""
f.close()
return fetchresult
def _check_latest_version(self, url, package, package_regex, current_version, ud, d):
"""
Return the latest version of a package inside a given directory path
If error or no version, return ""
"""
valid = 0
version = ['', '', '']
bb.debug(3, "VersionURL: %s" % (url))
soup = BeautifulSoup(self._fetch_index(url, ud, d))
if not soup:
bb.debug(3, "*** %s NO SOUP" % (url))
return ""
for line in soup.find_all('a', href=True):
bb.debug(3, "line['href'] = '%s'" % (line['href']))
bb.debug(3, "line = '%s'" % (str(line)))
newver = self._parse_path(package_regex, line['href'])
if not newver:
newver = self._parse_path(package_regex, str(line))
if newver:
bb.debug(3, "Upstream version found: %s" % newver[1])
if valid == 0:
version = newver
valid = 1
elif self._vercmp(version, newver) < 0:
version = newver
pupver = re.sub('_', '.', version[1])
bb.debug(3, "*** %s -> UpstreamVersion = %s (CurrentVersion = %s)" %
(package, pupver or "N/A", current_version[1]))
if valid:
return pupver
return ""
def _check_latest_version_by_dir(self, dirver, package, package_regex,
current_version, ud, d):
"""
Scan every directory in order to get upstream version.
"""
version_dir = ['', '', '']
version = ['', '', '']
dirver_regex = re.compile("(\D*)((\d+[\.-_])+(\d+))")
s = dirver_regex.search(dirver)
if s:
version_dir[1] = s.group(2)
else:
version_dir[1] = dirver
dirs_uri = bb.fetch.encodeurl([ud.type, ud.host,
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))
if not soup:
return version[1]
for line in soup.find_all('a', href=True):
s = dirver_regex.search(line['href'].strip("/"))
if s:
version_dir_new = ['', s.group(2), '']
if self._vercmp(version_dir, version_dir_new) <= 0:
dirver_new = s.group(1) + s.group(2)
path = ud.path.replace(dirver, dirver_new, True) \
.split(package)[0]
uri = bb.fetch.encodeurl([ud.type, ud.host, path,
ud.user, ud.pswd, {}])
pupver = self._check_latest_version(uri,
package, package_regex, current_version, ud, d)
if pupver:
version[1] = pupver
version_dir = version_dir_new
return version[1]
def _init_regexes(self, package, ud, d):
"""
Match as many patterns as possible such as:
gnome-common-2.20.0.tar.gz (most common format)
gtk+-2.90.1.tar.gz
xf86-input-synaptics-12.6.9.tar.gz
dri2proto-2.3.tar.gz
blktool_4.orig.tar.gz
libid3tag-0.15.1b.tar.gz
unzip552.tar.gz
icu4c-3_6-src.tgz
genext2fs_1.3.orig.tar.gz
gst-fluendo-mp3
"""
# match most patterns which uses "-" as separator to version digits
pn_prefix1 = "[a-zA-Z][a-zA-Z0-9]*([-_][a-zA-Z]\w+)*\+?[-_]"
# a loose pattern such as for unzip552.tar.gz
pn_prefix2 = "[a-zA-Z]+"
# a loose pattern such as for 80325-quicky-0.4.tar.gz
pn_prefix3 = "[0-9]+[-]?[a-zA-Z]+"
# Save the Package Name (pn) Regex for use later
pn_regex = "(%s|%s|%s)" % (pn_prefix1, pn_prefix2, pn_prefix3)
# match version
pver_regex = "(([A-Z]*\d+[a-zA-Z]*[\.-_]*)+)"
# match arch
parch_regex = "-source|_all_"
# src.rpm extension was added only for rpm package. Can be removed if the rpm
# packaged will always be considered as having to be manually upgraded
psuffix_regex = "(tar\.gz|tgz|tar\.bz2|zip|xz|rpm|bz2|orig\.tar\.gz|tar\.xz|src\.tar\.gz|src\.tgz|svnr\d+\.tar\.bz2|stable\.tar\.gz|src\.rpm)"
# match name, version and archive type of a package
package_regex_comp = re.compile("(?P<name>%s?\.?v?)(?P<pver>%s)(?P<arch>%s)?[\.-](?P<type>%s$)"
% (pn_regex, pver_regex, parch_regex, psuffix_regex))
self.suffix_regex_comp = re.compile(psuffix_regex)
# compile regex, can be specific by package or generic regex
pn_regex = d.getVar('REGEX', True)
if pn_regex:
package_custom_regex_comp = re.compile(pn_regex)
else:
version = self._parse_path(package_regex_comp, package)
if version:
package_custom_regex_comp = re.compile(
"(?P<name>%s)(?P<pver>%s)(?P<arch>%s)?[\.-](?P<type>%s)" %
(re.escape(version[0]), pver_regex, parch_regex, psuffix_regex))
else:
package_custom_regex_comp = None
return package_custom_regex_comp
def latest_versionstring(self, ud, d):
"""
Manipulate the URL and try to obtain the latest package version
sanity check to ensure same name and type.
"""
package = ud.path.split("/")[-1]
current_version = ['', d.getVar('PV', True), '']
"""possible to have no version in pkg name, such as spectrum-fw"""
if not re.search("\d+", package):
current_version[1] = re.sub('_', '.', current_version[1])
current_version[1] = re.sub('-', '.', current_version[1])
return current_version[1]
package_regex = self._init_regexes(package, ud, d)
if package_regex is None:
bb.warn("latest_versionstring: package %s don't match pattern" % (package))
return ""
bb.debug(3, "latest_versionstring, regex: %s" % (package_regex.pattern))
uri = ""
regex_uri = d.getVar("REGEX_URI", True)
if not regex_uri:
path = ud.path.split(package)[0]
# search for version matches on folders inside the path, like:
# "5.7" in http://download.gnome.org/sources/${PN}/5.7/${PN}-${PV}.tar.gz
dirver_regex = re.compile("(?P<dirver>[^/]*(\d+\.)*\d+([-_]r\d+)*)/")
m = dirver_regex.search(path)
if m:
pn = d.getVar('PN', True)
dirver = m.group('dirver')
dirver_pn_regex = re.compile("%s\d?" % (re.escape(pn)))
if not dirver_pn_regex.search(dirver):
return self._check_latest_version_by_dir(dirver,
package, package_regex, current_version, ud, d)
uri = bb.fetch.encodeurl([ud.type, ud.host, path, ud.user, ud.pswd, {}])
else:
uri = regex_uri
return self._check_latest_version(uri, package, package_regex,
current_version, ud, d)

391
bitbake/lib/bb/main.py Executable file
View File

@@ -0,0 +1,391 @@
#!/usr/bin/env python
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
# Copyright (C) 2003 - 2005 Michael 'Mickey' Lauer
# Copyright (C) 2005 Holger Hans Peter Freyther
# Copyright (C) 2005 ROAD GmbH
# Copyright (C) 2006 Richard Purdie
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys
import logging
import optparse
import warnings
import bb
from bb import event
import bb.msg
from bb import cooker
from bb import ui
from bb import server
from bb import cookerdata
__version__ = "1.26.0"
logger = logging.getLogger("BitBake")
class BBMainException(bb.BBHandledException):
pass
def get_ui(config):
if not config.ui:
# modify 'ui' attribute because it is also read by cooker
config.ui = os.environ.get('BITBAKE_UI', 'knotty')
interface = config.ui
try:
# Dynamically load the UI based on the ui name. Although we
# suggest a fixed set this allows you to have flexibility in which
# ones are available.
module = __import__("bb.ui", fromlist = [interface])
return getattr(module, interface)
except AttributeError:
raise BBMainException("FATAL: Invalid user interface '%s' specified.\n"
"Valid interfaces: depexp, goggle, ncurses, hob, knotty [default]." % interface)
# Display bitbake/OE warnings via the BitBake.Warnings logger, ignoring others"""
warnlog = logging.getLogger("BitBake.Warnings")
_warnings_showwarning = warnings.showwarning
def _showwarning(message, category, filename, lineno, file=None, line=None):
if file is not None:
if _warnings_showwarning is not None:
_warnings_showwarning(message, category, filename, lineno, file, line)
else:
s = warnings.formatwarning(message, category, filename, lineno)
warnlog.warn(s)
warnings.showwarning = _showwarning
warnings.filterwarnings("ignore")
warnings.filterwarnings("default", module="(<string>$|(oe|bb)\.)")
warnings.filterwarnings("ignore", category=PendingDeprecationWarning)
warnings.filterwarnings("ignore", category=ImportWarning)
warnings.filterwarnings("ignore", category=DeprecationWarning, module="<string>$")
warnings.filterwarnings("ignore", message="With-statements now directly support multiple context managers")
class BitBakeConfigParameters(cookerdata.ConfigParameters):
def parseCommandLine(self, argv=sys.argv):
parser = optparse.OptionParser(
version = "BitBake Build Tool Core version %s, %%prog version %s" % (bb.__version__, __version__),
usage = """%prog [options] [recipename/target ...]
Executes the specified task (default is 'build') for a given set of target recipes (.bb files).
It is assumed there is a conf/bblayers.conf available in cwd or in BBPATH which
will provide the layer, BBFILES and other configuration information.""")
parser.add_option("-b", "--buildfile", help = "Execute tasks from a specific .bb recipe directly. WARNING: Does not handle any dependencies from other recipes.",
action = "store", dest = "buildfile", default = None)
parser.add_option("-k", "--continue", help = "Continue as much as possible after an error. While the target that failed and anything depending on it cannot be built, as much as possible will be built before stopping.",
action = "store_false", dest = "abort", default = True)
parser.add_option("-a", "--tryaltconfigs", help = "Continue with builds by trying to use alternative providers where possible.",
action = "store_true", dest = "tryaltconfigs", default = False)
parser.add_option("-f", "--force", help = "Force the specified targets/task to run (invalidating any existing stamp file).",
action = "store_true", dest = "force", default = False)
parser.add_option("-c", "--cmd", help = "Specify the task to execute. The exact options available depend on the metadata. Some examples might be 'compile' or 'populate_sysroot' or 'listtasks' may give a list of the tasks available.",
action = "store", dest = "cmd")
parser.add_option("-C", "--clear-stamp", help = "Invalidate the stamp for the specified task such as 'compile' and then run the default task for the specified target(s).",
action = "store", dest = "invalidate_stamp")
parser.add_option("-r", "--read", help = "Read the specified file before bitbake.conf.",
action = "append", dest = "prefile", default = [])
parser.add_option("-R", "--postread", help = "Read the specified file after bitbake.conf.",
action = "append", dest = "postfile", default = [])
parser.add_option("-v", "--verbose", help = "Output more log message data to the terminal.",
action = "store_true", dest = "verbose", default = False)
parser.add_option("-D", "--debug", help = "Increase the debug level. You can specify this more than once.",
action = "count", dest="debug", default = 0)
parser.add_option("-n", "--dry-run", help = "Don't execute, just go through the motions.",
action = "store_true", dest = "dry_run", default = False)
parser.add_option("-S", "--dump-signatures", help = "Dump out the signature construction information, with no task execution. The SIGNATURE_HANDLER parameter is passed to the handler. Two common values are none and printdiff but the handler may define more/less. none means only dump the signature, printdiff means compare the dumped signature with the cached one.",
action = "append", dest = "dump_signatures", default = [], metavar="SIGNATURE_HANDLER")
parser.add_option("-p", "--parse-only", help = "Quit after parsing the BB recipes.",
action = "store_true", dest = "parse_only", default = False)
parser.add_option("-s", "--show-versions", help = "Show current and preferred versions of all recipes.",
action = "store_true", dest = "show_versions", default = False)
parser.add_option("-e", "--environment", help = "Show the global or per-recipe environment complete with information about where variables were set/changed.",
action = "store_true", dest = "show_environment", default = False)
parser.add_option("-g", "--graphviz", help = "Save dependency tree information for the specified targets in the dot syntax.",
action = "store_true", dest = "dot_graph", default = False)
parser.add_option("-I", "--ignore-deps", help = """Assume these dependencies don't exist and are already provided (equivalent to ASSUME_PROVIDED). Useful to make dependency graphs more appealing""",
action = "append", dest = "extra_assume_provided", default = [])
parser.add_option("-l", "--log-domains", help = """Show debug logging for the specified logging domains""",
action = "append", dest = "debug_domains", default = [])
parser.add_option("-P", "--profile", help = "Profile the command and save reports.",
action = "store_true", dest = "profile", default = False)
parser.add_option("-u", "--ui", help = "The user interface to use (e.g. knotty, hob, depexp).",
action = "store", dest = "ui")
parser.add_option("-t", "--servertype", help = "Choose which server to use, process or xmlrpc.",
action = "store", dest = "servertype")
parser.add_option("", "--token", help = "Specify the connection token to be used when connecting to a remote server.",
action = "store", dest = "xmlrpctoken")
parser.add_option("", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not.",
action = "store_true", dest = "revisions_changed", default = False)
parser.add_option("", "--server-only", help = "Run bitbake without a UI, only starting a server (cooker) process.",
action = "store_true", dest = "server_only", default = False)
parser.add_option("-B", "--bind", help = "The name/address for the bitbake server to bind to.",
action = "store", dest = "bind", default = False)
parser.add_option("", "--no-setscene", help = "Do not run any setscene tasks. sstate will be ignored and everything needed, built.",
action = "store_true", dest = "nosetscene", default = False)
parser.add_option("", "--remote-server", help = "Connect to the specified server.",
action = "store", dest = "remote_server", default = False)
parser.add_option("-m", "--kill-server", help = "Terminate the remote server.",
action = "store_true", dest = "kill_server", default = False)
parser.add_option("", "--observe-only", help = "Connect to a server as an observing-only client.",
action = "store_true", dest = "observe_only", default = False)
parser.add_option("", "--status-only", help = "Check the status of the remote bitbake server.",
action = "store_true", dest = "status_only", default = False)
parser.add_option("-w", "--write-log", help = "Writes the event log of the build to a bitbake event json file. Use '' (empty string) to assign the name automatically.",
action = "store", dest = "writeeventlog")
options, targets = parser.parse_args(argv)
# some environmental variables set also configuration options
if "BBSERVER" in os.environ:
options.servertype = "xmlrpc"
options.remote_server = os.environ["BBSERVER"]
if "BBTOKEN" in os.environ:
options.xmlrpctoken = os.environ["BBTOKEN"]
if "BBEVENTLOG" is os.environ:
options.writeeventlog = os.environ["BBEVENTLOG"]
# fill in proper log name if not supplied
if options.writeeventlog is not None and len(options.writeeventlog) == 0:
import datetime
options.writeeventlog = "bitbake_eventlog_%s.json" % datetime.datetime.now().strftime("%Y%m%d%H%M%S")
# if BBSERVER says to autodetect, let's do that
if options.remote_server:
[host, port] = options.remote_server.split(":", 2)
port = int(port)
# use automatic port if port set to -1, means read it from
# the bitbake.lock file; this is a bit tricky, but we always expect
# to be in the base of the build directory if we need to have a
# chance to start the server later, anyway
if port == -1:
lock_location = "./bitbake.lock"
# we try to read the address at all times; if the server is not started,
# we'll try to start it after the first connect fails, below
try:
lf = open(lock_location, 'r')
remotedef = lf.readline()
[host, port] = remotedef.split(":")
port = int(port)
lf.close()
options.remote_server = remotedef
except Exception as e:
raise BBMainException("Failed to read bitbake.lock (%s), invalid port" % str(e))
return options, targets[1:]
def start_server(servermodule, configParams, configuration, features):
server = servermodule.BitBakeServer()
if configParams.bind:
(host, port) = configParams.bind.split(':')
server.initServer((host, int(port)))
configuration.interface = [ server.serverImpl.host, server.serverImpl.port ]
else:
server.initServer()
configuration.interface = []
try:
configuration.setServerRegIdleCallback(server.getServerIdleCB())
cooker = bb.cooker.BBCooker(configuration, features)
server.addcooker(cooker)
server.saveConnectionDetails()
except Exception as e:
exc_info = sys.exc_info()
while hasattr(server, "event_queue"):
try:
import queue
except ImportError:
import Queue as queue
try:
event = server.event_queue.get(block=False)
except (queue.Empty, IOError):
break
if isinstance(event, logging.LogRecord):
logger.handle(event)
raise exc_info[1], None, exc_info[2]
server.detach()
cooker.lock.close()
return server
def bitbake_main(configParams, configuration):
# Python multiprocessing requires /dev/shm on Linux
if sys.platform.startswith('linux') and not os.access('/dev/shm', os.W_OK | os.X_OK):
raise BBMainException("FATAL: /dev/shm does not exist or is not writable")
# Unbuffer stdout to avoid log truncation in the event
# of an unorderly exit as well as to provide timely
# updates to log files for use with tail
try:
if sys.stdout.name == '<stdout>':
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
except:
pass
configuration.setConfigParameters(configParams)
ui_module = get_ui(configParams)
# Server type can be xmlrpc or process currently, if nothing is specified,
# the default server is process
if configParams.servertype:
server_type = configParams.servertype
else:
server_type = 'process'
try:
module = __import__("bb.server", fromlist = [server_type])
servermodule = getattr(module, server_type)
except AttributeError:
raise BBMainException("FATAL: Invalid server type '%s' specified.\n"
"Valid interfaces: xmlrpc, process [default]." % server_type)
if configParams.server_only:
if configParams.servertype != "xmlrpc":
raise BBMainException("FATAL: If '--server-only' is defined, we must set the "
"servertype as 'xmlrpc'.\n")
if not configParams.bind:
raise BBMainException("FATAL: The '--server-only' option requires a name/address "
"to bind to with the -B option.\n")
if configParams.remote_server:
raise BBMainException("FATAL: The '--server-only' option conflicts with %s.\n" %
("the BBSERVER environment variable" if "BBSERVER" in os.environ \
else "the '--remote-server' option" ))
if configParams.bind and configParams.servertype != "xmlrpc":
raise BBMainException("FATAL: If '-B' or '--bind' is defined, we must "
"set the servertype as 'xmlrpc'.\n")
if configParams.remote_server and configParams.servertype != "xmlrpc":
raise BBMainException("FATAL: If '--remote-server' is defined, we must "
"set the servertype as 'xmlrpc'.\n")
if configParams.observe_only and (not configParams.remote_server or configParams.bind):
raise BBMainException("FATAL: '--observe-only' can only be used by UI clients "
"connecting to a server.\n")
if configParams.kill_server and not configParams.remote_server:
raise BBMainException("FATAL: '--kill-server' can only be used to terminate a remote server")
if "BBDEBUG" in os.environ:
level = int(os.environ["BBDEBUG"])
if level > configuration.debug:
configuration.debug = level
bb.msg.init_msgconfig(configParams.verbose, configuration.debug,
configuration.debug_domains)
# Ensure logging messages get sent to the UI as events
handler = bb.event.LogHandler()
if not configParams.status_only:
# In status only mode there are no logs and no UI
logger.addHandler(handler)
# Clear away any spurious environment variables while we stoke up the cooker
cleanedvars = bb.utils.clean_environment()
featureset = []
if not configParams.server_only:
# Collect the feature set for the UI
featureset = getattr(ui_module, "featureSet", [])
if not configParams.remote_server:
# we start a server with a given configuration
server = start_server(servermodule, configParams, configuration, featureset)
bb.event.ui_queue = []
else:
# we start a stub server that is actually a XMLRPClient that connects to a real server
server = servermodule.BitBakeXMLRPCClient(configParams.observe_only, configParams.xmlrpctoken)
server.saveConnectionDetails(configParams.remote_server)
if not configParams.server_only:
try:
server_connection = server.establishConnection(featureset)
except Exception as e:
if configParams.kill_server:
return 0
bb.fatal("Could not connect to server %s: %s" % (configParams.remote_server, str(e)))
# Restore the environment in case the UI needs it
for k in cleanedvars:
os.environ[k] = cleanedvars[k]
logger.removeHandler(handler)
if configParams.status_only:
server_connection.terminate()
return 0
if configParams.kill_server:
server_connection.connection.terminateServer()
bb.event.ui_queue = []
return 0
try:
return ui_module.main(server_connection.connection, server_connection.events, configParams)
finally:
bb.event.ui_queue = []
server_connection.terminate()
else:
print("Bitbake server address: %s, server port: %s" % (server.serverImpl.host, server.serverImpl.port))
return 0
return 1

View File

@@ -73,6 +73,11 @@ def update_mtime(f):
__mtime_cache[f] = os.stat(f)[stat.ST_MTIME]
return __mtime_cache[f]
def update_cache(f):
if f in __mtime_cache:
logger.debug(1, "Updating mtime cache for %s" % f)
update_mtime(f)
def mark_dependency(d, f):
if f.startswith('./'):
f = "%s/%s" % (os.getcwd(), f[2:])

View File

@@ -128,7 +128,7 @@ class DataNode(AstNode):
if 'flag' in groupd and groupd['flag'] != None:
flag = groupd['flag']
elif groupd["lazyques"]:
flag = "defaultval"
flag = "_defaultval"
loginfo['op'] = op
loginfo['detail'] = groupd["value"]
@@ -139,7 +139,7 @@ class DataNode(AstNode):
data.setVar(key, val, **loginfo)
class MethodNode(AstNode):
tr_tbl = string.maketrans('/.+-@%', '______')
tr_tbl = string.maketrans('/.+-@%&', '_______')
def __init__(self, filename, lineno, func_name, body):
AstNode.__init__(self, filename, lineno)
@@ -226,6 +226,8 @@ class ExportFuncsNode(AstNode):
if data.getVarFlag(calledfunc, "python"):
data.setVar(func, " bb.build.exec_func('" + calledfunc + "', d)\n")
else:
if "-" in self.classname:
bb.fatal("The classname %s contains a dash character and is calling an sh function %s using EXPORT_FUNCTIONS. Since a dash is illegal in sh function names, this cannot work, please rename the class or don't use EXPORT_FUNCTIONS." % (self.classname, calledfunc))
data.setVar(func, " " + calledfunc + "\n")
data.setVarFlag(func, 'export_func', '1')

View File

@@ -27,7 +27,7 @@
import re, os
import logging
import bb.utils
from bb.parse import ParseError, resolve_file, ast, logger
from bb.parse import ParseError, resolve_file, ast, logger, handle
__config_regexp__ = re.compile( r"""
^
@@ -66,38 +66,36 @@ def init(data):
def supports(fn, d):
return fn[-5:] == ".conf"
def include(oldfn, fn, lineno, data, error_out):
def include(parentfn, fn, lineno, data, error_out):
"""
error_out: A string indicating the verb (e.g. "include", "inherit") to be
used in a ParseError that will be raised if the file to be included could
not be included. Specify False to avoid raising an error in this case.
"""
if oldfn == fn: # prevent infinite recursion
if parentfn == fn: # prevent infinite recursion
return None
import bb
fn = data.expand(fn)
oldfn = data.expand(oldfn)
parentfn = data.expand(parentfn)
if not os.path.isabs(fn):
dname = os.path.dirname(oldfn)
dname = os.path.dirname(parentfn)
bbpath = "%s:%s" % (dname, data.getVar("BBPATH", True))
abs_fn, attempts = bb.utils.which(bbpath, fn, history=True)
if abs_fn and bb.parse.check_dependency(data, abs_fn):
bb.warn("Duplicate inclusion for %s in %s" % (abs_fn, data.getVar('FILE', True)))
logger.warn("Duplicate inclusion for %s in %s" % (abs_fn, data.getVar('FILE', True)))
for af in attempts:
bb.parse.mark_dependency(data, af)
if abs_fn:
fn = abs_fn
elif bb.parse.check_dependency(data, fn):
bb.warn("Duplicate inclusion for %s in %s" % (fn, data.getVar('FILE', True)))
logger.warn("Duplicate inclusion for %s in %s" % (fn, data.getVar('FILE', True)))
from bb.parse import handle
try:
ret = handle(fn, data, True)
ret = bb.parse.handle(fn, data, True)
except (IOError, OSError):
if error_out:
raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno)
raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), parentfn, lineno)
logger.debug(2, "CONF file '%s' not found", fn)
bb.parse.mark_dependency(data, fn)

View File

@@ -430,7 +430,7 @@ class RunQueueData:
# Nothing to do
return 0
logger.info("Preparing runqueue")
logger.info("Preparing RunQueue")
# Step A - Work out a list of tasks to run
#
@@ -1155,7 +1155,7 @@ class RunQueue:
sq_taskname.append(taskname)
sq_task.append(task)
call = self.hashvalidate + "(sq_fn, sq_task, sq_hash, sq_hashfn, d)"
locs = { "sq_fn" : sq_fn, "sq_task" : sq_taskname, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" : self.cooker.data }
locs = { "sq_fn" : sq_fn, "sq_task" : sq_taskname, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" : self.cooker.expanded_data }
valid = bb.utils.better_eval(call, locs)
for v in valid:
valid_new.add(sq_task[v])
@@ -1242,6 +1242,8 @@ class RunQueue:
prevh = __find_md5__.search(latestmatch).group(0)
output = bb.siggen.compare_sigfiles(latestmatch, match, recursecb)
bb.plain("\nTask %s:%s couldn't be used from the cache because:\n We need hash %s, closest matching task was %s\n " % (pn, taskname, h, prevh) + '\n '.join(output))
else:
bb.plain("Error, can't find multiple tasks at divergence point? Was there a previously run task?")
class RunQueueExecute:
@@ -1331,7 +1333,7 @@ class RunQueueExecute:
taskname = self.rqdata.runq_task[depid]
taskdata[dep] = [pn, taskname, fn]
call = self.rq.depvalidate + "(task, taskdata, notneeded, d)"
locs = { "task" : task, "taskdata" : taskdata, "notneeded" : self.scenequeue_notneeded, "d" : self.cooker.data }
locs = { "task" : task, "taskdata" : taskdata, "notneeded" : self.scenequeue_notneeded, "d" : self.cooker.expanded_data }
valid = bb.utils.better_eval(call, locs)
return valid
@@ -1400,7 +1402,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
call = self.rq.setsceneverify + "(covered, tasknames, fnids, fns, d, invalidtasks=invalidtasks)"
call2 = self.rq.setsceneverify + "(covered, tasknames, fnids, fns, d)"
locs = { "covered" : self.rq.scenequeue_covered, "tasknames" : self.rqdata.runq_task, "fnids" : self.rqdata.runq_fnid, "fns" : self.rqdata.taskData.fn_index, "d" : self.cooker.data, "invalidtasks" : invalidtasks }
locs = { "covered" : self.rq.scenequeue_covered, "tasknames" : self.rqdata.runq_task, "fnids" : self.rqdata.runq_fnid, "fns" : self.rqdata.taskData.fn_index, "d" : self.cooker.expanded_data, "invalidtasks" : invalidtasks }
# Backwards compatibility with older versions without invalidtasks
try:
covered_remove = bb.utils.better_eval(call, locs)
@@ -1820,7 +1822,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
sq_taskname.append(taskname)
sq_task.append(task)
call = self.rq.hashvalidate + "(sq_fn, sq_task, sq_hash, sq_hashfn, d)"
locs = { "sq_fn" : sq_fn, "sq_task" : sq_taskname, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" : self.cooker.data }
locs = { "sq_fn" : sq_fn, "sq_task" : sq_taskname, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn, "d" : self.cooker.expanded_data }
valid = bb.utils.better_eval(call, locs)
valid_new = stamppresent

View File

@@ -115,7 +115,7 @@ class ProcessServer(Process, BaseImplServer):
self.quitout.recv()
self.quit = True
self.idle_commands(.1, [self.event_queue._reader, self.command_channel, self.quitout])
self.idle_commands(.1, [self.command_channel, self.quitout])
except Exception:
logger.exception('Running command %s', command)
@@ -135,6 +135,9 @@ class ProcessServer(Process, BaseImplServer):
nextsleep = None
elif retval is True:
nextsleep = None
elif isinstance(retval, float):
if (retval < nextsleep):
nextsleep = retval
elif nextsleep is None:
continue
else:

View File

@@ -235,12 +235,16 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer):
fds = [self]
nextsleep = 0.1
for function, data in self._idlefuns.items():
retval = None
try:
retval = function(self, data, False)
if retval is False:
del self._idlefuns[function]
elif retval is True:
nextsleep = 0
elif isinstance(retval, float):
if (retval < nextsleep):
nextsleep = retval
else:
fds = fds + retval
except SystemExit:
@@ -248,6 +252,9 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer):
except:
import traceback
traceback.print_exc()
if retval == None:
# the function execute failed; delete it
del self._idlefuns[function]
pass
socktimeout = self.socket.gettimeout() or nextsleep
@@ -299,6 +306,8 @@ class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection):
_, error = self.connection.runCommand(["setFeatures", self.featureset])
if error:
# disconnect the client, we can't make the setFeature work
self.connection.removeClient()
# no need to log it here, the error shall be sent to the client
raise BaseException(error)

View File

@@ -62,6 +62,13 @@ class SignatureGenerator(object):
def dump_sigs(self, dataCache, options):
return
def get_taskdata(self):
return (self.runtaskdeps, self.taskhash, self.file_checksum_values)
def set_taskdata(self, data):
self.runtaskdeps, self.taskhash, self.file_checksum_values = data
class SignatureGeneratorBasic(SignatureGenerator):
"""
"""
@@ -185,7 +192,14 @@ class SignatureGeneratorBasic(SignatureGenerator):
checksums = bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], recipename)
for (f,cs) in checksums:
self.file_checksum_values[k][f] = cs
data = data + cs
if cs:
data = data + cs
taskdep = dataCache.task_deps[fn]
if 'nostamp' in taskdep and task in taskdep['nostamp']:
# Nostamp tasks need an implicit taint so that they force any dependent tasks to run
import uuid
data = data + str(uuid.uuid4())
taint = self.read_taint(fn, task, dataCache.stamp[fn])
if taint:
@@ -197,12 +211,6 @@ class SignatureGeneratorBasic(SignatureGenerator):
#d.setVar("BB_TASKHASH_task-%s" % task, taskhash[task])
return h
def get_taskdata(self):
return (self.runtaskdeps, self.taskhash, self.file_checksum_values)
def set_taskdata(self, data):
self.runtaskdeps, self.taskhash, self.file_checksum_values = data
def dump_sigtask(self, fn, task, stampbase, runtime):
k = fn + "." + task
if runtime == "customfile":
@@ -306,6 +314,12 @@ def clean_basepaths(a):
b[clean_basepath(x)] = a[x]
return b
def clean_basepaths_list(a):
b = []
for x in a:
b.append(clean_basepath(x))
return b
def compare_sigfiles(a, b, recursecb = None):
output = []
@@ -405,6 +419,17 @@ def compare_sigfiles(a, b, recursecb = None):
for f in removed:
output.append("Dependency on checksum of file %s was removed" % (f))
changed = []
for idx, task in enumerate(a_data['runtaskdeps']):
a = a_data['runtaskdeps'][idx]
b = b_data['runtaskdeps'][idx]
if a_data['runtaskhashes'][a] != b_data['runtaskhashes'][b]:
changed.append("%s with hash %s\n changed to\n%s with hash %s" % (a, a_data['runtaskhashes'][a], b, b_data['runtaskhashes'][b]))
if changed:
output.append("runtaskdeps changed from %s to %s" % (clean_basepaths_list(a_data['runtaskdeps']), clean_basepaths_list(b_data['runtaskdeps'])))
output.append("\n".join(changed))
if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data:
a = a_data['runtaskhashes']
@@ -481,4 +506,17 @@ def dump_sigfile(a):
if 'taint' in a_data:
output.append("Tainted (by forced/invalidated task): %s" % a_data['taint'])
data = a_data['basehash']
for dep in a_data['runtaskdeps']:
data = data + a_data['runtaskhashes'][dep]
for c in a_data['file_checksum_values']:
data = data + c[1]
if 'taint' in a_data:
data = data + a_data['taint']
h = hashlib.md5(data).hexdigest()
output.append("Computed Hash is %s" % h)
return output

View File

@@ -121,6 +121,12 @@ class DataExpansions(unittest.TestCase):
keys = self.d.keys()
self.assertEqual(keys, ['value_of_foo', 'foo', 'bar'])
def test_keys_deletion(self):
newd = bb.data.createCopy(self.d)
newd.delVar("bar")
keys = newd.keys()
self.assertEqual(keys, ['value_of_foo', 'foo'])
class TestNestedExpansions(unittest.TestCase):
def setUp(self):
self.d = bb.data.init()
@@ -266,6 +272,13 @@ class TestConcatOverride(unittest.TestCase):
bb.data.update_data(self.d)
self.assertEqual(self.d.getVar("TEST", True), "Y")
def test_remove_expansion_items(self):
self.d.setVar("TEST", "A B C D")
self.d.setVar("BAR", "B D")
self.d.setVar("TEST_remove", "${BAR}")
bb.data.update_data(self.d)
self.assertEqual(self.d.getVar("TEST", True), "A C")
class TestOverrides(unittest.TestCase):
def setUp(self):
self.d = bb.data.init()

View File

@@ -24,6 +24,7 @@ import tempfile
import subprocess
import os
from bb.fetch2 import URI
from bb.fetch2 import FetchMethod
import bb
class URITest(unittest.TestCase):
@@ -565,5 +566,83 @@ class URLHandle(unittest.TestCase):
result = bb.fetch.encodeurl(v)
self.assertEqual(result, k)
class FetchMethodTest(FetcherTest):
test_git_uris = {
# version pattern "X.Y.Z"
("mx-1.0", "git://github.com/clutter-project/mx.git;branch=mx-1.4", "9b1db6b8060bd00b121a692f942404a24ae2960f", "")
: "1.99.4",
# version pattern "vX.Y"
("mtd-utils", "git://git.infradead.org/mtd-utils.git", "ca39eb1d98e736109c64ff9c1aa2a6ecca222d8f", "")
: "1.5.0",
# version pattern "pkg_name-X.Y"
("presentproto", "git://anongit.freedesktop.org/git/xorg/proto/presentproto", "24f3a56e541b0a9e6c6ee76081f441221a120ef9", "")
: "1.0",
# version pattern "pkg_name-vX.Y.Z"
("dtc", "git://git.qemu.org/dtc.git", "65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf", "")
: "1.4.0",
# combination version pattern
("sysprof", "git://git.gnome.org/sysprof", "cd44ee6644c3641507fb53b8a2a69137f2971219", "")
: "1.2.0",
("u-boot-mkimage", "git://git.denx.de/u-boot.git;branch=master;protocol=git", "62c175fbb8a0f9a926c88294ea9f7e88eb898f6c", "")
: "2014.01",
# version pattern "yyyymmdd"
("mobile-broadband-provider-info", "git://git.gnome.org/mobile-broadband-provider-info", "4ed19e11c2975105b71b956440acdb25d46a347d", "")
: "20120614",
# packages with a valid 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]))")
: "11.0.0",
("chkconfig-alternatives-native", "git://github.com/kergoth/chkconfig;branch=sysroot", "cd437ecbd8986c894442f8fce1e0061e20f04dee", "chkconfig\-(?P<pver>((\d+[\.\-_]*)+))")
: "1.3.59",
("remake", "git://github.com/rocky/remake.git", "f05508e521987c8494c92d9c2871aec46307d51d", "(?P<pver>(\d+\.(\d+\.)*\d*(\+dbg\d+(\.\d+)*)*))")
: "3.82+dbg0.9",
}
test_wget_uris = {
# packages with versions inside directory name
("util-linux", "http://kernel.org/pub/linux/utils/util-linux/v2.23/util-linux-2.24.2.tar.bz2", "", "")
: "2.24.2",
("enchant", "http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz", "", "")
: "1.6.0",
("cmake", "http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz", "", "")
: "2.8.12.1",
# packages with versions only in current directory
("eglic", "http://downloads.yoctoproject.org/releases/eglibc/eglibc-2.18-svnr23787.tar.bz2", "", "")
: "2.19",
("gnu-config", "http://downloads.yoctoproject.org/releases/gnu-config/gnu-config-20120814.tar.bz2", "", "")
: "20120814",
# packages with "99" in the name of possible version
("pulseaudio", "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-4.0.tar.xz", "", "")
: "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
("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")
: "6.1.19",
}
if os.environ.get("BB_SKIP_NETTESTS") == "yes":
print("Unset BB_SKIP_NETTESTS to run network tests")
else:
def test_git_latest_versionstring(self):
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])
ud = bb.fetch2.FetchData(k[1], self.d)
verstring = ud.method.latest_versionstring(ud, self.d)
r = bb.utils.vercmp_string(v, verstring)
self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring))
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])
ud = bb.fetch2.FetchData(k[1], self.d)
verstring = ud.method.latest_versionstring(ud, self.d)
r = bb.utils.vercmp_string(v, verstring)
self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring))

View File

@@ -21,6 +21,7 @@
import unittest
import bb
import os
class VerCmpString(unittest.TestCase):
@@ -35,6 +36,10 @@ class VerCmpString(unittest.TestCase):
self.assertTrue(result < 0)
result = bb.utils.vercmp_string('1.1', '1_p2')
self.assertTrue(result < 0)
result = bb.utils.vercmp_string('1.0', '1.0+1.1-beta1')
self.assertTrue(result < 0)
result = bb.utils.vercmp_string('1.1', '1.0+1.1-beta1')
self.assertTrue(result > 0)
def test_explode_dep_versions(self):
correctresult = {"foo" : ["= 1.10"]}
@@ -51,3 +56,52 @@ class VerCmpString(unittest.TestCase):
result = bb.utils.explode_dep_versions2("foo ( =1.10 )")
self.assertEqual(result, correctresult)
def test_vercmp_string_op(self):
compareops = [('1', '1', '=', True),
('1', '1', '==', True),
('1', '1', '!=', False),
('1', '1', '>', False),
('1', '1', '<', False),
('1', '1', '>=', True),
('1', '1', '<=', True),
('1', '0', '=', False),
('1', '0', '==', False),
('1', '0', '!=', True),
('1', '0', '>', True),
('1', '0', '<', False),
('1', '0', '>>', True),
('1', '0', '<<', False),
('1', '0', '>=', True),
('1', '0', '<=', False),
('0', '1', '=', False),
('0', '1', '==', False),
('0', '1', '!=', True),
('0', '1', '>', False),
('0', '1', '<', True),
('0', '1', '>>', False),
('0', '1', '<<', True),
('0', '1', '>=', False),
('0', '1', '<=', True)]
for arg1, arg2, op, correctresult in compareops:
result = bb.utils.vercmp_string_op(arg1, arg2, op)
self.assertEqual(result, correctresult, 'vercmp_string_op("%s", "%s", "%s") != %s' % (arg1, arg2, op, correctresult))
# Check that clearly invalid operator raises an exception
self.assertRaises(bb.utils.VersionStringException, bb.utils.vercmp_string_op, '0', '0', '$')
class Path(unittest.TestCase):
def test_unsafe_delete_path(self):
checkitems = [('/', True),
('//', True),
('///', True),
(os.getcwd().count(os.sep) * ('..' + os.sep), True),
(os.environ.get('HOME', '/home/test'), True),
('/home/someone', True),
('/home/other/', True),
('/home/other/subdir', False),
('', False)]
for arg1, correctresult in checkitems:
result = bb.utils._check_unsafe_delete_path(arg1)
self.assertEqual(result, correctresult, '_check_unsafe_delete_path("%s") != %s' % (arg1, correctresult))

View File

@@ -84,13 +84,18 @@ class Tinfoil:
else:
self.parseRecipes()
def shutdown(self):
self.cooker.shutdown(force=True)
self.cooker.post_serve()
self.cooker.unlockBitbake()
class TinfoilConfigParameters(ConfigParameters):
def __init__(self, **options):
self.initial_options = options
super(TinfoilConfigParameters, self).__init__()
def parseCommandLine(self):
def parseCommandLine(self, argv=sys.argv):
class DummyOptions:
def __init__(self, initial_options):
for key, val in initial_options.items():

View File

@@ -26,12 +26,20 @@ os.environ["DJANGO_SETTINGS_MODULE"] = "toaster.toastermain.settings"
import toaster.toastermain.settings as toaster_django_settings
from toaster.orm.models import Build, Task, Recipe, Layer_Version, Layer, Target, LogMessage, HelpText
from toaster.orm.models import Target_Image_File
from toaster.orm.models import Target_Image_File, BuildArtifact
from toaster.orm.models import Variable, VariableHistory
from toaster.orm.models import Package, Package_File, Target_Installed_Package, Target_File
from toaster.orm.models import Task_Dependency, Package_Dependency
from toaster.orm.models import Recipe_Dependency
from bb.msg import BBLogFormatter as format
from django.db import models
from pprint import pformat
import logging
from django.db import transaction, connection
logger = logging.getLogger("BitBake")
class NotExisting(Exception):
pass
@@ -43,8 +51,57 @@ class ORMWrapper(object):
"""
def __init__(self):
self.layer_version_objects = []
self.task_objects = {}
self.recipe_objects = {}
pass
@staticmethod
def _build_key(**kwargs):
key = "0"
for k in sorted(kwargs.keys()):
if isinstance(kwargs[k], models.Model):
key += "-%d" % kwargs[k].id
else:
key += "-%s" % str(kwargs[k])
return key
def _cached_get_or_create(self, clazz, **kwargs):
""" This is a memory-cached get_or_create. We assume that the objects will not be created in the
database through any other means.
"""
assert issubclass(clazz, models.Model), "_cached_get_or_create needs to get the class as first argument"
key = ORMWrapper._build_key(**kwargs)
dictname = "objects_%s" % clazz.__name__
if not dictname in vars(self).keys():
vars(self)[dictname] = {}
created = False
if not key in vars(self)[dictname].keys():
vars(self)[dictname][key] = clazz.objects.create(**kwargs)
created = True
return (vars(self)[dictname][key], created)
def _cached_get(self, clazz, **kwargs):
""" This is a memory-cached get. We assume that the objects will not change in the database between gets.
"""
assert issubclass(clazz, models.Model), "_cached_get needs to get the class as first argument"
key = ORMWrapper._build_key(**kwargs)
dictname = "objects_%s" % clazz.__name__
if not dictname in vars(self).keys():
vars(self)[dictname] = {}
if not key in vars(self)[dictname].keys():
vars(self)[dictname][key] = clazz.objects.get(**kwargs)
return vars(self)[dictname][key]
def create_build_object(self, build_info, brbe):
assert 'machine' in build_info
@@ -65,13 +122,18 @@ class ORMWrapper(object):
build_name=build_info['build_name'],
bitbake_version=build_info['bitbake_version'])
logger.debug(1, "buildinfohelper: build is created %s" % build)
if brbe is not None:
logger.debug(1, "buildinfohelper: brbe is %s" % brbe)
from bldcontrol.models import BuildEnvironment, BuildRequest
br, be = brbe.split(":")
buildrequest = BuildRequest.objects.get(pk = br)
buildrequest.build = build
buildrequest.save()
build.project_id = buildrequest.project_id
build.save()
return build
def create_target_objects(self, target_info):
@@ -83,7 +145,7 @@ class ORMWrapper(object):
tgt_object = Target.objects.create( build = target_info['build'],
target = tgt_name,
is_image = False,
);
)
targets.append(tgt_object)
return targets
@@ -103,8 +165,7 @@ class ORMWrapper(object):
build.outcome = outcome
build.save()
def update_target_object(self, target, license_manifest_path):
def update_target_set_license_manifest(self, target, license_manifest_path):
target.license_manifest_path = license_manifest_path
target.save()
@@ -113,39 +174,47 @@ class ORMWrapper(object):
assert 'recipe' in task_information
assert 'task_name' in task_information
task_object, created = Task.objects.get_or_create(
build=task_information['build'],
recipe=task_information['recipe'],
task_name=task_information['task_name'],
)
if must_exist and created:
task_information['debug'] = "build id %d, recipe id %d" % (task_information['build'].pk, task_information['recipe'].pk)
task_object.delete()
raise NotExisting("Task object created when expected to exist", task_information)
# we use must_exist info for database look-up optimization
task_object, created = self._cached_get_or_create(Task,
build=task_information['build'],
recipe=task_information['recipe'],
task_name=task_information['task_name']
)
if created and must_exist:
task_information['debug'] = "build id %d, recipe id %d" % (task_information['build'].pk, task_information['recipe'].pk)
raise NotExisting("Task object created when expected to exist", task_information)
object_changed = False
for v in vars(task_object):
if v in task_information.keys():
vars(task_object)[v] = task_information[v]
if vars(task_object)[v] != task_information[v]:
vars(task_object)[v] = task_information[v]
object_changed = True
# update setscene-related information
if 1 == Task.objects.related_setscene(task_object).count():
if task_object.outcome == Task.OUTCOME_COVERED:
task_object.outcome = Task.OUTCOME_CACHED
# update setscene-related information if the task has a setscene
if task_object.outcome == Task.OUTCOME_COVERED and 1 == task_object.get_related_setscene().count():
task_object.outcome = Task.OUTCOME_CACHED
object_changed = True
outcome_task_setscene = Task.objects.get(task_executed=True, build = task_object.build,
recipe = task_object.recipe, task_name=task_object.task_name+"_setscene").outcome
if outcome_task_setscene == Task.OUTCOME_SUCCESS:
task_object.sstate_result = Task.SSTATE_RESTORED
object_changed = True
elif outcome_task_setscene == Task.OUTCOME_FAILED:
task_object.sstate_result = Task.SSTATE_FAILED
object_changed = True
# mark down duration if we have a start time and a current time
if 'start_time' in task_information.keys() and 'end_time' in task_information.keys():
duration = task_information['end_time'] - task_information['start_time']
task_object.elapsed_time = duration
object_changed = True
del task_information['start_time']
del task_information['end_time']
task_object.save()
if object_changed:
task_object.save()
return task_object
@@ -153,20 +222,22 @@ class ORMWrapper(object):
assert 'layer_version' in recipe_information
assert 'file_path' in recipe_information
if recipe_information['file_path'].startswith(recipe_information['layer_version'].layer.local_path):
recipe_information['file_path'] = recipe_information['file_path'][len(recipe_information['layer_version'].layer.local_path):].lstrip("/")
recipe_object, created = Recipe.objects.get_or_create(
layer_version=recipe_information['layer_version'],
file_path=recipe_information['file_path'])
if must_exist and created:
recipe_object.delete()
recipe_object, created = self._cached_get_or_create(Recipe, layer_version=recipe_information['layer_version'],
file_path=recipe_information['file_path'])
if created and must_exist:
raise NotExisting("Recipe object created when expected to exist", recipe_information)
object_changed = False
for v in vars(recipe_object):
if v in recipe_information.keys():
object_changed = True
vars(recipe_object)[v] = recipe_information[v]
recipe_object.save()
if object_changed:
recipe_object.save()
return recipe_object
@@ -185,19 +256,53 @@ class ORMWrapper(object):
priority = layer_version_information['priority']
)
self.layer_version_objects.append(layer_version_object)
return layer_version_object
def get_update_layer_object(self, layer_information):
def get_update_layer_object(self, layer_information, brbe):
assert 'name' in layer_information
assert 'local_path' in layer_information
assert 'layer_index_url' in layer_information
layer_object, created = Layer.objects.get_or_create(
if brbe is None:
layer_object, created = Layer.objects.get_or_create(
name=layer_information['name'],
local_path=layer_information['local_path'],
layer_index_url=layer_information['layer_index_url'])
return layer_object
else:
# we are under managed mode; we must match the layer used in the Project Layer
from bldcontrol.models import BuildEnvironment, BuildRequest
br_id, be_id = brbe.split(":")
# find layer by checkout path;
from bldcontrol import bbcontroller
bc = bbcontroller.getBuildEnvironmentController(pk = be_id)
# we might have a race condition here, as the project layers may change between the build trigger and the actual build execution
# but we can only match on the layer name, so the worst thing can happen is a mis-identification of the layer, not a total failure
# note that this is different
buildrequest = BuildRequest.objects.get(pk = br_id)
for brl in buildrequest.brlayer_set.all():
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)
#logger.debug(1, "Localdirname %s lcal_path %s" % (localdirname, layer_information['local_path']))
if localdirname.startswith(layer_information['local_path']):
# we matched the BRLayer, but we need the layer_version that generated this BR; reverse of the Project.schedule_build()
#logger.debug(1, "Matched %s to BRlayer %s" % (pformat(layer_information["local_path"]), localdirname))
for pl in buildrequest.project.projectlayer_set.filter(layercommit__layer__name = brl.name):
if pl.layercommit.layer.vcs_url == brl.giturl :
layer = pl.layercommit.layer
layer.local_path = layer_information['local_path']
layer.save()
return layer
raise NotExisting("Unidentified layer %s" % pformat(layer_information))
return layer_object
def save_target_file_information(self, build_obj, target_obj, filedata):
assert isinstance(build_obj, Build)
@@ -229,7 +334,7 @@ class ORMWrapper(object):
parent_path = "/".join(path.split("/")[:len(path.split("/")) - 1])
if len(parent_path) == 0:
parent_path = "/"
parent_obj = Target_File.objects.get(target = target_obj, path = parent_path, inodetype = Target_File.ITYPE_DIRECTORY)
parent_obj = self._cached_get(Target_File, target = target_obj, path = parent_path, inodetype = Target_File.ITYPE_DIRECTORY)
tf_obj = Target_File.objects.create(
target = target_obj,
path = path,
@@ -263,7 +368,7 @@ class ORMWrapper(object):
permission = permission,
owner = user,
group = group)
parent_obj = Target_File.objects.get(target = target_obj, path = parent_path, inodetype = Target_File.ITYPE_DIRECTORY)
parent_obj = self._cached_get(Target_File, target = target_obj, path = parent_path, inodetype = Target_File.ITYPE_DIRECTORY)
tf_obj.directory = parent_obj
tf_obj.save()
@@ -318,8 +423,7 @@ class ORMWrapper(object):
searchname = pkgpnmap[p]['OPKGN']
packagedict[p]['object'], created = Package.objects.get_or_create( build = build_obj, name = searchname )
if created:
# package was not build in the current build, but
if created or packagedict[p]['object'].size == -1: # save the data anyway we can, not just if it was not created here; bug [YOCTO #6887]
# fill in everything we can from the runtime-reverse package data
try:
packagedict[p]['object'].recipe = recipes[pkgpnmap[p]['PN']]
@@ -333,11 +437,14 @@ class ORMWrapper(object):
packagedict[p]['object'].size = int(pkgpnmap[p]['PKGSIZE'])
# no files recorded for this package, so save files info
packagefile_objects = []
for targetpath in pkgpnmap[p]['FILES_INFO']:
targetfilesize = pkgpnmap[p]['FILES_INFO'][targetpath]
Package_File.objects.create( package = packagedict[p]['object'],
packagefile_objects.append(Package_File( package = packagedict[p]['object'],
path = targetpath,
size = targetfilesize)
size = targetfilesize))
if len(packagefile_objects):
Package_File.objects.bulk_create(packagefile_objects)
except KeyError as e:
errormsg += " stpi: Key error, package %s key %s \n" % ( p, e )
@@ -347,6 +454,7 @@ class ORMWrapper(object):
Target_Installed_Package.objects.create(target = target_obj, package = packagedict[p]['object'])
packagedeps_objs = []
for p in packagedict:
for (px,deptype) in packagedict[p]['depends']:
if deptype == 'depends':
@@ -354,19 +462,32 @@ class ORMWrapper(object):
elif deptype == 'recommends':
tdeptype = Package_Dependency.TYPE_TRECOMMENDS
Package_Dependency.objects.create( package = packagedict[p]['object'],
packagedeps_objs.append(Package_Dependency( package = packagedict[p]['object'],
depends_on = packagedict[px]['object'],
dep_type = tdeptype,
target = target_obj);
target = target_obj))
if len(packagedeps_objs) > 0:
Package_Dependency.objects.bulk_create(packagedeps_objs)
if (len(errormsg) > 0):
raise Exception(errormsg)
logger.warn("buildinfohelper: target_package_info could not identify recipes: \n%s" % errormsg)
def save_target_image_file_information(self, target_obj, file_name, file_size):
target_image_file = Target_Image_File.objects.create( target = target_obj,
file_name = file_name,
file_size = file_size)
target_image_file.save()
def save_artifact_information(self, build_obj, file_name, file_size):
# we skip the image files from other builds
if Target_Image_File.objects.filter(file_name = file_name).count() > 0:
return
# do not update artifacts found in other builds
if BuildArtifact.objects.filter(file_name = file_name).count() > 0:
return
BuildArtifact.objects.create(build = build_obj, file_name = file_name, file_size = file_size)
def create_logmessage(self, log_information):
assert 'build' in log_information
@@ -408,10 +529,13 @@ class ORMWrapper(object):
bp_object.save()
# save any attached file information
packagefile_objects = []
for path in package_info['FILES_INFO']:
fo = Package_File.objects.create( package = bp_object,
packagefile_objects.append(Package_File( package = bp_object,
path = path,
size = package_info['FILES_INFO'][path] )
size = package_info['FILES_INFO'][path] ))
if len(packagefile_objects):
Package_File.objects.bulk_create(packagefile_objects)
def _po_byname(p):
pkg, created = Package.objects.get_or_create(build = build_obj, name = p)
@@ -420,39 +544,44 @@ class ORMWrapper(object):
pkg.save()
return pkg
packagedeps_objs = []
# save soft dependency information
if 'RDEPENDS' in package_info and package_info['RDEPENDS']:
for p in bb.utils.explode_deps(package_info['RDEPENDS']):
Package_Dependency.objects.get_or_create( package = bp_object,
depends_on = _po_byname(p), dep_type = Package_Dependency.TYPE_RDEPENDS)
packagedeps_objs.append(Package_Dependency( package = bp_object,
depends_on = _po_byname(p), dep_type = Package_Dependency.TYPE_RDEPENDS))
if 'RPROVIDES' in package_info and package_info['RPROVIDES']:
for p in bb.utils.explode_deps(package_info['RPROVIDES']):
Package_Dependency.objects.get_or_create( package = bp_object,
depends_on = _po_byname(p), dep_type = Package_Dependency.TYPE_RPROVIDES)
packagedeps_objs.append(Package_Dependency( package = bp_object,
depends_on = _po_byname(p), dep_type = Package_Dependency.TYPE_RPROVIDES))
if 'RRECOMMENDS' in package_info and package_info['RRECOMMENDS']:
for p in bb.utils.explode_deps(package_info['RRECOMMENDS']):
Package_Dependency.objects.get_or_create( package = bp_object,
depends_on = _po_byname(p), dep_type = Package_Dependency.TYPE_RRECOMMENDS)
packagedeps_objs.append(Package_Dependency( package = bp_object,
depends_on = _po_byname(p), dep_type = Package_Dependency.TYPE_RRECOMMENDS))
if 'RSUGGESTS' in package_info and package_info['RSUGGESTS']:
for p in bb.utils.explode_deps(package_info['RSUGGESTS']):
Package_Dependency.objects.get_or_create( package = bp_object,
depends_on = _po_byname(p), dep_type = Package_Dependency.TYPE_RSUGGESTS)
packagedeps_objs.append(Package_Dependency( package = bp_object,
depends_on = _po_byname(p), dep_type = Package_Dependency.TYPE_RSUGGESTS))
if 'RREPLACES' in package_info and package_info['RREPLACES']:
for p in bb.utils.explode_deps(package_info['RREPLACES']):
Package_Dependency.objects.get_or_create( package = bp_object,
depends_on = _po_byname(p), dep_type = Package_Dependency.TYPE_RREPLACES)
packagedeps_objs.append(Package_Dependency( package = bp_object,
depends_on = _po_byname(p), dep_type = Package_Dependency.TYPE_RREPLACES))
if 'RCONFLICTS' in package_info and package_info['RCONFLICTS']:
for p in bb.utils.explode_deps(package_info['RCONFLICTS']):
Package_Dependency.objects.get_or_create( package = bp_object,
depends_on = _po_byname(p), dep_type = Package_Dependency.TYPE_RCONFLICTS)
packagedeps_objs.append(Package_Dependency( package = bp_object,
depends_on = _po_byname(p), dep_type = Package_Dependency.TYPE_RCONFLICTS))
if len(packagedeps_objs) > 0:
Package_Dependency.objects.bulk_create(packagedeps_objs)
return bp_object
def save_build_variables(self, build_obj, vardump):
assert isinstance(build_obj, Build)
helptext_objects = []
for k in vardump:
desc = vardump[k]['doc'];
desc = vardump[k]['doc']
if desc is None:
var_words = [word for word in k.split('_')]
root_var = "_".join([word for word in var_words if word.isupper()])
@@ -460,25 +589,31 @@ class ORMWrapper(object):
desc = vardump[root_var]['doc']
if desc is None:
desc = ''
if desc:
helptext_obj = HelpText.objects.create(build=build_obj,
if len(desc):
helptext_objects.append(HelpText(build=build_obj,
area=HelpText.VARIABLE,
key=k,
text=desc)
text=desc))
if not bool(vardump[k]['func']):
value = vardump[k]['v'];
value = vardump[k]['v']
if value is None:
value = ''
variable_obj = Variable.objects.create( build = build_obj,
variable_name = k,
variable_value = value,
description = desc)
varhist_objects = []
for vh in vardump[k]['history']:
if not 'documentation.conf' in vh['file']:
VariableHistory.objects.create( variable = variable_obj,
varhist_objects.append(VariableHistory( variable = variable_obj,
file_name = vh['file'],
line_number = vh['line'],
operation = vh['op'])
operation = vh['op']))
if len(varhist_objects):
VariableHistory.objects.bulk_create(varhist_objects)
HelpText.objects.bulk_create(helptext_objects)
class MockEvent: pass # sometimes we mock an event, declare it here
@@ -495,11 +630,16 @@ class BuildInfoHelper(object):
self.internal_state = {}
self.internal_state['taskdata'] = {}
self.task_order = 0
self.autocommit_step = 1
self.server = server
# we use manual transactions if the database doesn't autocommit on us
if not connection.features.autocommits_when_autocommit_is_off:
transaction.set_autocommit(False)
self.orm_wrapper = ORMWrapper()
self.has_build_history = has_build_history
self.tmp_dir = self.server.runCommand(["getVariable", "TMPDIR"])[0]
self.brbe = self.server.runCommand(["getVariable", "TOASTER_BRBE"])[0]
logger.debug(1, "buildinfohelper: Build info helper inited %s" % vars(self))
def _configure_django(self):
@@ -544,19 +684,47 @@ class BuildInfoHelper(object):
assert path.startswith("/")
assert 'build' in self.internal_state
def _slkey(layer_version):
assert isinstance(layer_version, Layer_Version)
return len(layer_version.layer.local_path)
if self.brbe is None:
def _slkey_interactive(layer_version):
assert isinstance(layer_version, Layer_Version)
return len(layer_version.layer.local_path)
# Heuristics: we always match recipe to the deepest layer path that
# we can match to the recipe file path
for bl in sorted(Layer_Version.objects.filter(build = self.internal_state['build']), reverse=True, key=_slkey):
if (path.startswith(bl.layer.local_path)):
return bl
# 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.layer.local_path):
return lvo
#TODO: if we get here, we didn't read layers correctly
assert False
return None
else:
br_id, be_id = self.brbe.split(":")
from bldcontrol.bbcontroller import getBuildEnvironmentController
from bldcontrol.models import BuildRequest
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):
#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
#if we get here, we didn't read layers correctly; dump whatever information we have on the error log
logger.error("Could not match layer version for recipe path %s : %s" % (path, self.orm_wrapper.layer_version_objects))
#mockup the new layer
unknown_layer, created = Layer.objects.get_or_create(name="__FIXME__unidentified_layer", local_path="/", layer_index_url="")
unknown_layer_version_obj, created = Layer_Version.objects.get_or_create(layer = unknown_layer, build = self.internal_state['build'])
return unknown_layer_version_obj
def _get_recipe_information_from_taskfile(self, taskfile):
localfilepath = taskfile.split(":")[-1]
@@ -599,13 +767,25 @@ class BuildInfoHelper(object):
################################
## external available methods to store information
@staticmethod
def _get_data_from_event(event):
evdata = None
if '_localdata' in vars(event):
evdata = event._localdata
elif 'data' in vars(event):
evdata = event.data
else:
raise Exception("Event with neither _localdata or data properties")
return evdata
def store_layer_info(self, event):
assert '_localdata' in vars(event)
layerinfos = event._localdata
layerinfos = BuildInfoHelper._get_data_from_event(event)
self.internal_state['lvs'] = {}
for layer in layerinfos:
self.internal_state['lvs'][self.orm_wrapper.get_update_layer_object(layerinfos[layer])] = layerinfos[layer]['version']
try:
self.internal_state['lvs'][self.orm_wrapper.get_update_layer_object(layerinfos[layer], self.brbe)] = layerinfos[layer]['version']
except NotExisting as nee:
logger.warn("buildinfohelper: cannot identify layer exception:%s " % nee)
def store_started_build(self, event):
@@ -617,10 +797,13 @@ class BuildInfoHelper(object):
self.internal_state['build'] = build_obj
# save layer version information for this build
for layer_obj in self.internal_state['lvs']:
self.orm_wrapper.get_update_layer_version_object(build_obj, layer_obj, self.internal_state['lvs'][layer_obj])
if not 'lvs' in self.internal_state:
logger.error("Layer version information not found; Check if the bitbake server was configured to inherit toaster.bbclass.")
else:
for layer_obj in self.internal_state['lvs']:
self.orm_wrapper.get_update_layer_version_object(build_obj, layer_obj, self.internal_state['lvs'][layer_obj])
del self.internal_state['lvs']
del self.internal_state['lvs']
# create target information
target_information = {}
@@ -630,20 +813,27 @@ class BuildInfoHelper(object):
self.internal_state['targets'] = self.orm_wrapper.create_target_objects(target_information)
# Save build configuration
self.orm_wrapper.save_build_variables(build_obj, self.server.runCommand(["getAllKeysWithFlags", ["doc", "func"]])[0])
data = self.server.runCommand(["getAllKeysWithFlags", ["doc", "func"]])[0]
self.orm_wrapper.save_build_variables(build_obj, data)
return self.brbe
def update_target_image_file(self, event):
image_fstypes = self.server.runCommand(["getVariable", "IMAGE_FSTYPES"])[0]
evdata = BuildInfoHelper._get_data_from_event(event)
for t in self.internal_state['targets']:
if t.is_image == True:
output_files = list(event._localdata.viewkeys())
output_files = list(evdata.viewkeys())
for output in output_files:
if t.target in output and output.split('.rootfs.')[1] in image_fstypes:
self.orm_wrapper.save_target_image_file_information(t, output, event._localdata[output])
if t.target in output and 'rootfs' in output and not output.endswith(".manifest"):
self.orm_wrapper.save_target_image_file_information(t, output, evdata[output])
def update_artifact_image_file(self, event):
evdata = BuildInfoHelper._get_data_from_event(event)
for artifact_path in evdata.keys():
self.orm_wrapper.save_artifact_information(self.internal_state['build'], artifact_path, evdata[artifact_path])
def update_build_information(self, event, errors, warnings, taskfailures):
if 'build' in self.internal_state:
@@ -651,12 +841,12 @@ class BuildInfoHelper(object):
def store_license_manifest_path(self, event):
deploy_dir = event._localdata['deploy_dir']
image_name = event._localdata['image_name']
path = deploy_dir + "/licenses/" + image_name + "/"
deploy_dir = BuildInfoHelper._get_data_from_event(event)['deploy_dir']
image_name = BuildInfoHelper._get_data_from_event(event)['image_name']
path = deploy_dir + "/licenses/" + image_name + "/license.manifest"
for target in self.internal_state['targets']:
if target.target in image_name:
self.orm_wrapper.update_target_object(target, path)
self.orm_wrapper.update_target_set_license_manifest(target, path)
def store_started_task(self, event):
@@ -700,14 +890,21 @@ class BuildInfoHelper(object):
def store_tasks_stats(self, event):
for (taskfile, taskname, taskstats, recipename) in event._localdata:
for (taskfile, taskname, taskstats, recipename) in BuildInfoHelper._get_data_from_event(event):
localfilepath = taskfile.split(":")[-1]
assert localfilepath.startswith("/")
recipe_information = self._get_recipe_information_from_taskfile(taskfile)
recipe_object = Recipe.objects.get(layer_version = recipe_information['layer_version'],
try:
if recipe_information['file_path'].startswith(recipe_information['layer_version'].layer.local_path):
recipe_information['file_path'] = recipe_information['file_path'][len(recipe_information['layer_version'].layer.local_path):].lstrip("/")
recipe_object = Recipe.objects.get(layer_version = recipe_information['layer_version'],
file_path__endswith = recipe_information['file_path'],
name = recipename)
except Recipe.DoesNotExist:
logger.error("Could not find recipe for recipe_information %s name %s" % (pformat(recipe_information), recipename))
raise
task_information = {}
task_information['build'] = self.internal_state['build']
@@ -715,6 +912,8 @@ class BuildInfoHelper(object):
task_information['task_name'] = taskname
task_information['cpu_usage'] = taskstats['cpu_usage']
task_information['disk_io'] = taskstats['disk_io']
if 'elapsed_time' in taskstats:
task_information['elapsed_time'] = taskstats['elapsed_time']
task_obj = self.orm_wrapper.get_update_task_object(task_information, True) # must exist
def update_and_store_task(self, event):
@@ -768,11 +967,18 @@ class BuildInfoHelper(object):
task_information['outcome'] = Task.OUTCOME_FAILED
del self.internal_state['taskdata'][identifier]
if not connection.features.autocommits_when_autocommit_is_off:
# we force a sync point here, to get the progress bar to show
if self.autocommit_step % 3 == 0:
transaction.set_autocommit(True)
transaction.set_autocommit(False)
self.autocommit_step += 1
self.orm_wrapper.get_update_task_object(task_information, True) # must exist
def store_missed_state_tasks(self, event):
for (fn, taskname, taskhash, sstatefile) in event._localdata['missed']:
for (fn, taskname, taskhash, sstatefile) in BuildInfoHelper._get_data_from_event(event)['missed']:
identifier = fn + taskname + "_setscene"
recipe_information = self._get_recipe_information_from_taskfile(fn)
@@ -790,7 +996,7 @@ class BuildInfoHelper(object):
self.orm_wrapper.get_update_task_object(task_information)
for (fn, taskname, taskhash, sstatefile) in event._localdata['found']:
for (fn, taskname, taskhash, sstatefile) in BuildInfoHelper._get_data_from_event(event)['found']:
identifier = fn + taskname + "_setscene"
recipe_information = self._get_recipe_information_from_taskfile(fn)
@@ -806,15 +1012,14 @@ class BuildInfoHelper(object):
def store_target_package_data(self, event):
assert '_localdata' in vars(event)
# for all image targets
for target in self.internal_state['targets']:
if target.is_image:
try:
pkgdata = event._localdata['pkgdata']
imgdata = event._localdata['imgdata'][target.target]
pkgdata = BuildInfoHelper._get_data_from_event(event)['pkgdata']
imgdata = BuildInfoHelper._get_data_from_event(event)['imgdata'][target.target]
self.orm_wrapper.save_target_package_information(self.internal_state['build'], target, imgdata, pkgdata, self.internal_state['recipes'])
filedata = event._localdata['filedata'][target.target]
filedata = BuildInfoHelper._get_data_from_event(event)['filedata'][target.target]
self.orm_wrapper.save_target_file_information(self.internal_state['build'], target, filedata)
except KeyError:
# we must have not got the data for this image, nothing to save
@@ -850,14 +1055,29 @@ class BuildInfoHelper(object):
recipe_info = {}
recipe_info['name'] = pn
recipe_info['version'] = event._depgraph['pn'][pn]['version'].lstrip(":")
recipe_info['layer_version'] = layer_version_obj
recipe_info['summary'] = event._depgraph['pn'][pn]['summary']
recipe_info['license'] = event._depgraph['pn'][pn]['license']
recipe_info['description'] = event._depgraph['pn'][pn]['description']
recipe_info['section'] = event._depgraph['pn'][pn]['section']
recipe_info['homepage'] = event._depgraph['pn'][pn]['homepage']
recipe_info['bugtracker'] = event._depgraph['pn'][pn]['bugtracker']
if 'version' in event._depgraph['pn'][pn]:
recipe_info['version'] = event._depgraph['pn'][pn]['version'].lstrip(":")
if 'summary' in event._depgraph['pn'][pn]:
recipe_info['summary'] = event._depgraph['pn'][pn]['summary']
if 'license' in event._depgraph['pn'][pn]:
recipe_info['license'] = event._depgraph['pn'][pn]['license']
if 'description' in event._depgraph['pn'][pn]:
recipe_info['description'] = event._depgraph['pn'][pn]['description']
if 'section' in event._depgraph['pn'][pn]:
recipe_info['section'] = event._depgraph['pn'][pn]['section']
if 'homepage' in event._depgraph['pn'][pn]:
recipe_info['homepage'] = event._depgraph['pn'][pn]['homepage']
if 'bugtracker' in event._depgraph['pn'][pn]:
recipe_info['bugtracker'] = event._depgraph['pn'][pn]['bugtracker']
recipe_info['file_path'] = file_name
recipe = self.orm_wrapper.get_update_recipe_object(recipe_info)
recipe.is_image = False
@@ -879,20 +1099,22 @@ class BuildInfoHelper(object):
# save recipe dependency
# buildtime
recipedeps_objects = []
for recipe in event._depgraph['depends']:
try:
target = self.internal_state['recipes'][recipe]
for dep in event._depgraph['depends'][recipe]:
dependency = self.internal_state['recipes'][dep]
Recipe_Dependency.objects.get_or_create( recipe = target,
depends_on = dependency, dep_type = Recipe_Dependency.TYPE_DEPENDS)
recipedeps_objects.append(Recipe_Dependency( recipe = target,
depends_on = dependency, dep_type = Recipe_Dependency.TYPE_DEPENDS))
except KeyError as e:
if e not in assume_provided and not str(e).startswith("virtual/"):
errormsg += " stpd: KeyError saving recipe dependency for %s, %s \n" % (recipe, e)
Recipe_Dependency.objects.bulk_create(recipedeps_objects)
# save all task information
def _save_a_task(taskdesc):
spec = re.split(r'\.', taskdesc);
spec = re.split(r'\.', taskdesc)
pn = ".".join(spec[0:-1])
taskname = spec[-1]
e = event
@@ -909,6 +1131,7 @@ class BuildInfoHelper(object):
tasks[taskdesc] = _save_a_task(taskdesc)
# create dependencies between tasks
taskdeps_objects = []
for taskdesc in event._depgraph['tdepends']:
target = tasks[taskdesc]
for taskdep in event._depgraph['tdepends'][taskdesc]:
@@ -917,29 +1140,32 @@ class BuildInfoHelper(object):
dep = _save_a_task(taskdep)
else:
dep = tasks[taskdep]
Task_Dependency.objects.get_or_create( task = target, depends_on = dep )
taskdeps_objects.append(Task_Dependency( task = target, depends_on = dep ))
Task_Dependency.objects.bulk_create(taskdeps_objects)
if (len(errormsg) > 0):
raise Exception(errormsg)
logger.warn("buildinfohelper: dependency info not identify recipes: \n%s" % errormsg)
def store_build_package_information(self, event):
assert '_localdata' in vars(event)
package_info = event._localdata
package_info = BuildInfoHelper._get_data_from_event(event)
self.orm_wrapper.save_build_package_information(self.internal_state['build'],
package_info,
self.internal_state['recipes'],
)
def _store_build_done(self):
def _store_build_done(self, errorcode):
br_id, be_id = self.brbe.split(":")
from bldcontrol.models import BuildEnvironment, BuildRequest
be = BuildEnvironment.objects.get(pk = be_id)
be.lock = BuildEnvironment.LOCK_LOCK
be.save()
br = BuildRequest.objects.get(pk = br_id)
br.state = BuildRequest.REQ_COMPLETED
br.build = self.internal_state['build']
if errorcode == 0:
# request archival of the project artifacts
br.state = BuildRequest.REQ_ARCHIVE
else:
br.state = BuildRequest.REQ_FAILED
br.save()
@@ -947,8 +1173,19 @@ class BuildInfoHelper(object):
mockevent = MockEvent()
mockevent.levelno = format.ERROR
mockevent.msg = text
mockevent.pathname = '-- None'
mockevent.lineno = -1
self.store_log_event(mockevent)
def store_log_exception(self, text, backtrace = ""):
mockevent = MockEvent()
mockevent.levelno = -1
mockevent.msg = text
mockevent.pathname = backtrace
mockevent.lineno = -1
self.store_log_event(mockevent)
def store_log_event(self, event):
if event.levelno < format.WARNING:
return
@@ -963,18 +1200,20 @@ class BuildInfoHelper(object):
self.internal_state['backlog'].append(event)
else: # we're under Toaster control, post the errors to the build request
from bldcontrol.models import BuildRequest, BRError
br, be = brbe.split(":")
br, be = self.brbe.split(":")
buildrequest = BuildRequest.objects.get(pk = br)
brerror = BRError.objects.create(req = buildrequest, errtype="build", errmsg = event.msg)
return
if 'build' in self.internal_state and 'backlog' in self.internal_state:
# if we have a backlog of events, do our best to save them here
if len(self.internal_state['backlog']):
tempevent = self.internal_state['backlog'].pop()
print " Saving stored event ", tempevent
logger.debug(1, "buildinfohelper: Saving stored event %s " % tempevent)
self.store_log_event(tempevent)
else:
logger.error("buildinfohelper: Events not saved: %s" % self.internal_state['backlog'])
del self.internal_state['backlog']
log_information = {}
@@ -983,6 +1222,8 @@ class BuildInfoHelper(object):
log_information['level'] = LogMessage.ERROR
elif event.levelno == format.WARNING:
log_information['level'] = LogMessage.WARNING
elif event.levelno == -1: # toaster self-logging
log_information['level'] = -1
else:
log_information['level'] = LogMessage.INFO
@@ -991,10 +1232,19 @@ class BuildInfoHelper(object):
log_information['lineno'] = event.lineno
self.orm_wrapper.create_logmessage(log_information)
def close(self):
def close(self, errorcode):
if self.brbe is not None:
buildinfohelper._store_build_done()
self._store_build_done(errorcode)
if 'backlog' in self.internal_state:
for event in self.internal_state['backlog']:
print "NOTE: Unsaved log: ", event.msg
if 'build' in self.internal_state:
# we save missed events in the database for the current build
tempevent = self.internal_state['backlog'].pop()
self.store_log_event(tempevent)
else:
# we have no build, and we still have events; something amazingly wrong happend
for event in self.internal_state['backlog']:
logger.error("UNSAVED log: %s", event.msg)
if not connection.features.autocommits_when_autocommit_is_off:
transaction.set_autocommit(True)

View File

@@ -17,6 +17,7 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import sys
import gobject
import gtk
import Queue
@@ -215,6 +216,12 @@ def main(server, eventHandler, params):
print("XMLRPC Fault getting commandline:\n %s" % x)
return
try:
gtk.init_check()
except RuntimeError:
sys.stderr.write("Please set DISPLAY variable before running this command \n")
return
shutdown = 0
gtkgui = gtkthread(shutdown)
@@ -236,7 +243,7 @@ def main(server, eventHandler, params):
try:
event = eventHandler.waitEvent(0.25)
if gtkthread.quit.isSet():
_, error = server.runCommand(["stateStop"])
_, error = server.runCommand(["stateForceShutdown"])
if error:
print('Unable to cleanly stop: %s' % error)
break

View File

@@ -271,7 +271,7 @@ def main(server, eventHandler, params, tf = TerminalFilter):
server.terminateServer()
return
if consolelogfile and not params.options.show_environment:
if consolelogfile and not params.options.show_environment and not params.options.show_versions:
bb.utils.mkdirhier(os.path.dirname(consolelogfile))
conlogformat = bb.msg.BBLogFormatter(format_str)
consolelog = logging.FileHandler(consolelogfile)
@@ -284,7 +284,7 @@ def main(server, eventHandler, params, tf = TerminalFilter):
if not params.observe_only:
params.updateFromServer(server)
params.updateToServer(server)
params.updateToServer(server, os.environ.copy())
cmdline = params.parseActions()
if not cmdline:
print("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.")
@@ -536,24 +536,29 @@ def main(server, eventHandler, params, tf = TerminalFilter):
if not params.observe_only:
_, error = server.runCommand(["stateForceShutdown"])
main.shutdown = 2
summary = ""
if taskfailures:
summary += pluralise("\nSummary: %s task failed:",
"\nSummary: %s tasks failed:", len(taskfailures))
for failure in taskfailures:
summary += "\n %s" % failure
if warnings:
summary += pluralise("\nSummary: There was %s WARNING message shown.",
"\nSummary: There were %s WARNING messages shown.", warnings)
if return_value and errors:
summary += pluralise("\nSummary: There was %s ERROR message shown, returning a non-zero exit code.",
"\nSummary: There were %s ERROR messages shown, returning a non-zero exit code.", errors)
if summary:
print(summary)
try:
summary = ""
if taskfailures:
summary += pluralise("\nSummary: %s task failed:",
"\nSummary: %s tasks failed:", len(taskfailures))
for failure in taskfailures:
summary += "\n %s" % failure
if warnings:
summary += pluralise("\nSummary: There was %s WARNING message shown.",
"\nSummary: There were %s WARNING messages shown.", warnings)
if return_value and errors:
summary += pluralise("\nSummary: There was %s ERROR message shown, returning a non-zero exit code.",
"\nSummary: There were %s ERROR messages shown, returning a non-zero exit code.", errors)
if summary:
print(summary)
if interrupted:
print("Execution was interrupted, returning a non-zero exit code.")
if return_value == 0:
return_value = 1
if interrupted:
print("Execution was interrupted, returning a non-zero exit code.")
if return_value == 0:
return_value = 1
except IOError as e:
import errno
if e.errno == errno.EPIPE:
pass
return return_value

View File

@@ -361,13 +361,13 @@ class NCursesUI:
shutdown = shutdown + 1
pass
def main(server, eventHandler):
def main(server, eventHandler, params):
if not os.isatty(sys.stdout.fileno()):
print("FATAL: Unable to run 'ncurses' UI without a TTY.")
return
ui = NCursesUI()
try:
curses.wrapper(ui.main, server, eventHandler)
curses.wrapper(ui.main, server, eventHandler, params)
except:
import traceback
traceback.print_exc()

View File

@@ -41,7 +41,7 @@ import sys
import time
import xmlrpclib
featureSet = [bb.cooker.CookerFeatures.HOB_EXTRA_CACHES, bb.cooker.CookerFeatures.SEND_DEPENDS_TREE, bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING]
featureSet = [bb.cooker.CookerFeatures.HOB_EXTRA_CACHES, bb.cooker.CookerFeatures.SEND_DEPENDS_TREE, bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING, bb.cooker.CookerFeatures.SEND_SANITYEVENTS]
logger = logging.getLogger("BitBake")
interactive = sys.stdout.isatty()
@@ -58,19 +58,15 @@ def _log_settings_from_server(server):
if error:
logger.error("Unable to get the value of BBINCLUDELOGS_LINES variable: %s" % error)
raise BaseException(error)
return includelogs, loglines
consolelogfile, error = server.runCommand(["getVariable", "BB_CONSOLELOG"])
if error:
logger.error("Unable to get the value of BB_CONSOLELOG variable: %s" % error)
raise BaseException(error)
return includelogs, loglines, consolelogfile
def main(server, eventHandler, params ):
includelogs, loglines = _log_settings_from_server(server)
# verify and warn
build_history_enabled = True
inheritlist, error = server.runCommand(["getVariable", "INHERIT"])
if not "buildhistory" in inheritlist.split(" "):
logger.warn("buildhistory is not enabled. Please enable INHERIT += \"buildhistory\" to see image details.")
build_history_enabled = False
helper = uihelper.BBUIHelper()
console = logging.StreamHandler(sys.stdout)
@@ -80,6 +76,16 @@ def main(server, eventHandler, params ):
console.setFormatter(format)
logger.addHandler(console)
includelogs, loglines, consolelogfile = _log_settings_from_server(server)
# verify and warn
build_history_enabled = True
inheritlist, error = server.runCommand(["getVariable", "INHERIT"])
if not "buildhistory" in inheritlist.split(" "):
logger.warn("buildhistory is not enabled. Please enable INHERIT += \"buildhistory\" to see image details.")
build_history_enabled = False
if not params.observe_only:
logger.error("ToasterUI can only work in observer mode")
return
@@ -95,6 +101,16 @@ def main(server, eventHandler, params ):
buildinfohelper = BuildInfoHelper(server, build_history_enabled)
if buildinfohelper.brbe is not None and consolelogfile:
# if we are under managed mode we have no other UI and we need to write our own file
bb.utils.mkdirhier(os.path.dirname(consolelogfile))
conlogformat = bb.msg.BBLogFormatter(format_str)
consolelog = logging.FileHandler(consolelogfile)
bb.msg.addDefaultlogFilter(consolelog)
consolelog.setFormatter(conlogformat)
logger.addHandler(consolelog)
while True:
try:
event = eventHandler.waitEvent(0.25)
@@ -114,8 +130,12 @@ def main(server, eventHandler, params ):
if isinstance(event, (bb.build.TaskStarted, bb.build.TaskSucceeded, bb.build.TaskFailedSilent)):
buildinfohelper.update_and_store_task(event)
logger.warn("Logfile for task %s" % event.logfile)
continue
if isinstance(event, bb.build.TaskBase):
logger.info(event._message)
if isinstance(event, bb.event.LogExecTTY):
logger.warn(event.msg)
continue
@@ -161,7 +181,12 @@ def main(server, eventHandler, params ):
if isinstance(event, bb.event.CacheLoadCompleted):
continue
if isinstance(event, bb.event.MultipleProviders):
logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "",
event._item,
", ".join(event._candidates))
logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item)
continue
if isinstance(event, bb.event.NoProvider):
return_value = 1
errors = errors + 1
@@ -219,6 +244,7 @@ def main(server, eventHandler, params ):
if isinstance(event, (bb.command.CommandCompleted,
bb.command.CommandFailed,
bb.command.CommandExit)):
errorcode = 0
if (isinstance(event, bb.command.CommandFailed)):
event.levelno = format.ERROR
event.msg = "Command Failed " + event.error
@@ -226,18 +252,21 @@ def main(server, eventHandler, params ):
event.lineno = 0
buildinfohelper.store_log_event(event)
errors += 1
errorcode = 1
logger.error("Command execution failed: %s", event.error)
buildinfohelper.update_build_information(event, errors, warnings, taskfailures)
buildinfohelper.close()
buildinfohelper.close(errorcode)
# mark the log output; controllers may kill the toasterUI after seeing this log
logger.info("ToasterUI build done")
# we start a new build info
if buildinfohelper.brbe is not None:
print "we are under BuildEnvironment management - after the build, we exit"
logger.debug(1, "ToasterUI under BuildEnvironment management - exiting after the build")
server.terminateServer()
else:
print "prepared for new build"
logger.debug(1, "ToasterUI prepared for new build")
errors = 0
warnings = 0
taskfailures = []
@@ -258,8 +287,12 @@ def main(server, eventHandler, params ):
buildinfohelper.store_missed_state_tasks(event)
elif event.type == "ImageFileSize":
buildinfohelper.update_target_image_file(event)
elif event.type == "ArtifactFileSize":
buildinfohelper.update_artifact_image_file(event)
elif event.type == "LicenseManifestPath":
buildinfohelper.store_license_manifest_path(event)
else:
logger.error("Unprocessed MetadataEvent %s " % str(event))
continue
if isinstance(event, bb.cooker.CookerExit):
@@ -292,9 +325,25 @@ def main(server, eventHandler, params ):
main.shutdown = 1
pass
except Exception as e:
logger.error(e)
# print errors to log
import traceback
traceback.print_exc()
from pprint import pformat
exception_data = traceback.format_exc()
logger.error("%s\n%s" % (e, exception_data))
exc_type, exc_value, tb = sys.exc_info()
if tb is not None:
curr = tb
while curr is not None:
logger.warn("Error data dump %s\n%s\n" % (traceback.format_tb(curr,1), pformat(curr.tb_frame.f_locals)))
curr = curr.tb_next
# save them to database, if possible; if it fails, we already logged to console.
try:
buildinfohelper.store_log_exception("%s\n%s" % (str(e), exception_data))
except Exception as ce:
logger.error("CRITICAL - Failed to to save toaster exception to the database: %s" % str(ce))
pass
if interrupted:

View File

@@ -106,7 +106,12 @@ class BBUIEventQueue:
self.server.timeout = 1
while not self.server.quit:
self.server.handle_request()
try:
self.server.handle_request()
except Exception as e:
import traceback
logger.error("BBUIEventQueue.startCallbackHandler: Exception while trying to handle request: %s\n%s" % (e, traceback.format_exc(e)))
self.server.server_close()
def system_quit( self ):

View File

@@ -31,6 +31,7 @@ import subprocess
import glob
import traceback
import errno
import signal
from commands import getstatusoutput
from contextlib import contextmanager
@@ -53,6 +54,9 @@ def set_context(ctx):
# Context used in better_exec, eval
_context = clean_context()
class VersionStringException(Exception):
"""Exception raised when an invalid version specification is found"""
def explode_version(s):
r = []
alpha_regexp = re.compile('^([a-zA-Z]+)(.*)$')
@@ -128,6 +132,28 @@ def vercmp_string(a, b):
tb = split_version(b)
return vercmp(ta, tb)
def vercmp_string_op(a, b, op):
"""
Compare two versions and check if the specified comparison operator matches the result of the comparison.
This function is fairly liberal about what operators it will accept since there are a variety of styles
depending on the context.
"""
res = vercmp_string(a, b)
if op in ('=', '=='):
return res == 0
elif op == '<=':
return res <= 0
elif op == '>=':
return res >= 0
elif op in ('>', '>>'):
return res > 0
elif op in ('<', '<<'):
return res < 0
elif op == '!=':
return res != 0
else:
raise VersionStringException('Unsupported comparison operator "%s"' % op)
def explode_deps(s):
"""
Take an RDEPENDS style string of format:
@@ -188,6 +214,7 @@ def explode_dep_versions2(s):
i = i[1:]
else:
# This is an unsupported case!
raise VersionStringException('Invalid version specification in "(%s" - invalid or missing operator' % i)
lastcmp = (i or "")
i = ""
i.strip()
@@ -386,10 +413,30 @@ def fileslocked(files):
for lock in locks:
bb.utils.unlockfile(lock)
def lockfile(name, shared=False, retry=True):
@contextmanager
def timeout(seconds):
def timeout_handler(signum, frame):
pass
original_handler = signal.signal(signal.SIGALRM, timeout_handler)
try:
signal.alarm(seconds)
yield
finally:
signal.alarm(0)
signal.signal(signal.SIGALRM, original_handler)
def lockfile(name, shared=False, retry=True, block=False):
"""
Use the file fn as a lock file, return when the lock has been acquired.
Returns a variable to pass to unlockfile().
Use the specified file as a lock file, return when the lock has
been acquired. Returns a variable to pass to unlockfile().
Parameters:
retry: True to re-try locking if it fails, False otherwise
block: True to block until the lock succeeds, False otherwise
The retry and block parameters are kind of equivalent unless you
consider the possibility of sending a signal to the process to break
out - at which point you want block=True rather than retry=True.
"""
dirname = os.path.dirname(name)
mkdirhier(dirname)
@@ -402,7 +449,7 @@ def lockfile(name, shared=False, retry=True):
op = fcntl.LOCK_EX
if shared:
op = fcntl.LOCK_SH
if not retry:
if not retry and not block:
op = op | fcntl.LOCK_NB
while True:
@@ -522,7 +569,7 @@ def filter_environment(good_vars):
os.unsetenv(key)
del os.environ[key]
if len(removed_vars):
if removed_vars:
logger.debug(1, "Removed the following variables from the environment: %s", ", ".join(removed_vars.keys()))
return removed_vars
@@ -575,11 +622,30 @@ def build_environment(d):
if export:
os.environ[var] = d.getVar(var, True) or ""
def _check_unsafe_delete_path(path):
"""
Basic safeguard against recursively deleting something we shouldn't. If it returns True,
the caller should raise an exception with an appropriate message.
NOTE: This is NOT meant to be a security mechanism - just a guard against silly mistakes
with potentially disastrous results.
"""
extra = ''
# HOME might not be /home/something, so in case we can get it, check against it
homedir = os.environ.get('HOME', '')
if homedir:
extra = '|%s' % homedir
if re.match('(/|//|/home|/home/[^/]*%s)$' % extra, os.path.abspath(path)):
return True
return False
def remove(path, recurse=False):
"""Equivalent to rm -f or rm -rf"""
if not path:
return
if recurse:
for name in glob.glob(path):
if _check_unsafe_delete_path(path):
raise Exception('bb.utils.remove: called with dangerous path "%s" and recurse=True, refusing to delete!' % path)
# shutil.rmtree(name) would be ideal but its too slow
subprocess.call(['rm', '-rf'] + glob.glob(path))
return
@@ -593,6 +659,8 @@ def remove(path, recurse=False):
def prunedir(topdir):
# Delete everything reachable from the directory named in 'topdir'.
# CAUTION: This is dangerous!
if _check_unsafe_delete_path(topdir):
raise Exception('bb.utils.prunedir: called with dangerous path "%s", refusing to delete!' % topdir)
for root, dirs, files in os.walk(topdir, topdown = False):
for name in files:
os.remove(os.path.join(root, name))
@@ -893,3 +961,184 @@ def multiprocessingpool(*args, **kwargs):
return multiprocessing.Pool(*args, **kwargs)
def exec_flat_python_func(func, *args, **kwargs):
"""Execute a flat python function (defined with def funcname(args):...)"""
# Prepare a small piece of python code which calls the requested function
# To do this we need to prepare two things - a set of variables we can use to pass
# the values of arguments into the calling function, and the list of arguments for
# the function being called
context = {}
funcargs = []
# Handle unnamed arguments
aidx = 1
for arg in args:
argname = 'arg_%s' % aidx
context[argname] = arg
funcargs.append(argname)
aidx += 1
# Handle keyword arguments
context.update(kwargs)
funcargs.extend(['%s=%s' % (arg, arg) for arg in kwargs.iterkeys()])
code = 'retval = %s(%s)' % (func, ', '.join(funcargs))
comp = bb.utils.better_compile(code, '<string>', '<string>')
bb.utils.better_exec(comp, context, code, '<string>')
return context['retval']
def edit_metadata_file(meta_file, variables, func):
"""Edit a recipe or config file and modify one or more specified
variable values set in the file using a specified callback function.
The file is only written to if the value(s) actually change.
"""
var_res = {}
for var in variables:
var_res[var] = re.compile(r'^%s[ \t]*[?+]*=' % var)
updated = False
varset_start = ''
varlines = []
newlines = []
in_var = None
full_value = ''
def handle_var_end():
(newvalue, indent, minbreak) = func(in_var, full_value)
if newvalue != full_value:
if isinstance(newvalue, list):
intentspc = ' ' * indent
if minbreak:
# First item on first line
if len(newvalue) == 1:
newlines.append('%s "%s"\n' % (varset_start, newvalue[0]))
else:
newlines.append('%s "%s\\\n' % (varset_start, newvalue[0]))
for item in newvalue[1:]:
newlines.append('%s%s \\\n' % (intentspc, item))
newlines.append('%s"\n' % indentspc)
else:
# No item on first line
newlines.append('%s " \\\n' % varset_start)
for item in newvalue:
newlines.append('%s%s \\\n' % (intentspc, item))
newlines.append('%s"\n' % intentspc)
else:
newlines.append('%s "%s"\n' % (varset_start, newvalue))
return True
else:
# Put the old lines back where they were
newlines.extend(varlines)
return False
with open(meta_file, 'r') as f:
for line in f:
if in_var:
value = line.rstrip()
varlines.append(line)
full_value += value[:-1]
if value.endswith('"') or value.endswith("'"):
full_value = full_value[:-1]
if handle_var_end():
updated = True
in_var = None
else:
matched = False
for (varname, var_re) in var_res.iteritems():
if var_re.match(line):
splitvalue = line.split('"', 1)
varset_start = splitvalue[0].rstrip()
value = splitvalue[1].rstrip()
if value.endswith('\\'):
value = value[:-1]
full_value = value
varlines = [line]
in_var = varname
if value.endswith('"') or value.endswith("'"):
full_value = full_value[:-1]
if handle_var_end():
updated = True
in_var = None
matched = True
break
if not matched:
newlines.append(line)
if updated:
with open(meta_file, 'w') as f:
f.writelines(newlines)
def edit_bblayers_conf(bblayers_conf, add, remove):
"""Edit bblayers.conf, adding and/or removing layers"""
import fnmatch
def remove_trailing_sep(pth):
if pth and pth[-1] == os.sep:
pth = pth[:-1]
return pth
def layerlist_param(value):
if not value:
return []
elif isinstance(value, list):
return [remove_trailing_sep(x) for x in value]
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 = []
def handle_bblayers(varname, origvalue):
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):
updated = True
matched = True
bblayers.remove(layer)
break
if not matched:
notremoved.append(removelayer)
if addlayers:
for addlayer in addlayers:
if addlayer not in bblayers:
updated = True
bblayers.append(addlayer)
else:
notadded.append(addlayer)
if updated:
return (bblayers, 2, False)
else:
return (origvalue, 2, False)
edit_metadata_file(bblayers_conf, ['BBLAYERS'], handle_bblayers)
if not bblayercalls:
raise Exception('Unable to find BBLAYERS in %s' % bblayers_conf)
return (notadded, notremoved)
def get_file_layer(filename, d):
"""Determine the collection (as defined by a layer's layer.conf file) containing the specified file"""
collections = (d.getVar('BBFILE_COLLECTIONS', True) or '').split()
collection_res = {}
for collection in collections:
collection_res[collection] = d.getVar('BBFILE_PATTERN_%s' % collection, True) or ''
# Use longest path so we handle nested layers
matchlen = 0
match = None
for collection, regex in collection_res.iteritems():
if len(regex) > matchlen and re.match(regex, filename):
matchlen = len(regex)
match = collection
return match

View File

@@ -0,0 +1,43 @@
Behold, mortal, the origins of Beautiful Soup...
================================================
Leonard Richardson is the primary programmer.
Aaron DeVore is awesome.
Mark Pilgrim provided the encoding detection code that forms the base
of UnicodeDammit.
Thomas Kluyver and Ezio Melotti finished the work of getting Beautiful
Soup 4 working under Python 3.
Simon Willison wrote soupselect, which was used to make Beautiful Soup
support CSS selectors.
Sam Ruby helped with a lot of edge cases.
Jonathan Ellis was awarded the prestigous Beau Potage D'Or for his
work in solving the nestable tags conundrum.
An incomplete list of people have contributed patches to Beautiful
Soup:
Istvan Albert, Andrew Lin, Anthony Baxter, Andrew Boyko, Tony Chang,
Zephyr Fang, Fuzzy, Roman Gaufman, Yoni Gilad, Richie Hindle, Peteris
Krumins, Kent Johnson, Ben Last, Robert Leftwich, Staffan Malmgren,
Ksenia Marasanova, JP Moins, Adam Monsen, John Nagle, "Jon", Ed
Oskiewicz, Greg Phillips, Giles Radford, Arthur Rudolph, Marko
Samastur, Jouni Sepp<70>nen, Alexander Schmolck, Andy Theyers, Glyn
Webster, Paul Wright, Danny Yoo
An incomplete list of people who made suggestions or found bugs or
found ways to break Beautiful Soup:
Hanno B<>ck, Matteo Bertini, Chris Curvey, Simon Cusack, Bruce Eckel,
Matt Ernst, Michael Foord, Tom Harris, Bill de hOra, Donald Howes,
Matt Patterson, Scott Roberts, Steve Strassmann, Mike Williams,
warchild at redho dot com, Sami Kuisma, Carlos Rocha, Bob Hutchison,
Joren Mc, Michal Migurski, John Kleven, Tim Heaney, Tripp Lilley, Ed
Summers, Dennis Sutch, Chris Smith, Aaron Sweep^W Swartz, Stuart
Turner, Greg Edwards, Kevin J Kalupson, Nikos Kouremenos, Artur de
Sousa Rocha, Yichun Wei, Per Vognsen

View File

@@ -0,0 +1,26 @@
Beautiful Soup is made available under the MIT license:
Copyright (c) 2004-2012 Leonard Richardson
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE, DAMMIT.
Beautiful Soup incorporates code from the html5lib library, which is
also made available under the MIT license.

1066
bitbake/lib/bs4/NEWS.txt Normal file

File diff suppressed because it is too large Load Diff

406
bitbake/lib/bs4/__init__.py Normal file
View File

@@ -0,0 +1,406 @@
"""Beautiful Soup
Elixir and Tonic
"The Screen-Scraper's Friend"
http://www.crummy.com/software/BeautifulSoup/
Beautiful Soup uses a pluggable XML or HTML parser to parse a
(possibly invalid) document into a tree representation. Beautiful Soup
provides provides methods and Pythonic idioms that make it easy to
navigate, search, and modify the parse tree.
Beautiful Soup works with Python 2.6 and up. It works better if lxml
and/or html5lib is installed.
For more than you ever wanted to know about Beautiful Soup, see the
documentation:
http://www.crummy.com/software/BeautifulSoup/bs4/doc/
"""
__author__ = "Leonard Richardson (leonardr@segfault.org)"
__version__ = "4.3.2"
__copyright__ = "Copyright (c) 2004-2013 Leonard Richardson"
__license__ = "MIT"
__all__ = ['BeautifulSoup']
import os
import re
import warnings
from .builder import builder_registry, ParserRejectedMarkup
from .dammit import UnicodeDammit
from .element import (
CData,
Comment,
DEFAULT_OUTPUT_ENCODING,
Declaration,
Doctype,
NavigableString,
PageElement,
ProcessingInstruction,
ResultSet,
SoupStrainer,
Tag,
)
# The very first thing we do is give a useful error if someone is
# running this code under Python 3 without converting it.
syntax_error = u'You are trying to run the Python 2 version of Beautiful Soup under Python 3. This will not work. You need to convert the code, either by installing it (`python setup.py install`) or by running 2to3 (`2to3 -w bs4`).'
class BeautifulSoup(Tag):
"""
This class defines the basic interface called by the tree builders.
These methods will be called by the parser:
reset()
feed(markup)
The tree builder may call these methods from its feed() implementation:
handle_starttag(name, attrs) # See note about return value
handle_endtag(name)
handle_data(data) # Appends to the current data node
endData(containerClass=NavigableString) # Ends the current data node
No matter how complicated the underlying parser is, you should be
able to build a tree using 'start tag' events, 'end tag' events,
'data' events, and "done with data" events.
If you encounter an empty-element tag (aka a self-closing tag,
like HTML's <br> tag), call handle_starttag and then
handle_endtag.
"""
ROOT_TAG_NAME = u'[document]'
# If the end-user gives no indication which tree builder they
# want, look for one with these features.
DEFAULT_BUILDER_FEATURES = ['html', 'fast']
ASCII_SPACES = '\x20\x0a\x09\x0c\x0d'
def __init__(self, markup="", features=None, builder=None,
parse_only=None, from_encoding=None, **kwargs):
"""The Soup object is initialized as the 'root tag', and the
provided markup (which can be a string or a file-like object)
is fed into the underlying parser."""
if 'convertEntities' in kwargs:
warnings.warn(
"BS4 does not respect the convertEntities argument to the "
"BeautifulSoup constructor. Entities are always converted "
"to Unicode characters.")
if 'markupMassage' in kwargs:
del kwargs['markupMassage']
warnings.warn(
"BS4 does not respect the markupMassage argument to the "
"BeautifulSoup constructor. The tree builder is responsible "
"for any necessary markup massage.")
if 'smartQuotesTo' in kwargs:
del kwargs['smartQuotesTo']
warnings.warn(
"BS4 does not respect the smartQuotesTo argument to the "
"BeautifulSoup constructor. Smart quotes are always converted "
"to Unicode characters.")
if 'selfClosingTags' in kwargs:
del kwargs['selfClosingTags']
warnings.warn(
"BS4 does not respect the selfClosingTags argument to the "
"BeautifulSoup constructor. The tree builder is responsible "
"for understanding self-closing tags.")
if 'isHTML' in kwargs:
del kwargs['isHTML']
warnings.warn(
"BS4 does not respect the isHTML argument to the "
"BeautifulSoup constructor. You can pass in features='html' "
"or features='xml' to get a builder capable of handling "
"one or the other.")
def deprecated_argument(old_name, new_name):
if old_name in kwargs:
warnings.warn(
'The "%s" argument to the BeautifulSoup constructor '
'has been renamed to "%s."' % (old_name, new_name))
value = kwargs[old_name]
del kwargs[old_name]
return value
return None
parse_only = parse_only or deprecated_argument(
"parseOnlyThese", "parse_only")
from_encoding = from_encoding or deprecated_argument(
"fromEncoding", "from_encoding")
if len(kwargs) > 0:
arg = kwargs.keys().pop()
raise TypeError(
"__init__() got an unexpected keyword argument '%s'" % arg)
if builder is None:
if isinstance(features, basestring):
features = [features]
if features is None or len(features) == 0:
features = self.DEFAULT_BUILDER_FEATURES
builder_class = builder_registry.lookup(*features)
if builder_class is None:
raise FeatureNotFound(
"Couldn't find a tree builder with the features you "
"requested: %s. Do you need to install a parser library?"
% ",".join(features))
builder = builder_class()
self.builder = builder
self.is_xml = builder.is_xml
self.builder.soup = self
self.parse_only = parse_only
if hasattr(markup, 'read'): # It's a file-type object.
markup = markup.read()
elif len(markup) <= 256:
# Print out warnings for a couple beginner problems
# involving passing non-markup to Beautiful Soup.
# Beautiful Soup will still parse the input as markup,
# just in case that's what the user really wants.
if (isinstance(markup, unicode)
and not os.path.supports_unicode_filenames):
possible_filename = markup.encode("utf8")
else:
possible_filename = markup
is_file = False
try:
is_file = os.path.exists(possible_filename)
except Exception, e:
# This is almost certainly a problem involving
# characters not valid in filenames on this
# system. Just let it go.
pass
if is_file:
warnings.warn(
'"%s" looks like a filename, not markup. You should probably open this file and pass the filehandle into Beautiful Soup.' % markup)
if markup[:5] == "http:" or markup[:6] == "https:":
# TODO: This is ugly but I couldn't get it to work in
# Python 3 otherwise.
if ((isinstance(markup, bytes) and not b' ' in markup)
or (isinstance(markup, unicode) and not u' ' in markup)):
warnings.warn(
'"%s" looks like a URL. Beautiful Soup is not an HTTP client. You should probably use an HTTP client to get the document behind the URL, and feed that document to Beautiful Soup.' % markup)
for (self.markup, self.original_encoding, self.declared_html_encoding,
self.contains_replacement_characters) in (
self.builder.prepare_markup(markup, from_encoding)):
self.reset()
try:
self._feed()
break
except ParserRejectedMarkup:
pass
# Clear out the markup and remove the builder's circular
# reference to this object.
self.markup = None
self.builder.soup = None
def _feed(self):
# Convert the document to Unicode.
self.builder.reset()
self.builder.feed(self.markup)
# Close out any unfinished strings and close all the open tags.
self.endData()
while self.currentTag.name != self.ROOT_TAG_NAME:
self.popTag()
def reset(self):
Tag.__init__(self, self, self.builder, self.ROOT_TAG_NAME)
self.hidden = 1
self.builder.reset()
self.current_data = []
self.currentTag = None
self.tagStack = []
self.preserve_whitespace_tag_stack = []
self.pushTag(self)
def new_tag(self, name, namespace=None, nsprefix=None, **attrs):
"""Create a new tag associated with this soup."""
return Tag(None, self.builder, name, namespace, nsprefix, attrs)
def new_string(self, s, subclass=NavigableString):
"""Create a new NavigableString associated with this soup."""
navigable = subclass(s)
navigable.setup()
return navigable
def insert_before(self, successor):
raise NotImplementedError("BeautifulSoup objects don't support insert_before().")
def insert_after(self, successor):
raise NotImplementedError("BeautifulSoup objects don't support insert_after().")
def popTag(self):
tag = self.tagStack.pop()
if self.preserve_whitespace_tag_stack and tag == self.preserve_whitespace_tag_stack[-1]:
self.preserve_whitespace_tag_stack.pop()
#print "Pop", tag.name
if self.tagStack:
self.currentTag = self.tagStack[-1]
return self.currentTag
def pushTag(self, tag):
#print "Push", tag.name
if self.currentTag:
self.currentTag.contents.append(tag)
self.tagStack.append(tag)
self.currentTag = self.tagStack[-1]
if tag.name in self.builder.preserve_whitespace_tags:
self.preserve_whitespace_tag_stack.append(tag)
def endData(self, containerClass=NavigableString):
if self.current_data:
current_data = u''.join(self.current_data)
# If whitespace is not preserved, and this string contains
# nothing but ASCII spaces, replace it with a single space
# or newline.
if not self.preserve_whitespace_tag_stack:
strippable = True
for i in current_data:
if i not in self.ASCII_SPACES:
strippable = False
break
if strippable:
if '\n' in current_data:
current_data = '\n'
else:
current_data = ' '
# Reset the data collector.
self.current_data = []
# Should we add this string to the tree at all?
if self.parse_only and len(self.tagStack) <= 1 and \
(not self.parse_only.text or \
not self.parse_only.search(current_data)):
return
o = containerClass(current_data)
self.object_was_parsed(o)
def object_was_parsed(self, o, parent=None, most_recent_element=None):
"""Add an object to the parse tree."""
parent = parent or self.currentTag
most_recent_element = most_recent_element or self._most_recent_element
o.setup(parent, most_recent_element)
if most_recent_element is not None:
most_recent_element.next_element = o
self._most_recent_element = o
parent.contents.append(o)
def _popToTag(self, name, nsprefix=None, inclusivePop=True):
"""Pops the tag stack up to and including the most recent
instance of the given tag. If inclusivePop is false, pops the tag
stack up to but *not* including the most recent instqance of
the given tag."""
#print "Popping to %s" % name
if name == self.ROOT_TAG_NAME:
# The BeautifulSoup object itself can never be popped.
return
most_recently_popped = None
stack_size = len(self.tagStack)
for i in range(stack_size - 1, 0, -1):
t = self.tagStack[i]
if (name == t.name and nsprefix == t.prefix):
if inclusivePop:
most_recently_popped = self.popTag()
break
most_recently_popped = self.popTag()
return most_recently_popped
def handle_starttag(self, name, namespace, nsprefix, attrs):
"""Push a start tag on to the stack.
If this method returns None, the tag was rejected by the
SoupStrainer. You should proceed as if the tag had not occured
in the document. For instance, if this was a self-closing tag,
don't call handle_endtag.
"""
# print "Start tag %s: %s" % (name, attrs)
self.endData()
if (self.parse_only and len(self.tagStack) <= 1
and (self.parse_only.text
or not self.parse_only.search_tag(name, attrs))):
return None
tag = Tag(self, self.builder, name, namespace, nsprefix, attrs,
self.currentTag, self._most_recent_element)
if tag is None:
return tag
if self._most_recent_element:
self._most_recent_element.next_element = tag
self._most_recent_element = tag
self.pushTag(tag)
return tag
def handle_endtag(self, name, nsprefix=None):
#print "End tag: " + name
self.endData()
self._popToTag(name, nsprefix)
def handle_data(self, data):
self.current_data.append(data)
def decode(self, pretty_print=False,
eventual_encoding=DEFAULT_OUTPUT_ENCODING,
formatter="minimal"):
"""Returns a string or Unicode representation of this document.
To get Unicode, pass None for encoding."""
if self.is_xml:
# Print the XML declaration
encoding_part = ''
if eventual_encoding != None:
encoding_part = ' encoding="%s"' % eventual_encoding
prefix = u'<?xml version="1.0"%s?>\n' % encoding_part
else:
prefix = u''
if not pretty_print:
indent_level = None
else:
indent_level = 0
return prefix + super(BeautifulSoup, self).decode(
indent_level, eventual_encoding, formatter)
# Alias to make it easier to type import: 'from bs4 import _soup'
_s = BeautifulSoup
_soup = BeautifulSoup
class BeautifulStoneSoup(BeautifulSoup):
"""Deprecated interface to an XML parser."""
def __init__(self, *args, **kwargs):
kwargs['features'] = 'xml'
warnings.warn(
'The BeautifulStoneSoup class is deprecated. Instead of using '
'it, pass features="xml" into the BeautifulSoup constructor.')
super(BeautifulStoneSoup, self).__init__(*args, **kwargs)
class StopParsing(Exception):
pass
class FeatureNotFound(ValueError):
pass
#By default, act as an HTML pretty-printer.
if __name__ == '__main__':
import sys
soup = BeautifulSoup(sys.stdin)
print soup.prettify()

View File

@@ -0,0 +1,321 @@
from collections import defaultdict
import itertools
import sys
from bs4.element import (
CharsetMetaAttributeValue,
ContentMetaAttributeValue,
whitespace_re
)
__all__ = [
'HTMLTreeBuilder',
'SAXTreeBuilder',
'TreeBuilder',
'TreeBuilderRegistry',
]
# Some useful features for a TreeBuilder to have.
FAST = 'fast'
PERMISSIVE = 'permissive'
STRICT = 'strict'
XML = 'xml'
HTML = 'html'
HTML_5 = 'html5'
class TreeBuilderRegistry(object):
def __init__(self):
self.builders_for_feature = defaultdict(list)
self.builders = []
def register(self, treebuilder_class):
"""Register a treebuilder based on its advertised features."""
for feature in treebuilder_class.features:
self.builders_for_feature[feature].insert(0, treebuilder_class)
self.builders.insert(0, treebuilder_class)
def lookup(self, *features):
if len(self.builders) == 0:
# There are no builders at all.
return None
if len(features) == 0:
# They didn't ask for any features. Give them the most
# recently registered builder.
return self.builders[0]
# Go down the list of features in order, and eliminate any builders
# that don't match every feature.
features = list(features)
features.reverse()
candidates = None
candidate_set = None
while len(features) > 0:
feature = features.pop()
we_have_the_feature = self.builders_for_feature.get(feature, [])
if len(we_have_the_feature) > 0:
if candidates is None:
candidates = we_have_the_feature
candidate_set = set(candidates)
else:
# Eliminate any candidates that don't have this feature.
candidate_set = candidate_set.intersection(
set(we_have_the_feature))
# The only valid candidates are the ones in candidate_set.
# Go through the original list of candidates and pick the first one
# that's in candidate_set.
if candidate_set is None:
return None
for candidate in candidates:
if candidate in candidate_set:
return candidate
return None
# The BeautifulSoup class will take feature lists from developers and use them
# to look up builders in this registry.
builder_registry = TreeBuilderRegistry()
class TreeBuilder(object):
"""Turn a document into a Beautiful Soup object tree."""
features = []
is_xml = False
preserve_whitespace_tags = set()
empty_element_tags = None # A tag will be considered an empty-element
# tag when and only when it has no contents.
# A value for these tag/attribute combinations is a space- or
# comma-separated list of CDATA, rather than a single CDATA.
cdata_list_attributes = {}
def __init__(self):
self.soup = None
def reset(self):
pass
def can_be_empty_element(self, tag_name):
"""Might a tag with this name be an empty-element tag?
The final markup may or may not actually present this tag as
self-closing.
For instance: an HTMLBuilder does not consider a <p> tag to be
an empty-element tag (it's not in
HTMLBuilder.empty_element_tags). This means an empty <p> tag
will be presented as "<p></p>", not "<p />".
The default implementation has no opinion about which tags are
empty-element tags, so a tag will be presented as an
empty-element tag if and only if it has no contents.
"<foo></foo>" will become "<foo />", and "<foo>bar</foo>" will
be left alone.
"""
if self.empty_element_tags is None:
return True
return tag_name in self.empty_element_tags
def feed(self, markup):
raise NotImplementedError()
def prepare_markup(self, markup, user_specified_encoding=None,
document_declared_encoding=None):
return markup, None, None, False
def test_fragment_to_document(self, fragment):
"""Wrap an HTML fragment to make it look like a document.
Different parsers do this differently. For instance, lxml
introduces an empty <head> tag, and html5lib
doesn't. Abstracting this away lets us write simple tests
which run HTML fragments through the parser and compare the
results against other HTML fragments.
This method should not be used outside of tests.
"""
return fragment
def set_up_substitutions(self, tag):
return False
def _replace_cdata_list_attribute_values(self, tag_name, attrs):
"""Replaces class="foo bar" with class=["foo", "bar"]
Modifies its input in place.
"""
if not attrs:
return attrs
if self.cdata_list_attributes:
universal = self.cdata_list_attributes.get('*', [])
tag_specific = self.cdata_list_attributes.get(
tag_name.lower(), None)
for attr in attrs.keys():
if attr in universal or (tag_specific and attr in tag_specific):
# We have a "class"-type attribute whose string
# value is a whitespace-separated list of
# values. Split it into a list.
value = attrs[attr]
if isinstance(value, basestring):
values = whitespace_re.split(value)
else:
# html5lib sometimes calls setAttributes twice
# for the same tag when rearranging the parse
# tree. On the second call the attribute value
# here is already a list. If this happens,
# leave the value alone rather than trying to
# split it again.
values = value
attrs[attr] = values
return attrs
class SAXTreeBuilder(TreeBuilder):
"""A Beautiful Soup treebuilder that listens for SAX events."""
def feed(self, markup):
raise NotImplementedError()
def close(self):
pass
def startElement(self, name, attrs):
attrs = dict((key[1], value) for key, value in list(attrs.items()))
#print "Start %s, %r" % (name, attrs)
self.soup.handle_starttag(name, attrs)
def endElement(self, name):
#print "End %s" % name
self.soup.handle_endtag(name)
def startElementNS(self, nsTuple, nodeName, attrs):
# Throw away (ns, nodeName) for now.
self.startElement(nodeName, attrs)
def endElementNS(self, nsTuple, nodeName):
# Throw away (ns, nodeName) for now.
self.endElement(nodeName)
#handler.endElementNS((ns, node.nodeName), node.nodeName)
def startPrefixMapping(self, prefix, nodeValue):
# Ignore the prefix for now.
pass
def endPrefixMapping(self, prefix):
# Ignore the prefix for now.
# handler.endPrefixMapping(prefix)
pass
def characters(self, content):
self.soup.handle_data(content)
def startDocument(self):
pass
def endDocument(self):
pass
class HTMLTreeBuilder(TreeBuilder):
"""This TreeBuilder knows facts about HTML.
Such as which tags are empty-element tags.
"""
preserve_whitespace_tags = set(['pre', 'textarea'])
empty_element_tags = set(['br' , 'hr', 'input', 'img', 'meta',
'spacer', 'link', 'frame', 'base'])
# The HTML standard defines these attributes as containing a
# space-separated list of values, not a single value. That is,
# class="foo bar" means that the 'class' attribute has two values,
# 'foo' and 'bar', not the single value 'foo bar'. When we
# encounter one of these attributes, we will parse its value into
# a list of values if possible. Upon output, the list will be
# converted back into a string.
cdata_list_attributes = {
"*" : ['class', 'accesskey', 'dropzone'],
"a" : ['rel', 'rev'],
"link" : ['rel', 'rev'],
"td" : ["headers"],
"th" : ["headers"],
"td" : ["headers"],
"form" : ["accept-charset"],
"object" : ["archive"],
# These are HTML5 specific, as are *.accesskey and *.dropzone above.
"area" : ["rel"],
"icon" : ["sizes"],
"iframe" : ["sandbox"],
"output" : ["for"],
}
def set_up_substitutions(self, tag):
# We are only interested in <meta> tags
if tag.name != 'meta':
return False
http_equiv = tag.get('http-equiv')
content = tag.get('content')
charset = tag.get('charset')
# We are interested in <meta> tags that say what encoding the
# document was originally in. This means HTML 5-style <meta>
# tags that provide the "charset" attribute. It also means
# HTML 4-style <meta> tags that provide the "content"
# attribute and have "http-equiv" set to "content-type".
#
# In both cases we will replace the value of the appropriate
# attribute with a standin object that can take on any
# encoding.
meta_encoding = None
if charset is not None:
# HTML 5 style:
# <meta charset="utf8">
meta_encoding = charset
tag['charset'] = CharsetMetaAttributeValue(charset)
elif (content is not None and http_equiv is not None
and http_equiv.lower() == 'content-type'):
# HTML 4 style:
# <meta http-equiv="content-type" content="text/html; charset=utf8">
tag['content'] = ContentMetaAttributeValue(content)
return (meta_encoding is not None)
def register_treebuilders_from(module):
"""Copy TreeBuilders from the given module into this module."""
# I'm fairly sure this is not the best way to do this.
this_module = sys.modules['bs4.builder']
for name in module.__all__:
obj = getattr(module, name)
if issubclass(obj, TreeBuilder):
setattr(this_module, name, obj)
this_module.__all__.append(name)
# Register the builder while we're at it.
this_module.builder_registry.register(obj)
class ParserRejectedMarkup(Exception):
pass
# Builders are registered in reverse order of priority, so that custom
# builder registrations will take precedence. In general, we want lxml
# to take precedence over html5lib, because it's faster. And we only
# want to use HTMLParser as a last result.
from . import _htmlparser
register_treebuilders_from(_htmlparser)
try:
from . import _html5lib
register_treebuilders_from(_html5lib)
except ImportError:
# They don't have html5lib installed.
pass
try:
from . import _lxml
register_treebuilders_from(_lxml)
except ImportError:
# They don't have lxml installed.
pass

View File

@@ -0,0 +1,285 @@
__all__ = [
'HTML5TreeBuilder',
]
import warnings
from bs4.builder import (
PERMISSIVE,
HTML,
HTML_5,
HTMLTreeBuilder,
)
from bs4.element import NamespacedAttribute
import html5lib
from html5lib.constants import namespaces
from bs4.element import (
Comment,
Doctype,
NavigableString,
Tag,
)
class HTML5TreeBuilder(HTMLTreeBuilder):
"""Use html5lib to build a tree."""
features = ['html5lib', PERMISSIVE, HTML_5, HTML]
def prepare_markup(self, markup, user_specified_encoding):
# Store the user-specified encoding for use later on.
self.user_specified_encoding = user_specified_encoding
yield (markup, None, None, False)
# These methods are defined by Beautiful Soup.
def feed(self, markup):
if self.soup.parse_only is not None:
warnings.warn("You provided a value for parse_only, but the html5lib tree builder doesn't support parse_only. The entire document will be parsed.")
parser = html5lib.HTMLParser(tree=self.create_treebuilder)
doc = parser.parse(markup, encoding=self.user_specified_encoding)
# Set the character encoding detected by the tokenizer.
if isinstance(markup, unicode):
# We need to special-case this because html5lib sets
# charEncoding to UTF-8 if it gets Unicode input.
doc.original_encoding = None
else:
doc.original_encoding = parser.tokenizer.stream.charEncoding[0]
def create_treebuilder(self, namespaceHTMLElements):
self.underlying_builder = TreeBuilderForHtml5lib(
self.soup, namespaceHTMLElements)
return self.underlying_builder
def test_fragment_to_document(self, fragment):
"""See `TreeBuilder`."""
return u'<html><head></head><body>%s</body></html>' % fragment
class TreeBuilderForHtml5lib(html5lib.treebuilders._base.TreeBuilder):
def __init__(self, soup, namespaceHTMLElements):
self.soup = soup
super(TreeBuilderForHtml5lib, self).__init__(namespaceHTMLElements)
def documentClass(self):
self.soup.reset()
return Element(self.soup, self.soup, None)
def insertDoctype(self, token):
name = token["name"]
publicId = token["publicId"]
systemId = token["systemId"]
doctype = Doctype.for_name_and_ids(name, publicId, systemId)
self.soup.object_was_parsed(doctype)
def elementClass(self, name, namespace):
tag = self.soup.new_tag(name, namespace)
return Element(tag, self.soup, namespace)
def commentClass(self, data):
return TextNode(Comment(data), self.soup)
def fragmentClass(self):
self.soup = BeautifulSoup("")
self.soup.name = "[document_fragment]"
return Element(self.soup, self.soup, None)
def appendChild(self, node):
# XXX This code is not covered by the BS4 tests.
self.soup.append(node.element)
def getDocument(self):
return self.soup
def getFragment(self):
return html5lib.treebuilders._base.TreeBuilder.getFragment(self).element
class AttrList(object):
def __init__(self, element):
self.element = element
self.attrs = dict(self.element.attrs)
def __iter__(self):
return list(self.attrs.items()).__iter__()
def __setitem__(self, name, value):
"set attr", name, value
self.element[name] = value
def items(self):
return list(self.attrs.items())
def keys(self):
return list(self.attrs.keys())
def __len__(self):
return len(self.attrs)
def __getitem__(self, name):
return self.attrs[name]
def __contains__(self, name):
return name in list(self.attrs.keys())
class Element(html5lib.treebuilders._base.Node):
def __init__(self, element, soup, namespace):
html5lib.treebuilders._base.Node.__init__(self, element.name)
self.element = element
self.soup = soup
self.namespace = namespace
def appendChild(self, node):
string_child = child = None
if isinstance(node, basestring):
# Some other piece of code decided to pass in a string
# instead of creating a TextElement object to contain the
# string.
string_child = child = node
elif isinstance(node, Tag):
# Some other piece of code decided to pass in a Tag
# instead of creating an Element object to contain the
# Tag.
child = node
elif node.element.__class__ == NavigableString:
string_child = child = node.element
else:
child = node.element
if not isinstance(child, basestring) and child.parent is not None:
node.element.extract()
if (string_child and self.element.contents
and self.element.contents[-1].__class__ == NavigableString):
# We are appending a string onto another string.
# TODO This has O(n^2) performance, for input like
# "a</a>a</a>a</a>..."
old_element = self.element.contents[-1]
new_element = self.soup.new_string(old_element + string_child)
old_element.replace_with(new_element)
self.soup._most_recent_element = new_element
else:
if isinstance(node, basestring):
# Create a brand new NavigableString from this string.
child = self.soup.new_string(node)
# Tell Beautiful Soup to act as if it parsed this element
# immediately after the parent's last descendant. (Or
# immediately after the parent, if it has no children.)
if self.element.contents:
most_recent_element = self.element._last_descendant(False)
else:
most_recent_element = self.element
self.soup.object_was_parsed(
child, parent=self.element,
most_recent_element=most_recent_element)
def getAttributes(self):
return AttrList(self.element)
def setAttributes(self, attributes):
if attributes is not None and len(attributes) > 0:
converted_attributes = []
for name, value in list(attributes.items()):
if isinstance(name, tuple):
new_name = NamespacedAttribute(*name)
del attributes[name]
attributes[new_name] = value
self.soup.builder._replace_cdata_list_attribute_values(
self.name, attributes)
for name, value in attributes.items():
self.element[name] = value
# The attributes may contain variables that need substitution.
# Call set_up_substitutions manually.
#
# The Tag constructor called this method when the Tag was created,
# but we just set/changed the attributes, so call it again.
self.soup.builder.set_up_substitutions(self.element)
attributes = property(getAttributes, setAttributes)
def insertText(self, data, insertBefore=None):
if insertBefore:
text = TextNode(self.soup.new_string(data), self.soup)
self.insertBefore(data, insertBefore)
else:
self.appendChild(data)
def insertBefore(self, node, refNode):
index = self.element.index(refNode.element)
if (node.element.__class__ == NavigableString and self.element.contents
and self.element.contents[index-1].__class__ == NavigableString):
# (See comments in appendChild)
old_node = self.element.contents[index-1]
new_str = self.soup.new_string(old_node + node.element)
old_node.replace_with(new_str)
else:
self.element.insert(index, node.element)
node.parent = self
def removeChild(self, node):
node.element.extract()
def reparentChildren(self, new_parent):
"""Move all of this tag's children into another tag."""
element = self.element
new_parent_element = new_parent.element
# Determine what this tag's next_element will be once all the children
# are removed.
final_next_element = element.next_sibling
new_parents_last_descendant = new_parent_element._last_descendant(False, False)
if len(new_parent_element.contents) > 0:
# The new parent already contains children. We will be
# appending this tag's children to the end.
new_parents_last_child = new_parent_element.contents[-1]
new_parents_last_descendant_next_element = new_parents_last_descendant.next_element
else:
# The new parent contains no children.
new_parents_last_child = None
new_parents_last_descendant_next_element = new_parent_element.next_element
to_append = element.contents
append_after = new_parent.element.contents
if len(to_append) > 0:
# Set the first child's previous_element and previous_sibling
# to elements within the new parent
first_child = to_append[0]
first_child.previous_element = new_parents_last_descendant
first_child.previous_sibling = new_parents_last_child
# Fix the last child's next_element and next_sibling
last_child = to_append[-1]
last_child.next_element = new_parents_last_descendant_next_element
last_child.next_sibling = None
for child in to_append:
child.parent = new_parent_element
new_parent_element.contents.append(child)
# Now that this element has no children, change its .next_element.
element.contents = []
element.next_element = final_next_element
def cloneNode(self):
tag = self.soup.new_tag(self.element.name, self.namespace)
node = Element(tag, self.soup, self.namespace)
for key,value in self.attributes:
node.attributes[key] = value
return node
def hasContent(self):
return self.element.contents
def getNameTuple(self):
if self.namespace == None:
return namespaces["html"], self.name
else:
return self.namespace, self.name
nameTuple = property(getNameTuple)
class TextNode(Element):
def __init__(self, element, soup):
html5lib.treebuilders._base.Node.__init__(self, None)
self.element = element
self.soup = soup
def cloneNode(self):
raise NotImplementedError

View File

@@ -0,0 +1,258 @@
"""Use the HTMLParser library to parse HTML files that aren't too bad."""
__all__ = [
'HTMLParserTreeBuilder',
]
from HTMLParser import (
HTMLParser,
HTMLParseError,
)
import sys
import warnings
# Starting in Python 3.2, the HTMLParser constructor takes a 'strict'
# argument, which we'd like to set to False. Unfortunately,
# http://bugs.python.org/issue13273 makes strict=True a better bet
# before Python 3.2.3.
#
# At the end of this file, we monkeypatch HTMLParser so that
# strict=True works well on Python 3.2.2.
major, minor, release = sys.version_info[:3]
CONSTRUCTOR_TAKES_STRICT = (
major > 3
or (major == 3 and minor > 2)
or (major == 3 and minor == 2 and release >= 3))
from bs4.element import (
CData,
Comment,
Declaration,
Doctype,
ProcessingInstruction,
)
from bs4.dammit import EntitySubstitution, UnicodeDammit
from bs4.builder import (
HTML,
HTMLTreeBuilder,
STRICT,
)
HTMLPARSER = 'html.parser'
class BeautifulSoupHTMLParser(HTMLParser):
def handle_starttag(self, name, attrs):
# XXX namespace
attr_dict = {}
for key, value in attrs:
# Change None attribute values to the empty string
# for consistency with the other tree builders.
if value is None:
value = ''
attr_dict[key] = value
attrvalue = '""'
self.soup.handle_starttag(name, None, None, attr_dict)
def handle_endtag(self, name):
self.soup.handle_endtag(name)
def handle_data(self, data):
self.soup.handle_data(data)
def handle_charref(self, name):
# XXX workaround for a bug in HTMLParser. Remove this once
# it's fixed.
if name.startswith('x'):
real_name = int(name.lstrip('x'), 16)
elif name.startswith('X'):
real_name = int(name.lstrip('X'), 16)
else:
real_name = int(name)
try:
data = unichr(real_name)
except (ValueError, OverflowError), e:
data = u"\N{REPLACEMENT CHARACTER}"
self.handle_data(data)
def handle_entityref(self, name):
character = EntitySubstitution.HTML_ENTITY_TO_CHARACTER.get(name)
if character is not None:
data = character
else:
data = "&%s;" % name
self.handle_data(data)
def handle_comment(self, data):
self.soup.endData()
self.soup.handle_data(data)
self.soup.endData(Comment)
def handle_decl(self, data):
self.soup.endData()
if data.startswith("DOCTYPE "):
data = data[len("DOCTYPE "):]
elif data == 'DOCTYPE':
# i.e. "<!DOCTYPE>"
data = ''
self.soup.handle_data(data)
self.soup.endData(Doctype)
def unknown_decl(self, data):
if data.upper().startswith('CDATA['):
cls = CData
data = data[len('CDATA['):]
else:
cls = Declaration
self.soup.endData()
self.soup.handle_data(data)
self.soup.endData(cls)
def handle_pi(self, data):
self.soup.endData()
if data.endswith("?") and data.lower().startswith("xml"):
# "An XHTML processing instruction using the trailing '?'
# will cause the '?' to be included in data." - HTMLParser
# docs.
#
# Strip the question mark so we don't end up with two
# question marks.
data = data[:-1]
self.soup.handle_data(data)
self.soup.endData(ProcessingInstruction)
class HTMLParserTreeBuilder(HTMLTreeBuilder):
is_xml = False
features = [HTML, STRICT, HTMLPARSER]
def __init__(self, *args, **kwargs):
if CONSTRUCTOR_TAKES_STRICT:
kwargs['strict'] = False
self.parser_args = (args, kwargs)
def prepare_markup(self, markup, user_specified_encoding=None,
document_declared_encoding=None):
"""
:return: A 4-tuple (markup, original encoding, encoding
declared within markup, whether any characters had to be
replaced with REPLACEMENT CHARACTER).
"""
if isinstance(markup, unicode):
yield (markup, None, None, False)
return
try_encodings = [user_specified_encoding, document_declared_encoding]
dammit = UnicodeDammit(markup, try_encodings, is_html=True)
yield (dammit.markup, dammit.original_encoding,
dammit.declared_html_encoding,
dammit.contains_replacement_characters)
def feed(self, markup):
args, kwargs = self.parser_args
parser = BeautifulSoupHTMLParser(*args, **kwargs)
parser.soup = self.soup
try:
parser.feed(markup)
except HTMLParseError, e:
warnings.warn(RuntimeWarning(
"Python's built-in HTMLParser cannot parse the given document. This is not a bug in Beautiful Soup. The best solution is to install an external parser (lxml or html5lib), and use Beautiful Soup with that parser. See http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser for help."))
raise e
# Patch 3.2 versions of HTMLParser earlier than 3.2.3 to use some
# 3.2.3 code. This ensures they don't treat markup like <p></p> as a
# string.
#
# XXX This code can be removed once most Python 3 users are on 3.2.3.
if major == 3 and minor == 2 and not CONSTRUCTOR_TAKES_STRICT:
import re
attrfind_tolerant = re.compile(
r'\s*((?<=[\'"\s])[^\s/>][^\s/=>]*)(\s*=+\s*'
r'(\'[^\']*\'|"[^"]*"|(?![\'"])[^>\s]*))?')
HTMLParserTreeBuilder.attrfind_tolerant = attrfind_tolerant
locatestarttagend = re.compile(r"""
<[a-zA-Z][-.a-zA-Z0-9:_]* # tag name
(?:\s+ # whitespace before attribute name
(?:[a-zA-Z_][-.:a-zA-Z0-9_]* # attribute name
(?:\s*=\s* # value indicator
(?:'[^']*' # LITA-enclosed value
|\"[^\"]*\" # LIT-enclosed value
|[^'\">\s]+ # bare value
)
)?
)
)*
\s* # trailing whitespace
""", re.VERBOSE)
BeautifulSoupHTMLParser.locatestarttagend = locatestarttagend
from html.parser import tagfind, attrfind
def parse_starttag(self, i):
self.__starttag_text = None
endpos = self.check_for_whole_start_tag(i)
if endpos < 0:
return endpos
rawdata = self.rawdata
self.__starttag_text = rawdata[i:endpos]
# Now parse the data between i+1 and j into a tag and attrs
attrs = []
match = tagfind.match(rawdata, i+1)
assert match, 'unexpected call to parse_starttag()'
k = match.end()
self.lasttag = tag = rawdata[i+1:k].lower()
while k < endpos:
if self.strict:
m = attrfind.match(rawdata, k)
else:
m = attrfind_tolerant.match(rawdata, k)
if not m:
break
attrname, rest, attrvalue = m.group(1, 2, 3)
if not rest:
attrvalue = None
elif attrvalue[:1] == '\'' == attrvalue[-1:] or \
attrvalue[:1] == '"' == attrvalue[-1:]:
attrvalue = attrvalue[1:-1]
if attrvalue:
attrvalue = self.unescape(attrvalue)
attrs.append((attrname.lower(), attrvalue))
k = m.end()
end = rawdata[k:endpos].strip()
if end not in (">", "/>"):
lineno, offset = self.getpos()
if "\n" in self.__starttag_text:
lineno = lineno + self.__starttag_text.count("\n")
offset = len(self.__starttag_text) \
- self.__starttag_text.rfind("\n")
else:
offset = offset + len(self.__starttag_text)
if self.strict:
self.error("junk characters in start tag: %r"
% (rawdata[k:endpos][:20],))
self.handle_data(rawdata[i:endpos])
return endpos
if end.endswith('/>'):
# XHTML-style empty tag: <span attr="value" />
self.handle_startendtag(tag, attrs)
else:
self.handle_starttag(tag, attrs)
if tag in self.CDATA_CONTENT_ELEMENTS:
self.set_cdata_mode(tag)
return endpos
def set_cdata_mode(self, elem):
self.cdata_elem = elem.lower()
self.interesting = re.compile(r'</\s*%s\s*>' % self.cdata_elem, re.I)
BeautifulSoupHTMLParser.parse_starttag = parse_starttag
BeautifulSoupHTMLParser.set_cdata_mode = set_cdata_mode
CONSTRUCTOR_TAKES_STRICT = True

View File

@@ -0,0 +1,233 @@
__all__ = [
'LXMLTreeBuilderForXML',
'LXMLTreeBuilder',
]
from io import BytesIO
from StringIO import StringIO
import collections
from lxml import etree
from bs4.element import Comment, Doctype, NamespacedAttribute
from bs4.builder import (
FAST,
HTML,
HTMLTreeBuilder,
PERMISSIVE,
ParserRejectedMarkup,
TreeBuilder,
XML)
from bs4.dammit import EncodingDetector
LXML = 'lxml'
class LXMLTreeBuilderForXML(TreeBuilder):
DEFAULT_PARSER_CLASS = etree.XMLParser
is_xml = True
# Well, it's permissive by XML parser standards.
features = [LXML, XML, FAST, PERMISSIVE]
CHUNK_SIZE = 512
# This namespace mapping is specified in the XML Namespace
# standard.
DEFAULT_NSMAPS = {'http://www.w3.org/XML/1998/namespace' : "xml"}
def default_parser(self, encoding):
# This can either return a parser object or a class, which
# will be instantiated with default arguments.
if self._default_parser is not None:
return self._default_parser
return etree.XMLParser(
target=self, strip_cdata=False, recover=True, encoding=encoding)
def parser_for(self, encoding):
# Use the default parser.
parser = self.default_parser(encoding)
if isinstance(parser, collections.Callable):
# Instantiate the parser with default arguments
parser = parser(target=self, strip_cdata=False, encoding=encoding)
return parser
def __init__(self, parser=None, empty_element_tags=None):
# TODO: Issue a warning if parser is present but not a
# callable, since that means there's no way to create new
# parsers for different encodings.
self._default_parser = parser
if empty_element_tags is not None:
self.empty_element_tags = set(empty_element_tags)
self.soup = None
self.nsmaps = [self.DEFAULT_NSMAPS]
def _getNsTag(self, tag):
# Split the namespace URL out of a fully-qualified lxml tag
# name. Copied from lxml's src/lxml/sax.py.
if tag[0] == '{':
return tuple(tag[1:].split('}', 1))
else:
return (None, tag)
def prepare_markup(self, markup, user_specified_encoding=None,
document_declared_encoding=None):
"""
:yield: A series of 4-tuples.
(markup, encoding, declared encoding,
has undergone character replacement)
Each 4-tuple represents a strategy for parsing the document.
"""
if isinstance(markup, unicode):
# We were given Unicode. Maybe lxml can parse Unicode on
# this system?
yield markup, None, document_declared_encoding, False
if isinstance(markup, unicode):
# No, apparently not. Convert the Unicode to UTF-8 and
# tell lxml to parse it as UTF-8.
yield (markup.encode("utf8"), "utf8",
document_declared_encoding, False)
# Instead of using UnicodeDammit to convert the bytestring to
# Unicode using different encodings, use EncodingDetector to
# iterate over the encodings, and tell lxml to try to parse
# the document as each one in turn.
is_html = not self.is_xml
try_encodings = [user_specified_encoding, document_declared_encoding]
detector = EncodingDetector(markup, try_encodings, is_html)
for encoding in detector.encodings:
yield (detector.markup, encoding, document_declared_encoding, False)
def feed(self, markup):
if isinstance(markup, bytes):
markup = BytesIO(markup)
elif isinstance(markup, unicode):
markup = StringIO(markup)
# Call feed() at least once, even if the markup is empty,
# or the parser won't be initialized.
data = markup.read(self.CHUNK_SIZE)
try:
self.parser = self.parser_for(self.soup.original_encoding)
self.parser.feed(data)
while len(data) != 0:
# Now call feed() on the rest of the data, chunk by chunk.
data = markup.read(self.CHUNK_SIZE)
if len(data) != 0:
self.parser.feed(data)
self.parser.close()
except (UnicodeDecodeError, LookupError, etree.ParserError), e:
raise ParserRejectedMarkup(str(e))
def close(self):
self.nsmaps = [self.DEFAULT_NSMAPS]
def start(self, name, attrs, nsmap={}):
# Make sure attrs is a mutable dict--lxml may send an immutable dictproxy.
attrs = dict(attrs)
nsprefix = None
# Invert each namespace map as it comes in.
if len(self.nsmaps) > 1:
# There are no new namespaces for this tag, but
# non-default namespaces are in play, so we need a
# separate tag stack to know when they end.
self.nsmaps.append(None)
elif len(nsmap) > 0:
# A new namespace mapping has come into play.
inverted_nsmap = dict((value, key) for key, value in nsmap.items())
self.nsmaps.append(inverted_nsmap)
# Also treat the namespace mapping as a set of attributes on the
# tag, so we can recreate it later.
attrs = attrs.copy()
for prefix, namespace in nsmap.items():
attribute = NamespacedAttribute(
"xmlns", prefix, "http://www.w3.org/2000/xmlns/")
attrs[attribute] = namespace
# Namespaces are in play. Find any attributes that came in
# from lxml with namespaces attached to their names, and
# turn then into NamespacedAttribute objects.
new_attrs = {}
for attr, value in attrs.items():
namespace, attr = self._getNsTag(attr)
if namespace is None:
new_attrs[attr] = value
else:
nsprefix = self._prefix_for_namespace(namespace)
attr = NamespacedAttribute(nsprefix, attr, namespace)
new_attrs[attr] = value
attrs = new_attrs
namespace, name = self._getNsTag(name)
nsprefix = self._prefix_for_namespace(namespace)
self.soup.handle_starttag(name, namespace, nsprefix, attrs)
def _prefix_for_namespace(self, namespace):
"""Find the currently active prefix for the given namespace."""
if namespace is None:
return None
for inverted_nsmap in reversed(self.nsmaps):
if inverted_nsmap is not None and namespace in inverted_nsmap:
return inverted_nsmap[namespace]
return None
def end(self, name):
self.soup.endData()
completed_tag = self.soup.tagStack[-1]
namespace, name = self._getNsTag(name)
nsprefix = None
if namespace is not None:
for inverted_nsmap in reversed(self.nsmaps):
if inverted_nsmap is not None and namespace in inverted_nsmap:
nsprefix = inverted_nsmap[namespace]
break
self.soup.handle_endtag(name, nsprefix)
if len(self.nsmaps) > 1:
# This tag, or one of its parents, introduced a namespace
# mapping, so pop it off the stack.
self.nsmaps.pop()
def pi(self, target, data):
pass
def data(self, content):
self.soup.handle_data(content)
def doctype(self, name, pubid, system):
self.soup.endData()
doctype = Doctype.for_name_and_ids(name, pubid, system)
self.soup.object_was_parsed(doctype)
def comment(self, content):
"Handle comments as Comment objects."
self.soup.endData()
self.soup.handle_data(content)
self.soup.endData(Comment)
def test_fragment_to_document(self, fragment):
"""See `TreeBuilder`."""
return u'<?xml version="1.0" encoding="utf-8"?>\n%s' % fragment
class LXMLTreeBuilder(HTMLTreeBuilder, LXMLTreeBuilderForXML):
features = [LXML, HTML, FAST, PERMISSIVE]
is_xml = False
def default_parser(self, encoding):
return etree.HTMLParser
def feed(self, markup):
encoding = self.soup.original_encoding
try:
self.parser = self.parser_for(encoding)
self.parser.feed(markup)
self.parser.close()
except (UnicodeDecodeError, LookupError, etree.ParserError), e:
raise ParserRejectedMarkup(str(e))
def test_fragment_to_document(self, fragment):
"""See `TreeBuilder`."""
return u'<html><body>%s</body></html>' % fragment

829
bitbake/lib/bs4/dammit.py Normal file
View File

@@ -0,0 +1,829 @@
# -*- coding: utf-8 -*-
"""Beautiful Soup bonus library: Unicode, Dammit
This library converts a bytestream to Unicode through any means
necessary. It is heavily based on code from Mark Pilgrim's Universal
Feed Parser. It works best on XML and XML, but it does not rewrite the
XML or HTML to reflect a new encoding; that's the tree builder's job.
"""
import codecs
from htmlentitydefs import codepoint2name
import re
import logging
import string
# Import a library to autodetect character encodings.
chardet_type = None
try:
# First try the fast C implementation.
# PyPI package: cchardet
import cchardet
def chardet_dammit(s):
return cchardet.detect(s)['encoding']
except ImportError:
try:
# Fall back to the pure Python implementation
# Debian package: python-chardet
# PyPI package: chardet
import chardet
def chardet_dammit(s):
return chardet.detect(s)['encoding']
#import chardet.constants
#chardet.constants._debug = 1
except ImportError:
# No chardet available.
def chardet_dammit(s):
return None
# Available from http://cjkpython.i18n.org/.
try:
import iconv_codec
except ImportError:
pass
xml_encoding_re = re.compile(
'^<\?.*encoding=[\'"](.*?)[\'"].*\?>'.encode(), re.I)
html_meta_re = re.compile(
'<\s*meta[^>]+charset\s*=\s*["\']?([^>]*?)[ /;\'">]'.encode(), re.I)
class EntitySubstitution(object):
"""Substitute XML or HTML entities for the corresponding characters."""
def _populate_class_variables():
lookup = {}
reverse_lookup = {}
characters_for_re = []
for codepoint, name in list(codepoint2name.items()):
character = unichr(codepoint)
if codepoint != 34:
# There's no point in turning the quotation mark into
# &quot;, unless it happens within an attribute value, which
# is handled elsewhere.
characters_for_re.append(character)
lookup[character] = name
# But we do want to turn &quot; into the quotation mark.
reverse_lookup[name] = character
re_definition = "[%s]" % "".join(characters_for_re)
return lookup, reverse_lookup, re.compile(re_definition)
(CHARACTER_TO_HTML_ENTITY, HTML_ENTITY_TO_CHARACTER,
CHARACTER_TO_HTML_ENTITY_RE) = _populate_class_variables()
CHARACTER_TO_XML_ENTITY = {
"'": "apos",
'"': "quot",
"&": "amp",
"<": "lt",
">": "gt",
}
BARE_AMPERSAND_OR_BRACKET = re.compile("([<>]|"
"&(?!#\d+;|#x[0-9a-fA-F]+;|\w+;)"
")")
AMPERSAND_OR_BRACKET = re.compile("([<>&])")
@classmethod
def _substitute_html_entity(cls, matchobj):
entity = cls.CHARACTER_TO_HTML_ENTITY.get(matchobj.group(0))
return "&%s;" % entity
@classmethod
def _substitute_xml_entity(cls, matchobj):
"""Used with a regular expression to substitute the
appropriate XML entity for an XML special character."""
entity = cls.CHARACTER_TO_XML_ENTITY[matchobj.group(0)]
return "&%s;" % entity
@classmethod
def quoted_attribute_value(self, value):
"""Make a value into a quoted XML attribute, possibly escaping it.
Most strings will be quoted using double quotes.
Bob's Bar -> "Bob's Bar"
If a string contains double quotes, it will be quoted using
single quotes.
Welcome to "my bar" -> 'Welcome to "my bar"'
If a string contains both single and double quotes, the
double quotes will be escaped, and the string will be quoted
using double quotes.
Welcome to "Bob's Bar" -> "Welcome to &quot;Bob's bar&quot;
"""
quote_with = '"'
if '"' in value:
if "'" in value:
# The string contains both single and double
# quotes. Turn the double quotes into
# entities. We quote the double quotes rather than
# the single quotes because the entity name is
# "&quot;" whether this is HTML or XML. If we
# quoted the single quotes, we'd have to decide
# between &apos; and &squot;.
replace_with = "&quot;"
value = value.replace('"', replace_with)
else:
# There are double quotes but no single quotes.
# We can use single quotes to quote the attribute.
quote_with = "'"
return quote_with + value + quote_with
@classmethod
def substitute_xml(cls, value, make_quoted_attribute=False):
"""Substitute XML entities for special XML characters.
:param value: A string to be substituted. The less-than sign
will become &lt;, the greater-than sign will become &gt;,
and any ampersands will become &amp;. If you want ampersands
that appear to be part of an entity definition to be left
alone, use substitute_xml_containing_entities() instead.
:param make_quoted_attribute: If True, then the string will be
quoted, as befits an attribute value.
"""
# Escape angle brackets and ampersands.
value = cls.AMPERSAND_OR_BRACKET.sub(
cls._substitute_xml_entity, value)
if make_quoted_attribute:
value = cls.quoted_attribute_value(value)
return value
@classmethod
def substitute_xml_containing_entities(
cls, value, make_quoted_attribute=False):
"""Substitute XML entities for special XML characters.
:param value: A string to be substituted. The less-than sign will
become &lt;, the greater-than sign will become &gt;, and any
ampersands that are not part of an entity defition will
become &amp;.
:param make_quoted_attribute: If True, then the string will be
quoted, as befits an attribute value.
"""
# Escape angle brackets, and ampersands that aren't part of
# entities.
value = cls.BARE_AMPERSAND_OR_BRACKET.sub(
cls._substitute_xml_entity, value)
if make_quoted_attribute:
value = cls.quoted_attribute_value(value)
return value
@classmethod
def substitute_html(cls, s):
"""Replace certain Unicode characters with named HTML entities.
This differs from data.encode(encoding, 'xmlcharrefreplace')
in that the goal is to make the result more readable (to those
with ASCII displays) rather than to recover from
errors. There's absolutely nothing wrong with a UTF-8 string
containg a LATIN SMALL LETTER E WITH ACUTE, but replacing that
character with "&eacute;" will make it more readable to some
people.
"""
return cls.CHARACTER_TO_HTML_ENTITY_RE.sub(
cls._substitute_html_entity, s)
class EncodingDetector:
"""Suggests a number of possible encodings for a bytestring.
Order of precedence:
1. Encodings you specifically tell EncodingDetector to try first
(the override_encodings argument to the constructor).
2. An encoding declared within the bytestring itself, either in an
XML declaration (if the bytestring is to be interpreted as an XML
document), or in a <meta> tag (if the bytestring is to be
interpreted as an HTML document.)
3. An encoding detected through textual analysis by chardet,
cchardet, or a similar external library.
4. UTF-8.
5. Windows-1252.
"""
def __init__(self, markup, override_encodings=None, is_html=False):
self.override_encodings = override_encodings or []
self.chardet_encoding = None
self.is_html = is_html
self.declared_encoding = None
# First order of business: strip a byte-order mark.
self.markup, self.sniffed_encoding = self.strip_byte_order_mark(markup)
def _usable(self, encoding, tried):
if encoding is not None:
encoding = encoding.lower()
if encoding not in tried:
tried.add(encoding)
return True
return False
@property
def encodings(self):
"""Yield a number of encodings that might work for this markup."""
tried = set()
for e in self.override_encodings:
if self._usable(e, tried):
yield e
# Did the document originally start with a byte-order mark
# that indicated its encoding?
if self._usable(self.sniffed_encoding, tried):
yield self.sniffed_encoding
# Look within the document for an XML or HTML encoding
# declaration.
if self.declared_encoding is None:
self.declared_encoding = self.find_declared_encoding(
self.markup, self.is_html)
if self._usable(self.declared_encoding, tried):
yield self.declared_encoding
# Use third-party character set detection to guess at the
# encoding.
if self.chardet_encoding is None:
self.chardet_encoding = chardet_dammit(self.markup)
if self._usable(self.chardet_encoding, tried):
yield self.chardet_encoding
# As a last-ditch effort, try utf-8 and windows-1252.
for e in ('utf-8', 'windows-1252'):
if self._usable(e, tried):
yield e
@classmethod
def strip_byte_order_mark(cls, data):
"""If a byte-order mark is present, strip it and return the encoding it implies."""
encoding = None
if (len(data) >= 4) and (data[:2] == b'\xfe\xff') \
and (data[2:4] != '\x00\x00'):
encoding = 'utf-16be'
data = data[2:]
elif (len(data) >= 4) and (data[:2] == b'\xff\xfe') \
and (data[2:4] != '\x00\x00'):
encoding = 'utf-16le'
data = data[2:]
elif data[:3] == b'\xef\xbb\xbf':
encoding = 'utf-8'
data = data[3:]
elif data[:4] == b'\x00\x00\xfe\xff':
encoding = 'utf-32be'
data = data[4:]
elif data[:4] == b'\xff\xfe\x00\x00':
encoding = 'utf-32le'
data = data[4:]
return data, encoding
@classmethod
def find_declared_encoding(cls, markup, is_html=False, search_entire_document=False):
"""Given a document, tries to find its declared encoding.
An XML encoding is declared at the beginning of the document.
An HTML encoding is declared in a <meta> tag, hopefully near the
beginning of the document.
"""
if search_entire_document:
xml_endpos = html_endpos = len(markup)
else:
xml_endpos = 1024
html_endpos = max(2048, int(len(markup) * 0.05))
declared_encoding = None
declared_encoding_match = xml_encoding_re.search(markup, endpos=xml_endpos)
if not declared_encoding_match and is_html:
declared_encoding_match = html_meta_re.search(markup, endpos=html_endpos)
if declared_encoding_match is not None:
declared_encoding = declared_encoding_match.groups()[0].decode(
'ascii')
if declared_encoding:
return declared_encoding.lower()
return None
class UnicodeDammit:
"""A class for detecting the encoding of a *ML document and
converting it to a Unicode string. If the source encoding is
windows-1252, can replace MS smart quotes with their HTML or XML
equivalents."""
# This dictionary maps commonly seen values for "charset" in HTML
# meta tags to the corresponding Python codec names. It only covers
# values that aren't in Python's aliases and can't be determined
# by the heuristics in find_codec.
CHARSET_ALIASES = {"macintosh": "mac-roman",
"x-sjis": "shift-jis"}
ENCODINGS_WITH_SMART_QUOTES = [
"windows-1252",
"iso-8859-1",
"iso-8859-2",
]
def __init__(self, markup, override_encodings=[],
smart_quotes_to=None, is_html=False):
self.smart_quotes_to = smart_quotes_to
self.tried_encodings = []
self.contains_replacement_characters = False
self.is_html = is_html
self.detector = EncodingDetector(markup, override_encodings, is_html)
# Short-circuit if the data is in Unicode to begin with.
if isinstance(markup, unicode) or markup == '':
self.markup = markup
self.unicode_markup = unicode(markup)
self.original_encoding = None
return
# The encoding detector may have stripped a byte-order mark.
# Use the stripped markup from this point on.
self.markup = self.detector.markup
u = None
for encoding in self.detector.encodings:
markup = self.detector.markup
u = self._convert_from(encoding)
if u is not None:
break
if not u:
# None of the encodings worked. As an absolute last resort,
# try them again with character replacement.
for encoding in self.detector.encodings:
if encoding != "ascii":
u = self._convert_from(encoding, "replace")
if u is not None:
logging.warning(
"Some characters could not be decoded, and were "
"replaced with REPLACEMENT CHARACTER.")
self.contains_replacement_characters = True
break
# If none of that worked, we could at this point force it to
# ASCII, but that would destroy so much data that I think
# giving up is better.
self.unicode_markup = u
if not u:
self.original_encoding = None
def _sub_ms_char(self, match):
"""Changes a MS smart quote character to an XML or HTML
entity, or an ASCII character."""
orig = match.group(1)
if self.smart_quotes_to == 'ascii':
sub = self.MS_CHARS_TO_ASCII.get(orig).encode()
else:
sub = self.MS_CHARS.get(orig)
if type(sub) == tuple:
if self.smart_quotes_to == 'xml':
sub = '&#x'.encode() + sub[1].encode() + ';'.encode()
else:
sub = '&'.encode() + sub[0].encode() + ';'.encode()
else:
sub = sub.encode()
return sub
def _convert_from(self, proposed, errors="strict"):
proposed = self.find_codec(proposed)
if not proposed or (proposed, errors) in self.tried_encodings:
return None
self.tried_encodings.append((proposed, errors))
markup = self.markup
# Convert smart quotes to HTML if coming from an encoding
# that might have them.
if (self.smart_quotes_to is not None
and proposed in self.ENCODINGS_WITH_SMART_QUOTES):
smart_quotes_re = b"([\x80-\x9f])"
smart_quotes_compiled = re.compile(smart_quotes_re)
markup = smart_quotes_compiled.sub(self._sub_ms_char, markup)
try:
#print "Trying to convert document to %s (errors=%s)" % (
# proposed, errors)
u = self._to_unicode(markup, proposed, errors)
self.markup = u
self.original_encoding = proposed
except Exception as e:
#print "That didn't work!"
#print e
return None
#print "Correct encoding: %s" % proposed
return self.markup
def _to_unicode(self, data, encoding, errors="strict"):
'''Given a string and its encoding, decodes the string into Unicode.
%encoding is a string recognized by encodings.aliases'''
return unicode(data, encoding, errors)
@property
def declared_html_encoding(self):
if not self.is_html:
return None
return self.detector.declared_encoding
def find_codec(self, charset):
value = (self._codec(self.CHARSET_ALIASES.get(charset, charset))
or (charset and self._codec(charset.replace("-", "")))
or (charset and self._codec(charset.replace("-", "_")))
or (charset and charset.lower())
or charset
)
if value:
return value.lower()
return None
def _codec(self, charset):
if not charset:
return charset
codec = None
try:
codecs.lookup(charset)
codec = charset
except (LookupError, ValueError):
pass
return codec
# A partial mapping of ISO-Latin-1 to HTML entities/XML numeric entities.
MS_CHARS = {b'\x80': ('euro', '20AC'),
b'\x81': ' ',
b'\x82': ('sbquo', '201A'),
b'\x83': ('fnof', '192'),
b'\x84': ('bdquo', '201E'),
b'\x85': ('hellip', '2026'),
b'\x86': ('dagger', '2020'),
b'\x87': ('Dagger', '2021'),
b'\x88': ('circ', '2C6'),
b'\x89': ('permil', '2030'),
b'\x8A': ('Scaron', '160'),
b'\x8B': ('lsaquo', '2039'),
b'\x8C': ('OElig', '152'),
b'\x8D': '?',
b'\x8E': ('#x17D', '17D'),
b'\x8F': '?',
b'\x90': '?',
b'\x91': ('lsquo', '2018'),
b'\x92': ('rsquo', '2019'),
b'\x93': ('ldquo', '201C'),
b'\x94': ('rdquo', '201D'),
b'\x95': ('bull', '2022'),
b'\x96': ('ndash', '2013'),
b'\x97': ('mdash', '2014'),
b'\x98': ('tilde', '2DC'),
b'\x99': ('trade', '2122'),
b'\x9a': ('scaron', '161'),
b'\x9b': ('rsaquo', '203A'),
b'\x9c': ('oelig', '153'),
b'\x9d': '?',
b'\x9e': ('#x17E', '17E'),
b'\x9f': ('Yuml', ''),}
# A parochial partial mapping of ISO-Latin-1 to ASCII. Contains
# horrors like stripping diacritical marks to turn á into a, but also
# contains non-horrors like turning “ into ".
MS_CHARS_TO_ASCII = {
b'\x80' : 'EUR',
b'\x81' : ' ',
b'\x82' : ',',
b'\x83' : 'f',
b'\x84' : ',,',
b'\x85' : '...',
b'\x86' : '+',
b'\x87' : '++',
b'\x88' : '^',
b'\x89' : '%',
b'\x8a' : 'S',
b'\x8b' : '<',
b'\x8c' : 'OE',
b'\x8d' : '?',
b'\x8e' : 'Z',
b'\x8f' : '?',
b'\x90' : '?',
b'\x91' : "'",
b'\x92' : "'",
b'\x93' : '"',
b'\x94' : '"',
b'\x95' : '*',
b'\x96' : '-',
b'\x97' : '--',
b'\x98' : '~',
b'\x99' : '(TM)',
b'\x9a' : 's',
b'\x9b' : '>',
b'\x9c' : 'oe',
b'\x9d' : '?',
b'\x9e' : 'z',
b'\x9f' : 'Y',
b'\xa0' : ' ',
b'\xa1' : '!',
b'\xa2' : 'c',
b'\xa3' : 'GBP',
b'\xa4' : '$', #This approximation is especially parochial--this is the
#generic currency symbol.
b'\xa5' : 'YEN',
b'\xa6' : '|',
b'\xa7' : 'S',
b'\xa8' : '..',
b'\xa9' : '',
b'\xaa' : '(th)',
b'\xab' : '<<',
b'\xac' : '!',
b'\xad' : ' ',
b'\xae' : '(R)',
b'\xaf' : '-',
b'\xb0' : 'o',
b'\xb1' : '+-',
b'\xb2' : '2',
b'\xb3' : '3',
b'\xb4' : ("'", 'acute'),
b'\xb5' : 'u',
b'\xb6' : 'P',
b'\xb7' : '*',
b'\xb8' : ',',
b'\xb9' : '1',
b'\xba' : '(th)',
b'\xbb' : '>>',
b'\xbc' : '1/4',
b'\xbd' : '1/2',
b'\xbe' : '3/4',
b'\xbf' : '?',
b'\xc0' : 'A',
b'\xc1' : 'A',
b'\xc2' : 'A',
b'\xc3' : 'A',
b'\xc4' : 'A',
b'\xc5' : 'A',
b'\xc6' : 'AE',
b'\xc7' : 'C',
b'\xc8' : 'E',
b'\xc9' : 'E',
b'\xca' : 'E',
b'\xcb' : 'E',
b'\xcc' : 'I',
b'\xcd' : 'I',
b'\xce' : 'I',
b'\xcf' : 'I',
b'\xd0' : 'D',
b'\xd1' : 'N',
b'\xd2' : 'O',
b'\xd3' : 'O',
b'\xd4' : 'O',
b'\xd5' : 'O',
b'\xd6' : 'O',
b'\xd7' : '*',
b'\xd8' : 'O',
b'\xd9' : 'U',
b'\xda' : 'U',
b'\xdb' : 'U',
b'\xdc' : 'U',
b'\xdd' : 'Y',
b'\xde' : 'b',
b'\xdf' : 'B',
b'\xe0' : 'a',
b'\xe1' : 'a',
b'\xe2' : 'a',
b'\xe3' : 'a',
b'\xe4' : 'a',
b'\xe5' : 'a',
b'\xe6' : 'ae',
b'\xe7' : 'c',
b'\xe8' : 'e',
b'\xe9' : 'e',
b'\xea' : 'e',
b'\xeb' : 'e',
b'\xec' : 'i',
b'\xed' : 'i',
b'\xee' : 'i',
b'\xef' : 'i',
b'\xf0' : 'o',
b'\xf1' : 'n',
b'\xf2' : 'o',
b'\xf3' : 'o',
b'\xf4' : 'o',
b'\xf5' : 'o',
b'\xf6' : 'o',
b'\xf7' : '/',
b'\xf8' : 'o',
b'\xf9' : 'u',
b'\xfa' : 'u',
b'\xfb' : 'u',
b'\xfc' : 'u',
b'\xfd' : 'y',
b'\xfe' : 'b',
b'\xff' : 'y',
}
# A map used when removing rogue Windows-1252/ISO-8859-1
# characters in otherwise UTF-8 documents.
#
# Note that \x81, \x8d, \x8f, \x90, and \x9d are undefined in
# Windows-1252.
WINDOWS_1252_TO_UTF8 = {
0x80 : b'\xe2\x82\xac', # €
0x82 : b'\xe2\x80\x9a', #
0x83 : b'\xc6\x92', # ƒ
0x84 : b'\xe2\x80\x9e', # „
0x85 : b'\xe2\x80\xa6', # …
0x86 : b'\xe2\x80\xa0', # †
0x87 : b'\xe2\x80\xa1', # ‡
0x88 : b'\xcb\x86', # ˆ
0x89 : b'\xe2\x80\xb0', # ‰
0x8a : b'\xc5\xa0', # Š
0x8b : b'\xe2\x80\xb9', #
0x8c : b'\xc5\x92', # Œ
0x8e : b'\xc5\xbd', # Ž
0x91 : b'\xe2\x80\x98', #
0x92 : b'\xe2\x80\x99', #
0x93 : b'\xe2\x80\x9c', # “
0x94 : b'\xe2\x80\x9d', # ”
0x95 : b'\xe2\x80\xa2', # •
0x96 : b'\xe2\x80\x93', #
0x97 : b'\xe2\x80\x94', # —
0x98 : b'\xcb\x9c', # ˜
0x99 : b'\xe2\x84\xa2', # ™
0x9a : b'\xc5\xa1', # š
0x9b : b'\xe2\x80\xba', #
0x9c : b'\xc5\x93', # œ
0x9e : b'\xc5\xbe', # ž
0x9f : b'\xc5\xb8', # Ÿ
0xa0 : b'\xc2\xa0', #  
0xa1 : b'\xc2\xa1', # ¡
0xa2 : b'\xc2\xa2', # ¢
0xa3 : b'\xc2\xa3', # £
0xa4 : b'\xc2\xa4', # ¤
0xa5 : b'\xc2\xa5', # ¥
0xa6 : b'\xc2\xa6', # ¦
0xa7 : b'\xc2\xa7', # §
0xa8 : b'\xc2\xa8', # ¨
0xa9 : b'\xc2\xa9', # ©
0xaa : b'\xc2\xaa', # ª
0xab : b'\xc2\xab', # «
0xac : b'\xc2\xac', # ¬
0xad : b'\xc2\xad', # ­
0xae : b'\xc2\xae', # ®
0xaf : b'\xc2\xaf', # ¯
0xb0 : b'\xc2\xb0', # °
0xb1 : b'\xc2\xb1', # ±
0xb2 : b'\xc2\xb2', # ²
0xb3 : b'\xc2\xb3', # ³
0xb4 : b'\xc2\xb4', # ´
0xb5 : b'\xc2\xb5', # µ
0xb6 : b'\xc2\xb6', # ¶
0xb7 : b'\xc2\xb7', # ·
0xb8 : b'\xc2\xb8', # ¸
0xb9 : b'\xc2\xb9', # ¹
0xba : b'\xc2\xba', # º
0xbb : b'\xc2\xbb', # »
0xbc : b'\xc2\xbc', # ¼
0xbd : b'\xc2\xbd', # ½
0xbe : b'\xc2\xbe', # ¾
0xbf : b'\xc2\xbf', # ¿
0xc0 : b'\xc3\x80', # À
0xc1 : b'\xc3\x81', # Á
0xc2 : b'\xc3\x82', # Â
0xc3 : b'\xc3\x83', # Ã
0xc4 : b'\xc3\x84', # Ä
0xc5 : b'\xc3\x85', # Å
0xc6 : b'\xc3\x86', # Æ
0xc7 : b'\xc3\x87', # Ç
0xc8 : b'\xc3\x88', # È
0xc9 : b'\xc3\x89', # É
0xca : b'\xc3\x8a', # Ê
0xcb : b'\xc3\x8b', # Ë
0xcc : b'\xc3\x8c', # Ì
0xcd : b'\xc3\x8d', # Í
0xce : b'\xc3\x8e', # Î
0xcf : b'\xc3\x8f', # Ï
0xd0 : b'\xc3\x90', # Ð
0xd1 : b'\xc3\x91', # Ñ
0xd2 : b'\xc3\x92', # Ò
0xd3 : b'\xc3\x93', # Ó
0xd4 : b'\xc3\x94', # Ô
0xd5 : b'\xc3\x95', # Õ
0xd6 : b'\xc3\x96', # Ö
0xd7 : b'\xc3\x97', # ×
0xd8 : b'\xc3\x98', # Ø
0xd9 : b'\xc3\x99', # Ù
0xda : b'\xc3\x9a', # Ú
0xdb : b'\xc3\x9b', # Û
0xdc : b'\xc3\x9c', # Ü
0xdd : b'\xc3\x9d', # Ý
0xde : b'\xc3\x9e', # Þ
0xdf : b'\xc3\x9f', # ß
0xe0 : b'\xc3\xa0', # à
0xe1 : b'\xa1', # á
0xe2 : b'\xc3\xa2', # â
0xe3 : b'\xc3\xa3', # ã
0xe4 : b'\xc3\xa4', # ä
0xe5 : b'\xc3\xa5', # å
0xe6 : b'\xc3\xa6', # æ
0xe7 : b'\xc3\xa7', # ç
0xe8 : b'\xc3\xa8', # è
0xe9 : b'\xc3\xa9', # é
0xea : b'\xc3\xaa', # ê
0xeb : b'\xc3\xab', # ë
0xec : b'\xc3\xac', # ì
0xed : b'\xc3\xad', # í
0xee : b'\xc3\xae', # î
0xef : b'\xc3\xaf', # ï
0xf0 : b'\xc3\xb0', # ð
0xf1 : b'\xc3\xb1', # ñ
0xf2 : b'\xc3\xb2', # ò
0xf3 : b'\xc3\xb3', # ó
0xf4 : b'\xc3\xb4', # ô
0xf5 : b'\xc3\xb5', # õ
0xf6 : b'\xc3\xb6', # ö
0xf7 : b'\xc3\xb7', # ÷
0xf8 : b'\xc3\xb8', # ø
0xf9 : b'\xc3\xb9', # ù
0xfa : b'\xc3\xba', # ú
0xfb : b'\xc3\xbb', # û
0xfc : b'\xc3\xbc', # ü
0xfd : b'\xc3\xbd', # ý
0xfe : b'\xc3\xbe', # þ
}
MULTIBYTE_MARKERS_AND_SIZES = [
(0xc2, 0xdf, 2), # 2-byte characters start with a byte C2-DF
(0xe0, 0xef, 3), # 3-byte characters start with E0-EF
(0xf0, 0xf4, 4), # 4-byte characters start with F0-F4
]
FIRST_MULTIBYTE_MARKER = MULTIBYTE_MARKERS_AND_SIZES[0][0]
LAST_MULTIBYTE_MARKER = MULTIBYTE_MARKERS_AND_SIZES[-1][1]
@classmethod
def detwingle(cls, in_bytes, main_encoding="utf8",
embedded_encoding="windows-1252"):
"""Fix characters from one encoding embedded in some other encoding.
Currently the only situation supported is Windows-1252 (or its
subset ISO-8859-1), embedded in UTF-8.
The input must be a bytestring. If you've already converted
the document to Unicode, you're too late.
The output is a bytestring in which `embedded_encoding`
characters have been converted to their `main_encoding`
equivalents.
"""
if embedded_encoding.replace('_', '-').lower() not in (
'windows-1252', 'windows_1252'):
raise NotImplementedError(
"Windows-1252 and ISO-8859-1 are the only currently supported "
"embedded encodings.")
if main_encoding.lower() not in ('utf8', 'utf-8'):
raise NotImplementedError(
"UTF-8 is the only currently supported main encoding.")
byte_chunks = []
chunk_start = 0
pos = 0
while pos < len(in_bytes):
byte = in_bytes[pos]
if not isinstance(byte, int):
# Python 2.x
byte = ord(byte)
if (byte >= cls.FIRST_MULTIBYTE_MARKER
and byte <= cls.LAST_MULTIBYTE_MARKER):
# This is the start of a UTF-8 multibyte character. Skip
# to the end.
for start, end, size in cls.MULTIBYTE_MARKERS_AND_SIZES:
if byte >= start and byte <= end:
pos += size
break
elif byte >= 0x80 and byte in cls.WINDOWS_1252_TO_UTF8:
# We found a Windows-1252 character!
# Save the string up to this point as a chunk.
byte_chunks.append(in_bytes[chunk_start:pos])
# Now translate the Windows-1252 character into UTF-8
# and add it as another, one-byte chunk.
byte_chunks.append(cls.WINDOWS_1252_TO_UTF8[byte])
pos += 1
chunk_start = pos
else:
# Go on to the next character.
pos += 1
if chunk_start == 0:
# The string is unchanged.
return in_bytes
else:
# Store the final chunk.
byte_chunks.append(in_bytes[chunk_start:])
return b''.join(byte_chunks)

204
bitbake/lib/bs4/diagnose.py Normal file
View File

@@ -0,0 +1,204 @@
"""Diagnostic functions, mainly for use when doing tech support."""
import cProfile
from StringIO import StringIO
from HTMLParser import HTMLParser
import bs4
from bs4 import BeautifulSoup, __version__
from bs4.builder import builder_registry
import os
import pstats
import random
import tempfile
import time
import traceback
import sys
import cProfile
def diagnose(data):
"""Diagnostic suite for isolating common problems."""
print "Diagnostic running on Beautiful Soup %s" % __version__
print "Python version %s" % sys.version
basic_parsers = ["html.parser", "html5lib", "lxml"]
for name in basic_parsers:
for builder in builder_registry.builders:
if name in builder.features:
break
else:
basic_parsers.remove(name)
print (
"I noticed that %s is not installed. Installing it may help." %
name)
if 'lxml' in basic_parsers:
basic_parsers.append(["lxml", "xml"])
from lxml import etree
print "Found lxml version %s" % ".".join(map(str,etree.LXML_VERSION))
if 'html5lib' in basic_parsers:
import html5lib
print "Found html5lib version %s" % html5lib.__version__
if hasattr(data, 'read'):
data = data.read()
elif os.path.exists(data):
print '"%s" looks like a filename. Reading data from the file.' % data
data = open(data).read()
elif data.startswith("http:") or data.startswith("https:"):
print '"%s" looks like a URL. Beautiful Soup is not an HTTP client.' % data
print "You need to use some other library to get the document behind the URL, and feed that document to Beautiful Soup."
return
print
for parser in basic_parsers:
print "Trying to parse your markup with %s" % parser
success = False
try:
soup = BeautifulSoup(data, parser)
success = True
except Exception, e:
print "%s could not parse the markup." % parser
traceback.print_exc()
if success:
print "Here's what %s did with the markup:" % parser
print soup.prettify()
print "-" * 80
def lxml_trace(data, html=True, **kwargs):
"""Print out the lxml events that occur during parsing.
This lets you see how lxml parses a document when no Beautiful
Soup code is running.
"""
from lxml import etree
for event, element in etree.iterparse(StringIO(data), html=html, **kwargs):
print("%s, %4s, %s" % (event, element.tag, element.text))
class AnnouncingParser(HTMLParser):
"""Announces HTMLParser parse events, without doing anything else."""
def _p(self, s):
print(s)
def handle_starttag(self, name, attrs):
self._p("%s START" % name)
def handle_endtag(self, name):
self._p("%s END" % name)
def handle_data(self, data):
self._p("%s DATA" % data)
def handle_charref(self, name):
self._p("%s CHARREF" % name)
def handle_entityref(self, name):
self._p("%s ENTITYREF" % name)
def handle_comment(self, data):
self._p("%s COMMENT" % data)
def handle_decl(self, data):
self._p("%s DECL" % data)
def unknown_decl(self, data):
self._p("%s UNKNOWN-DECL" % data)
def handle_pi(self, data):
self._p("%s PI" % data)
def htmlparser_trace(data):
"""Print out the HTMLParser events that occur during parsing.
This lets you see how HTMLParser parses a document when no
Beautiful Soup code is running.
"""
parser = AnnouncingParser()
parser.feed(data)
_vowels = "aeiou"
_consonants = "bcdfghjklmnpqrstvwxyz"
def rword(length=5):
"Generate a random word-like string."
s = ''
for i in range(length):
if i % 2 == 0:
t = _consonants
else:
t = _vowels
s += random.choice(t)
return s
def rsentence(length=4):
"Generate a random sentence-like string."
return " ".join(rword(random.randint(4,9)) for i in range(length))
def rdoc(num_elements=1000):
"""Randomly generate an invalid HTML document."""
tag_names = ['p', 'div', 'span', 'i', 'b', 'script', 'table']
elements = []
for i in range(num_elements):
choice = random.randint(0,3)
if choice == 0:
# New tag.
tag_name = random.choice(tag_names)
elements.append("<%s>" % tag_name)
elif choice == 1:
elements.append(rsentence(random.randint(1,4)))
elif choice == 2:
# Close a tag.
tag_name = random.choice(tag_names)
elements.append("</%s>" % tag_name)
return "<html>" + "\n".join(elements) + "</html>"
def benchmark_parsers(num_elements=100000):
"""Very basic head-to-head performance benchmark."""
print "Comparative parser benchmark on Beautiful Soup %s" % __version__
data = rdoc(num_elements)
print "Generated a large invalid HTML document (%d bytes)." % len(data)
for parser in ["lxml", ["lxml", "html"], "html5lib", "html.parser"]:
success = False
try:
a = time.time()
soup = BeautifulSoup(data, parser)
b = time.time()
success = True
except Exception, e:
print "%s could not parse the markup." % parser
traceback.print_exc()
if success:
print "BS4+%s parsed the markup in %.2fs." % (parser, b-a)
from lxml import etree
a = time.time()
etree.HTML(data)
b = time.time()
print "Raw lxml parsed the markup in %.2fs." % (b-a)
import html5lib
parser = html5lib.HTMLParser()
a = time.time()
parser.parse(data)
b = time.time()
print "Raw html5lib parsed the markup in %.2fs." % (b-a)
def profile(num_elements=100000, parser="lxml"):
filehandle = tempfile.NamedTemporaryFile()
filename = filehandle.name
data = rdoc(num_elements)
vars = dict(bs4=bs4, data=data, parser=parser)
cProfile.runctx('bs4.BeautifulSoup(data, parser)' , vars, vars, filename)
stats = pstats.Stats(filename)
# stats.strip_dirs()
stats.sort_stats("cumulative")
stats.print_stats('_html5lib|bs4', 50)
if __name__ == '__main__':
diagnose(sys.stdin.read())

1611
bitbake/lib/bs4/element.py Normal file

File diff suppressed because it is too large Load Diff

592
bitbake/lib/bs4/testing.py Normal file
View File

@@ -0,0 +1,592 @@
"""Helper classes for tests."""
import copy
import functools
import unittest
from unittest import TestCase
from bs4 import BeautifulSoup
from bs4.element import (
CharsetMetaAttributeValue,
Comment,
ContentMetaAttributeValue,
Doctype,
SoupStrainer,
)
from bs4.builder import HTMLParserTreeBuilder
default_builder = HTMLParserTreeBuilder
class SoupTest(unittest.TestCase):
@property
def default_builder(self):
return default_builder()
def soup(self, markup, **kwargs):
"""Build a Beautiful Soup object from markup."""
builder = kwargs.pop('builder', self.default_builder)
return BeautifulSoup(markup, builder=builder, **kwargs)
def document_for(self, markup):
"""Turn an HTML fragment into a document.
The details depend on the builder.
"""
return self.default_builder.test_fragment_to_document(markup)
def assertSoupEquals(self, to_parse, compare_parsed_to=None):
builder = self.default_builder
obj = BeautifulSoup(to_parse, builder=builder)
if compare_parsed_to is None:
compare_parsed_to = to_parse
self.assertEqual(obj.decode(), self.document_for(compare_parsed_to))
class HTMLTreeBuilderSmokeTest(object):
"""A basic test of a treebuilder's competence.
Any HTML treebuilder, present or future, should be able to pass
these tests. With invalid markup, there's room for interpretation,
and different parsers can handle it differently. But with the
markup in these tests, there's not much room for interpretation.
"""
def assertDoctypeHandled(self, doctype_fragment):
"""Assert that a given doctype string is handled correctly."""
doctype_str, soup = self._document_with_doctype(doctype_fragment)
# Make sure a Doctype object was created.
doctype = soup.contents[0]
self.assertEqual(doctype.__class__, Doctype)
self.assertEqual(doctype, doctype_fragment)
self.assertEqual(str(soup)[:len(doctype_str)], doctype_str)
# Make sure that the doctype was correctly associated with the
# parse tree and that the rest of the document parsed.
self.assertEqual(soup.p.contents[0], 'foo')
def _document_with_doctype(self, doctype_fragment):
"""Generate and parse a document with the given doctype."""
doctype = '<!DOCTYPE %s>' % doctype_fragment
markup = doctype + '\n<p>foo</p>'
soup = self.soup(markup)
return doctype, soup
def test_normal_doctypes(self):
"""Make sure normal, everyday HTML doctypes are handled correctly."""
self.assertDoctypeHandled("html")
self.assertDoctypeHandled(
'html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"')
def test_empty_doctype(self):
soup = self.soup("<!DOCTYPE>")
doctype = soup.contents[0]
self.assertEqual("", doctype.strip())
def test_public_doctype_with_url(self):
doctype = 'html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"'
self.assertDoctypeHandled(doctype)
def test_system_doctype(self):
self.assertDoctypeHandled('foo SYSTEM "http://www.example.com/"')
def test_namespaced_system_doctype(self):
# We can handle a namespaced doctype with a system ID.
self.assertDoctypeHandled('xsl:stylesheet SYSTEM "htmlent.dtd"')
def test_namespaced_public_doctype(self):
# Test a namespaced doctype with a public id.
self.assertDoctypeHandled('xsl:stylesheet PUBLIC "htmlent.dtd"')
def test_real_xhtml_document(self):
"""A real XHTML document should come out more or less the same as it went in."""
markup = b"""<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Hello.</title></head>
<body>Goodbye.</body>
</html>"""
soup = self.soup(markup)
self.assertEqual(
soup.encode("utf-8").replace(b"\n", b""),
markup.replace(b"\n", b""))
def test_deepcopy(self):
"""Make sure you can copy the tree builder.
This is important because the builder is part of a
BeautifulSoup object, and we want to be able to copy that.
"""
copy.deepcopy(self.default_builder)
def test_p_tag_is_never_empty_element(self):
"""A <p> tag is never designated as an empty-element tag.
Even if the markup shows it as an empty-element tag, it
shouldn't be presented that way.
"""
soup = self.soup("<p/>")
self.assertFalse(soup.p.is_empty_element)
self.assertEqual(str(soup.p), "<p></p>")
def test_unclosed_tags_get_closed(self):
"""A tag that's not closed by the end of the document should be closed.
This applies to all tags except empty-element tags.
"""
self.assertSoupEquals("<p>", "<p></p>")
self.assertSoupEquals("<b>", "<b></b>")
self.assertSoupEquals("<br>", "<br/>")
def test_br_is_always_empty_element_tag(self):
"""A <br> tag is designated as an empty-element tag.
Some parsers treat <br></br> as one <br/> tag, some parsers as
two tags, but it should always be an empty-element tag.
"""
soup = self.soup("<br></br>")
self.assertTrue(soup.br.is_empty_element)
self.assertEqual(str(soup.br), "<br/>")
def test_nested_formatting_elements(self):
self.assertSoupEquals("<em><em></em></em>")
def test_comment(self):
# Comments are represented as Comment objects.
markup = "<p>foo<!--foobar-->baz</p>"
self.assertSoupEquals(markup)
soup = self.soup(markup)
comment = soup.find(text="foobar")
self.assertEqual(comment.__class__, Comment)
# The comment is properly integrated into the tree.
foo = soup.find(text="foo")
self.assertEqual(comment, foo.next_element)
baz = soup.find(text="baz")
self.assertEqual(comment, baz.previous_element)
def test_preserved_whitespace_in_pre_and_textarea(self):
"""Whitespace must be preserved in <pre> and <textarea> tags."""
self.assertSoupEquals("<pre> </pre>")
self.assertSoupEquals("<textarea> woo </textarea>")
def test_nested_inline_elements(self):
"""Inline elements can be nested indefinitely."""
b_tag = "<b>Inside a B tag</b>"
self.assertSoupEquals(b_tag)
nested_b_tag = "<p>A <i>nested <b>tag</b></i></p>"
self.assertSoupEquals(nested_b_tag)
double_nested_b_tag = "<p>A <a>doubly <i>nested <b>tag</b></i></a></p>"
self.assertSoupEquals(nested_b_tag)
def test_nested_block_level_elements(self):
"""Block elements can be nested."""
soup = self.soup('<blockquote><p><b>Foo</b></p></blockquote>')
blockquote = soup.blockquote
self.assertEqual(blockquote.p.b.string, 'Foo')
self.assertEqual(blockquote.b.string, 'Foo')
def test_correctly_nested_tables(self):
"""One table can go inside another one."""
markup = ('<table id="1">'
'<tr>'
"<td>Here's another table:"
'<table id="2">'
'<tr><td>foo</td></tr>'
'</table></td>')
self.assertSoupEquals(
markup,
'<table id="1"><tr><td>Here\'s another table:'
'<table id="2"><tr><td>foo</td></tr></table>'
'</td></tr></table>')
self.assertSoupEquals(
"<table><thead><tr><td>Foo</td></tr></thead>"
"<tbody><tr><td>Bar</td></tr></tbody>"
"<tfoot><tr><td>Baz</td></tr></tfoot></table>")
def test_deeply_nested_multivalued_attribute(self):
# html5lib can set the attributes of the same tag many times
# as it rearranges the tree. This has caused problems with
# multivalued attributes.
markup = '<table><div><div class="css"></div></div></table>'
soup = self.soup(markup)
self.assertEqual(["css"], soup.div.div['class'])
def test_angle_brackets_in_attribute_values_are_escaped(self):
self.assertSoupEquals('<a b="<a>"></a>', '<a b="&lt;a&gt;"></a>')
def test_entities_in_attributes_converted_to_unicode(self):
expect = u'<p id="pi\N{LATIN SMALL LETTER N WITH TILDE}ata"></p>'
self.assertSoupEquals('<p id="pi&#241;ata"></p>', expect)
self.assertSoupEquals('<p id="pi&#xf1;ata"></p>', expect)
self.assertSoupEquals('<p id="pi&#Xf1;ata"></p>', expect)
self.assertSoupEquals('<p id="pi&ntilde;ata"></p>', expect)
def test_entities_in_text_converted_to_unicode(self):
expect = u'<p>pi\N{LATIN SMALL LETTER N WITH TILDE}ata</p>'
self.assertSoupEquals("<p>pi&#241;ata</p>", expect)
self.assertSoupEquals("<p>pi&#xf1;ata</p>", expect)
self.assertSoupEquals("<p>pi&#Xf1;ata</p>", expect)
self.assertSoupEquals("<p>pi&ntilde;ata</p>", expect)
def test_quot_entity_converted_to_quotation_mark(self):
self.assertSoupEquals("<p>I said &quot;good day!&quot;</p>",
'<p>I said "good day!"</p>')
def test_out_of_range_entity(self):
expect = u"\N{REPLACEMENT CHARACTER}"
self.assertSoupEquals("&#10000000000000;", expect)
self.assertSoupEquals("&#x10000000000000;", expect)
self.assertSoupEquals("&#1000000000;", expect)
def test_multipart_strings(self):
"Mostly to prevent a recurrence of a bug in the html5lib treebuilder."
soup = self.soup("<html><h2>\nfoo</h2><p></p></html>")
self.assertEqual("p", soup.h2.string.next_element.name)
self.assertEqual("p", soup.p.name)
def test_basic_namespaces(self):
"""Parsers don't need to *understand* namespaces, but at the
very least they should not choke on namespaces or lose
data."""
markup = b'<html xmlns="http://www.w3.org/1999/xhtml" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:svg="http://www.w3.org/2000/svg"><head></head><body><mathml:msqrt>4</mathml:msqrt><b svg:fill="red"></b></body></html>'
soup = self.soup(markup)
self.assertEqual(markup, soup.encode())
html = soup.html
self.assertEqual('http://www.w3.org/1999/xhtml', soup.html['xmlns'])
self.assertEqual(
'http://www.w3.org/1998/Math/MathML', soup.html['xmlns:mathml'])
self.assertEqual(
'http://www.w3.org/2000/svg', soup.html['xmlns:svg'])
def test_multivalued_attribute_value_becomes_list(self):
markup = b'<a class="foo bar">'
soup = self.soup(markup)
self.assertEqual(['foo', 'bar'], soup.a['class'])
#
# Generally speaking, tests below this point are more tests of
# Beautiful Soup than tests of the tree builders. But parsers are
# weird, so we run these tests separately for every tree builder
# to detect any differences between them.
#
def test_can_parse_unicode_document(self):
# A seemingly innocuous document... but it's in Unicode! And
# it contains characters that can't be represented in the
# encoding found in the declaration! The horror!
markup = u'<html><head><meta encoding="euc-jp"></head><body>Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!</body>'
soup = self.soup(markup)
self.assertEqual(u'Sacr\xe9 bleu!', soup.body.string)
def test_soupstrainer(self):
"""Parsers should be able to work with SoupStrainers."""
strainer = SoupStrainer("b")
soup = self.soup("A <b>bold</b> <meta/> <i>statement</i>",
parse_only=strainer)
self.assertEqual(soup.decode(), "<b>bold</b>")
def test_single_quote_attribute_values_become_double_quotes(self):
self.assertSoupEquals("<foo attr='bar'></foo>",
'<foo attr="bar"></foo>')
def test_attribute_values_with_nested_quotes_are_left_alone(self):
text = """<foo attr='bar "brawls" happen'>a</foo>"""
self.assertSoupEquals(text)
def test_attribute_values_with_double_nested_quotes_get_quoted(self):
text = """<foo attr='bar "brawls" happen'>a</foo>"""
soup = self.soup(text)
soup.foo['attr'] = 'Brawls happen at "Bob\'s Bar"'
self.assertSoupEquals(
soup.foo.decode(),
"""<foo attr="Brawls happen at &quot;Bob\'s Bar&quot;">a</foo>""")
def test_ampersand_in_attribute_value_gets_escaped(self):
self.assertSoupEquals('<this is="really messed up & stuff"></this>',
'<this is="really messed up &amp; stuff"></this>')
self.assertSoupEquals(
'<a href="http://example.org?a=1&b=2;3">foo</a>',
'<a href="http://example.org?a=1&amp;b=2;3">foo</a>')
def test_escaped_ampersand_in_attribute_value_is_left_alone(self):
self.assertSoupEquals('<a href="http://example.org?a=1&amp;b=2;3"></a>')
def test_entities_in_strings_converted_during_parsing(self):
# Both XML and HTML entities are converted to Unicode characters
# during parsing.
text = "<p>&lt;&lt;sacr&eacute;&#32;bleu!&gt;&gt;</p>"
expected = u"<p>&lt;&lt;sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!&gt;&gt;</p>"
self.assertSoupEquals(text, expected)
def test_smart_quotes_converted_on_the_way_in(self):
# Microsoft smart quotes are converted to Unicode characters during
# parsing.
quote = b"<p>\x91Foo\x92</p>"
soup = self.soup(quote)
self.assertEqual(
soup.p.string,
u"\N{LEFT SINGLE QUOTATION MARK}Foo\N{RIGHT SINGLE QUOTATION MARK}")
def test_non_breaking_spaces_converted_on_the_way_in(self):
soup = self.soup("<a>&nbsp;&nbsp;</a>")
self.assertEqual(soup.a.string, u"\N{NO-BREAK SPACE}" * 2)
def test_entities_converted_on_the_way_out(self):
text = "<p>&lt;&lt;sacr&eacute;&#32;bleu!&gt;&gt;</p>"
expected = u"<p>&lt;&lt;sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!&gt;&gt;</p>".encode("utf-8")
soup = self.soup(text)
self.assertEqual(soup.p.encode("utf-8"), expected)
def test_real_iso_latin_document(self):
# Smoke test of interrelated functionality, using an
# easy-to-understand document.
# Here it is in Unicode. Note that it claims to be in ISO-Latin-1.
unicode_html = u'<html><head><meta content="text/html; charset=ISO-Latin-1" http-equiv="Content-type"/></head><body><p>Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!</p></body></html>'
# That's because we're going to encode it into ISO-Latin-1, and use
# that to test.
iso_latin_html = unicode_html.encode("iso-8859-1")
# Parse the ISO-Latin-1 HTML.
soup = self.soup(iso_latin_html)
# Encode it to UTF-8.
result = soup.encode("utf-8")
# What do we expect the result to look like? Well, it would
# look like unicode_html, except that the META tag would say
# UTF-8 instead of ISO-Latin-1.
expected = unicode_html.replace("ISO-Latin-1", "utf-8")
# And, of course, it would be in UTF-8, not Unicode.
expected = expected.encode("utf-8")
# Ta-da!
self.assertEqual(result, expected)
def test_real_shift_jis_document(self):
# Smoke test to make sure the parser can handle a document in
# Shift-JIS encoding, without choking.
shift_jis_html = (
b'<html><head></head><body><pre>'
b'\x82\xb1\x82\xea\x82\xcdShift-JIS\x82\xc5\x83R\x81[\x83f'
b'\x83B\x83\x93\x83O\x82\xb3\x82\xea\x82\xbd\x93\xfa\x96{\x8c'
b'\xea\x82\xcc\x83t\x83@\x83C\x83\x8b\x82\xc5\x82\xb7\x81B'
b'</pre></body></html>')
unicode_html = shift_jis_html.decode("shift-jis")
soup = self.soup(unicode_html)
# Make sure the parse tree is correctly encoded to various
# encodings.
self.assertEqual(soup.encode("utf-8"), unicode_html.encode("utf-8"))
self.assertEqual(soup.encode("euc_jp"), unicode_html.encode("euc_jp"))
def test_real_hebrew_document(self):
# A real-world test to make sure we can convert ISO-8859-9 (a
# Hebrew encoding) to UTF-8.
hebrew_document = b'<html><head><title>Hebrew (ISO 8859-8) in Visual Directionality</title></head><body><h1>Hebrew (ISO 8859-8) in Visual Directionality</h1>\xed\xe5\xec\xf9</body></html>'
soup = self.soup(
hebrew_document, from_encoding="iso8859-8")
self.assertEqual(soup.original_encoding, 'iso8859-8')
self.assertEqual(
soup.encode('utf-8'),
hebrew_document.decode("iso8859-8").encode("utf-8"))
def test_meta_tag_reflects_current_encoding(self):
# Here's the <meta> tag saying that a document is
# encoded in Shift-JIS.
meta_tag = ('<meta content="text/html; charset=x-sjis" '
'http-equiv="Content-type"/>')
# Here's a document incorporating that meta tag.
shift_jis_html = (
'<html><head>\n%s\n'
'<meta http-equiv="Content-language" content="ja"/>'
'</head><body>Shift-JIS markup goes here.') % meta_tag
soup = self.soup(shift_jis_html)
# Parse the document, and the charset is seemingly unaffected.
parsed_meta = soup.find('meta', {'http-equiv': 'Content-type'})
content = parsed_meta['content']
self.assertEqual('text/html; charset=x-sjis', content)
# But that value is actually a ContentMetaAttributeValue object.
self.assertTrue(isinstance(content, ContentMetaAttributeValue))
# And it will take on a value that reflects its current
# encoding.
self.assertEqual('text/html; charset=utf8', content.encode("utf8"))
# For the rest of the story, see TestSubstitutions in
# test_tree.py.
def test_html5_style_meta_tag_reflects_current_encoding(self):
# Here's the <meta> tag saying that a document is
# encoded in Shift-JIS.
meta_tag = ('<meta id="encoding" charset="x-sjis" />')
# Here's a document incorporating that meta tag.
shift_jis_html = (
'<html><head>\n%s\n'
'<meta http-equiv="Content-language" content="ja"/>'
'</head><body>Shift-JIS markup goes here.') % meta_tag
soup = self.soup(shift_jis_html)
# Parse the document, and the charset is seemingly unaffected.
parsed_meta = soup.find('meta', id="encoding")
charset = parsed_meta['charset']
self.assertEqual('x-sjis', charset)
# But that value is actually a CharsetMetaAttributeValue object.
self.assertTrue(isinstance(charset, CharsetMetaAttributeValue))
# And it will take on a value that reflects its current
# encoding.
self.assertEqual('utf8', charset.encode("utf8"))
def test_tag_with_no_attributes_can_have_attributes_added(self):
data = self.soup("<a>text</a>")
data.a['foo'] = 'bar'
self.assertEqual('<a foo="bar">text</a>', data.a.decode())
class XMLTreeBuilderSmokeTest(object):
def test_docstring_generated(self):
soup = self.soup("<root/>")
self.assertEqual(
soup.encode(), b'<?xml version="1.0" encoding="utf-8"?>\n<root/>')
def test_real_xhtml_document(self):
"""A real XHTML document should come out *exactly* the same as it went in."""
markup = b"""<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Hello.</title></head>
<body>Goodbye.</body>
</html>"""
soup = self.soup(markup)
self.assertEqual(
soup.encode("utf-8"), markup)
def test_formatter_processes_script_tag_for_xml_documents(self):
doc = """
<script type="text/javascript">
</script>
"""
soup = BeautifulSoup(doc, "xml")
# lxml would have stripped this while parsing, but we can add
# it later.
soup.script.string = 'console.log("< < hey > > ");'
encoded = soup.encode()
self.assertTrue(b"&lt; &lt; hey &gt; &gt;" in encoded)
def test_can_parse_unicode_document(self):
markup = u'<?xml version="1.0" encoding="euc-jp"><root>Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!</root>'
soup = self.soup(markup)
self.assertEqual(u'Sacr\xe9 bleu!', soup.root.string)
def test_popping_namespaced_tag(self):
markup = '<rss xmlns:dc="foo"><dc:creator>b</dc:creator><dc:date>2012-07-02T20:33:42Z</dc:date><dc:rights>c</dc:rights><image>d</image></rss>'
soup = self.soup(markup)
self.assertEqual(
unicode(soup.rss), markup)
def test_docstring_includes_correct_encoding(self):
soup = self.soup("<root/>")
self.assertEqual(
soup.encode("latin1"),
b'<?xml version="1.0" encoding="latin1"?>\n<root/>')
def test_large_xml_document(self):
"""A large XML document should come out the same as it went in."""
markup = (b'<?xml version="1.0" encoding="utf-8"?>\n<root>'
+ b'0' * (2**12)
+ b'</root>')
soup = self.soup(markup)
self.assertEqual(soup.encode("utf-8"), markup)
def test_tags_are_empty_element_if_and_only_if_they_are_empty(self):
self.assertSoupEquals("<p>", "<p/>")
self.assertSoupEquals("<p>foo</p>")
def test_namespaces_are_preserved(self):
markup = '<root xmlns:a="http://example.com/" xmlns:b="http://example.net/"><a:foo>This tag is in the a namespace</a:foo><b:foo>This tag is in the b namespace</b:foo></root>'
soup = self.soup(markup)
root = soup.root
self.assertEqual("http://example.com/", root['xmlns:a'])
self.assertEqual("http://example.net/", root['xmlns:b'])
def test_closing_namespaced_tag(self):
markup = '<p xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>20010504</dc:date></p>'
soup = self.soup(markup)
self.assertEqual(unicode(soup.p), markup)
def test_namespaced_attributes(self):
markup = '<foo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><bar xsi:schemaLocation="http://www.example.com"/></foo>'
soup = self.soup(markup)
self.assertEqual(unicode(soup.foo), markup)
def test_namespaced_attributes_xml_namespace(self):
markup = '<foo xml:lang="fr">bar</foo>'
soup = self.soup(markup)
self.assertEqual(unicode(soup.foo), markup)
class HTML5TreeBuilderSmokeTest(HTMLTreeBuilderSmokeTest):
"""Smoke test for a tree builder that supports HTML5."""
def test_real_xhtml_document(self):
# Since XHTML is not HTML5, HTML5 parsers are not tested to handle
# XHTML documents in any particular way.
pass
def test_html_tags_have_namespace(self):
markup = "<a>"
soup = self.soup(markup)
self.assertEqual("http://www.w3.org/1999/xhtml", soup.a.namespace)
def test_svg_tags_have_namespace(self):
markup = '<svg><circle/></svg>'
soup = self.soup(markup)
namespace = "http://www.w3.org/2000/svg"
self.assertEqual(namespace, soup.svg.namespace)
self.assertEqual(namespace, soup.circle.namespace)
def test_mathml_tags_have_namespace(self):
markup = '<math><msqrt>5</msqrt></math>'
soup = self.soup(markup)
namespace = 'http://www.w3.org/1998/Math/MathML'
self.assertEqual(namespace, soup.math.namespace)
self.assertEqual(namespace, soup.msqrt.namespace)
def test_xml_declaration_becomes_comment(self):
markup = '<?xml version="1.0" encoding="utf-8"?><html></html>'
soup = self.soup(markup)
self.assertTrue(isinstance(soup.contents[0], Comment))
self.assertEqual(soup.contents[0], '?xml version="1.0" encoding="utf-8"?')
self.assertEqual("html", soup.contents[0].next_element.name)
def skipIf(condition, reason):
def nothing(test, *args, **kwargs):
return None
def decorator(test_item):
if condition:
return nothing
else:
return test_item
return decorator

View File

@@ -0,0 +1 @@
"The beautifulsoup tests."

View File

@@ -0,0 +1,141 @@
"""Tests of the builder registry."""
import unittest
from bs4 import BeautifulSoup
from bs4.builder import (
builder_registry as registry,
HTMLParserTreeBuilder,
TreeBuilderRegistry,
)
try:
from bs4.builder import HTML5TreeBuilder
HTML5LIB_PRESENT = True
except ImportError:
HTML5LIB_PRESENT = False
try:
from bs4.builder import (
LXMLTreeBuilderForXML,
LXMLTreeBuilder,
)
LXML_PRESENT = True
except ImportError:
LXML_PRESENT = False
class BuiltInRegistryTest(unittest.TestCase):
"""Test the built-in registry with the default builders registered."""
def test_combination(self):
if LXML_PRESENT:
self.assertEqual(registry.lookup('fast', 'html'),
LXMLTreeBuilder)
if LXML_PRESENT:
self.assertEqual(registry.lookup('permissive', 'xml'),
LXMLTreeBuilderForXML)
self.assertEqual(registry.lookup('strict', 'html'),
HTMLParserTreeBuilder)
if HTML5LIB_PRESENT:
self.assertEqual(registry.lookup('html5lib', 'html'),
HTML5TreeBuilder)
def test_lookup_by_markup_type(self):
if LXML_PRESENT:
self.assertEqual(registry.lookup('html'), LXMLTreeBuilder)
self.assertEqual(registry.lookup('xml'), LXMLTreeBuilderForXML)
else:
self.assertEqual(registry.lookup('xml'), None)
if HTML5LIB_PRESENT:
self.assertEqual(registry.lookup('html'), HTML5TreeBuilder)
else:
self.assertEqual(registry.lookup('html'), HTMLParserTreeBuilder)
def test_named_library(self):
if LXML_PRESENT:
self.assertEqual(registry.lookup('lxml', 'xml'),
LXMLTreeBuilderForXML)
self.assertEqual(registry.lookup('lxml', 'html'),
LXMLTreeBuilder)
if HTML5LIB_PRESENT:
self.assertEqual(registry.lookup('html5lib'),
HTML5TreeBuilder)
self.assertEqual(registry.lookup('html.parser'),
HTMLParserTreeBuilder)
def test_beautifulsoup_constructor_does_lookup(self):
# You can pass in a string.
BeautifulSoup("", features="html")
# Or a list of strings.
BeautifulSoup("", features=["html", "fast"])
# You'll get an exception if BS can't find an appropriate
# builder.
self.assertRaises(ValueError, BeautifulSoup,
"", features="no-such-feature")
class RegistryTest(unittest.TestCase):
"""Test the TreeBuilderRegistry class in general."""
def setUp(self):
self.registry = TreeBuilderRegistry()
def builder_for_features(self, *feature_list):
cls = type('Builder_' + '_'.join(feature_list),
(object,), {'features' : feature_list})
self.registry.register(cls)
return cls
def test_register_with_no_features(self):
builder = self.builder_for_features()
# Since the builder advertises no features, you can't find it
# by looking up features.
self.assertEqual(self.registry.lookup('foo'), None)
# But you can find it by doing a lookup with no features, if
# this happens to be the only registered builder.
self.assertEqual(self.registry.lookup(), builder)
def test_register_with_features_makes_lookup_succeed(self):
builder = self.builder_for_features('foo', 'bar')
self.assertEqual(self.registry.lookup('foo'), builder)
self.assertEqual(self.registry.lookup('bar'), builder)
def test_lookup_fails_when_no_builder_implements_feature(self):
builder = self.builder_for_features('foo', 'bar')
self.assertEqual(self.registry.lookup('baz'), None)
def test_lookup_gets_most_recent_registration_when_no_feature_specified(self):
builder1 = self.builder_for_features('foo')
builder2 = self.builder_for_features('bar')
self.assertEqual(self.registry.lookup(), builder2)
def test_lookup_fails_when_no_tree_builders_registered(self):
self.assertEqual(self.registry.lookup(), None)
def test_lookup_gets_most_recent_builder_supporting_all_features(self):
has_one = self.builder_for_features('foo')
has_the_other = self.builder_for_features('bar')
has_both_early = self.builder_for_features('foo', 'bar', 'baz')
has_both_late = self.builder_for_features('foo', 'bar', 'quux')
lacks_one = self.builder_for_features('bar')
has_the_other = self.builder_for_features('foo')
# There are two builders featuring 'foo' and 'bar', but
# the one that also features 'quux' was registered later.
self.assertEqual(self.registry.lookup('foo', 'bar'),
has_both_late)
# There is only one builder featuring 'foo', 'bar', and 'baz'.
self.assertEqual(self.registry.lookup('foo', 'bar', 'baz'),
has_both_early)
def test_lookup_fails_when_cannot_reconcile_requested_features(self):
builder1 = self.builder_for_features('foo', 'bar')
builder2 = self.builder_for_features('foo', 'baz')
self.assertEqual(self.registry.lookup('bar', 'baz'), None)

View File

@@ -0,0 +1,36 @@
"Test harness for doctests."
# pylint: disable-msg=E0611,W0142
__metaclass__ = type
__all__ = [
'additional_tests',
]
import atexit
import doctest
import os
#from pkg_resources import (
# resource_filename, resource_exists, resource_listdir, cleanup_resources)
import unittest
DOCTEST_FLAGS = (
doctest.ELLIPSIS |
doctest.NORMALIZE_WHITESPACE |
doctest.REPORT_NDIFF)
# def additional_tests():
# "Run the doc tests (README.txt and docs/*, if any exist)"
# doctest_files = [
# os.path.abspath(resource_filename('bs4', 'README.txt'))]
# if resource_exists('bs4', 'docs'):
# for name in resource_listdir('bs4', 'docs'):
# if name.endswith('.txt'):
# doctest_files.append(
# os.path.abspath(
# resource_filename('bs4', 'docs/%s' % name)))
# kwargs = dict(module_relative=False, optionflags=DOCTEST_FLAGS)
# atexit.register(cleanup_resources)
# return unittest.TestSuite((
# doctest.DocFileSuite(*doctest_files, **kwargs)))

View File

@@ -0,0 +1,85 @@
"""Tests to ensure that the html5lib tree builder generates good trees."""
import warnings
try:
from bs4.builder import HTML5TreeBuilder
HTML5LIB_PRESENT = True
except ImportError, e:
HTML5LIB_PRESENT = False
from bs4.element import SoupStrainer
from bs4.testing import (
HTML5TreeBuilderSmokeTest,
SoupTest,
skipIf,
)
@skipIf(
not HTML5LIB_PRESENT,
"html5lib seems not to be present, not testing its tree builder.")
class HTML5LibBuilderSmokeTest(SoupTest, HTML5TreeBuilderSmokeTest):
"""See ``HTML5TreeBuilderSmokeTest``."""
@property
def default_builder(self):
return HTML5TreeBuilder()
def test_soupstrainer(self):
# The html5lib tree builder does not support SoupStrainers.
strainer = SoupStrainer("b")
markup = "<p>A <b>bold</b> statement.</p>"
with warnings.catch_warnings(record=True) as w:
soup = self.soup(markup, parse_only=strainer)
self.assertEqual(
soup.decode(), self.document_for(markup))
self.assertTrue(
"the html5lib tree builder doesn't support parse_only" in
str(w[0].message))
def test_correctly_nested_tables(self):
"""html5lib inserts <tbody> tags where other parsers don't."""
markup = ('<table id="1">'
'<tr>'
"<td>Here's another table:"
'<table id="2">'
'<tr><td>foo</td></tr>'
'</table></td>')
self.assertSoupEquals(
markup,
'<table id="1"><tbody><tr><td>Here\'s another table:'
'<table id="2"><tbody><tr><td>foo</td></tr></tbody></table>'
'</td></tr></tbody></table>')
self.assertSoupEquals(
"<table><thead><tr><td>Foo</td></tr></thead>"
"<tbody><tr><td>Bar</td></tr></tbody>"
"<tfoot><tr><td>Baz</td></tr></tfoot></table>")
def test_xml_declaration_followed_by_doctype(self):
markup = '''<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>foo</p>
</body>
</html>'''
soup = self.soup(markup)
# Verify that we can reach the <p> tag; this means the tree is connected.
self.assertEqual(b"<p>foo</p>", soup.p.encode())
def test_reparented_markup(self):
markup = '<p><em>foo</p>\n<p>bar<a></a></em></p>'
soup = self.soup(markup)
self.assertEqual(u"<body><p><em>foo</em></p><em>\n</em><p><em>bar<a></a></em></p></body>", soup.body.decode())
self.assertEqual(2, len(soup.find_all('p')))
def test_reparented_markup_ends_with_whitespace(self):
markup = '<p><em>foo</p>\n<p>bar<a></a></em></p>\n'
soup = self.soup(markup)
self.assertEqual(u"<body><p><em>foo</em></p><em>\n</em><p><em>bar<a></a></em></p>\n</body>", soup.body.decode())
self.assertEqual(2, len(soup.find_all('p')))

View File

@@ -0,0 +1,19 @@
"""Tests to ensure that the html.parser tree builder generates good
trees."""
from bs4.testing import SoupTest, HTMLTreeBuilderSmokeTest
from bs4.builder import HTMLParserTreeBuilder
class HTMLParserTreeBuilderSmokeTest(SoupTest, HTMLTreeBuilderSmokeTest):
@property
def default_builder(self):
return HTMLParserTreeBuilder()
def test_namespaced_system_doctype(self):
# html.parser can't handle namespaced doctypes, so skip this one.
pass
def test_namespaced_public_doctype(self):
# html.parser can't handle namespaced doctypes, so skip this one.
pass

View File

@@ -0,0 +1,91 @@
"""Tests to ensure that the lxml tree builder generates good trees."""
import re
import warnings
try:
import lxml.etree
LXML_PRESENT = True
LXML_VERSION = lxml.etree.LXML_VERSION
except ImportError, e:
LXML_PRESENT = False
LXML_VERSION = (0,)
if LXML_PRESENT:
from bs4.builder import LXMLTreeBuilder, LXMLTreeBuilderForXML
from bs4 import (
BeautifulSoup,
BeautifulStoneSoup,
)
from bs4.element import Comment, Doctype, SoupStrainer
from bs4.testing import skipIf
from bs4.tests import test_htmlparser
from bs4.testing import (
HTMLTreeBuilderSmokeTest,
XMLTreeBuilderSmokeTest,
SoupTest,
skipIf,
)
@skipIf(
not LXML_PRESENT,
"lxml seems not to be present, not testing its tree builder.")
class LXMLTreeBuilderSmokeTest(SoupTest, HTMLTreeBuilderSmokeTest):
"""See ``HTMLTreeBuilderSmokeTest``."""
@property
def default_builder(self):
return LXMLTreeBuilder()
def test_out_of_range_entity(self):
self.assertSoupEquals(
"<p>foo&#10000000000000;bar</p>", "<p>foobar</p>")
self.assertSoupEquals(
"<p>foo&#x10000000000000;bar</p>", "<p>foobar</p>")
self.assertSoupEquals(
"<p>foo&#1000000000;bar</p>", "<p>foobar</p>")
# In lxml < 2.3.5, an empty doctype causes a segfault. Skip this
# test if an old version of lxml is installed.
@skipIf(
not LXML_PRESENT or LXML_VERSION < (2,3,5,0),
"Skipping doctype test for old version of lxml to avoid segfault.")
def test_empty_doctype(self):
soup = self.soup("<!DOCTYPE>")
doctype = soup.contents[0]
self.assertEqual("", doctype.strip())
def test_beautifulstonesoup_is_xml_parser(self):
# Make sure that the deprecated BSS class uses an xml builder
# if one is installed.
with warnings.catch_warnings(record=True) as w:
soup = BeautifulStoneSoup("<b />")
self.assertEqual(u"<b/>", unicode(soup.b))
self.assertTrue("BeautifulStoneSoup class is deprecated" in str(w[0].message))
def test_real_xhtml_document(self):
"""lxml strips the XML definition from an XHTML doc, which is fine."""
markup = b"""<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Hello.</title></head>
<body>Goodbye.</body>
</html>"""
soup = self.soup(markup)
self.assertEqual(
soup.encode("utf-8").replace(b"\n", b''),
markup.replace(b'\n', b'').replace(
b'<?xml version="1.0" encoding="utf-8"?>', b''))
@skipIf(
not LXML_PRESENT,
"lxml seems not to be present, not testing its XML tree builder.")
class LXMLXMLTreeBuilderSmokeTest(SoupTest, XMLTreeBuilderSmokeTest):
"""See ``HTMLTreeBuilderSmokeTest``."""
@property
def default_builder(self):
return LXMLTreeBuilderForXML()

View File

@@ -0,0 +1,434 @@
# -*- coding: utf-8 -*-
"""Tests of Beautiful Soup as a whole."""
import logging
import unittest
import sys
import tempfile
from bs4 import (
BeautifulSoup,
BeautifulStoneSoup,
)
from bs4.element import (
CharsetMetaAttributeValue,
ContentMetaAttributeValue,
SoupStrainer,
NamespacedAttribute,
)
import bs4.dammit
from bs4.dammit import (
EntitySubstitution,
UnicodeDammit,
)
from bs4.testing import (
SoupTest,
skipIf,
)
import warnings
try:
from bs4.builder import LXMLTreeBuilder, LXMLTreeBuilderForXML
LXML_PRESENT = True
except ImportError, e:
LXML_PRESENT = False
PYTHON_2_PRE_2_7 = (sys.version_info < (2,7))
PYTHON_3_PRE_3_2 = (sys.version_info[0] == 3 and sys.version_info < (3,2))
class TestConstructor(SoupTest):
def test_short_unicode_input(self):
data = u"<h1>éé</h1>"
soup = self.soup(data)
self.assertEqual(u"éé", soup.h1.string)
def test_embedded_null(self):
data = u"<h1>foo\0bar</h1>"
soup = self.soup(data)
self.assertEqual(u"foo\0bar", soup.h1.string)
class TestDeprecatedConstructorArguments(SoupTest):
def test_parseOnlyThese_renamed_to_parse_only(self):
with warnings.catch_warnings(record=True) as w:
soup = self.soup("<a><b></b></a>", parseOnlyThese=SoupStrainer("b"))
msg = str(w[0].message)
self.assertTrue("parseOnlyThese" in msg)
self.assertTrue("parse_only" in msg)
self.assertEqual(b"<b></b>", soup.encode())
def test_fromEncoding_renamed_to_from_encoding(self):
with warnings.catch_warnings(record=True) as w:
utf8 = b"\xc3\xa9"
soup = self.soup(utf8, fromEncoding="utf8")
msg = str(w[0].message)
self.assertTrue("fromEncoding" in msg)
self.assertTrue("from_encoding" in msg)
self.assertEqual("utf8", soup.original_encoding)
def test_unrecognized_keyword_argument(self):
self.assertRaises(
TypeError, self.soup, "<a>", no_such_argument=True)
class TestWarnings(SoupTest):
def test_disk_file_warning(self):
filehandle = tempfile.NamedTemporaryFile()
filename = filehandle.name
try:
with warnings.catch_warnings(record=True) as w:
soup = self.soup(filename)
msg = str(w[0].message)
self.assertTrue("looks like a filename" in msg)
finally:
filehandle.close()
# The file no longer exists, so Beautiful Soup will no longer issue the warning.
with warnings.catch_warnings(record=True) as w:
soup = self.soup(filename)
self.assertEqual(0, len(w))
def test_url_warning(self):
with warnings.catch_warnings(record=True) as w:
soup = self.soup("http://www.crummy.com/")
msg = str(w[0].message)
self.assertTrue("looks like a URL" in msg)
with warnings.catch_warnings(record=True) as w:
soup = self.soup("http://www.crummy.com/ is great")
self.assertEqual(0, len(w))
class TestSelectiveParsing(SoupTest):
def test_parse_with_soupstrainer(self):
markup = "No<b>Yes</b><a>No<b>Yes <c>Yes</c></b>"
strainer = SoupStrainer("b")
soup = self.soup(markup, parse_only=strainer)
self.assertEqual(soup.encode(), b"<b>Yes</b><b>Yes <c>Yes</c></b>")
class TestEntitySubstitution(unittest.TestCase):
"""Standalone tests of the EntitySubstitution class."""
def setUp(self):
self.sub = EntitySubstitution
def test_simple_html_substitution(self):
# Unicode characters corresponding to named HTML entites
# are substituted, and no others.
s = u"foo\u2200\N{SNOWMAN}\u00f5bar"
self.assertEqual(self.sub.substitute_html(s),
u"foo&forall;\N{SNOWMAN}&otilde;bar")
def test_smart_quote_substitution(self):
# MS smart quotes are a common source of frustration, so we
# give them a special test.
quotes = b"\x91\x92foo\x93\x94"
dammit = UnicodeDammit(quotes)
self.assertEqual(self.sub.substitute_html(dammit.markup),
"&lsquo;&rsquo;foo&ldquo;&rdquo;")
def test_xml_converstion_includes_no_quotes_if_make_quoted_attribute_is_false(self):
s = 'Welcome to "my bar"'
self.assertEqual(self.sub.substitute_xml(s, False), s)
def test_xml_attribute_quoting_normally_uses_double_quotes(self):
self.assertEqual(self.sub.substitute_xml("Welcome", True),
'"Welcome"')
self.assertEqual(self.sub.substitute_xml("Bob's Bar", True),
'"Bob\'s Bar"')
def test_xml_attribute_quoting_uses_single_quotes_when_value_contains_double_quotes(self):
s = 'Welcome to "my bar"'
self.assertEqual(self.sub.substitute_xml(s, True),
"'Welcome to \"my bar\"'")
def test_xml_attribute_quoting_escapes_single_quotes_when_value_contains_both_single_and_double_quotes(self):
s = 'Welcome to "Bob\'s Bar"'
self.assertEqual(
self.sub.substitute_xml(s, True),
'"Welcome to &quot;Bob\'s Bar&quot;"')
def test_xml_quotes_arent_escaped_when_value_is_not_being_quoted(self):
quoted = 'Welcome to "Bob\'s Bar"'
self.assertEqual(self.sub.substitute_xml(quoted), quoted)
def test_xml_quoting_handles_angle_brackets(self):
self.assertEqual(
self.sub.substitute_xml("foo<bar>"),
"foo&lt;bar&gt;")
def test_xml_quoting_handles_ampersands(self):
self.assertEqual(self.sub.substitute_xml("AT&T"), "AT&amp;T")
def test_xml_quoting_including_ampersands_when_they_are_part_of_an_entity(self):
self.assertEqual(
self.sub.substitute_xml("&Aacute;T&T"),
"&amp;Aacute;T&amp;T")
def test_xml_quoting_ignoring_ampersands_when_they_are_part_of_an_entity(self):
self.assertEqual(
self.sub.substitute_xml_containing_entities("&Aacute;T&T"),
"&Aacute;T&amp;T")
def test_quotes_not_html_substituted(self):
"""There's no need to do this except inside attribute values."""
text = 'Bob\'s "bar"'
self.assertEqual(self.sub.substitute_html(text), text)
class TestEncodingConversion(SoupTest):
# Test Beautiful Soup's ability to decode and encode from various
# encodings.
def setUp(self):
super(TestEncodingConversion, self).setUp()
self.unicode_data = u'<html><head><meta charset="utf-8"/></head><body><foo>Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!</foo></body></html>'
self.utf8_data = self.unicode_data.encode("utf-8")
# Just so you know what it looks like.
self.assertEqual(
self.utf8_data,
b'<html><head><meta charset="utf-8"/></head><body><foo>Sacr\xc3\xa9 bleu!</foo></body></html>')
def test_ascii_in_unicode_out(self):
# ASCII input is converted to Unicode. The original_encoding
# attribute is set to 'utf-8', a superset of ASCII.
chardet = bs4.dammit.chardet_dammit
logging.disable(logging.WARNING)
try:
def noop(str):
return None
# Disable chardet, which will realize that the ASCII is ASCII.
bs4.dammit.chardet_dammit = noop
ascii = b"<foo>a</foo>"
soup_from_ascii = self.soup(ascii)
unicode_output = soup_from_ascii.decode()
self.assertTrue(isinstance(unicode_output, unicode))
self.assertEqual(unicode_output, self.document_for(ascii.decode()))
self.assertEqual(soup_from_ascii.original_encoding.lower(), "utf-8")
finally:
logging.disable(logging.NOTSET)
bs4.dammit.chardet_dammit = chardet
def test_unicode_in_unicode_out(self):
# Unicode input is left alone. The original_encoding attribute
# is not set.
soup_from_unicode = self.soup(self.unicode_data)
self.assertEqual(soup_from_unicode.decode(), self.unicode_data)
self.assertEqual(soup_from_unicode.foo.string, u'Sacr\xe9 bleu!')
self.assertEqual(soup_from_unicode.original_encoding, None)
def test_utf8_in_unicode_out(self):
# UTF-8 input is converted to Unicode. The original_encoding
# attribute is set.
soup_from_utf8 = self.soup(self.utf8_data)
self.assertEqual(soup_from_utf8.decode(), self.unicode_data)
self.assertEqual(soup_from_utf8.foo.string, u'Sacr\xe9 bleu!')
def test_utf8_out(self):
# The internal data structures can be encoded as UTF-8.
soup_from_unicode = self.soup(self.unicode_data)
self.assertEqual(soup_from_unicode.encode('utf-8'), self.utf8_data)
@skipIf(
PYTHON_2_PRE_2_7 or PYTHON_3_PRE_3_2,
"Bad HTMLParser detected; skipping test of non-ASCII characters in attribute name.")
def test_attribute_name_containing_unicode_characters(self):
markup = u'<div><a \N{SNOWMAN}="snowman"></a></div>'
self.assertEqual(self.soup(markup).div.encode("utf8"), markup.encode("utf8"))
class TestUnicodeDammit(unittest.TestCase):
"""Standalone tests of UnicodeDammit."""
def test_unicode_input(self):
markup = u"I'm already Unicode! \N{SNOWMAN}"
dammit = UnicodeDammit(markup)
self.assertEqual(dammit.unicode_markup, markup)
def test_smart_quotes_to_unicode(self):
markup = b"<foo>\x91\x92\x93\x94</foo>"
dammit = UnicodeDammit(markup)
self.assertEqual(
dammit.unicode_markup, u"<foo>\u2018\u2019\u201c\u201d</foo>")
def test_smart_quotes_to_xml_entities(self):
markup = b"<foo>\x91\x92\x93\x94</foo>"
dammit = UnicodeDammit(markup, smart_quotes_to="xml")
self.assertEqual(
dammit.unicode_markup, "<foo>&#x2018;&#x2019;&#x201C;&#x201D;</foo>")
def test_smart_quotes_to_html_entities(self):
markup = b"<foo>\x91\x92\x93\x94</foo>"
dammit = UnicodeDammit(markup, smart_quotes_to="html")
self.assertEqual(
dammit.unicode_markup, "<foo>&lsquo;&rsquo;&ldquo;&rdquo;</foo>")
def test_smart_quotes_to_ascii(self):
markup = b"<foo>\x91\x92\x93\x94</foo>"
dammit = UnicodeDammit(markup, smart_quotes_to="ascii")
self.assertEqual(
dammit.unicode_markup, """<foo>''""</foo>""")
def test_detect_utf8(self):
utf8 = b"\xc3\xa9"
dammit = UnicodeDammit(utf8)
self.assertEqual(dammit.unicode_markup, u'\xe9')
self.assertEqual(dammit.original_encoding.lower(), 'utf-8')
def test_convert_hebrew(self):
hebrew = b"\xed\xe5\xec\xf9"
dammit = UnicodeDammit(hebrew, ["iso-8859-8"])
self.assertEqual(dammit.original_encoding.lower(), 'iso-8859-8')
self.assertEqual(dammit.unicode_markup, u'\u05dd\u05d5\u05dc\u05e9')
def test_dont_see_smart_quotes_where_there_are_none(self):
utf_8 = b"\343\202\261\343\203\274\343\202\277\343\202\244 Watch"
dammit = UnicodeDammit(utf_8)
self.assertEqual(dammit.original_encoding.lower(), 'utf-8')
self.assertEqual(dammit.unicode_markup.encode("utf-8"), utf_8)
def test_ignore_inappropriate_codecs(self):
utf8_data = u"Räksmörgås".encode("utf-8")
dammit = UnicodeDammit(utf8_data, ["iso-8859-8"])
self.assertEqual(dammit.original_encoding.lower(), 'utf-8')
def test_ignore_invalid_codecs(self):
utf8_data = u"Räksmörgås".encode("utf-8")
for bad_encoding in ['.utf8', '...', 'utF---16.!']:
dammit = UnicodeDammit(utf8_data, [bad_encoding])
self.assertEqual(dammit.original_encoding.lower(), 'utf-8')
def test_detect_html5_style_meta_tag(self):
for data in (
b'<html><meta charset="euc-jp" /></html>',
b"<html><meta charset='euc-jp' /></html>",
b"<html><meta charset=euc-jp /></html>",
b"<html><meta charset=euc-jp/></html>"):
dammit = UnicodeDammit(data, is_html=True)
self.assertEqual(
"euc-jp", dammit.original_encoding)
def test_last_ditch_entity_replacement(self):
# This is a UTF-8 document that contains bytestrings
# completely incompatible with UTF-8 (ie. encoded with some other
# encoding).
#
# Since there is no consistent encoding for the document,
# Unicode, Dammit will eventually encode the document as UTF-8
# and encode the incompatible characters as REPLACEMENT
# CHARACTER.
#
# If chardet is installed, it will detect that the document
# can be converted into ISO-8859-1 without errors. This happens
# to be the wrong encoding, but it is a consistent encoding, so the
# code we're testing here won't run.
#
# So we temporarily disable chardet if it's present.
doc = b"""\357\273\277<?xml version="1.0" encoding="UTF-8"?>
<html><b>\330\250\330\252\330\261</b>
<i>\310\322\321\220\312\321\355\344</i></html>"""
chardet = bs4.dammit.chardet_dammit
logging.disable(logging.WARNING)
try:
def noop(str):
return None
bs4.dammit.chardet_dammit = noop
dammit = UnicodeDammit(doc)
self.assertEqual(True, dammit.contains_replacement_characters)
self.assertTrue(u"\ufffd" in dammit.unicode_markup)
soup = BeautifulSoup(doc, "html.parser")
self.assertTrue(soup.contains_replacement_characters)
finally:
logging.disable(logging.NOTSET)
bs4.dammit.chardet_dammit = chardet
def test_byte_order_mark_removed(self):
# A document written in UTF-16LE will have its byte order marker stripped.
data = b'\xff\xfe<\x00a\x00>\x00\xe1\x00\xe9\x00<\x00/\x00a\x00>\x00'
dammit = UnicodeDammit(data)
self.assertEqual(u"<a>áé</a>", dammit.unicode_markup)
self.assertEqual("utf-16le", dammit.original_encoding)
def test_detwingle(self):
# Here's a UTF8 document.
utf8 = (u"\N{SNOWMAN}" * 3).encode("utf8")
# Here's a Windows-1252 document.
windows_1252 = (
u"\N{LEFT DOUBLE QUOTATION MARK}Hi, I like Windows!"
u"\N{RIGHT DOUBLE QUOTATION MARK}").encode("windows_1252")
# Through some unholy alchemy, they've been stuck together.
doc = utf8 + windows_1252 + utf8
# The document can't be turned into UTF-8:
self.assertRaises(UnicodeDecodeError, doc.decode, "utf8")
# Unicode, Dammit thinks the whole document is Windows-1252,
# and decodes it into "☃☃☃“Hi, I like Windows!”☃☃☃"
# But if we run it through fix_embedded_windows_1252, it's fixed:
fixed = UnicodeDammit.detwingle(doc)
self.assertEqual(
u"☃☃☃“Hi, I like Windows!”☃☃☃", fixed.decode("utf8"))
def test_detwingle_ignores_multibyte_characters(self):
# Each of these characters has a UTF-8 representation ending
# in \x93. \x93 is a smart quote if interpreted as
# Windows-1252. But our code knows to skip over multibyte
# UTF-8 characters, so they'll survive the process unscathed.
for tricky_unicode_char in (
u"\N{LATIN SMALL LIGATURE OE}", # 2-byte char '\xc5\x93'
u"\N{LATIN SUBSCRIPT SMALL LETTER X}", # 3-byte char '\xe2\x82\x93'
u"\xf0\x90\x90\x93", # This is a CJK character, not sure which one.
):
input = tricky_unicode_char.encode("utf8")
self.assertTrue(input.endswith(b'\x93'))
output = UnicodeDammit.detwingle(input)
self.assertEqual(output, input)
class TestNamedspacedAttribute(SoupTest):
def test_name_may_be_none(self):
a = NamespacedAttribute("xmlns", None)
self.assertEqual(a, "xmlns")
def test_attribute_is_equivalent_to_colon_separated_string(self):
a = NamespacedAttribute("a", "b")
self.assertEqual("a:b", a)
def test_attributes_are_equivalent_if_prefix_and_name_identical(self):
a = NamespacedAttribute("a", "b", "c")
b = NamespacedAttribute("a", "b", "c")
self.assertEqual(a, b)
# The actual namespace is not considered.
c = NamespacedAttribute("a", "b", None)
self.assertEqual(a, c)
# But name and prefix are important.
d = NamespacedAttribute("a", "z", "c")
self.assertNotEqual(a, d)
e = NamespacedAttribute("z", "b", "c")
self.assertNotEqual(a, e)
class TestAttributeValueWithCharsetSubstitution(unittest.TestCase):
def test_content_meta_attribute_value(self):
value = CharsetMetaAttributeValue("euc-jp")
self.assertEqual("euc-jp", value)
self.assertEqual("euc-jp", value.original_value)
self.assertEqual("utf8", value.encode("utf8"))
def test_content_meta_attribute_value(self):
value = ContentMetaAttributeValue("text/html; charset=euc-jp")
self.assertEqual("text/html; charset=euc-jp", value)
self.assertEqual("text/html; charset=euc-jp", value.original_value)
self.assertEqual("text/html; charset=utf8", value.encode("utf8"))

File diff suppressed because it is too large Load Diff

View File

@@ -77,12 +77,15 @@ class PRServer(SimpleXMLRPCServer):
"""
iter_count = 1
# With 60 iterations between syncs and a 0.5 second timeout between
# iterations, this will sync if dirty every ~30 seconds.
# 60 iterations between syncs or sync if dirty every ~30 seconds
iterations_between_sync = 60
while True:
(request, client_address) = self.requestqueue.get()
while not self.quit:
try:
(request, client_address) = self.requestqueue.get(True, 30)
except Queue.Empty:
self.table.sync_if_dirty()
continue
try:
self.finish_request(request, client_address)
self.shutdown_request(request)
@@ -93,6 +96,7 @@ class PRServer(SimpleXMLRPCServer):
self.handle_error(request, client_address)
self.shutdown_request(request)
self.table.sync()
self.table.sync_if_dirty()
def process_request(self, request, client_address):
self.requestqueue.put((request, client_address))
@@ -137,7 +141,7 @@ class PRServer(SimpleXMLRPCServer):
self.handlerthread.start()
while not self.quit:
self.handle_request()
self.handlerthread.join()
self.table.sync()
logger.info("PRServer: stopping...")
self.server_close()

2416
bitbake/lib/pyinotify.py Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -81,14 +81,6 @@ def getBuildEnvironmentController(**kwargs):
raise Exception("FIXME: Implement BEC for type %s" % str(be.betype))
def _getgitcheckoutdirectoryname(url):
""" Utility that returns the last component of a git path as directory
"""
import re
components = re.split(r'[:\.\/]', url)
return components[-2] if components[-1] == "git" else components[-1]
class BuildEnvironmentController(object):
""" BuildEnvironmentController (BEC) is the abstract class that defines the operations that MUST
or SHOULD be supported by a Build Environment. It is used to establish the framework, and must
@@ -117,19 +109,43 @@ class BuildEnvironmentController(object):
self.be = be
self.connection = None
@staticmethod
def _updateBBLayers(bblayerconf, layerlist):
conflines = open(bblayerconf, "r").readlines()
bblayerconffile = open(bblayerconf, "w")
skip = 0
for i in xrange(len(conflines)):
if skip > 0:
skip =- 1
continue
if conflines[i].startswith("# line added by toaster"):
skip = 1
else:
bblayerconffile.write(conflines[i])
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,
and the bbstate MUST be updated to "started".
"""
raise Exception("Must override in order to actually start the BB server")
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.
@@ -139,7 +155,7 @@ class BuildEnvironmentController(object):
a word of attention: by convention, the first layer for any build will be poky!
"""
raise Exception("Must override setLayers")
raise Exception("FIXME: Must override setLayers")
def getBBController(self):

View File

@@ -30,7 +30,12 @@ import subprocess
from toastermain import settings
from bbcontroller import BuildEnvironmentController, ShellCmdException, BuildSetupException, _getgitcheckoutdirectoryname
from bbcontroller import BuildEnvironmentController, ShellCmdException, BuildSetupException
import logging
logger = logging.getLogger("toaster")
from pprint import pprint, pformat
class LocalhostBEController(BuildEnvironmentController):
""" Implementation of the BuildEnvironmentController for the localhost;
@@ -49,15 +54,19 @@ class LocalhostBEController(BuildEnvironmentController):
if cwd is None:
cwd = self.be.sourcedir
#logger.debug("lbc_shellcmmd: (%s) %s" % (cwd, command))
p = subprocess.Popen(command, cwd = cwd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(out,err) = p.communicate()
p.wait()
if p.returncode:
if len(err) == 0:
err = "command: %s \n%s" % (command, out)
else:
err = "command: %s \n%s" % (command, err)
#logger.warn("localhostbecontroller: shellcmd error %s" % err)
raise ShellCmdException(err)
else:
#logger.debug("localhostbecontroller: shellcmd success")
return out
def _createdirpath(self, path):
@@ -73,29 +82,118 @@ class LocalhostBEController(BuildEnvironmentController):
assert self.pokydirname and os.path.exists(self.pokydirname)
self._createdirpath(self.be.builddir)
self._shellcmd("bash -c \"source %s/oe-init-build-env %s\"" % (self.pokydirname, self.be.builddir))
# delete the templateconf.cfg; it may come from an unsupported layer configuration
os.remove(os.path.join(self.be.builddir, "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
print("DEBUG: executing ", "bash -c \"source %s/oe-init-build-env %s && DATABASE_URL=%s source toaster start noweb && sleep 1\"" % (self.pokydirname, self.be.builddir, self.dburl))
print self._shellcmd("bash -c \"source %s/oe-init-build-env %s && DATABASE_URL=%s source toaster start noweb && sleep 1\"" % (self.pokydirname, self.be.builddir, self.dburl))
# FIXME unfortunate sleep 1 - we need to make sure that bbserver is started and the toaster ui is connected
# but since they start async without any return, we just wait a bit
print "Started server"
# 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"))
assert os.path.exists(own_bitbake) and os.path.isfile(own_bitbake)
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, "r") 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 conf/toaster-pre.conf --postread conf/toaster.conf --server-only -t xmlrpc -B 0.0.0.0:0 2>&1 >toaster_server.log && DATABASE_URL=%s BBSERVER=0.0.0.0:-1 daemon -d -i -D %s -o toaster_ui.log -- %s --observe-only -u toasterui &\"" % (self.pokydirname, self.be.builddir,
self.dburl, self.be.builddir, own_bitbake)
port = "-1"
logger.debug("localhostbecontroller: starting builder \n%s\n" % cmd)
cmdoutput = self._shellcmd(cmd)
for i in cmdoutput.split("\n"):
if i.startswith("Bitbake server address"):
port = i.split(" ")[-1]
logger.debug("localhostbecontroller: Found bitbake server port %s" % port)
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 < 10:
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_server_log = open(os.path.join(self.be.builddir, "toaster_server.log"), "r").read()
raise BuildSetupException("localhostbecontroller: Bitbake server did not start in 5 seconds, aborting (Error: '%s' '%s')" % (cmdoutput, 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():
if ":" in line:
port = line.split(":")[1].strip()
logger.debug("localhostbecontroller: Autodetected bitbake port %s", port)
break
assert self.be.sourcedir and os.path.exists(self.be.builddir)
self.be.bbaddress = "localhost"
self.be.bbport = "8200"
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
print self._shellcmd("bash -c \"source %s/oe-init-build-env %s && %s source toaster stop\"" %
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"
logger.debug("localhostbecontroller: Stopped bitbake server")
def getGitCloneDirectory(self, url, branch):
""" Utility that returns the last component of a git path as directory
"""
import re
components = re.split(r'[:\.\/]', url)
base = components[-2] if components[-1] == "git" else components[-1]
if branch != "HEAD":
return "_%s_%s.toaster_cloned" % (base, branch)
# word of attention; this is a localhost-specific issue; only on the localhost we expect to have "HEAD" releases
# which _ALWAYS_ means the current poky checkout
from os.path import dirname as DN
local_checkout_path = DN(DN(DN(DN(DN(os.path.abspath(__file__))))))
#logger.debug("localhostbecontroller: using HEAD checkout in %s" % local_checkout_path)
return local_checkout_path
def setLayers(self, bitbakes, layers):
""" a word of attention: by convention, the first layer for any build will be poky! """
@@ -104,86 +202,109 @@ class LocalhostBEController(BuildEnvironmentController):
assert len(bitbakes) == 1
# set layers in the layersource
# 1. get a list of repos, and map dirpaths for each layer
# 1. get a list of repos with branches, and map dirpaths for each layer
gitrepos = {}
gitrepos[bitbakes[0].giturl] = []
gitrepos[bitbakes[0].giturl].append( ("bitbake", bitbakes[0].dirpath, bitbakes[0].commit) )
gitrepos[(bitbakes[0].giturl, bitbakes[0].commit)] = []
gitrepos[(bitbakes[0].giturl, bitbakes[0].commit)].append( ("bitbake", bitbakes[0].dirpath) )
for layer in layers:
# we don't process local URLs
if layer.giturl.startswith("file://"):
continue
if not layer.giturl in gitrepos:
gitrepos[layer.giturl] = []
gitrepos[layer.giturl].append( (layer.name, layer.dirpath, layer.commit))
for giturl in gitrepos.keys():
commitid = gitrepos[giturl][0][2]
for e in gitrepos[giturl]:
if commitid != e[2]:
raise BuildSetupException("More than one commit per git url, unsupported configuration")
if not (layer.giturl, layer.commit) in gitrepos:
gitrepos[(layer.giturl, layer.commit)] = []
gitrepos[(layer.giturl, layer.commit)].append( (layer.name, layer.dirpath) )
logger.debug("localhostbecontroller, our git repos are %s" % pformat(gitrepos))
# 2. find checked-out git repos in the sourcedir directory that may help faster cloning
cached_layers = {}
for ldir in os.listdir(self.be.sourcedir):
fldir = os.path.join(self.be.sourcedir, ldir)
if os.path.isdir(fldir):
try:
for line in self._shellcmd("git remote -v", fldir).split("\n"):
try:
remote = line.split("\t")[1].split(" ")[0]
if remote not in cached_layers:
cached_layers[remote] = fldir
except IndexError:
pass
except ShellCmdException:
# ignore any errors in collecting git remotes
pass
layerlist = []
# 2. checkout the repositories
for giturl in gitrepos.keys():
localdirname = os.path.join(self.be.sourcedir, _getgitcheckoutdirectoryname(giturl))
print "DEBUG: giturl ", giturl ,"checking out in current directory", localdirname
# 3. checkout the repositories
for giturl, commit in gitrepos.keys():
localdirname = os.path.join(self.be.sourcedir, self.getGitCloneDirectory(giturl, commit))
logger.debug("localhostbecontroller: giturl %s:%s checking out in current directory %s" % (giturl, commit, localdirname))
# make sure our directory is a git repository
if os.path.exists(localdirname):
if not giturl in self._shellcmd("git remote -v", localdirname):
raise BuildSetupException("Existing git repository at %s, but with different remotes (not '%s'). Aborting." % (localdirname, giturl))
localremotes = self._shellcmd("git remote -v", localdirname)
if not giturl in localremotes:
raise BuildSetupException("Existing git repository at %s, but with different remotes ('%s', expected '%s'). Toaster will not continue out of fear of damaging something." % (localdirname, ", ".join(localremotes.split("\n")), giturl))
else:
self._shellcmd("git clone \"%s\" \"%s\"" % (giturl, localdirname))
# checkout the needed commit
commit = gitrepos[giturl][0][2]
if giturl in cached_layers:
logger.debug("localhostbecontroller git-copying %s to %s" % (cached_layers[giturl], localdirname))
self._shellcmd("git clone \"%s\" \"%s\"" % (cached_layers[giturl], localdirname))
self._shellcmd("git remote remove origin", localdirname)
self._shellcmd("git remote add origin \"%s\"" % giturl, localdirname)
else:
logger.debug("localhostbecontroller: cloning %s:%s in %s" % (giturl, commit, localdirname))
self._shellcmd("git clone \"%s\" --single-branch --branch \"%s\" \"%s\"" % (giturl, commit, localdirname))
# branch magic name "HEAD" will inhibit checkout
if commit != "HEAD":
print "DEBUG: checking out commit ", commit, "to", localdirname
self._shellcmd("git fetch --all && git checkout \"%s\"" % commit , localdirname)
logger.debug("localhostbecontroller: checking out commit %s to %s " % (commit, localdirname))
self._shellcmd("git fetch --all && git checkout \"%s\" && git rebase \"origin/%s\"" % (commit, commit) , localdirname)
# take the localdirname as poky dir if we can find the oe-init-build-env
if self.pokydirname is None and os.path.exists(os.path.join(localdirname, "oe-init-build-env")):
print "DEBUG: selected poky dir name", localdirname
logger.debug("localhostbecontroller: selected poky dir name %s" % localdirname)
self.pokydirname = localdirname
# make sure we have a working bitbake
if not os.path.exists(os.path.join(self.pokydirname, 'bitbake')):
logger.debug("localhostbecontroller: checking bitbake into the poky dirname %s " % self.pokydirname)
self._shellcmd("git clone -b \"%s\" \"%s\" \"%s\" " % (bitbakes[0].commit, bitbakes[0].giturl, os.path.join(self.pokydirname, 'bitbake')))
# verify our repositories
for name, dirpath, commit in gitrepos[giturl]:
for name, dirpath in gitrepos[(giturl, commit)]:
localdirpath = os.path.join(localdirname, dirpath)
logger.debug("localhostbecontroller: localdirpath expected '%s'" % localdirpath)
if not os.path.exists(localdirpath):
raise BuildSetupException("Cannot find layer git path '%s' in checked out repository '%s:%s'. Aborting." % (localdirpath, giturl, commit))
if name != "bitbake":
layerlist.append(localdirpath)
layerlist.append(localdirpath.rstrip("/"))
print "DEBUG: current layer list ", layerlist
logger.debug("localhostbecontroller: current layer list %s " % pformat(layerlist))
# 3. configure the build environment, so we have a conf/bblayers.conf
# 4. configure the build environment, so we have a conf/bblayers.conf
assert self.pokydirname is not None
self._setupBE()
# 4. update the bblayers.conf
# 5. 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)
conflines = open(bblayerconf, "r").readlines()
bblayerconffile = open(bblayerconf, "w")
for i in xrange(len(conflines)):
if conflines[i].startswith("# line added by toaster"):
i += 2
else:
bblayerconffile.write(conflines[i])
bblayerconffile.write("\n# line added by toaster build control\nBBLAYERS = \"" + " ".join(layerlist) + "\"")
bblayerconffile.close()
BuildEnvironmentController._updateBBLayers(bblayerconf, layerlist)
self.islayerset = True
return True
def readServerLogFile(self):
return open(os.path.join(self.be.builddir, "toaster_server.log"), "r").read()
def release(self):
assert self.be.sourcedir and os.path.exists(self.be.builddir)
import shutil

View File

@@ -1,9 +1,8 @@
from django.core.management.base import NoArgsCommand, CommandError
from django.db import transaction
from orm.models import LayerSource, ToasterSetting, Branch, Layer, Layer_Version
from orm.models import BitbakeVersion, Release, ReleaseDefaultLayer
from bldcontrol.bbcontroller import getBuildEnvironmentController, ShellCmdException
from bldcontrol.models import BuildRequest, BuildEnvironment
from bldcontrol.models import BuildRequest, BuildEnvironment, BRError
from orm.models import ToasterSetting
import os
def DN(path):
@@ -17,16 +16,6 @@ class Command(NoArgsCommand):
args = ""
help = "Verifies that the configured settings are valid and usable, or prompts the user to fix the settings."
def _reduce_canon_path(self, path):
components = []
for c in path.split("/"):
if c == "..":
del components[-1]
elif c == ".":
pass
else:
components.append(c)
return "/".join(components)
def _find_first_path_for_file(self, startdirectory, filename, level = 0):
if level < 0:
@@ -45,6 +34,22 @@ class Command(NoArgsCommand):
return ret
return None
def _recursive_list_directories(self, startdirectory, level = 0):
if level < 0:
return []
dirs = []
try:
for i in os.listdir(startdirectory):
j = os.path.join(startdirectory, i)
if os.path.isdir(j):
dirs.append(j)
except OSError:
pass
for j in dirs:
dirs = dirs + self._recursive_list_directories(j, level - 1)
return dirs
def _get_suggested_sourcedir(self, be):
if be.betype != BuildEnvironment.TYPE_LOCAL:
return ""
@@ -53,151 +58,140 @@ class Command(NoArgsCommand):
def _get_suggested_builddir(self, be):
if be.betype != BuildEnvironment.TYPE_LOCAL:
return ""
return DN(self._find_first_path_for_file(self.guesspath, "bblayers.conf", 3))
return DN(self._find_first_path_for_file(DN(self.guesspath), "bblayers.conf", 4))
def _import_layer_config(self, baselayerdir):
filepath = os.path.join(baselayerdir, "meta/conf/toasterconf.json")
if not os.path.exists(filepath) or not os.path.isfile(filepath):
raise Exception("Failed to find toaster config file %s ." % filepath)
import json, pprint
data = json.loads(open(filepath, "r").read())
# verify config file validity before updating settings
for i in ['bitbake', 'releases', 'defaultrelease', 'config', 'layersources']:
assert i in data
# import bitbake data
for bvi in data['bitbake']:
bvo, created = BitbakeVersion.objects.get_or_create(name=bvi['name'])
bvo.giturl = bvi['giturl']
bvo.branch = bvi['branch']
bvo.dirpath = bvi['dirpath']
bvo.save()
# set the layer sources
for lsi in data['layersources']:
assert 'sourcetype' in lsi
assert 'apiurl' in lsi
assert 'name' in lsi
assert 'branches' in lsi
if lsi['sourcetype'] == LayerSource.TYPE_LAYERINDEX or lsi['apiurl'].startswith("/"):
apiurl = lsi['apiurl']
else:
apiurl = self._reduce_canon_path(os.path.join(DN(filepath), lsi['apiurl']))
try:
ls = LayerSource.objects.get(sourcetype = lsi['sourcetype'], apiurl = apiurl)
except LayerSource.DoesNotExist:
ls = LayerSource.objects.create(
name = lsi['name'],
sourcetype = lsi['sourcetype'],
apiurl = apiurl
)
layerbranches = []
for branchname in lsi['branches']:
bo, created = Branch.objects.get_or_create(layer_source = ls, name = branchname)
layerbranches.append(bo)
if 'layers' in lsi:
for layerinfo in lsi['layers']:
lo, created = Layer.objects.get_or_create(layer_source = ls, name = layerinfo['name'])
if layerinfo['local_path'].startswith("/"):
lo.local_path = layerinfo['local_path']
else:
lo.local_path = self._reduce_canon_path(os.path.join(DN(filepath), layerinfo['local_path']))
lo.layer_index_url = layerinfo['layer_index_url']
if 'vcs_url' in layerinfo:
lo.vcs_url = layerinfo['vcs_url']
lo.save()
for branch in layerbranches:
lvo, created = Layer_Version.objects.get_or_create(layer_source = ls,
up_branch = branch,
commit = branch.name,
layer = lo)
lvo.dirpath = layerinfo['dirpath']
lvo.save()
# set releases
for ri in data['releases']:
bvo = BitbakeVersion.objects.get(name = ri['bitbake'])
assert bvo is not None
ro, created = Release.objects.get_or_create(name = ri['name'], bitbake_version = bvo)
ro.description = ri['description']
ro.branch = ri['branch']
ro.save()
for dli in ri['defaultlayers']:
lsi, layername = dli.split(":")
layer, created = Layer.objects.get_or_create(
layer_source = LayerSource.objects.get(name = lsi),
name = layername
)
ReleaseDefaultLayer.objects.get_or_create( release = ro, layer = layer)
# set default release
if ToasterSetting.objects.filter(name = "DEFAULT_RELEASE").count() > 0:
ToasterSetting.objects.filter(name = "DEFAULT_RELEASE").update(value = data['defaultrelease'])
else:
ToasterSetting.objects.create(name = "DEFAULT_RELEASE", value = data['defaultrelease'])
# set default config variables
for configname in data['config']:
if ToasterSetting.objects.filter(name = "DEFCONF_" + configname).count() > 0:
ToasterSetting.objects.filter(name = "DEFCONF_" + configname).update(value = data['config'][configname])
else:
ToasterSetting.objects.create(name = "DEFCONF_" + configname, value = data['config'][configname])
def handle(self, **options):
# verify that we have a settings for downloading artifacts
while ToasterSetting.objects.filter(name="ARTIFACTS_STORAGE_DIR").count() == 0:
guessedpath = os.getcwd() + "/toaster_build_artifacts/"
print("Toaster needs to know in which directory it can download build log files and other artifacts.\n Toaster suggests \"%s\"." % guessedpath)
artifacts_storage_dir = raw_input(" Press Enter to select \"%s\" or type the full path to a different directory: " % guessedpath)
if len(artifacts_storage_dir) == 0:
artifacts_storage_dir = guessedpath
if len(artifacts_storage_dir) > 0 and artifacts_storage_dir.startswith("/"):
try:
os.makedirs(artifacts_storage_dir)
except OSError as ose:
if "File exists" in str(ose):
pass
else:
raise ose
ToasterSetting.objects.create(name="ARTIFACTS_STORAGE_DIR", value=artifacts_storage_dir)
self.guesspath = DN(DN(DN(DN(DN(DN(DN(__file__)))))))
# refuse to start if we have no build environments
while BuildEnvironment.objects.count() == 0:
print(" !! No build environments found. Toaster needs at least one build environment in order to be able to run builds.\n" +
"You can manually define build environments in the database table bldcontrol_buildenvironment.\n" +
"Or Toaster can define a simple localhost-based build environment for you.")
i = raw_input(" -- Do you want to create a basic localhost build environment ? (Y/n) ");
if not len(i) or i.startswith("y") or i.startswith("Y"):
BuildEnvironment.objects.create(pk = 1, betype = 0)
else:
raise Exception("Toaster cannot start without build environments. Aborting.")
# we make sure we have builddir and sourcedir for all defined build envionments
for be in BuildEnvironment.objects.all():
be.needs_import = False
def _verify_be():
is_changed = False
print("Verifying the Build Environment type %s id %d." % (be.get_betype_display(), be.pk))
if len(be.sourcedir) == 0:
print("Verifying the Build Environment. If the local Build Environment is not properly configured, you will be asked to configure it.")
def _update_sourcedir():
suggesteddir = self._get_suggested_sourcedir(be)
be.sourcedir = raw_input(" -- Layer sources checkout directory may not be empty [guessed \"%s\"]:" % suggesteddir)
if len(suggesteddir) > 0:
be.sourcedir = raw_input("Toaster needs to know in which directory it should check out the layers that will be needed for your builds.\n Toaster suggests \"%s\". If you select this directory, a layer like \"meta-intel\" will end up in \"%s/meta-intel\".\n Press Enter to select \"%s\" or type the full path to a different directory (must be a parent of current checkout directory): " % (suggesteddir, suggesteddir, suggesteddir))
else:
be.sourcedir = raw_input("Toaster needs to know in which directory it should check out the layers that will be needed for your builds. Type the full path to the directory (for example: \"%s\": " % os.environ.get('HOME', '/tmp/'))
if len(be.sourcedir) == 0 and len(suggesteddir) > 0:
be.sourcedir = suggesteddir
is_changed = True
return True
if len(be.sourcedir) == 0:
print "\n -- Validation: The checkout directory must be set."
is_changed = _update_sourcedir()
if not be.sourcedir.startswith("/"):
be.sourcedir = raw_input(" -- Layer sources checkout directory must be an absolute path:")
is_changed = True
print "\n -- Validation: The checkout directory must be set to an absolute path."
is_changed = _update_sourcedir()
if len(be.builddir) == 0:
if not be.sourcedir in DN(__file__):
print "\n -- Validation: The checkout directory must be a parent of the current checkout."
is_changed = _update_sourcedir()
if is_changed:
if be.betype == BuildEnvironment.TYPE_LOCAL:
be.needs_import = True
return True
def _update_builddir():
suggesteddir = self._get_suggested_builddir(be)
be.builddir = raw_input(" -- Build directory may not be empty [guessed \"%s\"]:" % suggesteddir)
if len(suggesteddir) > 0:
be.builddir = raw_input("Toaster needs to know where it your build directory is located.\n The build directory is where all the artifacts created by your builds will be stored. Toaster suggests \"%s\".\n Press Enter to select \"%s\" or type the full path to a different directory: " % (suggesteddir, suggesteddir))
else:
be.builddir = raw_input("Toaster needs to know where is your build directory.\n The build directory is where all the artifacts created by your builds will be stored. Type the full path to the directory (for example: \" %s/build\")" % os.environ.get('HOME','/tmp/'))
if len(be.builddir) == 0 and len(suggesteddir) > 0:
be.builddir = suggesteddir
is_changed = True
return True
if len(be.builddir) == 0:
print "\n -- Validation: The build directory must be set."
is_changed = _update_builddir()
if not be.builddir.startswith("/"):
be.builddir = raw_input(" -- Build directory must be an absolute path:")
is_changed = True
print "\n -- Validation: The build directory must to be set to an absolute path."
is_changed = _update_builddir()
if is_changed:
print "Build configuration saved"
be.save()
return True
if be.needs_import:
print "\nToaster can use a SINGLE predefined configuration file to set up default project settings and layer information sources.\n"
# find configuration files
config_files = []
for dirname in self._recursive_list_directories(be.sourcedir,2):
if os.path.exists(os.path.join(dirname, ".templateconf")):
import subprocess
conffilepath, error = subprocess.Popen('bash -c ". '+os.path.join(dirname, ".templateconf")+'; echo \"\$TEMPLATECONF\""', shell=True, stdout=subprocess.PIPE).communicate()
conffilepath = os.path.join(conffilepath.strip(), "toasterconf.json")
candidatefilepath = os.path.join(dirname, conffilepath)
if os.path.exists(candidatefilepath):
config_files.append(candidatefilepath)
if len(config_files) > 0:
print " Toaster will list now the configuration files that it found. Select the number to use the desired configuration file."
for cf in config_files:
print " [%d] - %s" % (config_files.index(cf) + 1, cf)
print "\n [0] - Exit without importing any file"
try:
i = raw_input("\n Enter your option: ")
if len(i) and (int(i) - 1 >= 0 and int(i) - 1 < len(config_files)):
print "Importing file: %s" % config_files[int(i)-1]
from loadconf import Command as LoadConfigCommand
LoadConfigCommand()._import_layer_config(config_files[int(i)-1])
# we run lsupdates after config update
print "Layer configuration imported. Updating information from the layer sources, please wait.\n You can re-update any time later by running bitbake/lib/toaster/manage.py lsupdates"
from django.core.management import call_command
call_command("lsupdates")
# we don't look for any other config files
return is_changed
except Exception as e:
print "Failure while trying to import the toaster config file: %s" % e
else:
print "\n Toaster could not find a configuration file. You need to configure Toaster manually using the web interface, or create a configuration file and use\n bitbake/lib/toaster/managepy.py loadconf [filename]\n command to load it. You can use https://wiki.yoctoproject.org/wiki/File:Toasterconf.json.txt.patch as a starting point."
if is_changed and be.betype == BuildEnvironment.TYPE_LOCAL:
baselayerdir = DN(DN(self._find_first_path_for_file(be.sourcedir, "toasterconf.json", 3)))
if baselayerdir:
i = raw_input(" -- Do you want to import basic layer configuration from \"%s\" ? (y/N):" % baselayerdir)
if len(i) and i.upper()[0] == 'Y':
self._import_layer_config(baselayerdir)
# we run lsupdates after config update
print "Updating information from the layer source, please wait."
from django.core.management import call_command
call_command("lsupdates")
pass
return is_changed
@@ -209,4 +203,12 @@ class Command(NoArgsCommand):
ToasterSetting.objects.filter(name = 'DEFAULT_RELEASE').delete()
ToasterSetting.objects.get_or_create(name = 'DEFAULT_RELEASE', value = '')
# we are just starting up. we must not have any builds in progress, or build environments taken
for b in BuildRequest.objects.filter(state = BuildRequest.REQ_INPROGRESS):
BRError.objects.create(req = b, errtype = "toaster", errmsg = "Toaster found this build IN PROGRESS while Toaster started up. This is an inconsistent state, and the build was marked as failed")
BuildRequest.objects.filter(state = BuildRequest.REQ_INPROGRESS).update(state = BuildRequest.REQ_FAILED)
BuildEnvironment.objects.update(lock = BuildEnvironment.LOCK_FREE)
return 0

View File

@@ -0,0 +1,174 @@
from django.core.management.base import BaseCommand, CommandError
from orm.models import LayerSource, ToasterSetting, Branch, Layer, Layer_Version
from orm.models import BitbakeVersion, Release, ReleaseDefaultLayer, ReleaseLayerSourcePriority
import os
from checksettings import DN
def _reduce_canon_path(path):
components = []
for c in path.split("/"):
if c == "..":
del components[-1]
elif c == ".":
pass
else:
components.append(c)
if len(components) < 2:
components.append('')
return "/".join(components)
def _get_id_for_sourcetype(s):
for i in LayerSource.SOURCE_TYPE:
if s == i[1]:
return i[0]
raise Exception("Could not find definition for sourcetype '%s'. Valid source types are %s" % (str(s), ', '.join(map(lambda x: "'%s'" % x[1], LayerSource.SOURCE_TYPE ))))
class Command(BaseCommand):
help = "Loads a toasterconf.json file in the database"
args = "filepath"
def _import_layer_config(self, filepath):
if not os.path.exists(filepath) or not os.path.isfile(filepath):
raise Exception("Failed to find toaster config file %s ." % filepath)
import json, pprint
data = json.loads(open(filepath, "r").read())
# verify config file validity before updating settings
for i in ['bitbake', 'releases', 'defaultrelease', 'config', 'layersources']:
assert i in data
def _read_git_url_from_local_repository(address):
url = None
# we detect the remote name at runtime
import subprocess
(remote, remote_name) = address.split(":", 1)
cmd = subprocess.Popen("git remote -v", shell=True, cwd = os.path.dirname(filepath), stdout=subprocess.PIPE, stderr = subprocess.PIPE)
(out,err) = cmd.communicate()
if cmd.returncode != 0:
raise Exception("Error while importing layer vcs_url: git error: %s" % err)
for line in out.split("\n"):
try:
(name, path) = line.split("\t", 1)
if name == remote_name:
url = path.split(" ")[0]
break
except ValueError:
pass
if url == None:
raise Exception("Error while looking for remote \"%s\" in \"%s\"" % (remote_name, out))
return url
# import bitbake data
for bvi in data['bitbake']:
bvo, created = BitbakeVersion.objects.get_or_create(name=bvi['name'])
bvo.giturl = bvi['giturl']
if bvi['giturl'].startswith("remote:"):
bvo.giturl = _read_git_url_from_local_repository(bvi['giturl'])
bvo.branch = bvi['branch']
bvo.dirpath = bvi['dirpath']
bvo.save()
# set the layer sources
for lsi in data['layersources']:
assert 'sourcetype' in lsi
assert 'apiurl' in lsi
assert 'name' in lsi
assert 'branches' in lsi
if _get_id_for_sourcetype(lsi['sourcetype']) == LayerSource.TYPE_LAYERINDEX or lsi['apiurl'].startswith("/"):
apiurl = lsi['apiurl']
else:
apiurl = _reduce_canon_path(os.path.join(DN(os.path.abspath(filepath)), lsi['apiurl']))
assert ((_get_id_for_sourcetype(lsi['sourcetype']) == LayerSource.TYPE_LAYERINDEX) or apiurl.startswith("/")), (lsi['sourcetype'],apiurl)
try:
ls = LayerSource.objects.get(sourcetype = _get_id_for_sourcetype(lsi['sourcetype']), apiurl = apiurl)
except LayerSource.DoesNotExist:
ls = LayerSource.objects.create(
name = lsi['name'],
sourcetype = _get_id_for_sourcetype(lsi['sourcetype']),
apiurl = apiurl
)
layerbranches = []
for branchname in lsi['branches']:
bo, created = Branch.objects.get_or_create(layer_source = ls, name = branchname)
layerbranches.append(bo)
if 'layers' in lsi:
for layerinfo in lsi['layers']:
lo, created = Layer.objects.get_or_create(layer_source = ls, name = layerinfo['name'])
if layerinfo['local_path'].startswith("/"):
lo.local_path = layerinfo['local_path']
else:
lo.local_path = _reduce_canon_path(os.path.join(ls.apiurl, layerinfo['local_path']))
if not os.path.exists(lo.local_path):
raise Exception("Local layer path %s must exists." % lo.local_path)
lo.vcs_url = layerinfo['vcs_url']
if layerinfo['vcs_url'].startswith("remote:"):
lo.vcs_url = _read_git_url_from_local_repository(layerinfo['vcs_url'])
else:
lo.vcs_url = layerinfo['vcs_url']
if 'layer_index_url' in layerinfo:
lo.layer_index_url = layerinfo['layer_index_url']
lo.save()
for branch in layerbranches:
lvo, created = Layer_Version.objects.get_or_create(layer_source = ls,
up_branch = branch,
commit = branch.name,
layer = lo)
lvo.dirpath = layerinfo['dirpath']
lvo.save()
# set releases
for ri in data['releases']:
bvo = BitbakeVersion.objects.get(name = ri['bitbake'])
assert bvo is not None
ro, created = Release.objects.get_or_create(name = ri['name'], bitbake_version = bvo, branch_name = ri['branch'])
ro.description = ri['description']
ro.helptext = ri['helptext']
ro.save()
# save layer source priority for release
for ls_name in ri['layersourcepriority'].keys():
rlspo, created = ReleaseLayerSourcePriority.objects.get_or_create(release = ro, layer_source = LayerSource.objects.get(name=ls_name))
rlspo.priority = ri['layersourcepriority'][ls_name]
rlspo.save()
for dli in ri['defaultlayers']:
# find layers with the same name
ReleaseDefaultLayer.objects.get_or_create( release = ro, layer_name = dli)
# set default release
if ToasterSetting.objects.filter(name = "DEFAULT_RELEASE").count() > 0:
ToasterSetting.objects.filter(name = "DEFAULT_RELEASE").update(value = data['defaultrelease'])
else:
ToasterSetting.objects.create(name = "DEFAULT_RELEASE", value = data['defaultrelease'])
# set default config variables
for configname in data['config']:
if ToasterSetting.objects.filter(name = "DEFCONF_" + configname).count() > 0:
ToasterSetting.objects.filter(name = "DEFCONF_" + configname).update(value = data['config'][configname])
else:
ToasterSetting.objects.create(name = "DEFCONF_" + configname, value = data['config'][configname])
def handle(self, *args, **options):
if len(args) == 0:
raise CommandError("Need a path to the toasterconf.json file")
filepath = args[0]
self._import_layer_config(filepath)

View File

@@ -1,9 +1,12 @@
from django.core.management.base import NoArgsCommand, CommandError
from django.db import transaction
from orm.models import Build
from orm.models import Build, ToasterSetting
from bldcontrol.bbcontroller import getBuildEnvironmentController, ShellCmdException, BuildSetupException
from bldcontrol.models import BuildRequest, BuildEnvironment, BRError
from bldcontrol.models import BuildRequest, BuildEnvironment, BRError, BRVariable
import os
import logging
logger = logging.getLogger("toaster")
class Command(NoArgsCommand):
args = ""
@@ -32,6 +35,7 @@ class Command(NoArgsCommand):
# select the build environment and the request to build
br = self._selectBuildRequest()
except IndexError as e:
# logger.debug("runbuilds: No build request")
return
try:
bec = self._selectBuildEnvironment()
@@ -39,26 +43,32 @@ class Command(NoArgsCommand):
# we could not find a BEC; postpone the BR
br.state = BuildRequest.REQ_QUEUED
br.save()
logger.debug("runbuilds: No build env")
return
# set up the buid environment with the needed layers
print "Build %s, Environment %s" % (br, bec.be)
bec.setLayers(br.brbitbake_set.all(), br.brlayer_set.all())
logger.debug("runbuilds: starting build %s, environment %s" % (br, bec.be))
# get the bb server running
# write the build identification variable
BRVariable.objects.create(req = br, name="TOASTER_BRBE", value="%d:%d" % (br.pk, bec.be.pk))
# let the build request know where it is being executed
br.environment = bec.be
br.save()
# set up the buid environment with the needed layers
bec.setLayers(br.brbitbake_set.all(), br.brlayer_set.all())
bec.writeConfFile("conf/toaster-pre.conf", br.brvariable_set.all())
bec.writeConfFile("conf/toaster.conf", raw = "INHERIT+=\"toaster buildhistory\"")
# get the bb server running with the build req id and build env id
bbctrl = bec.getBBController()
# let toasterui that this is a managed build
bbctrl.setVariable("TOASTER_BRBE", "%d:%d" % (br.pk, bec.be.pk))
# set the build configuration
for variable in br.brvariable_set.all():
bbctrl.setVariable(variable.name, variable.value)
# trigger the build command
bbctrl.build(list(map(lambda x:x.target, br.brtarget_set.all())))
task = reduce(lambda x, y: x if len(y)== 0 else y, map(lambda y: y.task, br.brtarget_set.all()))
if len(task) == 0:
task = None
bbctrl.build(list(map(lambda x:x.target, br.brtarget_set.all())), task)
print "Build launched, exiting"
logger.debug("runbuilds: Build launched, exiting. Follow build logs at %s/toaster_ui.log" % bec.be.builddir)
# disconnect from the server
bbctrl.disconnect()
@@ -66,17 +76,50 @@ class Command(NoArgsCommand):
except Exception as e:
print " EE Error executing shell command\n", e
logger.error("runbuilds: Error executing shell command %s" % e)
traceback.print_exc(e)
if "[Errno 111] Connection refused" in str(e):
# Connection refused, read toaster_server.out
errmsg = bec.readServerLogFile()
else:
errmsg = str(e)
BRError.objects.create(req = br,
errtype = str(type(e)),
errmsg = str(e),
traceback = traceback.format_exc(e))
errtype = str(type(e)),
errmsg = errmsg,
traceback = traceback.format_exc(e))
br.state = BuildRequest.REQ_FAILED
br.save()
bec.be.lock = BuildEnvironment.LOCK_FREE
bec.be.save()
def archive(self):
''' archives data from the builds '''
artifact_storage_dir = ToasterSetting.objects.get(name="ARTIFACTS_STORAGE_DIR").value
for br in BuildRequest.objects.filter(state = BuildRequest.REQ_ARCHIVE):
# save cooker log
if br.build == None:
br.state = BuildRequest.REQ_FAILED
br.save()
continue
build_artifact_storage_dir = os.path.join(artifact_storage_dir, "%d" % br.build.pk)
try:
os.makedirs(build_artifact_storage_dir)
except OSError as ose:
if "File exists" in str(ose):
pass
else:
raise ose
file_name = os.path.join(build_artifact_storage_dir, "cooker_log.txt")
try:
with open(file_name, "w") as f:
f.write(br.environment.get_artifact(br.build.cooker_log_path).read())
except IOError:
os.unlink(file_name)
br.state = BuildRequest.REQ_COMPLETED
br.save()
def cleanup(self):
from django.utils import timezone
@@ -87,4 +130,5 @@ class Command(NoArgsCommand):
def handle_noargs(self, **options):
self.cleanup()
self.archive()
self.schedule()

View File

@@ -0,0 +1,145 @@
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding field 'BuildRequest.environment'
db.add_column(u'bldcontrol_buildrequest', 'environment',
self.gf('django.db.models.fields.related.ForeignKey')(to=orm['bldcontrol.BuildEnvironment'], null=True),
keep_default=False)
# Changing field 'BuildRequest.build'
db.alter_column(u'bldcontrol_buildrequest', 'build_id', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['orm.Build'], unique=True, null=True))
# Adding unique constraint on 'BuildRequest', fields ['build']
db.create_unique(u'bldcontrol_buildrequest', ['build_id'])
def backwards(self, orm):
# Removing unique constraint on 'BuildRequest', fields ['build']
db.delete_unique(u'bldcontrol_buildrequest', ['build_id'])
# Deleting field 'BuildRequest.environment'
db.delete_column(u'bldcontrol_buildrequest', 'environment_id')
# Changing field 'BuildRequest.build'
db.alter_column(u'bldcontrol_buildrequest', 'build_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Build'], null=True))
models = {
u'bldcontrol.brbitbake': {
'Meta': {'object_name': 'BRBitbake'},
'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']", 'unique': 'True'})
},
u'bldcontrol.brerror': {
'Meta': {'object_name': 'BRError'},
'errmsg': ('django.db.models.fields.TextField', [], {}),
'errtype': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
'traceback': ('django.db.models.fields.TextField', [], {})
},
u'bldcontrol.brlayer': {
'Meta': {'object_name': 'BRLayer'},
'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"})
},
u'bldcontrol.brtarget': {
'Meta': {'object_name': 'BRTarget'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
},
u'bldcontrol.brvariable': {
'Meta': {'object_name': 'BRVariable'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'bldcontrol.buildenvironment': {
'Meta': {'object_name': 'BuildEnvironment'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
'bbaddress': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
'bbport': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
'bbstate': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'bbtoken': ('django.db.models.fields.CharField', [], {'max_length': '126', 'blank': 'True'}),
'betype': ('django.db.models.fields.IntegerField', [], {}),
'builddir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'lock': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'sourcedir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'bldcontrol.buildrequest': {
'Meta': {'object_name': 'BuildRequest'},
'build': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['orm.Build']", 'unique': 'True', 'null': 'True'}),
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'environment': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildEnvironment']", 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'state': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'orm.bitbakeversion': {
'Meta': {'object_name': 'BitbakeVersion'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.build': {
'Meta': {'object_name': 'Build'},
'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
'started_on': ('django.db.models.fields.DateTimeField', [], {}),
'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
},
u'orm.project': {
'Meta': {'object_name': 'Project'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
},
u'orm.release': {
'Meta': {'object_name': 'Release'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
}
}
complete_apps = ['bldcontrol']

View File

@@ -0,0 +1,138 @@
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import DataMigration
from django.db import models
class Migration(DataMigration):
# ids that cannot be imported from BuildRequest
def forwards(self, orm):
REQ_COMPLETED = 3
REQ_ARCHIVE = 6
"Write your forwards methods here."
# Note: Don't use "from appname.models import ModelName".
# Use orm.ModelName to refer to models in this application,
# and orm['appname.ModelName'] for models in other applications.
orm.BuildRequest.objects.filter(state=REQ_COMPLETED).update(state=REQ_ARCHIVE)
def backwards(self, orm):
REQ_COMPLETED = 3
REQ_ARCHIVE = 6
"Write your backwards methods here."
orm.BuildRequest.objects.filter(state=REQ_ARCHIVE).update(state=REQ_COMPLETED)
models = {
u'bldcontrol.brbitbake': {
'Meta': {'object_name': 'BRBitbake'},
'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']", 'unique': 'True'})
},
u'bldcontrol.brerror': {
'Meta': {'object_name': 'BRError'},
'errmsg': ('django.db.models.fields.TextField', [], {}),
'errtype': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
'traceback': ('django.db.models.fields.TextField', [], {})
},
u'bldcontrol.brlayer': {
'Meta': {'object_name': 'BRLayer'},
'commit': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
'giturl': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"})
},
u'bldcontrol.brtarget': {
'Meta': {'object_name': 'BRTarget'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
},
u'bldcontrol.brvariable': {
'Meta': {'object_name': 'BRVariable'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'req': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildRequest']"}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'bldcontrol.buildenvironment': {
'Meta': {'object_name': 'BuildEnvironment'},
'address': ('django.db.models.fields.CharField', [], {'max_length': '254'}),
'bbaddress': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
'bbport': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
'bbstate': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'bbtoken': ('django.db.models.fields.CharField', [], {'max_length': '126', 'blank': 'True'}),
'betype': ('django.db.models.fields.IntegerField', [], {}),
'builddir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'lock': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'sourcedir': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'bldcontrol.buildrequest': {
'Meta': {'object_name': 'BuildRequest'},
'build': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['orm.Build']", 'unique': 'True', 'null': 'True'}),
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
'environment': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bldcontrol.BuildEnvironment']", 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'state': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
},
u'orm.bitbakeversion': {
'Meta': {'object_name': 'BitbakeVersion'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.build': {
'Meta': {'object_name': 'Build'},
'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
'started_on': ('django.db.models.fields.DateTimeField', [], {}),
'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
},
u'orm.project': {
'Meta': {'object_name': 'Project'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
},
u'orm.release': {
'Meta': {'object_name': 'Release'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
}
}
complete_apps = ['bldcontrol']
symmetrical = True

View File

@@ -40,6 +40,50 @@ class BuildEnvironment(models.Model):
updated = models.DateTimeField(auto_now = True)
def get_artifact_type(self, path):
if self.betype == BuildEnvironment.TYPE_LOCAL:
try:
import magic
# fair warning: this is a mess; there are multiple competeing and incompatible
# magic modules floating around, so we try some of the most common combinations
try: # we try ubuntu's python-magic 5.4
m = magic.open(magic.MAGIC_MIME_TYPE)
m.load()
return m.file(path)
except AttributeError:
pass
try: # we try python-magic 0.4.6
m = magic.Magic(magic.MAGIC_MIME)
return m.from_file(path)
except AttributeError:
pass
try: # we try pip filemagic 1.6
m = magic.Magic(flags=magic.MAGIC_MIME_TYPE)
return m.id_filename(path)
except AttributeError:
pass
return "binary/octet-stream"
except ImportError:
return "binary/octet-stream"
raise Exception("FIXME: artifact type not implemented for build environment type %s" % be.get_betype_display())
def get_artifact(self, path):
if self.betype == BuildEnvironment.TYPE_LOCAL:
return open(path, "r")
raise Exception("FIXME: artifact download not implemented for build environment type %s" % be.get_betype_display())
def has_artifact(self, path):
import os
if self.betype == BuildRequest.TYPE_LOCAL:
return os.path.exists(path)
raise Exception("FIXME: has artifact not implemented for build environment type %s" % be.get_betype_display())
# a BuildRequest is a request that the scheduler will build using a BuildEnvironment
# the build request queue is the table itself, ordered by state
@@ -49,6 +93,8 @@ class BuildRequest(models.Model):
REQ_INPROGRESS = 2
REQ_COMPLETED = 3
REQ_FAILED = 4
REQ_DELETED = 5
REQ_ARCHIVE = 6
REQUEST_STATE = (
(REQ_CREATED, "created"),
@@ -56,14 +102,28 @@ class BuildRequest(models.Model):
(REQ_INPROGRESS, "in progress"),
(REQ_COMPLETED, "completed"),
(REQ_FAILED, "failed"),
(REQ_DELETED, "deleted"),
(REQ_ARCHIVE, "archive"),
)
search_allowed_fields = ("brtarget__target", "build__project__name")
project = models.ForeignKey(Project)
build = models.ForeignKey(Build, null = True) # TODO: toasterui should set this when Build is created
build = models.OneToOneField(Build, null = True) # TODO: toasterui should set this when Build is created
environment = models.ForeignKey(BuildEnvironment, null = True)
state = models.IntegerField(choices = REQUEST_STATE, default = REQ_CREATED)
created = models.DateTimeField(auto_now_add = True)
updated = models.DateTimeField(auto_now = True)
def get_duration(self):
return (self.updated - self.created).total_seconds()
def get_sorted_target_list(self):
tgts = self.brtarget_set.order_by( 'target' );
return( tgts );
def get_machine(self):
return self.brvariable_set.get(name="MACHINE").value
# These tables specify the settings for running an actual build.
# They MUST be kept in sync with the tables in orm.models.Project*

View File

@@ -29,7 +29,7 @@ import subprocess
from toastermain import settings
from bbcontroller import BuildEnvironmentController, ShellCmdException, BuildSetupException, _getgitcheckoutdirectoryname
from bbcontroller import BuildEnvironmentController, ShellCmdException, BuildSetupException
def DN(path):
return "/".join(path.split("/")[0:-1])
@@ -77,16 +77,21 @@ class SSHBEController(BuildEnvironmentController):
self._pathcreate(self.be.builddir)
self._shellcmd("bash -c \"source %s/oe-init-build-env %s\"" % (self.pokydirname, self.be.builddir))
def startBBServer(self):
def startBBServer(self, brbe):
assert self.pokydirname and self._pathexists(self.pokydirname)
assert self.islayerset
print self._shellcmd("bash -c \"source %s/oe-init-build-env %s && DATABASE_URL=%s source toaster start noweb && sleep 1\"" % (self.pokydirname, self.be.builddir, self.dburl))
# FIXME unfortunate sleep 1 - we need to make sure that bbserver is started and the toaster ui is connected
# but since they start async without any return, we just wait a bit
print "Started server"
cmd = self._shellcmd("bash -c \"source %s/oe-init-build-env %s && DATABASE_URL=%s source toaster start noweb brbe=%s\"" % (self.pokydirname, self.be.builddir, self.dburl, brbe))
port = "-1"
for i in cmd.split("\n"):
if i.startswith("Bitbake server address"):
port = i.split(" ")[-1]
print "Found bitbake server port ", port
assert self.be.sourcedir and self._pathexists(self.be.builddir)
self.be.bbaddress = self.be.address.split("@")[-1]
self.be.bbport = "8200"
self.be.bbport = port
self.be.bbstate = BuildEnvironment.SERVER_STARTED
self.be.save()
@@ -99,6 +104,19 @@ class SSHBEController(BuildEnvironmentController):
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()
if p.returncode:
raise ShellCmdException(err)
def pullFile(self, local_filename, remote_filename):
_copyFile(local_filename, "%s:%s" % (self.be.address, remote_filename))
def pushFile(self, local_filename, remote_filename):
_copyFile("%s:%s" % (self.be.address, remote_filename), local_filename)
def setLayers(self, bitbakes, layers):
""" a word of attention: by convention, the first layer for any build will be poky! """
@@ -106,62 +124,8 @@ class SSHBEController(BuildEnvironmentController):
assert len(bitbakes) == 1
# set layers in the layersource
# 1. get a list of repos, and map dirpaths for each layer
gitrepos = {}
gitrepos[bitbakes[0].giturl] = []
gitrepos[bitbakes[0].giturl].append( ("bitbake", bitbakes[0].dirpath, bitbakes[0].commit) )
for layer in layers:
# we don't process local URLs
if layer.giturl.startswith("file://"):
continue
if not layer.giturl in gitrepos:
gitrepos[layer.giturl] = []
gitrepos[layer.giturl].append( (layer.name, layer.dirpath, layer.commit))
for giturl in gitrepos.keys():
commitid = gitrepos[giturl][0][2]
for e in gitrepos[giturl]:
if commitid != e[2]:
raise BuildSetupException("More than one commit per git url, unsupported configuration")
layerlist = []
# 2. checkout the repositories
for giturl in gitrepos.keys():
import os
localdirname = os.path.join(self.be.sourcedir, _getgitcheckoutdirectoryname(giturl))
print "DEBUG: giturl ", giturl ,"checking out in current directory", localdirname
# make sure our directory is a git repository
if self._pathexists(localdirname):
if not giturl in self._shellcmd("git remote -v", localdirname):
raise BuildSetupException("Existing git repository at %s, but with different remotes (not '%s'). Aborting." % (localdirname, giturl))
else:
self._shellcmd("git clone \"%s\" \"%s\"" % (giturl, localdirname))
# checkout the needed commit
commit = gitrepos[giturl][0][2]
# branch magic name "HEAD" will inhibit checkout
if commit != "HEAD":
print "DEBUG: checking out commit ", commit, "to", localdirname
self._shellcmd("git fetch --all && git checkout \"%s\"" % commit , localdirname)
# take the localdirname as poky dir if we can find the oe-init-build-env
if self.pokydirname is None and self._pathexists(os.path.join(localdirname, "oe-init-build-env")):
print "DEBUG: selected poky dir name", localdirname
self.pokydirname = localdirname
# verify our repositories
for name, dirpath, commit in gitrepos[giturl]:
localdirpath = os.path.join(localdirname, dirpath)
if not self._pathexists(localdirpath):
raise BuildSetupException("Cannot find layer git path '%s' in checked out repository '%s:%s'. Aborting." % (localdirpath, giturl, commit))
if name != "bitbake":
layerlist.append(localdirpath)
print "DEBUG: current layer list ", layerlist
raise Exception("Not implemented: SSH setLayers")
# 3. configure the build environment, so we have a conf/bblayers.conf
assert self.pokydirname is not None
self._setupBE()
@@ -171,17 +135,15 @@ class SSHBEController(BuildEnvironmentController):
if not self._pathexists(bblayerconf):
raise BuildSetupException("BE is not consistent: bblayers.conf file missing at %s" % bblayerconf)
conflines = open(bblayerconf, "r").readlines()
import uuid
local_bblayerconf = "/tmp/" + uuid.uuid4() + "-bblayer.conf"
bblayerconffile = open(bblayerconf, "w")
for i in xrange(len(conflines)):
if conflines[i].startswith("# line added by toaster"):
i += 2
else:
bblayerconffile.write(conflines[i])
self.pullFile(bblayerconf, local_bblayerconf)
bblayerconffile.write("\n# line added by toaster build control\nBBLAYERS = \"" + " ".join(layerlist) + "\"")
bblayerconffile.close()
BuildEnvironmentController._updateBBLayers(local_bblayerconf, layerlist)
self.pushFile(local_bblayerconf, bblayerconf)
os.unlink(local_bblayerconf)
self.islayerset = True
return True

View File

@@ -44,7 +44,7 @@ class BEControllerTests(object):
# test start server and stop
self.assertTrue(socket.socket(socket.AF_INET, socket.SOCK_STREAM).connect_ex((hostname, 8200)), "Port already occupied")
bc.startBBServer()
bc.startBBServer("0:0")
self.assertFalse(socket.socket(socket.AF_INET, socket.SOCK_STREAM).connect_ex((hostname, 8200)), "Server not answering")
bc.stopBBServer()
@@ -57,14 +57,8 @@ class BEControllerTests(object):
bc = self._getBEController(obe)
bc.setLayers(BITBAKE_LAYERS, POKY_LAYERS) # setting layers, skip any layer info
bbc = bc.getBBController()
bbc = bc.getBBController("%d:%d" % (-1, obe.pk))
self.assertTrue(isinstance(bbc, BitbakeController))
# test set variable, use no build marker -1 for BR value
try:
bbc.setVariable("TOASTER_BRBE", "%d:%d" % (-1, obe.pk))
except Exception as e :
self.fail("setVariable raised %s", e)
bc.stopBBServer()
self._serverForceStop(bc)
@@ -136,7 +130,7 @@ class RunBuildsCommandTests(TestCase):
def test_br_select(self):
from orm.models import Project, Release, BitbakeVersion
p = Project.objects.create_project("test", Release.objects.get_or_create(name = "HEAD", bitbake_version = BitbakeVersion.objects.get_or_create(name="HEAD", branch="HEAD")[0])[0])
p = Project.objects.create_project("test", Release.objects.get_or_create(name = "HEAD", bitbake_version = BitbakeVersion.objects.get_or_create(name="HEAD", branch=Branch.objects.get_or_create(name="HEAD"))[0])[0])
obr = BuildRequest.objects.create(state = BuildRequest.REQ_QUEUED, project = p)
command = Command()
br = command._selectBuildRequest()
@@ -147,3 +141,22 @@ class RunBuildsCommandTests(TestCase):
self.assertTrue(br.state == BuildRequest.REQ_INPROGRESS, "Request is not updated")
# no more selections possible here
self.assertRaises(IndexError, command._selectBuildRequest)
class UtilityTests(TestCase):
def test_reduce_path(self):
from bldcontrol.management.commands.loadconf import _reduce_canon_path, _get_id_for_sourcetype
self.assertTrue( _reduce_canon_path("/") == "/")
self.assertTrue( _reduce_canon_path("/home/..") == "/")
self.assertTrue( _reduce_canon_path("/home/../ana") == "/ana")
self.assertTrue( _reduce_canon_path("/home/../ana/..") == "/")
self.assertTrue( _reduce_canon_path("/home/ana/mihai/../maria") == "/home/ana/maria")
def test_get_id_for_sorucetype(self):
from bldcontrol.management.commands.loadconf import _reduce_canon_path, _get_id_for_sourcetype
self.assertTrue( _get_id_for_sourcetype("layerindex") == 1)
self.assertTrue( _get_id_for_sourcetype("local") == 0)
self.assertTrue( _get_id_for_sourcetype("imported") == 2)
with self.assertRaises(Exception):
_get_id_for_sourcetype("unknown")

View File

@@ -13,7 +13,10 @@ import json, os, re, urllib, shlex
class Tests(TestCase):
fixtures = ['orm_views_testdata.json']
# fixtures = ['orm_views_testdata.json']
def setUp(self):
raise Exception("The %s test data is not longer valid, tests disabled" % __name__)
def test_builds(self):
client = Client()

View File

@@ -1,17 +1,34 @@
from django.contrib import admin
from django.contrib.admin.filters import RelatedFieldListFilter
from .models import Branch, LayerSource, ToasterSetting
from .models import BitbakeVersion, Release, LayerSource, ToasterSetting
from django.forms.widgets import Textarea
from django import forms
import django.db.models as models
from django.contrib.admin import widgets, helpers
class LayerSourceAdmin(admin.ModelAdmin):
pass
class BranchAdmin(admin.ModelAdmin):
class BitbakeVersionAdmin(admin.ModelAdmin):
# we override the formfield for db URLField because of broken URL validation
def formfield_for_dbfield(self, db_field, **kwargs):
if isinstance(db_field, models.fields.URLField):
return forms.fields.CharField()
return super(BitbakeVersionAdmin, self).formfield_for_dbfield(db_field, **kwargs)
class ReleaseAdmin(admin.ModelAdmin):
pass
class ToasterSettingAdmin(admin.ModelAdmin):
pass
admin.site.register(LayerSource, LayerSourceAdmin)
admin.site.register(Branch, BranchAdmin)
admin.site.register(BitbakeVersion, BitbakeVersionAdmin)
admin.site.register(Release, ReleaseAdmin)
admin.site.register(ToasterSetting, ToasterSettingAdmin)

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,336 @@
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Changing field 'Package.summary'
db.alter_column(u'orm_package', 'summary', self.gf('django.db.models.fields.TextField')())
# Changing field 'Layer.summary'
db.alter_column(u'orm_layer', 'summary', self.gf('django.db.models.fields.TextField')(null=True))
# Changing field 'Recipe.summary'
db.alter_column(u'orm_recipe', 'summary', self.gf('django.db.models.fields.TextField')())
def backwards(self, orm):
# Changing field 'Package.summary'
db.alter_column(u'orm_package', 'summary', self.gf('django.db.models.fields.CharField')(max_length=200))
# Changing field 'Layer.summary'
db.alter_column(u'orm_layer', 'summary', self.gf('django.db.models.fields.CharField')(max_length=200, null=True))
# Changing field 'Recipe.summary'
db.alter_column(u'orm_recipe', 'summary', self.gf('django.db.models.fields.CharField')(max_length=100))
models = {
u'orm.bitbakeversion': {
'Meta': {'object_name': 'BitbakeVersion'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.branch': {
'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
'bitbake_branch': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.build': {
'Meta': {'object_name': 'Build'},
'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
'started_on': ('django.db.models.fields.DateTimeField', [], {}),
'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
},
u'orm.helptext': {
'Meta': {'object_name': 'HelpText'},
'area': ('django.db.models.fields.IntegerField', [], {}),
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'text': ('django.db.models.fields.TextField', [], {})
},
u'orm.layer': {
'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
},
u'orm.layer_version': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.layersource': {
'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
'sourcetype': ('django.db.models.fields.IntegerField', [], {})
},
u'orm.layerversiondependency': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.logmessage': {
'Meta': {'object_name': 'LogMessage'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
},
u'orm.machine': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.package': {
'Meta': {'object_name': 'Package'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
},
u'orm.package_dependency': {
'Meta': {'object_name': 'Package_Dependency'},
'dep_type': ('django.db.models.fields.IntegerField', [], {}),
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
},
u'orm.package_file': {
'Meta': {'object_name': 'Package_File'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'size': ('django.db.models.fields.IntegerField', [], {})
},
u'orm.project': {
'Meta': {'object_name': 'Project'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
},
u'orm.projectlayer': {
'Meta': {'object_name': 'ProjectLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
},
u'orm.projecttarget': {
'Meta': {'object_name': 'ProjectTarget'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
},
u'orm.projectvariable': {
'Meta': {'object_name': 'ProjectVariable'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'orm.recipe': {
'Meta': {'object_name': 'Recipe'},
'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
},
u'orm.recipe_dependency': {
'Meta': {'object_name': 'Recipe_Dependency'},
'dep_type': ('django.db.models.fields.IntegerField', [], {}),
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
},
u'orm.release': {
'Meta': {'object_name': 'Release'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.releasedefaultlayer': {
'Meta': {'object_name': 'ReleaseDefaultLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer']"}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
},
u'orm.target': {
'Meta': {'object_name': 'Target'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'orm.target_file': {
'Meta': {'object_name': 'Target_File'},
'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inodetype': ('django.db.models.fields.IntegerField', [], {}),
'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
'size': ('django.db.models.fields.IntegerField', [], {}),
'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.target_image_file': {
'Meta': {'object_name': 'Target_Image_File'},
'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
'file_size': ('django.db.models.fields.IntegerField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.target_installed_package': {
'Meta': {'object_name': 'Target_Installed_Package'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.task': {
'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
},
u'orm.task_dependency': {
'Meta': {'object_name': 'Task_Dependency'},
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
},
u'orm.toastersetting': {
'Meta': {'object_name': 'ToasterSetting'},
'helptext': ('django.db.models.fields.TextField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
},
u'orm.toastersettingdefaultlayer': {
'Meta': {'object_name': 'ToasterSettingDefaultLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"})
},
u'orm.variable': {
'Meta': {'object_name': 'Variable'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'orm.variablehistory': {
'Meta': {'object_name': 'VariableHistory'},
'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
}
}
complete_apps = ['orm']

View File

@@ -0,0 +1,336 @@
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding field 'Layer.vcs_web_url'
db.add_column(u'orm_layer', 'vcs_web_url',
self.gf('django.db.models.fields.URLField')(default=None, max_length=200, null=True),
keep_default=False)
# Adding field 'Layer.vcs_web_tree_base_url'
db.add_column(u'orm_layer', 'vcs_web_tree_base_url',
self.gf('django.db.models.fields.URLField')(default=None, max_length=200, null=True),
keep_default=False)
def backwards(self, orm):
# Deleting field 'Layer.vcs_web_url'
db.delete_column(u'orm_layer', 'vcs_web_url')
# Deleting field 'Layer.vcs_web_tree_base_url'
db.delete_column(u'orm_layer', 'vcs_web_tree_base_url')
models = {
u'orm.bitbakeversion': {
'Meta': {'object_name': 'BitbakeVersion'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.branch': {
'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
'bitbake_branch': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.build': {
'Meta': {'object_name': 'Build'},
'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
'started_on': ('django.db.models.fields.DateTimeField', [], {}),
'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
},
u'orm.helptext': {
'Meta': {'object_name': 'HelpText'},
'area': ('django.db.models.fields.IntegerField', [], {}),
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'text': ('django.db.models.fields.TextField', [], {})
},
u'orm.layer': {
'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
},
u'orm.layer_version': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.layersource': {
'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
'sourcetype': ('django.db.models.fields.IntegerField', [], {})
},
u'orm.layerversiondependency': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.logmessage': {
'Meta': {'object_name': 'LogMessage'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
},
u'orm.machine': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.package': {
'Meta': {'object_name': 'Package'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
},
u'orm.package_dependency': {
'Meta': {'object_name': 'Package_Dependency'},
'dep_type': ('django.db.models.fields.IntegerField', [], {}),
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
},
u'orm.package_file': {
'Meta': {'object_name': 'Package_File'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'size': ('django.db.models.fields.IntegerField', [], {})
},
u'orm.project': {
'Meta': {'object_name': 'Project'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
},
u'orm.projectlayer': {
'Meta': {'object_name': 'ProjectLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
},
u'orm.projecttarget': {
'Meta': {'object_name': 'ProjectTarget'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
},
u'orm.projectvariable': {
'Meta': {'object_name': 'ProjectVariable'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'orm.recipe': {
'Meta': {'object_name': 'Recipe'},
'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
},
u'orm.recipe_dependency': {
'Meta': {'object_name': 'Recipe_Dependency'},
'dep_type': ('django.db.models.fields.IntegerField', [], {}),
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
},
u'orm.release': {
'Meta': {'object_name': 'Release'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.releasedefaultlayer': {
'Meta': {'object_name': 'ReleaseDefaultLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer']"}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
},
u'orm.target': {
'Meta': {'object_name': 'Target'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'orm.target_file': {
'Meta': {'object_name': 'Target_File'},
'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inodetype': ('django.db.models.fields.IntegerField', [], {}),
'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
'size': ('django.db.models.fields.IntegerField', [], {}),
'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.target_image_file': {
'Meta': {'object_name': 'Target_Image_File'},
'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
'file_size': ('django.db.models.fields.IntegerField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.target_installed_package': {
'Meta': {'object_name': 'Target_Installed_Package'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.task': {
'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
},
u'orm.task_dependency': {
'Meta': {'object_name': 'Task_Dependency'},
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
},
u'orm.toastersetting': {
'Meta': {'object_name': 'ToasterSetting'},
'helptext': ('django.db.models.fields.TextField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
},
u'orm.toastersettingdefaultlayer': {
'Meta': {'object_name': 'ToasterSettingDefaultLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"})
},
u'orm.variable': {
'Meta': {'object_name': 'Variable'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'orm.variablehistory': {
'Meta': {'object_name': 'VariableHistory'},
'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
}
}
complete_apps = ['orm']

View File

@@ -0,0 +1,359 @@
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding field 'Release.helptext'
db.add_column(u'orm_release', 'helptext',
self.gf('django.db.models.fields.TextField')(null=True),
keep_default=False)
# Renaming column for 'Release.branch' to match new field type.
db.delete_column(u'orm_release', 'branch')
# Changing field 'Release.branch'
db.add_column(u'orm_release', 'branch', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Branch'], default=-1))
# Deleting field 'Branch.bitbake_branch'
db.delete_column(u'orm_branch', 'bitbake_branch')
# Adding unique constraint on 'Recipe', fields ['layer_version', 'file_path']
db.create_unique(u'orm_recipe', ['layer_version_id', 'file_path'])
# Adding unique constraint on 'ProjectLayer', fields ['project', 'layercommit']
db.create_unique(u'orm_projectlayer', ['project_id', 'layercommit_id'])
def backwards(self, orm):
# Removing unique constraint on 'ProjectLayer', fields ['project', 'layercommit']
db.delete_unique(u'orm_projectlayer', ['project_id', 'layercommit_id'])
# Removing unique constraint on 'Recipe', fields ['layer_version', 'file_path']
db.delete_unique(u'orm_recipe', ['layer_version_id', 'file_path'])
# Deleting field 'Release.helptext'
db.delete_column(u'orm_release', 'helptext')
# Renaming column for 'Release.branch' to match new field type.
db.rename_column(u'orm_release', 'branch_id', 'branch')
# Changing field 'Release.branch'
db.alter_column(u'orm_release', 'branch', self.gf('django.db.models.fields.CharField')(max_length=32))
# Adding field 'Branch.bitbake_branch'
db.add_column(u'orm_branch', 'bitbake_branch',
self.gf('django.db.models.fields.CharField')(default='', max_length=50, blank=True),
keep_default=False)
models = {
u'orm.bitbakeversion': {
'Meta': {'object_name': 'BitbakeVersion'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.branch': {
'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.build': {
'Meta': {'object_name': 'Build'},
'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
'started_on': ('django.db.models.fields.DateTimeField', [], {}),
'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
},
u'orm.helptext': {
'Meta': {'object_name': 'HelpText'},
'area': ('django.db.models.fields.IntegerField', [], {}),
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'text': ('django.db.models.fields.TextField', [], {})
},
u'orm.layer': {
'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
},
u'orm.layer_version': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.layersource': {
'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
'sourcetype': ('django.db.models.fields.IntegerField', [], {})
},
u'orm.layerversiondependency': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.logmessage': {
'Meta': {'object_name': 'LogMessage'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
},
u'orm.machine': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.package': {
'Meta': {'object_name': 'Package'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
},
u'orm.package_dependency': {
'Meta': {'object_name': 'Package_Dependency'},
'dep_type': ('django.db.models.fields.IntegerField', [], {}),
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
},
u'orm.package_file': {
'Meta': {'object_name': 'Package_File'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'size': ('django.db.models.fields.IntegerField', [], {})
},
u'orm.project': {
'Meta': {'object_name': 'Project'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
},
u'orm.projectlayer': {
'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
},
u'orm.projecttarget': {
'Meta': {'object_name': 'ProjectTarget'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
},
u'orm.projectvariable': {
'Meta': {'object_name': 'ProjectVariable'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'orm.recipe': {
'Meta': {'unique_together': "(('layer_version', 'file_path'),)", 'object_name': 'Recipe'},
'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
},
u'orm.recipe_dependency': {
'Meta': {'object_name': 'Recipe_Dependency'},
'dep_type': ('django.db.models.fields.IntegerField', [], {}),
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
},
u'orm.release': {
'Meta': {'object_name': 'Release'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'branch': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Branch']"}),
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.releasedefaultlayer': {
'Meta': {'object_name': 'ReleaseDefaultLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer']"}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
},
u'orm.target': {
'Meta': {'object_name': 'Target'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'orm.target_file': {
'Meta': {'object_name': 'Target_File'},
'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inodetype': ('django.db.models.fields.IntegerField', [], {}),
'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
'size': ('django.db.models.fields.IntegerField', [], {}),
'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.target_image_file': {
'Meta': {'object_name': 'Target_Image_File'},
'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
'file_size': ('django.db.models.fields.IntegerField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.target_installed_package': {
'Meta': {'object_name': 'Target_Installed_Package'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.task': {
'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
},
u'orm.task_dependency': {
'Meta': {'object_name': 'Task_Dependency'},
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
},
u'orm.toastersetting': {
'Meta': {'object_name': 'ToasterSetting'},
'helptext': ('django.db.models.fields.TextField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
},
u'orm.toastersettingdefaultlayer': {
'Meta': {'object_name': 'ToasterSettingDefaultLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"})
},
u'orm.variable': {
'Meta': {'object_name': 'Variable'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'orm.variablehistory': {
'Meta': {'object_name': 'VariableHistory'},
'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
}
}
complete_apps = ['orm']

View File

@@ -0,0 +1,396 @@
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Deleting model 'ToasterSettingDefaultLayer'
db.delete_table(u'orm_toastersettingdefaultlayer')
# Adding model 'ReleaseLayerSourcePriority'
db.create_table(u'orm_releaselayersourcepriority', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('release', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Release'])),
('layer_source', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.LayerSource'])),
('priority', self.gf('django.db.models.fields.IntegerField')(default=0)),
))
db.send_create_signal(u'orm', ['ReleaseLayerSourcePriority'])
# Adding unique constraint on 'ReleaseLayerSourcePriority', fields ['release', 'layer_source']
db.create_unique(u'orm_releaselayersourcepriority', ['release_id', 'layer_source_id'])
# Deleting field 'Release.branch'
db.delete_column(u'orm_release', 'branch_id')
# Adding field 'Release.branch_name'
db.add_column(u'orm_release', 'branch_name',
self.gf('django.db.models.fields.CharField')(default='', max_length=50),
keep_default=False)
# Adding unique constraint on 'LayerSource', fields ['name']
db.create_unique(u'orm_layersource', ['name'])
# Deleting field 'ReleaseDefaultLayer.layer'
db.delete_column(u'orm_releasedefaultlayer', 'layer_id')
# Adding field 'ReleaseDefaultLayer.layer_name'
db.add_column(u'orm_releasedefaultlayer', 'layer_name',
self.gf('django.db.models.fields.CharField')(default='', max_length=100),
keep_default=False)
def backwards(self, orm):
# Removing unique constraint on 'LayerSource', fields ['name']
db.delete_unique(u'orm_layersource', ['name'])
# Removing unique constraint on 'ReleaseLayerSourcePriority', fields ['release', 'layer_source']
db.delete_unique(u'orm_releaselayersourcepriority', ['release_id', 'layer_source_id'])
# Adding model 'ToasterSettingDefaultLayer'
db.create_table(u'orm_toastersettingdefaultlayer', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('layer_version', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Layer_Version'])),
))
db.send_create_signal(u'orm', ['ToasterSettingDefaultLayer'])
# Deleting model 'ReleaseLayerSourcePriority'
db.delete_table(u'orm_releaselayersourcepriority')
# User chose to not deal with backwards NULL issues for 'Release.branch'
raise RuntimeError("Cannot reverse this migration. 'Release.branch' and its values cannot be restored.")
# The following code is provided here to aid in writing a correct migration # Adding field 'Release.branch'
db.add_column(u'orm_release', 'branch',
self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Branch']),
keep_default=False)
# Deleting field 'Release.branch_name'
db.delete_column(u'orm_release', 'branch_name')
# User chose to not deal with backwards NULL issues for 'ReleaseDefaultLayer.layer'
raise RuntimeError("Cannot reverse this migration. 'ReleaseDefaultLayer.layer' and its values cannot be restored.")
# The following code is provided here to aid in writing a correct migration # Adding field 'ReleaseDefaultLayer.layer'
db.add_column(u'orm_releasedefaultlayer', 'layer',
self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Layer']),
keep_default=False)
# Deleting field 'ReleaseDefaultLayer.layer_name'
db.delete_column(u'orm_releasedefaultlayer', 'layer_name')
models = {
u'orm.bitbakeversion': {
'Meta': {'object_name': 'BitbakeVersion'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.branch': {
'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.build': {
'Meta': {'object_name': 'Build'},
'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
'started_on': ('django.db.models.fields.DateTimeField', [], {}),
'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
},
u'orm.helptext': {
'Meta': {'object_name': 'HelpText'},
'area': ('django.db.models.fields.IntegerField', [], {}),
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'text': ('django.db.models.fields.TextField', [], {})
},
u'orm.layer': {
'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
},
u'orm.layer_version': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.layersource': {
'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
'sourcetype': ('django.db.models.fields.IntegerField', [], {})
},
u'orm.layerversiondependency': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.logmessage': {
'Meta': {'object_name': 'LogMessage'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
},
u'orm.machine': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.package': {
'Meta': {'object_name': 'Package'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
},
u'orm.package_dependency': {
'Meta': {'object_name': 'Package_Dependency'},
'dep_type': ('django.db.models.fields.IntegerField', [], {}),
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
},
u'orm.package_file': {
'Meta': {'object_name': 'Package_File'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'size': ('django.db.models.fields.IntegerField', [], {})
},
u'orm.project': {
'Meta': {'object_name': 'Project'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
},
u'orm.projectlayer': {
'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
},
u'orm.projecttarget': {
'Meta': {'object_name': 'ProjectTarget'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
},
u'orm.projectvariable': {
'Meta': {'object_name': 'ProjectVariable'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'orm.recipe': {
'Meta': {'unique_together': "(('layer_version', 'file_path'),)", 'object_name': 'Recipe'},
'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
},
u'orm.recipe_dependency': {
'Meta': {'object_name': 'Recipe_Dependency'},
'dep_type': ('django.db.models.fields.IntegerField', [], {}),
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
},
u'orm.release': {
'Meta': {'object_name': 'Release'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.releasedefaultlayer': {
'Meta': {'object_name': 'ReleaseDefaultLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
},
u'orm.releaselayersourcepriority': {
'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
},
u'orm.target': {
'Meta': {'object_name': 'Target'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'orm.target_file': {
'Meta': {'object_name': 'Target_File'},
'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inodetype': ('django.db.models.fields.IntegerField', [], {}),
'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
'size': ('django.db.models.fields.IntegerField', [], {}),
'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.target_image_file': {
'Meta': {'object_name': 'Target_Image_File'},
'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
'file_size': ('django.db.models.fields.IntegerField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.target_installed_package': {
'Meta': {'object_name': 'Target_Installed_Package'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.task': {
'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
},
u'orm.task_dependency': {
'Meta': {'object_name': 'Task_Dependency'},
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
},
u'orm.toastersetting': {
'Meta': {'object_name': 'ToasterSetting'},
'helptext': ('django.db.models.fields.TextField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
},
u'orm.variable': {
'Meta': {'object_name': 'Variable'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'orm.variablehistory': {
'Meta': {'object_name': 'VariableHistory'},
'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
}
}
complete_apps = ['orm']

View File

@@ -0,0 +1,331 @@
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding field 'Layer_Version.project'
db.add_column(u'orm_layer_version', 'project',
self.gf('django.db.models.fields.related.ForeignKey')(default=None, to=orm['orm.Project'], null=True),
keep_default=False)
def backwards(self, orm):
# Deleting field 'Layer_Version.project'
db.delete_column(u'orm_layer_version', 'project_id')
models = {
u'orm.bitbakeversion': {
'Meta': {'object_name': 'BitbakeVersion'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.branch': {
'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.build': {
'Meta': {'object_name': 'Build'},
'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
'started_on': ('django.db.models.fields.DateTimeField', [], {}),
'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
},
u'orm.helptext': {
'Meta': {'object_name': 'HelpText'},
'area': ('django.db.models.fields.IntegerField', [], {}),
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'text': ('django.db.models.fields.TextField', [], {})
},
u'orm.layer': {
'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
},
u'orm.layer_version': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.layersource': {
'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
'sourcetype': ('django.db.models.fields.IntegerField', [], {})
},
u'orm.layerversiondependency': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.logmessage': {
'Meta': {'object_name': 'LogMessage'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
},
u'orm.machine': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.package': {
'Meta': {'object_name': 'Package'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
},
u'orm.package_dependency': {
'Meta': {'object_name': 'Package_Dependency'},
'dep_type': ('django.db.models.fields.IntegerField', [], {}),
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
},
u'orm.package_file': {
'Meta': {'object_name': 'Package_File'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'size': ('django.db.models.fields.IntegerField', [], {})
},
u'orm.project': {
'Meta': {'object_name': 'Project'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
},
u'orm.projectlayer': {
'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
},
u'orm.projecttarget': {
'Meta': {'object_name': 'ProjectTarget'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
},
u'orm.projectvariable': {
'Meta': {'object_name': 'ProjectVariable'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'orm.recipe': {
'Meta': {'unique_together': "(('layer_version', 'file_path'),)", 'object_name': 'Recipe'},
'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
},
u'orm.recipe_dependency': {
'Meta': {'object_name': 'Recipe_Dependency'},
'dep_type': ('django.db.models.fields.IntegerField', [], {}),
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
},
u'orm.release': {
'Meta': {'object_name': 'Release'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.releasedefaultlayer': {
'Meta': {'object_name': 'ReleaseDefaultLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
},
u'orm.releaselayersourcepriority': {
'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
},
u'orm.target': {
'Meta': {'object_name': 'Target'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'orm.target_file': {
'Meta': {'object_name': 'Target_File'},
'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inodetype': ('django.db.models.fields.IntegerField', [], {}),
'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
'size': ('django.db.models.fields.IntegerField', [], {}),
'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.target_image_file': {
'Meta': {'object_name': 'Target_Image_File'},
'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
'file_size': ('django.db.models.fields.IntegerField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.target_installed_package': {
'Meta': {'object_name': 'Target_Installed_Package'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.task': {
'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
},
u'orm.task_dependency': {
'Meta': {'object_name': 'Task_Dependency'},
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
},
u'orm.toastersetting': {
'Meta': {'object_name': 'ToasterSetting'},
'helptext': ('django.db.models.fields.TextField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
},
u'orm.variable': {
'Meta': {'object_name': 'Variable'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'orm.variablehistory': {
'Meta': {'object_name': 'VariableHistory'},
'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
}
}
complete_apps = ['orm']

View File

@@ -0,0 +1,342 @@
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding model 'BuildArtifact'
db.create_table(u'orm_buildartifact', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('build', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['orm.Build'])),
('file_name', self.gf('django.db.models.fields.FilePathField')(max_length=100)),
('file_size', self.gf('django.db.models.fields.IntegerField')()),
))
db.send_create_signal(u'orm', ['BuildArtifact'])
def backwards(self, orm):
# Deleting model 'BuildArtifact'
db.delete_table(u'orm_buildartifact')
models = {
u'orm.bitbakeversion': {
'Meta': {'object_name': 'BitbakeVersion'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
'dirpath': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'giturl': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.branch': {
'Meta': {'unique_together': "(('layer_source', 'name'), ('layer_source', 'up_id'))", 'object_name': 'Branch'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'True', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.build': {
'Meta': {'object_name': 'Build'},
'bitbake_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'build_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'completed_on': ('django.db.models.fields.DateTimeField', [], {}),
'cooker_log_path': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
'distro': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'distro_version': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'errors_no': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'machine': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '2'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']", 'null': 'True'}),
'started_on': ('django.db.models.fields.DateTimeField', [], {}),
'timespent': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'warnings_no': ('django.db.models.fields.IntegerField', [], {'default': '0'})
},
u'orm.buildartifact': {
'Meta': {'object_name': 'BuildArtifact'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
'file_size': ('django.db.models.fields.IntegerField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
},
u'orm.helptext': {
'Meta': {'object_name': 'HelpText'},
'area': ('django.db.models.fields.IntegerField', [], {}),
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'helptext_build'", 'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'key': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'text': ('django.db.models.fields.TextField', [], {})
},
u'orm.layer': {
'Meta': {'unique_together': "(('layer_source', 'up_id'), ('layer_source', 'name'))", 'object_name': 'Layer'},
'description': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_index_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'local_path': ('django.db.models.fields.FilePathField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'summary': ('django.db.models.fields.TextField', [], {'default': 'None', 'null': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
'vcs_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_file_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_tree_base_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'}),
'vcs_web_url': ('django.db.models.fields.URLField', [], {'default': 'None', 'max_length': '200', 'null': 'True'})
},
u'orm.layer_version': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Layer_Version'},
'branch': ('django.db.models.fields.CharField', [], {'max_length': '80'}),
'build': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'layer_version_build'", 'null': 'True', 'to': u"orm['orm.Build']"}),
'commit': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'dirpath': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'layer_version_layer'", 'to': u"orm['orm.Layer']"}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Project']", 'null': 'True'}),
'up_branch': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.Branch']", 'null': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.layersource': {
'Meta': {'unique_together': "(('sourcetype', 'apiurl'),)", 'object_name': 'LayerSource'},
'apiurl': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '63'}),
'sourcetype': ('django.db.models.fields.IntegerField', [], {})
},
u'orm.layerversiondependency': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'LayerVersionDependency'},
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependees'", 'to': u"orm['orm.Layer_Version']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dependencies'", 'to': u"orm['orm.Layer_Version']"}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.logmessage': {
'Meta': {'object_name': 'LogMessage'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'lineno': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
'pathname': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'task': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Task']", 'null': 'True', 'blank': 'True'})
},
u'orm.machine': {
'Meta': {'unique_together': "(('layer_source', 'up_id'),)", 'object_name': 'Machine'},
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']"}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'})
},
u'orm.package': {
'Meta': {'object_name': 'Package'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'installed_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
'installed_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'license': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Recipe']", 'null': 'True'}),
'revision': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}),
'section': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
},
u'orm.package_dependency': {
'Meta': {'object_name': 'Package_Dependency'},
'dep_type': ('django.db.models.fields.IntegerField', [], {}),
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_target'", 'to': u"orm['orm.Package']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'package_dependencies_source'", 'to': u"orm['orm.Package']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']", 'null': 'True'})
},
u'orm.package_file': {
'Meta': {'object_name': 'Package_File'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildfilelist_package'", 'to': u"orm['orm.Package']"}),
'path': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'size': ('django.db.models.fields.IntegerField', [], {})
},
u'orm.project': {
'Meta': {'object_name': 'Project'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"}),
'short_description': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
'user_id': ('django.db.models.fields.IntegerField', [], {'null': 'True'})
},
u'orm.projectlayer': {
'Meta': {'unique_together': "(('project', 'layercommit'),)", 'object_name': 'ProjectLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layercommit': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Layer_Version']", 'null': 'True'}),
'optional': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"})
},
u'orm.projecttarget': {
'Meta': {'object_name': 'ProjectTarget'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'task': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'})
},
u'orm.projectvariable': {
'Meta': {'object_name': 'ProjectVariable'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Project']"}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'orm.recipe': {
'Meta': {'unique_together': "(('layer_version', 'file_path'),)", 'object_name': 'Recipe'},
'bugtracker': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'file_path': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['orm.LayerSource']", 'null': 'True'}),
'layer_version': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'recipe_layer_version'", 'to': u"orm['orm.Layer_Version']"}),
'license': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'section': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'up_date': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}),
'up_id': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True'}),
'version': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'})
},
u'orm.recipe_dependency': {
'Meta': {'object_name': 'Recipe_Dependency'},
'dep_type': ('django.db.models.fields.IntegerField', [], {}),
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_depends'", 'to': u"orm['orm.Recipe']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'r_dependencies_recipe'", 'to': u"orm['orm.Recipe']"})
},
u'orm.release': {
'Meta': {'object_name': 'Release'},
'bitbake_version': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.BitbakeVersion']"}),
'branch_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50'}),
'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'helptext': ('django.db.models.fields.TextField', [], {'null': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'})
},
u'orm.releasedefaultlayer': {
'Meta': {'object_name': 'ReleaseDefaultLayer'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '100'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
},
u'orm.releaselayersourcepriority': {
'Meta': {'unique_together': "(('release', 'layer_source'),)", 'object_name': 'ReleaseLayerSourcePriority'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'layer_source': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.LayerSource']"}),
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'release': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Release']"})
},
u'orm.target': {
'Meta': {'object_name': 'Target'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Build']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'image_size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'is_image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'license_manifest_path': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True'}),
'target': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
u'orm.target_file': {
'Meta': {'object_name': 'Target_File'},
'directory': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'directory_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
'group': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'inodetype': ('django.db.models.fields.IntegerField', [], {}),
'owner': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'path': ('django.db.models.fields.FilePathField', [], {'max_length': '100'}),
'permission': ('django.db.models.fields.CharField', [], {'max_length': '16'}),
'size': ('django.db.models.fields.IntegerField', [], {}),
'sym_target': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'symlink_set'", 'null': 'True', 'to': u"orm['orm.Target_File']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.target_image_file': {
'Meta': {'object_name': 'Target_Image_File'},
'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '254'}),
'file_size': ('django.db.models.fields.IntegerField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.target_installed_package': {
'Meta': {'object_name': 'Target_Installed_Package'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'package': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buildtargetlist_package'", 'to': u"orm['orm.Package']"}),
'target': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['orm.Target']"})
},
u'orm.task': {
'Meta': {'ordering': "('order', 'recipe')", 'unique_together': "(('build', 'recipe', 'task_name'),)", 'object_name': 'Task'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_build'", 'to': u"orm['orm.Build']"}),
'cpu_usage': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
'disk_io': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'elapsed_time': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '6', 'decimal_places': '2'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'line_number': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'logfile': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'message': ('django.db.models.fields.CharField', [], {'max_length': '240'}),
'order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'outcome': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
'path_to_sstate_obj': ('django.db.models.fields.FilePathField', [], {'max_length': '500', 'blank': 'True'}),
'recipe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'build_recipe'", 'to': u"orm['orm.Recipe']"}),
'script_type': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'source_url': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'}),
'sstate_checksum': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),
'sstate_result': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'task_executed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'task_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'work_directory': ('django.db.models.fields.FilePathField', [], {'max_length': '255', 'blank': 'True'})
},
u'orm.task_dependency': {
'Meta': {'object_name': 'Task_Dependency'},
'depends_on': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_depends'", 'to': u"orm['orm.Task']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'task': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'task_dependencies_task'", 'to': u"orm['orm.Task']"})
},
u'orm.toastersetting': {
'Meta': {'object_name': 'ToasterSetting'},
'helptext': ('django.db.models.fields.TextField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '63'}),
'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
},
u'orm.variable': {
'Meta': {'object_name': 'Variable'},
'build': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'variable_build'", 'to': u"orm['orm.Build']"}),
'changed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'human_readable_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'variable_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'variable_value': ('django.db.models.fields.TextField', [], {'blank': 'True'})
},
u'orm.variablehistory': {
'Meta': {'object_name': 'VariableHistory'},
'file_name': ('django.db.models.fields.FilePathField', [], {'max_length': '255'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'line_number': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
'operation': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
'value': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'variable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'vhistory'", 'to': u"orm['orm.Variable']"})
}
}
complete_apps = ['orm']

View File

@@ -20,17 +20,39 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from django.db import models
from django.db.models import F
from django.utils.encoding import python_2_unicode_compatible
from django.db.models import F, Q
from django.utils import timezone
from django.core import validators
from django.conf import settings
class GitURLValidator(validators.URLValidator):
import re
regex = re.compile(
r'^(?:ssh|git|http|ftp)s?://' # http:// or https://
r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' # domain...
r'localhost|' # localhost...
r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|' # ...or ipv4
r'\[?[A-F0-9]*:[A-F0-9:]+\]?)' # ...or ipv6
r'(?::\d+)?' # optional port
r'(?:/?|[/?]\S+)$', re.IGNORECASE)
def GitURLField(**kwargs):
r = models.URLField(**kwargs)
for i in xrange(len(r.validators)):
if isinstance(r.validators[i], validators.URLValidator):
r.validators[i] = GitURLValidator()
return r
class ToasterSetting(models.Model):
name = models.CharField(max_length=63)
helptext = models.TextField()
value = models.CharField(max_length=255)
class ToasterSettingDefaultLayer(models.Model):
layer_version = models.ForeignKey('Layer_Version')
def __unicode__(self):
return "Setting %s = " % (self.name, self.value)
class ProjectManager(models.Manager):
def create_project(self, name, release):
@@ -43,12 +65,16 @@ class ProjectManager(models.Manager):
name = name,
value = defaultconf.value)
for layer in map(lambda x: x.layer, ReleaseDefaultLayer.objects.filter(release = release)):
for branches in Branch.objects.filter(name = release.branch):
for lv in Layer_Version.objects.filter(layer = layer, up_branch = branches ):
ProjectLayer.objects.create( project = prj,
for rdl in release.releasedefaultlayer_set.all():
try:
lv =Layer_Version.objects.filter(layer__name = rdl.layer_name, up_branch__name = release.branch_name)[0].get_equivalents_wpriority(prj)[0]
ProjectLayer.objects.create( project = prj,
layercommit = lv,
optional = False )
except IndexError:
# we may have no valid layer version objects, and that's ok
pass
return prj
@@ -59,6 +85,7 @@ class ProjectManager(models.Manager):
raise Exception("Invalid call to Project.objects.get_or_create. Use Project.objects.create_project() to create a project")
class Project(models.Model):
search_allowed_fields = ['name', 'short_description', 'release__name', 'release__branch_name']
name = models.CharField(max_length=100)
short_description = models.CharField(max_length=50, blank=True)
bitbake_version = models.ForeignKey('BitbakeVersion')
@@ -72,25 +99,115 @@ class Project(models.Model):
user_id = models.IntegerField(null = True)
objects = ProjectManager()
def __unicode__(self):
return "%s (Release %s, BBV %s)" % (self.name, self.release, self.bitbake_version)
def get_current_machine_name(self):
try:
return self.projectvariable_set.get(name="MACHINE").value
except (ProjectVariable.DoesNotExist,IndexError):
return( "None" );
def get_number_of_builds(self):
try:
return len(Build.objects.filter( project = self.id ))
except (Build.DoesNotExist,IndexError):
return( 0 )
def get_last_build_id(self):
try:
return Build.objects.filter( project = self.id ).order_by('-completed_on')[0].id
except (Build.DoesNotExist,IndexError):
return( -1 )
def get_last_outcome(self):
build_id = self.get_last_build_id
if (-1 == build_id):
return( "" )
try:
return Build.objects.filter( id = self.get_last_build_id )[ 0 ].outcome
except (Build.DoesNotExist,IndexError):
return( "not_found" )
def get_last_target(self):
build_id = self.get_last_build_id
if (-1 == build_id):
return( "" )
try:
return Target.objects.filter(build = build_id)[0].target
except (Target.DoesNotExist,IndexError):
return( "not_found" )
def get_last_errors(self):
build_id = self.get_last_build_id
if (-1 == build_id):
return( 0 )
try:
return Build.objects.filter(id = build_id)[ 0 ].errors_no
except (Build.DoesNotExist,IndexError):
return( "not_found" )
def get_last_warnings(self):
build_id = self.get_last_build_id
if (-1 == build_id):
return( 0 )
try:
return Build.objects.filter(id = build_id)[ 0 ].warnings_no
except (Build.DoesNotExist,IndexError):
return( "not_found" )
def get_last_imgfiles(self):
build_id = self.get_last_build_id
if (-1 == build_id):
return( "" )
try:
return Variable.objects.filter(build = build_id, variable_name = "IMAGE_FSTYPES")[ 0 ].variable_value
except (Variable.DoesNotExist,IndexError):
return( "not_found" )
# returns a queryset of compatible layers for a project
def compatible_layerversions(self, release = None, layer_name = None):
if release == None:
release = self.release
# layers on the same branch or layers specifically set for this project
queryset = Layer_Version.objects.filter((Q(up_branch__name = release.branch_name) & Q(project = None)) | Q(project = self) | Q(build__project = self))
if layer_name is not None:
# we select only a layer name
queryset = queryset.filter(layer__name = layer_name)
# order by layer version priority
queryset = queryset.filter(layer_source__releaselayersourcepriority__release = release).order_by("-layer_source__releaselayersourcepriority__priority")
return queryset
# returns a set of layer-equivalent set of layers already in project
def projectlayer_equivalent_set(self):
return [j for i in [x.layercommit.get_equivalents_wpriority(self) for x in self.projectlayer_set.all().select_related("up_branch")] for j in i]
def schedule_build(self):
from bldcontrol.models import BuildRequest, BRTarget, BRLayer, BRVariable, BRBitbake
br = BuildRequest.objects.create(project = self)
try:
BRBitbake.objects.create(req = br,
giturl = self.bitbake_version.giturl,
commit = self.bitbake_version.branch,
dirpath = self.bitbake_version.dirpath)
BRBitbake.objects.create(req = br,
giturl = self.bitbake_version.giturl,
commit = self.bitbake_version.branch,
dirpath = self.bitbake_version.dirpath)
for l in self.projectlayer_set.all():
BRLayer.objects.create(req = br, name = l.layercommit.layer.name, giturl = l.layercommit.layer.vcs_url, commit = l.layercommit.commit, dirpath = l.layercommit.dirpath)
for t in self.projecttarget_set.all():
BRTarget.objects.create(req = br, target = t.target, task = t.task)
for v in self.projectvariable_set.all():
BRVariable.objects.create(req = br, name = v.name, value = v.value)
for l in self.projectlayer_set.all().order_by("pk"):
commit = l.layercommit.get_vcs_reference()
print("ii Building layer ", l.layercommit.layer.name, " at vcs point ", commit)
BRLayer.objects.create(req = br, name = l.layercommit.layer.name, giturl = l.layercommit.layer.vcs_url, commit = commit, dirpath = l.layercommit.dirpath)
for t in self.projecttarget_set.all():
BRTarget.objects.create(req = br, target = t.target, task = t.task)
for v in self.projectvariable_set.all():
BRVariable.objects.create(req = br, name = v.name, value = v.value)
br.state = BuildRequest.REQ_QUEUED
br.save()
br.state = BuildRequest.REQ_QUEUED
br.save()
except Exception as e:
br.delete()
raise e
return br
class Build(models.Model):
@@ -131,10 +248,10 @@ class Build(models.Model):
def eta(self):
from django.utils import timezone
eta = 0
eta = timezone.now()
completeper = self.completeper()
if self.completeper() > 0:
eta = timezone.now() + ((timezone.now() - self.started_on)*(100-completeper)/completeper)
eta += ((eta - self.started_on)*(100-completeper))/completeper
return eta
@@ -142,12 +259,38 @@ class Build(models.Model):
tgts = Target.objects.filter(build_id = self.id).order_by( 'target' );
return( tgts );
@property
def toaster_exceptions(self):
return self.logmessage_set.filter(level=LogMessage.EXCEPTION)
# an Artifact is anything that results from a Build, and may be of interest to the user, and is not stored elsewhere
class BuildArtifact(models.Model):
build = models.ForeignKey(Build)
file_name = models.FilePathField()
file_size = models.IntegerField()
def get_local_file_name(self):
try:
deploydir = Variable.objects.get(build = self.build, variable_name="DEPLOY_DIR").variable_value
return self.file_name[len(deploydir)+1:]
except:
raise
return self.file_name
def is_available(self):
if settings.MANAGED and build.project is not None:
return build.buildrequest.environment.has_artifact(file_path)
return False
class ProjectTarget(models.Model):
project = models.ForeignKey(Project)
target = models.CharField(max_length=100)
task = models.CharField(max_length=100, null=True)
@python_2_unicode_compatible
class Target(models.Model):
search_allowed_fields = ['target', 'file_name']
build = models.ForeignKey(Build)
@@ -159,7 +302,7 @@ class Target(models.Model):
def package_count(self):
return Target_Installed_Package.objects.filter(target_id__exact=self.id).count()
def __str__(self):
def __unicode__(self):
return self.target
class Target_Image_File(models.Model):
@@ -195,10 +338,6 @@ class Target_File(models.Model):
sym_target = models.ForeignKey('Target_File', related_name="symlink_set", null=True)
class TaskManager(models.Manager):
def related_setscene(self, task_object):
return Task.objects.filter(task_executed=True, build = task_object.build, recipe = task_object.recipe, task_name=task_object.task_name+"_setscene")
class Task(models.Model):
SSTATE_NA = 0
@@ -253,10 +392,8 @@ class Task(models.Model):
search_allowed_fields = [ "recipe__name", "recipe__version", "task_name", "logfile" ]
objects = TaskManager()
def get_related_setscene(self):
return Task.objects.related_setscene(self)
return Task.objects.filter(task_executed=True, build = self.build, recipe = self.recipe, task_name=self.task_name+"_setscene")
def get_outcome_text(self):
return Task.TASK_OUTCOME[self.outcome + 1][1]
@@ -276,11 +413,14 @@ class Task(models.Model):
return "Not Executed"
def get_description(self):
helptext = HelpText.objects.filter(key=self.task_name, area=HelpText.VARIABLE, build=self.build)
if '_helptext' in vars(self) and self._helptext != None:
return self._helptext
try:
return helptext[0].text
except IndexError:
return ''
self._helptext = HelpText.objects.get(key=self.task_name, area=HelpText.VARIABLE, build=self.build).text
except HelpText.DoesNotExist:
self._helptext = None
return self._helptext
build = models.ForeignKey(Build, related_name='task_build')
order = models.IntegerField(null=True)
@@ -288,7 +428,7 @@ class Task(models.Model):
outcome = models.IntegerField(choices=TASK_OUTCOME, default=OUTCOME_NA)
sstate_checksum = models.CharField(max_length=100, blank=True)
path_to_sstate_obj = models.FilePathField(max_length=500, blank=True)
recipe = models.ForeignKey('Recipe', related_name='build_recipe')
recipe = models.ForeignKey('Recipe', related_name='tasks')
task_name = models.CharField(max_length=100)
source_url = models.FilePathField(max_length=255, blank=True)
work_directory = models.FilePathField(max_length=255, blank=True)
@@ -304,6 +444,9 @@ class Task(models.Model):
outcome_text = property(get_outcome_text)
sstate_text = property(get_sstate_text)
def __unicode__(self):
return "%d(%d) %s:%s" % (self.pk, self.build.pk, self.recipe.name, self.task_name)
class Meta:
ordering = ('order', 'recipe' ,)
unique_together = ('build', 'recipe', 'task_name', )
@@ -321,7 +464,7 @@ class Package(models.Model):
installed_name = models.CharField(max_length=100, default='')
version = models.CharField(max_length=100, blank=True)
revision = models.CharField(max_length=32, blank=True)
summary = models.CharField(max_length=200, blank=True)
summary = models.TextField(blank=True)
description = models.TextField(blank=True)
size = models.IntegerField(default=0)
installed_size = models.IntegerField(default=0)
@@ -354,10 +497,10 @@ class Package_Dependency(models.Model):
(TYPE_RREPLACES, "replaces"),
(TYPE_RCONFLICTS, "conflicts"),
)
''' Indexed by dep_type, in view order, key for short name and help
""" Indexed by dep_type, in view order, key for short name and help
description which when viewed will be printf'd with the
package name.
'''
"""
DEPENDS_DICT = {
TYPE_RDEPENDS : ("depends", "%s is required to run %s"),
TYPE_TRDEPENDS : ("depends", "%s is required to run %s"),
@@ -385,7 +528,7 @@ class Package_File(models.Model):
size = models.IntegerField()
class Recipe(models.Model):
search_allowed_fields = ['name', 'version', 'file_path', 'section', 'license', 'layer_version__layer__name', 'layer_version__branch', 'layer_version__commit', 'layer_version__layer__local_path']
search_allowed_fields = ['name', 'version', 'file_path', 'section', 'summary', 'description', 'license', 'layer_version__layer__name', 'layer_version__branch', 'layer_version__commit', 'layer_version__layer__local_path', 'layer_version__layer_source__name']
layer_source = models.ForeignKey('LayerSource', default = None, null = True) # from where did we get this recipe
up_id = models.IntegerField(null = True, default = None) # id of entry in the source
@@ -394,7 +537,7 @@ class Recipe(models.Model):
name = models.CharField(max_length=100, blank=True) # pn
version = models.CharField(max_length=100, blank=True) # pv
layer_version = models.ForeignKey('Layer_Version', related_name='recipe_layer_version')
summary = models.CharField(max_length=100, blank=True)
summary = models.TextField(blank=True)
description = models.TextField(blank=True)
section = models.CharField(max_length=100, blank=True)
license = models.CharField(max_length=200, blank=True)
@@ -402,11 +545,6 @@ class Recipe(models.Model):
bugtracker = models.URLField(blank=True)
file_path = models.FilePathField(max_length=255)
def get_vcs_link_url(self):
if self.layer_version.layer.vcs_web_file_base_url is None:
return ""
return self.layer_version.layer.vcs_web_file_base_url.replace('%path%', self.file_path).replace('%branch%', self.layer_version.up_branch.name)
def get_layersource_view_url(self):
if self.layer_source is None:
return ""
@@ -417,6 +555,15 @@ class Recipe(models.Model):
def __unicode__(self):
return "Recipe " + self.name + ":" + self.version
def get_local_path(self):
if settings.MANAGED and self.layer_version.build.project is not None:
return self.file_path[len(self.layer_version.layer.local_path)+1:]
return self.file_path
class Meta:
unique_together = ("layer_version", "file_path")
class Recipe_DependencyManager(models.Manager):
use_for_related_fields = True
@@ -438,6 +585,7 @@ class Recipe_Dependency(models.Model):
class Machine(models.Model):
search_allowed_fields = ["name", "description", "layer_version__layer__name"]
layer_source = models.ForeignKey('LayerSource', default = None, null = True) # from where did we get this machine
up_id = models.IntegerField(null = True, default = None) # id of entry in the source
up_date = models.DateTimeField(null = True, default = None)
@@ -446,6 +594,11 @@ class Machine(models.Model):
name = models.CharField(max_length=255)
description = models.CharField(max_length=255)
def get_vcs_machine_file_link_url(self):
path = 'conf/machine/'+self.name+'.conf'
return self.layer_version.get_vcs_file_link_url(path)
def __unicode__(self):
return "Machine " + self.name + "(" + self.description + ")"
@@ -469,33 +622,47 @@ class LayerSource(models.Model):
TYPE_LOCAL = 0
TYPE_LAYERINDEX = 1
TYPE_IMPORTED = 2
SOURCE_TYPE = (
(TYPE_LOCAL, "local"),
(TYPE_LAYERINDEX, "layerindex"),
(TYPE_IMPORTED, "imported"),
)
name = models.CharField(max_length=63)
name = models.CharField(max_length=63, unique = True)
sourcetype = models.IntegerField(choices=SOURCE_TYPE)
apiurl = models.CharField(max_length=255, null=True, default=None)
def update(self):
"""
Updates the local database information from the upstream layer source
"""
raise Exception("Abstract, update() must be implemented by all LayerSource-derived classes (object is %s)" % str(vars(self)))
def save(self, *args, **kwargs):
if isinstance(self, LocalLayerSource):
self.sourcetype = LayerSource.TYPE_LOCAL
elif isinstance(self, LayerIndexLayerSource):
self.sourcetype = LayerSource.TYPE_LAYERINDEX
elif isinstance(self, ImportedLayerSource):
self.sourcetype = LayerSource.TYPE_IMPORTED
elif self.sourcetype == None:
raise Exception("Invalid LayerSource type")
raise Exception("Unknown LayerSource-derived class. If you added a new layer source type, fill out all code stubs.")
return super(LayerSource, self).save(*args, **kwargs)
def get_object(self):
if self.sourcetype is not None:
if self.sourcetype == LayerSource.TYPE_LOCAL:
self.__class__ = LocalLayerSource
if self.sourcetype == LayerSource.TYPE_LAYERINDEX:
self.__class__ = LayerIndexLayerSource
if self.sourcetype == LayerSource.TYPE_LOCAL:
self.__class__ = LocalLayerSource
elif self.sourcetype == LayerSource.TYPE_LAYERINDEX:
self.__class__ = LayerIndexLayerSource
elif self.sourcetype == LayerSource.TYPE_IMPORTED:
self.__class__ = ImportedLayerSource
else:
raise Exception("Unknown LayerSource type. If you added a new layer source type, fill out all code stubs.")
return self
return "LS " + self.sourcetype + " " + self.name
def __unicode__(self):
return "%s (%s)" % (self.name, self.sourcetype)
class LocalLayerSource(LayerSource):
@@ -507,11 +674,26 @@ class LocalLayerSource(LayerSource):
self.sourcetype = LayerSource.TYPE_LOCAL
def update(self):
'''
"""
Fetches layer, recipe and machine information from local repository
'''
"""
pass
class ImportedLayerSource(LayerSource):
class Meta(LayerSource._meta.__class__):
proxy = True
def __init__(self, *args, **kwargs):
super(ImportedLayerSource, self).__init__(args, kwargs)
self.sourcetype = LayerSource.TYPE_IMPORTED
def update(self):
"""
Fetches layer, recipe and machine information from local repository
"""
pass
class LayerIndexLayerSource(LayerSource):
class Meta(LayerSource._meta.__class__):
proxy = True
@@ -521,42 +703,67 @@ class LayerIndexLayerSource(LayerSource):
self.sourcetype = LayerSource.TYPE_LAYERINDEX
def get_object_view(self, branch, objectype, upid):
if self != branch.layer_source:
raise Exception("Invalid branch specification")
return self.apiurl + "../branch/" + branch.name + "/" + objectype + "/?q=" + str(upid)
def update(self):
'''
"""
Fetches layer, recipe and machine information from remote repository
'''
"""
assert self.apiurl is not None
from django.db import IntegrityError
from django.db import transaction, connection
import httplib, urlparse, json
import os
proxy_settings = os.environ.get("http_proxy", None)
def _get_json_response(apiurl = self.apiurl):
import httplib, urlparse, json
parsedurl = urlparse.urlparse(apiurl)
(host, port) = parsedurl.netloc.split(":")
if port is None:
port = 80
conn = None
_parsedurl = urlparse.urlparse(apiurl)
path = _parsedurl.path
query = _parsedurl.query
def parse_url(url):
parsedurl = urlparse.urlparse(url)
try:
(host, port) = parsedurl.netloc.split(":")
except ValueError:
host = parsedurl.netloc
port = None
if port is None:
port = 80
else:
port = int(port)
return (host, port)
if proxy_settings is None:
host, port = parse_url(apiurl)
conn = httplib.HTTPConnection(host, port)
conn.request("GET", path + "?" + query)
else:
port = int(port)
#print "-- connect to: http://%s:%s%s?%s" % (host, port, parsedurl.path, parsedurl.query)
conn = httplib.HTTPConnection(host, port)
conn.request("GET", parsedurl.path + "?" + parsedurl.query)
host, port = parse_url(proxy_settings)
conn = httplib.HTTPConnection(host, port)
conn.request("GET", apiurl)
r = conn.getresponse()
if r.status != 200:
raise Exception("Failed to read " + parsedurl.path + ": %d %s" % (r.status, r.reason))
raise Exception("Failed to read " + path + ": %d %s" % (r.status, r.reason))
return json.loads(r.read())
# verify we can get the basic api
try:
apilinks = _get_json_response()
except:
print "EE: could not connect to %s, skipping update" % self.apiurl
except Exception as e:
import traceback
if proxy_settings is not None:
print "EE: Using proxy ", proxy_settings
print "EE: could not connect to %s, skipping update: %s\n%s" % (self.apiurl, e, traceback.format_exc(e))
return
# update branches; only those that we already have names listed in the database
whitelist_branch_names = map(lambda x: x.name, Branch.objects.all())
# update branches; only those that we already have names listed in the Releases table
whitelist_branch_names = map(lambda x: x.branch_name, Release.objects.all())
print "Fetching branches"
branches_info = _get_json_response(apilinks['branches']
+ "?filter=name:%s" % "OR".join(whitelist_branch_names))
for bi in branches_info:
@@ -564,90 +771,160 @@ class LayerIndexLayerSource(LayerSource):
b.up_id = bi['id']
b.up_date = bi['updated']
b.name = bi['name']
b.bitbake_branch = bi['bitbake_branch']
b.short_description = bi['short_description']
b.save()
# update layers
layers_info = _get_json_response(apilinks['layerItems'])
if not connection.features.autocommits_when_autocommit_is_off:
transaction.set_autocommit(False)
for li in layers_info:
l, created = Layer.objects.get_or_create(layer_source = self, up_id = li['id'])
l, created = Layer.objects.get_or_create(layer_source = self, name = li['name'])
l.up_id = li['id']
l.up_date = li['updated']
l.name = li['name']
l.vcs_url = li['vcs_url']
l.vcs_web_url = li['vcs_web_url']
l.vcs_web_tree_base_url = li['vcs_web_tree_base_url']
l.vcs_web_file_base_url = li['vcs_web_file_base_url']
l.summary = li['summary']
l.description = li['description']
l.save()
if not connection.features.autocommits_when_autocommit_is_off:
transaction.set_autocommit(True)
# update layerbranches/layer_versions
print "Fetching layer information"
layerbranches_info = _get_json_response(apilinks['layerBranches']
+ "?filter=branch:%s" % "OR".join(map(lambda x: str(x.up_id), Branch.objects.filter(layer_source = self)))
+ "?filter=branch:%s" % "OR".join(map(lambda x: str(x.up_id), [i for i in Branch.objects.filter(layer_source = self) if i.up_id is not None] ))
)
if not connection.features.autocommits_when_autocommit_is_off:
transaction.set_autocommit(False)
for lbi in layerbranches_info:
lv, created = Layer_Version.objects.get_or_create(layer_source = self, up_id = lbi['id'])
lv, created = Layer_Version.objects.get_or_create(layer_source = self,
up_id = lbi['id'],
layer=Layer.objects.get(layer_source = self, up_id = lbi['layer'])
)
lv.up_date = lbi['updated']
lv.layer = Layer.objects.get(layer_source = self, up_id = lbi['layer'])
lv.up_branch = Branch.objects.get(layer_source = self, up_id = lbi['branch'])
lv.branch = lbi['actual_branch']
lv.commit = lbi['vcs_last_rev']
lv.commit = lbi['actual_branch']
lv.dirpath = lbi['vcs_subdir']
lv.save()
if not connection.features.autocommits_when_autocommit_is_off:
transaction.set_autocommit(True)
# update layer dependencies
layerdependencies_info = _get_json_response(apilinks['layerDependencies'])
dependlist = {}
if not connection.features.autocommits_when_autocommit_is_off:
transaction.set_autocommit(False)
for ldi in layerdependencies_info:
try:
lv = Layer_Version.objects.get(layer_source = self, up_id = ldi['layerbranch'])
except Layer_Version.DoesNotExist as e:
continue
if lv not in dependlist:
dependlist[lv] = []
try:
dependlist[lv].append(Layer_Version.objects.get(layer_source = self, layer__up_id = ldi['dependency'], up_branch = lv.up_branch))
except Layer_Version.DoesNotExist as e:
print "Cannot find layer version ", self, ldi['dependency'], lv.up_branch
raise e
for lv in dependlist:
LayerVersionDependency.objects.filter(layer_version = lv).delete()
for lvd in dependlist[lv]:
LayerVersionDependency.objects.get_or_create(layer_version = lv, depends_on = lvd)
if not connection.features.autocommits_when_autocommit_is_off:
transaction.set_autocommit(True)
# update machines
print "Fetching machine information"
machines_info = _get_json_response(apilinks['machines']
+ "?filter=layerbranch:%s" % "OR".join(map(lambda x: str(x.up_id), Layer_Version.objects.filter(layer_source = self)))
)
if not connection.features.autocommits_when_autocommit_is_off:
transaction.set_autocommit(False)
for mi in machines_info:
mo, created = Machine.objects.get_or_create(layer_source = self, up_id = mi['id'])
mo, created = Machine.objects.get_or_create(layer_source = self, up_id = mi['id'], layer_version = Layer_Version.objects.get(layer_source = self, up_id = mi['layerbranch']))
mo.up_date = mi['updated']
mo.layer_version = Layer_Version.objects.get(layer_source = self, up_id = mi['layerbranch'])
mo.name = mi['name']
mo.description = mi['description']
mo.save()
if not connection.features.autocommits_when_autocommit_is_off:
transaction.set_autocommit(True)
# update recipes; paginate by layer version / layer branch
print "Fetching target information"
recipes_info = _get_json_response(apilinks['recipes']
+ "?filter=layerbranch:%s" % "OR".join(map(lambda x: str(x.up_id), Layer_Version.objects.filter(layer_source = self)))
)
if not connection.features.autocommits_when_autocommit_is_off:
transaction.set_autocommit(False)
for ri in recipes_info:
ro, created = Recipe.objects.get_or_create(layer_source = self, up_id = ri['id'])
ro.up_date = ri['updated']
ro.layer_version = Layer_Version.objects.get(layer_source = self, up_id = mi['layerbranch'])
ro.name = ri['pn']
ro.version = ri['pv']
ro.summary = ri['summary']
ro.description = ri['description']
ro.section = ri['section']
ro.license = ri['license']
ro.homepage = ri['homepage']
ro.bugtracker = ri['bugtracker']
ro.file_path = ri['filepath'] + ri['filename']
ro.save()
try:
ro, created = Recipe.objects.get_or_create(layer_source = self, up_id = ri['id'], layer_version = Layer_Version.objects.get(layer_source = self, up_id = ri['layerbranch']))
ro.up_date = ri['updated']
ro.name = ri['pn']
ro.version = ri['pv']
ro.summary = ri['summary']
ro.description = ri['description']
ro.section = ri['section']
ro.license = ri['license']
ro.homepage = ri['homepage']
ro.bugtracker = ri['bugtracker']
ro.file_path = ri['filepath'] + "/" + ri['filename']
ro.save()
except:
#print "Duplicate Recipe, ignoring: ", vars(ro)
pass
if not connection.features.autocommits_when_autocommit_is_off:
transaction.set_autocommit(True)
pass
class BitbakeVersion(models.Model):
name = models.CharField(max_length=32, unique = True)
giturl = models.URLField()
giturl = GitURLField()
branch = models.CharField(max_length=32)
dirpath = models.CharField(max_length=255)
def __unicode__(self):
return "%s (Branch: %s)" % (self.name, self.branch)
class Release(models.Model):
""" A release is a project template, used to pre-populate Project settings with a configuration set """
name = models.CharField(max_length=32, unique = True)
description = models.CharField(max_length=255)
bitbake_version = models.ForeignKey(BitbakeVersion)
branch = models.CharField(max_length=32)
branch_name = models.CharField(max_length=50, default = "")
helptext = models.TextField(null=True)
def __unicode__(self):
return "%s (%s)" % (self.name, self.branch_name)
class ReleaseLayerSourcePriority(models.Model):
""" Each release selects layers from the set up layer sources, ordered by priority """
release = models.ForeignKey("Release")
layer_source = models.ForeignKey("LayerSource")
priority = models.IntegerField(default = 0)
def __unicode__(self):
return "%s-%s:%d" % (self.release.name, self.layer_source.name, self.priority)
class Meta:
unique_together = (('release', 'layer_source'),)
class ReleaseDefaultLayer(models.Model):
release = models.ForeignKey(Release)
layer = models.ForeignKey('Layer')
layer_name = models.CharField(max_length=100, default="")
# Branch class is synced with layerindex.Branch, branches can only come from remote layer indexes
@@ -657,7 +934,6 @@ class Branch(models.Model):
up_date = models.DateTimeField(null = True, default = None)
name = models.CharField(max_length=50)
bitbake_branch = models.CharField(max_length=50, blank=True)
short_description = models.CharField(max_length=50, blank=True)
class Meta:
@@ -677,14 +953,16 @@ class Layer(models.Model):
name = models.CharField(max_length=100)
local_path = models.FilePathField(max_length=255, null = True, default = None)
layer_index_url = models.URLField()
vcs_url = models.URLField(default = None, null = True)
vcs_url = GitURLField(default = None, null = True)
vcs_web_url = models.URLField(null = True, default = None)
vcs_web_tree_base_url = models.URLField(null = True, default = None)
vcs_web_file_base_url = models.URLField(null = True, default = None)
summary = models.CharField(max_length=200, help_text='One-line description of the layer', null = True, default = None)
summary = models.TextField(help_text='One-line description of the layer', null = True, default = None)
description = models.TextField(null = True, default = None)
def __unicode__(self):
return "L " + self.name
return "%s / %s " % (self.name, self.layer_source)
class Meta:
unique_together = (("layer_source", "up_id"), ("layer_source", "name"))
@@ -692,7 +970,7 @@ class Layer(models.Model):
# LayerCommit class is synced with layerindex.LayerBranch
class Layer_Version(models.Model):
search_allowed_fields = ["layer__name", "layer__summary",]
search_allowed_fields = ["layer__name", "layer__summary", "layer__description", "layer__vcs_url", "dirpath", "up_branch__name", "commit", "branch"]
build = models.ForeignKey(Build, related_name='layer_version_build', default = None, null = True)
layer = models.ForeignKey(Layer, related_name='layer_version_layer')
@@ -706,8 +984,106 @@ class Layer_Version(models.Model):
dirpath = models.CharField(max_length=255, null = True, default = None) # LayerBranch.vcs_subdir
priority = models.IntegerField(default = 0) # if -1, this is a default layer
project = models.ForeignKey('Project', null = True, default = None) # Set if this layer is project-specific; always set for imported layers, and project-set branches
# code lifted, with adaptations, from the layerindex-web application https://git.yoctoproject.org/cgit/cgit.cgi/layerindex-web/
def _handle_url_path(self, base_url, path):
import re, posixpath
if base_url:
if self.dirpath:
if path:
extra_path = self.dirpath + '/' + path
# Normalise out ../ in path for usage URL
extra_path = posixpath.normpath(extra_path)
# Minor workaround to handle case where subdirectory has been added between branches
# (should probably support usage URL per branch to handle this... sigh...)
if extra_path.startswith('../'):
extra_path = extra_path[3:]
else:
extra_path = self.dirpath
else:
extra_path = path
branchname = self.up_branch.name
url = base_url.replace('%branch%', branchname)
# If there's a % in the path (e.g. a wildcard bbappend) we need to encode it
if extra_path:
extra_path = extra_path.replace('%', '%25')
if '%path%' in base_url:
if extra_path:
url = re.sub(r'\[([^\]]*%path%[^\]]*)\]', '\\1', url)
else:
url = re.sub(r'\[([^\]]*%path%[^\]]*)\]', '', url)
return url.replace('%path%', extra_path)
else:
return url + extra_path
return None
def get_vcs_link_url(self):
if self.layer.vcs_web_url is None:
return None
return self.layer.vcs_web_url
def get_vcs_file_link_url(self, file_path=""):
if self.layer.vcs_web_file_base_url is None:
return None
return self._handle_url_path(self.layer.vcs_web_file_base_url, file_path)
def get_vcs_dirpath_link_url(self):
if self.layer.vcs_web_tree_base_url is None:
return None
return self._handle_url_path(self.layer.vcs_web_tree_base_url, '')
def get_equivalents_wpriority(self, project):
""" Returns an ordered layerversion list that satisfies a LayerVersionDependency using the layer name and the current Project Releases' LayerSource priority """
# layers created for this project, or coming from a build inthe project
query = Q(project = project) | Q(build__project = project)
if self.up_branch is not None:
# the same up_branch name
query |= Q(up_branch__name=self.up_branch.name)
else:
# or we have a layer in the project that's similar to mine (See the layer.name constraint below)
query |= Q(projectlayer__project=project)
candidate_layer_versions = list(Layer_Version.objects.filter(layer__name = self.layer.name).filter(query).select_related('layer_source', 'layer', 'up_branch').order_by("-id"))
# optimization - if we have only one, we don't need no stinking sort
if len(candidate_layer_versions) == 1:
return candidate_layer_versions
# raise Exception(candidate_layer_versions)
release_priorities = {}
for ls_id, prio in map(lambda x: (x.layer_source_id, x.priority), project.release.releaselayersourcepriority_set.all().order_by("-priority")):
release_priorities[ls_id] = prio
def _get_ls_priority(ls):
# if there is no layer source, we have minus infinite priority, as we don't want this layer selected
if ls == None:
return -10000
try:
return release_priorities[ls.id]
except IndexError:
raise Exception("Unknown %d %s" % (ls.id, release_priorities))
return sorted( candidate_layer_versions ,
key = lambda x: _get_ls_priority(x.layer_source),
reverse = True)
def get_vcs_reference(self):
if self.commit is not None and len(self.commit) > 0:
return self.commit
if self.branch is not None and len(self.branch) > 0:
return self.branch
if self.up_branch is not None:
return self.up_branch.name
return ("Cannot determine the vcs_reference for layer version %s" % vars(self))
def __unicode__(self):
return "LV " + str(self.layer) + " " + self.commit
return "%d %s (VCS %s, Project %s)" % (self.pk, str(self.layer), self.get_vcs_reference(), self.build.project if self.build is not None else "No project")
class Meta:
unique_together = ("layer_source", "up_id")
@@ -727,6 +1103,12 @@ class ProjectLayer(models.Model):
layercommit = models.ForeignKey(Layer_Version, null=True)
optional = models.BooleanField(default = True)
def __unicode__(self):
return "%s, %s" % (self.project.name, self.layercommit)
class Meta:
unique_together = (("project", "layercommit"),)
class ProjectVariable(models.Model):
project = models.ForeignKey(Project)
name = models.CharField(max_length=100)
@@ -759,13 +1141,15 @@ class HelpText(models.Model):
text = models.TextField()
class LogMessage(models.Model):
EXCEPTION = -1 # used to signal self-toaster-exceptions
INFO = 0
WARNING = 1
ERROR = 2
LOG_LEVEL = ( (INFO, "info"),
(WARNING, "warn"),
(ERROR, "error") )
(ERROR, "error"),
(EXCEPTION, "toaster exception"))
build = models.ForeignKey(Build)
task = models.ForeignKey(Task, blank = True, null=True)

View File

@@ -1,16 +1,25 @@
from django.test import TestCase
from orm.models import LocalLayerSource, LayerIndexLayerSource, LayerSource
from orm.models import LocalLayerSource, LayerIndexLayerSource, ImportedLayerSource, LayerSource
from orm.models import Branch
from orm.models import Project, Build, Layer, Layer_Version, Branch, ProjectLayer
from orm.models import Release, ReleaseLayerSourcePriority, BitbakeVersion
from django.utils import timezone
# tests to verify inheritance for the LayerSource proxy-inheritance classes
class LayerSourceVerifyInheritanceSaveLoad(TestCase):
def test_object_creation(self):
lls = LayerSource.objects.create(name = "a1", sourcetype = LayerSource.TYPE_LOCAL, apiurl = "")
lils = LayerSource.objects.create(name = "a1", sourcetype = LayerSource.TYPE_LAYERINDEX, apiurl = "")
lils = LayerSource.objects.create(name = "a2", sourcetype = LayerSource.TYPE_LAYERINDEX, apiurl = "")
imls = LayerSource.objects.create(name = "a3", sourcetype = LayerSource.TYPE_IMPORTED, apiurl = "")
print LayerSource.objects.all()
import pprint
pprint.pprint([(x.__class__,vars(x)) for x in LayerSource.objects.all()])
self.assertTrue(True in map(lambda x: isinstance(x, LocalLayerSource), LayerSource.objects.all()))
self.assertTrue(True in map(lambda x: isinstance(x, LayerIndexLayerSource), LayerSource.objects.all()))
self.assertTrue(True in map(lambda x: isinstance(x, ImportedLayerSource), LayerSource.objects.all()))
def test_duplicate_error(self):
def duplicate():
@@ -18,9 +27,9 @@ class LayerSourceVerifyInheritanceSaveLoad(TestCase):
LayerSource.objects.create(name = "a1", sourcetype = LayerSource.TYPE_LOCAL, apiurl = "")
self.assertRaises(Exception, duplicate)
# test to verify the layer source update functionality for layerindex. edit to pass the URL to a layerindex application
class LILSUpdateTestCase(TestCase):
def test_update(self):
lils = LayerSource.objects.create(name = "b1", sourcetype = LayerSource.TYPE_LAYERINDEX, apiurl = "http://adamian-desk.local:8080/layerindex/api/")
@@ -31,3 +40,126 @@ class LILSUpdateTestCase(TestCase):
# print vars(lils)
#print map(lambda x: vars(x), Branch.objects.all())
# run asserts
self.assertTrue(lils.branch_set.all().count() > 0, "update() needs to fetch some branches")
# tests to verify layer_version priority selection
class LayerVersionEquivalenceTestCase(TestCase):
def setUp(self):
# create layer sources
ls = LayerSource.objects.create(name = "dummy-layersource", sourcetype = LayerSource.TYPE_LOCAL)
# create bitbake version
bbv = BitbakeVersion.objects.create(name="master", giturl="git://git.openembedded.org/bitbake")
# create release
release = Release.objects.create(name="default-release", bitbake_version = bbv, branch_name = "master")
# attach layer source to release
ReleaseLayerSourcePriority.objects.create(release = release, layer_source = ls, priority = 1)
# create layer attach
self.layer = Layer.objects.create(name="meta-testlayer", layer_source = ls)
# create branch
self.branch = Branch.objects.create(name="master", layer_source = ls)
# set a layer version for the layer on the specified branch
self.layerversion = Layer_Version.objects.create(layer = self.layer, layer_source = ls, up_branch = self.branch)
# create spoof layer that should not appear in the search results
Layer_Version.objects.create(layer = Layer.objects.create(name="meta-notvalid", layer_source = ls), layer_source = ls, up_branch = self.branch)
# create a project ...
self.project = Project.objects.create_project(name="test-project", release = release)
# ... and set it up with a single layer version
ProjectLayer.objects.create(project= self.project, layercommit = self.layerversion)
def test_single_layersource(self):
# when we have a single layer version, get_equivalents_wpriority() should return a list with just this layer_version
equivalent_list = self.layerversion.get_equivalents_wpriority(self.project)
self.assertTrue(len(equivalent_list) == 1)
self.assertTrue(equivalent_list[0] == self.layerversion)
def test_dual_layersource(self):
# if we have two layers with the same name, from different layer sources, we expect both layers in, in increasing priority of the layer source
ls2 = LayerSource.objects.create(name = "dummy-layersource2", sourcetype = LayerSource.TYPE_LOCAL)
# assign a lower priority for the second layer source
Release.objects.get(name="default-release").releaselayersourcepriority_set.create(layer_source = ls2, priority = 2)
# create a new layer_version for a layer with the same name coming from the second layer source
self.layer2 = Layer.objects.create(name="meta-testlayer", layer_source = ls2)
self.layerversion2 = Layer_Version.objects.create(layer = self.layer2, layer_source = ls2, up_branch = self.branch)
# expect two layer versions, in the priority order
equivalent_list = self.layerversion.get_equivalents_wpriority(self.project)
self.assertTrue(len(equivalent_list) == 2)
self.assertTrue(equivalent_list[0] == self.layerversion2)
self.assertTrue(equivalent_list[1] == self.layerversion)
def test_build_layerversion(self):
# any layer version coming from the build should show up before any layer version coming from upstream
build = Build.objects.create(project = self.project, started_on = timezone.now(), completed_on = timezone.now())
self.layerversion_build = Layer_Version.objects.create(layer = self.layer, build = build, commit = "deadbeef")
# a build layerversion must be in the equivalence list for the original layerversion
equivalent_list = self.layerversion.get_equivalents_wpriority(self.project)
self.assertTrue(len(equivalent_list) == 2)
self.assertTrue(equivalent_list[0] == self.layerversion)
self.assertTrue(equivalent_list[1] == self.layerversion_build)
# getting the build layerversion equivalent list must return the same list as the original layer
build_equivalent_list = self.layerversion_build.get_equivalents_wpriority(self.project)
self.assertTrue(equivalent_list == build_equivalent_list, "%s is not %s" % (equivalent_list, build_equivalent_list))
class ProjectLVSelectionTestCase(TestCase):
def setUp(self):
# create layer sources
ls = LayerSource.objects.create(name = "dummy-layersource", sourcetype = LayerSource.TYPE_LOCAL)
# create bitbake version
bbv = BitbakeVersion.objects.create(name="master", giturl="git://git.openembedded.org/bitbake")
# create release
release = Release.objects.create(name="default-release", bitbake_version = bbv, branch_name="master")
# attach layer source to release
ReleaseLayerSourcePriority.objects.create(release = release, layer_source = ls, priority = 1)
# create layer attach
self.layer = Layer.objects.create(name="meta-testlayer", layer_source = ls)
# create branch
self.branch = Branch.objects.create(name="master", layer_source = ls)
# set a layer version for the layer on the specified branch
self.layerversion = Layer_Version.objects.create(layer = self.layer, layer_source = ls, up_branch = self.branch)
# create a project ...
self.project = Project.objects.create_project(name="test-project", release = release)
# ... and set it up with a single layer version
ProjectLayer.objects.create(project= self.project, layercommit = self.layerversion)
def test_single_layersource(self):
compatible_layerversions = self.project.compatible_layerversions()
self.assertTrue(len(compatible_layerversions) == 1)
self.assertTrue(compatible_layerversions[0] == self.layerversion)
def test_dual_layersource(self):
# if we have two layers with the same name, from different layer sources, we expect both layers in, in increasing priority of the layer source
ls2 = LayerSource.objects.create(name = "dummy-layersource2", sourcetype = LayerSource.TYPE_LOCAL)
# assign a lower priority for the second layer source
Release.objects.get(name="default-release").releaselayersourcepriority_set.create(layer_source = ls2, priority = 2)
# create a new layer_version for a layer with the same name coming from the second layer source
self.layer2 = Layer.objects.create(name="meta-testlayer", layer_source = ls2)
self.layerversion2 = Layer_Version.objects.create(layer = self.layer2, layer_source = ls2, up_branch = self.branch)
# expect two layer versions, in the priority order
equivalent_list = self.project.compatible_layerversions()
self.assertTrue(len(equivalent_list) == 2)
self.assertTrue(equivalent_list[0] == self.layerversion2)
self.assertTrue(equivalent_list[1] == self.layerversion)

View File

@@ -0,0 +1,27 @@
#
# BitBake Toaster Implementation
#
# Copyright (C) 2014 Intel Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from django.conf.urls import patterns, include, url
from django.views.generic import RedirectView
urlpatterns = patterns('orm.views',
# landing point for pushing a bitbake_eventlog.json file to this toaster instace
url(r'^eventfile$', 'eventfile', name='eventfile'),
)

View File

@@ -0,0 +1,60 @@
#
# BitBake Toaster Implementation
#
# Copyright (C) 2014 Intel Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from django.views.decorators.cache import cache_control
from django.core.urlresolvers import reverse
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.http import HttpResponseBadRequest, HttpResponse
from django.utils import timezone
from django.utils.html import escape
from datetime import timedelta
from django.utils import formats
from toastergui.templatetags.projecttags import json as jsonfilter
import json
import os
import tempfile
import subprocess
import toastermain
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def eventfile(request):
""" Receives a file by POST, and runs toaster-eventreply on this file """
if request.method != "POST":
return HttpResponseBadRequest("This API only accepts POST requests. Post a file with:\n\ncurl -F eventlog=@bitbake_eventlog.json http[s]://[server-address]/orm/eventfile\n", content_type="text/plain;utf8")
# write temporary file
(handle, abstemppath) = tempfile.mkstemp(dir="/tmp/")
with os.fdopen(handle, "w") as tmpfile:
for chunk in request.FILES['eventlog'].chunks():
tmpfile.write(chunk)
tmpfile.close()
# compute the path to "bitbake/bin/toaster-eventreplay"
from os.path import dirname as DN
import_script = os.path.join(DN(DN(DN(DN(os.path.abspath(__file__))))), "bin/toaster-eventreplay")
if not os.path.exists(import_script):
raise Exception("script missing %s" % import_script)
scriptenv = os.environ.copy()
scriptenv["DATABASE_URL"] = toastermain.settings.getDATABASE_URL()
# run the data loading process and return the results
(out, err) = subprocess.Popen([import_script, abstemppath], stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=scriptenv).communicate()
os.remove(abstemppath)
return HttpResponse("%s\n%s" % (out, err), content_type="text/plain;utf8")

View File

@@ -2,16 +2,27 @@
.logo img { height: 30px; width: auto !important; }
.logo { padding-top: 4px !important; padding-bottom:0px !important; }
/* style the version information */
.brand > a { color: #777; }
.brand > a:hover { color: #999; text-decoration: none; }
.icon-info-sign { color: #777; font-size: 16px; margin-left: 5px;}
.icon-info-sign:hover { color: #999; cursor: pointer; }
/* Style the breadcrumb */
.breadcrumb { display: inline-block; background-color: transparent; }
.section { margin: 20px 0; }
/* Styles for the help information */
.get-help { color: #CCCCCC; }
.get-help:hover { color: #999999; cursor: pointer; }
.get-help:hover, .icon-plus-sign:hover { color: #999999; cursor: pointer; }
.get-help-blue { color: #3A87AD; }
.get-help-blue:hover { color: #005580; cursor: pointer; }
.manual { margin-top: 11px; }
.get-help-yellow { color: #C09853; }
.get-help-yellow:hover { color: #B38942; cursor: pointer; }
.get-help-red { color: #B94A48; font-size: 16px; padding-left: 2px; }
.get-help-red:hover { color: #943A38; cursor: pointer; }
.build-form>i:first-of-type { margin-left: 5px; }
.manual { margin: 11px 15px;}
.heading-help { font-size: 14px; }
/* Styles for the external link */
@@ -33,7 +44,7 @@ dd code, .alert code { white-space: pre-wrap; word-break: break-all; word-wrap:
dd ul { list-style-type: none; margin: 0px; }
dt, dd {line-height: 25px; }
dd li { line-height: 25px; }
dd p { line-height: 20px; }
.item-info dd { line-height: 20px; margin-bottom: 10px; }
/* Style the filter modal dialogs */
.modal { width: 800px; margin-left: -400px; }
@@ -44,6 +55,7 @@ dd p { line-height: 20px; }
/* Some extra space before headings when needed */
.details { margin-top: 30px; }
.air { margin-top: 30px; }
/* Required classes for the highlight behaviour in tables */
.highlight { -webkit-animation: target-fade 10s 1; -moz-animation: target-fade 10s 1; animation: target-fade 10s 1; }
@@ -55,11 +67,12 @@ dd p { line-height: 20px; }
.tooltip { z-index: 2000 !important; }
/* Override default Twitter Boostrap styles for anchor tags inside tables */
td a { color: #333333; }
td a:hover { color: #000000; text-decoration: underline; }
td a, td a > code { color: #333333; }
td code { white-space: normal; }
td a:hover, td a > code:hover { color: #000000; text-decoration: underline; }
/* Override default Twitter Bootstrap styles for tr.error */
.table tbody tr.error > td { background-color: #FFFFFF; } /* override default Bootstrap behaviour */
.table tbody tr.error > td { background-color: transparent; } /* override default Bootstrap behaviour */
.table-hover tbody tr.error:hover > td { background-color: #F5F5F5;} /* override default Bootstrap behaviour */
/* Right justify Bootstrap table columns for size fields */
@@ -96,6 +109,10 @@ th > a, th > span { font-weight: normal; }
.content-directory a:hover { color: #005580; text-decoration: underline; }
.symlink { color: #CCCCCC; }
/* Styles for the navbar actions */
.btn-group + .btn-group { margin-right: 10px; }
.navbar-inner > .btn-group { margin-top: 6px; }
/* Other styles */
.dropdown-menu { padding: 10px; }
select { width: auto; }
@@ -103,25 +120,57 @@ select { width: auto; }
.top-air { margin-top: 40px;}
.progress { margin-bottom: 0px; }
.lead .badge { font-size: 18px; font-weight: normal; border-radius: 15px; padding: 9px; }
.lead ol, .lead ul { padding: 10px 0 0 20px; }
.lead ol > li, .lead ul > li {
line-height: 35px;
}
.well > .lead, .alert .lead { margin-bottom: 0px; }
.well-transparent { background-color: transparent; }
.no-results { margin: 10px 0; }
.task-name { margin-left: 7px; }
.icon-hand-right {color: #CCCCCC; }
.help-inline { margin: 5px; }
.dashboard-section { background-color: transparent; }
/* styles for landing page - analysis mode */
.hero-unit { margin: 20px 0 30px; }
.hero-unit > .close { font-size:40px; }
.hero-actions { margin-top: 30px; }
.dashboard-section { background-color: transparent; }
/* styles for landing page - build mode */
.hero-unit p { line-height: 25px; }
.hero-unit p, .hero-unit .btn-large { margin-top: 15px; }
.hero-unit ul { margin-top: 20px; }
.hero-unit li { line-height: 30px; }
.hero-unit img { background-color: #eee; margin-top: 15px; }
/* make tables Chrome-happy (me, not so much) */
#otable { table-layout: fixed; word-wrap: break-word; }
/* styles for the new build button */
.new-build .btn-primary { padding: 4px 30px; }
.new-build .alert { margin-top: 10px; }
.new-build .alert p { margin-top: 10px; }
/* styles for showing the project name in build mode */
.project-name { padding-top: 0; }
.project-name .label { font-weight: normal; margin-bottom: 5px; margin-left: -15px; padding: 5px; }
.project-name .label > a { color: #fff; font-weight: normal; }
/* Remove bottom margin for forms inside modal dialogs */
#dependencies_modal_form { margin-bottom: 0px; }
/* Configuration styles */
.icon-trash { color: #B94A48; font-size: 16px; padding-left: 2px; }
.icon-trash { color: #B94A48; font-size: 16px; padding-left: 5px; }
.icon-trash:hover { color: #943A38; text-decoration: none; cursor: pointer; }
.icon-pencil, .icon-download-alt { font-size: 16px; color: #0088CC; padding-left: 2px; }
.icon-pencil:hover, .icon-download-alt:hover { color: #005580; text-decoration: none; cursor: pointer; }
.configuration-list li { line-height: 35px; font-size: 21px; font-weight: 200; }
.icon-pencil, .icon-download-alt, .icon-refresh, .icon-star-empty, .icon-star, .icon-tasks { font-size: 16px; color: #0088CC; padding-left: 2px; }
.icon-pencil:hover, .icon-download-alt:hover, .icon-refresh:hover, .icon-star-empty:hover, .icon-star:hover, .icon-tasks:hover { color: #005580; text-decoration: none; cursor: pointer; }
.icon-share { padding-left: 2px; }
.alert-success .icon-refresh, .alert-success .icon-tasks { color: #468847; }
.alert-success .icon-refresh:hover, .alert-success .icon-tasks:hover { color: #347132; }
.alert-error .icon-refresh, .alert-error .icon-tasks { color: #b94a48; }
.alert-error .icon-refresh:hover, .alert-error .icon-tasks:hover { color: #943A38; }
.configuration-list li, .configuration-list label { line-height: 35px; font-size: 21px; font-weight: 200; margin-bottom: 0px;}
.configuration-list { font-size: 16px; margin-bottom: 1.5em; }
.configuration-list i { font-size: 16px; }
/*.configuration-layers { height: 135px; overflow: scroll; }*/
@@ -132,15 +181,78 @@ select { width: auto; }
.configuration-alert p { margin-bottom: 0px; }
fieldset { padding-left: 19px; }
.project-form { margin-top: 10px; }
.add-layers .btn-block + .btn-block { margin-top: 0px; }
.add-layers .btn-block + .btn-block, .build .btn-block + .btn-block { margin-top: 0px; }
input.huge { font-size: 17.5px; padding: 11px 19px; }
.build-form { margin-bottom: 0px; padding-left: 20px; }
.build-form { margin-bottom: 0px; }
.build-form .input-append { margin-bottom: 0px; }
.build-form .btn-large { padding: 11px 35px; }
.build-form p { font-size:17.5px ;margin:12px 0 0 10px;}
#layer-container form, #target-container form { margin-bottom: 0px; }
.btn-primary .icon-question-sign, .btn-danger .icon-question-sign { color: #fff; }
.btn-primary .icon-question-sign:hover, .btn-danger .icon-question-sign:hover { color: #999; }
a code { color: #0088CC; }
a code:hover { color: #005580; }
.localconf { font-size: 17.5px; margin-top: 40px; }
.localconf code { font-size: 17.5px; }
#add-layer-dependencies { margin-top: 5px; }
.link-action { font-size: 17.5px; margin-top: 40px; }
.link-action code { font-size: 17.5px; }
.artifact { width: 9em; }
.control-group { margin-bottom: 0px; }
#project-details form { margin: 0px; }
dd form { margin: 10px 0 0 0; }
dl textarea { resize: vertical; }
.navbar-fixed-top { z-index: 1; }
.popover { z-index: 2; }
.btn-danger .icon-trash { color: #fff; }
.bbappends { list-style-type: none; margin-left: 0; }
.bbappends li { line-height: 25px; }
.configuration-list input[type="checkbox"] { margin-top:13px;margin-right:10px; }
.alert input[type="checkbox"] { margin-top: 0px; margin-right: 3px; }
.alert ol { padding: 10px 0px 0px 20px; }
.alert ol > li { line-height: 35px; }
.dl-vertical form { margin-top: 10px; }
.scrolling { border: 1px solid #dddddd; height: 154px; overflow: auto; padding: 8px; width: 27.5%; margin-bottom: 10px; }
.lead .help-block { font-size: 14px; line-height: 20px; font-weight: normal; }
.button-place .btn { margin: 0 0 20px 0; }
.tooltip-inner { max-width: 250px; }
.new-build { padding: 20px; }
.new-build li { line-height: 30px; }
.new-build h6 { margin: 10px 0 0 0; color: #5a5a5a; }
.new-build h3 { margin: 0; color: #5a5a5a; }
.new-build form { margin: 5px 0 0; }
.new-build .input-append { margin-bottom: 0; }
#build-selected { margin-top: 15px; }
div.add-deps { margin-top: 15px; }
.btn.log { margin-left: 20px; }
.animate-repeat {
list-style:none;
box-sizing:border-box;
}
.animate-repeat.ng-move,
.animate-repeat.ng-enter,
.animate-repeat.ng-leave {
-webkit-transition:all linear 0.5s;
transition:all linear 0.5s;
}
.animate-repeat.ng-leave.ng-leave-active,
.animate-repeat.ng-move,
.animate-repeat.ng-enter {
opacity:0;
}
.animate-repeat.ng-leave,
.animate-repeat.ng-enter.ng-enter-active {
opacity:1;
}
@keyframes machines-fade { 0% { background-color: #D9EDF7; } 25% { background-color: #D9EDF7; } 100% { background-color: white; } }
@-webkit-keyframes machines-fade { 0% { background-color: #D9EDF7; } 25% { background-color: #D9EDF7; } 100% { background-color: white; } }
.machines-highlight { -webkit-animation: machines-fade 7s 1; -moz-animation: machines-fade 7s 1; animation: machines-fade 7s 1; }
.tab-pane table { margin-top: 10px; }

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

Some files were not shown because too many files have changed in this diff Show More