Paul Barker [Wed, 16 Dec 2020 18:16:16 +0000 (18:16 +0000)]
bitbake.conf: Prevent pyc file generation in pseudo context
This also effectively reverts commit b6d30c21b0:
bitbake.conf: Extend PSEUDO_IGNORE_PATHS to ${COREBASE}/meta
The contents of ${COREBASE}/meta were ignored as pyc files could be
generated for the contents of the lib subdirectory if python modules
were imported within a pseudo context. However this doesn't protect us
from pyc files being generated in the lib directories for other layers.
It's far better to tell python not to produce pyc files when running
under pseudo (by setting the PYTHONDONTWRITEBYTECODE variable) as this
will cover any location where pyc files could possibly be created. This
variable is set in FAKEROOTBASEENV so that it applies to the
bitbake-worker instance for fakeroot tasks, preventing pyc files from
being generated for imports in python tasks themselves.
Also add a test case to ensure that pyc files are not created in tasks
which are executed under pseudo.
Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake.conf: Canonicalize paths in PSEUDO_IGNORE_PATHS
Use oe.path.canonicalize() to canonicalize the paths in
PSEUDO_IGNORE_PATHS before passing them to pseudo. This is needed since
pseudo will compare them to paths that are canonicalized.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oe.path.canonicalize() is used to canonicalize paths (i.e., remove
symbolic links and "..", and make them absolute). It takes a string
with paths separated by commas, and returns the canonicalized path in
the same format.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 19 Dec 2020 11:42:58 +0000 (11:42 +0000)]
linuxloader: Avoid confusing string concat errors
None is a bad choice of return value for functions used in variables
(strings) as a failure results in concatination errors. Use a string
with a clear meaning that can be searched for instead.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alan Perry [Wed, 16 Dec 2020 07:37:54 +0000 (07:37 +0000)]
binutils: add libopcodes package for perf
Add a package for libopcodes, since, like libbfd, it is needed by
perf. Without separate packages for these libraries, all of the
binutil tools get added as well.
Signed-off-by: Alan Perry <alanp@snowmoose.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Mon, 14 Dec 2020 15:09:23 +0000 (10:09 -0500)]
lttng-modules: fix build against v5.10+
lttng-modules doesn't currently build against the lastest 5.10-rc
versions.
Upstream lttng does have fixes for the issues, but hasn't done a
release that contains them yet. There are other patches on the
2.12.x branch, but I've skipped them for now as they aren't
necessary for 5.10 builds, and can be picked up with the next
full update.
We also bump the dev-upstream hash to make them easier to pickup
for those building from git.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The tests' output is non-deterministic and sometimes
doesn't match the sample output. This has been reported at
https://bugs.kde.org/show_bug.cgi?id=430321
(see also an earlier related bug https://bugs.kde.org/show_bug.cgi?id=358213)
Until upstream figures out how to fix this, let's not run the tests.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Anatol Belski [Mon, 14 Dec 2020 12:51:15 +0000 (12:51 +0000)]
iproute2: Make it easier to manipulate SUBDIRS list from bbappend
Currently there's no easy way to override this part as it's hardcoded
into the EXTRA_OEMAKE var. This change makes it possible to manipulate
the list of subdirs in a more fine graned and future oriented manner.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 14 Dec 2020 18:31:42 +0000 (18:31 +0000)]
syslinux: rewrite recipe so only target code is x86-specific
Currently the syslinux recipe set COMPATIBLE_HOST to 32/64-bit x86.
Whilst this makes sense for the target binaries as syslinux is
x86-specific, this also affects the native recipe which should be able
to be built on non-x86 build hosts (for example, arm64 build host,
qemux86 target).
syslinux itself has a somewhat fragile build system but with care it is
possible to build the installer for native/nativesdk, and the bootloader
for target.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tim Orling [Mon, 14 Dec 2020 19:54:51 +0000 (11:54 -0800)]
python3-packaging: upgrade 20.4 -> 20.8
Upstream release notes:
'''
* 20.8 - 2020-12-11
- Revert back to setuptools for compatibility purposes for some Linux
distros (:issue:`363`)
- Do not insert an underscore in wheel tags when the interpreter version
number is more than 2 digits (:issue:`372`)
* 20.7 - 2020-11-28
- No unreleased changes.
* 20.6 - 2020-11-28
- Note:
This release was subsequently yanked, and these changes were included in
20.7.
- Fix flit configuration, to include LICENSE files (:issue:`357`)
- Make intel a recognized CPU architecture for the universal macOS
platform tag (:issue:`361`)
- Add some missing type hints to packaging.requirements (issue:350)
* 20.5 - 2020-11-27
- Officially support Python 3.9 (:issue:`343`)
- Deprecate the LegacyVersion and LegacySpecifier classes (:issue:`321`)
- Handle OSError on non-dynamic executables when attempting to resolve the
glibc version string.
"""
Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nathan Rossi [Tue, 15 Dec 2020 08:38:43 +0000 (08:38 +0000)]
coreutils: enable xattrs by default for nativesdk
When using coreutils nativesdk (e.g. with buildtools-tarball) for
running oe-core builds, a number of recipes/classes/etc. expect xattr
support. This requirement is also expressed by the existing
PACKAGECONFIG_class-native default including xattrs.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nathan Rossi [Tue, 15 Dec 2020 08:32:00 +0000 (08:32 +0000)]
ncurses: Prevent LDFLAGS being emitted in .pc files
By default ncurses includes the values of LDFLAGS in its output
pkgconfig .pc files. This causes issues because OE includes options that
are specific to either the build host, or build configuration. These
options are not expected to be embedded in the pkgconfig output that is
installed.
Specifically this change resolves issues with uninative, where uninative
includes '-Wl,--dynamic-linker=' in LDFLAGS in order to force the
building and execution of native binaries against the dynamic linker
provided by uninative. This path is specific to TMPDIR at the time of
build, such that the installed files (and the associated sstate) have
this path. This prevents the sstate from being portable across build
directories/hosts.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nathan Rossi [Tue, 15 Dec 2020 08:28:15 +0000 (08:28 +0000)]
qemu.inc: Add seccomp PACKAGECONFIG option
Add the seccomp PACKAGECONFIG option to allow building seccomp features
in QEMU. The libseccomp library is available in additional layers (e.g.
meta-security).
Additionally this serves as a way to disable seccomp by default to avoid
the configure of QEMU automatically finding it (via pkg-config) on the
build host when building qemu-system-native and auto enabling the
feature.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Tue, 15 Dec 2020 08:49:56 +0000 (00:49 -0800)]
go.bbclass: Use external linker for native packages
go 1.15 has reworked internal linker, which has resulted in regressions
in OE where native binaries generated using internal linker in some
cases result in corruption during populate_sysroot e.g. glide-native
crashing when used after relocation.
This improved reliability of native binaries working especially when
they use cgo or pie build modes
Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Otavio Salvador <otavio.salvador@ossystems.com.br> Cc: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nathan Rossi [Tue, 15 Dec 2020 08:34:58 +0000 (08:34 +0000)]
gcc: Add patch to resolve i*86 tune configuration overrides
When compiling gcc-runtime for i686 libatomic, libgomp and libitm are
compiled with additional '-march' and '-mtune' overrides. This typically
does not cause build errors (e.g. core2-32 tune), and results in less
optimally tuned outputs. However with specific TUNE_CCARGS (e.g. has
'-mfpmath=sse' but not '-msse*'), the build errors with conflicting
'-mfpmath' options.
This is caused by gcc-runtime specific configure scripts and Makefile
options that override by adding additional '-march'/'-mtune' args. OE
builds gcc-runtime differently to other build systems, and provides
target specific arch/tune options directly. As such, this change adds a
patch for gcc to remove the specific cases where the args are added.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
uboot-extlinux-config: exclude OVERRIDES from do_create_extlinux_config vardeps
This function is primarily *appending* configuration entries to the
overrides, it only gets it to ensure it's set at all, so doesn't belong
in the vardeps. Having a dependency on OVERRIDES means you cannot use a
bbclass like distrooverrides without changing the signatures of recipes
using this class.
Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
grub-efi-cfg: exclude OVERRIDES from build_efi_cfg vardeps
This function is primarily *appending* configuration entries to the
overrides, it only gets it to ensure it's set at all, so doesn't belong
in the vardeps. Having a dependency on OVERRIDES means you cannot use a
bbclass like distrooverrides without changing the signatures of recipes
using this class.
Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Anuj Mittal [Fri, 11 Dec 2020 07:36:40 +0000 (15:36 +0800)]
mesa: remove patch disabling asm
This was originally added for musl only [1]. Upstream has removed this
option but we reverted that change during an upgrade to fix certain
musl specific compile time issues [2].
I compile tested without this patch on musl-x86 and musl-x86-64 and
don't see the warnings anymore. Similar textrel issues were fixed
upstream so perhaps those helped [3].
Dmitry Baryshkov [Fri, 11 Dec 2020 14:28:18 +0000 (17:28 +0300)]
perl: fix installation failure because of shell issue
On one of my buildservers I noticed perl do_install failing with the
following message:
| rm: cannot remove '<OEROOT>/tmp-rpb-glibc/work/armv8-2a-linaro-linux/perl/5.32.0-r0/image//usr/lib/perl5/5.32.0/*/CORE/libperl.so': No such file or directory
I tracked this down to shell being dash rather than bash not being able
to expand this glob in the middle of the filename. So replace the glob
expansion with the simpler one which works in all cases.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sun, 13 Dec 2020 00:34:01 +0000 (16:34 -0800)]
musl: Update to latest master
Refresh patches to apply to this update
Brings in following fixes
* 1e4204d5 use libc-internal malloc for newlocale/freelocale
* 36246b34 drop use of pthread_once in newlocale
* 37fcc13c lift locale lock out of internal __get_locale
* c53e9b23 fix misleading comment in strstr
* b67d56c7 drop use of pthread_once for aio thread stack size init
* 90ff0169 fix omission of non-stub pthread_mutexattr_getprotocol
* 56f0631d riscv64: fix inconsistent ucontext_t struct tag
* 50c7935c fix failure to preserve r6 in s390x asm; per ABI it is call-saved
* 738c4e94 s390x: derive float_t from compiler or default to float
* 821083ac implement reallocarray
* 29ff7599 implement realpath directly instead of using procfs readlink
* 5d464f52 fix mallocng regression in malloc_usable_size with null argument
* d046ec92 configure: do not use obsolescent form of test -a|o
* c5d118eb fix segfault in lutimes when tv argument is NULL
* 67f77462 netinet/in.h: add IP_RECVERR_4884 from linux v5.9
* d078f836 sys/fanotify.h: add new FAN_* macros from linux v5.9
* 3ba370fe bits/syscall.h: add __NR_close_range from linux v5.9
* badc5bb2 add missing personality values
* 6e989248 arm fabs and sqrt: support single-precision-only fpu variants
* c8c3e341 fix typo in INSTALL
* e2fa720b work around linux bug in readlink syscall with zero buffer size
* c17cda6d parse v3 or future-unknown zoneinfo file versions as v2+
* 585a0a78 explicitly prefer 64-bit/v2 zoneinfo tables
* debbddf7 fix regression in pthread_exit
* 3ab2a4e0 rewrite wcsnrtombs to fix buffer overflow and other bugs
* 233bb697 protect destruction of process-shared mutexes against robust list races
* d26e0774 pthread_exit: don't __vm_wait under thread list lock
* 167390f0 lift child restrictions after multi-threaded fork
* 34952fe5 convert malloc use under libc-internal locks to use internal allocator
* 8d37958d give libc access to its own malloc even if public malloc is interposed
* c1e5d243 drop use of getdelim/stdio in dynamic linker
* cbecda0b dlerror: don't gratuitously hold freebuf_queue lock while freeing
* 4ffa7068 fix vector types in aarch64 register file structures
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Tue, 8 Dec 2020 09:43:13 +0000 (01:43 -0800)]
buildtools-tarball.bb: Fix PATH for environment setup script
It only added ${SDKPATHNATIVE}/usr/bin to PATH which didn't work when files
were installed to other bin dirs such as /bin or /sbin, for example,
nativesdk-pigz installs the files to /bin, now fix it to keep align with sdk's
PATH.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diego Sueiro [Tue, 8 Dec 2020 11:44:59 +0000 (11:44 +0000)]
modutils-initscripts: Use depmod -a when modules.dep is empty
To correctly create the modules.dep when it is empty, we need to call depmod
with '-a' instead of '-Ae' since the quick option uses the mtime to decide
whether or not it needs to update. This way we can guarantee that it will be
recreated completely and not only when adding new modules.
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diego Sueiro [Tue, 8 Dec 2020 11:42:52 +0000 (11:42 +0000)]
wic: Introduce empty plugin to create unformatted empty partitions
The empty wic plugin is used to create unformatted empty partitions for wic
images.
To use it you must pass "empty" as argument for the "--source" parameter in
the wks file. For example:
part foo --source empty --ondisk sda --size="1024" --align 1024
Also adds a selftest for this plugin where the 'Fstype' column from 'wic
ls' should be empty for the second partition as listed in
test_empty_plugin.wks.
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jack Mitchell [Tue, 8 Dec 2020 16:03:14 +0000 (16:03 +0000)]
distutils3: allow setup.py to be run from a different directory to ${S}
Sometimes setup.py can be buried deep in a source tree. This has
traditionally been solved with setting S to the subdirectory in
the source. However with the new pseudo changes, some python modules
make changes to files beneath ${S}, for example:
S = "${WORKDIR}/git/python/pythonmodule"
then in setup.py it works with source code in a relative fashion, such
as:
../../src
This causes pseudo to abort as it isn't tracking the paths. Therefore
implement the variable DISTUTILS_SETUP_PATH so that recipes can use:
S = "${WORKDIR}/git"
DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule"
inherit distutils3
This allows the full source tree to be monitored, while distutils
can run setup.py from a location other than ${S}.
Signed-off-by: Jack Mitchell <ml@embed.me.uk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tim Orling [Wed, 9 Dec 2020 00:35:45 +0000 (16:35 -0800)]
python3-pygments: upgrade v2.7.2 -> v2.7.3
Upstream release notes:
"""
* Updated lexers:
- Ada (#1581)
- HTML (#1615, #1614)
- Java (#1594, #1586)
- JavaScript (#1605, #1589, #1588)
- JSON (#1569 -- this is a complete rewrite)
- Lean (#1601)
- LLVM (#1612)
- Mason (#1592)
- MySQL (#1555, #1551)
- Rust (#1608)
- Turtle (#1590, #1553)
* Deprecated JsonBareObjectLexer, which is now identical to JsonLexer
(#1600)
* The ImgFormatter now calculates the exact character width, which
fixes some issues with overlapping text (#1213, #1611)
* Documentation fixes (#1609, #1599, #1598)
* Fixed duplicated Juttle language alias (#1604, #1606)
* Added support for Kotlin scripts (#1587)
* Removed CSS rule which forced margin to 0
"""
Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Commits since 3.1.0 tag: 155bc48 (HEAD, tag: v3.1.1) Merge branch 'maint/2.x' 83c7dd2 (tag: v2.1.1, origin/maint/2.x) Merge pull request #264 from
python/bugfix/261-versionless-egg-info-pre-normalized-fallback 4cb3bd0 Update changelog. Ref #261. 6036a37 Avoid relying on new-style normalization for legacy eggs. 4098b51 Perform exact match on Prepared.normalized, and then add a
separate check for an empty self.normalized instead of relying on a
degenerate result from startswith. 7bdbb57 Add test to ensure that a prefix isn't matched 595eb5f Compare the name against self.normalized. Fixes #261 but also
will cause 'lib' to match 'lib_foo'. fea6e75 Move is_egg into prepared. 313535a Extract method for matching a name in a prepared search. 4335def Add test capturing expectation where versionless metadata exists
but hasn't been updated to the new normalization technique. Ref #261. 9aee90b Fix syntax in changelog 55e64a4 Merge pull request #258 from python/feature/skeleton 8721a05 Merge branch 'master' into feature/skeleton ed672ee Consolidate coverage files eabd24d Restore diffcov b29baea Correct syntax for invoking pytest d5a5c90 Bring back perf 67cb123 Run tests to exercise coverage
Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
selftest/reproducible: add an exclusion list for items that are not yet reproducible
Hopefully over time this list will be reduced to an empty one.
Non-reproducible excluded packages are not given to diffoscope and do not cause a
failure, but still saved side-by-side with non-reproducible failing ones to make
investigation easier.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 9 Dec 2020 17:16:59 +0000 (17:16 +0000)]
metadata_scm: Fix signature handling of METADATA_REVISION and METADATA_BRANCH
We're not interested in the dependencies of these functions and what
those functions look like, we're interested in the value the variable has.
Force the hashed value to be the actual value from the function. This
means using METADATA_REVISION in DISTRO_VERSION for example now
correctly rebuilds when it changes value.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are issues with this change where the build directory may be included
within the paths included in BBLAYERS, which is particularly problematic
where people are using kas.
An alternative to this to handle the pyc file issue is being worked on but
revert this for now whilst that fix is developed.
Gratian Crisan [Fri, 4 Dec 2020 19:30:21 +0000 (13:30 -0600)]
kernel-module-split.bbclass: fix kernel modules getting marked as CONFFILES
Yi pointed out that commit 1a70a92d1f10 ("kernel-module-split.bbclass:
identify kernel modconf files as configuration files") is
unintentionally adding the actual kernel /lib/modules .ko files to the
CONFFILES variable.
The root cause is the re-use of the 'files' variable in that commit.
Fix it by using a separate variable to keep track of the generated
module .conf files that need to be marked as configuration files.
Fixes: 1a70a92d1f10 ("kernel-module-split.bbclass: identify kernel modconf files as configuration files") Reported-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Gratian Crisan <gratian.crisan@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scons is using host ar to create it, which may or may not
be built with reproducible option by default. Rather than
patch scons for the benefit of a single recipe, let's
just not install the .a, which is unused anyway.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
populate_sdk_ext: use SDK_CUSTOM_TEPLATECONF variable to enable custom templateconf.cfg
The current implementation will always pick an existing templateconf.cfg if
present else it will use the one from OE. A user might not always want to pick
an existing tempalteconf.cfg even if its present. Introduce
SDK_CUSTOM_TEMPLATECONF variable to provide an option for the user to specify if he
wants to use an existing custom templateconf.cfg or not
If SDK_CUSTOM_TEMPLATECONF=='1' then enable custom templateconf.cfg. By default
SDK_CUSTOM_TEMPLATECONF is set to '0'
Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>