u-boot mainline supports menuconfig, this patch enables menuconfig for
u-boot using cml1.
u-boot recipe in OE-core handles multi configuration of u-boot using
UBOOT_CONFIG. Since we cannot determine on which u-boot config the
menuconfig should run, the patch limits when UBOOT_CONFIG is not
defined.
Liu Haitao [Thu, 3 Jan 2019 05:48:38 +0000 (13:48 +0800)]
iw: fix parsing of WEP keys
The current iw4.14 has a fatal bug that could casue a Segmentation fault
when parsing WEP keys. The issue has been fixed by upstream.
[https://git.kernel.org/pub/scm/linux/kernel/git/jberg/iw.git/commit/?id=0e39f109c4b8155697a12ef090b59cdb304c8c44]
Khem Raj [Thu, 3 Jan 2019 07:40:42 +0000 (23:40 -0800)]
arch-armv4.inc, arch-armv5.inc: Do not tie generating thumb ISA to -march
-march=armv5't'e means that CPU can execute thumb ISA, we do not need to
tie this to exclusively generating thumb ISA, this change means that
when we have thumb in tune features then it can use 't' in -march
options irrespective of ISA being thumb or arm.
This fixes derivative of armv5 tunes and paves way for gcc9 where e.g.
armv5e is dropped and minimum arch supported is armv5te
Joshua Watt [Wed, 19 Dec 2018 03:10:30 +0000 (21:10 -0600)]
bitbake: runqueue: Pass unique hash to hash validate
If the unique hash is being used to track task dependencies, the hash
validation function needs to know about it in order to properly validate
the hash.
Joshua Watt [Wed, 19 Dec 2018 03:10:27 +0000 (21:10 -0600)]
bitbake: siggen: Split out task unique hash
Abstracts the function to get the unique hash for a task. This hash is
used as in place of the taskhash for the purpose of determine how other
tasks depend on this one. Unless overridden, the taskhash is the same as
the unique hash, preserving the original behavior.
mark asselstine [Thu, 20 Dec 2018 15:34:54 +0000 (10:34 -0500)]
man-pages: use alternatives to resolve crypt.3 conflict
To fix:
Error: Transaction check error:
file /usr/share/man/man3/crypt.3 conflicts between attempted installs
of libcrypt-doc-4.4.1-r0.core2_64 and man-pages-4.16-r0.core2_64
This issue came about after commit 59be9254df9f [libxcrypt: Upgrade to
4.4.1 release].
Armin Kuster [Wed, 2 Jan 2019 16:36:13 +0000 (08:36 -0800)]
nss: update to 3.41
Bug fix only update.
Bug 1252891 - Implemented EKU handling for IPsec IKE.
Bug 1423043 - Enable half-closed states for TLS.
Bug 1493215 - Enabled the following ciphersuites by default:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_256_GCM_SHA384
Bug 1412829, Reject empty supported_signature_algorithms in Certificate Request in TLS 1.2
Bug 1485864 - Cache side-channel variant of the Bleichenbacher attack (CVE-2018-12404)
Bug 1481271 - Resend the same ticket in ClientHello after HelloRetryRequest
Bug 1493769 - Set session_id for external resumption tokens
Bug 1507179 - Reject CCS after handshake is complete in TLS 1.3
Michael Ho [Thu, 29 Nov 2018 12:21:36 +0000 (14:21 +0200)]
sstate: add support for caching shared workdir tasks
The sstate bbclass uses workdir as a hardcoded string in path
manipulations. This means that the sstate caching mechanism does
not work for the work-shared directory which the kernel uses to
share its build configuration and source files for out of tree
kernel modules.
This commit modifies the path manipulation mechanism to use the
work-shared directory if detected in the paths when handling the
sstate cache packages.
When an indirect multiconfig dependency exists, such as:
A depends on B, B has a multiconfig dependency to C,and our build
target is A, the multiconfig dependency to C is not processed on
time, hence no providers are added for it, causing an exception in
the runqueue because the dependency does exist in it.
Call add_unresolved() for all available multiconfigs before processing
providers for multiconfig dependencies, detecting mcdepends on time so
providers for them can be added correctly.
bitbake: bitbake-diffsigs: Support recursive deps with signature files
Follow dependent hash changes recursively also when specifying two
signature files explicitly. Previously this was only done when using the
--task option.
bitbake: bitbake-diffsigs: Merge with bitbake-dumpsig
The functionalities of bitbake-diffsigs and bitbake-dumpsig are so
similar that they can be merged into one. Add an option --dump to make
bitbake-diffsigs dump the last signature data instead of comparing it.
Keep bitbake-dumpsig as a symbolic link to bitbake-diffsigs. When it is
called as bitbake-dumpsig, it behaves as if --dump was specified.
Also make -D the short option for --debug again (the way it used to be,
and still was for bitbake-dumpsig), so that -d can be used as the short
option for --dump.
Richard Purdie [Wed, 5 Dec 2018 17:31:32 +0000 (17:31 +0000)]
nativesdk-*-provides-dummy: Fixes to allow correct operation with opkg
opkg needs the replaces/conflicts/provides in order for this package
to function as intended. When enabled, this code caused failures for
core-image-sato -c populate_sdk.
The reason is that nativesdk-autoconf has several perl dependencies. We
need to list more of the things which this package provides/conflicts
with in order for it to function correctly. Therefore add the missing
entries.
AnÃbal Limón [Wed, 2 Jan 2019 16:08:13 +0000 (10:08 -0600)]
meta/classes/testimage.bbclass: Only validate IMAGE_FSTYPES when is QEMU
When use simpleremote target the flash/boot process is executed
manually, the IMAGE_FSTYPES validation is only needed when execute
testimage against qemu.
The supported_fstypes comes from oeqa.core.target.qemu module.
2018h:
Briefly:
Qyzylorda, Kazakhstan moved from +06 to +05 on 2018-12-21.
New zone Asia/Qostanay because Qostanay, Kazakhstan didn't move.
Metlakatla, Alaska observes PST this winter only.
Guess Morocco will continue to adjust clocks around Ramadan.
Add predictions for Iran from 2038 through 2090.
Changes to future timestamps
Guess that Morocco will continue to fall back just before and
spring forward just after Ramadan, the practice since 2012.
(Thanks to Maamar Abdelkader.) This means Morocco will observe
negative DST during Ramadan in main and vanguard formats, and in
rearguard format it stays in the +00 timezone and observes
ordinary DST in all months other than Ramadan. As before, extend
this guesswork to the year 2037. As a consequence, Morocco is
scheduled to observe three DST transitions in some Gregorian years
(e.g., 2033) due to the mismatch between the Gregorian and Islamic
calendars.
The table of exact transitions for Iranian DST has been extended.
It formerly cut off before the year 2038 in a nod to 32-bit time_t.
It now cuts off before 2091 as there is doubt about how the Persian
calendar will treat 2091. This change predicts DST transitions in
2038-9, 2042-3, and 2046-7 to occur one day later than previously
predicted. As before, post-cutoff transitions are approximated.
Changes to past and future timestamps
Qyzylorda (aka Kyzylorda) oblast in Kazakhstan moved from +06 to
+05 on 2018-12-21. This is a zone split as Qostanay (aka
Kostanay) did not switch, so create a zone Asia/Qostanay.
Metlakatla moved from Alaska to Pacific standard time on 2018-11-04.
It did not change clocks that day and remains on -08 this winter.
(Thanks to Ryan Stanley.) It will revert to the usual Alaska
rules next spring, so this change affects only timestamps
from 2018-11-04 through 2019-03-10.
Change to past timestamps
Kwajalein's 1993-08-20 transition from -12 to +12 was at 24:00,
not 00:00. I transcribed the time incorrectly from Shanks.
(Thanks to Phake Nick.)
Nauru's 1979 transition was on 02-10 at 02:00, not 05-01 at 00:00.
(Thanks to Phake Nick.)
Guam observed DST irregularly from 1959 through 1977.
(Thanks to Phake Nick.)
Hong Kong observed DST in 1941 starting 06-15 (not 04-01), then on
10-01 changed standard time to +08:30 (not +08). Its transition
back to +08 after WWII was on 1945-09-15, not the previous day.
Its 1904-10-30 change took effect at 01:00 +08 (not 00:00 LMT).
(Thanks to Phake Nick, Steve Allen, and Joseph Myers.) Also,
its 1952 fallback was on 11-02 (not 10-25).
This release contains many changes to timestamps before 1946 due
to Japanese possession or occupation of Pacific/Chuuk,
Pacific/Guam, Pacific/Kosrae, Pacific/Kwajalein, Pacific/Majuro,
Pacific/Nauru, Pacific/Palau, and Pacific/Pohnpei.
(Thanks to Phake Nick.)
Assume that the Spanish East Indies was like the Philippines and
observed American time until the end of 1844. This affects
Pacific/Chuuk, Pacific/Kosrae, Pacific/Palau, and Pacific/Pohnpei.
Changes to past tm_isdst flags
For the recent Morocco change, the tm_isdst flag should be 1 from
2018-10-27 00:00 to 2018-10-28 03:00. (Thanks to Michael Deckers.)
Give a URL to the official decree. (Thanks to Matt Johnson.)
Robert Yang [Fri, 28 Dec 2018 09:01:47 +0000 (01:01 -0800)]
valgrind: Fix a race issue for libcoregrind.a
The libnolto_coregrind_a_OBJECTS is in libcoregrind_a_LIBADD, so the objects
should be ready before generate libcoregrind.a, otherwise there would be
failures:
i586-poky-linux-ar: libnolto_coregrind_x86_linux_a-m_libcsetjmp.o: No such file or directory
make[3]: *** [libcoregrind-x86-linux.a] Error 1
Add libnolto_coregrind_a_OBJECTS to EXTRA_libcoregrind_DEPENDENCIES to fix the
problem.
Martin Jansa [Mon, 31 Dec 2018 09:58:35 +0000 (09:58 +0000)]
sstate.bbclass: catch ValueError from incorrectly written sstate manifests
* in some rare cases the file format might be broken, e.g. when you run
out of disk space while writing to it (hint: make sure to use
BB_DISKMON_DIRS on _all_ the builds, to make sure that they can stop
gracefully before this happens).
* will show error like this:
ERROR: Invalid line '/OE/build/luneos-thud/webos-ports' in sstate manifest '/OE/build/luneos-thud/webos-ports/tmp-glibc/sstate-control/index-allarch'
when the file isn't complete, like in my case:
$ tail -n 2 /OE/build/luneos-thud/webos-ports/tmp-glibc/sstate-control/index-allarch
/OE/build/luneos-thud/webos-ports/tmp-glibc/stamps/all-webos-linux/org.webosports.app.calculator/0.1.1+gitrAUTOINC+9e9eb67c28-r0 /OE/build/luneos-thud/webos-ports/tmp-glibc/sstate-control/manifest-allarch-org.webosports.app.calculator /OE/build/luneos-thud/webos-ports/tmp-glibc/work/all-webos-linux/org.webosports.app.calculator/0.1.1+gitrAUTOINC+9e9eb67c28-r0
/OE/build/luneos-thud/webos-ports
* instead of much longer exception which doesn't really show what's
wrong to selectively fix that (other than removing while TMPDIR):
ERROR: Command execution failed: Traceback (most recent call last):
File "/OE/build/luneos-thud/webos-ports/bitbake/lib/bb/command.py", line 113, in runAsyncCommand
self.cooker.updateCache()
File "/OE/build/luneos-thud/webos-ports/bitbake/lib/bb/cooker.py", line 1562, in updateCache
bb.event.fire(event, self.databuilder.mcdata[mc])
File "/OE/build/luneos-thud/webos-ports/bitbake/lib/bb/event.py", line 225, in fire
fire_class_handlers(event, d)
File "/OE/build/luneos-thud/webos-ports/bitbake/lib/bb/event.py", line 134, in fire_class_handlers
execute_handler(name, handler, event, d)
File "/OE/build/luneos-thud/webos-ports/bitbake/lib/bb/event.py", line 106, in execute_handler
ret = handler(event)
File "/OE/build/luneos-thud/webos-ports/openembedded-core/meta/classes/sstate.bbclass", line 1083, in sstate_eventhandler2
(stamp, manifest, workdir) = l.split()
ValueError: not enough values to unpack (expected 3, got 1)
kernel-module-split.bbclass: Fix modinfo decoding in old kernels
Before linux commit d36b691077dc59c74efec0d54ed21b86f7a2a21a, some
strings contained invalid utf-8 character which made
split_kernel_module_packages unhappy when parsing ums-isd200.ko:
Exception: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 21: invalid start byte
Khem Raj [Fri, 28 Dec 2018 20:03:49 +0000 (12:03 -0800)]
gcc: Fix riscv multilibs for OE way
In OE we do not build mutlib like gcc does it by default, this ensures
that mutlilib is virtually disabled for OE, since we hardly use same gcc
to build for multiple ABIs
This fixes cases in SDK where g++ is not able to find standard c++
include headers
Diego Rondini [Fri, 28 Dec 2018 13:55:36 +0000 (13:55 +0000)]
cups: default to unix pam module
When pam PACKAGECONFIG is enabled a cups "pam.d" configuration file is
installed. The default configuration file uses a non-existing "pam_unknown.so",
but a different existing module can be selected by passing the
--with-pam-module parameter. Use the unix pam module when pam is enabled.
Scott Rifenbark [Thu, 27 Dec 2018 00:07:14 +0000 (16:07 -0800)]
mega-manual: Updates to support BitBake User Manual
Fixes [YOCTO #12399]
Fixes made to have the BitBake User Manual included in the build
of the mega-manual. I placed this manual at the end of the
mega-manual. Following changes made:
* Makefile - Modified to include two PNG files. All PNG files
in a given manual are listed in the area that makes
the mega-manual so that the tarfile is complete.
* mega-manual.xml - Updated the front wording to tell the user
that the BitBake User Manual is included in the
Mega-Manual. Also, added a last section to actually
include the bitbake-title.png file and the *.xml
files. Note that I could not add the title figure
from the same figures folder of the local "bitbake"
folder. Would not include in the build. So, I
pulled the file from the figures folder of the
mega-manual, which is what I do for all the other
book titles used in the mega-manual.
* mega-manual.sed - Modified to clean out the old stuff that
had been carried along for older books not
supported for the release. Modified to include
link processing for the newly included BitBake
User Manual.
* New Figures - Moved copies of the "bb_multiconfig_files.png"
and "bitbake-title.png" figures into the
figures folder of the mega-manual.
Scott Rifenbark [Thu, 27 Dec 2018 00:02:44 +0000 (16:02 -0800)]
ref-manual, overview-manual: Fixed BitBake User Manual links
Some occurrences of links to the BitBake User Manual were using
a target (i.e. &YOCTO_DOCS_BB_URL;#bitbake-user-manual). Using
this form causes the mega-manual.sed file to not process the link
correctly for the mega-manual. These are subtle errors and have
probably existed for some time. I removed the target ID to fix
the problem.
Boot parameter systemd.log_target=console affects command journalctl's
output and causes oe selftest case test_systemd_boot_time fail to pass.
| Error at obtaining the boot time from journalctl
| RESULTS:
| RESULTS - systemd.SystemdJournalTests.test_systemd_boot_time - Testcase -1: SKIPPED (0.74s)
systemd.log_target=console was introduced by oe-core commit a0bb649 and
work with parameter systemd.log_level to enable systemd debug.
systemd.log_level has been removed already, so remove systemd.log_target
too to make case test_systemd_boot_time pass.
Khem Raj [Wed, 26 Dec 2018 20:09:54 +0000 (12:09 -0800)]
binutils: Upgrade to latest on 2.31 release branch
* Append minor version to PV so recipe checker is happy
* Drop upstreamed patches
* Remove changelog from CVE patches, they dont apply and are in patch
log anyway
Khem Raj [Wed, 26 Dec 2018 20:09:48 +0000 (12:09 -0800)]
nfs-utils: Disable format-overflow as Werror
These warnings are intricate and we can ignore that for now as they are
being found by gcc 9, eventually this should be not needed when code
upstream is fixed
Scott Rifenbark [Thu, 27 Dec 2018 00:22:32 +0000 (16:22 -0800)]
bitbake: bitbake-user-manual: Created unique tags for glossary variables.
Fixes [YOCTO #12399]
The bug was to get the BitBake User Manual into the YP Mega-manual.
All the changes here create unique tags used with variables in the
BitBake Manual. Prior to the fix, tags were identical between like
variables in the YP reference manual and the BitBake User Manual.
The reason for this is because when I created the BitBake manual's
glossary, it was a cut-and-paste operation to get the bulk of
the work started. At the time, the BitBake User Manual was not
a part of the Mega-manual. Once we decided to include the
BitBake User Manual as part of the Mega-Manual, building the
mega-manual produced warnings for all these duplicate links.
To fix, I have updated the variable tags in the BitBake User
Manual to use the following form:
'var-bb-<variable_name>'
The tags used in the YP ref-manual follow this form (original):
Richard Purdie [Wed, 19 Dec 2018 10:37:19 +0000 (10:37 +0000)]
gcc: Drop the -initial versions of the compiler
Separated out from the previous commit for clarity, this simply drops
all the -inital pieces of gcc which are no longer needed after the
previous commit.
Richard Purdie [Wed, 19 Dec 2018 00:09:14 +0000 (00:09 +0000)]
gcc: Drop gcc-cross-initial and use gcc-cross instead
We need a libgcc to build glibc. Tranditionally we therefore build
a non-threaded and non-shared compiler (gcc-cross-initial), then use
that to build libgcc-initial which is used to build glibc which we can
then build gcc-cross and libgcc against.
Firstly, we can drop the glibc dependency from gcc-cross, *if* we make
two changes:
a) specify the minimum glibc version to support in a configure option
b) create a dummy limits.h file so that later when glibc creates one,
the headers structure has support for it. We can do this with a simple
empty file
Once gcc-cross is libc independent, we can use it to build both
libgcc-initial and then later libgcc.
libgcc-initial is tricky as we need to imitate the non-threaded and
non-shared case. We can do that by hacking the threading mode back to
"single" even if gcc reports "posix" and disable libc presence for the
libgcc-intial build. We have to create the dummy limits.h to avoid
compiler errors from a missing header.
glibc will fail to link with libgcc-initial due to a missing "exception
handler" capable libgcc (libgcc_eh.a). Since we know glibc doesn't need
any exception handler, we can safely symlink to libgcc.a.
With those changes, gcc-cross can be used in all places and we only need
one build of gcc for each architecture.
For some reason ifunc was being disabled on mips prior to these changes
but afterwards became enabled but caused assertion failures. This is
therefore disabled until we can debug that.
Richard Purdie [Tue, 18 Dec 2018 20:01:26 +0000 (20:01 +0000)]
glibc: Remove site_config and glibc-initial
The only reason we appear to need glibc-initial at this time is to support
the site_config code. The site_config code compiles and therefore needs
at least some level of working C library to link against.
This isn't a good reason to keep the complexity of glibc-initial around
so remove it, and the site_config support which then breaks.
Performance benchmarks suggest the time spent just rerunning configure
for site_config just about equals any performance benefit for OE-Core
image builds excluding the time spent adding glibc-initial to the
dependency chain.
I'm not opposed to readding some other form of site_config support
but it needs to be rethought.
Robert Yang [Wed, 19 Dec 2018 02:38:00 +0000 (18:38 -0800)]
oeqa/concurrencytest: fix for locating meta-selftest
The previous code assumed builddir and meta-selftest are in the same dir, but
this isn't always true, builddir can be anywhere, use get_test_layer() to
locate meta-selftest can fix the problem.
If the bitbake server recieved multiple connections, it currently closes
ones it can't handle (while its dealing with another). This is rather
antisocial behaviour which causes clients to quickly run through their
retries and abort.
Instead, queue any other connections until the current one is closed. This
way the client can decide when it wants to stop waiting for the server. If the
client is gone by the time we handle it, we handle that gracefully.
This also fixes a number of bugs in the connection handling where connections
which did drop early were badly handled causing tracebacks in the logs.
Also, handle queue incomming connections in a loop to ensure that the main
client handling doesn't starve that piece of the system.
This code was stress tested by running 50 connection attempts in parallel at
once, ensuring the code correctly handled them.
Khem Raj [Thu, 20 Dec 2018 07:35:02 +0000 (23:35 -0800)]
populate_sdk_ext.bbclass: Include site.conf in parsing for contents for local.conf
Some distros use site.conf to emit certain variables which are important
for eSDK e.g. DISTRO with out which eSDK will not be able to ger right
metadata when it tries to build
Anuj Mittal [Wed, 19 Dec 2018 07:29:27 +0000 (15:29 +0800)]
common-licenses: update Libpng license text
The new libpng license comprises the terms and conditions from the zlib
license, and the disclaimer from the Boost license. The legacy libpng
license license, used until libpng-1.6.35, is appended to the
new license, following the precedent established in the Python Software
Foundation License version 2.
License-Update: Added authors to license, formatting, version changes,
export classification clarification and a new libpng2 license with
clarification:
The new libpng license comprises the terms and conditions from the zlib
license, and the disclaimer from the Boost license. The legacy libpng
license license, used until libpng-1.6.35, is appended to the
new license, following the precedent established in the Python Software
Foundation License version 2.
Douglas Royds [Wed, 19 Dec 2018 22:59:48 +0000 (11:59 +1300)]
icecc: patchelf is needed by icecc-create-env
Although we could potentially build patchelf and all its dependencies,
they would all have to be blacklisted to avoid trying to build them with
icecc. We use the host patchelf instead.