Commit Graph

379 Commits

Author SHA1 Message Date
Changqing Li
0ad9bbaf9d systemd: change default locale from C.UTF-8 to C
current default locale is set to C.UTF-8, but glibc not support
locale C.UTF-8. so set to the default locale C.

[snip]
        if not meson.is_cross_build()
                choose_default_locale_sh = find_program('tools/choose-default-locale.sh')
                default_locale = run_command(choose_default_locale_sh).stdout().strip()
        else
                default_locale = 'C.UTF-8'
        endif

if default locale set to C.UTF-8, it will cause libpcre ptest fail:

  re> //8+L
** Failed to set locale ""

(From OE-Core rev: 48f1521de8d16971e8021d7bf551f0b88f392f43)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-23 23:30:19 +01:00
Wenlin Kang
bb8a55fb0f systemd: install libnss-myhostname.so when myhostname be enabled
This fixes the follow issue, the cause is that net-tools needs
libnss-myhostname.so when run "hostname -s".

root@qemuarm64:~# hostname -s
hostname: Unknown host

(From OE-Core rev: 5bad5eb5f41053e4963fb26972f56dbf67349378)

Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-12 09:29:06 +01:00
Tomasz Meresiński
8233d9e717 systemd: fix predictable network interface names in initrd
https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
says, that udev is responsible for predictable network interface names,
so udev package is a better place for its configuration file.

(From OE-Core rev: 4cf7c6b86b26c8355054f93e2aa5e05a35e536c6)

Signed-off-by: Tomasz Meresiński <tomasz.meresinski@comarch.pl>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-10 13:46:17 +01:00
Vincent Prince
dd8c80b235 systemd: Add pattern matching support to PACKAGECONFIG
libpcre2 is needed to enable grep option to journalctl.

(From OE-Core rev: 623946c9b56d4a253e0e82936ec86595edc1da1b)

Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-29 08:28:53 +00:00
Alex Kiernan
0e993d4057 systemd: Add PACKAGECONFIG for openssl
(From OE-Core rev: 6b0daceda2aa42052f28aeac6b49a2a744d5e1b7)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-25 23:19:53 +00:00
Otavio Salvador
6c66a46c51 systemd: Update to systemd-stable v241-stable release
This changes the repository to use the systemd-stable, and update to
the latest release from v241-stable branch.

Following changes are included:

c1f8ff8d0d login: mark nomodeset fb devices as master-of-seat
59f2213e45 login: HyperV requires master-of-seat to be set
a09c170122 Allocate temporary strings to hold dbus paths on the heap
4f54afd5a1 Refuse dbus message paths longer than BUS_PATH_SIZE_MAX limit.
b22a96ef2f NEWS: add entry about 'udevadm trigger --wait-daemon'
bada94eb3e NEWS: fix release date
e9f930b2f5 udev-event: make subst_format_var() always provide null-terminated string on success
66320aec80 sd-device: also store properties read from udev database to sd_device::properties_db
dffc22c833 udev-rules: update log messages about OWNER= or GROUP= settings on --resolve=names=never

(From OE-Core rev: 0111855d2c5029c93844e08fcd48592137bfb68a)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-21 16:19:23 +00:00
Marcus Cooper
f915e9c3d9 systemd: fix CVE-2019-6454
The original fix was deleted when systemd was bumped from v239 to v241,
however not all of the patches have made it into the latest version.

Refactor the original patch to contain the missing changes.

(From OE-Core rev: 400a0468a0f12f7f92f5287053a5fee0bb257fc1)

Signed-off-by: Marcus Cooper <marcusc@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-18 11:12:26 +00:00
Ross Burton
dad2a7bc3a systemd: drop unused kill-path option
This option isn't used and was dropped upstream in v240.

(From OE-Core rev: 57154e8f8e65db82c5b75dc10635db308b525820)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-18 11:12:26 +00:00
Luca Boccassi
5c7fc6057a systemd: do not disable SELinux with musl
Building and running SELinux with musl works fine these days,
so don't disable it in the systemd bitbake file.

(From OE-Core rev: afea472cdc5e72e2794b30b00f68e59ffb1e104c)

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-12 11:57:41 -07:00
Chen Qi
1ee33bc13f systemd: backport one more patch to fix version.h parallel build failure
We backported a patch to fix parallel build failure about version.h. But
that is not enough. We need one more patch to really fix this issue.

