Compare commits

...

309 Commits

Author SHA1 Message Date
Robert Yang
5f6945f503 buildhistory.bbclass: add ptest
The ptest log will be saved to buildhistory/ptest, we can easily get
the regression result between builds by:

$ git show HEAD ptest/pass.fail.skip.*

[YOCTO #11547]

(From OE-Core rev: dcb6cd19fb8c639cb844d116fb83827267f37421)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 14:16:01 +01:00
Robert Yang
8a5d3bf302 testimage.bbclass: update comments
It's very important to add IMAGE_CLASSES += "testimage" in local.conf firstly,
otherwise the var like TEST_LOG_DIR (defined in testimage.bbclass) will not be
in testdata.json.

[YOCTO #11547]

(From OE-Core rev: 5663ed989f0af5b1c61c74288ec421cbca2261e7)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 14:16:01 +01:00
Robert Yang
0cdabb7404 buildhistory.bbclass: print message when no commit
This makes the user easier to know how to make commit in buildhistory.

[YOCTO #11547]

(From OE-Core rev: 164a0bd847f02ca65dcd53ddc789690060274191)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 14:16:01 +01:00
Robert Yang
9fd9fae634 core/target/ssh.py: replace decode errors
There might be wild strings when read from target (especially when
reading ptest results), replace the errors to avoid breaking the test.

Fixed: (Not always happen)
$ bitbake core-image-sato -ctestimage
[snip]
    status, output = self.target.run('ptest-runner', 0)
  File "/buildarea/lyang1/poky/meta/lib/oeqa/core/target/ssh.py", line 84, in run
    status, output = self._run(sshCmd, processTimeout, True)
  File "/buildarea/lyang1/poky/meta/lib/oeqa/core/target/ssh.py", line 55, in _run
    status, output = SSHCall(command, self.logger, timeout)
  File "/buildarea/lyang1/poky/meta/lib/oeqa/core/target/ssh.py", line 258, in SSHCall
    run()
  File "/buildarea/lyang1/poky/meta/lib/oeqa/core/target/ssh.py", line 236, in run
    output = process.communicate()[0].decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 4906: invalid continuation byte

[YOCTO #11547]

(From OE-Core rev: d0d2f892f0bed6adb5ec6fb59d64efcc97c83e19)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 14:16:01 +01:00
Robert Yang
f4d4bfd2b7 utils/logparser.py: fix section check
The section might be None or '', so use "if section" for it.

Fixed:
File "/buildarea/lyang1/poky/meta/lib/oeqa/utils/logparser.py", line 113, in log_as_files
    prefix += section
TypeError: Can't convert 'NoneType' object to str implicitly

[YOCTO #11547]

(From OE-Core rev: 320ea01f9eb33df462534bf08488ff6ada9bbe7b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 14:16:01 +01:00
Robert Yang
20704967f6 runtime/cases/_ptest.py: rename it to ptest.py
It works now.

[YOCTO #11547]

(From OE-Core rev: 836393b467c3c0d53e4ace7611f991b0a5649182)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 14:16:01 +01:00
Robert Yang
86e062d612 runtime/cases/_ptest.py: add skip status
The packages' test cases maybe skipped, check and save them.

[YOCTO #11547]

(From OE-Core rev: 5c89060e96919c9865034a0c64fde382763da71d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 14:16:01 +01:00
Robert Yang
f1c8488084 oeqa/utils/logparser.py: add skip status
Some test cases maybe skipped, let's parse it.

[YOCTO #11547]

(From OE-Core rev: f23c0f6a5aa93d38a5ea9d450f0accff0a5cc869)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 14:16:01 +01:00
Robert Yang
dccf0efb41 runtime/cases/_ptest.py: revive it
* Make it work with current oeqa
* Skip the test if ptest is not in DISTRO_FEATURES
* Skip the test if ptest-pkgs is not in IMAGE_FEATURES
* The logs are saved to:
  testimage/ptest_log -> testimage/ptest_log.<datetime>
* This provides data that could be used to detect regressions in ptest results

[YOCTO #11547]

(From OE-Core rev: f1dfb59495db9e79441c8aa623ede7ef20045a20)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 14:16:01 +01:00
Binghua Guan
487c62b853 bmap-tools: add "python-mmap" to RDEPENDS
bmap-tools has run-time dependency on "python-mmp" which is missing in
the RDEPENDS. "bmaptool" command in the target will fail without this
patch.

(From OE-Core rev: 1127154b958d0a0e167cefff4bc40dfb86e3378a)

Signed-off-by: Binghua Guan <freebendy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 14:13:46 +01:00
Jackie Huang
02ad8a21c1 libva-utils: add opengl to REQUIRED_DISTRO_FEATURES
libva-utils depends on libva which requires opengl in
DISTRO_FEATURES.

(From OE-Core rev: ea03fd82b0709f8f39b77ae665bd5dbdb9a1d58a)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 14:13:46 +01:00
Paul Eggleton
2f9f417de8 bitbake: fetch2: don't mandate path element in encodeurl()
URLs do not have to have a path; currently our npm URLs don't, so
encodeurl() needs to handle if the path element isn't specified. This
fixes errors using OpenEmbedded's devtool add / recipetool create on an
npm URL after OE-Core revision ecca596b75cfda2f798a0bdde75f4f774e23a95b
that uses decodeurl() and encodeurl() to change URL parameter values.

(Bitbake rev: d5cab2dbf5682d2fd08e58316a3bf39a10f63df2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 13:48:50 +01:00
Marko, Peter
859e78cbc7 staging: add missing import errno to staging_populate_sysroot_dir
Fixes error "Exception: NameError: name 'errno' is not defined"
during build-sysroots.bb:do_build_target_sysroot

(From OE-Core rev: b1e482ae20b9c714f4089d4da6470d041242e441)

Signed-off-by: Marko, Peter <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 13:48:50 +01:00
Paul Eggleton
58057d8749 recipetool: create: fix npm license code regression
OE-Core commit 1df60b09f7a60427795ec828c9c7180e4e52f98c caused a
regression in npm handling since it still expected to be able to get the
results of the license handling, but this no longer happens until after
the npm plugin is called. Thus, call the license handling function
ourselves here (which will record this as having been handled so it
doesn't get done again later).

(From OE-Core rev: 3e408aadaea85b6f192b34d37d508cbaf3cd7164)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 13:48:50 +01:00
Paul Eggleton
433aa81f92 recipetool: create: fix broken import in npm module
With "import oe" in create_npm.py you get "AttributeError: module 'oe'
has no attribute 'package'" when it tries to call
oe.package.npm_split_package_dirs().

(From OE-Core rev: 1261900aeac725e5712e0180600753a9d4c67e60)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 13:48:50 +01:00
Jussi Kukkonen
ff57794b51 bitbake: bitbake: ui: Sort 'Dependent tasks' in taskexp
The underlying model is already sorted for use in the other view,
add a sorting model for the 'Dependent Tasks' view.

(Bitbake rev: 27ca94c33234f0ef9753f8285213dde2871a3fcf)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:07:42 +01:00
David Reyna
254e2debe5 bitbake: toaster: support custom Layer Index URL and fixture override
Toaster needs to allow the custom fixture file to specific an
alternate Layer Index URL for users that host their own Layer
Index Server via the 'CUSTOM_LAYERINDEX_SERVER' in
'custom.xml'.

Toaster also needs to allow the ability to completely override
the default fixture files, otherwise that content can leak into
the custom environment (by default the custom fixture is an
overlay that cannot remove existing values from the default
fixture) via the 'CUSTOM_XML_ONLY' value in 'setting.xml'.

[YOCTO #11938]

(Bitbake rev: ac29d4a9078494544a2627d8b6b021096b49cb34)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:07:42 +01:00
David Reyna
9bfe460934 bitbake: Toaster: custom start and stop actions
Toaster needs the ability to allow custom extensions to execute when
Toaster is started and stopped. Toaster will look for a custom
extension script in the fixtures directory and execute any applicable
hooks.

[YOCTO #11938]

(Bitbake rev: 12a73f6914488029f2b9dd680e004fba7dde41af)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:07:42 +01:00
David Reyna
52a67cc958 bitbake: toaster: custom image updates and original creation
When Toaster removes a package from a custom image, it must
also always remove the advised reverse-dependent recipes.
Similarly, when adding a package it must always add its advised
the packages it depends on. This code must be un-indented so
that it applies to all respective added or removed packages.

Toaster normally waits until a new custom image is built before
creating the custom layer and the recipe. However, an intermediate
different build can fail because the recipe has already been added
to the project, so the image's default recipe must be created
when the image is created.

[YOCTO #11915]

(Bitbake rev: bcd68fd7231f166baff875fb88e4f9ce0d9bf91d)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:07:42 +01:00
Ming Liu
e659fcc6b8 conf-notes.txt: add shell environment header
The header text has been moved to meta/conf/conf-notes.txt by:
[ meta: move some text from oe-setup-builddir to conf-notes.txt ]

Need do the same to meta-poky/conf/conf-notes.txt.

(From meta-yocto rev: 8a9d72abcf484fbe8001a08623910c5af1be07a0)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:07:09 +01:00
Richard Purdie
ccb73e60c2 linux-yocto: Drop 4.1 kernel appends
(From meta-yocto rev: ecde92624c27ebe511696b5bcfc83b21efec17d0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:07:09 +01:00
Bruce Ashfield
9be5917caf poky: bump poky lsb to linux 4.9
Due to the age of 4.1 and it being removed from oe-core master
as an active kernel, we can bump poky-lsb to the newer 4.9 LTSI
kernel version.

(From meta-yocto rev: 1f85cc33429e9a217a11adc298e2149f2950724c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:07:09 +01:00
Bruce Ashfield
6f68676b44 poky: bump preferred version of linux-yocto to 4.12
(From meta-yocto rev: 94c457c04dcbc30e3693c157de47ddbca3ffa8c7)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:07:09 +01:00
Richard Purdie
ca940601b8 runqemu: Use virtio to mount cdrom drives
The IDE driver in the kernel is fragile and in 4.12 is causing backtraces.
To unblock 4.12 kernel merging use the virtio CD driver instead to mount
iso images which should be faster and more stable.

(From OE-Core rev: f59e729f98ef9b506b0cfdc415567e03ec87f2a9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:52 +01:00
Richard Purdie
eb9264cf31 oeqa/parselogs: Ignore device node warnings on mips
THe newner kernels have ope firmware support enabled which leads to warnings
during boot on mips. These aren't interesting and we should ignore them.

(From OE-Core rev: 4ba9a6ffb4e7f6c7eee47aa13252fd981cfe5618)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:52 +01:00
Martin Jansa
e7888878ee systemd-machine-units: import last recipe from meta-systemd
* this recipe is intentionally empty, but useful for BSP layers to
  provide machine specific systemd services in this MACHINE_ARCH
  package.

(From OE-Core rev: 5f3dbcf71059939f1c33af7b8848eb18b311365a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:52 +01:00
Jackie Huang
2f2b4c5cbe systemd: add dependency on initscripts-sushell for selinux
sushell is required by systemd service debug-shell
when selinux is enabled.

(From OE-Core rev: 0e4e43e2e6e4a906dfa45b9e89d179e46d593158)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:52 +01:00
Jackie Huang
b0ebd9cbaf initscripts: split sushell into sub package
* sushell is required by systemd service debug-shell
  when selinux is enabled, but it doesn't make sense
  to make systemd depend on initscripts, so split sushell
  into sub package initscripts-sushell.

* The bash dependency has been removed by:
  '''
  4917e36a77bd6821b45db52caa43939d344d92f6
  initscripts: Fix regression for requiring /bin/bash
  '''
  so remove bash from RDEPENDS when selinux is enabled.

(From OE-Core rev: 9c84ca86f396886ae68774032724b53664ecf0ed)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:52 +01:00
Maciej Pijanowski
ea98124bfd linux-firmware: package ibt-firmware
ibt-firmware was not packaged separately and was part of big linux-firmware
package. Packaging allows to install it separately, according to requirements.

(From OE-Core rev: f1414d6f9c327547023375f9e298f6f021eaee1b)

Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:52 +01:00
Maciej Pijanowski
a2fdf585c0 linux-firmware: package iwlfifi-3160-[10-17] firmware
Package iwlwifi-3160-[10-17] firmware from iwlwifi-misc to seperate packages,
so it is possible to install only required firmare package.

(From OE-Core rev: 2a5966c957a6c2fbe914c1b3be0926ec0e62dab0)

Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Jackie Huang
e6b7734d76 valgrind: improvements for run-ptest
* Add statistic summary for run-ptest
* Ensure the script can be run anywhere

(From OE-Core rev: 8a6f5a2bc55975f38ad285ddea7122643b303c53)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Maxin B. John
ee8b56528d pkgconf: add recipe
pkgconf is a better replacement for pkg-config. Fedora 26 replaces the
system pkg-config implementation with pkgconf because it "provides better
support for handling .pc files and a stable library ABI/API for integrating
into applications." and is actively maintained, unlike pkg-config.

pkgconf aims to offer many improvements over pkg-config such as faster/more
efficient dependency resolver which "allows for the user to more conservatively
link their binaries -- which may be helpful in some environments, such as when
prelink(1) is being used.

pkgconf also aims to provide a more complete implementation of pkg-config.
The features most likely to benefit the Yocto Project build system are the
faster/more efficient dependency resolution and linker flag optimisation.

Move pkgconf recipe to oe-core from meta-pkgconf:
https://github.com/kergoth/meta-kergoth-wip/tree/master/meta-pkgconf

Links:
1. http://pkgconf.org
2. https://fedoraproject.org/wiki/Changes/pkgconf_as_system_pkg-config_implementation
3. https://bugzilla.yoctoproject.org/show_bug.cgi?id=11308

(From OE-Core rev: 879bd0ff00ebebfdeef52c3f61597d635e040aef)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Ming Liu
96d0d4b5b6 meta: move some text from oe-setup-builddir to conf-notes.txt
This allows the end users to be able to override the entire notes
showing on the shell console. For instance, Our company uses a
external conf-notes.txt, and we run bitbake with some extra variables,
looks like: F=xxx D=xxx M=xxx bitbake <target>, so we want to show
exactly these texts on the shell console, that's why we need this
change.

(From OE-Core rev: 80bc8282df58dfeaae8f2f71ed2617d718e29f8b)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Leonardo Sandoval
16fee5ff45 build-appliance-image: include proxy on pip3 installation
Otherwise, we get timeouts, leading to errors:

    pip._vendor.requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /pypi/pip/json (Caused by ConnectTimeoutError(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7ff741bb3ef0>, 'Connection to pypi.python.org timed out. (connect timeout=5)'))
    WARNING: TOPDIR/tmp/work/qemux86-poky-linux/build-appliance-image/15.0.0-r0/temp/run.do_populate_poky_src.185123:1 exit 1 from 'pip3 install --user -I -U -v -r TOPDIR/tmp/work/qemux86-poky-linux/build-appliance-image/15.0.0-r0/rootfs/home/builder/poky/bitbake/toaster-requirements.txt'
    DEBUG: Python function do_image finished

Complete log at [1]

[1] http://errors.yoctoproject.org/Errors/Build/43393/

(From OE-Core rev: 8291156c30e54a05ad455dda2b8540a570bb0f4a)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Ioan-Adrian Ratiu
e36fbb3382 oe/path.py: copyhardlinktree: don't overwrite existing symlinks
Before GNU tar 1.24, only the archive creation command had the '-h'
argument to preserve and follow symlinks. After >= 1.24 via commit
14efeb9f956e38d7be (tar: --dereference consistency) the capability to
preserve symlinks was also added to the archive extraction command.

-h is default at archive creation but is not default at extraction,
meaning that it will replace symlinks with directories even if the
original filesystem directory tree and archive contains them.

Add -h to the copyhardlinktree extraction step so the build can
support symlinks in variables like ${DEPLOY_DIR_IPK/RPM/DEB}.

(From OE-Core rev: c1b73fe26540c38086e259be6eb313e0826dceed)

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Juro Bystricky
06ff0a9c8a kernel.bbclass: external toolchain fix
Refactor get_cc_option so it is simpler and also does not fail
when using external toolchain.

(From OE-Core rev: d4564ee59df907d1e01a3610ac88a35f9a78c1ce)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Juro Bystricky
07348bb76f python2.7: improve reproducibility
The compiled .pyc files contain time stamp corresponding to the compile time.
This prevents binary reproducibility. This patch allows to achieve binary
reproducibility by overriding the build time stamp by the value
exported via SOURCE_DATE_EPOCH.

Patch by Bernhard M. Wiedemann, backported from https://github.com/python/cpython/pull/296

[YOCTO#11241]

(From OE-Core rev: 2a044f1e4f5c63e11e631b31f741c7aabfa6f601)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Bruce Ashfield
924b536529 linux-yocto/4.10: CVE & misc fixes
Updating the 4.10 SRCREVs to import the following changes:

  65370fa249e2 drm/vmwgfx: limit the number of mip levels in vmw_gb_surface_define_ioctl()
  530ec12a0cb0 ACPICA: Namespace: fix operand cache leak
  b1098b5bbded char: lp: fix possible integer overflow in lp_setup()
  56ee0c7811e5 dccp/tcp: do not inherit mc_list from parent
  9f6cbd022bba nfsd: encoders mustn't use unitialized values in error cases
  084036ebc243 nfsd: fix undefined behavior in nfsd4_layout_verify
  973f780eeaa6 xen-blkback: don't leak stack data via response ring
  20c4b5015fea brcmfmac: fix possible buffer overflow in brcmf_cfg80211_mgmt_tx()
  1dff0f28b490 ipx: call ipxitf_put() in ioctl error path
  d666a8e60a45 mm: fix new crash in unmapped_area_topdown()
  73d059ba1a17 mm: larger stack guard gap, between vmas

Which address the following CVEs:

  CVE-2017-8890
  CVE-2017-1000363
  CVE-2017-11472
  CVE-2017-7346
  CVE-2017-1000380
  CVE-2017-7541
  CVE-2017-10911

(From OE-Core rev: 6cfd520ea050aa449f0ac7ee0b2c647d14d588ad)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Bruce Ashfield
b6f78c7a27 kernel-yocto: ensure that only valid BSPs are built
There was a bug in the search routines responsible for locating
BSP definitions which returned a valid match if only the ktype
matched.

This meant that someone looking for "qemux86foo" (which is an
invalid definition) would potentially end up building "qemuarm"
and be none the wiser (until it didn't boot).

With this fix to the tools search routine, and improved return
code testing, we will now stop the build and report and error to
the user.

[YOCTO: #11878]

(From OE-Core rev: 44aea7b87307795fe4e089c51d45afccaa2f6525)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Bruce Ashfield
dd370ce97b qemu: bump default version to 4.12
Not all the qemu machines carry default kernel specifications.
While we could drop these references, we'll bump them to 4.12
to pick up the latest and remove them in future commits.

(From OE-Core rev: c58df63d88a07d3275e7337f7d284b0a50db82cc)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Bruce Ashfield
d8f57413af libc-headers: update to 4.12
The fall 2017 kernel will have 4.12 as the reference kernel, so
we update the libc-headers to match.

Build tested against glibc and muslc systems.

(From OE-Core rev: 4b5cce1c691e991c80d255a4900220068ff6f062)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Bruce Ashfield
50265b486e linux-yocto: remove 4.1 recipes
We have 4.4 and 4.9 as LTS kernels, the 4.1 variants are no longer
needed and are dropped.

(From OE-Core rev: 1a25cea311cbebb2af0c1a0b964208281e6026de)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Bruce Ashfield
1a8c7cd061 linux-yocto: introduce 4.12 recipes
The 4.12 kernel will be the default/reference for the fall 2017
release.

These recipes represent the introduction of 4.12.7 + related kernel
meta data. Existing functionality has been validated against this
new kernel version, and older versions will be removed in separate
commits.

(From OE-Core rev: 4e5044bcea68f3bac3596507f0828d3cbe869df1)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Bruce Ashfield
63842f885e linux-yocto: add usb-net configs by default
As requested by QA to enable testing of linux-yocto images out of the
box, we enable usb-net drivers for the various platforms in all kernel
versions.

(From OE-Core rev: 5322eef31c8b63ead49b2f13312d3356a016ff64)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Bruce Ashfield
a892aa8f5e linux-yocto/4.1: fix fsl-ls10xx sdhci
mmc: sdhci: fix two compile errors

    | CC drivers/mmc/host/sdhci.o
    | drivers/mmc/host/sdhci.c: In function 'sdhci_execute_tuning':
    | drivers/mmc/host/sdhci.c:1990:4: error: implicit
    | declaration of function 'sdhci_do_reset'
    | [-Werror=implicit-function-declaration]
    | sdhci_do_reset(host, SDHCI_RESET_CMD);
    | ^
    | drivers/mmc/host/sdhci.c:2006:7: error: 'struct
    | mmc_command' has no member named 'busy_timeout'
    | cmd.busy_timeout = 50;
    |        ^

    In function sdhci_execute_tuning, replace sdhci_do_reset
    with sdhci_reset, replace busy_timeout with cmd_timeout_ms.

    Commit a629a90ba0 adds eMMC DDR mode support for t2080qds and
    modified some data structures and function name. Later
    commit a2080cc280 just backport upstream commit 61e53bd004
    without aligning the current source tree thus cause
    these build errors. Fix them.

    Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>

(From OE-Core rev: 538d2f0857f09ca86026d5771ea7c3fb74c0f857)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Bruce Ashfield
fd92445509 kernel-yocto: configuration updates: x86 features
Integrating the following kernel configuration changes:

 f7fbd4185e5 features/qat: additional configurations, CONFIG_CRYPTO_RSA and CONFIG_CRYPTO_DH
 50c62581d283 features/netfilter: additional configurations
 d67e4ed89556 features/x2apic: add X2APIC feature
 7889b28c5300 features/vfio: add VFIO feature
 dc4ec998757e features/numa: Add NUMA feature
 c88c18de4ca8 features/mtd: add MTD feature
 9035571d32ee features/iommu: add IOMMU feature
 6f3b16136f55 features/intel-txt: add intel-txt feature
 4936a5f508f0 common-pc-wifi: Enable SDIO for BroadCom BRCMFMAC

(From OE-Core rev: 59d294f119dc91d9ec47b0a8381d3addc86a6e3a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 12:06:51 +01:00
Joe Slater
67afd9ead6 ghostscript: CVE-2017-9727, -9835, -11714
CVE-2017-9727: make bounds check in gx_ttfReader__Read more robust
CVE-2017-9835: bounds check the array allocations methods
CVE-2017-11714: prevent trying to reloc a freed object

(From OE-Core rev: 2eae91f9fa1cfdd3f0e6111956c8f193fd0db69f)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:03 +01:00
Joe Slater
8efe725080 ghostscript: fix several CVEs by adding bounds checking
CVE-2017-9611
CVE-2017-9612
CVE-2017-9739
CVE-2017-9726

(From OE-Core rev: 3e5d80c84f4c141bc3f3193d1db899b0e56993cf)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:03 +01:00
Martin Jansa
ed52aa9e79 grub2: fix build on gcc where _FORTIFY_SOURCE is defined
* e.g. with gentoo gcc-7.1 they define _FORTIFY_SOURCE by default with:
  https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/gcc/7.1.0/gentoo/10_all_default-fortify-source.patch?view=markup
  which results in following error while building grub-efi-native:
  ./config-util.h:1504:48: error: this use of "defined" may not be portable [-Werror=expansion-to-defined]
               || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
                                                  ^~~~~~~~~~~~~~~
  this part comes from gnulib and it's used only for Apple and BSD,
  so we can ignore it, but we cannot add -Wno-error=expansion-to-defined
  because this warning was introduced only in gcc-7 and older gcc
  will fail with:
  cc1: error: -Werror=expansion-to-defined: no option -Wexpansion-to-defined
  use #pragma to work around this

(From OE-Core rev: f5302b0ad2942f7705d46c33949ebc1c5ddf3f58)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:03 +01:00
Yi Zhao
1a73074d75 tiff: Security fixes
Fix CVE-2017-9147, CVE-2017-9936, CVE-2017-10668, CVE-2017-11335

References:
https://nvd.nist.gov/vuln/detail/CVE-2017-9147
https://nvd.nist.gov/vuln/detail/CVE-2017-9936
https://nvd.nist.gov/vuln/detail/CVE-2017-10668
https://nvd.nist.gov/vuln/detail/CVE-2017-11335

Patches from:
CVE-2017-9147:
4d4fa0b68a
CVE-2017-9936:
fe8d716595
CVE-2017-10688:
6173a57d39
CVE-2017-11355:
69bfeec247

(From OE-Core rev: 5c89539edb17d01ffe82a1b2e7d092816003ecf3)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:03 +01:00
Ruslan Bilovol
0e029f75c6 machine-sdk: oldest kernel for x86/x86_64 is 3.2.0 now
With glibc upgrade to 2.26 release (commit d6a0bc57fa07
"glibc: Upgrade to 2.26 final release") it's not possible
to build x86/x86_64 SDK for kernels lower than 3.2.0
(see glibc commit 139ace95756a "Require Linux kernel 3.2
or later on x86 / x86_64.")

Thus drop SDK_OLDEST_KERNEL overrides from machine-specific
conf files, so default version 3.2.0 from conf/bitbake.conf
will be picked up.

(From OE-Core rev: 0724896f7a2092abf2f3bafa9fac96c5210d39a5)

Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:03 +01:00
Martin Jansa
99d5c5a70f libcheck: fix file-rdeps QA issue
* Fixes:
  ERROR: nativesdk-libcheck-0.10.0-r0 do_package_qa: QA Issue: /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin/checkmk contained in package nativesdk-libcheck requires /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin/gawk, but no providers found in RDEPENDS_nativesdk-libcheck? [file-rdeps]

(From OE-Core rev: 71c29b53f1a44430306eeda96dc43cf7d002afe5)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:03 +01:00
Martin Jansa
a031b24e64 squashfs: fix build with glibc-2.26
(From OE-Core rev: 34b79a0e8b4d872ce0e104611be5e0e08cff8581)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:03 +01:00
Aníbal Limón
7004cb7288 apt: Upgrade to 1.2.24
Add new patches for enable builds on hosts that has GCC version
minor than 5 because doesn't support std::array and std::put_time,
those patches could be removed after get rid of Debian8 and Centos7
support.

  - gcc_4.x_Revert-avoid-changing-the-global-LC_TIME-for-Release.patch
  - gcc_4.x_Revert-use-de-localed-std-put_time-instead-rolling-o.patch
  - gcc_4.x_apt-pkg-contrib-strutl.cc-Include-array-header.patch

The LIC_FILES_CHKSUM changed because the license file now has
style changes in the text remains GPLv2+.

The patch Revert-always-run-dpkg-configure-a-at-the-end-of-our
was updated because now the precision fields use floating
point numbers.

(From OE-Core rev: da99ae14c3a5719b317ff71b8f778a7c987f6158)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:03 +01:00
Aníbal Limón
c9a29aa55d dpkg: Upgrade to 1.18.24
Patches rebased due to don't apply, no major changes,

- 0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch
- arch_pm.patch
- noman.patch

Patches related to move ostable/triplettable insida data/ostable and
data/tupletable instead also needs to comply the new format of the
tables for arch detection.

- 0006-add-musleabi-to-known-target-tripets.patch
- add_armeb_triplet_entry.patch

And finally a patch to avoid usage --clamp-mtime in tar needs to be
modified because the dpkg-deb internal API changed.

- 0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch

(From OE-Core rev: dc1ae641435999095e8759812b096fec1f28c90d)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:03 +01:00
Robert Yang
ef4c6534ff strace: 4.17 -> 4.18
- Updated update-gawk-paths.patch.
- Updated Makefile-ptest.patch
- Removed 0008-replace-struct-ucontext-with-ucontext_t.patch which is already in
  the source.
- The LIC_FILES_CHKSUM is changed because the years have been updated,
  the contents are the same.

(From OE-Core rev: 111e4a8642160c8441e447da32a4ef52995bbe99)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:03 +01:00
Robert Yang
08975348f1 e2fsprogs: 1.43.4 -> 1.43.5
Removed the following 2 patches which are already in the source:
- 0001-e2fsck-exit-with-exit-status-0-if-no-errors-were-fix.patch
- e2fsprogs-1.43-sysmacros.patch

(From OE-Core rev: ce0efa2e38611428aff6d39d52ce29f8a6571813)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Robert Yang
7fa9b8f91f tcl: 8.6.6 -> 0.8.7
(From OE-Core rev: c73d1ceaa6643b3713e95154ba2a53eb304257a7)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Robert Yang
91def3fdc9 libbsd: 0.8.5 -> 0.8.6
(From OE-Core rev: 8c53a8c87c509da68d1f423ecd11f6b11186acd1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Robert Yang
8dc9cd70e7 git: 2.13.2 -> 2.13.3
(From OE-Core rev: 544d522ff0eb8d57753eb5c237743d2310866fec)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Martin Hundebøll
e0ed52c514 kernel-module-split: rrecommend kernel-image instead of rdepend
Hard depending on the kernel makes it impossible to install kernel
modules without getting the kernel image installed too. This is
inconvenient in e.g. initramdisks, where the kernel is loaded from
outside the initramdisk.

Making the kernel modules rrecommend kernel-image-<version> instead of
rdepending on it, makes it possible to install kernel modules without
the kernel image by setting "kernel-image" in BAD_RECOMMENDATIONS.

(From OE-Core rev: 5dd7ddb66a6846d9bb59dc7833e8318992d0e645)

Signed-off-by: Martin Hundebøll <mnhu@prevas.dk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Sona Sarmadi
9086b525dd connman: Fix for CVE-2017-12865
dnsproxy: Fix crash on malformed DNS response
If the response query string is malformed, we might access memory
pass the end of "name" variable in parse_response().

[YOCTO #11959]

(From OE-Core rev: fb3e30e45eea2042fdb0b667cbc2c79ae3f5a1a9)

Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Hongxu Jia
c55b370612 gnupg: 2.1.20 -> 2.1.23
1. COPYING.LIB: Rename to COPYING.LGPL3.
https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=3419a339d9c4e800bf30e9021e05982d8c1021c1

2. Rebase patches:
- pkgconfig.patch -> 0001
- use-pkgconfig-instead-of-npth-config.patch -> 0002
- dirmngr-uses-libgpg-error.patch -> 0003
- autogen.sh-fix-find-version-for-beta-checking.patch -> 0004

3. Fix gpg2 not found
...
dnf -vy makecache

|Cannot download 'http://192.168.7.1:33541': repomd.xml GPG signature
verification error: gpgme_engine_check_version() error: Invalid crypto
engine.
...

The upstream install gpg by default and no gpg2
...
commit a69464b0b6dac88b360a13d3faf19dd7f2a0e02b
Author: Werner Koch <wk@gnupg.org>
Date:   Sat Aug 5 14:39:32 2017 +0200

    gpg: Install gpg by default under the name gpg.
...
Add --enable-gpg-is-gpg2 to revert it.

(From OE-Core rev: f62d844424670967d2d40cd2afc96f5fc597bf1d)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Wenzong Fan
624da0cc25 gdk-pixbuf: fix ptest RDEPENDS for multilib build
Don't hardcode the package name, it could be gdk-pixbuf or
lib32-gdk-pixbuf.

(From OE-Core rev: 92a299a550b5b9c68c0285fdeb3d4c9defa0dede)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Paul Eggleton
b1f237ebd0 recipetool: allow plugins to set LICENSE and LIC_FILES_CHKSUM
We were being a bit prescriptive in setting LICENSE and
LIC_FILES_CHKSUM. We can't always trust what's in the metadata
accompanying some source which plugins will almost always be pulling
from, however we do want to allow plugins to set the LICENSE and
LIC_FILES_CHKSUM values. Merge what we find in our license file scan
with what the plugin sends back.

Additionally, plugins can now add a "license" item to the handled list
in order to inhibit the normal LICENSE / LIC_FILES_CHKSUM handling if
they have already taken care of it completely.

Thanks to Mark Horn <mark.d.horn@intel.com> for prompting, testing and
fixing this patch.

(From OE-Core rev: 1df60b09f7a60427795ec828c9c7180e4e52f98c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Paul Eggleton
a7baa47c87 recipetool: allow plugins to set PN / PV more easily
Previously if we were able to auto-determine the name from the URL, that
took precedence over any name that might be set in extravalues by a
plugin. Some plugins might be able to get a better idea of the name and
thus we should move defaulting of the name further down after the
plugins have had a chance to set it.

(From OE-Core rev: 3bb979c13463705c4db6c59034661c4cd8100756)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Leonardo Sandoval
e798b4e980 devtool: import: new plugin to import the devtool workspace
Takes a tar archive created by 'devtool export' and imports (untars) it
into the workspace. Currently the whole tar archive is imported, there
is no way to limit what is imported.

https://bugzilla.yoctoproject.org/show_bug.cgi?id=10510

[YOCTO #10510]

(From OE-Core rev: 2de8ba89ef10fefcc97246dfeb4b8d1e48ee8232)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Leonardo Sandoval
ee21e81cff devtool: append md5sum only if not already present
In case the proposed md5sum to be appended to the .devtool_md5 file
is already present, do not append it.

(From OE-Core rev: f958c5cba3b0d24ca696b2b707857009c9a7b5b8)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Leonardo Sandoval
42a5894a3c devtool: export: new plugin to export the devtool workspace
By default, exports the whole workspace (all recipes) including the source code.
User can also limit what is exported with --included/--excluded flags. As
a result of this operation, a tar archive containing only workspace metadata
and its corresponding source code is created, which can be properly imported
with 'devtool import'.

https://bugzilla.yoctoproject.org/show_bug.cgi?id=10510

[YOCTO #10510]

(From OE-Core rev: f9bc3b5101b554a72298266519dbdd1497f262a6)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Chang Rebecca Swee Fun
b47a7b848b devtool: upgrade: enable branch checking when revision is provided
When devtool upgrade is run on a recipe with revision specified
that is not on master branch, and branch isn't set by --srcbranch or -B,
then we should get the correct branch and append the branch to the URL.

If the revision was found on multiple branches, we will display error
to inform user to provide a correct branch and exit.

[YOCTO #11484]

(From OE-Core rev: 29ced7387a92aed17b7fe93b1654790a981734c1)

Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Stanley Phoong
439a6f1d68 recipetool: create: replacing PV in SRCURI
During recipe creation, it seems that the automation for replacing
${PV} at the SRCURI for tag, (e.g mbed-tls-${PV}) is causing some
issue due to PV assuming it's a git source. A fix is implemented in
this patch to resolve this issue.

(From OE-Core rev: 9d3ec76c1b7dd75d904f5ff47297de0fb65b21c2)

Signed-off-by: Stanley Phoong <stanley.cheong.kwan.phoong@intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Stanley Phoong
fe62cedd4b recipetool: create: handle git URLs specifying only a tag
If a git URL is passed to recipetool create with a tag=, recipetool
should handle it assuming that the tag is valid.

[YOCTO #11393]

(From OE-Core rev: 3afdcbdc9a3e65bc925ec61717784ffec67d529d)

Signed-off-by: Stanley Phoong <stanley.cheong.kwan.phoong@intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Chang Rebecca Swee Fun
62d5035ffc recipetool: create: being able to set branch when revision is provided
This change is to improve the buildability of the recipe created by
recipetool and devtool.

When recipetool create is run on a git URL and a revision specified
that is not on master, and "branch=" isn't already in the URL, then
we should get the correct branch and append the branch to the URL.

If the revision was found on multiple branches and 'master' is not
in the list, we will display error to inform user to provide a
correct branch and exit.

[YOCTO #11389]

(From OE-Core rev: ecca596b75cfda2f798a0bdde75f4f774e23a95b)

Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Chang Rebecca Swee Fun
e09b9d4543 recipetool: create: disable PREMIRRORS and MIRRORS by default
When creating new recipes, we are almost certainly fetching a new
source rather that something that has already been fetched. I have
disable PREMIRRORS and MIRRORS settings in the recipe that created
by devtool while leaving an option for users to enable them manually
if needed. Since devtool already has this options, we need to ensure
that recipetool is able to handle the options passed from devtool.

(From OE-Core rev: 091cee2bdc2378a3425a4ef8558d03e6f9c021ff)

Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-23 08:47:02 +01:00
Richard Purdie
ae874ef553 bitbake: process: Ensure we call select() to know which fds to read
There is an interesting bug in the current code where a sync command
is not seen until the current async command completes, by which time
the UI may have shut down.

The reason is that if there are idle commands, we may not end up sleeping
in the select call at all, partiularly under heavy load like parsing.

Fix this by calling select with a zero timeout so that we see active
fds and know to read from them. This fixes various problems toaster was
having with the recent server changes.

[YOCTO #11898]

(Bitbake rev: bbcce58e824b2793abf50efa52db158ae16e23e4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-22 19:50:25 +01:00
Juan M Cruz Alcaraz
04dc76713b devtool/copy_buildsystem: adds meta-skeleton layer in the eSDK installation.
The eSDK installation requires the meta-skeleton layer.
The build system might use the meta-skeleton recipes as layout
to create custom recipes. An example is the recipetool script
that uses the meta-skeleton kernel recipe when creating a custom
kernel recipe.

[YOCTO #11102]

(From OE-Core rev: 5c9ef0734d23909b5694ed43cdbb205c2ba9ca95)

Signed-off-by: Juan M Cruz Alcaraz <juan.m.cruz.alcaraz@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-19 22:15:39 +01:00
California Sullivan
769c774f89 initramfs-framework/setup-live: also boot live image if root=/dev/ram0
Our grub and syslinux bootloaders both define root=/dev/ram0 for live
images by default. Kernel docs show that root=/dev/ram0 is just a
sentinel value for the kernel to mount the initrd as root, which then
mounts and switches to the real root. This is exactly what our scripts
do, so just check for root=/dev/ram0 as well.

See: https://www.kernel.org/doc/html/v4.11/admin-guide/initrd.html#operation

This fixes the issue where the new initramfs-framework scripts would not
boot live images that use grub or syslinux bootloaders.

(From OE-Core rev: a30f8f60017d566d845ee5d3a8cfc338017211b0)

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-19 22:15:39 +01:00
Alexander Kanavin
7a4361c506 openssl10: rename back to openssl and make it the default via PREFERRED_VERSION
openssl 1.1 broke 3rd party layers a lot more than was expected; let's flip
the switch at the start of next development cycle.

Add a PROVIDES = "openssl10" to openssl 1.0 recipe; any dependency that is
not compatible with 1.1 should use that in its DEPENDS, as the 1.0
recipe will later be renamed back to openssl10. This does not always work:
http://lists.openembedded.org/pipermail/openembedded-core/2017-August/140957.html
but for many recipes it does.

(From OE-Core rev: 5585103c195104e85ed7ac1455bef91b2e88a04d)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-19 22:15:39 +01:00
Mark Hatle
05a6710467 prelink: Change the behavior to avoid checking USER_CLASSES
The behavior before this change was to check USER_CLASSES and adjust
the install script to return either exit 0 (don't do anything) or
exit 1 (run on first boot).  This enabled a user to include the prelink
package without enablign the image-prelink bbclass and get a first boot
prelink.

Checking USER_CLASSES is not desired, as an image should be able to simply
inherit the image-prelink and get the same type of behavior.  Modifying
the recipe based on the inclusion of a class is a bad idea as it makes
this style work more difficult.  So we move to a more defined strategy
based on exist uses.  (That we know of...)

If we ae doing a cross install, we want to avoid prelinking.
Prelinking during a cross install should be handled by the image-prelink
bbclass.  If the user desires this to run on the target at first boot
they will need to create a custom boot script.

[YOCTO #11169]

(From OE-Core rev: e31c9d32072b9cf62c0e9e55b4d421849d3d489b)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-19 22:15:39 +01:00
Chen Qi
f6857d9832 qemu conf: replace deprecated option with new option
Replace the deprecated '-usbdevice' option with '-device usb-xx' option.
This would fix runqemu boot error like below.

  '-usbdevice' is deprecated, please use '-device usb-...' instead

(From OE-Core rev: 2f1f3480d344f8521e01f456d2dcd6c4e989ec59)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-19 22:15:39 +01:00
Chen Qi
045e3f9283 qemu: backport patches to fix boot failure
Backport two patches to fix the following error when booting qemu.

  Failed to unlock byte 100

(From OE-Core rev: 91eee8b08cd52f49bb1c8f8c680607b3f3a52d24)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-19 22:15:39 +01:00
Joe Slater
ee195eb034 ruby: fix CVE-2017-922{6-9}
CVE-2017-9226 : check too big code point value for single byte
CVE-2017-9227 : access to invalid address by reg->dmin value
CVE-2017-9228 : invalid state(CCS_VALUE) in parse_char_class()
CVE-2017-9229 : access to invalid address by reg->dmax value

(From OE-Core rev: f15f01edbaa431829a50053d07ed6d6b333584c7)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-19 22:15:39 +01:00
Alexander Kanavin
342393587c dnf: fix "Unable to detect release version" warning
The release version was actually working correctly; it only makes
the warning work properly.

(From OE-Core rev: e7986a5493ccd222b82c2388ea8c3bb7004b48dd)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-19 22:15:38 +01:00
Jussi Kukkonen
a09aa675bb cve-check-tool: Fix progress bar patch for curl 7.55
CURL_FORMAT_OFF_T does not seem to exist anymore, use
CURL_FORMAT_CURL_OFF_T instead. This works with old and new curl.

(From OE-Core rev: 5548f9c87c6a10cda2baf6f198762380e55f6ae2)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-19 22:15:38 +01:00
Andreas Müller
782cdf14e3 mesa: update to 17.1.6
Optional installation of khrplatform.h was implemented upstream by a slightly
different approach -> 0001-mapi-Only-install-khrplatform.h-with-EGL-or-GLES.patch
can be removed.

(From OE-Core rev: 4473c9e846826bfb4f48cec9c6c7b1cad6666bb3)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
Carlos Alberto Lopez Perez
e0679d21f4 webkitgtk: Add a recommends on shared-mime-info.
* without this package installed any WebKitGTK+ based browser
   will fail to correctly open html files (and other files)
   from disk (file:// URIs). It will open them as plain txt files.

(From OE-Core rev: b708cb53b46d9d82a7853bcd0f25ef6bc417bd10)

Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
Dengke Du
4e3878a808 mpg123: upgrade to 1.25.6
(From OE-Core rev: 03abde044a6c7cf4a54a9d074189f192b331d650)

Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
Markus Lehtonen
9682346400 oeqa: increase verbosity of dnf commands in dnf packagefeed test
Makes diagnosing failures easier.

[YOCTO #11209]

(From OE-Core rev: 1b58b409db081e739b786f51326f65b1818a5890)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
Ooi Cinly
20aa482ec6 perl: Don't change /usr/include references in docs to sysroot paths
do_configure() will no longer convert references to
/usr/include into /path/to/recipes-sysroot/usr/include
for the file "Porting/Glossary".

[YOCTO #11243]

(From OE-Core rev: cb2dfe5627df2ff235b37622260484841f39af17)

Signed-off-by: Ooi Cinly <cinly.ooi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
Ooi Cinly
a3c1bbc88d libtool: remove /absolute/path/to/host references
Removed all instances of -fdebug-prefix-map in LTCFLAGS
declaration because they contain references to host system
and are not needed.

/absolute/path/to/host/dd was replaced with 'dd' in
lt_truncate_bin declaration.

Please take note that the location of regex is important
for DEBUG_PREFIX_MAP. Removal of DEBUG_PREFIX_MAP has to be
done before other regex command modify its option value.

Both are modified because they affect binary reproducibility.

[YOCTO #11656]

(From OE-Core rev: 04db02138e363898e040e33557f1296e8a43c3fd)

Signed-off-by: Ooi Cinly <cinly.ooi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
sweeaun
d654f4934d valgrind: disable build for muslx32
Disable build for muslx32.X32 isn't supported by valgrind at this
moment.

(From OE-Core rev: a945141062ac3d0736558be428f60af405b53a94)

Signed-off-by: sweeaun <swee.aun.khor@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
sweeaun
178d5845c3 goarch: Disable build for muslx32
Disable build for muslx32.

(From OE-Core rev: 7f6e47b0d8aec9cb22db50ccb40ebb01677f01ea)

Signed-off-by: sweeaun <swee.aun.khor@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
Huang Qiyu
73a43b3ecc openssl10: modified the define cryptodev
Use PACKAGECONFIG to add cryptodev.

(From OE-Core rev: dddf15804f69757278abe175543e74332a978139)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
Khem Raj
a964a54ebf mesa: Fix build with llvmpipe enabled on musl
(From OE-Core rev: d8adf829f3fb58a41235f05c04ce700bf5d55ba7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
Khem Raj
ad140e7788 rootfs-postcommands.bbclass: Filter out dangling symlinks in ssh_allow_empty_password()
In images built with pam in DISTRO_FEATURES, we end up with dangling symlinks
if su is not packaged into image

$ ls /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/core-image-minimal/1.0-r0/rootfs/etc/pam.d/su-l -l
lrwxrwxrwx 1 kraj users 2 Aug  9 07:56 /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/core-image-minimal/1.0-r0/rootfs/etc/pam.d/su-l -> su

This causes image do_rootfs to fail

| sed: can't read /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/core-image-minimal/1.0-r0/rootfs/etc/pam.d/s
u-l: No such file or directory
| WARNING: /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/core-image-minimal/1.0-r0/temp/run.ssh_allow_empty_
password.19238:1 exit 2 from 'sed -i 's/nullok_secure/nullok/' /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi
/core-image-minimal/1.0-r0/rootfs/etc/pam.d/*'

Therefore we need to filter out dangling symlinks before sed'ing
things out

(From OE-Core rev: b92105e5a085c8cd3c650579644922ed97163e73)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
Dengke Du
163d2a34c7 cairo: Fix CVE-2017-9814
Backport patch from the following link to fix CVE-2017-9814:

    https://bugs.freedesktop.org/show_bug.cgi?id=101547

(From OE-Core rev: 4ff22f4bb10b83ea61218a01e12907a90edcd594)

Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
Jackie Huang
3577a8277e libsndfile1: Fix CVE-2017-8363
Backport the patch to fix CVE-2017-8363:

The flac_buffer_copy function in flac.c in libsndfile 1.0.28 allows
remote attackers to cause a denial of service (heap-based buffer
over-read and application crash) via a crafted audio file.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2017-8363

(From OE-Core rev: 9cc9956c5ed09f9016cb23bd763652e5ab55f3cd)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
Jackie Huang
0bead40423 libsndfile1: Fix CVE-2017-8362
Backport the patch to fix CVE-2017-8362:

The flac_buffer_copy function in flac.c in libsndfile 1.0.28 allows
remote attackers to cause a denial of service (invalid read and
application crash) via a crafted audio file.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2017-8362

(From OE-Core rev: 0c8da3f6f85962196f2ad54fffd839239f5c2274)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:38 +01:00
Jackie Huang
768cd2beff libsndfile1: Fix CVE-2017-8361 and CVE-2017-8365
Backport the patch to fix two CVEs:

CVE-2017-8361:
The flac_buffer_copy function in flac.c in libsndfile 1.0.28 allows
remote attackers to cause a denial of service (buffer overflow and
application crash) or possibly have unspecified other impact via a
crafted audio file.

CVE-2017-8365:
The i2les_array function in pcm.c in libsndfile 1.0.28 allows remote
attackers to cause a denial of service (buffer over-read and application
crash) via a crafted audio file.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2017-8361
https://nvd.nist.gov/vuln/detail/CVE-2017-8365

(From OE-Core rev: d92877ade8fd4dd9b548c6b664bf4357a1f9428a)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:37 +01:00
Yi Zhao
0782f4fce2 wget: Security fix CVE-2017-6508
CVE-2017-6508: CRLF injection vulnerability in the url_parse function in
url.c in Wget through 1.19.1 allows remote attackers to inject arbitrary
HTTP headers via CRLF sequences in the host subcomponent of a URL.

External References:
https://nvd.nist.gov/vuln/detail/CVE-2017-6508

Patch from:
http://git.savannah.gnu.org/cgit/wget.git/commit/?id=4d729e322fae359a1aefaafec1144764a54e8ad4

(From OE-Core rev: 28404157e07a915d1445166df566c8838f2cce57)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:37 +01:00
Jackie Huang
583225d94a xserver-xorg: Fix CVE-2017-10971
Backport 3 patches to fix CVE-2017-10971:

In the X.Org X server before 2017-06-19, a user authenticated to an X
Session could crash or execute code in the context of the X Server by
exploiting a stack overflow in the endianness conversion of X Events.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2017-10971

(From OE-Core rev: 20428f660f2c046c63bbf63c4e4af95dac9f2b3d)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:37 +01:00
Mike Looijmans
88a82e7489 rootfs-postcommands.bbclass: Prevent linking testdata to itself
testdata and testdata_link may point to the same file, in particular
when IMAGE_LINK_NAME and IMAGE_NAME are equal.

Check if this is the case before creating a symlink that points to
itself and makes the next build fail.

(From OE-Core rev: b516394f9e7858062aa7b042aa4a1bdef9d3a941)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:37 +01:00
Mike Looijmans
322985be23 qemuboot.bbclass: Prevent creating a link loop
When IMAGE_NAME and IMAGE_LINK_NAME are equal, do_write_qemuboot_conf will
create a symlink that links to itself.

Check if this is the case before creating the link.

(From OE-Core rev: f46652e77f467861dc68c3a8e54f27d08659222d)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:37 +01:00
Andrej Valek
1f033e4442 copy_buildsystem: include layer tree during build structure creation
When buildsystem with layer structure is going to be copied, only the last
meta-XXX layer is taken.
For example, during ext_sdk bblayers creating:
layers/oe/meta \
layers/oe/meta-oe \
layers/oe/meta-networking \
layers/oe/meta-webserver \
...
It restructured meta-oe, meta-networking,... contents into meta-oe.
Recipes from meta-oe will be on the same level like meta-networking,
meta-webserver, ... .

It should take the whole meta path instead of the last one.
layers/oe/meta \
layers/oe/meta-oe/meta-oe \
layers/oe/meta-oe/meta-networking \
layers/oe/meta-oe/meta-webserver \
...
Now the directory structure is the same like during build creation.

(From OE-Core rev: 5a59a6997f41e606d088e3e86812de56f72f543b)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:37 +01:00
Leonardo Sandoval
0c733631d6 report-error: provide distro identifier string in case of uninative build
Besides providing the NATIVELSBSTRING, include distro info when creating
the (json) error report. This information provides better info than the
standard 'universal*' string for uninative builds.

[YOCTO #11824]

(From OE-Core rev: fdfbfc954a3e0ad79dc2bed9828f9f5dc40d506f)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:37 +01:00
Leonardo Sandoval
e461f32d68 sign_rpm: Allow pkg signing by chunks through RPM_GPG_SIGN_CHUNK
Commit d58b1d196 moved from chunk to serial signing, but neither of both approaches
allowed the user to select the chunks size. This patch allows the user to select
a chunk size through RPM_GPG_SIGN_CHUNK defaulting to BB_NUMBER_THREADS, considered
a good default. Indirectly, this change reduces the number of processes spawn
to number-of-packages/RPM_GPG_SIGN_CHUNK.

(From OE-Core rev: f7f78e73f1cd15f4233a231364b14438af758628)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:37 +01:00
Khem Raj
c0a7913bfe systemd-boot: Move adjacent to systemd
We always forget to upgrade it when systemd is upgraded, keeping it
next to systemd will be an easy reminder to upgrade this recipe along
with systemd

Define EFI_CC, so far it has been using detection mechanism which
worked with gcc but falls back to native gcc when using non-gcc compiler
as default system compiler e.g. clang

(From OE-Core rev: e70f843b4fb5ee27d46543165a89d56c2ec5ee2e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:37 +01:00
Hongxu Jia
6cf439d4c2 logrotate: fix systemd service not found while multilib
...
|ERROR: lib32-logrotate-3.12.3-r0 do_package: SYSTEMD_SERVICE_lib32-logrotate
value lib32-logrotate.service does not exist
|ERROR: lib32-logrotate-3.12.3-r0 do_package: Function failed:
systemd_populate_packages
...

The systemd sercie file should not be multilib expend.

(From OE-Core rev: e599c3d75a0e57a798ca360eb55d8661de355ec5)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:37 +01:00
Hongxu Jia
0390b0975e bash: 4.3.30 -> 4.4
1. Rebase patches:
- fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch
- test-output.patch

2. Drop backported patches:
- CVE-2016-9401.patch
- fix-run-intl.patch

3. Add ${PN}-loadable for loadable builtins which is new features in Bash 4.4

4. The 4.4 fixed CVE-2017-5932 and CVE-2016-0634
- https://security-tracker.debian.org/tracker/CVE-2017-5932
- https://security-tracker.debian.org/tracker/CVE-2016-0634

5. The 4.4 installed include header files, fix bash-dev confilicts
   with lib32-bash-dev
.....
$ bitbake lib32-core-image-sato-sdk
...
|Error: Transaction check error: file /usr/include/bash/config.h
conflicts between attempted installs
|of lib32-bash-dev-4.4-r0.x86 and bash-dev-4.4-r0.core2_64
......

(From OE-Core rev: 4097694b13cd5f0d68987551c3f9af80c87dc6ae)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 23:46:37 +01:00
Hongxu Jia
0bd2dd08e3 gpgme: remove local m4/python.m4
While multilib, the local m4/python.m4 incorrectly assigned
am_cv_python_pyexecdir and am_cv_python_pythondir which caused
the following error enabled:
...
ERROR: gpgme-1.9.0-r0 do_package: QA Issue: gpgme: Files/directories
were installed but not shipped in any package:
  /usr/lib/python3.5/site-packages/gpg-1.9.0-py3.5.egg-info
...

(From OE-Core rev: f5c7e236582028638a26a5855d5e7ba0b55bb8f0)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:27 +01:00
Hongxu Jia
26fbd1e3f6 gpgme: 1.8.0 -> 1.9.0
Rebase patches:
- pkgconfig.patch -> 0001
- python-lang-config.patch -> 0002
- 0001-Correctly-install-python-modules.patch -> 0003
- python-import.patch -> 0004
- 0001-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch -> 0005

(From OE-Core rev: b18a7adf8ce194b2dd3ce787228fb87c5ef3efde)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:27 +01:00
Saul Wold
63042b82b2 build-appliance-image: Don't use COREBASE/LICENSE for checksumming
This file lists the licenses that the OE-Core meta data falls under
but should not be used as a LIC_FILES_CHKSUM, use the MIT license file.

(From OE-Core rev: e12fa3ac08962accb6585e2aa1c486e7852d174d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:27 +01:00
Hongxu Jia
a86a2b5858 mc: unify curses initialization
Since ncurses upgraded to 6.0+20170715, it compile failed
...
| ../../../mc-4.8.19/lib/tty/tty-ncurses.c:199:13: error: dereferencing
pointer to incomplete type 'TERMINAL {aka struct term}'
|      cur_term->Nttyb.c_cc[VINTR] = CTRL ('g');   /* ^g */
|              ^~
...

Backport a patch from upstream fixed the issue.

(From OE-Core rev: fc89bfa89aa785871f7999f2835dbcea06e2823b)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:27 +01:00
Jussi Kukkonen
fa231eaf9b connman: Remove musl patch that's no longer needed
libc headers now have a backported patch that fixes this.

(From OE-Core rev: 5dc1700ec6ff15aefb8ca540e5b7d3e89a14945b)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:27 +01:00
Ming Liu
91d7311056 packagefeed-stability.bbclass: change another bb.plain to bb.note
In commit 255caaad:
[ packagefeed-stability.bbclass: change a bb.plain to bb.note ]

I changed a bb.plain to bb.note to get a cleaner console, but there is
still one more bb.plain left which I forgot to change.

(From OE-Core rev: ccb96849e010883cb1cb4d384f017d05eb6bbcee)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:27 +01:00
Wenzong Fan
3ff394411e sqlite3: upgrade to 3.2.0
* Uprev from 3.19.3 to 3.2.0 for fixing CVE-2017-10989:

The getNodeSize function in ext/rtree/rtree.c in SQLite through 3.19.3,
as used in GDAL and other products, mishandles undersized RTree blobs
in a crafted database, leading to a heap-based buffer over-read or
possibly unspecified other impact.

https://nvd.nist.gov/vuln/detail/CVE-2017-10989

* LIC_FILES_CHKSUM updated for below changes:

  -** 2001 September 15
  +** 2001-09-15

(From OE-Core rev: 95b802bfe74ac6a3f6dc05edb52c87ef90600f40)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:27 +01:00
Hongxu Jia
624801e0b7 ncurses: 6.0+20161126 -> 6.0+20170715
Rebase patches:
- tic-hang.patch -> 0001
- configure-reproducible.patch -> 0002

Drop fix-cflags-mangle.patch, which accepted by upstream
...
commit 1b74f120ab7be89011408a6ad0f1c748a314bae8
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sun Feb 26 09:01:34 2017 +0100

    Import upstream patch 20170225

    20170225
        + fixes for CF_CC_ENV_FLAGS (report by Ross Burton).
...

(From OE-Core rev: a4ad0703e1209fee6cd89bf74088931785c4d8c7)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:27 +01:00
Hongxu Jia
80cecb6cc9 libgcrypt: 1.7.8 -> 1.8.0
Rebase patches:
- add-pkgconfig-support.patch -> 0001
- libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch -> 0002
- fix-ICE-failure-on-mips-with-option-O-and-g.patch -> 0003
- fix-undefined-reference-to-pthread.patch -> 0004

(From OE-Core rev: b90037da8754009ca7cf2ab996b46b3dae1eb204)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:27 +01:00
Hongxu Jia
70de26076f elfutils: 0.168 -> 0.170
The 0.170 Fixed CVE issues
- CVE-2017-7608
- CVE-2017-7612
- CVE-2017-7611
- CVE-2017-7610
- CVE-2016-10255
- CVE-2017-7613
- CVE-2017-7609
- CVE-2016-10254
- CVE-2017-7607

Rebase patches to 0.170
- dso-link-change.patch -> 0001
- Fix_elf_cvt_gunhash.patch -> 0002
- fixheadercheck.patch -> 0003
- 0001-remove-the-unneed-checking.patch -> 0004
- 0001-fix-a-stack-usage-warning.patch -> 0005
- aarch64_uio.patch -> 0006
- shadow.patch -> 0007
- 0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch -> 0008
- debian/mips_backend.diff -> debian/mips_backend.patch

Drop obsolete patches
- 0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch
  Upstream fixed it
  https://sourceware.org/git/?p=elfutils.git;a=commit;h=7114c513fbebcca8b76796b7f64b57447ba383e1

- Fix_one_GCC7_warning.patch
  It is a backported patch
  https://sourceware.org/git/?p=elfutils.git;a=commit;h=93c51144c3f664d4e9709da75a1d0fa00ea0fe95

- Drop debian patches, they modify test case.
  debian/testsuite-ignore-elflint.diff
  debian/kfreebsd_path.patch
  debian/hurd_path.patch
  debian/ignore_strmerge.diff

(From OE-Core rev: 4ca17f9275c81f27498b7ac07d9fe7e8193fdd71)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Hongxu Jia
a02826add0 dhcp: 4.3.5 -> 4.3.6
1. Rebase patches to 4.3.6
- define-macro-_PATH_DHCPD_CONF-and-_PATH_DHCLIENT_CON.patch -> 0001
- dhcp-3.0.3-dhclient-dbus.patch -> 0002
- link-with-lcrypto.patch -> 0003
- fixsepbuild.patch -> 0004
- dhclient-script-drop-resolv.conf.dhclient.patch -> 0005
- 0001-site.h-enable-gentle-shutdown.patch -> 0006
- libxml2-configure-argument.patch -> 0007
- tweak-to-support-external-bind.patch -> 0008
- remove-dhclient-script-bash-dependency.patch -> 0009
- build-shared-libs.patch -> 0010
- Moved-the-call-to-isc_app_ctxstart-to-not-get-signal.patch -> 0011

2. Drop search-for-libxml2.patch
   It is overrided by libxml2-configure-argument.patch

3. Rework dhclient-script-drop-resolv.conf.dhclient.patch and
Drop replace-ifconfig-route.patch.
vim client/scripts/linux
...
Script refresh in 2017. The aliasing code was too convoluted and needs
to go away. Migrated DHCPv4 script to ip command from iproute2 suite.
This is based on Debian script with some tweaks. ifconfig is no longer
used. Everything is done using ip tool from ip-route2.
...

(From OE-Core rev: 77878d2e6e8f36afa9a0fde8a6f0f955c84a5e5c)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Hongxu Jia
5552c856a7 apr-util: 1.5.4 -> 1.6.0
Drop backported openssl-1.1.patch

(From OE-Core rev: a67800e01b9b383d2f887a82de3075b2ef234648)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Vishal Bhoj
05bcd8ae84 cross-canadian.bbclass: add ilp32 support
Need to add ilp32 to known list of abi variants

(From OE-Core rev: 6c5e50d26cbb9172d7264e7a8fed3edf0c0e8414)

Signed-off-by: Vishal Bhoj <vishal.bhoj@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Chen Qi
3920d199ed package.bbclass: support persistent /var/log
Add a new file, fs-perms-persistent-log.txt, which treats /var/log
as a directory instead of a link.

Modify package.bbclass to use this file if VOLATILE_LOG_DIR is set to boolean
false value.

[YOCTO #6132]

(From OE-Core rev: 6b22e247bf91f112401cad822cd7fe0b5621ffe0)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Chen Qi
8c69b6ab85 initscripts: support persistent /var/log
Respect VOLATILE_VAR_LOG variable so that if it's set to any valid boolean
false value, we could have persistent /var/log on the final image.

[YOCTO #6132]

(From OE-Core rev: 50914c4a84e0fb6b9bf6bb1864a2d653218753ce)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Chen Qi
a2ec15f20c base-files: respect VOLATILE_LOG_DIR
Respect VOLATILE_LOG_DIR variable. In this way, if the user overrides
this variable to be any valid boolean false value, /var/log on the final
image would reside on persistent storage.

[YOCTO #6132]

(From OE-Core rev: fc19114ca409fc3178ae5cbb44db875b12eeedfc)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Chen Qi
6ba3e68ee8 bitbake.conf: add VOLATILE_LOG_DIR variable
The default value is "yes" which results in the /var/log being a link
pointing to /var/volatile/log which is on tmpfs.

Setting valid boolean false value ('no', 'n', 'false', 'f', '0') would make
/var/log to be a directory on persistent storage.

[YOCTO #6132]

(From OE-Core rev: 016bafce52f74462dc8f21a1c1b43ba2e6e59442)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Chen Qi
1f9c9a2884 shadow: fix CVE-2017-12424
Backport a patch to fix CVE-2017-12424.

In shadow before 4.5, the newusers tool could be made to manipulate
internal data structures in ways unintended by the authors.

Reference link: https://nvd.nist.gov/vuln/detail/CVE-2017-12424

CVE: CVE-2017-12424

(From OE-Core rev: 896495d4d2a9751e6e013a3498293b2443d7d809)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Kai Kang
aa4f7c8b14 nss: 3.30.2 -> 3.31.1
Upgrade nss from 3.30.2 to latest stable version 3.31.1.

* remove 0001-Fix-warnings-found-with-gcc7.patch which is not needed now

(From OE-Core rev: 86838f1c06002a62ded12a9a66d1eb82093c85a9)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Maxin B. John
3561875077 harfbuzz: upgrade to 1.4.8
1.4.7 -> 1.4.8

(From OE-Core rev: f6f6d138028669acdbcfcce47afb3e9807d8db33)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Maxin B. John
3b2cb68524 screen: upgrade to 4.6.1
Removed following patch as the parallel make issue was fixed upstream:
 * fix-parallel-make.patch

(From OE-Core rev: 76c9ba6b3f7c0aecb00b7d9c0a1aace3f80d8b48)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Joe Slater
391127b002 ruby: fix CVE-2017-9224
Use DATA_ENSURE(1) before access.

(From OE-Core rev: 9db907a0bd331c47c4882b82f9f1d2a7ef1f6d1f)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Fabio Berton
f14f918d9d python3-native: Add python3-misc-native to RPROVIDES
OE-core commit 800753069f667cd1664d70b3779150c467e3b3fe remove
RPROVIDES list to get runtime dependences from manifest file.
python3-misc is added in python3 recipe, we need to add
native runtime to use python3-misc with native recipes.

(From OE-Core rev: 31fd20811f6d11e7ed6ac84caf776ac46cd6fb6f)

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Khem Raj
ba1a7556b9 mkelfimage: Make -fno-stack-protector effective
mkelfimage uses different flags to compile as freestanding binary
it does not pour CFLAGS into them during configure as a result
-fno-stack-protector was never used. Which failed to build with
compilers configured to build with ssp by default. It worked with
gcc since we do not configure our toolchain to default to ssp

Fixes errors e.g.
| objdir/linux-i386/convert_params.o: In function `convert_params':
| linux-i386/convert_params.c:(.text+0x9f4): undefined reference to `__stack_chk_fail'
| objdir/linux-i386/convert_params.o: In function `compute_checksum':
| linux-i386/convert_params.c:(.text+0xa71): undefined reference to `__stack_chk_fail'
| objdir/linux-i386/convert_params.o: In function `printf':
| linux-i386/convert_params.c:(.text+0xcc7): undefined reference to `__stack_chk_fail'
| make: *** [linux-i386/Makefile:24: objdir/linux-i386/convert] Error 1

(From OE-Core rev: f6ed82482838e34202721be8f40ca1cc340c325e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Mark Hatle
05a6076656 rpm: Disable perl dependency generation
When rpmdeps files a perl script, it attempts to determine what it provides
and what it requires.  Often the requires are incorrect, within the context
of Wind River Linux.  This results in an error that DNF is unable to install
a package due to one or more unresolved dependencies.

In RPM5 we had disabled this behavior, the alternative is to require that all
perl scripts be 'complete', in that they only require things they absolutely
need and that OE provides.  If we ever enforce that, this commit can be
reverted.  Until they fall back to prior behavior (which also matches ipkg
and deb style packages.)

(From OE-Core rev: 99376f602c997fec96dbb28ddbe3fa5f68fde2c3)

(From OE-Core rev: 586875cea5769fea7d17bae2677eab72e4fc7e31)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Peter Kjellerstedt
1b5d1b36bb package.bbclass: Restore functionality to detect RPM dependencies
During the transition to dnf and rpm4, the functionality to
automatically make RPM determine dependencies was lost.

Before the transition, an OE specific tool called rpmdeps-oecore had
been added to the rpm suit. It was based on the rpmdeps tool that is
part of rpm. For each file specified on its command line, it would
output the provides and requires that RPM could determine.

During the transition to rpm4, rpmdeps-oecore was replaced with the
standard rpmdeps. However, what no one noticed was that unless rpmdeps
is given options, e.g., -P or -R, to tell it what it should output, it
will not output anything. Thus, it would do all the work to determine
the requirements, but would keep silent about it. And since no output
from rpmdeps is expected unless there are requirements, there were no
warnings indicating that everything was not working as expected.

Porting the old rpmdeps-oecore to work with rpm4 is not really
possible since it relied on being able to access internals of RPM that
are no longer available. However, it turned out that rpmdeps had a
debug option, --rpmfcdebug, that would output exactly the information
that we need, albeit in a different format and to stderr. To make this
usable, rpmdeps has now received a new option, --alldeps, which sends
the information we need to stdout.

(From OE-Core rev: 958501b3d9201aaabb81ec644c6049e0c9b737e7)

(From OE-Core rev: bf017930036f19b3d6df8e5b50d9979ee7045c5c)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Mark Hatle
8c01d5ccb8 ltp: Skip the filedependency scan
Since LTP includes a set of test cases, we need to skip file dependency
generation, as there will be dependencies that can not be satisfied.  In this
case a csh and ksh dependency come from two tests.

The alternative would be to depend on csh/ksh (a bad idea as they're not
available in oe-core) or remove the tests (but this eliminates the tests if
someone DOES have csh/ksh in their configurations.)

(From OE-Core rev: 8c4dcdfa9d5a37acb6f492b1cf0e40a403e5fbe9)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Richard Purdie
b78513f71f openssl: Add missing bash/python rdepends for ptest
ERROR: openssl-1.1.0f-r0 do_package_qa: QA Issue: /usr/lib/openssl/ptest/fuzz/helper.py contained in package openssl-ptest requires /usr/bin/python, but no providers found in RDEPENDS_openssl-ptest? [file-rdeps]
ERROR: openssl-1.1.0f-r0 do_package_qa: QA Issue: /usr/lib/openssl/ptest/test/certs/mkcert.sh contained in package openssl-ptest requires /bin/bash, but no providers found in RDEPENDS_openssl-ptest? [file-rdeps]

(From OE-Core rev: 7e70d0673df20669edd18b79ae065d8c2f655b8a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Richard Purdie
2b312d4973 bind: Use correct python interpreter path
The scripts currently reference "python33", fix this so they reference
python3. The move the python3 likely broke these.

(From OE-Core rev: 1a734f037da37d14f780970a9532d1e2e3683bf8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Juro Bystricky
55bf886039 poky: Add nios2 to list of qemu targets
(From meta-yocto rev: 06ae3f42c40fef98685d449711b91bb697d6b386)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:35 +01:00
Ming Liu
45d7f5485a image.bbclass: drop initramfs bundle related code
The original purpose of this code snippet was to repackage initramfs
bundled kernel images before do_image_complete, to be able to be
included by rootfs, but it's not going to achieve that since the
initramfs bundled kernel images are not even installed to ${D}/boot
after commit a49569e3a7534779bbe3f01a0647fd076c95798d:
[ kernel.bbclass: do not copy bundled initramfs to /boot ]

So there is not a initramfs bundled kernel package at all, we should
drop the code, because it is leading kernel do_initramfs_bundle
unnecessarily rerun and it's very time consuming and hence is impacting
the performance a lot.

(From OE-Core rev: eca501aeb4f2cc9255fabab14c68f6910367aaf9)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:15 +01:00
Juro Bystricky
7f45ea5083 qemu: upgrade to 2.10-rc2
In order to support Nios2 emulation by QEMU, we need
at least QEMU version 2.9.

(From OE-Core rev: f2d725d9268563f7bbcac770a34aceacb56cb2aa)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:15 +01:00
Juro Bystricky
ac2b82fedc gmp: improve reproducibility
Remove references to the host build system from generated/packaged
header file gmp.h. The file ends up in two different packages (libgmp-dev,
libgmp-dbg). Rather then modifying the file twice in two different
destinations after the installation, we modify the file gmp.h only once,
but before the installation.

[YOCTO #11922]

(From OE-Core rev: 693b42115e2f61abc9ca6096445dc494648cacb6)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:15 +01:00
Khem Raj
7d66c9cbf1 cairo: Add pkgconfig for opengl support
(From OE-Core rev: b952a80b6e520588454924ab0534ba7e370eaaca)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:15 +01:00
Khem Raj
9849022eb8 musl: Update to latest master
visibility is no more auto but disabled by default
we do not require to disable it explicitly.

* fix build failure for sh4a due to missing colon in asm statement
* trap UB from attempts to join a detached thread
* ppc64: fix setjmp/longjmp handling of TOC pointer
* qsort: add a short comment about the algorithm
* disable global visibility override hack (vis.h) by default
* add _NL_LOCALE_NAME extension to nl_langinfo

(From OE-Core rev: 82c0f16dbdd1a44438e8536a598277efed909b3c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:15 +01:00
Alexander Kanavin
867b88ae53 gstreamer1.0-plugins-bad: do not provide a fallback to openssl 1.0
This does not work as intended: enabling either of the alternatives
causes the other alternative to append a --disable-hls flag to
configure. Anyone needing openssl 1.0 should set it up manually
via EXTRA_OECONF_append or similar.

(From OE-Core rev: d2562cfe4517d85328e961f968db2c7cd3c6c6f2)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:15 +01:00
Maxin B. John
afb2ba67fe gst-player: remove workaround which disable visualizations
As we upgrade to libva 1.8.3, we can remove the workaround patch
which disables visualizations in gst-player:
        1. 0001-gtk-play-Disable-visualizations.patch

Also remove the upstreamed patches:
        1. filechooser.patch
        2. Fix-pause-play.patch
        3. Add-error-signal-emission-for-missing-plugins.patch

Fixes [YOCTO #11437]

(From OE-Core rev: 50f1902cb44724aa4b030e4e42b115231217acc9)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:15 +01:00
Maxin B. John
14af29ed1d libva: upgrade to 1.8.3
1.7.3 -> 1.8.3

Remove upstreamed patch:
        0001-wayland-Don-t-commit-and-ship-generated-files.patch

Replace following patch by setting ac_cv_prog in EXTRA_OECONF:
        0001-configure.ac-Use-wayland-scanner-in-PATH.patch

The dummy driver was removed in 1.8.3 release.

(From OE-Core rev: bcb77ab7f57a99284953a456399b90b6ed42e77d)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:15 +01:00
Maxin B. John
915715e4d0 libva-utils: add recipe
Utilities and tests in the libva was spun-off as libva-utils
during 1.8.0 release.

libva-utils is a collection of utilities and examples to exercise VA-API
in accordance with the libva project

(From OE-Core rev: ab7f6ba2bab04bdfaa76a1de83806dbadc82fefa)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:15 +01:00
Fabio Berton
1d809c1a30 libarchive: Remove xz packageconfig --with-lzmadec option
--with-lzmadec option was removed in libarchive commit:
30e1b7efd472e0439bea14df6a2d19cd8b5ac15e

See Github PR: https://github.com/libarchive/libarchive/pull/806

(From OE-Core rev: e1dda927d3734c0d272cfc7d99167498ca9d8f6d)

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:15 +01:00
Aníbal Limón
61135bcde7 liburi-perl: Upgrade to 1.72
(From OE-Core rev: a63c2e450da2627a831483ccaded4ef832848f5d)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:15 +01:00
Khem Raj
c89ed0fd75 llvm: Swith to ARM ISA on armv5 and armv4t
When Thumb1 is used as default ISA, there are linker
issues, therefore always use ARM ISA

Fixes
relocation truncated to fit: R_ARM_THM_CALL against symbol `__gnu_thumb1_case_uhi' defined in .text section

(From OE-Core rev: a0c9d19b46ccefbb90eea5965e11ea21d13242b4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Peter Kjellerstedt
fed5d9c8f0 package_rpm.bbclass: Filter out unwanted file deps for nativesdk packages
Filter out any file dependencies on absolute paths and any
dependencies on Perl modules for nativesdk packages. It is assumed
that they will be provided by the native host if needed, and they mess
up the dependency handling if they are present.

(From OE-Core rev: ce55e6c6d8b654b5fb21dec8180b471bfd33601a)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Peter Kjellerstedt
0db0e1851c texinfo: Avoid a problem with a dependency on perl(Locale::gettext_xs)
We do not build the Locale::gettext_xs Perl module and the code will
test for it and happily use Locale::gettext_pp instead if it is not
found. However, this still causes a file dependency on
perl(Locale::gettext_xs) to be generated, which must be satisfied by
adding an explicit provide for it.

(From OE-Core rev: c1e16ac6aea0ec15b35d227814bbf137ac8de6c2)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Peter Kjellerstedt
db0980203b git: Do not install git cvsserver and git svn by default
These git commands require Perl modules that do not exist in OE-Core.
Add PACKAGECONFIGs to enable them. Be aware though that if you enable
them you must also provide the missing dependencies.

(From OE-Core rev: d7909007b2a912ae5adf01edfabaa8b8646369cd)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Peter Kjellerstedt
a38ca789cf rpm: Add dependencies on bash, perl and python3-core
Also modify a Python script (pythondistdeps.py) to use Python 3.

(From OE-Core rev: b2906dbebfd547a630a4eafdcbaa1ceefa5e257c)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Leonardo Sandoval
e25d7a9b9c gpg_sign: perform rpm signing serially
gpg signing in file batches (which was default to 100) is a memory expensive
computation, causing trouble in some host machines (even on production AB
as seen on the bugzilla ID). Also, in terms of performance, there is no real
gain when rpm signing is done in batches. Considering the latter issues, perform the
rpm signing serially.

Log showing errors observed recently at AB workers:

    | gpg: signing failed: Cannot allocate memory
    | gpg: signing failed: Cannot allocate memory
    | error: gpg exec failed (2)
    | /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/core2-64-poky-linux/base-passwd/3.5.29-r0/deploy-rpms/core2_64/base-passwd-dev-3.5.29-r0.core2_64.rpm:

[YOCTO #11914]

(From OE-Core rev: d58b1d196f87128892b7b624bfb725afe01581f1)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Leonardo Sandoval
765dec9501 packagegroup-self-hosted: include missing (pod2man scp ssh) RPEDENDS packages
Otherwise, the following bitbake error is observed

    root@qemux86-64:~/openembedded-core/build# bitbake -e
    NOTE: Starting bitbake server...
    ERROR: Unable to start bitbake server
    ERROR: Last 10 lines of server log /home/root/openembedded-core/build/bitbake-cookerdaemon.log:
      File "/home/root/openembedded-core/bitbake/lib/bb/cooker.py", line 197, in __init__
        self.initConfigurationData()
      File "/home/root/openembedded-core/bitbake/lib/bb/cooker.py", line 348, in initConfigurationData
        self.databuilder.parseBaseConfiguration()
      File "/home/root/openembedded-core/bitbake/lib/bb/cookerdata.py", line 323, in parseBaseConfiguration
        raise bb.BBHandledException
    bb.BBHandledException
    NOTE: Starting bitbake server...
    ERROR: The following required tools (as specified by HOSTTOOLS) appear to be unavailable in PATH, please install them in order to proceed:
      pod2man scp ssh

(From OE-Core rev: 2ece64bf8cb8841e2e1db87d6c426f3f1637e8a7)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Jason Wessel
086ef2e595 systemd: Fix rootfs transaction error when PACKAGECONFIG has polkit
The systemd 234 added some files to the polkit directory and the
directory the files live in must be owned by the polkitd user, else
you will receive the following error when the rootfs is being
assembled:

Error: Transaction check error:
  file /usr/share/polkit-1/rules.d conflicts between attempted installs of polkit-0.113-r0.15.core2_64 and systemd-1:234-r0.0.core2_64

The fix similar to other packages such as libvirt where the user must
exist and the directory must be created with the proper attributes.

(From OE-Core rev: e2e36bb83355208aaf5a399107b4a99e62a708d3)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Jason Wessel
5c4bb85e07 openssl10: Fix conflict between openssl and openssl10 man pages.
The package resolver failes to assemble images because some of the man
pages in openssl10 conflict with the openssl package.  In the case
where you want openssl, openssh and the documentation installed in the
same system you will see the failure.

The work around is to rename all the openssl10 man pages and symlinks
to have a prefix of openssl10-.

(From OE-Core rev: bb837cae92472b294ac886b121b2249e4314439f)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Jonathan Liu
e6d78cf73a syslinux: Update HOMEPAGE
(From OE-Core rev: acf5982fdb6300d88f9e1c6302fd4d38ac46b8de)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Paul Eggleton
14f3d4e58a recipetool: create: fix incorrect URL variable usage
We have two variables here, srcuri and fetchuri. srcuri is what
eventually ends up in the recipe, whereas fetchuri is what we actually
pass to the fetcher when we fetch the source within recipetool -
sometimes these need to be different particularly for an upcoming patch
to handle automatically setting the branch parameter. In OE-Core
revision 9a47a6690052ef943c0d4760630ee630fb012153 I erroneously changed
the call to scriptutils.fetch_url() to pass srcuri instead of fetchuri -
this likely didn't have any ill effect, but change it back to passing
fetchuri to match the original intent.

(From OE-Core rev: b66b73bcf5ee7e4488970576fdc31dfa25b35f5e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Jose Alarcon
608c0ddf0d libx11: Add patch to fix hanging issue in _XReply
Assume event queue is empty if another thread is blocking waiting for event.

If one thread was blocking waiting for an event and another thread sent a
reply to the X server, both threads got blocked until an event was
received.

(From OE-Core rev: 26842b2e4fc9c1d243ce412e845a5444cb03c4b9)

Signed-off-by: Jose Alarcon <jose.alarcon@ge.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Yue Tao
f36bdb503f libtasn1: CVE-2017-10790
The _asn1_check_identifier function in GNU Libtasn1 through 4.12 causes
a NULL pointer dereference and crash when reading crafted input that
triggers assignment of a NULL value within an asn1_node structure. It
may lead to a remote denial of service attack.

References:
https://nvd.nist.gov/vuln/detail/CVE-2017-10790
http://git.savannah.gnu.org/gitweb/?p=libtasn1.git;a=commit;
h=d8d805e1f2e6799bb2dff4871a8598dc83088a39

(From OE-Core rev: 6176151625c971de031e14c97601ffd75a29772f)

Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Huang Qiyu
4776599ad2 nspr: 4.14 -> 4.16
Upgrade nspr from 4.14 to 4.16

(From OE-Core rev: bfc148a40fd5b9936e63e9af901b5c8aaf7e8e5b)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Yi Zhao
24baa5c9da iproute2: add tipc support
The tipcutils 2.2 in meta-oe removed the tipc-config tool and
recommended to use the new configuration tool named "tipc" in iproute2
package for configuring the tipc, which utilizes the new tipc netlink
kernel API.

Add tipc support and split it out into its own package.

(From OE-Core rev: 944ef0de241de77429ab0e5cb1dd4a7f355cf3fd)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Khem Raj
c6b7d0907a gcc: Upgrade to 7.2.0 release
Drop upstreamed patches

(From OE-Core rev: dbf718d1baef64ee01431c4134b492cf94bcb4b8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Jussi Kukkonen
91572dc587 gdk-pixbuf: Upgrade 2.36.6 -> 2.36.8
Smallish releases with bug fixes and minor improvements.

shared-mime-info is now always used for image type sniffing.
The dependency does not seem to currently be a build-time dependency
but configure.ac does check for it: I took the easy route and just
added shared-mime-info to DEPENDS as well.

(From OE-Core rev: ebba8c2999fc6cf94eca988f8d942acd9f0137ba)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Jussi Kukkonen
9b63e8247c glib-2.0: Upgrade 2.52.2 -> 2.52.3
Small release with bug fixes and some flatpak portal related
improvements.

(From OE-Core rev: 0833691ff1d05b17a0c90c90800d7cdaeb871479)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Jussi Kukkonen
765c929bec fontconfig: Upgrade 2.12.1 -> 2.12.4
Bug fix upgrades.
* Remove one upstreamed patch.
* Update a license location.
* Add gperf-native as dependency as a hash function header is no
  longer shipped and must be generated.
* Add workaround for a related build issue (reported upstream)

(From OE-Core rev: a9762bf5d28d578b9fbcc94c3bdd4866e66fdf97)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:14 +01:00
Jussi Kukkonen
d59bda3779 cairo: Upgrade 1.14.8 -> 1.14.10
Small bug fix update.

(From OE-Core rev: e7acc11b8f932c890157b91b0628c60a1ad69793)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-17 00:21:13 +01:00
Jussi Kukkonen
6016ec177a poky.conf: Enable vulkan by default
Things to note:
* This ends up enabling dri3 in mesa
* It does not completely enable dri3 in xorg with xf86-video-intel
  because that requires a run time configuration (xorg.conf)

So vulkan in poky with xf86-video-intel still requires a xorg.conf
snippet to enable dri3. Otherwise (weston or X with other drivers)
it just works.

(From meta-yocto rev: f55e894b7fb9fa6974e8048032a8373073738f9e)

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>
2017-08-16 00:04:39 +01:00
Richard Purdie
1bfa9ca6c6 bitbake: process: Increase server startup timeout
We're seeing the server fail to start within 8s on heavily loaded
autobuilders so increase this timeout to 30s which should be more
than enough time.

(Bitbake rev: 8d4c120ec46d6d7a54947c64d33e18cb60b60505)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:04:38 +01:00
Richard Purdie
43b392536d bitbake: process: Improve client disconnects
There have been cases where the server could loop indefinitely and incorrectly
handle client disconnects. In the EOFError case, ensure a full disconnect
happens in the alternative disconnect path to avoid this.

(Bitbake rev: 5e267f14bb0155889615f567a920af4a37eb3c6b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:04:38 +01:00
Markus Lehtonen
188feb233a dnf: expand dnf selftest to test signed package feeds
[YOCTO #11209]

(From OE-Core rev: 4d65421f381fc69397d7c61ba76488775e83e043)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:16 +01:00
Markus Lehtonen
14fc08e3b0 oeqa: fix temp file handling in dnf package feed test
Prevent stale temp files and a possible (if unlikely) race in tempfile
usage.

(From OE-Core rev: 1b8ac555ee1443be5cd14614cc6b722960d228b8)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Markus Lehtonen
05361f9a4f oeqa: fix dnf tests
Rename one dnf runtime test that it will recognized as a python module
and thus also found by the oe test loader. Also, fix value of
TEST_SUITES in dnf selftest so that all test dependencies are satisfied
and the runtime test may be successfully run from there.

(From OE-Core rev: ee3be65aa1348798d385ead9b80c6a6ada21d6b0)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Markus Lehtonen
efcecc318b package_manager.py: enable dnf's repo_gpgcheck if feed signing is enabled
If package feed signing is enabled enable repo gpg signature check for
rpm repositories added via PACKAGE_FEED_URIS. This has the implication
that all repositories added via this mechanism must be signed with the
same key.

[YOCTO #11209]

(From OE-Core rev: f7716f1de0791dfe778bb70f1769a7e1e83c7a54)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Markus Lehtonen
bc10e6b429 sign_package_feed.bbclass: install signing key into rootfs
If package-management is enabled.

[YOCTO #11209]

(From OE-Core rev: 4f89a5629f876a833c0178d1ec687448d3ed8e71)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Markus Lehtonen
5e9468b595 signing-keys: delete unused tasks
In particular, do_unpack needs to be deleted as it was causing missing
subpackages. Do_unpack cleans the builddir and if it was run after
do_get_public_keys it cleaned up all keys causing no packages to be
built.

(From OE-Core rev: 8fbe0d60322f1b02c1e9de1c6ab19648db97dbd9)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Markus Lehtonen
2898cce3de dnf: rrecommend gnupg
This makes it possible to enable 'repo_gpgcheck' in dnf.conf. That is, do
GPG signature check on repository metadata. Without gnupg dnf fails with
"error: Invalid crypto engine."

[YOCTO #11209]

(From OE-Core rev: 8a7154cfe150840b451bc56951f0fa31cb8d6fa0)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Markus Lehtonen
d27f45a692 lib/oe/package_manager: re-implement rpm feed signing
[YOCTO #11209]

(From OE-Core rev: 7a33426561ddc72296e33c5e7b8ca38763a7ab07)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Richard Purdie
08128ecf6b util-linux-native: Avoid use of getrandom
getrandom() is only available in glibc 2.25+ and uninative may relocate binaries
onto systems that don't have this function. For now, force the code to the older
codepath until we can come up with a better solution for this kind of issue.

(From OE-Core rev: 95e31e4b15573eb1cbeb4ff1d0903c5141b84d54)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Richard Purdie
faf20cc380 python3-native: Avoid use of getentropy/getrandom
getentropy/random() is only available in glibc 2.25+ and uninative may relocate
binaries onto systems that don't have this function. For now, force the code to
the older codepaths until we can come up with a better solution for this kind of
issue.

(From OE-Core rev: 92bda0024d85ae78345665cc2f9646c9881ed61b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Ming Liu
23d162838b packagefeed-stability.bbclass: change a bb.plain to bb.note
I could see dozens of "Copying packages for recipe..." messages on the
console during a image build, this is sort of annoying. I would like
them to be dumped into the task log instead, so I can get a cleaner
console and would not miss real important messages.

(From OE-Core rev: 255caaad3574afec6ff5909c770eaee3f74a8155)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Richard Purdie
d2697f92e9 selftest/tinfoil: Filter LogRecords in test_event_wait
As the code stands today, an event mask does not mask LogRecord events
since the log levels are controlled separately. We therefore need to
accept (and ignore) LogRecord events in this test to avoid errors.

(From OE-Core rev: efe1f2c8ad09af3c5ee9c778601c7463c532b012)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Richard Purdie
27ea26e3d6 expat: Don't use getrandom() in the -native case
getrandom() is only available in glibc 2.25+ and uninative may relocate
binaries onto systems that don't have this function. For now, force
the code to the older codepath until we can come up with a better solution
for this kind of issue.

(From OE-Core rev: da9ac8092497c3f2c246d3534f47e42cb2d9e4e8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Richard Purdie
3ea11466b5 site/ix86-common: Drop ac_cv_sizeof_ino_t as it can be incorrect with large file support
Depending on whether large file support is enabled, the size of ino_t can
be 4 or 8 on 32 bit x86. Drop the value from the site cache and allow the
system to vary it depending on configuration. Very few other arches actually set
this so its likely obsolete and doesn't need to be hardcoded anymore.

Also drop the 64 bit and x32 variants since autodetection of this value appears
to work fine and this avoids any confusion or sizing errors depending on large
file support.

(From OE-Core rev: 31ae16003cac6c8cf587c98d0c58e9f21690cb40)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Juro Bystricky
22463d2256 image.bbclass: support binary reproducibility
Added a new task "reproducible_final_image_task".
If binary reproducibility is desired ($BUILD_REPRODUCIBLE_BINARIES" = "1"),
then recursivley modify mtimes of all files to a reproducible vale.
The value is obtained via REPRODUCIBLE_TIMESTAMP_ROOTFS.
This task is executed as the very last step in image creation, once all
the files in the image have been finalized.

[YOCTO#11176]

(From OE-Core rev: df8df5f907736c3e5b7f15ea11898a1d49726ca5)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Juro Bystricky
55e9485735 kernel.bbclass: improve reproducibility
Several tweaks to improve reproducibility:

1. If BUILD_REPRODUCIBLE_BINARIES == 1, set KBUILD_BUILD_TIMESTAMP
to a reproducible value. This is either a non-zero SOURCE_DATE_EPOCH, or the
value obtained from top entry of GIT repo, or (if there is no GIT repo)
fallback to REPRODUCIBLE_TIMESTAMP_ROOTFS as the last resort.
Also export KCONFIG_NOTIMESTAMP=1.

2. When compressing vmlinux.gz, use gzip "-n" option

3. Kernel and kernel modules contain hard coded paths referencing the host
build system. This is usually because the source code contains __FILE__
at some place. This prevents binary reproducibility. However, some compilers
allow remapping of the __FILE__ value. If we detect the compiler is capable
of doing this, we replace the source path $(S) part of __FILE__ by a string "/kernel-source".
For example:

​/data/master/build/tmp/work-shared/qemux86/kernel-source/drivers/media/v4l2-core/videobuf2-core.​c

will be replaced by a reproducible value:

/kernel-source/drivers/media/v4l2-core/videobuf2-core.c.

(From OE-Core rev: 012a70da7ae0617740cd0cf807d01c3cd912c823)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Juro Bystricky
f3da1613c4 image-prelink.bbclass: support binary reproducibility
Conditionally support binary reproducibility in built images.
If BUILD_REPRODUCIBLE_BINARIES = 1 then:

1. Do not randomize library addresses
2. Set/export PRELINK_TIMESTAMP to a reproducible value.
   If REPRODUCIBLE_TIMESTAMP_ROOTFS is specified, then the value will
   be used. Otherwise the timestamp will be derived from the top git commit.

(From OE-Core rev: 40ce3db222f8557a01d041f8115d531cc90a54e8)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Juro Bystricky
01d82ea619 busybox.inc: improve reproducibility
For reproducible builds do not generate build timestamp as part of
the version string.

Remove host tools references from .config file.
With this patch all eight busybox packages are built as
binary reproducible.

(From OE-Core rev: fad94cdb02be86b463e691ca2598b393e7875919)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Juro Bystricky
6fd0e23dbd python3: improve reproducibility
The compiled .pyc files contain time stamp corresponding to the compile time.
This prevents binary reproducibility. This patch allows to achieve binary
reproducibility by overriding the build time stamp by the value
exported via SOURCE_DATE_EPOCH.

Patch by Bernhard M. Wiedemann.

[YOCTO#11241]

(From OE-Core rev: 2175aec10a764bfc925a3fb447547982d0ae662f)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Gan, Yau Wai
591db9fbd3 u-boot: update nios2 device tree for 10m50 board
In order for u-boot to work on Nios II architecture,
the device tree file requires adding pre-relocation
flag to the CPU node.

Patch is tested on 10m50 board. Pass booting up
Linux.

[YOCTO #11628]

(From OE-Core rev: 1e301a9f959fd3816d96cfdb6f8530898cefafce)

Signed-off-by: Gan, Yau Wai <yau.wai.gan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Juro Bystricky
82673ee078 e2fsprogs-doc: binary reproducible
When compressing by gzip, do not save the original file name and time stamp.

[YOCTO #11916]

(From OE-Core rev: c32d526a056adb8ed1eb8beb9d495bfd01af2342)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Jose Lamego
d3982592e1 python3-docutils: update to 0.14
python3-docutils recipe must be upgraded to latest stable release.

LIC_FILES_CHKSUM changed due to a typo fix from previous version,
but license type and information remained the same.

This change was tested on qemu with core-image-minimal.

(From OE-Core rev: f99247335485e15c820991e3ea20b766364111fc)

Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:15 +01:00
Jose Lamego
b13df74256 python*-setuptools: update to 36.2.7
Both python-setuptools and python3-setuptools must be updated
to latest stable release.

These changes were tested on qemu with core-image-minimal

(From OE-Core rev: 147d9260eb79edfdf7a91fb8bc3d915f141dc685)

Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Chen Qi
e31ba8f122 sysstat: fix creating configuration file for /var/log/sa
Fix to create configuration file related to /var/log/sa for sysvinit
and systemd systems respectively.

(From OE-Core rev: 652e515cbdf0f6314b63ec52b9fcac42299c3d60)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Joshua Watt
3ca6085729 externalsrc: Handle .git not being a directory
Use git rev-parse to determine the location of the .git directory, in
case it is not an immediate child of EXTERNALSRC (e.g. when using
submodules). In the event git can't resolve the .git directory, fall
back to the non-git method for hashing.

(From OE-Core rev: 95e1341b49f7184d280a03f64f131a4468a06867)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Khem Raj
9dcc9f116e expat: Upgrade to 2.2.3
(From OE-Core rev: d404d5574b0c270656fda4dc051babe82e8828a9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Dengke Du
b3ca36e7d1 ltp: upgrade to upstream latest commit on 20170804
1. Drop 4 patches because the upstream already contains them:

    0001-dirtyc0w-Include-stdint.h.patch
    0006-fix-PATH_MAX-undeclared-when-building-with-musl.patch
    0037-faccessat-and-fchmodat-Fix-build-warnings.patch
    0038-syscalls-add_key02-update-to-test-fix-for-nonempty-N.patch

2. Drop the do_compile_prepend function, because the upstream already fix
   the parallel make race, we can check it here:

    3f385652ef

3. Fix PAGE_SIZE redefinition and O_CREAT undeclear build failures when using musl

4. Fix runtime failed case file01

(From OE-Core rev: 46feafdc13b8c3c4b03d44a4a95a87d4ee25300c)

Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Jussi Kukkonen
54cdf84d42 mesa: Fix build with vulkan on non-x86
The intel vulkan driver requires libdrm-intel: Only enable it when
building for x86 or x86-64 similar to DRI drivers.

Building on non-x86* with vulkan leads to "--with-vulkan-drivers= ":
this is interpreted correctly by the build system.

(From OE-Core rev: 8e50f002823772a989f0f39b0ecb8a84517c94f5)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Stefan Agner
a3ae69755b image.bbclass: delete DATE variable too
When creating a custom image which uses the DATE variable the basehash
seems to change every day and lead to errors such as:
ERROR: console-tdx-image-2.7.6-r0 do_image_customimg: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:set_image_size(d)
...

Add DATE to the variables which should not get expanded early and to the
vardepsexclude list for the image task.

(From OE-Core rev: 4af13a4855c74cea9cf6c168fd73165d7094bf93)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Max Krummenacher
24a4b7114b run-postinsts: do not reload daemon configuration
In case a systemd service disables itself while init is still in its
boot sequence the reloading of the service files can be problematic.
In that case: It seems that systemd looses the state of .device units,
and some services depend on such units (namely serial consoles such as
serial-getty@ttymxc0.service). As a result no getty is spawned on the
affected serial tty.
After a power-cycle the second boot (which does not disable services)
succeeds.

The following sequence shows this problem:

| Jan 09 16:36:28 apalis-t30 systemctl[162]: Removed /etc/systemd/system/sysinit.target.wants/run-postinsts.service.
| Jan 09 16:36:28 apalis-t30 systemd[1]: Reloading.
|    ...
|    And then the failing one:
| Feb 22 15:33:15 apalis-t30 systemd[1]: dev-ttyS0.device: Job dev-ttyS0.device/start timed out.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Timed out waiting for device dev-ttyS0.device.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Dependency failed for Serial Getty on ttyS0.
| Feb 22 15:33:15 apalis-t30 systemd[1]: serial-getty@ttyS0.service: Job serial-getty@ttyS0.service/start failed with result 'dependency'.
| Feb 22 15:33:15 apalis-t30 systemd[1]: dev-ttyS0.device: Job dev-ttyS0.device/start failed with result 'timeout'.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Reached target Login Prompts.

(the time has been updated between this two events, but that does not
influence the issue)

Using --no-reload in the service file avoids the "Reloading." message
above and seems to not cause such issues anymore.

Reported-by: Stefan Agner <stefan.agner@toradex.com>
(From OE-Core rev: 23b359b6e26d0b17037bf955bd15a16a3fd9ab8f)

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 4a425d05bac5dcba023b67aa3d726f7e7869404f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Max Krummenacher
fd266b1b66 opkg-configure: do not reload daemon configuration
In case a systemd service disables itself while init is still in its
boot sequence the reloading of the service files can be problematic.
In that case: It seems that systemd looses the state of .device units,
and some services depend on such units (namely serial consoles such as
serial-getty@ttymxc0.service). As a result no getty is spawned on the
affected serial tty.
After a power-cycle the second boot (which does not disable services)
succeeds.

The following sequence shows this problem:

| Jan 09 16:36:28 apalis-t30 systemctl[162]: Removed /etc/systemd/system/sysinit.target.wants/run-postinsts.service.
| Jan 09 16:36:28 apalis-t30 systemd[1]: Reloading.
|    ...
|    And then the failing one:
| Feb 22 15:33:15 apalis-t30 systemd[1]: dev-ttyS0.device: Job dev-ttyS0.device/start timed out.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Timed out waiting for device dev-ttyS0.device.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Dependency failed for Serial Getty on ttyS0.
| Feb 22 15:33:15 apalis-t30 systemd[1]: serial-getty@ttyS0.service: Job serial-getty@ttyS0.service/start failed with result 'dependency'.
| Feb 22 15:33:15 apalis-t30 systemd[1]: dev-ttyS0.device: Job dev-ttyS0.device/start failed with result 'timeout'.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Reached target Login Prompts.

(the time has been updated between this two events, but that does not
influence the issue)

Using --no-reload in the service file avoids the "Reloading." message
above and seems to not cause such issues anymore.

Reported-by: Stefan Agner <stefan.agner@toradex.com>
(From OE-Core rev: 059bc9b164d239f0ba319f8e6a54b5edf7761b22)

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 16b7b455ee40fd1be5bb9aacf24b106df0d9325e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Max Krummenacher
b1b94376d1 dpkg-configure: do not reload daemon configuration
In case a systemd service disables itself while init is still in its
boot sequence the reloading of the service files can be problematic.
In that case: It seems that systemd looses the state of .device units,
and some services depend on such units (namely serial consoles such as
serial-getty@ttymxc0.service). As a result no getty is spawned on the
affected serial tty.
After a power-cycle the second boot (which does not disable services)
succeeds.

The following sequence shows this problem:

| Jan 09 16:36:28 apalis-t30 systemctl[162]: Removed /etc/systemd/system/sysinit.target.wants/run-postinsts.service.
| Jan 09 16:36:28 apalis-t30 systemd[1]: Reloading.
|    ...
|    And then the failing one:
| Feb 22 15:33:15 apalis-t30 systemd[1]: dev-ttyS0.device: Job dev-ttyS0.device/start timed out.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Timed out waiting for device dev-ttyS0.device.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Dependency failed for Serial Getty on ttyS0.
| Feb 22 15:33:15 apalis-t30 systemd[1]: serial-getty@ttyS0.service: Job serial-getty@ttyS0.service/start failed with result 'dependency'.
| Feb 22 15:33:15 apalis-t30 systemd[1]: dev-ttyS0.device: Job dev-ttyS0.device/start failed with result 'timeout'.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Reached target Login Prompts.

(the time has been updated between this two events, but that does not
influence the issue)

Using --no-reload in the service file avoids the "Reloading." message
above and seems to not cause such issues anymore.

Reported-by: Stefan Agner <stefan.agner@toradex.com>
(From OE-Core rev: e735c176361fca43420565dcb8900bbff2f3664e)

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 94fabe4b03e899d8876027ee2ced649737a9e522)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Martin Jansa
9a94fce7f1 rm_work: fix build break for do_image_complete
* since following commit:
  commit 2ff9d40dc88d43567472218cf3d3faf414398c71
  Author: Richard Purdie <richard.purdie@linuxfoundation.org>
  Date:   Sun Jul 30 16:06:57 2017 +0100

    image/rm_work: Promote do_image_complete to be more sstate like

  all image rm_work tasks are failing with:
  mv: 1.0-r0.do_image_complete.228730130ba309f85b73b72222ba11d7.raspberrypi3 and
      1.0-r0.do_image_complete.228730130ba309f85b73b72222ba11d7.raspberrypi3 are the same file

  it's because for $i 1.0-r0.do_image_complete.228730130ba309f85b73b72222ba11d7.raspberrypi3
  there will be first SSTATETASK in $j do_deploy, so the sed call doesn't replace anything

  It might be different order of SSTATETASKS in my builds (it might work only when
  do_image_complete is the first one in the list), but here:
  SSTATETASKS="do_deploy do_image_complete do_image_qa do_package do_package_qa do_package_write_ipk do_packagedata do_populate_lic do_populate_sdk do_populate_sdk_ext do_populate_sysroot"

(From OE-Core rev: 0c905d4e7fa8e5416945fa0d61ebc1d34409d1e6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Khem Raj
b0220d1b72 musl: Build only in ARM mode when using clang
clang 5.0 has a codegen bug when compiling musl in thumb2 mode see

https://bugs.llvm.org/show_bug.cgi?id=34165

(From OE-Core rev: 3b4182968c5a1271748002f0e0264f54643a9f1c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Carlos Rafael Giani
79483b0567 gstreamer1.0-python: upgrade to version 1.12.2
(From OE-Core rev: 084eb341281e396b25805bc88b0f09c03112c144)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Carlos Rafael Giani
e2bf6f7586 gstreamer1.0-vaapi: upgrade to version 1.12.2
* Remove backported patch:
  1. vaapivideobufferpool-create-allocator-if-needed.patch

* Add PACKAGECONFIG_GL variable to make it possible for BSP layers to
  customize what should be the default, EGL or GLX

* Set virtual/egl instead of virtual/mesa as egl dependency in case
  platform specific drivers provide virtual/egl functionality

(From OE-Core rev: 42daac1ade210d873aa4761d89d2402fbe80f07b)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Maxin John
19681739e0 gstreamer1.0-libav: upgrade to version 1.12.2
(From OE-Core rev: 7991a8a094f69a5777e21b17f130277e858acd24)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Maxin John
cd0f99b826 gstreamer1.0-omx: upgrade to version 1.12.2
(From OE-Core rev: 01d7987786ff26eb56cc00712d77851f48659a3f)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Maxin John
8ab7d9000c gstreamer1.0-rtsp-server: upgrade to version 1.12.2
(From OE-Core rev: bdcf49ddf9d0852a87fd5306f6fc0e6c5b716d1c)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Maxin John
5938f43c9e gstreamer1.0-plugins-ugly: upgrade to version 1.12.2
* libmad plugin was removed in 1.12.0, since mad is GPLed,
  unmaintained, and both gst-libav & the mpg123 plugin are
  fully functional alternatives.

(From OE-Core rev: a963a2e38e246554b7083430710a2aba430df5e5)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Carlos Rafael Giani
ae841c4371 gstreamer1.0-plugins-bad: upgrade to version 1.12.2
* Remove backported patches:
  1. 0001-smoothstreaming-implement-adaptivedemux-s-get_live_s.patch
  2. 0001-smoothstreaming-use-the-duration-from-the-list-of-fr.patch
  3. 0001-mssdemux-improved-live-playback-support.patch

* Refreshed the following patches:
  1. 0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch
     Extended patch to include fix for libgstallocators
  2. 0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
     Updated to apply to 1.12.2
  3. gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch
     Updated to apply to 1.12.2

* Removed license checks in tta directory as it doesn't exist anymore.

* In 1.12.0, old unsupported plugins were removed. As a result, the
  list of unsupported plugins was removed.

(From OE-Core rev: 1fa8492e54dd71ce7d4d853e0cb7295c28fa5e76)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Maxin John
71c2f1d047 gstreamer1.0-plugins-good: upgrade to version 1.12.2
* Remove backported patch:
  1. 0001-v4l2object-Also-add-videometa-if-there-is-padding-to.patch

* Added RPROVIDES to handle the renamed plugins (oss4 is not enabled):
  1. libgstpulse -> libgstpulseaudio
  2. libgstsouphttpsrc -> libgstsoup

* Updated gstreamer1.0-meta-base to include this change:
  1.gstsouphttpsrc plugin was renamed to gstsoup

(From OE-Core rev: 142d9e3d68147cdad18a3a60eaa22c33c418ffec)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:14 +01:00
Maxin John
58a7c2bd37 gstreamer1.0-plugins-base: upgrade to version 1.12.2
* Remove upstreamed patch:
  1. encodebin-Need-more-buffers-in-output-queue-for-bett.patch

(From OE-Core rev: 10d509f69fcdcb4d2c07d3c4cc403c74956fb1a8)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:13 +01:00
Carlos Rafael Giani
4f64854dff gstreamer1.0: upgrade to version 1.12.2
* Version 1.12 introduces support for libdw (provided by elfutils).
  libdw adds source lines & numbers to backtraces. A new "dw"
  packageconfig added for enabling/disabling this feature.
  In addition, the old patch for deterministic unwind configuration
  was replaced with one that also allows the same for the dw
  configuration. This new patch was also submitted to bugzilla.

* Leftover docbook cruft was removed, meaning that the
  "--disable-docbook" configure switch is gone.

(From OE-Core rev: a6c12ff35c97f4225a6b2f226ae4483d7bacdfb9)

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:13 +01:00
Alexander Kanavin
5813f1f764 selftest: fix distrodata.py to use per-recipe UPSTREAM_VERSION_UNKNOWN setting
... instead of a global exception list which was problematic.

[YOCTO #11896]

(From OE-Core rev: 89dfede4ca795ba085f1ee7290c6dede573c11db)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:13 +01:00
Alexander Kanavin
2d21e4302d pax-utils: check upstream version from debian servers
Gentoo server can be very slow to list the tarball directory.

(From OE-Core rev: 4f6059a6582d5fdd7260b816301e939d1e3f3ddb)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:13 +01:00
Alexander Kanavin
5f7f74a248 v86d: take tarball from debian
Gentoo is removing the package due to dead upstream;
Debian might carry it for a while longer.

(From OE-Core rev: 5026730a2f0701ebad4ddf57990b1ae3b484ae72)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:13 +01:00
Alexander Kanavin
1d84ef26fb assimp: fix upstream version check
(From OE-Core rev: d15bcae5fa04a84f2909217bcfc657aa2ce7d3f0)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:13 +01:00
Alexander Kanavin
36671d1494 distrodata.bbclass: add UPSTREAM_VERSION_UNKNOWN and UPSTREAM_CHECK_UNRELIABLE
These are optional per-recipe variables with the following meaning:

UPSTREAM_VERSION_UNKNOWN - set if the upstream version check fails reliably,
e.g. absent git tags, or weird version format used on our or on upstream side.
If this variable is not set and version check fails, or if it is set and
the version check succeeds, then the checkpkg selftest for the recipe will fail.

UPSTREAM_CHECK_UNRELIABLE - set if the upstream check cannot be reliably performed
due to transient network failures, or server behaving weirdly. This one should be used
sparingly, as it completely excludes a recipe from upstream checking, and thus
we don't get automatically notified about new upstream releases.

Also the upstream status string in the checkpkg csv output is clarified with the following
possible values:
MATCH - recipe is providing the latest upstream version
UPDATE - there is a new version released by upstream, recipe should be updated
CHECK_IS_UNRELIABLE - an upstream check was skipped as requested by recipe
via UPSTREAM_CHECK_UNRELIABLE
UNKNOWN - upstream version check was performed, but the upstream verison could
not be determined. The recipe acknowledges this via UPSTREAM_VERSION_UNKNOWN setting.
UNKNWON_BROKEN - same as previous, but the recipe does not include the acknowledgement
and should be fixed.
KNOWN_BROKEN - upstream check worked, but recipe claims it shouldn't; to fix this
remove UPSTREAM_VERSION_UNKNOWN from recipe.

[YOCTO #11896]

(From OE-Core rev: 2a44ac1add0338cd7ff012cda96bf113c9a01bd6)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:13 +01:00
Yi Zhao
3c901c5933 populate_sdk_base.bbclass: add handling package exclusions to do_populate_sdk
There is an error for populate_sdk when we exclude package by using
PACKAGE_EXCLUDE.

Reproduced steps:
echo "PACKAGE_EXCLUDE = \"psplash\"" >> conf/local.conf
bitbake core-image-sato -c populate_sdk

Error log:
ERROR: core-image-sato-1.0-r0 do_populate_sdk: Could not invoke dnf.
Command '/buildarea1/poky/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/recipe-sysroot-native/usr/bin/dnf -y -c
/buildarea1/poky/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/sdk/image/opt/poky/2.3/sysroots/i586-poky-linux/etc/dnf/dnf.conf
--setopt=reposdir=/buildarea1/poky/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/sdk/image/opt/poky/2.3/sysroots/i586-poky-linux/etc/yum.repos.d
--repofrompath=oe-repo,/buildarea1/poky/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo
--installroot=/buildarea1/poky/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/sdk/image/opt/poky/2.3/sysroots/i586-poky-linux
--setopt=logdir=/buildarea1/poky/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/temp
-x psplash --nogpgcheck install run-postinsts dnf
packagegroup-core-x11-base packagegroup-core-ssh-dropbear
packagegroup-core-standalone-sdk-target packagegroup-base-extended
packagegroup-core-x11-sato psplash packagegroup-core-boot rpm' returned 1:
Unable to detect release version (use '--releasever' to specify release version)
Added oe-repo repo from
/buildarea1/poky/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo
Last metadata expiration check: 0:00:00 ago on Thu 10 Aug 2017 09:26:32 AM UTC.
No package psplash available.
Error: Unable to find a match

Add handling package exclusions to do_populate_sdk. The code copies from
do_rootfs in image.bbclass.

(From OE-Core rev: 86db855da4ee000737281ef7cc893d56854b3952)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:13 +01:00
Khem Raj
00ea0bf798 binutils: Upgrade to 2.29
(From OE-Core rev: 3bf990eb275f63190a2cf7253527d6d49fd93f1a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:13 +01:00
Richard Purdie
034bff2ca4 bitbake: cooker: Ignore common bitbake files for the parse cache invalidation
Writes to the cookerdaemon log and/or the lockfile were meaning the parser
cache was always being invalidated and reparsed. This is unnecessary so
spot accesses to these two common cases and ignore the files from a reparse
perspective.

This doesn't remove many sources of reparse but does improve several
common cases.

(Bitbake rev: 218e4b6418992588312b8ef5949b84ef43263d1a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:28:14 +01:00
Richard Purdie
a0f729d31d bitbake: cooker: Improve inotify overflow handling
Add a proper function for clearing the mtime cache. Clean up the inotify
event overflow case to err on the side of caution and clear any potentially
now out of sync caches.

(Bitbake rev: ec60459fe2ba16966544eebff43b061abb7ed3ba)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:28:14 +01:00
Richard Purdie
019f518287 bitbake: cooker: Ensure we handle inotify before running the next command
The inotify watch events are handled "at idle" which could in theory mean
a command could run before any preceeding inotify events have been processed.
This leads to a theoretical race window where those events may have a
signficicant effect on the command.

Add a mechanism to allow us to ensure all pending events are processed before
running commands.

(Bitbake rev: bf76cd7e5881adf264b8ba64e27a5b6ca9df4fde)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:28:14 +01:00
Richard Purdie
0cb62f8ca7 bitbake: cooker: Track directories searched for bbappend/bb files
Some of the directories searched by BBFILES are not currently being added
to the inotify watch list. This can mean that added append files are not
noticed leading to misleading metadata results when using
BB_SERVER_TIMEOUT != 0.

We use glob to expand the BBFILES references and without writing our own
implentation, figuring out the directories it searches is hard. We use
some horrible hacks here to intecept the listdir calls, I'm open
to better ways to handle this but this does ensure we have the right
watches set.

(Bitbake rev: 4d508d35a224e3a25d2d59c8415ab7985964b14f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:28:14 +01:00
Richard Purdie
801b0d29d4 bitbake: server/process: Ensure we don't loop on client EOFError
The server currently crashes if we hit an EOFError due to controllersock
still being in ready and the continue meaning ready isn't re-evaluated.
Setting the value to False can mean the shutdown code doesn't handle the
situation cleanly.

Clear ready to avoid the crash/loop instead and handle any OSError whilst
we're in here.

(Bitbake rev: 2bc47e887c3b41417edaa89a8708c223fd2085de)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:28:14 +01:00
Richard Purdie
ea9fff4bd0 bitbake: cooker/siggen: Reset siggen when reparsing
If we don't do this, we get basehash mismatch errors occurring from the reparse
which would then set bitbake's error exit code.

This for example would cause oe-selftest -r bbtests.BitbakeTests.test_bbappend_order
to fail with a non-zero BB_SERVER_TIMEOUT.

(Bitbake rev: e4c6ca9440f63761560b49bbe12654441f54687e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:28:14 +01:00
Richard Purdie
bb81ff1343 image-prelink: Disable for musl images
For some reason prelink was refusing to prelink musl images but now sometimes
does modify the binaries. Since musl has no support for this, such images
end up broken and unable to boot.

To avoid this, be explicit and only apply prelinking for libc-glibc.

[YOCTO #11913]

(From OE-Core rev: 5a25ed1071f0d9b7d95edcc2b5b4545f960d5f95)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Khem Raj
9b32a558f6 python-numpy: Upgrade to 1.13.1
Update LICENSE to BSD-3-Clause as per
https://github.com/numpy/numpy/blob/master/LICENSE.txt

LIC_FILES_CHKSUM changed due to copyright year change see
b2ff4f1319

(From OE-Core rev: a703bb6159dd69020fb40db7a6a0811f45869972)

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>
2017-08-13 09:27:38 +01:00
Alexander Kanavin
43d52e785b gstreamer-plugins-bad: replace openssl dependency with nettle for hls plugin
It has not been ported to openssl 1.1 (and there's nothing in upstream git),
but it's possible to use nettle or gcrypt intead.

Also, provide a fallback option to use openssl 1.0 when necessary.

(From OE-Core rev: 624aed5d450664b0f0a36b14d658248202f864ed)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
He Zhe
f20a63aee3 qemu: apic: fallthrough to PIC
Backport a commit from qemu upstream to fix a protection fault

https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg00878.html

(From OE-Core rev: 88a4a872a7f22be52faa965bc05c57d8466e0eed)

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>
2017-08-13 09:27:38 +01:00
Khem Raj
5f57cac930 musl: Drop the protected symbol optimization at configure time
lld and gold can not handle it and treat it wrong

Fixes

[YOCTO #11689]

(From OE-Core rev: 5490efb7446196dce6a4be678263e8a73648446a)

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>
2017-08-13 09:27:38 +01:00
Leonardo Sandoval
d6823e947b sstatetests: limit the number of signature comparisons when differ
For perfomance reasons, limit the number of signature comparisons when
stamps differ. The limit set is hardcoded to 20.

[YOCTO #11651]

(From OE-Core rev: a2e2f434cd8d68b69e1ccdb7d7c17c0c73289866)

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>
2017-08-13 09:27:38 +01:00
Alexander Kanavin
6309590b39 cryptodev-tests: depend on openssl 1.0
Upstream ticket:
https://github.com/cryptodev-linux/cryptodev-linux/issues/22

(From OE-Core rev: 3619a2fbe3d5bb718fdab8ee55728b22acb892cf)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Alexander Kanavin
56d76ecf74 openssh: depend on openssl 1.0
The proposed openssl 1.1 patches are here:
https://github.com/openssh/openssh-portable/pull/48

Openssl maintainers are not in a hurry to get 1.1 support in;
if it doesn't show up within reasonable time, we can take a patch
from Fedora:
http://lists.mindrot.org/pipermail/openssh-unix-dev/2016-November/035454.html

(From OE-Core rev: 5ccf4a9786fc607a5838edb3bf409f83d7483ba6)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Alexander Kanavin
e326733d69 openssl: add a 1.1 version
Existing openssl 1.0 recipe is renamed to openssl10; it will
continue to be provided for as long as upstream supports it
(and there are still several recipes which do not work with openssl
1.1 due to API differences).

A few files (such as openssl binary) are no longer installed by openssl 1.0,
because they clash with openssl 1.1.

(From OE-Core rev: da1183f9fa5e06fbe66b5b31eb3313d5d35d11e3)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Alexander Kanavin
04891b31e6 ca-certificates: update to 20170717
Upstream lacks a tag for this release, so make it a PR bump.

(From OE-Core rev: 0b0a716b243491f026cb7b15e8f546325d6fa760)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Ross Burton
659c8b5267 insane: remove last remnants of unsafe-references-in-binaries check
The test itself was removed but there were a few explicit checks and
dependencies for it, so remove those too.

(From OE-Core rev: 3a2feef644abff4feff371cc7175ac270f5fb671)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Ross Burton
e32bfb8066 insane: remove unsafe-references-in-scripts check
We've already removed unsafe-references-in-binaries (which was fundamentally
broken) and nobody really cares about / and /usr being on different filesystems
anymore (at least if they, they're keeping very quiet and not fixing the bugs).

As this test was a minor detail in the scope of supporting separate / and /usr
which we don't support, it can be removed.

(From OE-Core rev: 5363a5e43462e22ed61e87923e00657b740f6823)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Ross Burton
7b5e524c8e oeqa/buildoptions: remove unsafe-references-in-script test
This QA test is about to be deleted, so remove it from selftest.

(From OE-Core rev: b9faf41ddc4510d484b5cbe8d182d8288fe00773)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Juro Bystricky
b9b6ede7f8 gcc7: fix potential segmentation fault
Under some rare circumstances we may end up with GCC segmentation fault.
This was observed with versions of sysmacros.h, which contain macros
with embedded warning messages :

When trying to actually display the warning, we may end up with a segmentation
fault instead. The reason is the actual warning message gets parsed (the text is
unquoted) and words in the message such as "not", "and" etc. are interpreted as
operators CPP_NOT, CPP_AND. When the time comes to display the warning, the code
uses wrong structure to access the "name" corresponding to the operators.

[YOCTO #11738]

(From OE-Core rev: 6f81fe4f3a1177c0049b26a070e43546bc6fe974)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Alexander Kanavin
9952b38de4 btrfs-tools: update to 4.12
Add a patch to force a native build for a helper binary
(which is not installed or used outside of the build process).

(From OE-Core rev: 35e3ed68fd25941e3d76e5a063299b1d1cee0e70)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Alexander Kanavin
62455dfb8a gptfdisk: update to 1.0.3
(From OE-Core rev: 9f635de4fc6ce9d32d2298679d6afce745ca5d80)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Alexander Kanavin
fa96678551 babeltrace: update to 1.5.3
(From OE-Core rev: 6fdd09358089acbb1b3bf00d3f10e91a8a34fe1c)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:38 +01:00
Alexander Kanavin
214363ce7c ffmpeg: update to 3.3.3
(From OE-Core rev: e545ebf7b0381a0cdb30807708b92fe7da2434f7)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:37 +01:00
Alexander Kanavin
722dc24356 libdnf: update to 0.9.3
(From OE-Core rev: aea24b3c6934921852c7de1da15ff326da992d08)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:37 +01:00
Alexander Kanavin
b91d3fe326 dnf: update to 2.6.3
(From OE-Core rev: 685d7ec1114fa2ec4aa44f7e29d1e159f7899d4d)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:37 +01:00
Hongxu Jia
365b18dbef python2/python3: fix multiprocessing.BoundedSemaphore not work on qemux86/qemuarm
In upstream, the following commit:
e711cafab1
...
commit e711cafab13efc9c1fe6c5cd75826401445eb585
Author: Benjamin Peterson <benjamin@python.org>
Date:   Wed Jun 11 16:44:04 2008 +0000

    Merged revisions 64104,64117 via svnmerge from
    svn+ssh://pythondev@svn.python.org/python/trunk
...
(see diff in setup.py)
It assigned libraries for multiprocessing module according
the host_platform, but not pass it to Extension.

In glibc, the following commit caused two definition of
sem_getvalue are different.
https://sourceware.org/git/?p=glibc.git;a=commit;h=042e1521c794a945edc43b5bfa7e69ad70420524
(see diff in nptl/sem_getvalue.c for detail)
`__new_sem_getvalue' is the latest sem_getvalue@@GLIBC_2.1
and `__old_sem_getvalue' is to compat the old version
sem_getvalue@GLIBC_2.0.

If not explicitly link to library pthread (-lpthread), it will
load glibc's sem_getvalue randomly at runtime.

Such as build python on linux x86_64 host and run the python
on linux x86_32 target. If not link library pthread, it caused
multiprocessing bounded semaphore could not work correctly.
...
>>> import multiprocessing
>>> pool_sema = multiprocessing.BoundedSemaphore(value=1)
>>> pool_sema.acquire()
True
>>> pool_sema.release()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: semaphore or lock released too many times
...

And the semaphore issue also caused multiprocessing.Queue().put() hung.

(From OE-Core rev: ca1542cdf6b6437a2f3dcdb33ac5216bf841c04a)

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>
2017-08-13 09:27:37 +01:00
Ruslan Bilovol
03eb3b4670 recipes-kernel: linux-dummy: provide dummy vmlinux package
oprofile package depends on kernel-vmlinux package
through RRECOMMENDS dependency. Thus provide it
here to satisfy dependencies.

(From OE-Core rev: d96e3ab2a344c40f9b132673923b191ce912d9a4)

Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:37 +01:00
Leonardo Sandoval
5ec91f9a32 context: Include a command line argument to run all except certain tests
A new command line argument (-R, which is the oposite of current -r) that allows
to run all test cases except the ones indicated through the command line.

Some command line examples:

* Run all except the distro test case:
$ oe-selftest -R distrodata

* Run all except the archiver test case and a single bblayers unit test
$ oe-selftest -R archiver bblayers.BitbakeLayers.test_bitbakelayers_add_remove

[YOCTO #11847]

(From OE-Core rev: e40eeaa790b95d9c25832405c0b0d5b3a0d0292b)

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>
2017-08-13 09:27:37 +01:00
Ross Burton
582097c103 oeqa/runtime_test: use subtests in test_postinst_rootfs_and_boot
As this test has two nested loops and actually runs six times, use
UnitTest.subTest() so we can tell which instance is failing, and to run all
variations instead of failing on the first one.

Also set PACKAGE_CLASSES to just the type we need to reduce the verboseness of
the output, and consolidate the feature generation to be neater.

(From OE-Core rev: c7ef6000b11f1b1cd27c9bc408eea9f76bb94a3b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:37 +01:00
Khem Raj
476edb2b47 glibc: Upgrade to 2.26 final release
(From OE-Core rev: d6a0bc57fa07d887a78aa8ed76e3bf4558dc5127)

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>
2017-08-13 09:27:37 +01:00
Khem Raj
ffe6130bf6 llvm: Keep llvm-native dependency with clang toolchain
This was needed when we were conflicting with clang-native
but this is solved via append PN to binaries of llvm-native

(From OE-Core rev: 82ea78bd2f03b6ba4d720595d3a3fbd96e0232f9)

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>
2017-08-13 09:27:37 +01:00
André Draszik
80f82bc484 valgrind: enable on mips soft-float
Valgrind support for mips soft-float hosts has been fixed
in the 3.12 [1] and 3.13 [2] releases, so let's start
building it on those, too.

[1] https://sourceware.org/git/?p=valgrind.git;a=commit;h=8f0070d31daea6f0ed18f8fe69498a67530bfcbb
[2] https://sourceware.org/git/?p=valgrind.git;a=commit;h=3172936d63da4b6257099bc05aee5793978269cb

(From OE-Core rev: 82dbad6aa1390668aa86d28c8a3125b68d6072fa)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:37 +01:00
sweeaun
7f93941236 openssl: Support musl-x32 build
Support musl-x32 build which to build openssl with 32 bits.

(From OE-Core rev: a072d4620db462c5d3459441d5684cfd99938400)

Signed-off-by: sweeaun <swee.aun.khor@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:37 +01:00
Denys Dmytriyenko
db922d17a1 wayland-protocols: upgrade to 1.10
(From OE-Core rev: 019c582b1af1361c3d983255e93d9aa706e3b62c)

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>
2017-08-13 09:27:37 +01:00
Oliver Stäbler
44f550f392 eudev: Remove udev-cache
As eudev requires devtmpfs it is not necessary to keep a cache anymore
as the kernel handles entries in /dev itself.

(From OE-Core rev: 048f4149b8438c521e8b65a3c96d850a9b4a3e5b)

Signed-off-by: Oliver Stäbler <oliver.staebler@bytesatwork.ch>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:37 +01:00
Joe Slater
c3e2ad0695 slang: fix terminfo related problems
Do not use the JD_TERMCAP macro since we cannot get the terminfo from
ncurses pkg-config variants, but fix the macro to not reference host
directories.  Also add src/test/Makefile.in so that we can use -ltermcap
if we want to.

Since the recipe DEPENDS on ncurses, we assume terminfo is there.

(From OE-Core rev: 53fbc138c8f5652890d477ef21dcb52ec06abb21)

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>
2017-08-13 09:27:37 +01:00
Alexander Kanavin
f06f9f3c89 systemd: update to 234
The new version fixes gperf 3.1 issues, so the update is included
in this patchset.

Modified patches are all rebases to the new version.

Deleted patches are backports, except 0016-make-test-dir-configurable.patch
which is obsolete in the new version (TEST_DIR define is no longer used anywhere).
--with-testdir is removed from configure for the same reason.

(From OE-Core rev: 34afb46f75d6c356f23f70c5ece96e45594e1546)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:37 +01:00
Alexander Kanavin
42ffbda124 libid3tag: fix build with gperf 3.1
(From OE-Core rev: 15ef4a6de2a61b958484b9291fe67dbeeebf3cfa)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:37 +01:00
Alexander Kanavin
65da29a913 libcap: fix build with gperf 3.1
(From OE-Core rev: e54e367e07ce7c69272693413db7f87a8629c536)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:37 +01:00
Alexander Kanavin
fdf7c0ed11 gperf: upgrade to 3.1
(From OE-Core rev: 9784d22fee75d5e2998e0d5f226f54ef812a019b)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-13 09:27:37 +01:00
Jussi Kukkonen
5e4bd86130 libinput: Upgrade 1.7.3 -> 1.8.1
New feature release, see
https://lists.freedesktop.org/archives/wayland-devel/2017-June/034286.html
for the major features. This is the last major release to support
autotools.

Configure flag "--enable-event-gui" changed name.

Configure flags no longer default to "auto": explicitly disable the
things that were previously automatically disabled.

Package the binaries into libinput-bin while being careful with
packaging as the main package gets renamed to libinput10.

Add patch to fix a race in install.

(From OE-Core rev: df7f5221a56118da7654476f072c37ae1e75dc50)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:38:25 +01:00
Scott Rifenbark
07514c9003 dev-manual: Converted sections for following best layer practices
The section about following best practices was more of a reference
section the way it was written.  I recast the section and the
sub-sections such that it is a list of items to consider.

Also renamed the section to be more of an action section rather
than passive.

(From yocto-docs rev: 8b050a46c67a3d3e89d905cf028eec6ae370388a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:25:24 +01:00
Scott Rifenbark
7d7eb04b9c dev-manual: Updates to "Using .bbappend Files in Your Layer"
I did some rewriting for clarity in the "Using .bbappend Files
in Your Layer" section.  The section needed to be retitled so
focus on the layer aspect of .bbappend files.  Also, while I
was in there, I did more work on the prose in general.

Also had to fix some links in the bsp, kernel, and ref manuals
that linked into the section whose name I changes.

(From yocto-docs rev: a82bcc9fe0f909135434ee1bd36b4414f6c046c9)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:25:24 +01:00
Scott Rifenbark
2155745fff dev-manual: Changed wording that intros layer creation steps
I updated the wording to note that the steps are how to create
a layer without the aid of steps (i.e. by hand).

(From yocto-docs rev: 81800fa9ba0dd9ff439a43b286981eea51d4c87f)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:25:24 +01:00
Scott Rifenbark
efedec5e6a yocto-project-qs: Updated bullet heading for CROPS procedure
(From yocto-docs rev: b51e29013ab86072989a878b118a3bdf7c11355b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:25:24 +01:00
Alexander Kanavin
6b5777a979 maintainers.inc: assign newly added recipes
If you disagree with the assignments, please speak up.

(From meta-yocto rev: 0966bf5a4e2e202dd1bee04f58a008728b21aed7)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:56 +01:00
Alexander Kanavin
e6fd594934 poky-world-exclude.inc: remove recipes from meta-qt4
Now that meta-qt4 isn't used by the autobuilder, there's no need
to exclude broken recipes fron that layer either.

(From meta-yocto rev: feb7d9db5979a1b8d5f27c370d01755b50023255)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:56 +01:00
Robert Yang
803b97a32e bitbake: main: Handle BB_SERVER_TIMEOUT = -1 for no server timeout
Make BB_SERVER_TIMEOUT = -1 mean no unload forever.

(Bitbake rev: 923d5567be6fd9969ca74c166f36817ec09305e3)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:56 +01:00
Robert Yang
11bde5de83 bitbake: process: Fix disconnect when BB_SERVER_TIMEOUT
Fixed:
$ export BB_SERVER_TIMEOUT=10000
$ bitbake --server-only
$ bitbake --status-only
[snip]
  File "/buildarea/lyang1/poky/bitbake/lib/bb/server/process.py", line 472, in recvfds
    msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size))
OSError: [Errno 9] Bad file descriptor

And:
$ export BB_SERVER_TIMEOUT=10000
$ bitbake --server-only -B localhost:-1
$ bitbake --status-only # Everything is fine in first run
$ bitbake --status-only
[snip]
  File "/buildarea/lyang1/poky/bitbake/lib/bb/server/process.py", line 472, in recvfds
    msg, ancdata, flags, addr = sock.recvmsg(1, socket.CMSG_LEN(bytes_size))
OSError: [Errno 9] Bad file descriptor

This was because self.controllersock was not set to False, so it still ran
sock.recvmsg() when sock was closed.

And also need set command_channel to Flase, otherwise the
self.command_channel.get() will always run when EOF, and cause infinite loop.

(Bitbake rev: 7b739a38601b053d9bea4df2c0b44a952ab670c4)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:56 +01:00
Robert Yang
896243f4fe bitbake: main: Remove unneeded float()
There is already a type=float, so the float() is not needed, which also makes
the error clearer:

$ export BB_SERVER_TIMEOUT=10000AA
With float():
$ bitbake quilt-native
[snip]
ValueError: could not convert string to float: '10000AA'

Without float():
$ bitbake quilt-native
[snip]
optparse.OptionValueError: option --idle-timeout: invalid floating-point value: '10000AA'

The second one tells clearly where is wrong.

(Bitbake rev: 7a4ea1e6a10f20d80009a78f4f0aebf8f90095fd)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:56 +01:00
Paul Eggleton
46e2251625 bitbake: Revert "tinfoil: fix duplication of log messages"
In combination with the recent server reworking, this change actually
prevents messages sent from tasks from being logged properly. This will
of course give us the duplicated messages back, and I really hate to do
that effectively a second time, but that's better than seeing no error
at all in the case of a failure - we'll have to find the proper way of
avoiding the duplication that doesn't result in some messages going
missing.

This reverts commit 8a5bae76f91f2411187c638a42fa3c762052cf11.

(Bitbake rev: 645c8dd15762516ae5ab64a1df47fadb95d072d1)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:56 +01:00
Ross Burton
c70a7d266d checkpkg_exceptions: add LLVM
The git mirror of LLVM doesn't have any tags we can track for release
announcements, so exclude llvm from the checkpkg test.

(From OE-Core rev: 91d1664d66ffd0d3ec06824ff13861faf89ba96a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:16 +01:00
Nathan Rossi
f42754a2d8 llvm: Raise SkipRecipe exception for unsupported architectures
When parsing this recipe on an unsupported or non-mappable architecture
an error is generated despite no dependencies on the recipe. E.g.

  ERROR: .../llvm_git.bb: cannot map 'microblazeel' to a supported llvm architecture

Instead of generating an error which might confuse users, raise a
SkipRecipe exception similar to other arch-style mapping functions (e.g.
go_map_arch). This avoids showing the error during parse, and prevents
the use of the recipe on unsupported targets. Resulting in an error like
so when trying to build llvm:

  ERROR: Nothing PROVIDES 'llvm'
  llvm was skipped: Cannot map 'microblazeel' to a supported LLVM architecture

(From OE-Core rev: d796abac982f368aa088a291560b565cc47a2c27)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:16 +01:00
Khem Raj
a479bdd4fb mesa, llvm: Use native version of llvm-config
We have a variable YOCTO_ALTERNATE_EXE_PATH to point to
target sysroot, utilize this in mesa to use native version
of llvm-config to report values from target sysroot.

(From OE-Core rev: 1c4444f7b2f5cbcaaf6f9d21d7b4f86555ed746a)

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>
2017-08-09 09:24:16 +01:00
Khem Raj
3adf66fc4b mesa: Depend on llvm-native
We need to get llvm-config tool staged which is provided by llvm-native

(From OE-Core rev: 0aadad61bf740bb9a1859381790ecc0f37490c34)

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>
2017-08-09 09:24:16 +01:00
Khem Raj
9265bec052 mesa: Use chrpath to delete rpaths
It adds native sysroot chrpath due to llvm-config in cross compiling
we can delete them via chrpath, since libs are in standard paths rpath
is really not needed

(From OE-Core rev: 1882726f61216c1a490370456c2e68efc3862052)

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>
2017-08-09 09:24:16 +01:00
Leonardo Sandoval
884f74250d action: new bitbake-layer plugin to create a simple layer
Though the script bitbake-layers (from the bitbake project), this plugin
creates a simple layer with a example recipe, the latter with a single task
(do_build). Layer's license and priority is MIT and 6, respectively. Example
recipe and layer's priority can be specified through the command line.

[YOCTO #11567]

(From OE-Core rev: 2bd1dc287b8b0f7edac8c6fee076a70ebf7adf43)

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>
2017-08-09 09:24:16 +01:00
Andrea Galbusera
1df5a58b12 scripts/oe-publish-sdk: use hook to call git update-server-info
The author's initial intent was to use a git hook to automatically call
update-server-info, but the wrong hook type was chosen (post-update). A
post-commit one will do the job, hence allowing to drop the explicit call to
update-server-info.

(From OE-Core rev: 0a8ae997c782794b6ef32654cb245b496ab1de8e)

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:16 +01:00
Andrea Galbusera
6346d12d8d devtool: sdk-update: fix pulling updates from git
Commit 4657bc9d165e51981e034e73e7b92552e873eef7 replaced the git pull logic with
the git fetch + git reset --hard combo, but resetting to HEAD does not really
pull in new commits from remote... Replace with resetting to the upstream branch
instead.

(From OE-Core rev: 0dcdb146f59a184419bffd4f24cdf8343a43c0ea)

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:16 +01:00
Richard Röjfors
0a3bb8b827 package_manager: Fix support for NO_RECOMMENDATONS
When support for dnf was introduced the check of the
no NO_RECOMMENDATIONS variable got broken.

This fixes the issue by compairing to the string "1"
rather than the number 1.

(From OE-Core rev: 1849ce3bd7c0af055f3e849a6508e746b6a0dca5)

Signed-off-by: Richard Röjfors <richard@puffinpack.se>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:16 +01:00
Huang Qiyu
7c3549f91b gtk-icon-utils-native: 3.22.16 -> 3.22.17
Update gtk-icon-utils-native from 3.22.16 to 3.22.17.

(From OE-Core rev: 1e0cf88f6aecb0b523f7ef016fcd95d25a10e066)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:16 +01:00
Huang Qiyu
3b357a1c7f gtk+3: 3.22.16 -> 3.22.17
Update gtk+3 from 3.22.16 to 3.22.17.

(From OE-Core rev: ceb77b268f3f71523254f9c3d7b08bebaa431b51)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:16 +01:00
Ed Bartosh
b8cb2bb175 x86-base.inc: enable live image type
live image type was replaced by hddimg recently. This made
NOHDD and NOISO options ineffective as they only influence
live builds. It also causes image building failure for
image sizes >4Gb

Returned back live image type and disabled building iso image.
This doesn't change result (hddimg is built), but it makes
NOHDD and NOISO working as expected.

[YOCTO #11842]

(From OE-Core rev: c787dcdd55bc55c6c64dec21b251706615114fe7)

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>
2017-08-09 09:24:16 +01:00
Ross Burton
6a6d2d1853 chrpath: use https for SRC_URI
Alioth always redirects, so we might as well save time by looking in the right
place.

(From OE-Core rev: e681e25fb8fb97a8592df69180d2fd85d136352c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:16 +01:00
California Sullivan
511dbdbc9a initramfs-framework/setup-live: remove superfluous break
This causes us to fall out of the module setup/run loop in the base init
script should "root=" be defined, causing a boot failure.

(From OE-Core rev: 4f109da34a080c0d7cb86eaea1f7b6dfef3d04cb)

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:16 +01:00
Khem Raj
4b2fb62126 automake: Add missing libtool tag for cppasm language
This is highlighted when CC is passing flags like -fPIE
which are stripped by libtool when building shared libs
and replaced with -fPIC, this actually results in CC
not matching the CC computed from cmdline created for
compiling and as a result libtool heuristic to compute
tags auotmatically fails.

(From OE-Core rev: 519c34adeb0735f6ff606addd00a7bbe19f4b15c)

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>
2017-08-09 09:24:16 +01:00
Maxin B. John
5bb613a0e2 libpng: upgrade to 1.6.31
1.6.31 fixes pngpriv.h to work around failure to compile
arm/filter_neon.S.This bug was introduced in libpng-1.6.30beta01

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

(From OE-Core rev: 8319dce16210ebe2d89cd1e0926ad937909bc9ea)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:16 +01:00
Patrick Ohly
e2ecc4d20f gettext.bbclass: also search for files in target sysroot
fwupd contains polkit policy files that it translates using polkit.its
and polkit.loc files that the next polkit release is going to
install (see https://github.com/hughsie/fwupd/issues/107).

In order to make that work with OE-core, the gettext tools must be
told to look also for files in the recipe-sysroot. Otherwise it only
uses the GETTEXTDATADIR set by the gettext-native tool wrappers, and
that only points to the files provided by gettext-native itself.

(From OE-Core rev: ebb706f9dafdbb7c4aa18e5595930bbc1a0497b1)

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>
2017-08-09 09:24:16 +01:00
Khem Raj
700b846ba0 webkitgtk: Do not use -isystem forcibly
this causes include_next <stdlib.h> to not find
this header since -isystem <sysroot> is added via
cmake, we alrady are using --sysroot so rely on that

(From OE-Core rev: a0f2d1389a7e76b64003fea391a0cd485ff5fe77)

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>
2017-08-09 09:24:15 +01:00
Khem Raj
aa0ddeb79a python3-pycairo: Pass -fPIC via CFLAGS
Fixes

| /mnt/a/oe/build/tmp/work/corei7-64-bec-linux/python3-pycairo/1.10.0-r2/recipe-sysroot-native/usr/bin/x86_64-bec-linu
x/x86_64-bec-linux-ld: src/cairomodule.c.1.o: relocation R_X86_64_PC32 against symbol `CairoError' can not be used whe
n making a shared object; recompile with -fPIC

(From OE-Core rev: 058b155a66c5f81573379d258250323c72901ff7)

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>
2017-08-09 09:24:15 +01:00
Khem Raj
e577be00d7 go: Remove -fPIE -pie from SECURITY_PIE_CFLAGS
External compilers will explicitly pass -fPIE -pie flags
unlike internal toolchain which does not use them, so the build
fails with external toolchains because, its passing these
flags to linker when building with -r option and fails to link

| /mnt/a/oe/build/tmp/work/corei7-64-bec-linux/go/1.8.3-r0/recipe-sysroot-native/usr/bin/x86_64-bec-linux/x86_64-bec-linux-ld: -r and -pie may not be used together

(From OE-Core rev: bb89849b5edb05a953586d190826a67ba87c1c5a)

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>
2017-08-09 09:24:15 +01:00
Khem Raj
54cae4880c kexec-tools: Remove -fPIE -pie from SECURITY_PIE_CFLAGS
(From OE-Core rev: 7685bac83504e8de6c02d93e39e40f38e51994bb)

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>
2017-08-09 09:24:15 +01:00
Khem Raj
f79b2d686d libsdl: Pass --tag option to libtool invocation
Helps in fixing errors when using external toolchain
and hardening flags

(From OE-Core rev: 33ab086517c629158fd10d1818cad619883743db)

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>
2017-08-09 09:24:15 +01:00
Khem Raj
63d5bd0a4e libproxy: Remove PIE flags from SECURITY_PIE_CFLAGS
External compilers will explicitly pass -fPIE -pie flags
unlike internal toolchain which does not use them, so the build
fails with external toolchains because, its passing these
flags to linker when building shared library, which is not
correct it should just use -fPIC

Fixes errors e.g.
| /mnt/a/oe/build/tmp/work/corei7-64-bec-linux/libproxy/0.4.14-r0/recipe-sysroot-native/usr/bin/x86_64-bec-linux/x86_64-bec-linux-ld: ../libmodman/libmodman.a(module_manager.cpp.o): relocation R_X86_64_PC32 against symbol `_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIPN9libmodman14base_extensionESaISB_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE8_M_eraseEPSt13_Rb_tree_nodeISE_E' can not be used when making a shared object; recompile with -fPIC

(From OE-Core rev: 8c8c01f8e68026228a3b76528a0039acf682c201)

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>
2017-08-09 09:24:15 +01:00
Khem Raj
26d043bf26 ossp-uuid, libffi, libgcrypt: Pass --tag=CC option to libtool
libtool tries to guess the --tag value based on CC/CXX environment
variables and the compile commandline generated by makefiles. This
heuristics however fails when we construct CC variables in OE
and add security flags to it, especially -fPIE -pie which are added
by external compilers e.g. clang particularly. It fails because
libtool removed PIE flags from compiler cmdline intelligently
if it figures out that its building a library, which means that
the CC variable passed from cmdline does not match with the compiler
cmdline constructed by libtool and we end up with errors like

| arm-bec-linux-musleabi-libtool: compile: unable to infer tagged configuration
| arm-bec-linux-musleabi-libtool:   error: specify a tag with '--tag'

This works with internal gcc toolchain because we configure gcc for
PIE when hardening is selected and dont pass -fPIE -pie options explicitly
but this is not an option for clang, and some external gcc toolchains
using older gcc

This patch adds the --tag option to help libtool set correct tags
in packages where it cant get it right via its heuristics

(From OE-Core rev: 0505075ae8d339ba097aebb82b4d0ae62f87c0a9)

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>
2017-08-09 09:24:15 +01:00
Paul Eggleton
1cce7f885c devtool: fix handling of errors during task execution
* If an error is logged while executing a task, we need to ensure we
  exit instead of assuming everything went OK.
* If we receive CookerExit, the server is shutting down and we need to
  stop waiting for events and probably exit (knotty does this). This
  will occur if an exception or bb.fatal() happens during an event
  handler.

This fixes a couple of issues highlighted when using devtool upgrade or
modify on a non-supported recipe with intel-iot-refkit together with
bitbake master, but I'd be very surprised if it were hard to reproduce
in other scenarios.

(From OE-Core rev: 65e644368fc9c294af96906528ee0cf30305e0a6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:15 +01:00
Paul Eggleton
534eceb890 bitbake.conf: whitelist BB_SERVER_TIMEOUT from config hash
We don't need to reparse recipes just because BB_SERVER_TIMEOUT changed,
so exclude it from the config hash.

(From OE-Core rev: a686fcabacd49fdb814e646305c1f33fee1d5abf)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:15 +01:00
Leonardo Sandoval
6cbe18ff83 terminal: wait for terminal task to finish before procedding
This commit generalizes the work done in [1] and [2], both fixing
issues on several areas (the former with -c patch and gnome-terminal and
the latter with -c menuconfig and several terminals, including
gnome-terminal and tmux). The main idea is to get the PID
from the new spawned terminal and loop there until finished.

[1] 76e8ab47c9: terminal: Fix gnome-terminal to work with recent versions
[2] 7d02ea283b: cml1.bbclass: wait until menuconfig terminal finishes

(From OE-Core rev: 55707401d5bfb1f7686c273fc2d0db89df206395)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:15 +01:00
Leonardo Sandoval
c4b9c258d5 Revert "cml1.bbclass: wait until menuconfig terminal finishes"
This reverts commit d2ebee7c3a.

(From OE-Core rev: da7bc68c399bbcd1baf946931200eba72268b0b3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:15 +01:00
Leonardo Sandoval
d97b2bdb0b sstatetests: Use python function instead of bitbake-diffsigs script
Using a python function instead of launching a subprocess fasten the
diffsigs computation.

[YOCTO #11651]

(From OE-Core rev: 5dd65cf50273519fa45bd056b9ff342d9984a382)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:15 +01:00
Ross Burton
cb31b00076 diffstat: exclude aclocal
Instead of moving aclocal.m4 to acinclude.m4 in a custom do_configure, simply
tell autoreconf not to run aclocal.

(From OE-Core rev: 5cc53ea9347035f96a721ab057a338eded5c5c67)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:15 +01:00
Ross Burton
6f72bf8a3a diffstat: use HTTP mirror for SRC_URI
The Invisible Mirror FTP service is currently down, and FTP is horrible, so
switch to the HTTP mirror.

(From OE-Core rev: f31461f8ea11e82dbe14454a1149d9ec2120404d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:15 +01:00
He Zhe
f63cb62db4 qemux86 qemux86-64: Enable pci
lspci and some other software require "pci" in MACHINE_FEATURES and PCI
is valid in the qemux86* context.

(From OE-Core rev: aec9a159dbc7a78953da73ba9dfccc9e9c9514a7)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:15 +01:00
Huang Qiyu
1d1d7cfedf librsvg: 2.40.17 -> 2.40.18
Upgrade librsvg from 2.40.17 to 2.40.18.

(From OE-Core rev: 199b1ed7439ee217d860d8940b5738d3c7022113)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09 09:24:15 +01:00
638 changed files with 9541 additions and 9060 deletions

View File

@@ -24,6 +24,14 @@ Usage: source toaster start|stop [webport=<address:port>] [noweb]
[webport] Set the development server (default: localhost:8000)
"
custom_extention()
{
custom_extension=$BBBASEDIR/lib/toaster/orm/fixtures/custom_toaster_append.sh
if [ -f $custom_extension ] ; then
$custom_extension $*
fi
}
databaseCheck()
{
retval=0
@@ -50,6 +58,11 @@ databaseCheck()
webserverKillAll()
{
local pidfile
if [ -f ${BUILDDIR}/.toastermain.pid ] ; then
custom_extention web_stop_postpend
else
custom_extention noweb_stop_postpend
fi
for pidfile in ${BUILDDIR}/.toastermain.pid ${BUILDDIR}/.runbuilds.pid; do
if [ -f ${pidfile} ]; then
pid=`cat ${pidfile}`
@@ -89,6 +102,7 @@ webserverStartAll()
else
echo "Toaster development webserver started at http://$ADDR_PORT"
echo -e "\nYou can now run 'bitbake <target>' on the command line and monitor your build in Toaster.\nYou can also use a Toaster project to configure and run a build.\n"
custom_extention web_start_postpend $ADDR_PORT
fi
return $retval
@@ -168,7 +182,6 @@ fi
unset OE_ROOT
WEBSERVER=1
ADDR_PORT="localhost:8000"
unset CMD
@@ -241,6 +254,7 @@ fi
echo "The system will $CMD."
# Execute the commands
custom_extention toaster_prepend $CMD $ADDR_PORT
case $CMD in
start )
@@ -262,9 +276,10 @@ case $CMD in
if [ ! -f "$TOASTER_DIR/toaster.sqlite" ] ; then
if ! databaseCheck; then
echo "Failed ${CMD}."
return 4
return 4
fi
fi
custom_extention noweb_start_postpend $ADDR_PORT
fi
if [ $WEBSERVER -gt 0 ] && ! webserverStartAll; then
echo "Failed ${CMD}."
@@ -278,6 +293,7 @@ case $CMD in
# set fail safe stop system on terminal exit
trap stop_system SIGHUP
echo "Successful ${CMD}."
custom_extention toaster_postpend $CMD $ADDR_PORT
return 0
;;
stop )
@@ -285,3 +301,5 @@ case $CMD in
echo "Successful ${CMD}."
;;
esac
custom_extention toaster_postpend $CMD $ADDR_PORT

View File

@@ -78,6 +78,7 @@ class Command:
if not hasattr(command_method, 'readonly') or False == getattr(command_method, 'readonly'):
return None, "Not able to execute not readonly commands in readonly mode"
try:
self.cooker.process_inotify_updates()
if getattr(command_method, 'needconfig', False):
self.cooker.updateCacheSync()
result = command_method(self, commandline)
@@ -98,6 +99,7 @@ class Command:
def runAsyncCommand(self):
try:
self.cooker.process_inotify_updates()
if self.cooker.state in (bb.cooker.state.error, bb.cooker.state.shutdown, bb.cooker.state.forceshutdown):
# updateCache will trigger a shutdown of the parser
# and then raise BBHandledException triggering an exit

View File

@@ -189,7 +189,7 @@ class BBCooker:
# If being called by something like tinfoil, we need to clean cached data
# which may now be invalid
bb.parse.__mtime_cache = {}
bb.parse.clear_cache()
bb.parse.BBHandler.cached_statements = {}
self.ui_cmdline = None
@@ -205,15 +205,11 @@ class BBCooker:
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()
def _process_inotify_updates(server, cooker, abort):
cooker.process_inotify_updates()
return 1.0
self.configuration.server_register_idlecallback(_process_inotify_updates, [self.confignotifier, self.notifier])
self.configuration.server_register_idlecallback(_process_inotify_updates, self)
# TOSTOP must not be set or our children will hang when they output
try:
@@ -241,10 +237,19 @@ class BBCooker:
os.write(readypipe, b"ready")
os.close(readypipe)
def process_inotify_updates(self):
for n in [self.confignotifier, self.notifier]:
if n.check_events(timeout=0):
# read notified events and enqeue them
n.read_events()
n.process_events()
def config_notifications(self, event):
if event.maskname == "IN_Q_OVERFLOW":
bb.warn("inotify event queue overflowed, invalidating caches.")
self.parsecache_valid = False
self.baseconfig_valid = False
bb.parse.clear_cache()
return
if not event.pathname in self.configwatcher.bbwatchedfiles:
return
@@ -256,6 +261,10 @@ class BBCooker:
if event.maskname == "IN_Q_OVERFLOW":
bb.warn("inotify event queue overflowed, invalidating caches.")
self.parsecache_valid = False
bb.parse.clear_cache()
return
if event.pathname.endswith("bitbake-cookerdaemon.log") \
or event.pathname.endswith("bitbake.lock"):
return
if not event.pathname in self.inotify_modified_files:
self.inotify_modified_files.append(event.pathname)
@@ -1192,7 +1201,7 @@ class BBCooker:
bf = os.path.abspath(bf)
self.collection = CookerCollectFiles(self.bbfile_config_priorities)
filelist, masked = self.collection.collect_bbfiles(self.data, self.data)
filelist, masked, searchdirs = self.collection.collect_bbfiles(self.data, self.data)
try:
os.stat(bf)
bf = os.path.abspath(bf)
@@ -1468,6 +1477,7 @@ class BBCooker:
self.updateCacheSync()
if self.state != state.parsing and not self.parsecache_valid:
bb.parse.siggen.reset(self.data)
self.parseConfiguration ()
if CookerFeatures.SEND_SANITYEVENTS in self.featureset:
for mc in self.multiconfigs:
@@ -1481,7 +1491,11 @@ class BBCooker:
self.recipecaches[mc].ignored_dependencies.add(dep)
self.collection = CookerCollectFiles(self.bbfile_config_priorities)
(filelist, masked) = self.collection.collect_bbfiles(self.data, self.data)
(filelist, masked, searchdirs) = self.collection.collect_bbfiles(self.data, self.data)
# Add inotify watches for directories searched for bb/bbappend files
for dirent in searchdirs:
self.add_filewatch([[dirent]])
self.parser = CookerParser(self, filelist, masked)
self.parsecache_valid = True
@@ -1653,6 +1667,18 @@ class CookerCollectFiles(object):
collectlog.error("no recipe files to build, check your BBPATH and BBFILES?")
bb.event.fire(CookerExit(), eventdata)
# We need to track where we look so that we can add inotify watches. There
# is no nice way to do this, this is horrid. We intercept the os.listdir()
# calls while we run glob().
origlistdir = os.listdir
searchdirs = []
def ourlistdir(d):
searchdirs.append(d)
return origlistdir(d)
os.listdir = ourlistdir
# Can't use set here as order is important
newfiles = []
for f in files:
@@ -1670,6 +1696,8 @@ class CookerCollectFiles(object):
if g not in newfiles:
newfiles.append(g)
os.listdir = origlistdir
bbmask = config.getVar('BBMASK')
if bbmask:
@@ -1728,7 +1756,7 @@ class CookerCollectFiles(object):
topfile = bbfile_seen[base]
self.overlayed[topfile].append(f)
return (bbfiles, masked)
return (bbfiles, masked, searchdirs)
def get_file_appends(self, fn):
"""

View File

@@ -411,8 +411,6 @@ def encodeurl(decoded):
type, host, path, user, pswd, p = decoded
if not path:
raise MissingParameterError('path', "encoded from the data %s" % str(decoded))
if not type:
raise MissingParameterError('type', "encoded from the data %s" % str(decoded))
url = '%s://' % type
@@ -423,10 +421,11 @@ def encodeurl(decoded):
url += "@"
if host and type != "file":
url += "%s" % host
# Standardise path to ensure comparisons work
while '//' in path:
path = path.replace("//", "/")
url += "%s" % urllib.parse.quote(path)
if path:
# Standardise path to ensure comparisons work
while '//' in path:
path = path.replace("//", "/")
url += "%s" % urllib.parse.quote(path)
if p:
for parm in p:
url += ";%s=%s" % (parm, p[parm])

View File

@@ -259,8 +259,10 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
help="The name/address for the bitbake xmlrpc server to bind to.")
parser.add_option("-T", "--idle-timeout", type=float, dest="server_timeout",
default=float(os.environ.get("BB_SERVER_TIMEOUT", 0)) or None,
help="Set timeout to unload bitbake server due to inactivity")
default=os.getenv("BB_SERVER_TIMEOUT"),
help="Set timeout to unload bitbake server due to inactivity, "
"set to -1 means no unload, "
"default: Environment variable BB_SERVER_TIMEOUT.")
parser.add_option("", "--no-setscene", action="store_true",
dest="nosetscene", default=False,
@@ -394,10 +396,10 @@ def bitbake_main(configParams, configuration):
return 1
def setup_bitbake(configParams, configuration, extrafeatures=None, setup_logging=True):
def setup_bitbake(configParams, configuration, extrafeatures=None):
# Ensure logging messages get sent to the UI as events
handler = bb.event.LogHandler()
if setup_logging and not configParams.status_only:
if not configParams.status_only:
# In status only mode there are no logs and no UI
logger.addHandler(handler)

View File

@@ -84,6 +84,10 @@ def update_cache(f):
logger.debug(1, "Updating mtime cache for %s" % f)
update_mtime(f)
def clear_cache():
global __mtime_cache
__mtime_cache = {}
def mark_dependency(d, f):
if f.startswith('./'):
f = "%s/%s" % (os.getcwd(), f[2:])

View File

@@ -134,6 +134,26 @@ class ProcessServer(multiprocessing.Process):
if self.xmlrpc:
fds.append(self.xmlrpc)
print("Entering server connection loop")
def disconnect_client(self, fds):
if not self.haveui:
return
print("Disconnecting Client")
fds.remove(self.controllersock)
fds.remove(self.command_channel)
bb.event.unregister_UIHhandler(self.event_handle, True)
self.command_channel_reply.writer.close()
self.event_writer.writer.close()
del self.event_writer
self.controllersock.close()
self.controllersock = False
self.haveui = False
self.lastui = time.time()
self.cooker.clientComplete()
if self.timeout is None:
print("No timeout, exiting.")
self.quit = True
while not self.quit:
if self.sock in ready:
self.controllersock, address = self.sock.accept()
@@ -164,22 +184,11 @@ class ProcessServer(multiprocessing.Process):
self.haveui = True
except EOFError:
print("Disconnecting Client")
fds.remove(self.controllersock)
fds.remove(self.command_channel)
bb.event.unregister_UIHhandler(self.event_handle, True)
self.command_channel_reply.writer.close()
self.event_writer.writer.close()
del self.event_writer
self.controllersock.close()
self.haveui = False
self.lastui = time.time()
self.cooker.clientComplete()
if self.timeout is None:
print("No timeout, exiting.")
self.quit = True
if not self.haveui and self.lastui and self.timeout and (self.lastui + self.timeout) < time.time():
except (EOFError, OSError):
disconnect_client(self, fds)
if not self.timeout == -1.0 and not self.haveui and self.lastui and self.timeout and \
(self.lastui + self.timeout) < time.time():
print("Server timeout, exiting.")
self.quit = True
@@ -188,6 +197,8 @@ class ProcessServer(multiprocessing.Process):
command = self.command_channel.get()
except EOFError:
# Client connection shutting down
ready = []
disconnect_client(self, fds)
continue
if command[0] == "terminateServer":
self.quit = True
@@ -301,7 +312,7 @@ class ProcessServer(multiprocessing.Process):
# Ignore EINTR
return []
else:
return []
return select.select(fds,[],[],0)[0]
class ServerCommunicator():
@@ -377,7 +388,7 @@ class BitBakeServer(object):
self.bitbake_lock.close()
ready = ConnectionReader(self.readypipe)
r = ready.wait(8)
r = ready.wait(30)
if not r:
ready.close()
bb.error("Unable to start bitbake server")

View File

@@ -94,6 +94,9 @@ class SignatureGeneratorBasic(SignatureGenerator):
else:
self.checksum_cache = None
def reset(self, data):
self.__init__(data)
def init_rundepcheck(self, data):
self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST") or None
if self.taskwhitelist:

View File

@@ -383,8 +383,7 @@ class Tinfoil:
self.server_connection, ui_module = setup_bitbake(config_params,
cookerconfig,
extrafeatures,
setup_logging=False)
extrafeatures)
self.ui_module = ui_module

View File

@@ -63,7 +63,9 @@ class PackageReverseDepView(Gtk.TreeView):
self.current = None
self.filter_model = model.filter_new()
self.filter_model.set_visible_func(self._filter)
self.set_model(self.filter_model)
self.sort_model = self.filter_model.sort_new_with_model()
self.sort_model.set_sort_column_id(COL_DEP_PARENT, Gtk.SortType.ASCENDING)
self.set_model(self.sort_model)
self.append_column(Gtk.TreeViewColumn(label, Gtk.CellRendererText(), text=COL_DEP_PARENT))
def _filter(self, model, iter, data):

View File

@@ -75,7 +75,10 @@ class Command(BaseCommand):
call_command("loaddata", "settings")
template_conf = os.environ.get("TEMPLATECONF", "")
if "poky" in template_conf:
if ToasterSetting.objects.filter(name='CUSTOM_XML_ONLY').count() > 0:
# only use the custom settings
pass
elif "poky" in template_conf:
print("Loading poky configuration")
call_command("loaddata", "poky")
else:

View File

@@ -0,0 +1,49 @@
#!/bin/bash
# Copyright (C) 2017 Intel Corp.
#
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# This is sample software. Rename it to 'custom_toaster_append.sh' and
# enable the respective custom sections.
verbose=0
if [ $verbose -ne 0 ] ; then
echo "custom_toaster_append.sh:$*"
fi
if [ "toaster_prepend" = "$1" ] ; then
echo "Add custom actions here when Toaster script is started"
fi
if [ "web_start_postpend" = "$1" ] ; then
echo "Add custom actions here after Toaster web service is started"
fi
if [ "web_stop_postpend" = "$1" ] ; then
echo "Add custom actions here after Toaster web service is stopped"
fi
if [ "noweb_start_postpend" = "$1" ] ; then
echo "Add custom actions here after Toaster (no web) service is started"
fi
if [ "noweb_stop_postpend" = "$1" ] ; then
echo "Add custom actions here after Toaster (no web) service is stopped"
fi
if [ "toaster_postpend" = "$1" ] ; then
echo "Add custom actions here after Toaster script is done"
fi

View File

@@ -81,6 +81,8 @@ class Command(BaseCommand):
os.system('setterm -cursor off')
self.apiurl = DEFAULT_LAYERINDEX_SERVER
if ToasterSetting.objects.filter(name='CUSTOM_LAYERINDEX_SERVER').count() == 1:
self.apiurl = ToasterSetting.objects.get(name = 'CUSTOM_LAYERINDEX_SERVER').value
assert self.apiurl is not None
try:
@@ -92,7 +94,9 @@ class Command(BaseCommand):
proxy_settings = os.environ.get("http_proxy", None)
def _get_json_response(apiurl=DEFAULT_LAYERINDEX_SERVER):
def _get_json_response(apiurl=None):
if None == apiurl:
apiurl=self.apiurl
http_progress = Spinner()
http_progress.start()

View File

@@ -1658,7 +1658,7 @@ class CustomImageRecipe(Recipe):
def get_base_recipe_file(self):
"""Get the base recipe file path if it exists on the file system"""
path_schema_one = "%s/%s" % (self.base_recipe.layer_version.dirpath,
path_schema_one = "%s/%s" % (self.base_recipe.layer_version.local_path,
self.base_recipe.file_path)
path_schema_two = self.base_recipe.file_path

View File

@@ -18,6 +18,7 @@
# Please run flake8 on this file before sending patches
import os
import re
import logging
import json
@@ -28,7 +29,7 @@ from orm.models import LayerVersionDependency, LayerSource, ProjectLayer
from orm.models import Recipe, CustomImageRecipe, CustomImagePackage
from orm.models import Layer, Target, Package, Package_Dependency
from orm.models import ProjectVariable
from bldcontrol.models import BuildRequest
from bldcontrol.models import BuildRequest, BuildEnvironment
from bldcontrol import bbcontroller
from django.http import HttpResponse, JsonResponse
@@ -509,6 +510,27 @@ class XhrCustomRecipe(View):
(tpackage.package.name, e))
pass
# pre-create layer directory structure, so that other builds
# are not blocked by this new recipe dependecy
# NOTE: this is parallel code to 'localhostbecontroller.py'
be = BuildEnvironment.objects.all()[0]
layerpath = os.path.join(be.builddir,
CustomImageRecipe.LAYER_NAME)
for name in ("conf", "recipes"):
path = os.path.join(layerpath, name)
if not os.path.isdir(path):
os.makedirs(path)
# pre-create layer.conf
config = os.path.join(layerpath, "conf", "layer.conf")
if not os.path.isfile(config):
with open(config, "w") as conf:
conf.write('BBPATH .= ":${LAYERDIR}"\nBBFILES += "${LAYERDIR}/recipes/*.bb"\n')
# pre-create new image's recipe file
recipe_path = os.path.join(layerpath, "recipes", "%s.bb" %
recipe.name)
with open(recipe_path, "w") as recipef:
recipef.write(recipe.generate_recipe_file_contents())
return JsonResponse(
{"error": "ok",
"packages": recipe.get_all_packages().count(),
@@ -752,7 +774,6 @@ class XhrCustomRecipePackages(View):
return error_response("Package %s not found in excludes"
" but was in included list" %
package.name)
else:
recipe.appends_set.add(package)
# Make sure that package is not in the excludes set
@@ -760,26 +781,27 @@ class XhrCustomRecipePackages(View):
recipe.excludes_set.remove(package)
except:
pass
# Add the dependencies we think will be added to the recipe
# as a result of appending this package.
# TODO this should recurse down the entire deps tree
for dep in package.package_dependencies_source.all_depends():
try:
cust_package = CustomImagePackage.objects.get(
name=dep.depends_on.name)
recipe.includes_set.add(cust_package)
try:
# When adding the pre-requisite package, make
# sure it's not in the excluded list from a
# prior removal.
recipe.excludes_set.remove(cust_package)
except package.DoesNotExist:
# Don't care if the package had never been excluded
pass
except:
logger.warning("Could not add package's suggested"
"dependencies to the list")
# Add the dependencies we think will be added to the recipe
# as a result of appending this package.
# TODO this should recurse down the entire deps tree
for dep in package.package_dependencies_source.all_depends():
try:
cust_package = CustomImagePackage.objects.get(
name=dep.depends_on.name)
recipe.includes_set.add(cust_package)
try:
# When adding the pre-requisite package, make
# sure it's not in the excluded list from a
# prior removal.
recipe.excludes_set.remove(cust_package)
except package.DoesNotExist:
# Don't care if the package had never been excluded
pass
except:
logger.warning("Could not add package's suggested"
"dependencies to the list")
return JsonResponse({"error": "ok"})
def delete(self, request, *args, **kwargs):
@@ -797,22 +819,24 @@ class XhrCustomRecipePackages(View):
recipe.excludes_set.add(package)
else:
recipe.appends_set.remove(package)
all_current_packages = recipe.get_all_packages()
reverse_deps_dictlist = self._get_all_dependents(
package.pk,
all_current_packages)
# remove dependencies as well
all_current_packages = recipe.get_all_packages()
ids = [entry['pk'] for entry in reverse_deps_dictlist]
reverse_deps = CustomImagePackage.objects.filter(id__in=ids)
for r in reverse_deps:
try:
if r.id in included_packages:
recipe.excludes_set.add(r)
else:
recipe.appends_set.remove(r)
except:
pass
reverse_deps_dictlist = self._get_all_dependents(
package.pk,
all_current_packages)
ids = [entry['pk'] for entry in reverse_deps_dictlist]
reverse_deps = CustomImagePackage.objects.filter(id__in=ids)
for r in reverse_deps:
try:
if r.id in included_packages:
recipe.excludes_set.add(r)
else:
recipe.appends_set.remove(r)
except:
pass
return JsonResponse({"error": "ok"})
except CustomImageRecipe.DoesNotExist:

View File

@@ -1150,7 +1150,7 @@
<listitem><para>Create a <filename>.bbappend</filename>
file for the modified recipe.
For information on using append files, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files</ulink>"
"<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files in Your Layer</ulink>"
section in the Yocto Project Development Manual.
</para></listitem>
<listitem><para>

View File

@@ -113,7 +113,7 @@
</para>
<para>
Follow these general steps to create your layer:
Follow these general steps to create your layer without the aid of a script:
<orderedlist>
<listitem><para><emphasis>Check Existing Layers:</emphasis>
Before creating a new layer, you should be sure someone
@@ -255,197 +255,182 @@
</section>
<section id='best-practices-to-follow-when-creating-layers'>
<title>Best Practices to Follow When Creating Layers</title>
<title>Following Best Practices When Creating Layers</title>
<para>
To create layers that are easier to maintain and that will
not impact builds for other machines, you should consider the
information in the following sections.
</para>
<section id='avoid-overlaying-entire-recipes'>
<title>Avoid "Overlaying" Entire Recipes</title>
<para>
Avoid "overlaying" entire recipes from other layers in your
configuration.
In other words, do not copy an entire recipe into your
layer and then modify it.
Rather, use an append file (<filename>.bbappend</filename>)
to override
only those parts of the original recipe you need to modify.
</para>
</section>
<section id='avoid-duplicating-include-files'>
<title>Avoid Duplicating Include Files</title>
<para>
Avoid duplicating include files.
Use append files (<filename>.bbappend</filename>)
for each recipe
that uses an include file.
Or, if you are introducing a new recipe that requires
the included file, use the path relative to the original
layer directory to refer to the file.
For example, use
<filename>require recipes-core/</filename><replaceable>package</replaceable><filename>/</filename><replaceable>file</replaceable><filename>.inc</filename>
instead of <filename>require </filename><replaceable>file</replaceable><filename>.inc</filename>.
If you're finding you have to overlay the include file,
it could indicate a deficiency in the include file in
the layer to which it originally belongs.
If this is the case, you should try to address that
deficiency instead of overlaying the include file.
For example, you could address this by getting the
maintainer of the include file to add a variable or
variables to make it easy to override the parts needing
to be overridden.
</para>
</section>
<section id='structure-your-layers'>
<title>Structure Your Layers</title>
<para>
Proper use of overrides within append files and placement
of machine-specific files within your layer can ensure that
a build is not using the wrong Metadata and negatively
impacting a build for a different machine.
Following are some examples:
<itemizedlist>
<listitem><para><emphasis>Modifying Variables to Support
a Different Machine:</emphasis>
Suppose you have a layer named
<filename>meta-one</filename> that adds support
for building machine "one".
To do so, you use an append file named
<filename>base-files.bbappend</filename> and
create a dependency on "foo" by altering the
<ulink url='&YOCTO_DOCS_REF_URL;#var-DEPENDS'><filename>DEPENDS</filename></ulink>
variable:
<literallayout class='monospaced'>
information in the following list:
<itemizedlist>
<listitem><para>
<emphasis>Avoid "Overlaying" Entire Recipes from Other Layers in Your Configuration:</emphasis>
In other words, do not copy an entire recipe into your
layer and then modify it.
Rather, use an append file
(<filename>.bbappend</filename>) to override only those
parts of the original recipe you need to modify.
</para></listitem>
<listitem><para>
<emphasis>Avoid Duplicating Include Files:</emphasis>
Use append files (<filename>.bbappend</filename>)
for each recipe that uses an include file.
Or, if you are introducing a new recipe that requires
the included file, use the path relative to the
original layer directory to refer to the file.
For example, use
<filename>require recipes-core/</filename><replaceable>package</replaceable><filename>/</filename><replaceable>file</replaceable><filename>.inc</filename>
instead of
<filename>require </filename><replaceable>file</replaceable><filename>.inc</filename>.
If you're finding you have to overlay the include file,
it could indicate a deficiency in the include file in
the layer to which it originally belongs.
If this is the case, you should try to address that
deficiency instead of overlaying the include file.
For example, you could address this by getting the
maintainer of the include file to add a variable or
variables to make it easy to override the parts needing
to be overridden.
</para></listitem>
<listitem><para>
<emphasis>Structure Your Layers:</emphasis>
Proper use of overrides within append files and
placement of machine-specific files within your layer
can ensure that a build is not using the wrong Metadata
and negatively impacting a build for a different
machine.
Following are some examples:
<itemizedlist>
<listitem><para>
<emphasis>Modify Variables to Support a
Different Machine:</emphasis>
Suppose you have a layer named
<filename>meta-one</filename> that adds support
for building machine "one".
To do so, you use an append file named
<filename>base-files.bbappend</filename> and
create a dependency on "foo" by altering the
<ulink url='&YOCTO_DOCS_REF_URL;#var-DEPENDS'><filename>DEPENDS</filename></ulink>
variable:
<literallayout class='monospaced'>
DEPENDS = "foo"
</literallayout>
The dependency is created during any build that
includes the layer
<filename>meta-one</filename>.
However, you might not want this dependency
for all machines.
For example, suppose you are building for
machine "two" but your
<filename>bblayers.conf</filename> file has the
<filename>meta-one</filename> layer included.
During the build, the
<filename>base-files</filename> for machine
"two" will also have the dependency on
<filename>foo</filename>.</para>
<para>To make sure your changes apply only when
building machine "one", use a machine override
with the <filename>DEPENDS</filename> statement:
<literallayout class='monospaced'>
</literallayout>
The dependency is created during any build that
includes the layer
<filename>meta-one</filename>.
However, you might not want this dependency
for all machines.
For example, suppose you are building for
machine "two" but your
<filename>bblayers.conf</filename> file has the
<filename>meta-one</filename> layer included.
During the build, the
<filename>base-files</filename> for machine
"two" will also have the dependency on
<filename>foo</filename>.</para>
<para>To make sure your changes apply only when
building machine "one", use a machine override
with the <filename>DEPENDS</filename> statement:
<literallayout class='monospaced'>
DEPENDS_one = "foo"
</literallayout>
You should follow the same strategy when using
<filename>_append</filename> and
<filename>_prepend</filename> operations:
<literallayout class='monospaced'>
</literallayout>
You should follow the same strategy when using
<filename>_append</filename> and
<filename>_prepend</filename> operations:
<literallayout class='monospaced'>
DEPENDS_append_one = " foo"
DEPENDS_prepend_one = "foo "
</literallayout>
As an actual example, here's a line from the recipe
for gnutls, which adds dependencies on
"argp-standalone" when building with the musl C
library:
<literallayout class='monospaced'>
</literallayout>
As an actual example, here's a line from the recipe
for gnutls, which adds dependencies on
"argp-standalone" when building with the musl C
library:
<literallayout class='monospaced'>
DEPENDS_append_libc-musl = " argp-standalone"
</literallayout>
<note>
Avoiding "+=" and "=+" and using
machine-specific
<filename>_append</filename>
and <filename>_prepend</filename> operations
is recommended as well.
</note></para></listitem>
<listitem><para><emphasis>Place Machine-Specific Files
in Machine-Specific Locations:</emphasis>
When you have a base recipe, such as
<filename>base-files.bb</filename>, that
contains a
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
statement to a file, you can use an append file
to cause the build to use your own version of
the file.
For example, an append file in your layer at
<filename>meta-one/recipes-core/base-files/base-files.bbappend</filename>
could extend
<ulink url='&YOCTO_DOCS_REF_URL;#var-FILESPATH'><filename>FILESPATH</filename></ulink>
using
<ulink url='&YOCTO_DOCS_REF_URL;#var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></ulink>
as follows:
<literallayout class='monospaced'>
</literallayout>
<note>
Avoiding "+=" and "=+" and using
machine-specific
<filename>_append</filename>
and <filename>_prepend</filename> operations
is recommended as well.
</note>
</para></listitem>
<listitem><para>
<emphasis>Place Machine-Specific Files in
Machine-Specific Locations:</emphasis>
When you have a base recipe, such as
<filename>base-files.bb</filename>, that
contains a
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
statement to a file, you can use an append file
to cause the build to use your own version of
the file.
For example, an append file in your layer at
<filename>meta-one/recipes-core/base-files/base-files.bbappend</filename>
could extend
<ulink url='&YOCTO_DOCS_REF_URL;#var-FILESPATH'><filename>FILESPATH</filename></ulink>
using
<ulink url='&YOCTO_DOCS_REF_URL;#var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></ulink>
as follows:
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
</literallayout>
The build for machine "one" will pick up your
machine-specific file as long as you have the
file in
<filename>meta-one/recipes-core/base-files/base-files/</filename>.
However, if you are building for a different
machine and the
<filename>bblayers.conf</filename> file includes
the <filename>meta-one</filename> layer and
the location of your machine-specific file is
the first location where that file is found
according to <filename>FILESPATH</filename>,
builds for all machines will also use that
machine-specific file.</para>
<para>You can make sure that a machine-specific
file is used for a particular machine by putting
the file in a subdirectory specific to the
machine.
For example, rather than placing the file in
<filename>meta-one/recipes-core/base-files/base-files/</filename>
as shown above, put it in
<filename>meta-one/recipes-core/base-files/base-files/one/</filename>.
Not only does this make sure the file is used
only when building for machine "one", but the
build process locates the file more quickly.</para>
<para>In summary, you need to place all files
referenced from <filename>SRC_URI</filename>
in a machine-specific subdirectory within the
layer in order to restrict those files to
machine-specific builds.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='other-recommendations'>
<title>Other Recommendations</title>
<para>
We also recommend the following:
<itemizedlist>
<listitem><para>If you want permission to use the
Yocto Project Compatibility logo with your layer
or application that uses your layer, perform the
steps to apply for compatibility.
See the
"<link linkend='making-sure-your-layer-is-compatible-with-yocto-project'>Making Sure Your Layer is Compatible With Yocto Project</link>"
section for more information.
</para></listitem>
<listitem><para>Store custom layers in a Git repository
that uses the
<filename>meta-<replaceable>layer_name</replaceable></filename> format.
</para></listitem>
<listitem><para>Clone the repository alongside other
<filename>meta</filename> directories in the
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
</para></listitem>
</itemizedlist>
Following these recommendations keeps your Source Directory and
its configuration entirely inside the Yocto Project's core
base.
</para>
</section>
</literallayout>
The build for machine "one" will pick up your
machine-specific file as long as you have the
file in
<filename>meta-one/recipes-core/base-files/base-files/</filename>.
However, if you are building for a different
machine and the
<filename>bblayers.conf</filename> file includes
the <filename>meta-one</filename> layer and
the location of your machine-specific file is
the first location where that file is found
according to <filename>FILESPATH</filename>,
builds for all machines will also use that
machine-specific file.</para>
<para>You can make sure that a machine-specific
file is used for a particular machine by putting
the file in a subdirectory specific to the
machine.
For example, rather than placing the file in
<filename>meta-one/recipes-core/base-files/base-files/</filename>
as shown above, put it in
<filename>meta-one/recipes-core/base-files/base-files/one/</filename>.
Not only does this make sure the file is used
only when building for machine "one", but the
build process locates the file more quickly.</para>
<para>In summary, you need to place all files
referenced from <filename>SRC_URI</filename>
in a machine-specific subdirectory within the
layer in order to restrict those files to
machine-specific builds.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Perform Steps to Apply for Yocto Project Compatibility:</emphasis>
If you want permission to use the
Yocto Project Compatibility logo with your layer
or application that uses your layer, perform the
steps to apply for compatibility.
See the
"<link linkend='making-sure-your-layer-is-compatible-with-yocto-project'>Making Sure Your Layer is Compatible With Yocto Project</link>"
section for more information.
</para></listitem>
<listitem><para>
<emphasis>Follow the Layer Naming Convention:</emphasis>
Store custom layers in a Git repository that use the
<filename>meta-<replaceable>layer_name</replaceable></filename>
format.
</para></listitem>
<listitem><para>
<emphasis>Group Your Layers Locally:</emphasis>
Clone your repository alongside other cloned
<filename>meta</filename> directories from the
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='making-sure-your-layer-is-compatible-with-yocto-project'>
@@ -686,37 +671,46 @@
</section>
<section id='using-bbappend-files'>
<title>Using .bbappend Files</title>
<title>Using .bbappend Files in Your Layer</title>
<para>
Recipes used to append Metadata to other recipes are called
BitBake append files.
BitBake append files use the <filename>.bbappend</filename> file
type suffix, while the corresponding recipes to which Metadata
is being appended use the <filename>.bb</filename> file type
suffix.
A recipe that appends Metadata to another recipe is called a
BitBake append file.
A BitBake append file uses the <filename>.bbappend</filename>
file type suffix, while the corresponding recipe to which
Metadata is being appended uses the <filename>.bb</filename>
file type suffix.
</para>
<para>
A <filename>.bbappend</filename> file allows your layer to make
additions or changes to the content of another layer's recipe
without having to copy the other recipe into your layer.
You can use a <filename>.bbappend</filename> file in your
layer to make additions or changes to the content of another
layer's recipe without having to copy the other layer's
recipe into your layer.
Your <filename>.bbappend</filename> file resides in your layer,
while the main <filename>.bb</filename> recipe file to
which you are appending Metadata resides in a different layer.
</para>
<para>
Append files must have the same root names as their corresponding
recipes.
Being able to append information to an existing recipe not only
avoids duplication, but also automatically applies recipe
changes from a different layer into your layer.
If you were copying recipes, you would have to manually merge
changes as they occur.
</para>
<para>
When you create an append file, you must use the same root
name as the corresponding recipe file.
For example, the append file
<filename>someapp_&DISTRO;.bbappend</filename> must apply to
<filename>someapp_&DISTRO;.bb</filename>.
This means the original recipe and append file names are version
number-specific.
This means the original recipe and append file names are
version number-specific.
If the corresponding recipe is renamed to update to a newer
version, the corresponding <filename>.bbappend</filename> file must
be renamed (and possibly updated) as well.
version, you must also rename and possibly update
the corresponding <filename>.bbappend</filename> as well.
During the build process, BitBake displays an error on starting
if it detects a <filename>.bbappend</filename> file that does
not have a corresponding recipe with a matching name.
@@ -725,14 +719,6 @@
variable for information on how to handle this error.
</para>
<para>
Being able to append information to an existing recipe not only
avoids duplication, but also automatically applies recipe
changes in a different layer to your layer.
If you were copying recipes, you would have to manually merge
changes as they occur.
</para>
<para>
As an example, consider the main formfactor recipe and a
corresponding formfactor append file both from the
@@ -745,8 +731,7 @@
SUMMARY = "Device formfactor information"
SECTION = "base"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r45"
SRC_URI = "file://config file://machconfig"
@@ -762,8 +747,7 @@
if [ -s "${S}/machconfig" ]; then
install -m 0644 ${S}/machconfig ${D}${sysconfdir}/formfactor/
fi
}
</literallayout>
} </literallayout>
In the main recipe, note the
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
variable, which tells the OpenEmbedded build system where to
@@ -775,7 +759,8 @@
<filename>formfactor_0.0.bbappend</filename> and is from the
Raspberry Pi BSP Layer named
<filename>meta-raspberrypi</filename>.
The file is in <filename>recipes-bsp/formfactor</filename>:
The file is in the layer at
<filename>recipes-bsp/formfactor</filename>:
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
</literallayout>
@@ -795,12 +780,13 @@
</para>
<para>
The statement in this example extends the directories to include
The statement in this example extends the directories to
include
<filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-THISDIR'><filename>THISDIR</filename></ulink><filename>}/${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink><filename>}</filename>,
which resolves to a directory named
<filename>formfactor</filename> in the same directory
in which the append file resides (i.e.
<filename>meta-raspberrypi/recipes-bsp/formfactor/formfactor</filename>.
<filename>meta-raspberrypi/recipes-bsp/formfactor</filename>.
This implies that you must have the supporting directory
structure set up that will contain any files or patches you
will be including from the layer.
@@ -808,8 +794,8 @@
<para>
Using the immediate expansion assignment operator
<filename>:=</filename> is important because of the reference to
<filename>THISDIR</filename>.
<filename>:=</filename> is important because of the reference
to <filename>THISDIR</filename>.
The trailing colon character is important as it ensures that
items in the list remain colon-separated.
<note>
@@ -7144,7 +7130,7 @@ Some notes from Cal:
and <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
statements enable the OpenEmbedded build system to find the patch file.
For more information on using append files, see the
"<link linkend='using-bbappend-files'>Using .bbappend Files</link>"
"<link linkend='using-bbappend-files'>Using .bbappend Files in Your Layer</link>"
section.
</para></listitem>
<listitem><para><emphasis>Put the patch file in your layer</emphasis>:
@@ -7616,14 +7602,14 @@ Some notes from Cal:
on how to add recipes to your layer, see the
"<link linkend='creating-your-own-layer'>Creating Your Own Layer</link>"
and
"<link linkend='best-practices-to-follow-when-creating-layers'>Best Practices to Follow When Creating Layers</link>"
"<link linkend='best-practices-to-follow-when-creating-layers'>Following Best Practices When Creating Layers</link>"
sections.</para></listitem>
<listitem><para>Add any image recipes that are specific
to your distribution.</para></listitem>
<listitem><para>Add a <filename>psplash</filename>
append file for a branded splash screen.
For information on append files, see the
"<link linkend='using-bbappend-files'>Using .bbappend Files</link>"
"<link linkend='using-bbappend-files'>Using .bbappend Files in Your Layer</link>"
section.</para></listitem>
<listitem><para>Add any other append files to make
custom changes that are specific to individual

View File

@@ -72,7 +72,7 @@
<filename>RDEPENDS_kernel-base</filename> to include or not
include "kernel-image".</para>
<para>See the
"<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files</ulink>"
"<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files in Your Layer</ulink>"
section in the Yocto Project Development Manual for information on
how to use an append file to override metadata.
</para>

View File

@@ -689,7 +689,7 @@
<para>Information in append files extends or overrides the
information in the similarly-named recipe file.
For an example of an append file in use, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files</ulink>"
"<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files in Your Layer</ulink>"
section in the Yocto Project Development Manual.
<note>
Append files can also use wildcard patterns in their

View File

@@ -213,7 +213,7 @@
examples further down in the Quick Start:
<orderedlist>
<listitem><para>
<emphasis>Reference the Procedure:</emphasis>
<emphasis>Set Up to use CROss PlatformS (CROPS):</emphasis>
Work through the first six steps of the procedure
in the
"<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-to-use-crops'>Setting Up to Use CROss PlatformS (CROPS)</ulink>"

View File

@@ -1,3 +1,8 @@
### Shell environment set up for builds. ###
You can now run 'bitbake <target>'
Common targets are:
core-image-minimal
core-image-sato

View File

@@ -28,7 +28,9 @@
# Please keep this list in alphabetical order.
#
RECIPE_MAINTAINER_pn-acl = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-acpica = "Fathi Boudra <fathi.boudra@linaro.org>"
RECIPE_MAINTAINER_pn-acpid = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-acpitests = "Fathi Boudra <fathi.boudra@linaro.org>"
RECIPE_MAINTAINER_pn-adwaita-icon-theme = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-alsa-lib = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-alsa-plugins = "Tanu Kaskinen <tanuk@iki.fi>"
@@ -80,6 +82,7 @@ RECIPE_MAINTAINER_pn-bsd-headers = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-btrfs-tools = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-build-appliance-image = "Cristian Iorga <cristian.iorga@intel.com>"
RECIPE_MAINTAINER_pn-build-compare = "Randy Witt <randy.e.witt@linux.intel.com>"
RECIPE_MAINTAINER_pn-build-sysroots = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-builder = "Cristian Iorga <cristian.iorga@intel.com>"
RECIPE_MAINTAINER_pn-buildtools-tarball = "Cristian Iorga <cristian.iorga@intel.com>"
RECIPE_MAINTAINER_pn-busybox = "Armin Kuster <akuster808@gmail.com>"
@@ -109,7 +112,7 @@ RECIPE_MAINTAINER_pn-consolekit = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-coreutils = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-cpio = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-cracklib = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-createrepo = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-createrepo-c = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-cronie = "Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>"
RECIPE_MAINTAINER_pn-cross-localedef-native = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-cryptodev-linux = "Robert Yang <liezhi.yang@windriver.com>"
@@ -137,6 +140,7 @@ RECIPE_MAINTAINER_pn-distcc = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-distcc-config = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-dmidecode = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-dmxproto = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-dnf = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-docbook-xml-dtd4 = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-docbook-xsl-stylesheets = "Dengke Du <dengke.du@windriver.com>"
RECIPE_MAINTAINER_pn-dosfstools = "Dengke Du <dengke.du@windriver.com>"
@@ -216,8 +220,11 @@ RECIPE_MAINTAINER_pn-gnu-config = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-gnu-efi = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-gnupg = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-gnutls = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn_go = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-go-cross = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-go-helloworld = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-go-native = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gobject-introspection = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-go-native = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-gperf = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-gpgme = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-gptfdisk = "Alexander Kanavin <alexander.kanavin@intel.com>"
@@ -289,6 +296,7 @@ RECIPE_MAINTAINER_pn-kexec-tools = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-keymaps = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-kmod = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-kmod-native = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-kmscube = "Carlos Rafael Giani <dv@pseudoterminal.org>"
RECIPE_MAINTAINER_pn-l3afpad = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-lame = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-latencytop = "Alexander Kanavin <alexander.kanavin@intel.com>"
@@ -308,10 +316,12 @@ RECIPE_MAINTAINER_pn-libcap-ng = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-libcgroup = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-libcheck = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-libclass-isa-perl = "Aníbal Limón <anibal.limon@linux.intel.com>"
RECIPE_MAINTAINER_pn-libcomps = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-libconvert-asn1-perl = "Aníbal Limón <anibal.limon@linux.intel.com>"
RECIPE_MAINTAINER_pn-libcroco = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-libdaemon = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-libdmx = "Armin Kuster <akuster@mvista.com>"
RECIPE_MAINTAINER_pn-libdnf = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-libdrm = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
RECIPE_MAINTAINER_pn-libdumpvalue-perl = "Aníbal Limón <anibal.limon@linux.intel.com>"
RECIPE_MAINTAINER_pn-libenv-perl = "Aníbal Limón <anibal.limon@linux.intel.com>"
@@ -351,6 +361,7 @@ RECIPE_MAINTAINER_pn-libnewt-python = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-libnfsidmap = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-libnl = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-libnotify = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-libnsl2 = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libnss-mdns = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-libogg = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-libomxil = "Maxin B. John <maxin.john@intel.com>"
@@ -366,6 +377,7 @@ RECIPE_MAINTAINER_pn-libpng12 = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-libpod-plainer-perl = "Aníbal Limón <anibal.limon@linux.intel.com>"
RECIPE_MAINTAINER_pn-libproxy = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-libpthread-stubs = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-librepo = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-librsvg = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
RECIPE_MAINTAINER_pn-libsamplerate0 = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-libsdl = "Robert Yang <liezhi.yang@windriver.com>"
@@ -536,6 +548,8 @@ RECIPE_MAINTAINER_pn-oprofile = "Alexander Kanavin <alexander.kanavin@intel.com>
RECIPE_MAINTAINER_pn-orc = "Maxin B. John <maxin.john@intel.com>"
RECIPE_MAINTAINER_pn-os-release = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-ossp-uuid = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-ovmf = "Ricardo Neri <ricardo.neri-calderon@linux.intel.com>"
RECIPE_MAINTAINER_pn-ovmf-shell-image = "Ricardo Neri <ricardo.neri-calderon@linux.intel.com>"
RECIPE_MAINTAINER_pn-p11-kit = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-package-index = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-pango = "Jussi Kukkonen <jussi.kukkonen@intel.com>"
@@ -606,6 +620,7 @@ RECIPE_MAINTAINER_pn-python3-distribute = "Jose Lamego <jose.a.lamego@linux.inte
RECIPE_MAINTAINER_pn-python3-docutils = "Jose Lamego <jose.a.lamego@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-git = "Jose Lamego <jose.a.lamego@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-gitdb = "Jose Lamego <jose.a.lamego@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-iniparse = "Jose Lamego <jose.a.lamego@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-mako = "Jose Lamego <jose.a.lamego@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-native = "Alejandro Hernandez <alejandro.hernandez@linux.intel.com>"
RECIPE_MAINTAINER_pn-python3-nose = "Jose Lamego <jose.a.lamego@linux.intel.com>"
@@ -732,6 +747,7 @@ RECIPE_MAINTAINER_pn-weston = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-weston-init = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-wget = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-which = "Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>"
RECIPE_MAINTAINER_pn-wic-tools = "Ed Bartosh <ed.bartosh@linux.intel.com>"
RECIPE_MAINTAINER_pn-wireless-tools = "Changhyeok Bae <changhyeok.bae@lge.com>"
RECIPE_MAINTAINER_pn-wpa-supplicant = "Changhyeok Bae <changhyeok.bae@lge.com>"
RECIPE_MAINTAINER_pn-x11-common = "Armin Kuster <akuster@mvista.com>"

View File

@@ -2,7 +2,3 @@
# Things we exlude fromw world testing within the reference distro
#
# qwt from meta-qt4, has poky-lsb QA warnings, qt4 for lsb only
EXCLUDE_FROM_WORLD_pn-qwt = "1"
# python-pyqt from meta-qt4 requires sip from meta-oe
EXCLUDE_FROM_WORLD_pn-python-pyqt = "1"

View File

@@ -12,4 +12,4 @@ PREFERRED_PROVIDER_virtual/libx11 = "libx11"
KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
# Use the LTSI Kernel for LSB Testing
PREFERRED_VERSION_linux-yocto_linuxstdbase ?= "4.1%"
PREFERRED_VERSION_linux-yocto_linuxstdbase ?= "4.9%"

View File

@@ -15,13 +15,13 @@ DISTRO_VERSION[vardepsexclude] = "DATE"
SDK_VERSION[vardepsexclude] = "DATE"
# Override these in poky based distros
POKY_DEFAULT_DISTRO_FEATURES = "largefile opengl ptest multiarch wayland"
POKY_DEFAULT_DISTRO_FEATURES = "largefile opengl ptest multiarch wayland vulkan"
POKY_DEFAULT_EXTRA_RDEPENDS = "packagegroup-core-boot"
POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} ${POKY_DEFAULT_DISTRO_FEATURES}"
PREFERRED_VERSION_linux-yocto ?= "4.10%"
PREFERRED_VERSION_linux-yocto ?= "4.12%"
SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
@@ -39,7 +39,7 @@ DISTRO_EXTRA_RDEPENDS_append_qemux86-64 = " ${POKYQEMUDEPS}"
TCLIBCAPPEND = ""
QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc x86_64"
QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el nios2 ppc x86_64"
# Other QEMU_TARGETS "sh4"
PREMIRRORS ??= "\

View File

@@ -1,27 +0,0 @@
build-compare
calibrateproto
dbus-wait
distcc
fstests
gnu-config
gst-player
kmscube
libxcalibrate
linux-firmware
lsb
mmc-utils
ovmf
piglit
psplash
puzzles
rpm
squashfs-tools
tcf-agent
unzip
update-rc.d
vulkan-demos
x264
xcursor-transparent-theme
xinetd
xvideo-tests
zip

View File

@@ -0,0 +1 @@
test123

View File

@@ -6,6 +6,8 @@ class DnfSelftest(DnfTest):
@classmethod
def setUpClass(cls):
import tempfile
cls.temp_dir = tempfile.TemporaryDirectory(prefix="oeqa-remotefeeds-")
cls.repo_server = HTTPService(os.path.join(cls.tc.td['WORKDIR'], 'oe-rootfs-repo'),
cls.tc.target.server_ip)
cls.repo_server.start()
@@ -13,6 +15,7 @@ class DnfSelftest(DnfTest):
@classmethod
def tearDownClass(cls):
cls.repo_server.stop()
cls.temp_dir.cleanup()
@OETestDepends(['dnf.DnfBasicTest.test_dnf_help'])
def test_verify_package_feeds(self):
@@ -25,18 +28,20 @@ class DnfSelftest(DnfTest):
"""
# When we created an image, we had to supply fake ip and port
# for the feeds. Now we can patch the real ones into the config file.
import tempfile
temp_file = tempfile.TemporaryDirectory(prefix="oeqa-remotefeeds-").name
temp_file = os.path.join(self.temp_dir.name, 'tmp.repo')
self.tc.target.copyFrom("/etc/yum.repos.d/oe-remote-repo.repo", temp_file)
fixed_config = open(temp_file, "r").read().replace("bogus_ip", self.tc.target.server_ip).replace("bogus_port", str(self.repo_server.port))
open(temp_file, "w").write(fixed_config)
with open(temp_file, "w") as f:
f.write(fixed_config)
self.tc.target.copyTo(temp_file, "/etc/yum.repos.d/oe-remote-repo.repo")
import re
output_makecache = self.dnf('makecache')
# Use '-y' for non-interactive mode: automatically import the feed signing key
output_makecache = self.dnf('-vy makecache')
self.assertTrue(re.match(r".*Failed to synchronize cache", output_makecache, re.DOTALL) is None, msg = "dnf makecache failed to synchronize repo: %s" %(output_makecache))
self.assertTrue(re.match(r".*Metadata cache created", output_makecache, re.DOTALL) is not None, msg = "dnf makecache failed: %s" %(output_makecache))
output_repoinfo = self.dnf('repoinfo')
output_repoinfo = self.dnf('-v repoinfo')
matchobj = re.match(r".*Repo-pkgs\s*:\s*(?P<n_pkgs>[0-9]+)", output_repoinfo, re.DOTALL)
self.assertTrue(matchobj is not None, msg = "Could not find the amount of packages in dnf repoinfo output: %s" %(output_repoinfo))
self.assertTrue(int(matchobj.group('n_pkgs')) > 0, msg = "Amount of remote packages is not more than zero: %s\n" %(output_repoinfo))

View File

@@ -1,26 +0,0 @@
KBRANCH_genericx86 = "standard/base"
KBRANCH_genericx86-64 = "standard/base"
KBRANCH_edgerouter = "standard/edgerouter"
KBRANCH_beaglebone = "standard/beaglebone"
KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb"
KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
SRCREV_machine_genericx86 ?= "f905fdd5da150ea809f847f00f3476220606c0ff"
SRCREV_machine_genericx86-64 ?= "f905fdd5da150ea809f847f00f3476220606c0ff"
SRCREV_machine_edgerouter ?= "e2bea2e96fcbbbb9b1efc3bc7505ac42e39bb5c0"
SRCREV_machine_beaglebone ?= "243644adea596cda2ef1280a8e57075a1247089f"
SRCREV_machine_mpc8315e-rdb ?= "e2bea2e96fcbbbb9b1efc3bc7505ac42e39bb5c0"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE_edgerouter = "edgerouter"
COMPATIBLE_MACHINE_beaglebone = "beaglebone"
COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
LINUX_VERSION_genericx86 = "4.1.42"
LINUX_VERSION_genericx86-64 = "4.1.42"
LINUX_VERSION_edgerouter = "4.1.42"
LINUX_VERSION_beaglebone = "4.1.42"
LINUX_VERSION_mpc8315e-rdb = "4.1.42"

View File

@@ -824,6 +824,8 @@ python buildhistory_eventhandler() {
interrupted = getattr(e, '_interrupted', 0)
localdata.setVar('BUILDHISTORY_BUILD_INTERRUPTED', str(interrupted))
bb.build.exec_func("buildhistory_commit", localdata)
else:
bb.note("No commit since BUILDHISTORY_COMMIT != '1'")
}
addhandler buildhistory_eventhandler
@@ -910,3 +912,33 @@ def write_latest_srcrev(d, pkghistdir):
else:
if os.path.exists(srcrevfile):
os.remove(srcrevfile)
do_testimage[postfuncs] += "write_ptest_result"
do_testimage[vardepsexclude] += "write_ptest_result"
python write_ptest_result() {
write_latest_ptest_result(d, d.getVar('BUILDHISTORY_DIR'))
}
def write_latest_ptest_result(d, histdir):
import glob
import subprocess
test_log_dir = d.getVar('TEST_LOG_DIR')
input_ptest = os.path.join(test_log_dir, 'ptest_log')
output_ptest = os.path.join(histdir, 'ptest')
if os.path.exists(input_ptest):
try:
# Lock it avoid race issue
lock = bb.utils.lockfile(output_ptest + "/ptest.lock")
bb.utils.mkdirhier(output_ptest)
oe.path.copytree(input_ptest, output_ptest)
# Sort test result
for result in glob.glob('%s/pass.fail.*' % output_ptest):
bb.debug(1, 'Processing %s' % result)
cmd = ['sort', result, '-o', result]
bb.debug(1, 'Running %s' % cmd)
ret = subprocess.call(cmd)
if ret != 0:
bb.error('Failed to run %s!' % cmd)
finally:
bb.utils.unlockfile(lock)

View File

@@ -26,28 +26,8 @@ python do_menuconfig() {
except OSError:
mtime = 0
# We need to know when the command completes but some terminals (including gnome-terminal
# and tmux) gives us no way to do this. We therefore write the pid to a temporal file
# then monitor the pid until it exits.
import tempfile
pidfile = tempfile.NamedTemporaryFile(delete = False).name
try:
oe_terminal("${SHELL} -c \"echo $$ > %s; make %s; if [ \$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % (pidfile, d.getVar('KCONFIG_CONFIG_COMMAND')),
oe_terminal("${SHELL} -c \"make %s; if [ \$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'),
d.getVar('PN') + ' Configuration', d)
while os.stat(pidfile).st_size <= 0:
continue
with open(pidfile, "r") as f:
pid = int(f.readline())
finally:
os.unlink(pidfile)
import time
while True:
try:
os.kill(pid, 0)
time.sleep(0.1)
except OSError:
break
# FIXME this check can be removed when the minimum bitbake version has been bumped
if hasattr(bb.build, 'write_taint'):

View File

@@ -38,7 +38,7 @@ python () {
extralibcs = [""]
if "musl" in d.getVar("BASECANADIANEXTRAOS"):
extralibcs.append("musl")
for variant in ["", "spe", "x32", "eabi", "n32"]:
for variant in ["", "spe", "x32", "eabi", "n32", "ilp32"]:
for libc in extralibcs:
entry = "linux"
if variant and libc:

View File

@@ -261,12 +261,44 @@ python do_checkpkg() {
from bb.utils import vercmp_string
from bb.fetch2 import FetchError, NoMethodError, decodeurl
"""first check whether a uri is provided"""
src_uri = (d.getVar('SRC_URI') or '').split()
if src_uri:
uri_type, _, _, _, _, _ = decodeurl(src_uri[0])
else:
uri_type = "none"
def get_upstream_version_and_status():
# set if the upstream check fails reliably, e.g. absent git tags, or weird version format used on our or on upstream side.
upstream_version_unknown = localdata.getVar('UPSTREAM_VERSION_UNKNOWN')
# set if the upstream check cannot be reliably performed due to transient network failures, or server behaving weirdly.
# This one should be used sparingly, as it completely excludes a recipe from upstream checking.
upstream_check_unreliable = localdata.getVar('UPSTREAM_CHECK_UNRELIABLE')
if upstream_check_unreliable == "1":
return "N/A", "CHECK_IS_UNRELIABLE"
try:
uv = oe.recipeutils.get_recipe_upstream_version(localdata)
pupver = uv['version'] if uv['version'] else "N/A"
except Exception as e:
pupver = "N/A"
if pupver == "N/A":
pstatus = "UNKNOWN" if upstream_version_unknown else "UNKNOWN_BROKEN"
else:
src_uri = (localdata.getVar('SRC_URI') or '').split()
if src_uri:
uri_type, _, _, _, _, _ = decodeurl(src_uri[0])
else:
uri_type = "none"
pv, _, _ = oe.recipeutils.get_recipe_pv_without_srcpv(pversion, uri_type)
upv, _, _ = oe.recipeutils.get_recipe_pv_without_srcpv(pupver, uri_type)
cmp = vercmp_string(pv, upv)
if cmp == -1:
pstatus = "UPDATE" if not upstream_version_unknown else "KNOWN_BROKEN"
elif cmp == 0:
pstatus = "MATCH" if not upstream_version_unknown else "KNOWN_BROKEN"
else:
pstatus = "UNKNOWN" if upstream_version_unknown else "UNKNOWN_BROKEN"
return pupver, pstatus
"""initialize log files."""
logpath = d.getVar('LOG_DIR')
@@ -313,34 +345,7 @@ python do_checkpkg() {
psrcuri = localdata.getVar('SRC_URI')
maintainer = localdata.getVar('RECIPE_MAINTAINER')
""" Get upstream version version """
pupver = ""
pstatus = ""
try:
uv = oe.recipeutils.get_recipe_upstream_version(localdata)
pupver = uv['version']
except Exception as e:
if e is FetchError:
pstatus = "ErrAccess"
elif e is NoMethodError:
pstatus = "ErrUnsupportedProto"
else:
pstatus = "ErrUnknown"
"""Set upstream version status"""
if not pupver:
pupver = "N/A"
else:
pv, _, _ = oe.recipeutils.get_recipe_pv_without_srcpv(pversion, uri_type)
upv, _, _ = oe.recipeutils.get_recipe_pv_without_srcpv(pupver, uri_type)
cmp = vercmp_string(pv, upv)
if cmp == -1:
pstatus = "UPDATE"
elif cmp == 0:
pstatus = "MATCH"
pupver, pstatus = get_upstream_version_and_status()
if psrcuri:
psrcuri = psrcuri.split()[0]

View File

@@ -184,11 +184,19 @@ def srctree_hash_files(d, srcdir=None):
import tempfile
s_dir = srcdir or d.getVar('EXTERNALSRC')
git_dir = os.path.join(s_dir, '.git')
oe_hash_file = os.path.join(git_dir, 'oe-devtool-tree-sha1')
git_dir = None
try:
# git rev-parse returns the path relative to the current working
# directory
git_dir = os.path.join(s_dir,
subprocess.check_output(['git', 'rev-parse', '--git-dir'], cwd=s_dir).decode("utf-8").rstrip())
except subprocess.CalledProcessError:
pass
ret = " "
if os.path.exists(git_dir):
if git_dir is not None:
oe_hash_file = os.path.join(git_dir, 'oe-devtool-tree-sha1')
with tempfile.NamedTemporaryFile(prefix='oe-devtool-index') as tmp_index:
# Clone index
shutil.copyfile(os.path.join(git_dir, 'index'), tmp_index.name)

View File

@@ -17,3 +17,8 @@ DEPENDS_GETTEXT ??= "virtual/gettext gettext-native"
BASEDEPENDS_append = " ${@gettext_dependencies(d)}"
EXTRA_OECONF_append = " ${@gettext_oeconf(d)}"
# Without this, msgfmt from gettext-native will not find ITS files
# provided by target recipes (for example, polkit.its).
GETTEXTDATADIRS_append_class-target = ":${STAGING_DATADIR}/gettext"
export GETTEXTDATADIRS

View File

@@ -14,6 +14,7 @@ GO_BUILD_BINDIR = "${@['bin/${HOST_GOTUPLE}','bin'][d.getVar('BUILD_GOTUPLE',Tru
# define here because everybody inherits this class
#
COMPATIBLE_HOST_linux-gnux32 = "null"
COMPATIBLE_HOST_linux-muslx32 = "null"
COMPATIBLE_HOST_powerpc = "null"
COMPATIBLE_HOST_powerpc64 = "null"

View File

@@ -1,6 +1,6 @@
do_rootfs[depends] += "prelink-native:do_populate_sysroot"
IMAGE_PREPROCESS_COMMAND += "prelink_setup; prelink_image; "
IMAGE_PREPROCESS_COMMAND_append_libc-glibc = " prelink_setup; prelink_image; "
python prelink_setup () {
oe.utils.write_ld_so_conf(d)
@@ -36,7 +36,17 @@ prelink_image () {
dynamic_loader=$(linuxloader)
# prelink!
${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -amR -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
if [ "$BUILD_REPRODUCIBLE_BINARIES" = "1" ]; then
bbnote " prelink: BUILD_REPRODUCIBLE_BINARIES..."
if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
export PRELINK_TIMESTAMP=`git log -1 --pretty=%ct `
else
export PRELINK_TIMESTAMP=$REPRODUCIBLE_TIMESTAMP_ROOTFS
fi
${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -am -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
else
${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -amR -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
fi
# Remove the prelink.conf if we had to add it.
if [ "$dummy_prelink_conf" = "true" ]; then

View File

@@ -117,7 +117,7 @@ def rootfs_variables(d):
'IMAGE_ROOTFS_MAXSIZE','IMAGE_NAME','IMAGE_LINK_NAME','IMAGE_MANIFEST','DEPLOY_DIR_IMAGE','IMAGE_FSTYPES','IMAGE_INSTALL_COMPLEMENTARY','IMAGE_LINGUAS',
'MULTILIBRE_ALLOW_REP','MULTILIB_TEMP_ROOTFS','MULTILIB_VARIANTS','MULTILIBS','ALL_MULTILIB_PACKAGE_ARCHS','MULTILIB_GLOBAL_VARIANTS','BAD_RECOMMENDATIONS','NO_RECOMMENDATIONS',
'PACKAGE_ARCHS','PACKAGE_CLASSES','TARGET_VENDOR','TARGET_ARCH','TARGET_OS','OVERRIDES','BBEXTENDVARIANT','FEED_DEPLOYDIR_BASE_URI','INTERCEPT_DIR','USE_DEVFS',
'CONVERSIONTYPES', 'IMAGE_GEN_DEBUGFS', 'ROOTFS_RO_UNNEEDED', 'IMGDEPLOYDIR', 'PACKAGE_EXCLUDE_COMPLEMENTARY']
'CONVERSIONTYPES', 'IMAGE_GEN_DEBUGFS', 'ROOTFS_RO_UNNEEDED', 'IMGDEPLOYDIR', 'PACKAGE_EXCLUDE_COMPLEMENTARY', 'REPRODUCIBLE_TIMESTAMP_ROOTFS']
variables.extend(rootfs_command_variables(d))
variables.extend(variable_depends(d))
return " ".join(variables)
@@ -171,10 +171,6 @@ python () {
d.setVar('IMAGE_FEATURES', ' '.join(sorted(list(remain_features))))
check_image_features(d)
initramfs_image = d.getVar('INITRAMFS_IMAGE') or ""
if initramfs_image != "":
d.appendVarFlag('do_build', 'depends', " %s:do_bundle_initramfs" % d.getVar('PN'))
d.appendVarFlag('do_bundle_initramfs', 'depends', " %s:do_image_complete" % initramfs_image)
}
IMAGE_CLASSES += "image_types"
@@ -254,6 +250,7 @@ fakeroot python do_rootfs () {
progress_reporter.next_stage()
# generate rootfs
d.setVarFlag('REPRODUCIBLE_TIMESTAMP_ROOTFS', 'export', '1')
create_rootfs(d, progress_reporter=progress_reporter, logcatcher=logcatcher)
progress_reporter.finish()
@@ -266,6 +263,7 @@ addtask rootfs after do_prepare_recipe_sysroot
fakeroot python do_image () {
from oe.utils import execute_pre_post_process
d.setVarFlag('REPRODUCIBLE_TIMESTAMP_ROOTFS', 'export', '1')
pre_process_cmds = d.getVar("IMAGE_PREPROCESS_COMMAND")
execute_pre_post_process(d, pre_process_cmds)
@@ -437,6 +435,7 @@ python () {
# date/time values. It will get expanded at execution time.
# Similarly TMPDIR since otherwise we see QA stamp comparision problems
localdata.delVar('DATETIME')
localdata.delVar('DATE')
localdata.delVar('TMPDIR')
image_cmd = localdata.getVar("IMAGE_CMD")
@@ -501,7 +500,7 @@ python () {
d.prependVarFlag(task, 'postfuncs', ' create_symlinks')
d.appendVarFlag(task, 'subimages', ' ' + ' '.join(subimages))
d.appendVarFlag(task, 'vardeps', ' ' + ' '.join(vardeps))
d.appendVarFlag(task, 'vardepsexclude', 'DATETIME')
d.appendVarFlag(task, 'vardepsexclude', 'DATETIME DATE')
bb.debug(2, "Adding task %s before %s, after %s" % (task, 'do_image_complete', after))
bb.build.addtask(task, 'do_image_complete', after, d)
@@ -610,15 +609,6 @@ do_package_write_ipk[noexec] = "1"
do_package_write_deb[noexec] = "1"
do_package_write_rpm[noexec] = "1"
# Allow the kernel to be repacked with the initramfs and boot image file as a single file
do_bundle_initramfs[depends] += "virtual/kernel:do_bundle_initramfs"
do_bundle_initramfs[nostamp] = "1"
do_bundle_initramfs[noexec] = "1"
do_bundle_initramfs () {
:
}
addtask bundle_initramfs after do_image_complete
# Prepare the root links to point to the /usr counterparts.
create_merged_usr_symlinks() {
root="$1"
@@ -650,3 +640,15 @@ create_merged_usr_symlinks_sdk() {
ROOTFS_PREPROCESS_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_rootfs; ', '',d)}"
POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_sdk; ', '',d)}"
reproducible_final_image_task () {
if [ "$BUILD_REPRODUCIBLE_BINARIES" = "1" ]; then
if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
REPRODUCIBLE_TIMESTAMP_ROOTFS=`git log -1 --pretty=%ct`
fi
# Set mtime of all files to a reproducible value
bbnote "reproducible_final_image_task: mtime set to $REPRODUCIBLE_TIMESTAMP_ROOTFS"
find ${IMAGE_ROOTFS} -exec touch -h --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS {} \;
fi
}
IMAGE_PREPROCESS_COMMAND_append = " reproducible_final_image_task; "

View File

@@ -18,11 +18,6 @@
# files under exec_prefix
# unsafe-references-in-binaries requires prelink-rtld from
# prelink-native, but we don't want this DEPENDS for -native builds
QADEPENDS = "prelink-native"
QADEPENDS_class-native = ""
QADEPENDS_class-nativesdk = ""
QA_SANE = "True"
# Elect whether a given type of error is a warning or error, they may
@@ -390,71 +385,6 @@ def package_qa_check_perm(path,name,d, elf, messages):
"""
return
QAPATHTEST[unsafe-references-in-scripts] = "package_qa_check_unsafe_references_in_scripts"
def package_qa_check_unsafe_references_in_scripts(path, name, d, elf, messages):
"""
Warn if scripts in base_[bindir|sbindir|libdir] reference files under exec_prefix
"""
if unsafe_references_skippable(path, name, d):
return
if not elf:
import stat
import subprocess
pn = d.getVar('PN')
# Ensure we're checking an executable script
statinfo = os.stat(path)
if bool(statinfo.st_mode & stat.S_IXUSR):
# grep shell scripts for possible references to /exec_prefix/
exec_prefix = d.getVar('exec_prefix')
statement = "grep -e '%s/[^ :]\{1,\}/[^ :]\{1,\}' %s > /dev/null" % (exec_prefix, path)
if subprocess.call(statement, shell=True) == 0:
error_msg = pn + ": Found a reference to %s/ in %s" % (exec_prefix, path)
package_qa_handle_error("unsafe-references-in-scripts", error_msg, d)
error_msg = "Shell scripts in base_bindir and base_sbindir should not reference anything in exec_prefix"
package_qa_handle_error("unsafe-references-in-scripts", error_msg, d)
def unsafe_references_skippable(path, name, d):
if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d):
return True
if "-dbg" in name or "-dev" in name:
return True
# Other package names to skip:
if name.startswith("kernel-module-"):
return True
# Skip symlinks
if os.path.islink(path):
return True
# Skip unusual rootfs layouts which make these tests irrelevant
exec_prefix = d.getVar('exec_prefix')
if exec_prefix == "":
return True
pkgdest = d.getVar('PKGDEST')
pkgdest = pkgdest + "/" + name
pkgdest = os.path.abspath(pkgdest)
base_bindir = pkgdest + d.getVar('base_bindir')
base_sbindir = pkgdest + d.getVar('base_sbindir')
base_libdir = pkgdest + d.getVar('base_libdir')
bindir = pkgdest + d.getVar('bindir')
sbindir = pkgdest + d.getVar('sbindir')
libdir = pkgdest + d.getVar('libdir')
if base_bindir == bindir and base_sbindir == sbindir and base_libdir == libdir:
return True
# Skip files not in base_[bindir|sbindir|libdir]
path = os.path.abspath(path)
if not (base_bindir in path or base_sbindir in path or base_libdir in path):
return True
return False
QAPATHTEST[arch] = "package_qa_check_arch"
def package_qa_check_arch(path,name,d, elf, messages):
"""
@@ -1153,8 +1083,6 @@ python do_package_qa () {
continue
if w in testmatrix and testmatrix[w] in g:
warnchecks.append(g[testmatrix[w]])
if w == 'unsafe-references-in-binaries':
oe.utils.write_ld_so_conf(d)
errorchecks = []
for e in (d.getVar("ERROR_QA") or "").split():
@@ -1162,8 +1090,6 @@ python do_package_qa () {
continue
if e in testmatrix and testmatrix[e] in g:
errorchecks.append(g[testmatrix[e]])
if e == 'unsafe-references-in-binaries':
oe.utils.write_ld_so_conf(d)
return warnchecks, errorchecks
for package in packages:

View File

@@ -120,6 +120,11 @@ python split_kernel_module_packages () {
rdepends[dep] = []
d.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False))
# let kernel modules runtime recommend kernel image
rrecommends = bb.utils.explode_dep_versions2(d.getVar('RRECOMMENDS_' + pkg) or "")
rrecommends['kernel-image'] = []
d.setVar('RRECOMMENDS_' + pkg, bb.utils.join_deps(rrecommends, commasep=False))
# Avoid automatic -dev recommendations for modules ending with -dev.
d.setVarFlag('RRECOMMENDS_' + pkg, 'nodeprrecs', 1)
@@ -138,7 +143,7 @@ python split_kernel_module_packages () {
postinst = d.getVar('pkg_postinst_modules')
postrm = d.getVar('pkg_postrm_modules')
modules = do_split_packages(d, root='${nonarch_base_libdir}/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='kernel-%s' % (d.getVar("KERNEL_VERSION")))
modules = do_split_packages(d, root='${nonarch_base_libdir}/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='')
if modules:
metapkg = d.getVar('KERNEL_MODULES_META_PACKAGE')
d.appendVar('RDEPENDS_' + metapkg, ' '+' '.join(modules))

View File

@@ -143,6 +143,9 @@ do_kernel_metadata() {
# expand kernel features into their full path equivalents
bsp_definition=$(spp ${includes} --find -DKMACHINE=${KMACHINE} -DKTYPE=${LINUX_KERNEL_TYPE})
if [ $? -ne 0 ] || [ -z "${bsp_definition}" ]; then
bbfatal_log "Could not locate BSP definiton for ${KMACHINE}/${LINUX_KERNEL_TYPE}."
fi
meta_dir=$(kgit --meta)
# run1: pull all the configuration fragments, no matter where they come from

View File

@@ -255,8 +255,36 @@ python do_devshell_prepend () {
addtask bundle_initramfs after do_install before do_deploy
get_cc_option () {
# Check if KERNEL_CC supports the option "file-prefix-map".
# This option allows us to build images with __FILE__ values that do not
# contain the host build path.
if ${KERNEL_CC} -Q --help=joined | grep -q "\-ffile-prefix-map=<old=new>"; then
echo "-ffile-prefix-map=${S}=/kernel-source/"
fi
}
kernel_do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
if [ "$BUILD_REPRODUCIBLE_BINARIES" = "1" ]; then
# kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH may not
# be set....
if [ "$SOURCE_DATE_EPOCH" = "0" ]; then
olddir=`pwd`
cd ${S}
SOURCE_DATE_EPOCH=`git log -1 --pretty=%ct`
# git repo not guaranteed, so fall back to REPRODUCIBLE_TIMESTAMP_ROOTFS
if [ $? -ne 0 ]; then
SOURCE_DATE_EPOCH=${REPRODUCIBLE_TIMESTAMP_ROOTFS}
fi
cd $olddir
fi
ts=`LC_ALL=C date -d @$SOURCE_DATE_EPOCH`
export KBUILD_BUILD_TIMESTAMP="$ts"
export KCONFIG_NOTIMESTAMP=1
bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
fi
# The $use_alternate_initrd is only set from
# do_bundle_initramfs() This variable is specifically for the
# case where we are making a second pass at the kernel
@@ -270,20 +298,22 @@ kernel_do_compile() {
copy_initramfs
use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
fi
cc_extra=$(get_cc_option)
for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
oe_runmake ${typeformake} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
oe_runmake ${typeformake} CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
done
# vmlinux.gz is not built by kernel
if (echo "${KERNEL_IMAGETYPES}" | grep -wq "vmlinux\.gz"); then
mkdir -p "${KERNEL_OUTPUT_DIR}"
gzip -9c < ${B}/vmlinux > "${KERNEL_OUTPUT_DIR}/vmlinux.gz"
gzip -9cn < ${B}/vmlinux > "${KERNEL_OUTPUT_DIR}/vmlinux.gz"
fi
}
do_compile_kernelmodules() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
oe_runmake -C ${B} ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
cc_extra=$(get_cc_option)
oe_runmake -C ${B} ${PARALLEL_MAKE} modules CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
# Module.symvers gets updated during the
# building of the kernel modules. We need to

View File

@@ -739,7 +739,7 @@ python fixup_perms () {
bbpath = d.getVar('BBPATH')
fs_perms_tables = d.getVar('FILESYSTEM_PERMS_TABLES')
if not fs_perms_tables:
fs_perms_tables = 'files/fs-perms.txt'
fs_perms_tables = 'files/fs-perms.txt' if oe.types.boolean(d.getVar('VOLATILE_LOG_DIR', True)) else 'files/fs-perms-persistent-log.txt'
for conf_file in fs_perms_tables.split():
str += " %s" % bb.utils.which(bbpath, conf_file)
return str
@@ -1453,7 +1453,7 @@ if [ x"$D" = "x" ]; then
fi
}
RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/rpmdeps --rcfile ${STAGING_LIBDIR_NATIVE}/rpm/rpmrc --macros ${STAGING_LIBDIR_NATIVE}/rpm/macros --define '_rpmconfigdir ${STAGING_LIBDIR_NATIVE}/rpm/'"
RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/rpmdeps --alldeps"
# Collect perfile run-time dependency metadata
# Output:
@@ -1470,7 +1470,6 @@ python package_do_filedeps() {
pkgdest = d.getVar('PKGDEST')
packages = d.getVar('PACKAGES')
rpmdeps = d.getVar('RPMDEPS')
magic = d.expand("${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc")
def chunks(files, n):
return [files[i:i+n] for i in range(0, len(files), n)]
@@ -1482,7 +1481,7 @@ python package_do_filedeps() {
if pkg.endswith('-dbg') or pkg.endswith('-doc') or pkg.find('-locale-') != -1 or pkg.find('-localedata-') != -1 or pkg.find('-gconv-') != -1 or pkg.find('-charmap-') != -1 or pkg.startswith('kernel-module-') or pkg.endswith('-src'):
continue
for files in chunks(pkgfiles[pkg], 100):
pkglist.append((pkg, files, rpmdeps, pkgdest, magic))
pkglist.append((pkg, files, rpmdeps, pkgdest))
processed = oe.utils.multiprocess_exec( pkglist, oe.package.filedeprunner)

View File

@@ -7,10 +7,28 @@ RPMBUILD="rpmbuild"
PKGWRITEDIRRPM = "${WORKDIR}/deploy-rpms"
# Maintaining the perfile dependencies has singificant overhead when writing the
# Maintaining the perfile dependencies has singificant overhead when writing the
# packages. When set, this value merges them for efficiency.
MERGEPERFILEDEPS = "1"
# Filter dependencies based on a provided function.
def filter_deps(var, f):
import collections
depends_dict = bb.utils.explode_dep_versions2(var)
newdeps_dict = collections.OrderedDict()
for dep in depends_dict:
if f(dep):
newdeps_dict[dep] = depends_dict[dep]
return bb.utils.join_deps(newdeps_dict, commasep=False)
# Filter out absolute paths (typically /bin/sh and /usr/bin/env) and any perl
# dependencies for nativesdk packages.
def filter_nativesdk_deps(srcname, var):
if var and srcname.startswith("nativesdk-"):
var = filter_deps(var, lambda dep: not dep.startswith('/') and dep != 'perl' and not dep.startswith('perl('))
return var
# Construct per file dependencies file
def write_rpm_perfiledata(srcname, d):
workdir = d.getVar('WORKDIR')
@@ -26,7 +44,8 @@ def write_rpm_perfiledata(srcname, d):
dependsflist = (d.getVar(dependsflist_key) or "")
for dfile in dependsflist.split():
key = "FILE" + varname + "_" + dfile + "_" + pkg
depends_dict = bb.utils.explode_dep_versions(d.getVar(key) or "")
deps = filter_nativesdk_deps(srcname, d.getVar(key) or "")
depends_dict = bb.utils.explode_dep_versions(deps)
file = dfile.replace("@underscore@", "_")
file = file.replace("@closebrace@", "]")
file = file.replace("@openbrace@", "[")
@@ -359,6 +378,8 @@ python write_specfile () {
splitrdepends = splitrdepends + " " + get_perfile('RDEPENDS', pkg, d)
splitrprovides = splitrprovides + " " + get_perfile('RPROVIDES', pkg, d)
splitrdepends = filter_nativesdk_deps(srcname, splitrdepends)
# Gather special src/first package data
if srcname == splitname:
srcrdepends = splitrdepends

View File

@@ -189,7 +189,7 @@ def package_compare_impl(pkgtype, d):
# Remove all the old files and copy again if docopy
if docopy:
bb.plain('Copying packages for recipe %s' % pn)
bb.note('Copying packages for recipe %s' % pn)
pcmanifest = os.path.join(prepath, d.expand('pkg-compare-manifest-${MULTIMACH_TARGET_SYS}-${PN}'))
try:
with open(pcmanifest, 'r') as f:
@@ -224,7 +224,7 @@ def package_compare_impl(pkgtype, d):
shutil.copyfile(srcpath, destpath)
f.write('%s\n' % destpath)
else:
bb.plain('Not copying packages for recipe %s' % pn)
bb.note('Not copying packages for recipe %s' % pn)
do_cleansstate[postfuncs] += "pfs_cleanpkgs"
python pfs_cleanpkgs () {

View File

@@ -101,6 +101,26 @@ def populate_sdk_common(d):
from oe.sdk import populate_sdk
from oe.manifest import create_manifest, Manifest
# Handle package exclusions
excl_pkgs = (d.getVar("PACKAGE_EXCLUDE") or "").split()
inst_pkgs = (d.getVar("PACKAGE_INSTALL") or "").split()
inst_attempt_pkgs = (d.getVar("PACKAGE_INSTALL_ATTEMPTONLY") or "").split()
d.setVar('PACKAGE_INSTALL_ORIG', ' '.join(inst_pkgs))
d.setVar('PACKAGE_INSTALL_ATTEMPTONLY', ' '.join(inst_attempt_pkgs))
for pkg in excl_pkgs:
if pkg in inst_pkgs:
bb.warn("Package %s, set to be excluded, is in %s PACKAGE_INSTALL (%s). It will be removed from the list." % (pkg, d.getVar('PN'), inst_pkgs))
inst_pkgs.remove(pkg)
if pkg in inst_attempt_pkgs:
bb.warn("Package %s, set to be excluded, is in %s PACKAGE_INSTALL_ATTEMPTONLY (%s). It will be removed from the list." % (pkg, d.getVar('PN'), inst_pkgs))
inst_attempt_pkgs.remove(pkg)
d.setVar("PACKAGE_INSTALL", ' '.join(inst_pkgs))
d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", ' '.join(inst_attempt_pkgs))
pn = d.getVar('PN')
runtime_mapping_rename("TOOLCHAIN_TARGET_TASK", pn, d)
runtime_mapping_rename("TOOLCHAIN_TARGET_TASK_ATTEMPTONLY", pn, d)

View File

@@ -114,7 +114,8 @@ python do_write_qemuboot_conf() {
with open(qemuboot, 'w') as f:
cf.write(f)
if os.path.lexists(qemuboot_link):
os.remove(qemuboot_link)
os.symlink(os.path.basename(qemuboot), qemuboot_link)
if qemuboot_link != qemuboot:
if os.path.lexists(qemuboot_link):
os.remove(qemuboot_link)
os.symlink(os.path.basename(qemuboot), qemuboot_link)
}

View File

@@ -29,6 +29,13 @@ python errorreport_handler () {
import json
import codecs
def nativelsb():
nativelsbstr = e.data.getVar("NATIVELSBSTRING")
# provide a bit more host info in case of uninative build
if e.data.getVar('UNINATIVE_URL') != 'unset':
return '/'.join([nativelsbstr, lsb_distro_identifier(e.data)])
return nativelsbstr
logpath = e.data.getVar('ERR_REPORT_DIR')
datafile = os.path.join(logpath, "error-report.txt")
@@ -38,7 +45,7 @@ python errorreport_handler () {
machine = e.data.getVar("MACHINE")
data['machine'] = machine
data['build_sys'] = e.data.getVar("BUILD_SYS")
data['nativelsb'] = e.data.getVar("NATIVELSBSTRING")
data['nativelsb'] = nativelsb()
data['distro'] = e.data.getVar("DISTRO")
data['target_sys'] = e.data.getVar("TARGET_SYS")
data['failures'] = []

View File

@@ -62,7 +62,7 @@ do_rm_work () {
break
;;
*do_image_complete*)
mv $i `echo $i | sed -e "s#${j}#${j}_setscene#"`
mv $i `echo $i | sed -e "s#do_image_complete#do_image_complete_setscene#"`
i=dummy
break
;;

View File

@@ -158,7 +158,10 @@ ssh_allow_empty_password () {
fi
if [ -d ${IMAGE_ROOTFS}${sysconfdir}/pam.d ] ; then
sed -i 's/nullok_secure/nullok/' ${IMAGE_ROOTFS}${sysconfdir}/pam.d/*
for f in `find ${IMAGE_ROOTFS}${sysconfdir}/pam.d/* -type f -exec test -e {} \; -print`
do
sed -i 's/nullok_secure/nullok/' $f
done
fi
}
@@ -300,7 +303,8 @@ python write_image_test_data() {
searchString = "%s/"%(d.getVar("TOPDIR")).replace("//","/")
export2json(d, testdata,searchString=searchString,replaceString="")
if os.path.lexists(testdata_link):
os.remove(testdata_link)
os.symlink(os.path.basename(testdata), testdata_link)
if testdata_link != testdata:
if os.path.lexists(testdata_link):
os.remove(testdata_link)
os.symlink(os.path.basename(testdata), testdata_link)
}

View File

@@ -28,6 +28,9 @@ PACKAGE_FEED_SIGN = '1'
PACKAGE_FEED_GPG_BACKEND ?= 'local'
PACKAGE_FEED_GPG_SIGNATURE_TYPE ?= 'ASC'
# Make feed signing key to be present in rootfs
FEATURE_PACKAGES_package-management_append = " signing-keys-packagefeed"
python () {
# Check sanity of configuration
for var in ('PACKAGE_FEED_GPG_NAME', 'PACKAGE_FEED_GPG_PASSPHRASE_FILE'):

View File

@@ -19,9 +19,12 @@
# GPG_BIN
# Optional variable for specifying the gpg binary/wrapper to use for
# signing.
# RPM_GPG_SIGN_CHUNK
# Optional variable indicating the number of packages used per gpg
# invocation
# GPG_PATH
# Optional variable for specifying the gnupg "home" directory:
#
inherit sanity
RPM_SIGN_PACKAGES='1'
@@ -29,6 +32,7 @@ RPM_SIGN_FILES ?= '0'
RPM_GPG_BACKEND ?= 'local'
# SHA-256 is used by default
RPM_FILE_CHECKSUM_DIGEST ?= '8'
RPM_GPG_SIGN_CHUNK ?= "${BB_NUMBER_THREADS}"
python () {
@@ -56,6 +60,7 @@ python sign_rpm () {
d.getVar('RPM_GPG_NAME'),
d.getVar('RPM_GPG_PASSPHRASE'),
d.getVar('RPM_FILE_CHECKSUM_DIGEST'),
int(d.getVar('RPM_GPG_SIGN_CHUNK')),
d.getVar('RPM_FSK_PATH'),
d.getVar('RPM_FSK_PASSWORD'))
}

View File

@@ -177,6 +177,7 @@ def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d):
def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d):
import glob
import subprocess
import errno
fixme = []
postinsts = []

View File

@@ -7,8 +7,8 @@
# Most of the tests are commands run on target image over ssh.
# To use it add testimage to global inherit and call your target image with -c testimage
# You can try it out like this:
# - first build a qemu core-image-sato
# - add IMAGE_CLASSES += "testimage" in local.conf
# - first add IMAGE_CLASSES += "testimage" in local.conf
# - build a qemu core-image-sato
# - then bitbake core-image-sato -c testimage. That will run a standard suite of tests.
# You can set (or append to) TEST_SUITES in local.conf to select the tests

View File

@@ -85,6 +85,10 @@ USRBINPATH_class-nativesdk = "/usr/bin"
# Root home directory
ROOT_HOME ??= "/home/root"
# If set to boolean true ('yes', 'y', 'true', 't', '1'), /var/log links to /var/volatile/log.
# If set to boolean false ('no', 'n', 'false', 'f', '0'), /var/log is on persistent storage.
VOLATILE_LOG_DIR ?= "yes"
##################################################################
# Architecture-dependent build variables.
##################################################################
@@ -850,7 +854,7 @@ BB_HASHCONFIG_WHITELIST ?= "${BB_HASHBASE_WHITELIST} DATE TIME SSH_AGENT_PID \
PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED \
GIT_PROXY_COMMAND ALL_PROXY all_proxy NO_PROXY no_proxy FTP_PROXY ftp_proxy \
HTTP_PROXY http_proxy HTTPS_PROXY https_proxy SOCKS5_USER SOCKS5_PASSWD \
BB_SETSCENE_ENFORCE BB_CMDLINE"
BB_SETSCENE_ENFORCE BB_CMDLINE BB_SERVER_TIMEOUT"
BB_SIGNATURE_EXCLUDE_FLAGS ?= "doc deps depends \
lockfiles type vardepsexclude vardeps vardepvalue vardepvalueexclude \
file-checksums python func task export unexport noexec nostamp dirs cleandirs \

View File

@@ -1,3 +1,8 @@
### Shell environment set up for builds. ###
You can now run 'bitbake <target>'
Common targets are:
core-image-minimal
core-image-sato

View File

@@ -2,3 +2,6 @@
# Default preferred versions
#
PREFERRED_VERSION_openssl = "1.0.%"
PREFERRED_VERSION_openssl-native = "1.0.%"
PREFERRED_VERSION_nativesdk-openssl = "1.0.%"

View File

@@ -25,6 +25,9 @@ DISABLE_STATIC_pn-openjade-native = ""
DISABLE_STATIC_pn-openssl = ""
DISABLE_STATIC_pn-openssl-native = ""
DISABLE_STATIC_pn-nativesdk-openssl = ""
DISABLE_STATIC_pn-openssl10 = ""
DISABLE_STATIC_pn-openssl10-native = ""
DISABLE_STATIC_pn-nativesdk-openssl10 = ""
# libssp-static-dev included in build-appliance
DISABLE_STATIC_pn-gcc-runtime = ""
# libusb1-native is used to build static dfu-util-native

View File

@@ -24,10 +24,10 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
GCCVERSION ?= "7.%"
SDKGCCVERSION ?= "${GCCVERSION}"
BINUVERSION ?= "2.28%"
BINUVERSION ?= "2.29%"
GDBVERSION ?= "8.0%"
GLIBCVERSION ?= "2.25%"
LINUXLIBCVERSION ?= "4.10%"
GLIBCVERSION ?= "2.26%"
LINUXLIBCVERSION ?= "4.12%"
PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"

View File

@@ -1,5 +1,4 @@
SDK_ARCH = "i586"
SDK_CC_ARCH = "-march=i586"
ABIEXTENSION_class-nativesdk = ""
SDK_OLDEST_KERNEL = "2.6.32"

View File

@@ -1,4 +1,3 @@
SDK_ARCH = "i686"
SDK_CC_ARCH = "-march=i686"
ABIEXTENSION_class-nativesdk = ""
SDK_OLDEST_KERNEL = "2.6.32"

View File

@@ -1,3 +1,2 @@
SDK_ARCH = "x86_64"
ABIEXTENSION_class-nativesdk = ""
SDK_OLDEST_KERNEL = "2.6.32"

View File

@@ -4,5 +4,5 @@ QB_MEM = "-m 256"
QB_MACHINE = "-machine malta"
QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
QB_OPT_APPEND = "-vga cirrus -show-cursor -usb -usbdevice tablet -device virtio-rng-pci"
QB_OPT_APPEND = "-vga cirrus -show-cursor -usb -device usb-tablet -device virtio-rng-pci"
QB_SYSTEM_NAME = "qemu-system-${TUNE_ARCH}"

View File

@@ -12,7 +12,7 @@ QB_AUDIO_DRV = "alsa"
QB_AUDIO_OPT = "-soundhw ac97,es1370"
QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE} oprofile.timer=1 uvesafb.task_timeout=-1"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
QB_OPT_APPEND = "-vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci"
QB_OPT_APPEND = "-vga vmware -show-cursor -usb -device usb-tablet -device virtio-rng-pci"
KERNEL_MODULE_AUTOLOAD += "uvesafb"
KERNEL_MODULE_PROBECONF += "uvesafb"

View File

@@ -10,7 +10,8 @@ MACHINE_FEATURES += "screen keyboard pci usbhost ext2 ext3 x86 \
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
IMAGE_FSTYPES ?= "hddimg"
IMAGE_FSTYPES ?= "live"
NOISO ?= "1"
KERNEL_IMAGETYPE ?= "bzImage"
@@ -20,7 +21,7 @@ SERIAL_CONSOLE ?= "115200 ttyS0"
# kernel-related variables
#
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
PREFERRED_VERSION_linux-yocto ??= "4.10%"
PREFERRED_VERSION_linux-yocto ??= "4.12%"
#
# XSERVER subcomponents, used to build the XSERVER variable

View File

@@ -15,6 +15,6 @@ QB_SYSTEM_NAME = "qemu-system-arm"
QB_MACHINE = "-machine versatilepb"
QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
QB_OPT_APPEND = "-show-cursor -usb -usbdevice tablet -device virtio-rng-pci"
PREFERRED_VERSION_linux-yocto ??= "4.10%"
QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet -device virtio-rng-pci"
PREFERRED_VERSION_linux-yocto ??= "4.12%"
QB_DTB = "${@base_version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"

View File

@@ -17,5 +17,5 @@ QB_MACHINE = "-machine mac99"
QB_CPU = "-cpu G4"
QB_KERNEL_CMDLINE_APPEND = "console=tty console=ttyS0"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
QB_OPT_APPEND = "-show-cursor -usb -usbdevice tablet -device virtio-rng-pci"
QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet -device virtio-rng-pci"
QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"

View File

@@ -25,7 +25,7 @@ XSERVER = "xserver-xorg \
xserver-xorg-module-libint10 \
"
MACHINE_FEATURES += "x86"
MACHINE_FEATURES += "x86 pci"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"

View File

@@ -24,7 +24,7 @@ XSERVER = "xserver-xorg \
xserver-xorg-module-libint10 \
"
MACHINE_FEATURES += "x86"
MACHINE_FEATURES += "x86 pci"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"

View File

@@ -0,0 +1,10 @@
Copyright (c) 2011, 2012, 2013, 2014, 2015, 2016, 2017
pkgconf authors (see AUTHORS file in source directory).
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
This software is provided 'as is' and without any warranty, express or
implied. In no event shall the authors be liable for any damages arising
from the use of this software.

View File

@@ -0,0 +1,66 @@
# This file contains a list of files and directories with known permissions.
# It is used by the packaging class to ensure that the permissions, owners and
# group of listed files and directories are in sync across the system.
#
# The format of this file
#
#<path> <mode> <uid> <gid> <walk> <fmode> <fuid> <fgid>
#
# or
#
#<path> link <target>
#
# <path>: directory path
# <mode>: mode for directory
# <uid>: uid for directory
# <gid>: gid for directory
# <walk>: recursively walk the directory? true or false
# <fmode>: if walking, new mode for files
# <fuid>: if walking, new uid for files
# <fgid>: if walking, new gid for files
# <target>: turn the directory into a symlink point to target
#
# in mode, uid or gid, a "-" means don't change any existing values
#
# /usr/src 0755 root root false - - -
# /usr/share/man 0755 root root true 0644 root root
# Note: all standard config directories are automatically assigned "0755 root root false - - -"
# Documentation should always be corrected
${mandir} 0755 root root true 0644 root root
${infodir} 0755 root root true 0644 root root
${docdir} 0755 root root true 0644 root root
${datadir}/gtk-doc 0755 root root true 0644 root root
# Fixup locales
${datadir}/locale 0755 root root true 0644 root root
# Cleanup headers
${includedir} 0755 root root true 0644 root root
${oldincludedir} 0755 root root true 0644 root root
# Cleanup debug src
/usr/src/debug 0755 root root true - root root
# Items from base-files
# Links
${localstatedir}/run link /run
${localstatedir}/lock link /run/lock
${localstatedir}/tmp link volatile/tmp
/home 0755 root root false - - -
/srv 0755 root root false - - -
${prefix}/src 0755 root root false - - -
${localstatedir}/local 0755 root root false - - -
# Special permissions from base-files
# Set 1777
/tmp 01777 root root false - - -
${localstatedir}/volatile/tmp 01777 root root false - - -
# Set 0700
${ROOT_HOME} 0700 root root false - - -
# Set 2775-lsb
${localstatedir}/mail 02775 root mail false - - -

View File

@@ -0,0 +1,66 @@
import logging
import os
import sys
import shutil
import bb.utils
from bblayers.common import LayerPlugin
logger = logging.getLogger('bitbake-layers')
def plugin_init(plugins):
return CreatePlugin()
def read_template(template, template_dir='templates'):
lines = str()
with open(os.path.join(os.path.dirname(__file__), template_dir, template)) as fd:
lines = ''.join(fd.readlines())
return lines
class CreatePlugin(LayerPlugin):
def do_create_layer(self, args):
"""Create a basic layer"""
layerdir = os.path.abspath(args.layerdir)
if os.path.exists(layerdir):
sys.stderr.write("Specified layer directory exists\n")
return 1
# create dirs
conf = os.path.join(layerdir, 'conf')
bb.utils.mkdirhier(conf)
# Create the README from templates/README
readme_template = read_template('README') % (args.layerdir, args.layerdir, args.layerdir, args.layerdir, args.layerdir, args.layerdir)
readme = os.path.join(layerdir, 'README')
with open(readme, 'w') as fd:
fd.write(readme_template)
# Copy the MIT license from meta
copying = 'COPYING.MIT'
dn = os.path.dirname
license_src = os.path.join(dn(dn(dn(__file__))), copying)
license_dst = os.path.join(layerdir, copying)
shutil.copy(license_src, license_dst)
# Create the layer.conf from templates/layer.conf
layerconf_template = read_template('layer.conf') % (args.layerdir, args.layerdir, args.layerdir, args.priority)
layerconf = os.path.join(conf, 'layer.conf')
with open(layerconf, 'w') as fd:
fd.write(layerconf_template)
# Create the example from templates/example.bb
example_template = read_template('example.bb')
example = os.path.join(layerdir, 'recipes-' + args.examplerecipe, args.examplerecipe)
bb.utils.mkdirhier(example)
with open(os.path.join(example, args.examplerecipe + '.bb'), 'w') as fd:
fd.write(example_template)
logger.plain('Add your new layer with \'bitbake-layers add-layer %s\'' % args.layerdir)
def register_commands(self, sp):
parser_create_layer = self.add_command(sp, 'create-layer', self.do_create_layer, parserecipes=False)
parser_create_layer.add_argument('layerdir', help='Layer directory to create')
parser_create_layer.add_argument('--priority', '-p', default=6, help='Layer directory to create')
parser_create_layer.add_argument('--example-recipe-name', '-e', dest='examplerecipe', default='example', help='Filename of the example recipe')

View File

@@ -0,0 +1,41 @@
This README file contains information on the contents of the %s layer.
Please see the corresponding sections below for details.
Dependencies
============
URI: <first dependency>
branch: <branch name>
URI: <second dependency>
branch: <branch name>
.
.
.
Patches
=======
Please submit any patches against the %s layer to the xxxx mailing list (xxxx@zzzz.org)
and cc: the maintainer:
Maintainer: XXX YYYYYY <xxx.yyyyyy@zzzzz.com>
Table of Contents
=================
I. Adding the %s layer to your build
II. Misc
I. Adding the %s layer to your build
=================================================
Run 'bitbake-layers add-layer %s'
II. Misc
========
--- replace with specific information about the %s layer ---

View File

@@ -0,0 +1,11 @@
SUMMARY = "bitbake-layers recipe"
DESCRIPTION = "Recipe created by bitbake-layers"
LICENSE = "MIT"
python do_build() {
bb.plain("***********************************************");
bb.plain("* *");
bb.plain("* Example recipe created by bitbake-layers *");
bb.plain("* *");
bb.plain("***********************************************");
}

View File

@@ -0,0 +1,10 @@
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \\
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "%s"
BBFILE_PATTERN_%s = "^${LAYERDIR}/"
BBFILE_PRIORITY_%s = "%s"

View File

@@ -32,6 +32,10 @@ class BuildSystem(object):
corebase = os.path.abspath(self.d.getVar('COREBASE'))
layers.append(corebase)
# The bitbake build system uses the meta-skeleton layer as a layout
# for common recipies, e.g: the recipetool script to create kernel recipies
# Add the meta-skeleton layer to be included as part of the eSDK installation
layers.append(os.path.join(corebase, 'meta-skeleton'))
# Exclude layers
for layer_exclude in self.layers_exclude:
@@ -71,6 +75,11 @@ class BuildSystem(object):
layerdestpath = destdir
if corebase == os.path.dirname(layer):
layerdestpath += '/' + os.path.basename(corebase)
else:
layer_relative = os.path.basename(corebase) + '/' + os.path.relpath(layer, corebase)
if os.path.dirname(layer_relative) != layernewname:
layerdestpath += '/' + os.path.dirname(layer_relative)
layerdestpath += '/' + layernewname
layer_relative = os.path.relpath(layerdestpath,
@@ -123,6 +132,14 @@ class BuildSystem(object):
line = line.replace('workspacelayer', workspace_newname)
f.write(line)
# meta-skeleton layer is added as part of the build system
# but not as a layer included in the build, therefore it is
# not reported to the function caller.
for layer in layers_copied:
if layer.endswith('/meta-skeleton'):
layers_copied.remove(layer)
break
return layers_copied
def generate_locked_sigs(sigfile, d):

View File

@@ -27,7 +27,7 @@ class LocalSigner(object):
raise bb.build.FuncFailed('Failed to export gpg public key (%s): %s' %
(keyid, output))
def sign_rpms(self, files, keyid, passphrase, digest, fsk=None, fsk_password=None):
def sign_rpms(self, files, keyid, passphrase, digest, sign_chunk, fsk=None, fsk_password=None):
"""Sign RPM files"""
cmd = self.rpm_bin + " --addsign --define '_gpg_name %s' " % keyid
@@ -45,9 +45,9 @@ class LocalSigner(object):
if fsk_password:
cmd += "--define '_file_signing_key_password %s' " % fsk_password
# Sign in chunks of 100 packages
for i in range(0, len(files), 100):
status, output = oe.utils.getstatusoutput(cmd + ' '.join(files[i:i+100]))
# Sign in chunks
for i in range(0, len(files), sign_chunk):
status, output = oe.utils.getstatusoutput(cmd + ' '.join(files[i:i+sign_chunk]))
if status:
raise bb.build.FuncFailed("Failed to sign RPM packages: %s" % output)

View File

@@ -162,44 +162,68 @@ def file_translate(file):
def filedeprunner(arg):
import re, subprocess, shlex
(pkg, pkgfiles, rpmdeps, pkgdest, magic) = arg
(pkg, pkgfiles, rpmdeps, pkgdest) = arg
provides = {}
requires = {}
r = re.compile(r'[<>=]+ +[^ ]*')
file_re = re.compile(r'\s+\d+\s(.*)')
dep_re = re.compile(r'\s+(\S)\s+(.*)')
r = re.compile(r'[<>=]+\s+\S*')
def process_deps(pipe, pkg, pkgdest, provides, requires):
file = None
for line in pipe:
f = line.decode("utf-8").split(" ", 1)[0].strip()
line = line.decode("utf-8").split(" ", 1)[1].strip()
line = line.decode("utf-8")
if line.startswith("Requires:"):
m = file_re.match(line)
if m:
file = m.group(1)
file = file.replace(pkgdest + "/" + pkg, "")
file = file_translate(file)
continue
m = dep_re.match(line)
if not m or not file:
continue
type, dep = m.groups()
if type == 'R':
i = requires
elif line.startswith("Provides:"):
elif type == 'P':
i = provides
else:
continue
if dep.startswith("python("):
continue
file = f.replace(pkgdest + "/" + pkg, "")
file = file_translate(file)
value = line.split(":", 1)[1].strip()
value = r.sub(r'(\g<0>)', value)
# Ignore all perl(VMS::...) and perl(Mac::...) dependencies. These
# are typically used conditionally from the Perl code, but are
# generated as unconditional dependencies.
if dep.startswith('perl(VMS::') or dep.startswith('perl(Mac::'):
continue
if value.startswith("rpmlib("):
continue
if value == "python":
# Ignore perl dependencies on .pl files.
if dep.startswith('perl(') and dep.endswith('.pl)'):
continue
# Remove perl versions and perl module versions since they typically
# do not make sense when used as package versions.
if dep.startswith('perl') and r.search(dep):
dep = dep.split()[0]
# Put parentheses around any version specifications.
dep = r.sub(r'(\g<0>)',dep)
if file not in i:
i[file] = []
i[file].append(value)
i[file].append(dep)
return provides, requires
env = os.environ.copy()
env["MAGIC"] = magic
try:
dep_popen = subprocess.Popen(shlex.split(rpmdeps) + pkgfiles, stdout=subprocess.PIPE, env=env)
dep_popen = subprocess.Popen(shlex.split(rpmdeps) + pkgfiles, stdout=subprocess.PIPE)
provides, requires = process_deps(dep_popen.stdout, pkg, pkgdest, provides, requires)
except OSError as e:
bb.error("rpmdeps: '%s' command failed, '%s'" % (shlex.split(rpmdeps) + pkgfiles, e))

View File

@@ -104,13 +104,25 @@ class Indexer(object, metaclass=ABCMeta):
class RpmIndexer(Indexer):
def write_index(self):
if self.d.getVar('PACKAGE_FEED_SIGN') == '1':
raise NotImplementedError('Package feed signing not yet implementd for rpm')
signer = get_signer(self.d, self.d.getVar('PACKAGE_FEED_GPG_BACKEND'))
else:
signer = None
createrepo_c = bb.utils.which(os.environ['PATH'], "createrepo_c")
result = create_index("%s --update -q %s" % (createrepo_c, self.deploy_dir))
if result:
bb.fatal(result)
# Sign repomd
if signer:
sig_type = self.d.getVar('PACKAGE_FEED_GPG_SIGNATURE_TYPE')
is_ascii_sig = (sig_type.upper() != "BIN")
signer.detach_sign(os.path.join(self.deploy_dir, 'repodata', 'repomd.xml'),
self.d.getVar('PACKAGE_FEED_GPG_NAME'),
self.d.getVar('PACKAGE_FEED_GPG_PASSPHRASE_FILE'),
armor=is_ascii_sig)
class OpkgIndexer(Indexer):
def write_index(self):
arch_vars = ["ALL_MULTILIB_PACKAGE_ARCHS",
@@ -547,6 +559,12 @@ class RpmPM(PackageManager):
if feed_uris == "":
return
if self.d.getVar('PACKAGE_FEED_SIGN') == '1':
gpg_opts = 'repo_gpgcheck=1\n'
gpg_opts += 'gpgkey=file://%s/pki/packagefeed-gpg/PACKAGEFEED-GPG-KEY-%s\n' % (self.d.getVar('sysconfdir'), self.d.getVar('DISTRO_VERSION'))
else:
gpg_opts = ''
bb.utils.mkdirhier(oe.path.join(self.target_rootfs, "etc", "yum.repos.d"))
remote_uris = self.construct_uris(feed_uris.split(), feed_base_paths.split())
for uri in remote_uris:
@@ -557,12 +575,12 @@ class RpmPM(PackageManager):
repo_id = "oe-remote-repo" + "-".join(urlparse(repo_uri).path.split("/"))
repo_name = "OE Remote Repo:" + " ".join(urlparse(repo_uri).path.split("/"))
open(oe.path.join(self.target_rootfs, "etc", "yum.repos.d", repo_base + ".repo"), 'a').write(
"[%s]\nname=%s\nbaseurl=%s\n\n" % (repo_id, repo_name, repo_uri))
"[%s]\nname=%s\nbaseurl=%s\n%s\n" % (repo_id, repo_name, repo_uri, gpg_opts))
else:
repo_name = "OE Remote Repo:" + " ".join(urlparse(uri).path.split("/"))
repo_uri = uri
open(oe.path.join(self.target_rootfs, "etc", "yum.repos.d", repo_base + ".repo"), 'w').write(
"[%s]\nname=%s\nbaseurl=%s\n" % (repo_base, repo_name, repo_uri))
"[%s]\nname=%s\nbaseurl=%s\n%s" % (repo_base, repo_name, repo_uri, gpg_opts))
def _prepare_pkg_transaction(self):
os.environ['D'] = self.target_rootfs
@@ -585,7 +603,7 @@ class RpmPM(PackageManager):
output = self._invoke_dnf((["--skip-broken"] if attempt_only else []) +
(["-x", ",".join(exclude_pkgs)] if len(exclude_pkgs) > 0 else []) +
(["--setopt=install_weak_deps=False"] if self.d.getVar('NO_RECOMMENDATIONS') == 1 else []) +
(["--setopt=install_weak_deps=False"] if self.d.getVar('NO_RECOMMENDATIONS') == "1" else []) +
(["--nogpgcheck"] if self.d.getVar('RPM_SIGN_PACKAGES') != '1' else ["--setopt=gpgcheck=True"]) +
["install"] +
pkgs)

View File

@@ -98,7 +98,7 @@ def copyhardlinktree(src, dst):
if (os.stat(src).st_dev == os.stat(dst).st_dev):
# Need to copy directories only with tar first since cp will error if two
# writers try and create a directory at the same time
cmd = "cd %s; find . -type d -print | tar --xattrs --xattrs-include='*' -cf - -C %s -p --no-recursion --files-from - | tar --xattrs --xattrs-include='*' -xf - -C %s" % (src, src, dst)
cmd = "cd %s; find . -type d -print | tar --xattrs --xattrs-include='*' -cf - -C %s -p --no-recursion --files-from - | tar --xattrs --xattrs-include='*' -xhf - -C %s" % (src, src, dst)
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
source = ''
if os.path.isdir(src):

View File

@@ -62,28 +62,7 @@ class Gnome(XTerminal):
# Once fixed on the gnome-terminal project, this should be removed.
if os.getenv('LC_ALL'): os.putenv('LC_ALL','')
# We need to know when the command completes but gnome-terminal gives us no way
# to do this. We therefore write the pid to a file using a "phonehome" wrapper
# script, then monitor the pid until it exits. Thanks gnome!
import tempfile
pidfile = tempfile.NamedTemporaryFile(delete = False).name
try:
sh_cmd = "oe-gnome-terminal-phonehome " + pidfile + " " + sh_cmd
XTerminal.__init__(self, sh_cmd, title, env, d)
while os.stat(pidfile).st_size <= 0:
continue
with open(pidfile, "r") as f:
pid = int(f.readline())
finally:
os.unlink(pidfile)
import time
while True:
try:
os.kill(pid, 0)
time.sleep(0.1)
except OSError:
return
XTerminal.__init__(self, sh_cmd, title, env, d)
class Mate(XTerminal):
command = 'mate-terminal -t "{title}" -x {command}'
@@ -237,12 +216,35 @@ def spawn(name, sh_cmd, title=None, env=None, d=None):
except KeyError:
raise UnsupportedTerminal(name)
pipe = terminal(sh_cmd, title, env, d)
output = pipe.communicate()[0]
if output:
output = output.decode("utf-8")
if pipe.returncode != 0:
raise ExecutionError(sh_cmd, pipe.returncode, output)
# We need to know when the command completes but some terminals (at least
# gnome and tmux) gives us no way to do this. We therefore write the pid
# to a file using a "phonehome" wrapper script, then monitor the pid
# until it exits.
import tempfile
pidfile = tempfile.NamedTemporaryFile(delete = False).name
try:
sh_cmd = "oe-gnome-terminal-phonehome " + pidfile + " " + sh_cmd
pipe = terminal(sh_cmd, title, env, d)
output = pipe.communicate()[0]
if output:
output = output.decode("utf-8")
if pipe.returncode != 0:
raise ExecutionError(sh_cmd, pipe.returncode, output)
while os.stat(pidfile).st_size <= 0:
continue
with open(pidfile, "r") as f:
pid = int(f.readline())
finally:
os.unlink(pidfile)
import time
while True:
try:
os.kill(pid, 0)
time.sleep(0.1)
except OSError:
return
def check_tmux_pane_size(tmux):
import subprocess as sub

View File

@@ -41,6 +41,14 @@ class OETestContext(object):
return modules
def skipTests(self, skips):
if not skips:
return
for test in self.suites:
for skip in skips:
if test.id().startswith(skip):
setattr(test, 'setUp', lambda: test.skipTest('Skip by the command line argument "%s"' % skip))
def loadTests(self, module_paths, modules=[], tests=[],
modules_manifest="", modules_required=[], filters={}):
if modules_manifest:
@@ -50,9 +58,12 @@ class OETestContext(object):
modules_required, filters)
self.suites = self.loader.discover()
def runTests(self):
def runTests(self, skips=[]):
self.runner = self.runnerClass(self, descriptions=False, verbosity=2)
# Dinamically skip those tests specified though arguments
self.skipTests(skips)
self._run_start_time = time.time()
result = self.runner.run(self.suites)
self._run_end_time = time.time()
@@ -128,7 +139,8 @@ class OETestContextExecutor(object):
self.tc_kwargs = {}
self.tc_kwargs['init'] = {}
self.tc_kwargs['load'] = {}
self.tc_kwargs['run'] = {}
self.tc_kwargs['list'] = {}
self.tc_kwargs['run'] = {}
self.tc_kwargs['init']['logger'] = self._setup_logger(logger, args)
if args.test_data_file:
@@ -143,6 +155,8 @@ class OETestContextExecutor(object):
else:
self.tc_kwargs['load']['modules'] = []
self.tc_kwargs['run']['skips'] = []
self.module_paths = args.CASES_PATHS
def _pre_run(self):
@@ -159,7 +173,7 @@ class OETestContextExecutor(object):
sys.exit(1)
if args.list_tests:
rc = self.tc.listTests(args.list_tests, **self.tc_kwargs['run'])
rc = self.tc.listTests(args.list_tests, **self.tc_kwargs['list'])
else:
self._pre_run()
rc = self.tc.runTests(**self.tc_kwargs['run'])

View File

@@ -211,7 +211,7 @@ def SSHCall(command, logger, timeout=None, **opts):
process.stdout.close()
eof = True
else:
data = data.decode("utf-8")
data = data.decode("utf-8", errors='replace')
output += data
logger.debug('Partial data from SSH call: %s' % data)
endtime = time.time() + timeout
@@ -233,7 +233,7 @@ def SSHCall(command, logger, timeout=None, **opts):
output += lastline
else:
output = process.communicate()[0].decode("utf-8")
output = process.communicate()[0].decode("utf-8", errors='replace')
logger.debug('Data from SSH call: %s' % output.rstrip())
options = {

View File

@@ -1,103 +0,0 @@
import os
import shutil
import subprocess
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotDataVar, skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
from oeqa.runtime.cases.dnf import DnfTest
from oeqa.utils.logparser import *
from oeqa.utils.httpserver import HTTPService
class PtestRunnerTest(DnfTest):
@classmethod
def setUpClass(cls):
rpm_deploy = os.path.join(cls.tc.td['DEPLOY_DIR'], 'rpm')
cls.repo_server = HTTPService(rpm_deploy, cls.tc.target.server_ip)
cls.repo_server.start()
@classmethod
def tearDownClass(cls):
cls.repo_server.stop()
# a ptest log parser
def parse_ptest(self, logfile):
parser = Lparser(test_0_pass_regex="^PASS:(.+)",
test_0_fail_regex="^FAIL:(.+)",
section_0_begin_regex="^BEGIN: .*/(.+)/ptest",
section_0_end_regex="^END: .*/(.+)/ptest")
parser.init()
result = Result()
with open(logfile, errors='replace') as f:
for line in f:
result_tuple = parser.parse_line(line)
if not result_tuple:
continue
result_tuple = line_type, category, status, name = parser.parse_line(line)
if line_type == 'section' and status == 'begin':
current_section = name
continue
if line_type == 'section' and status == 'end':
current_section = None
continue
if line_type == 'test' and status == 'pass':
result.store(current_section, name, status)
continue
if line_type == 'test' and status == 'fail':
result.store(current_section, name, status)
continue
result.sort_tests()
return result
def _install_ptest_packages(self):
# Get ptest packages that can be installed in the image.
packages_dir = os.path.join(self.tc.td['DEPLOY_DIR'], 'rpm')
ptest_pkgs = [pkg[:pkg.find('-ptest')+6]
for _, _, filenames in os.walk(packages_dir)
for pkg in filenames
if 'ptest' in pkg
and pkg[:pkg.find('-ptest')] in self.tc.image_packages]
repo_url = 'http://%s:%s' % (self.target.server_ip,
self.repo_server.port)
dnf_options = ('--repofrompath=oe-ptest-repo,%s '
'--nogpgcheck '
'install -y' % repo_url)
self.dnf('%s %s ptest-runner' % (dnf_options, ' '.join(ptest_pkgs)))
@skipIfNotFeature('package-management',
'Test requires package-management to be in DISTRO_FEATURES')
@skipIfNotFeature('ptest',
'Test requires package-management to be in DISTRO_FEATURES')
@skipIfNotDataVar('IMAGE_PKGTYPE', 'rpm',
'RPM is not the primary package manager')
@OEHasPackage(['dnf'])
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_ptestrunner(self):
self.ptest_log = os.path.join(self.tc.td['TEST_LOG_DIR'],
'ptest-%s.log' % self.tc.td['DATETIME'])
self._install_ptest_packages()
(runnerstatus, result) = self.target.run('/usr/bin/ptest-runner > /tmp/ptest.log 2>&1', 0)
#exit code is !=0 even if ptest-runner executes because some ptest tests fail.
self.assertTrue(runnerstatus != 127, msg="Cannot execute ptest-runner!")
self.target.copyFrom('/tmp/ptest.log', self.ptest_log)
shutil.copyfile(self.ptest_log, "ptest.log")
result = self.parse_ptest("ptest.log")
log_results_to_location = "./results"
if os.path.exists(log_results_to_location):
shutil.rmtree(log_results_to_location)
os.makedirs(log_results_to_location)
result.log_as_files(log_results_to_location, test_status = ['pass','fail'])

View File

@@ -86,9 +86,11 @@ ignore_errors = {
'qemumips' : [
'Failed to load module "glx"',
'pci 0000:00:00.0: [Firmware Bug]: reg 0x..: invalid BAR (can\'t size)',
'cacheinfo: Failed to find cpu0 device node',
] + common_errors,
'qemumips64' : [
'pci 0000:00:00.0: [Firmware Bug]: reg 0x..: invalid BAR (can\'t size)',
'cacheinfo: Failed to find cpu0 device node',
] + common_errors,
'qemuppc' : [
'PCI 0000:00 Cannot reserve Legacy IO [io 0x0000-0x0fff]',

View File

@@ -0,0 +1,82 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.utils.logparser import Lparser, Result
class PtestRunnerTest(OERuntimeTestCase):
# a ptest log parser
def parse_ptest(self, logfile):
parser = Lparser(test_0_pass_regex="^PASS:(.+)",
test_0_fail_regex="^FAIL:(.+)",
test_0_skip_regex="^SKIP:(.+)",
section_0_begin_regex="^BEGIN: .*/(.+)/ptest",
section_0_end_regex="^END: .*/(.+)/ptest")
parser.init()
result = Result()
with open(logfile, errors='replace') as f:
for line in f:
result_tuple = parser.parse_line(line)
if not result_tuple:
continue
result_tuple = line_type, category, status, name = parser.parse_line(line)
if line_type == 'section' and status == 'begin':
current_section = name
continue
if line_type == 'section' and status == 'end':
current_section = None
continue
if line_type == 'test' and status == 'pass':
result.store(current_section, name, status)
continue
if line_type == 'test' and status == 'fail':
result.store(current_section, name, status)
continue
if line_type == 'test' and status == 'skip':
result.store(current_section, name, status)
continue
result.sort_tests()
return result
@OETestID(1600)
@skipIfNotFeature('ptest', 'Test requires ptest to be in DISTRO_FEATURES')
@skipIfNotFeature('ptest-pkgs', 'Test requires ptest-pkgs to be in IMAGE_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_ptestrunner(self):
import datetime
test_log_dir = self.td.get('TEST_LOG_DIR', '')
# The TEST_LOG_DIR maybe NULL when testimage is added after
# testdata.json is generated.
if not test_log_dir:
test_log_dir = os.path.join(self.td.get('WORKDIR', ''), 'testimage')
# Don't use self.td.get('DATETIME'), it's from testdata.json, not
# up-to-date, and may cause "File exists" when re-reun.
datetime = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
ptest_log_dir_link = os.path.join(test_log_dir, 'ptest_log')
ptest_log_dir = '%s.%s' % (ptest_log_dir_link, datetime)
ptest_runner_log = os.path.join(ptest_log_dir, 'ptest-runner.log')
status, output = self.target.run('ptest-runner', 0)
os.makedirs(ptest_log_dir)
with open(ptest_runner_log, 'w') as f:
f.write(output)
# status != 0 is OK since some ptest tests may fail
self.assertTrue(status != 127, msg="Cannot execute ptest-runner!")
# Parse and save results
parse_result = self.parse_ptest(ptest_runner_log)
parse_result.log_as_files(ptest_log_dir, test_status = ['pass','fail', 'skip'])
if os.path.exists(ptest_log_dir_link):
# Remove the old link to create a new one
os.remove(ptest_log_dir_link)
os.symlink(os.path.basename(ptest_log_dir), ptest_log_dir_link)

View File

@@ -96,24 +96,6 @@ class SanityOptionsTest(OESelftestTestCase):
line = self.getline(res, "QA Issue: xcursor-transparent-theme-dbg is listed in PACKAGES multiple times, this leads to packaging errors.")
self.assertTrue(line and line.startswith("WARNING:"), msg=res.output)
@OETestID(278)
def test_sanity_unsafe_script_references(self):
self.write_config('WARN_QA_append = " unsafe-references-in-scripts"')
self.add_command_to_tearDown('bitbake -c clean gzip')
res = bitbake("gzip -f -c package_qa")
line = self.getline(res, "QA Issue: gzip")
self.assertFalse(line, "WARNING: QA Issue: gzip message is present in bitbake's output and shouldn't be: %s" % res.output)
self.append_config("""
do_install_append_pn-gzip () {
echo "\n${bindir}/test" >> ${D}${bindir}/zcat
}
""")
res = bitbake("gzip -f -c package_qa")
line = self.getline(res, "QA Issue: gzip")
self.assertTrue(line and line.startswith("WARNING:"), "WARNING: QA Issue: gzip message is not present in bitbake's output: %s" % res.output)
@OETestID(1421)
def test_layer_without_git_dir(self):
"""

View File

@@ -8,7 +8,6 @@ class Distrodata(OESelftestTestCase):
@classmethod
def setUpClass(cls):
super(Distrodata, cls).setUpClass()
cls.exceptions_path = os.path.join(cls.testlayer_path, 'files', 'distrodata', "checkpkg_exceptions")
def test_checkpkg(self):
"""
@@ -23,21 +22,19 @@ class Distrodata(OESelftestTestCase):
self.write_config(feature)
bitbake('-c checkpkg world')
checkpkg_result = open(os.path.join(get_bb_var("LOG_DIR"), "checkpkg.csv")).readlines()[1:]
exceptions = [exc.strip() for exc in open(self.exceptions_path).readlines()]
failed_upstream_checks = [pkg_data[0] for pkg_data in [pkg_line.split('\t') for pkg_line in checkpkg_result] if pkg_data[11] == '']
regressed_failures = set(failed_upstream_checks) - set(exceptions)
regressed_successes = set(exceptions) - set(failed_upstream_checks)
regressed_failures = [pkg_data[0] for pkg_data in [pkg_line.split('\t') for pkg_line in checkpkg_result] if pkg_data[11] == 'UNKNOWN_BROKEN']
regressed_successes = [pkg_data[0] for pkg_data in [pkg_line.split('\t') for pkg_line in checkpkg_result] if pkg_data[11] == 'KNOWN_BROKEN']
msg = ""
if len(regressed_failures) > 0:
msg = msg + """
The following packages failed upstream version checks. Please fix them using UPSTREAM_CHECK_URI/UPSTREAM_CHECK_REGEX
(when using tarballs) or UPSTREAM_CHECK_GITTAGREGEX (when using git). If an upstream version check cannot be performed
(for example, if upstream does not use git tags), you can add the package to list of exceptions in
meta-selftest/files/distrodata/checkpkg_exceptions.
(for example, if upstream does not use git tags), you can set UPSTREAM_VERSION_UNKNOWN to '1' in the recipe to acknowledge
that the check cannot be performed.
""" + "\n".join(regressed_failures)
if len(regressed_successes) > 0:
msg = msg + """
The following packages have been checked successfully for upstream versions (or they no longer exist in oe-core),
but are in the exceptions list in meta-selftest/files/distrodata/checkpkg_exceptions. Please remove them from that list.
The following packages have been checked successfully for upstream versions,
but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please remove that line from the recipes.
""" + "\n".join(regressed_successes)
self.assertTrue(len(regressed_failures) == 0 and len(regressed_successes) == 0, msg)

View File

@@ -62,7 +62,7 @@ SYSLINUX_TIMEOUT = "10"
cmd = "%s %s iso" % (self.cmd_common, self.machine)
with runqemu(self.recipe, ssh=False, launch_cmd=cmd) as qemu:
with open(qemu.qemurunnerlog) as f:
self.assertTrue(' -cdrom ' in f.read(), "Failed: %s" % cmd)
self.assertTrue('media=cdrom' in f.read(), "Failed: %s" % cmd)
@OETestID(2004)
def test_boot_recipe_image(self):

View File

@@ -3,6 +3,7 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqem
from oeqa.core.decorator.oeid import OETestID
import os
import re
import tempfile
class TestExport(OESelftestTestCase):
@@ -138,12 +139,21 @@ class TestImage(OESelftestTestCase):
self.skipTest('core-image-full-cmdline not buildable for poky-tiny')
features = 'INHERIT += "testimage"\n'
features += 'TEST_SUITES = "ping ssh dnf-runtime"\n'
features += 'TEST_SUITES = "ping ssh dnf_runtime dnf.DnfBasicTest.test_dnf_help"\n'
# We don't yet know what the server ip and port will be - they will be patched
# in at the start of the on-image test
features += 'PACKAGE_FEED_URIS = "http://bogus_ip:bogus_port"\n'
features += 'EXTRA_IMAGE_FEATURES += "package-management"\n'
features += 'PACKAGE_CLASSES = "package_rpm"'
features += 'PACKAGE_CLASSES = "package_rpm"\n'
# Enable package feed signing
self.gpg_home = tempfile.TemporaryDirectory(prefix="oeqa-feed-sign-")
signing_key_dir = os.path.join(self.testlayer_path, 'files', 'signing')
runCmd('gpg --batch --homedir %s --import %s' % (self.gpg_home.name, os.path.join(signing_key_dir, 'key.secret')))
features += 'INHERIT += "sign_package_feed"\n'
features += 'PACKAGE_FEED_GPG_NAME = "testuser"\n'
features += 'PACKAGE_FEED_GPG_PASSPHRASE_FILE = "%s"\n' % os.path.join(signing_key_dir, 'key.passphrase')
features += 'GPG_PATH = "%s"\n' % self.gpg_home.name
self.write_config(features)
# Build core-image-sato and testimage
@@ -223,37 +233,31 @@ postinst-delayed-t \
fileboot_name = "this-was-created-at-first-boot"
rootfs_pkg = 'postinst-at-rootfs'
boot_pkg = 'postinst-delayed-a'
#Step 1
common_features = 'MACHINE = "qemux86"\n'
common_features += 'CORE_IMAGE_EXTRA_INSTALL += "%s %s "\n'% (rootfs_pkg, boot_pkg)
common_features += 'IMAGE_FEATURES += "ssh-server-openssh"\n'
for init_manager in ("sysvinit", "systemd"):
#for sysvinit no extra configuration is needed,
features = ''
if (init_manager is "systemd"):
features += 'DISTRO_FEATURES_append = " systemd"\n'
features += 'VIRTUAL-RUNTIME_init_manager = "systemd"\n'
features += 'DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"\n'
features += 'VIRTUAL-RUNTIME_initscripts = ""\n'
for classes in ("package_rpm package_deb package_ipk",
"package_deb package_rpm package_ipk",
"package_ipk package_deb package_rpm"):
features += 'PACKAGE_CLASSES = "%s"\n' % classes
self.write_config(common_features + features)
for classes in ("package_rpm", "package_deb", "package_ipk"):
with self.subTest(init_manager=init_manager, package_class=classes):
features = 'MACHINE = "qemux86"\n'
features += 'CORE_IMAGE_EXTRA_INSTALL += "%s %s "\n'% (rootfs_pkg, boot_pkg)
features += 'IMAGE_FEATURES += "ssh-server-openssh"\n'
features += 'PACKAGE_CLASSES = "%s"\n' % classes
if init_manager == "systemd":
features += 'DISTRO_FEATURES_append = " systemd"\n'
features += 'VIRTUAL-RUNTIME_init_manager = "systemd"\n'
features += 'DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"\n'
features += 'VIRTUAL-RUNTIME_initscripts = ""\n'
self.write_config(features)
#Step 2
bitbake('core-image-minimal')
bitbake('core-image-minimal')
#Step 3
file_rootfs_created = os.path.join(get_bb_var('IMAGE_ROOTFS',"core-image-minimal"),
file_rootfs_name)
found = os.path.isfile(file_rootfs_created)
self.assertTrue(found, "File %s was not created at rootfs time by %s" % \
(file_rootfs_name, rootfs_pkg))
file_rootfs_created = os.path.join(get_bb_var('IMAGE_ROOTFS', "core-image-minimal"),
file_rootfs_name)
found = os.path.isfile(file_rootfs_created)
self.assertTrue(found, "File %s was not created at rootfs time by %s" % \
(file_rootfs_name, rootfs_pkg))
#Step 4
testcommand = 'ls /etc/'+fileboot_name
with runqemu('core-image-minimal') as qemu:
sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand))
self.assertEqual(result.status, 0, 'File %s was not created at firts boot'% fileboot_name)
testcommand = 'ls /etc/' + fileboot_name
with runqemu('core-image-minimal') as qemu:
sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand))
self.assertEqual(result.status, 0, 'File %s was not created at firts boot'% fileboot_name)

View File

@@ -8,6 +8,8 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer
from oeqa.selftest.cases.sstate import SStateBase
from oeqa.core.decorator.oeid import OETestID
import bb.siggen
class SStateTests(SStateBase):
# Test sstate files creation and their location
@@ -456,6 +458,24 @@ http_proxy = "http://example.com/"
base = os.sep.join(root.rsplit(os.sep, 2)[-2:] + [name])
f[base] = shash
return f
def compare_sigfiles(files, files1, files2, compare=False):
for k in files:
if k in files1 and k in files2:
print("%s differs:" % k)
if compare:
sigdatafile1 = self.topdir + "/tmp-sstatesamehash/stamps/" + k + "." + files1[k]
sigdatafile2 = self.topdir + "/tmp-sstatesamehash2/stamps/" + k + "." + files2[k]
output = bb.siggen.compare_sigfiles(sigdatafile1, sigdatafile2)
if output:
print('\n'.join(output))
elif k in files1 and k not in files2:
print("%s in files1" % k)
elif k not in files1 and k in files2:
print("%s in files2" % k)
else:
assert "shouldn't reach here"
files1 = get_files(self.topdir + "/tmp-sstatesamehash/stamps/")
files2 = get_files(self.topdir + "/tmp-sstatesamehash2/stamps/")
# Remove items that are identical in both sets
@@ -466,16 +486,11 @@ http_proxy = "http://example.com/"
# No changes, so we're done
return
for k in files1.keys() | files2.keys():
if k in files1 and k in files2:
print("%s differs:" % k)
print(subprocess.check_output(("bitbake-diffsigs",
self.topdir + "/tmp-sstatesamehash/stamps/" + k + "." + files1[k],
self.topdir + "/tmp-sstatesamehash2/stamps/" + k + "." + files2[k])))
elif k in files1 and k not in files2:
print("%s in files1" % k)
elif k not in files1 and k in files2:
print("%s in files2" % k)
else:
assert "shouldn't reach here"
files = list(files1.keys() | files2.keys())
# this is an expensive computation, thus just compare the first 'max_sigfiles_to_compare' k files
max_sigfiles_to_compare = 20
first, rest = files[:max_sigfiles_to_compare], files[max_sigfiles_to_compare:]
compare_sigfiles(first, files1.keys(), files2.keys(), compare=True)
compare_sigfiles(rest, files1.keys(), files2.keys(), compare=False)
self.fail("sstate hashes not identical.")

View File

@@ -1,6 +1,7 @@
import os
import re
import time
import logging
import bb.tinfoil
from oeqa.selftest.case import OESelftestTestCase
@@ -127,6 +128,8 @@ class TinfoilTests(OESelftestTestCase):
self.assertEqual(pattern, event._pattern)
self.assertIn('qemuarm.conf', event._matches)
eventreceived = True
elif isinstance(event, logging.LogRecord):
continue
else:
self.fail('Unexpected event: %s' % event)

View File

@@ -25,14 +25,14 @@ class OESelftestTestContext(OETestContext):
self.custommachine = None
self.config_paths = config_paths
def runTests(self, machine=None):
def runTests(self, machine=None, skips=[]):
if machine:
self.custommachine = machine
if machine == 'random':
self.custommachine = choice(self.machines)
self.logger.info('Run tests with custom MACHINE set to: %s' % \
self.custommachine)
return super(OESelftestTestContext, self).runTests()
return super(OESelftestTestContext, self).runTests(skips)
def listTests(self, display_type, machine=None):
return super(OESelftestTestContext, self).listTests(display_type)
@@ -51,6 +51,9 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
group.add_argument('-a', '--run-all-tests', default=False,
action="store_true", dest="run_all_tests",
help='Run all (unhidden) tests')
group.add_argument('-R', '--skip-tests', required=False, action='store',
nargs='+', dest="skips", default=None,
help='Run all (unhidden) tests except the ones specified. Format should be <module>[.<class>[.<test_method>]]')
group.add_argument('-r', '--run-tests', required=False, action='store',
nargs='+', dest="run_tests", default=None,
help='Select what tests to run (modules, classes or test methods). Format should be: <module>.<class>.<test_method>')
@@ -133,6 +136,8 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
copyfile(self.tc_kwargs['init']['config_paths']['bblayers'],
self.tc_kwargs['init']['config_paths']['bblayers_backup'])
self.tc_kwargs['run']['skips'] = args.skips
def _pre_run(self):
def _check_required_env_variables(vars):
for var in vars:
@@ -203,7 +208,7 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
sys.exit(1)
if args.list_tests:
rc = self.tc.listTests(args.list_tests, **self.tc_kwargs['run'])
rc = self.tc.listTests(args.list_tests, **self.tc_kwargs['list'])
else:
self._pre_run()
rc = self.tc.runTests(**self.tc_kwargs['run'])

View File

@@ -9,7 +9,7 @@ from . import ftools
# A parser that can be used to identify weather a line is a test result or a section statement.
class Lparser(object):
def __init__(self, test_0_pass_regex, test_0_fail_regex, section_0_begin_regex=None, section_0_end_regex=None, **kwargs):
def __init__(self, test_0_pass_regex, test_0_fail_regex, test_0_skip_regex, section_0_begin_regex=None, section_0_end_regex=None, **kwargs):
# Initialize the arguments dictionary
if kwargs:
self.args = kwargs
@@ -19,12 +19,13 @@ class Lparser(object):
# Add the default args to the dictionary
self.args['test_0_pass_regex'] = test_0_pass_regex
self.args['test_0_fail_regex'] = test_0_fail_regex
self.args['test_0_skip_regex'] = test_0_skip_regex
if section_0_begin_regex:
self.args['section_0_begin_regex'] = section_0_begin_regex
if section_0_end_regex:
self.args['section_0_end_regex'] = section_0_end_regex
self.test_possible_status = ['pass', 'fail', 'error']
self.test_possible_status = ['pass', 'fail', 'error', 'skip']
self.section_possible_status = ['begin', 'end']
self.initialized = False
@@ -108,7 +109,7 @@ class Result(object):
prefix = ''
for x in test_status:
prefix +=x+'.'
if (section != ''):
if section:
prefix += section
section_file = os.path.join(target_dir, prefix)
# purge the file contents if it exists

View File

@@ -0,0 +1,39 @@
* e.g. with gentoo gcc-7.1 they define _FORTIFY_SOURCE by default with:
https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/gcc/7.1.0/gentoo/10_all_default-fortify-source.patch?view=markup
which results in following error while building grub-efi-native:
./config-util.h:1504:48: error: this use of "defined" may not be portable [-Werror=expansion-to-defined]
|| (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
^~~~~~~~~~~~~~~
this part comes from gnulib and it's used only for Apple and BSD,
so we can ignore it, but we cannot add -Wno-error=expansion-to-defined
because this warning was introduced only in gcc-7 and older gcc
will fail with:
cc1: error: -Werror=expansion-to-defined: no option -Wexpansion-to-defined
use #pragma to work around this
Upstream-Status: Pending (should be fixed in gnulib which is then rarely updated in grub)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
diff -uNr grub-2.02.old/m4/extern-inline.m4 grub-2.02/m4/extern-inline.m4
--- grub-2.02.old/m4/extern-inline.m4 2016-02-28 15:22:21.000000000 +0100
+++ grub-2.02/m4/extern-inline.m4 2017-08-22 19:26:45.213637276 +0200
@@ -39,6 +39,10 @@
OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
for clang but remains for g++; see <http://trac.macports.org/ticket/41033>.
Assume DragonFly and FreeBSD will be similar. */
+#pragma GCC diagnostic push
+#if __GNUC__ >= 7
+#pragma GCC diagnostic ignored "-Wexpansion-to-defined"
+#endif
#if (((defined __APPLE__ && defined __MACH__) \
|| defined __DragonFly__ || defined __FreeBSD__) \
&& (defined __header_inline \
@@ -50,6 +52,7 @@
&& defined __GNUC__ && ! defined __cplusplus))))
# define _GL_EXTERN_INLINE_STDHEADER_BUG
#endif
+#pragma GCC diagnostic pop
#if ((__GNUC__ \
? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
: (199901L <= __STDC_VERSION__ \

View File

@@ -17,6 +17,7 @@ SRC_URI = "https://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
file://autogen.sh-exclude-pc.patch \
file://grub-module-explicitly-keeps-symbole-.module_license.patch \
file://0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch \
file://fix.build.with.gcc-7.patch \
"
SRC_URI[md5sum] = "1116d1f60c840e6dbd67abbc99acb45d"
SRC_URI[sha256sum] = "660ee136fbcee08858516ed4de2ad87068bfe1b6b8b37896ce3529ff054a726d"

View File

@@ -1,40 +0,0 @@
From a3482c91642cf568b3ac27fa6c0cb3c6b30669b7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 19:32:14 -0800
Subject: [PATCH 07/19] use lnr wrapper instead of looking for --relative
option for ln
Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile.am | 2 +-
configure.ac | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)
Index: git/Makefile.am
===================================================================
--- git.orig/Makefile.am
+++ git/Makefile.am
@@ -320,7 +320,7 @@ define install-relative-aliases
while [ -n "$$1" ]; do \
$(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \
rm -f $(DESTDIR)$$dir/$$2 && \
- $(LN_S) --relative $(DESTDIR)$$1 $(DESTDIR)$$dir/$$2 && \
+ lnr $(DESTDIR)$$1 $(DESTDIR)$$dir/$$2 && \
shift 2 || exit $$?; \
done
endef
Index: git/configure.ac
===================================================================
--- git.orig/configure.ac
+++ git/configure.ac
@@ -110,8 +110,6 @@ AC_PATH_PROG([SULOGIN], [sulogin], [/usr
AC_PATH_PROG([MOUNT_PATH], [mount], [/usr/bin/mount], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin])
-AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])])
-
M4_DEFINES=
AC_CHECK_TOOL(OBJCOPY, objcopy)

View File

@@ -0,0 +1,28 @@
Nios II for MAX10 10m50 board requires update to
its device tree to enable CPU driver during
u-boot pre-relocation. This patch tag the CPU
with dm-pre-reloc flag.
Upstream-Status: Submitted
Signed-off-by: Gan, Yau Wai <yau.wai.gan@intel.com>
---
arch/nios2/dts/10m50_devboard.dts | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/nios2/dts/10m50_devboard.dts b/arch/nios2/dts/10m50_devboard.dts
index 05eac30..461ae68 100644
--- a/arch/nios2/dts/10m50_devboard.dts
+++ b/arch/nios2/dts/10m50_devboard.dts
@@ -19,6 +19,7 @@
#size-cells = <0>;
cpu: cpu@0 {
+ u-boot,dm-pre-reloc;
device_type = "cpu";
compatible = "altr,nios2-1.1";
reg = <0x00000000>;
--
2.7.4

View File

@@ -11,6 +11,7 @@ SRCREV = "d85ca029f257b53a96da6c2fb421e78a003a9943"
SRC_URI = "git://git.denx.de/u-boot.git \
file://MPC8315ERDB-enable-DHCP.patch \
file://10m50-update-device-tree.patch \
"
S = "${WORKDIR}/git"

View File

@@ -9,14 +9,14 @@ DEPENDS = "virtual/kernel"
RRECOMMENDS_${PN} = "kernel-module-uvesafb"
PR = "r2"
SRC_URI = "http://distfiles.gentoo.org/distfiles/${BP}.tar.bz2 \
SRC_URI = "${DEBIAN_MIRROR}/main/v/${BPN}/${BPN}_${PV}.orig.tar.gz \
file://Update-x86emu-from-X.org.patch \
file://ar-from-env.patch \
file://aarch64-host.patch \
"
SRC_URI[md5sum] = "51c792ba7b874ad8c43f0d3da4cfabe0"
SRC_URI[sha256sum] = "634964ae18ef68c8493add2ce150e3b4502badeb0d9194b4bd81241d25e6735c"
SRC_URI[md5sum] = "889686ec8424468fe0d205742e77a4c2"
SRC_URI[sha256sum] = "93575c82e4307d8c4c370ec6b767f5cf87e527b2378146d652a6d8e25d5bdbc5"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_HOST = '(i.86|x86_64).*-linux'

Some files were not shown because too many files have changed in this diff Show More