Robert Joslyn [Sun, 18 Apr 2021 03:40:40 +0000 (20:40 -0700)]
btrfs-tools: Add PACKAGECONFIG options
Add options to make it easier to control which features are enabled. All
of these default to enabled by upstream, so keep them enabled to
maintain previous behavior.
The convert option also supports reiserfs, but no recipes exist in the
layer index. Limit the option to ext filesystems until someone cares
enough to make reiserfs recipes.
Remove acl and attr from DEPENDS, as they do not apper to be needed. Add
zlib since it is required.
Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Joslyn [Sun, 18 Apr 2021 03:40:39 +0000 (20:40 -0700)]
btrfs-tools: Update to 5.11.1
Update licensing, as libtrfsutil is under LGPLv3+. Note that libtrfsutil
is in the process of being relicensed to LGPLv2.1+:
https://github.com/kdave/btrfs-progs/issues/323
Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oeqa/runtime/cases: Only disable/enable for current boot
Previously doing a stop/start worked, but using a disable/enable does
not work on a read-only rootfs. Add a --runtime flag to systemctl so
that systemd only modifies the current boot and does not attempt to
write to the filesystem.
This also keeps the test from making a permanent (one could argue
policy) change to the running system being tested. i.e. What if the
image being tested had intentionally disabled the timesyncd service in
preference to using chrony or ntpd? The test shouldn't assume that the
user wants the timesyncd service enabled.
Signed-off-by: Wes Lindauer <wesley.lindauer@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- Rebased patch 0001-test_locale.py-correct-the-test-output-format
Maintainer needs to sign CLA and resubmit
- configure now explicitly requires autoconf-archive to be present
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
parselogs: ignore floppy error on qemu-system-x86 at boot stage
We can disable floppy drive by BIOS on a hardware, but an empty floppy
drive is connected by default on qemu-system-x86. Linux usually detect
the device and modprode the matched floppy.ko at the boot stage. Due to
we don't specify a floppy deivce in qemu boot arguments, then the errors
about floppy reading comes out.
It is harmless and normal, so we could ignore this error message on
qemux86.
Seen if kernel-modules is included in the image which pulls in the
relavent kernel module.
Jon Mason [Wed, 14 Apr 2021 15:19:16 +0000 (11:19 -0400)]
oeqa/runtime: space needed
Messages are currently being printed as:
Test requires dropbear, oropenssh-sshd to be installed
but should be
Test requires dropbear, or openssh-sshd to be installed
Adding the space after the 'or' corrects this.
Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
grap2graph which converts a GRAP diagram into a cropped image fails
to run as below:
$ grap2graph
/usr/bin/grap2graph: line 89: convert: command not found
/usr/bin/grap2graph: warning: falling back to old '-crop 0x0' trim method
/usr/bin/grap2graph: line 104: convert: command not found
/usr/bin/grap2graph: line 103: grap: command not found
Considering we don't often need to convert a GRAP diagram into
a cropped image and the recipe ImageMagick which provides convert
command is in meta-oe layer, so don't ship the related files to
avoid the confusion about the above run time error.
Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 15 Apr 2021 12:49:13 +0000 (13:49 +0100)]
sanity: Add error check for '%' in build path
It has been reported that '%' characters in build paths break with python
exceptions, probably due to confusion with python string escaping. Whilst it
is probably fixable, showing the user a human readable error is better given
it doesn't work.
[YOCTO #14282]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kevin Hao [Wed, 7 Apr 2021 12:18:11 +0000 (20:18 +0800)]
sysvinit-inittab/start_getty: Check /sys for the tty device existence
The hvc tty driver doesn't populate a file like /proc/tty/driver/serial,
so the current implementation of start_getty doesn't work for the hvc
console. By checking the /sys/class/tty/ for the tty device existence,
it should support more console types and also make the codes more simple.
Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kevin Hao [Wed, 7 Apr 2021 12:18:10 +0000 (20:18 +0800)]
modutils-initscripts: Bail out when no module is installed
Fix the following warning when boot with a core-image-minimal rootfs:
depmod: can't change directory to 'lib/modules/5.10.25-yocto-standard': No such file or directory
Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Gavin Li [Tue, 13 Apr 2021 05:29:23 +0000 (22:29 -0700)]
kmod: do not symlink config.guess/config.sub during autoreconf
I was encountering the following race condition on poky:
- automake-native does do_install.
- automake-native does do_populate_sysroot. This hardlinks config.guess
and config.sub into ${D}.
- kmod-native does do_configure. This runs `autoreconf`, which runs
`automake --add-missing` (symlinks config.guess/config.sub from
recipe-sysroot-native to build dir), then runs `gnu-configize` (copies
_its own_ config.guess/config.sub _on top_ of the already existing
ones). Since the destinations already had symlinks, the copy would
overwrite config.guess/config.sub in recipe-sysroot-native, which
would in turn overwrite the same in ${D} due to being hardlinked.
- automake-native does do_package. The outhash is thus calculated on the
clobbered config.guess/config.sub files.
With hash equivalency enabled, the different outhash produced a
different unihash, which kept me from reusing sstate between my laptop
and my build server. This race condition would happen only on the build
server (BB_NUMBER_THREADS = 32) but never on my laptop
(BB_NUMBER_THREADS = 6).
I didn't see the --install and --symlink flags being used by any other
recipe, so I removed them, and that fixed the issue.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Konrad Weihmann [Fri, 9 Apr 2021 16:51:23 +0000 (18:51 +0200)]
cpan-base: set default UPSTREAM_CHECK_REGEX
as cpan release versions are almost always follow an a.b version scheme,
it's better to filter out beta releases such as a.b.c.
Use the first resource fetched from https://cpan.metacpan.org as base
for calculating the needed regex.
In case nothing can be calculated fall back to nothing.
Add this to cpan-base to enable it for new & old style cpan integration.
Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a recipe inherits cross-canadian and contains "nativesdk" in
BBCLASSEXTEND and meta-mingw is included and multiconfig is enabled,
bitbake will generate the correspending recipe. As meta-mingw sets
SDK_OS to "mingw32", that's what TARGET_OS will be set to as well.
Thus, currently such a recipe won't pass the check and fail with
a message:
Building cross-candian for an unknown TARGET_SYS
(x86_64-mysdk-mingw32), please update cross-canadian.bbclass
Even when building an SDK targeting Linux, but the mentioned conditions
are met, bitbake will try to generate the corresponding recipe and fail.
As the described combination seems valid, including "mingw32" into the
whitelist unconditionally as a fix is suggested.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
NR_futex is not defined by newer architectures e.g. riscv32 as
they only have 64bit variant of time_t. Glibc defines SYS_futex
interface based on __NR_futex, since this is used in applications,
such applications start to fail to build for these newer architectures.
Define a fallback to alias __NR_futex to __NR_futex_time64 to make
SYS_futex keep working.
Douglas Royds [Thu, 8 Apr 2021 01:08:55 +0000 (13:08 +1200)]
externalsrc: Detect code changes in submodules
Further to 50ff9afb39, only detect code changes in submodules that are
subdirectories of the EXTERNALSRC directory.
The (undocumented) git submodule--helper returns a path
for each submodule relative to the top of the repo.
Don't add submodules that are not within our source subtree.
[YOCTO #14333]
Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Further to 50ff9afb39, only detect code changes in submodules that are
subdirectories of the EXTERNALSRC directory.
The (undocumented) git submodule--helper returns a path
for each submodule relative to the top of the repo.
Don't add submodules that are not within our EXTERNALSRC subtree.
If we unpack one git repo inside another, like this:
Untracked files:
(use "git add <file>..." to include in what will be committed)
repo2/
If we run `devtool modify` on this recipe, do_patch runs with:
PATCHTOOL = "git"
PATCH_COMMIT_FUNCTIONS = "1"
The `patch_task_postfunc` (patch.bbclass, line 82) runs a `git add .` on the
top-level repo1, leaving the checkout in an invalid state. The following git
warning does not appear in the log:
$ git add .
warning: adding embedded git repository: repo2
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint:
hint: git submodule add <url> repo2
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint: git rm --cached repo2
hint:
hint: See "git help submodule" for more information.
$ git submodule status
fatal: no submodule mapping found in .gitmodules for path 'repo2'
No further git submodule commands can be run on the checkout.
We could enhance the `patch_task_postfunc` to look for any embedded git
checkouts and add them as submodules, but this seems unnecessary complexity for
an obscure edge-case. Although the git repo is left in an invalid state with
respect to the submodules, it still serves the purpose required by devtool:
To take further commits, and generate patch files from them.
We are still able to run these commands to examine any submodules,
where git submodule--helper reports paths relative to the top of the checkout:
When a recipe sets EXTERNALSRC to a subdirectory of the git checkout, we test
for the existence of the reported submodule paths within the EXTERNALSRC
directory.
The latest versions of git submodule--helper accept a path to a subdirectory and
correctly report no submodules within that subdirectory. Regrettably, we still
support git versions that don't accept a path to a subdirectory.
[YOCTO #14333]
Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If not postinstall applied, some nativesdk command could not be found
in sdk due to update-alternatives in postinst not be executed, such as chroot:
$ which chroot
/sbin/chroot
$ which chroot.coreutils
path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot.coreutils
After applying the fix
$ which chroot
path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot
$ which chroot.coreutils
path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot.coreutils
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Anders Wallin [Thu, 8 Apr 2021 18:03:36 +0000 (20:03 +0200)]
scripts/contrib/image-manifest: add new script
image-manifest: script to generate product/image specific BOM
The image-manifest script generates image specific reports based on
an image manifest file. Currently there is data generated by buildhistory,
pkgdata, and license manifest but this data is poorly formated and spread
across multiple text files. This script can generate a single JSON output
file that is machine readable by other tools.
The manifest-info collects package information and stores the information
in a tarball. manifest-info can be configured using a json configuration
file. The default configuration including all possible options can be
dumped using the dump-config subcommand.
image-manifest takes an image manifest file as input to get the runtime
dependencies. As an option image-manifest can also use the build dependency
file, pn-buildlist, to get the build dependencies excluding native
packages.
This script extends the oe-image-manifest script [0] done by Paul Eggleton
options:
-h, --help show this help message and exit
-d, --debug Enable debug output
-q, --quiet Print only errors
subcommands:
recipe-info Get recipe info
list-depends List dependencies
list-recipes List recipes producing packages within an image
list-packages List packages within an image
list-layers List included layers
dump-config Dump default config
manifest-info Export recipe info for a manifest
Use image-manifest <subcommand> --help to get help on a specific command
Co-developed-by: Paul Eggleton <bluelightning@bluelightning.org> Signed-off-by: Anders Wallin <anders.wallin@windriver.com> Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use git for SRC_URI as thi release has not appeared on gnome downloads yet
Drop LGPL-2.0 as it has fully moved to LGPL-3.1+ see [1] that also
covers for change in License checksums for GPL-3
Add license information to cover for Xterm files in libvte
wangmy [Wed, 31 Mar 2021 14:28:01 +0000 (22:28 +0800)]
glib-2.0: upgrade 2.66.7 -> 2.68.0
the following patches are refreshed:
0001-Set-host_machine-correctly-when-building-with-mingw3.patch
0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch
0001-tests-codegen.py-removing-unecessary-print-statement.patch
relocate-modules.patch
the following patches are removed since they are included
in 2.68.0:
0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch
0002-tests-Fix-non-atomic-access-to-a-shared-variable.patch
0003-tests-Fix-non-atomic-access-to-a-shared-variable.patch
0004-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
0005-tests-Fix-non-atomic-access-to-some-shared-variables.patch
0006-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
0007-gdbusconnection-Drop-unnecessary-volatile-qualifiers.patch
0008-gdbuserror-Drop-unnecessary-volatile-qualifiers-from.patch
0009-gio-Drop-unnecessary-volatile-qualifiers-from-intern.patch
0010-kqueue-Fix-unlocked-access-to-shared-variable.patch
0011-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
0012-tests-Fix-non-atomic-access-to-some-shared-variables.patch
0013-gatomic-Drop-unnecessary-volatile-qualifiers-from-in.patch
0014-gatomic-Drop-unnecessary-volatile-qualifiers-from-ma.patch
0015-glib-Drop-unnecessary-volatile-qualifiers-from-inter.patch
0016-gobject-Drop-unnecessary-volatile-qualifiers-from-in.patch
0017-gmessages-Drop-unnecessary-volatile-qualifiers-from-.patch
0018-gtypes-Drop-volatile-qualifier-from-gatomicrefcount.patch
0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch
0020-gobject-Drop-volatile-qualifier-from-GObject.ref_cou.patch
0021-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
0022-build-Drop-unnecessary-volatile-qualifiers-from-conf.patch
0023-gdbusprivate-Avoid-a-warning-about-a-statement-with-.patch
0024-tests-Add-comment-to-volatile-atomic-tests.patch
0025-gthread-Use-g_atomic-primitives-correctly-in-destruc.patch
0026-gtype-Fix-some-typos-in-comments.patch
0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch
0028-gresource-Fix-a-pointer-mismatch-with-an-atomic-load.patch
0029-docs-Document-not-to-use-volatile-qualifiers.patch
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Current definition of SLIB is actually equal to S but is hardcoded, this
means when we have altered location of S, then the regexp for
DEBUG_PREFIX_MAP will not be effective, which could result in S being
emitted into debug_line sections. Simplify the maps to use S variable
instead of SLIB
Secondly, rename SLIB_NEW to REL_S to make it more appropritate to what
it represents
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since glibc uses custom PACKAGES, it misses using ${PN}-src and as a
result it uses libc-src for name which means creating rdep on glibc src
package becomes difficult since bitbake can not resolve rdep = glibc-src
back to glibc recipe and bails out on builds
Missing or unbuildable dependency chain was: ['glibc-src']
ERROR: Required build target 'valgrind' has no buildable providers.
Missing or unbuildable dependency chain was: ['valgrind', 'glibc-src']
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 15 Apr 2021 13:09:28 +0000 (14:09 +0100)]
oeqa/selftest: Ensure packages classes are set correctly for maintainers test
The dnf packages aren't parsed if rpm isn't in PACKAGE_CLASSES which means
the aintainers test failes for OE-Core (where ipk is the default) but not
for poky (where the default is rpm).
Ensure PACKAGE_CLASSES is set so it works in all cases.
[YOCTO #14277]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>