(From OE-Core rev: 9ed1dd6329b393e4f780fb88fea98bc930138a57)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-12 11:57:41 -07:00
Chen Qi
856d620755 systemd: backport patch to fix parallel build failure
Backport patch to fix parallel build failure like below.

       In file included from ../git/src/core/dbus-manager.c:10:
       ../git/src/basic/build.h:4:10: fatal error: version.h: No such file or directory
       #include "version.h"
                 ^~~~~~~~~~~
       compilation terminated.

(From OE-Core rev: 89712946c10f1c762175053e1945b7d0f330c446)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-07 21:55:29 +00:00
Chen Qi
38cdb19dea systemd-boot: upgrade to 241
The following two patches are added because I cannot figure
out how to pass parameter to efi-cc if it's changed to be
an array value.

  systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch
  systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch

(From OE-Core rev: 42ec27489135f5c2dbe708dacb5dadb0f5d9df5b)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-03 15:38:13 +00:00
Chen Qi
40bc0ed880 systemd-conf: add version info in recipe name
(From OE-Core rev: 9a56b4ee0e3f7be76fb1b018bd639ae68d0ca2bd)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-03 15:38:13 +00:00
Chen Qi
4eb2b3f150 systemd: upgrade to 241
PATCH REBASED:
==============
0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
0004-rules-whitelist-hd-devices.patch
0007-rules-watch-metadata-changes-in-ide-devices.patch
0001-Use-getenv-when-secure-versions-are-not-available.patch
0002-don-t-use-glibc-specific-qsort_r.patch
0004-add-fallback-parse_printf_format-implementation.patch
0006-src-basic-missing.h-check-for-missing-strndupa.patch
0007-Include-netinet-if_ether.h.patch
0008-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
0009-add-missing-FTW_-macros-for-musl.patch
0012-fix-missing-of-__register_atfork-for-non-glibc-build.patch
0013-Use-uintmax_t-for-handling-rlim_t.patch
0014-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch

PATCH DROPPED:
==============
0005-Make-root-s-home-directory-configurable.patch
  systemd has its hardcoded assumption about /home and /, and it also respects
  $HOME environment var, so this patch is somehow useless. This patch was originally
  added but in fact had no real runtime effect except messing up some hardcoded assumptions,
  and it was accidently manipulated during systemd upgrade. We have in fact not
  used the orignal patch for more than two releases and things were working out
  well.
0006-remove-nobody-user-group-checking.patch
  The issue has been fixed upstream by the following commit.
    "check nobody user/group validity only when not cross compiling"
0008-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch
0009-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch
  The issue has been fixed upstream by the following commit.
    "meson: allow building resolved and machined without nss modules"
0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch
0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch
  Backport
0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
  Merged
0023-resolvconf-fixes-for-the-compatibility-interface.patch
0001-core-when-deserializing-state-always-use-read_line-L.patch
0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch
0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch
0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch
0001-timesync-changes-type-of-drift_freq-to-int64_t.patch
  Backport
0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch
0002-core-Fix-use-after-free-case-in-load_from_path.patch
  Merged
0001-meson-rename-Ddebug-to-Ddebug-extra.patch
0024-journald-do-not-store-the-iovec-entry-for-process-co.patch
0025-journald-set-a-limit-on-the-number-of-fields.patch
0026-journal-fix-out-of-bounds-read-CVE-2018-16866.patch
CVE-2019-6454.patch
sd-bus-if-we-receive-an-invalid-dbus-message-ignore-.patch
0005-basic-user-util-properly-protect-use-of-gshadow.patch
0022-Use-if-instead-of-ifdef-for-ENABLE_GSHADOW.patch
  Backport
0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch
  No build failure for qemux86/qemuppc + musl

PATCH ADDED:
============
0020-missing_type.h-add-__compar_d_fn_t-definition.patch
0021-avoid-redefinition-of-prctl_mm_map-structure.patch
0022-include-sys-wait.h-to-avoid-compile-failure.patch
0023-socket-util.h-include-string.h.patch
0024-test-json.c-define-M_PIl.patch
0001-do-not-disable-buffer-in-writing-files.patch

