[OE-core] [PATCH 1/2] systemd: upgrade to 239
Ricardo Salveti
rsalveti at rsalveti.net
Wed Jul 25 23:05:52 UTC 2018
On Mon, Jul 16, 2018 at 11:05 PM, Chen Qi <Qi.Chen at windriver.com> wrote:
> Upgrade systemd to 239.
>
> 1. Patch Changes
> * Rebased Patches
> 0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch
> 0003-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
> 0006-Make-root-s-home-directory-configurable.patch
> 0027-remove-nobody-user-group-checking.patch
> 0011-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
> 0013-add-fallback-parse_printf_format-implementation.patch
> 0014-src-basic-missing.h-check-for-missing-strndupa.patch
> 0015-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
> 0016-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch
> 0017-Include-netinet-if_ether.h.patch
> 0019-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch
> 0022-don-t-use-glibc-specific-qsort_r.patch
> 0024-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch
> 0026-Use-uintmax_t-for-handling-rlim_t.patch
> 0030-fix-missing-of-__register_atfork-for-non-glibc-build.patch
> 0031-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
> 0001-core-device.c-Change-the-default-device-timeout-to-2.patch
> 0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch
>
> * Dropped Patches and Reasons
> 0001-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
> This patch is dropped because the problem has been fixed by
> binutils upstream. And this workaround could be dropped.
> https://sourceware.org/bugzilla/show_bug.cgi?id=18548
>
> 0007-Revert-rules-remove-firmware-loading-rules.patch
> 0008-Revert-udev-remove-userspace-firmware-loading-suppor.patch
> These two patches are dropped because they are for kernel < 3.7.
> But the current minimal requirement of kernel to build systemd
> is as below.
> REQUIREMENTS:
> Linux kernel >= 3.13
> Linux kernel >= 4.2 for unified cgroup hierarchy support
> So these two patches no long make any sense.
> Also remove non-exist firmware-path option
>
> 0009-remove-duplicate-include-uchar.h.patch
> 0010-check-for-uchar.h-in-meson.build.patch
> These two patches are dropped because musl has implemented
> uchar.h. See commit below from musl repo.
> """
> ab9672ae73248f51e30f4553c4b8878525e46383
> implement uchar.h (C11 UTF-16/32 conversion) interfaces
> """
>
> 0018-check-for-missing-canonicalize_file_name.patch
> The above patch is dropped because current systemd does not need
> canonicalize_file_name.
>
> 0025-Define-_PATH_WTMPX-and-_PATH_UTMPX-if-not-defined.patch
> The above patch is dropped because utmp makes no sense in musl.
> Check code below from musl.
> include/utmp.h:#define _PATH_UTMP "/dev/null/utmp"
> And utmp PACKAGECONFIG has been explicitly disabled for musl.
> So we don't need this patch.
>
> 0032-memfd.patch
> 0033-basic-macros-rename-noreturn-into-_noreturn_-8456.patch
> libmount.patch
> 0034-Fix-format-truncation-compile-failure-by-typecasting.patch
> The above patches are dropped because they are backported patches.
> And current systemd has contained these patches.
>
> 0036-time-util-fix-build-with-gcc8-Werror-format-truncati.patch
> The above patch is dropped because it has been merged and is now
> in new version.
>
> * Newly Added Patch
> 0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch
> This patch is added to fix build for musl.
>
> 0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
> This patch is added to fix the following error which caused system
> unable to boot up.
> systemd-udevd.service: Failed to adjust OOM setting: Invalid argument
> dbus.service: Failed to adjust OOM setting: Invalid argument
>
> 0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
> This patch is added to fix segment fault error on musl systems.
>
> 0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch
> This patch is backported to solve a race condition between
> user-runtime-dir at xxx.service stop and user deletion.
>
> 2. PACKAGECONFIG and Dependency Changes
> * Add a new PACKAGECONFIG item 'gshadow'. Enable it by default for glibc
> but disable it by default for musl. This is because musl does not provide
> gshadow.h.
>
> * Add a new PACKAGECONFIG item 'portabled'. Default to disable it because
> it's still experimental, according to the announcement letter.
> """
> Currently, the support is still experimental, but this is expected to
> change soon. Reflecting this experimental state, the "portablectl" binary
> is not installed into /usr/bin yet.
> """
>
> * Change 'kmod' from a hard dependency to a PACKAGECONFIG item. Default
> to enable it.
>
> * Change 'acl' from a hard dependency to a PACKAGECONFIG item. Default
> to enable it.
>
> * Remove 'readline' from DEPENDS. systemd does not need it.
>
> * Remove 'libcgroup' from DEPENDS. The dependency on libcgroup has been
> removed from systemd a long time ago. We now remove this unnecessary
> dependency from DEPENDS.
>
> 3. update-alternatives changes
> The utilities like shutdown, poweroff, etc. are now created as symlinks
> at do_install. So there's no need to use update-alternatives mechanism
> anymore to create the symlinks now. In addtion, I don't think we now
> support multiple init systems at one running system, so there's really
> no need to use update-alternatives mechanism here.
I noticed that reboot stopped working locally as I had busybox
installed together with systemd, and the busybox version ended up
being used as it was provided via update-alternatives.
Looking for possible similar broken links, I found that
update-alternatives ended up pointing reboot, halt and poweroff to the
busybox binary instead of systemctl. Should we revert the changes and
bring back update-alternatives for them?
Thanks,
--
Ricardo Salveti de Araujo
More information about the Openembedded-core
mailing list