Enabling minidebuginfo is not useful if gdb and systemd-coredump
are unable to parse it.
In order to parse it, gdb needs xz support. Systemd needs coredump enabled, as
well as elfutil enabled as well (systemd-coredump loads libdw which is part of elfutils using dlopen).
(From OE-Core rev: 0d2df803bebfd7e832ab7da54c4dacaaeeb424a9)
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This fixes an issue running "opkg upgrade" on a system with systemd
(and when there is an update to "systemd-compat-units",
for example between yocto 4.2.2 and 4.2.3):
//var/lib/opkg/info/systemd-compat-units.postinst: cd: line 3: can't cd to /etc/init.d: No such file or directory
The existence of /etc/init.d is now tested
without causing an error if doesn't exist.
Fixes [YOCTO #15292]
(From OE-Core rev: 0330331a1386fd2a34b410a7f62b29bfc8dc23c4)
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As stated in the LICENSES/README.md "Unless otherwise noted, the systemd
project sources are licensed under the terms and conditions of the GNU
Lesser General Public License v2.1 or later", so replace LGPL-2.1-only
with LGPL-2.1-or-later.
With the exception of some udev sources that are licensed under
GPL-2.0-or-later (but are packaged separately), the project is licensed
under LGPL, and all the components are LGPL or under LGPL compatible
licenses. The package libsystemd is currently under the main package
license, which can cause problems when scanning for GPL software linked
to CLOSED one. Add more granularity by setting a license for libsystemd
to LGPL-2.1-or-later.
(From OE-Core rev: 54975f4b2184fe12c4995c289eba8358958e6c21)
Signed-off-by: Massimiliano Minella <massimiliano.minella@se.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
nss-mymachines packageconfig controls this features therefore add this
dependency only when it is enabled.
Fixes
ERROR: systemd-1_254.4-r0 do_package_qa: QA Issue: systemd-container rdepends on libnss-mymachines, but it isn't a build dependency? [build-deps]
(From OE-Core rev: 40f2e5776ebf6cf93694d05189488e8448767b3a)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Florian Wickert <fw@ferncast.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The DynamicUser needs libnss-systemd to be installed to function
well. The tweaks to nsswitch.conf should be conditional on PACKAGECONFIG
values.
(From OE-Core rev: ba3a78c08cb0ce08afde049610d3172b9e3b0695)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By removing libnss_mymachines.so.2 from FILES:${PN}-container it
correctly gets packaged into libnss-mymachines, just like the other
libnss-* components, due to PACKAGES_DYNAMIC.
To make up for the missing lib in the container package, I added
libnss-mymachines to RDEPENDS:${PN}-container. As I understand it,
the lib should be installed even without this if anything from the
container package links against it. But since I don't know if there
was a special reason to explicitly add it to the container files list,
like something using dlopen to load the lib, it seemd to be the
safest option.
(From OE-Core rev: 90f143984732ba0453c2d3a734eeb4d1a289269b)
Signed-off-by: Florian Wickert <fw@ferncast.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add nss-resolve plugin to the glibc Name Service Switch (NSS) with
systemd-resolved DISTRO_FEATURE so that systemd-resolved is used in DNS
name resolution.
This enables the resolution of Multicast DNS and Link-Local Multicast
Name Resolution names, depending on the selected options.
(From OE-Core rev: 81da1d6eecee9fd036121298abba6fdcffc3969d)
Signed-off-by: Eero Aaltonen <eero.aaltonen@vaisala.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We've been removing PR values from recipes at upgrade time for a while. In general
anyone maintaining a binary distro would end up having to curate these themselves
so the values in OE-Core aren't really that useful anymore. In many ways it makes
sense to clear out the remaining ones (which are mostly for 'config' recipes that
are unlikely to increase in PV) and leave a clean slate for anyone implementing
a binary distro config.
References are left in meta-selftest since the tests there do involve them and
their removal upon upgrade.
(From OE-Core rev: d4c346e8ab8f3cae25d1b01c7331ed9f6d4f96ef)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Looks like this only is required when build with clang toolchain
and the fix is alredy merged [1] on meta-clang.
[1] 83c94b8690
(From OE-Core rev: 6448af4940f6c67bca7224ab44d2adf30dc82b35)
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The meson.cross generated by the class already has c and objcopy
entries, so these can be removed.
Pass the --cross-file option in MESON_CROSS_FILE to ensure the ordering
is always correct.
(From OE-Core rev: 302551de19edb1eb7333a6d1d5fdddacdbb9c349)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of re-implementing do_compile, use MESON_TARGET.
(From OE-Core rev: d37c0f3449e1a20e3acc490150fa4c7c6ea46bd1)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd efi.h defines wchar_t from compiler provided __WCHAR_TYPE__
therefore we do not want it to come from alltypes.h in musl case which
otherwise will end up with conflicting definitions of wchar_t, defining
__DEFINED_wchar_t ensures that alltypes.h does not provide it
(From OE-Core rev: 7b84fe344a2067b63d0c222fbc68d5916fa7903f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Last version of systemd dpends now on pyelftools to build the efi support
but the required tool is the native ones and not the target.
The systemd-boot has the corrected dependencie so fix this in the main recipe.
| Program python3 (jinja2) found: YES (/build/tmp-lmp/work/corei7-64-lmp-linux/systemd/1_254-r0/recipe-sysroot-native/usr/bin/python3-native/python3) modules: jinja2
| Checking if "32bit build possible" : links: NO
| Program python3 (elftools) found: NO
|
| ../git/meson.build:2147:8: ERROR: Problem encountered: EFI bootloader support requires pyelftools.
|
| A full log can be found at /build/tmp-lmp/work/corei7-64-lmp-linux/systemd/1_254-r0/build/meson-logs/meson-log.txt
(From OE-Core rev: 69d37620a7a0626eaee1c0b37057be2ac2687290)
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Support for unmerged-usr is deprecated upstream, taints the system and
has been removed for v255 (next release).
Enforce building merged-usr images when using systemd. This allows one
release cycle where it can be tested for any remaining issue, and can
still be overridden, before it stops working completely.
(From OE-Core rev: 802e853eeddf16d73db1900546cc5f045d1fb7ed)
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
journald uses less to display logs. less.busybox can do the
job, but it rips out support for color/highlighting.
(From OE-Core rev: 2e9b41b23695bb3517ad33ccb02ae19ca30326c6)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Where compiler driver is used for linking ensure bfd linker is used as
well so its consistent when called directly or via compiler
(From OE-Core rev: d497362d52bd934101e7d7a49eeee0fffb0f4f46)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd brings up swap partitions with swapon --fixpgsz, which busybox's
implementation doesn't support.
(From OE-Core rev: c7b39bb6319f21c6df6c2d25086f82154efdf5f6)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The kbd binaries (loadkeys and setfont) are installed to bindir, not
base_bindir.
Fixes: 94ccc7acc4a871f5bb7ab8e135e70b5519eff6ad
(From OE-Core rev: 458fdd085beb14572e5a1ed0f94861cf10648725)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
with newer systemd, if not specified, these paths are searched on build
host /usr dir
log.do_configure.2373278:Program /usr/sbin/loadkeys found: YES (/usr/sbin/loadkeys)
log.do_configure.2373278:Program /usr/sbin/setfont found: YES (/usr/sbin/setfont)
and if build host happens to have kbd installed then it
uses those locations, this would work fine if the assumption between OE
distro and host distro matches but fail otherwise e.g. on archlinux
these binaries are in /usr/sbin but in OE they are in ${base_bindir}
This results in
qemux86-64 systemd-vconsole-setup[211]: /usr/sbin/loadkeys failed with exit status 1.
(From OE-Core rev: 94ccc7acc4a871f5bb7ab8e135e70b5519eff6ad)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- Drop dependency on gnu-efi, add dependency on pyelftools for EFI builds
- Refresh patches
- Ship new files and directories
- Use meson target to build sd-boot instead of filenames
- Change libpam recipe to set ANY_OF_DISTRO_FEATURES = "pam systemd" to let
logind pull in pam-plugin-umask
(From OE-Core rev: 95ed1fa4ff74a77deade51ad73b2f8963ff81548)
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the instance name indicated by %i begins with a number, the meaning of the
replacement string "\\1{}".format(instance) is ambiguous.
To indicate group number 1 regardless of the instance name, use "\g<1>".
(From OE-Core rev: d18b939fb08b37380ce95934da38e6522392621c)
Signed-off-by: Yuta Hayama <hayama@lineo.co.jp>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The default sysusers basic.conf.in file sets the root home directory to `/root`
and does not permit its configuration. Replace the file delivered by systemd so
the root home directory matches the `ROOT_HOME` variable.
(From OE-Core rev: 5a0dd8fe478536f9ea503e3e1bc668b7e814bd85)
Signed-off-by: Louis Rannou <lrannou@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Refactor _process_deps to expand systemd instance specifier "%i" to the
template instance.
This change expands on prior commit e510222b57 ("systemd-systemctl: fix
instance template WantedBy symlink construction") by substituting every
"%i" pattern-match with the instance name.
The regexp handles the following cases:
* svc-wants@%i.service
* sys-subsystem-net-devices-%i.device
(From OE-Core rev: 9356276137267a29ae2289d796a2940918375308)
Signed-off-by: Ian Ray <ian.ray@ge.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch should have been dropped when upgrading to 253
since its already available upstream since then
(From OE-Core rev: 5b677b766280b39e8bf507d5aec4f08e49fd72a9)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix issue of the below instance template systemd service dependency
[Install]
WantedBy=svc-wants@%i.service
creating the symlink (instance "a" example)
/etc/systemd/system/svc-wants@%i.service.wants/svc-wanted-by@a.service
which should be
/etc/systemd/system/svc-wants@a.service.wants/svc-wanted-by@a.service
as implemented by this change.
The functionality appears regressed just after "thud" baseline when the
logic was refactored from shell script into python (commit
925e30cb10)
(From OE-Core rev: 308397f0bb3d6f3d4e9ec2c6a10823184049c9b5)
Signed-off-by: Martin Siegumfeldt <mns@gomspace.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This reverts commit 33d9b3a8ed.
The reverted patch was forcing systemd to do preset-all at boot time (first boot)
in a function that simuilates 'preset-all' at rootfs time. This is not right.
To force a first boot, just do not run this function, as said in the comment:
"""
# If we populate the systemd links we also create /etc/machine-id, which
# allows systemd to boot with the filesystem read-only before generating
# a real value and then committing it back.
#
# For the stateless configuration, where /etc is generated at runtime
# (for example on a tmpfs), this script shouldn't run at all and we
# allow systemd to completely populate /etc.
"""
For example, removing 'systemd_preset_all;' from IMAGE_PREPROCESS_COMMAND in some
distro conf file will achieve the same effect of the original patch.
(From OE-Core rev: a2ac09c32acfc2e076a7778447919d97553d38a2)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Current patch with fail when stdint.h is in include path before this
typedef which can also happen with re-includes. Therefore shunt that
by defining __DEFINED_wchar_t which helps musl builds of systemd-boot
recipe
(From OE-Core rev: 7fce95e47601f766b384bc0d5805986ad933681f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>