PATCH OTHERS:
=============
0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch
0011-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch
are combined into one patch:
0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch

Add two more PACKAGECONFIG, nss-mymachines and nss-resolve  which are introduced
by the following commit.
  meson: allow building resolved and machined without nss modules

(From OE-Core rev: 816e08c18dbcf6e84dedc7a4bd96ddfbf2f86ebc)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-03 15:38:13 +00:00
Serhey Popovych
842908cbf1 systemd: Correctly check ENABLE_GSHADOW with if/endif
Use commit 4f07ffa8f5ab ("Use #if instead of #ifdef for ENABLE_GSHADOW")
from upstream to check ENABLE_GSHADOW correctly that is defined as 0
in case of musl.

While there replace specific patch with one from upstream that does
exactly the same commit 66a5b5ce9b99 ("basic/user-util: properly protect
use of gshadow").

(From OE-Core rev: c9580ef0810196f6703567d9db458b73dbbfb35f)

Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 16:35:33 +00:00
George McCollister
5855ff75a5 systemd: fix CVE-2019-6454
Apply patches from systemd_239-7ubuntu10.8 to fix CVE-2019-6454.
CVE-2019-6454 is an issue in which systemd (PID1) can be crashed with a
specially formed D-Bus message.

For information see:
https://usn.ubuntu.com/3891-1/
https://git.launchpad.net/ubuntu/+source/systemd/commit/?id=f8e75d5634904c8e672658856508c3a02f349adb

(From OE-Core rev: 9d2ec5970adfc906fcc4581528321a879953fd55)

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 10:43:06 +00:00
André Draszik
d31259fa46 systemd: RDEPENDS on util-linux-umount
It looks like there is an implicit dependency on util-linux'
umount - as otherwise when using busybox' umount we see a
long delay on shutdown / reboot.

[YOCTO #13058]

(From OE-Core rev: 39a3d2c603429865af632fe41b2cf32c3dfdfb1d)

Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-14 11:20:55 +00:00
Richard Purdie
af0b3d6909 systemd: Update recent CVE patches
* Added CVE tag, Upstream-Status tag and Sign-off-by tags.
* Removed the verification of the entry length in the header
* Squashed CVE-2018-16865 patches into one
* CVE-2018-16866 patch now taken from systemd-stable and includes
  an additional heap buffer overflow fix.

(From OE-Core rev: bc79395e2fcb886f224a4ad837fd93c779d2c53d)

Signed-off-by: Marcus Cooper <marcusc@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-28 23:14:09 +00:00
Marcus Cooper
74b2286f5d systemd: Security fix CVE-2018-16866
Affects < v240

(From OE-Core rev: bdee9122fe67467d1ec17012902a441fecb0cb9b)

Signed-off-by: Marcus Cooper <marcusc@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-24 17:45:25 +00:00
Marcus Cooper
5c3eba1371 systemd: Security fix CVE-2018-16865
Affects < v240

(From OE-Core rev: 314887a475ae1ac638eb80d973ffee1bd2a31a35)

Signed-off-by: Marcus Cooper <marcusc@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-24 17:45:25 +00:00
Marcus Cooper
dee2bf9c3f systemd: Security fix CVE-2018-16864
Affects < v240

(From OE-Core rev: 6900b9cc2cd3e66469a9561bb478b87c0903b0ea)

Signed-off-by: Marcus Cooper <marcusc@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-24 17:45:25 +00:00
Peter Kjellerstedt
f548c3f77b systemd: Correct a conditional add to SYSTEMD_PACKAGES
The code conditionally adding ${PN}-journal-remote to SYSTEMD_PACKAGE
checked PACKAGECONFIG for an empty string rather than 'microhttpd'...

(From OE-Core rev: 42d52a279a75c94c4deba50b448dd3b6b2ac75df)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-16 15:35:07 +00:00
Peter Kjellerstedt
f509a85cea systemd: Correct and clean up user/group definitions
This makes sure that packages are only added to USERADD_PACKAGES if
they will create users/groups. This avoids the following error:

  ERROR: systemd_239.bb: meta/recipes-core/systemd/systemd_239.bb
  inherits useradd but doesn't set USERADD_PARAM, GROUPADD_PARAM or
  GROUPMEMS_PARAM for package systemd-journal-gateway

Normally this problem is not triggered even if the conditional code that
expands in, e.g., USERADD_PARAM_${PN}-journal-gateway is empty because
it is assigned with += and thus ends up as " ", which fools the check in
useradd.bbclass.

However, if USERADDEXTENSION += "useradd-staticids" and
INHERIT += "extrausers" are used, they cause the problem to occur. The
reason for this is because when useradd-staticids is used, it rewrites
USERADD_PARAM_${PN}-journal-gateway, which strips unnecessary whitespace
and thus USERADD_PARAM_${PN}-journal-gateway becomes empty. And
extrausers is needed, because otherwise the test in useradd.bbclass is
triggered before useradd-staticids has rewritten the variables...

(From OE-Core rev: 63ae444b1dba65ccb1693648914becabd65ac30d)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-16 15:35:07 +00:00
Stefan Agner
6d0864469a systemd: only enable polkit if DISTRO_FEATURES asks for polkit
Only add polkit to PACKAGECONFIG if polkit is in DISTRO_FEATURES.

(From OE-Core rev: 1cde1b68d29da119ca290fd39acf3184499e2f34)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-16 15:35:07 +00:00
André Draszik
dfd833725d meta: remove True option to getVar calls (again)
A couple have still been missed in the past despite multiple
attempts at doing so (or simply have re-appeared?).

Search & replace made using the following command:
    sed -e 's|\(d\.getVar \?\)( \?\([^,()]*\), \?True)|\1(\2)|g' \
        -i $(git grep -E 'getVar ?\( ?([^,()]*), ?True\)' \
             | cut -d':' -f1 \
             | sort -u)

(From OE-Core rev: 9f551d588693328e4d99d33be94f26684eafcaba)

Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-14 11:35:56 +00:00
Alex Kiernan
0f0c16071d systemd: Add PACKAGECONFIG for gnutls
(From OE-Core rev: da0c196cdc4eb74c7517089dc192d6a77227b6e2)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-11 10:39:09 +00:00
Alexander Kanavin
f4f3444947 systemd: backport a patch to fix meson 0.49.0 issue
(From OE-Core rev: 81ecfbb19ccb5b5241cfdd871d41459bda3dba4d)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-03 12:35:54 +00:00
Khem Raj
1fa8e90c42 systemd: Fix memory use after free errors
Found with gcc trunk

(From OE-Core rev: 381c63ad2a6e004658b0232b6e6763f49f412b2b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-18 16:19:34 +00:00
Kai Kang
53d8896c5b systemd: fix compile error for x32
Backport patch to fix systemd compile error for x32:

| ../git/src/timesync/timesyncd-manager.c:607:19: error: format '%lli'
| expects argument of type 'long long int', but argument 11 has type
| 'long int' [-Werror=format=]

[YOCTO #13074]

(From OE-Core rev: 7201df413616cab8d7f3257f86dd7a0a5c7719ee)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-14 17:10:59 +00:00
Adrian Freihofer
d0b2cedfb0 systemd: fix PN-container package splitting
- Fix package splitting for services installed with
  systemd-container. Some files have been installed with systemd
  package instead of systemd-container package. (*.service,
  *.socket, *.html...)
- Split journal-upload, journal-remote, journal-gatewayd into
  separate packages. These services are not strictly related to
  nspawn containers. Remote logging is now possible without
  installing all the container stuff.
- systemd-container package rrecommends journal-upload, journal-
  remote, journal-gatewayd packages.

(From OE-Core rev: d31ff84a5f4723700ed48fd14ace81d3c707065e)

Signed-off-by: Adrian Freihofer <adrian.freihofer@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-27 22:13:11 +00:00
Alex Kiernan
9d0e83fdec systemd: backport fix to stop enabling ECN
>From upstream:

  Turning on ECN still causes slow or broken network on linux. Our tcp
  is not yet ready for wide spread use of ECN.

https://github.com/systemd/systemd/issues/9748

(From OE-Core rev: f951aa6f9fcf318f108ecdc3371498ee2e919e68)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-20 10:32:16 +00:00
Brad Bishop
17726d0834 systemd-systemctl-native: handle Install wildcards
Handle the %i wildcard appearing in a dependency in the Install section
of a template unit, e.g.

  $ cat foo@.service

  [Install]
  WantedBy=bar@%i.target

Using the real systemctl something like:

  $ systemctl enable foo@baz.service

will create a symlink in /etc/systemd/system/bar@baz.target.wants.
Detect wildcards in templates and make the appropriate substitution.

(From OE-Core rev: 22ed19292d160461042d4a2294fe2ec0b953873e)

Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-14 11:14:39 +00:00
Chen Qi
d6d723665d systemd: fix CVE-2018-15688
Backport patch to fix the following CVE.

CVE: CVE-2018-15688

(From OE-Core rev: 13591d7224393dc0ae529a03cdf74aceb3540ce9)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 23:08:54 +00:00
Chen Qi
3eab300ce3 systemd: fix CVE-2018-15687
Backport patch to fix the following CVE.

CVE: CVE-2018-15687

(From OE-Core rev: eeb621aa19f690971caf862290a172a115578ba1)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 23:08:54 +00:00
Chen Qi
89b142f7da systemd: fix CVE-2018-15686
Backport patch to fix the following CVE.

CVE: CVE-2018-15686

(From OE-Core rev: 0ef70603bc983315eb0e8a97958d995a31198c35)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 23:08:54 +00:00
Chen Qi
360bba5cc9 systemd: add back alternatives for init utitilies
Add back alternatives for init utilities to avoid regression.

These alternatives were removed when upgradeing systemd to 239.
They were removed out of the logic that init utitilies should be
bound to init manager. However, it turned out that two use cases
were not covered.

1) initramfs using commands like 'reboot' from busybox.
2) Users use customized busybox defconfig which enables init utilities.

The first use case caused a regression bug in yocto.
  https://bugzilla.yoctoproject.org/show_bug.cgi?id=12914
Patches were sent to fix the reboot problem.

But this is not enough. As we may have the second use case. In such
situation, users will find themselves having regression error when
using 'busybox + systemd' (and busybox is installed after systemd,
overriding the systemd symlinks).

So in order to avoid regression, add back these alternatives.

(From OE-Core rev: 43ef422d80e0544232a9361187ac1c608304c969)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-28 08:31:57 +00:00
Mark Hatle
4046716c2f systemd-conf: Fix clean support
(From OE-Core rev: ed335e201c878ab4518675f57ce0d12cdc60e02e)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-28 08:31:57 +00:00
Kai Kang
60bdb3d6a1 udev-hwdb: fix postinstall scripts failures when multilib enabled
When multilib is enabled and both udev-hwdb and ${MLPREFIX}udev-hwdb are
installed to image, it fails to run one of their postinstall scripts
that they both call ${base_bindir}/udevadm with same user mode qemu.

Duplicate udevadm and add postinst-intercept update_udev_hwdb to fix the
failures.

(From OE-Core rev: d6b737a31a8842cdc770b05e28503c81a691d10d)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-25 14:53:44 +01:00
Mark Hatle
28c2f0dfe3 systemd: Remove items that made this machine (qemu) specific
Create a new systemd-conf recipe to contain the specific system/machine
configuration items.  This new package is now machine specific.

Without doing this trying to create a single system with multiple BSPs,
one of which was qemu based, would result in the systemd -and- everything that
dependend upon systemd to have their hash changed.  The hash changing means
lots of rebuilds, but worse if it's a package based system each different
machine ends with a new PR value and a newly generated package.

(From OE-Core rev: d3395418758ed414eee3e95e13d2d8bc5dca88cc)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-21 21:30:35 +01:00
Anuj Mittal
8421aede4f systemd: add ALTERNATIVE for reboot
reboot is provided by busybox too. Add ALTERNATIVE to ensure that there
are no conflicts when both are installed.

(From OE-Core rev: a27a197ad4bb32fa93aa95e685e9e70ffe755811)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-12 16:57:21 +01:00
Alex Kiernan
b6eeccc881 systemd: Add util-linux-fsck to RDEPENDS
systemd-fsck expects util-linux-fsck passing a number of options that
busybox fsck doesn't interpret. It then continues silently when run, so
disks end up not having fsck run at all.

Move util-linux-fsck from RRECOMMENDS to RDEPENDS to ensure we have the
fsck which systemd expects.

(From OE-Core rev: 409c3424250d55d1c5549841ddae22288aaa4859)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-21 18:45:46 -07:00
Anton Gerasimov
e6277eb17b systemd: set split-bin to true by default
Not doing so will make meson chose where to install init binary
based on irrelevant features of the build machine.

PACKAGECONFIG option is defined to override this behavior.

(From OE-Core rev: 4ff2282a7dc421c3ea6578c73fbbba768eeed146)

Signed-off-by: Anton Gerasimov <tossel@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-11 09:05:35 +01:00
Khem Raj
4ec1eede9f systemd: Fix qsort_r patch for function return mismatch
clang is fussy and complains that a valueless return is used from  a
function which should return a value

(From OE-Core rev: 301d9801a43b2173c83a2296553abd53f152a145)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-04 11:03:55 +01:00
Andrej Valek
956278f4ec systemd: fixes for the compatibility interface
Use a heap allocated string to set arg_ifname, since a stack allocated
one would be lost after the function returns. (This last one broke the
case where an interface name was suffixed with a dot, such as in
`resolvconf -a tap0.dhcp`.)

(From OE-Core rev: 48775d2f02d6d4024403796b81d6398f3028b965)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Simon Ausserlechner <simon.ausserlechner@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-15 09:44:34 +01:00
Maciej Pijanowski
23a9cdba16 meta: replace deprecated "SERIAL_CONSOLE"
SERIAL_CONSOLE was already deprecated in 2013, yet still some
machine configuration files were using it. This patch replaces
it with SERIAL_CONSOLES, which is the successor.

The default value in systemd-serialgetty.bb can also be safely
transitioned from SERIAL_CONSOLE to SERIAL_CONSOLES, as this
recipe already uses SERIAL_CONSOLES within do_install().

The documentation seems to be already up do date.
beaglebone-yocto.conf in the bsp-guide already uses
SERIAL_CONSOLES. The ref-manual redirects from SERIAL_CONSOLE
to SERIAL_CONSOLES.

[YOCTO #12653]

(From OE-Core rev: e5bde3d466869df9fce559e49842ac245153d045)

Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-14 11:36:31 +01:00
Khem Raj
f13c32446f systemd: Detect if statx struct is defined in sys/stat.h
Fixed build with glibc 2.28+

(From OE-Core rev: 776d14db9589eb2e2bca35da862ad0e260e3584c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-08 10:51:59 +01:00
Chen Qi
983c24aa23 systemd: backport patch to allow setting dbus calls timeout
Backport 0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch
which allows setting dbus calls timeout via SYSTEMD_BUS_TIMEOUT
environment variable.

This is needed as we are meeting timeout failures from the oeqa
runtime test case systemd.py.

(From OE-Core rev: caa4fa5e6ce7d50bdcd04e199d61401b3e8b9ff7)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-31 22:47:36 +01:00
Khem Raj
ae1dbbbfb5 systemd: Explicitly add hidden attribute to __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
These symbols appear in dynsyms of libsystemd.so and musl loader
doesnt like it

Error relocating /mnt/a/oe/build/tmp/work/i586-bec-linux-musl/avahi/0.7-r0/recipe-sysroot//lib/libsystemd.so.0: __start_BUS_ERROR_MAP: symbol not found
Error relocating /mnt/a/oe/build/tmp/work/i586-bec-linux-musl/avahi/0.7-r0/recipe-sysroot//lib/libsystemd.so.0: __stop_BUS_ERROR_MAP: symbol not found

[YOCTO #12577]

(From OE-Core rev: a13d3314cd4ddc812c3ac2904c8f563f7462878a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-26 13:16:41 +01:00
Chen Qi
b0f2f690a3 systemd-boot: upgrade to 239
Upgrade systemd-boot to 239.

The following patch is removed due to recent fix about meson's cpu family
mapping and validation.

  0001-Also-check-i386-i586-and-i686-for-ia32.patch

(From OE-Core rev: ff0b682b807959521c85716296de7a1d26d7d18f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-18 10:18:42 +01:00
Chen Qi
ada8a5d917 systemd: upgrade to 239
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@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.

  Also update the FILES_${PN} to include these files to avoid QA issue.

(From OE-Core rev: 597f4645faf61486eb1d2ab73f3d974460ab9466)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-18 10:18:42 +01:00