summaryrefslogtreecommitdiffstats
path: root/poky/meta/recipes-core
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/recipes-core')
-rw-r--r--poky/meta/recipes-core/base-files/base-files/filesystems8
-rw-r--r--poky/meta/recipes-core/base-files/base-files/hosts (renamed from poky/meta/recipes-core/netbase/netbase/hosts)0
-rw-r--r--poky/meta/recipes-core/base-files/base-files_3.0.14.bb9
-rw-r--r--poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb (renamed from poky/meta/recipes-core/busybox/busybox-inittab_1.29.3.bb)0
-rw-r--r--poky/meta/recipes-core/busybox/busybox.inc22
-rw-r--r--poky/meta/recipes-core/busybox/busybox/0001-du-l-works-fix-to-use-145-instead-of-144.patch32
-rw-r--r--poky/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch45
-rw-r--r--poky/meta/recipes-core/busybox/busybox/0001-testsuite-use-www.example.org-for-wget-test-cases.patch62
-rw-r--r--poky/meta/recipes-core/busybox/busybox/defconfig193
-rw-r--r--poky/meta/recipes-core/busybox/busybox_1.30.1.bb (renamed from poky/meta/recipes-core/busybox/busybox_1.29.3.bb)7
-rw-r--r--poky/meta/recipes-core/busybox/files/run-ptest6
-rw-r--r--poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb (renamed from poky/meta/recipes-core/dbus/dbus-test_1.12.10.bb)4
-rw-r--r--poky/meta/recipes-core/dbus/dbus_1.12.12.bb (renamed from poky/meta/recipes-core/dbus/dbus_1.12.10.bb)11
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear.inc1
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear/CVE-2018-15599.patch236
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear_2018.76.bb5
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear_2019.77.bb4
-rw-r--r--poky/meta/recipes-core/fts/fts_1.2.7.bb (renamed from poky/meta/recipes-core/fts/fts.bb)11
-rw-r--r--poky/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch141
-rw-r--r--poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb9
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch50
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch17
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch64
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch104
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch62
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch27
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch2
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch95
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch44
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/date-lt.patch20
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross6
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch2
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest1
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb (renamed from poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.0.bb)14
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib.inc59
-rw-r--r--poky/meta/recipes-core/glib-networking/glib-networking_2.54.1.bb29
-rw-r--r--poky/meta/recipes-core/glib-networking/glib-networking_2.58.0.bb31
-rw-r--r--poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb (renamed from poky/meta/recipes-core/glibc/cross-localedef-native_2.28.bb)8
-rw-r--r--poky/meta/recipes-core/glibc/glibc-collateral.inc17
-rw-r--r--poky/meta/recipes-core/glibc/glibc-common.inc14
-rw-r--r--poky/meta/recipes-core/glibc/glibc-initial.inc57
-rw-r--r--poky/meta/recipes-core/glibc/glibc-initial_2.28.bb9
-rw-r--r--poky/meta/recipes-core/glibc/glibc-ld.inc4
-rw-r--r--poky/meta/recipes-core/glibc/glibc-locale.inc40
-rw-r--r--poky/meta/recipes-core/glibc/glibc-locale_2.29.bb (renamed from poky/meta/recipes-core/glibc/glibc-locale_2.28.bb)0
-rw-r--r--poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb (renamed from poky/meta/recipes-core/glibc/glibc-mtrace_2.28.bb)0
-rw-r--r--poky/meta/recipes-core/glibc/glibc-package.inc39
-rw-r--r--poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb (renamed from poky/meta/recipes-core/glibc/glibc-scripts_2.28.bb)0
-rw-r--r--poky/meta/recipes-core/glibc/glibc.inc42
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch10
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch204
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch10
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch26
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch39
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch13
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch7
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch10
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch7
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch10
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch21
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch7
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch7
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch13
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch7
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch7
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch11
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch45
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch (renamed from poky/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch)29
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch (renamed from poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch)9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch35
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch37
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch65
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch66
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch (renamed from poky/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch)9
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch (renamed from poky/meta/recipes-core/glibc/glibc/0034-inject-file-assembly-directives.patch)172
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch (renamed from poky/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch)36
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch258
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch100
-rw-r--r--poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch36
-rw-r--r--poky/meta/recipes-core/glibc/glibc_2.29.bb (renamed from poky/meta/recipes-core/glibc/glibc_2.28.bb)58
-rw-r--r--poky/meta/recipes-core/glibc/site_config/funcs474
-rw-r--r--poky/meta/recipes-core/glibc/site_config/headers155
-rw-r--r--poky/meta/recipes-core/glibc/site_config/types21
-rw-r--r--poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb5
-rw-r--r--poky/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh2
-rw-r--r--poky/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb7
-rwxr-xr-xpoky/meta/recipes-core/initrdscripts/initramfs-framework/init5
-rw-r--r--poky/meta/recipes-core/initrdscripts/initramfs-framework/lvm13
-rw-r--r--poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb9
-rwxr-xr-xpoky/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh7
-rw-r--r--poky/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh6
-rw-r--r--poky/meta/recipes-core/initscripts/initscripts-1.0/volatiles2
-rw-r--r--poky/meta/recipes-core/libxcrypt/libxcrypt.bb (renamed from poky/meta/recipes-core/libxcrypt/libxcrypt_4.1.1.bb)9
-rw-r--r--poky/meta/recipes-core/libxml/libxml2_2.9.8.bb2
-rw-r--r--poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb4
-rw-r--r--poky/meta/recipes-core/musl/libssp-nonshared.bb7
-rw-r--r--poky/meta/recipes-core/musl/musl.inc6
-rw-r--r--poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch61
-rw-r--r--poky/meta/recipes-core/musl/musl_git.bb11
-rw-r--r--poky/meta/recipes-core/ncurses/ncurses.inc4
-rw-r--r--poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb (renamed from poky/meta/recipes-core/ncurses/ncurses_6.1+20180630.bb)4
-rw-r--r--poky/meta/recipes-core/netbase/netbase/netbase-add-rpcbind-as-an-alias-to-sunrpc.patch14
-rw-r--r--poky/meta/recipes-core/netbase/netbase_5.6.bb (renamed from poky/meta/recipes-core/netbase/netbase_5.4.bb)12
-rw-r--r--poky/meta/recipes-core/newlib/newlib.inc6
-rw-r--r--poky/meta/recipes-core/newlib/newlib_3.0.0.bb2
-rw-r--r--poky/meta/recipes-core/os-release/os-release.bb1
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf_git.bb7
-rw-r--r--poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb1
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb1
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb8
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb2
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb1
-rw-r--r--poky/meta/recipes-core/psplash/psplash_git.bb6
-rw-r--r--poky/meta/recipes-core/readline/readline-8.0/configure-fix.patch (renamed from poky/meta/recipes-core/readline/readline-7.0/configure-fix.patch)0
-rw-r--r--poky/meta/recipes-core/readline/readline-8.0/norpath.patch (renamed from poky/meta/recipes-core/readline/readline-7.0/norpath.patch)0
-rw-r--r--poky/meta/recipes-core/readline/readline_7.0.bb7
-rw-r--r--poky/meta/recipes-core/readline/readline_8.0.bb7
-rw-r--r--poky/meta/recipes-core/systemd/systemd-boot_241.bb (renamed from poky/meta/recipes-core/systemd/systemd-boot_239.bb)7
-rw-r--r--poky/meta/recipes-core/systemd/systemd-conf_241.bb (renamed from poky/meta/recipes-core/systemd/systemd-conf.bb)0
-rw-r--r--poky/meta/recipes-core/systemd/systemd.inc8
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch33
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch33
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch77
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch36
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch21
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch22
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch219
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-core-when-deserializing-state-always-use-read_line-L.patch250
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch39
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch523
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch110
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch118
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch32
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-meson-rename-Ddebug-to-Ddebug-extra.patch45
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch175
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch31
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-timesync-changes-type-of-drift_freq-to-int64_t.patch49
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0002-core-Fix-use-after-free-case-in-load_from_path.patch43
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch231
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch14
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch40
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0003-implment-systemd-sysv-install-for-OE.patch8
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch61
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch33
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch18
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0005-Make-root-s-home-directory-configurable.patch70
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch29
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch (renamed from poky/meta/recipes-core/systemd/systemd/0007-rules-watch-metadata-changes-in-ide-devices.patch)18
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch (renamed from poky/meta/recipes-core/systemd/systemd/0006-src-basic-missing.h-check-for-missing-strndupa.patch)90
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch (renamed from poky/meta/recipes-core/systemd/systemd/0007-Include-netinet-if_ether.h.patch)28
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0006-remove-nobody-user-group-checking.patch63
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch (renamed from poky/meta/recipes-core/systemd/systemd/0008-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch)49
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0008-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch29
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch (renamed from poky/meta/recipes-core/systemd/systemd/0009-add-missing-FTW_-macros-for-musl.patch)29
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0009-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch43
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch (renamed from poky/meta/recipes-core/systemd/systemd/0010-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch)10
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch (renamed from poky/meta/recipes-core/systemd/systemd/0012-fix-missing-of-__register_atfork-for-non-glibc-build.patch)16
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0011-Use-uintmax_t-for-handling-rlim_t.patch (renamed from poky/meta/recipes-core/systemd/systemd/0013-Use-uintmax_t-for-handling-rlim_t.patch)59
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch48
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch27
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch (renamed from poky/meta/recipes-core/systemd/systemd/0015-test-hexdecoct.c-Include-missing.h-for-strndupa.patch)8
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0014-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch30
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch (renamed from poky/meta/recipes-core/systemd/systemd/0016-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch)12
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch (renamed from poky/meta/recipes-core/systemd/systemd/0017-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch)10
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch (renamed from poky/meta/recipes-core/systemd/systemd/0018-Define-glibc-compatible-basename-for-non-glibc-syste.patch)8
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch (renamed from poky/meta/recipes-core/systemd/systemd/0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch)10
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch (renamed from poky/meta/recipes-core/systemd/systemd/0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch)12
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch35
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0020-missing_type.h-add-__compar_d_fn_t-definition.patch30
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch34
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch47
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch109
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch33
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0023-resolvconf-fixes-for-the-compatibility-interface.patch58
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch30
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0024-journald-do-not-store-the-iovec-entry-for-process-co.patch208
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch33
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0025-journald-set-a-limit-on-the-number-of-fields.patch139
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0026-journal-fix-out-of-bounds-read-CVE-2018-16866.patch49
-rw-r--r--poky/meta/recipes-core/systemd/systemd/CVE-2019-6454.patch210
-rw-r--r--poky/meta/recipes-core/systemd/systemd/sd-bus-if-we-receive-an-invalid-dbus-message-ignore-.patch61
-rw-r--r--poky/meta/recipes-core/systemd/systemd_241.bb (renamed from poky/meta/recipes-core/systemd/systemd_239.bb)87
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty14
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb1
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch (renamed from poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch)0
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch (renamed from poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch)0
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit/install.patch (renamed from poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch)0
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch (renamed from poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/pidof-add-m-option.patch)0
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux.inc348
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux/check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch16
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch33
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb17
-rw-r--r--poky/meta/recipes-core/zlib/zlib-1.2.11/Makefile-runtests.patch38
-rw-r--r--poky/meta/recipes-core/zlib/zlib-1.2.11/remove.ldconfig.call.patch21
-rw-r--r--poky/meta/recipes-core/zlib/zlib-1.2.11/run-ptest2
-rw-r--r--poky/meta/recipes-core/zlib/zlib/ldflags-tests.patch (renamed from poky/meta/recipes-core/zlib/zlib-1.2.11/ldflags-tests.patch)4
-rw-r--r--poky/meta/recipes-core/zlib/zlib/run-ptest7
-rw-r--r--poky/meta/recipes-core/zlib/zlib_1.2.11.bb19
204 files changed, 3421 insertions, 5206 deletions
diff --git a/poky/meta/recipes-core/base-files/base-files/filesystems b/poky/meta/recipes-core/base-files/base-files/filesystems
deleted file mode 100644
index 7e6c41c38..000000000
--- a/poky/meta/recipes-core/base-files/base-files/filesystems
+++ /dev/null
@@ -1,8 +0,0 @@
-ext4
-ext3
-ext2
-vfat
-fat
-btrfs
-minix
-*
diff --git a/poky/meta/recipes-core/netbase/netbase/hosts b/poky/meta/recipes-core/base-files/base-files/hosts
index b94f414d5..b94f414d5 100644
--- a/poky/meta/recipes-core/netbase/netbase/hosts
+++ b/poky/meta/recipes-core/base-files/base-files/hosts
diff --git a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
index 6e75652f1..a1639db83 100644
--- a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
+++ b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
@@ -13,11 +13,11 @@ LIC_FILES_CHKSUM = "file://licenses/GPL-2;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "file://rotation \
file://nsswitch.conf \
file://motd \
+ file://hosts \
file://host.conf \
file://profile \
file://shells \
file://fstab \
- file://filesystems \
file://issue.net \
file://issue \
file://usbd \
@@ -113,6 +113,7 @@ do_install () {
ln -snf ../run ${D}${localstatedir}/run
ln -snf ../run/lock ${D}${localstatedir}/lock
+ install -m 0644 ${WORKDIR}/hosts ${D}${sysconfdir}/hosts
${BASEFILESISSUEINSTALL}
rotation=`cat ${WORKDIR}/rotation`
@@ -121,7 +122,6 @@ do_install () {
fi
install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}/fstab
- install -m 0644 ${WORKDIR}/filesystems ${D}${sysconfdir}/filesystems
install -m 0644 ${WORKDIR}/usbd ${D}${sysconfdir}/default/usbd
install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile
sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}${sysconfdir}/profile
@@ -140,6 +140,7 @@ DISTRO_VERSION[vardepsexclude] += "DATE"
do_install_basefilesissue () {
if [ "${hostname}" ]; then
echo ${hostname} > ${D}${sysconfdir}/hostname
+ echo "127.0.1.1 ${hostname}" >> ${D}${sysconfdir}/hosts
fi
install -m 644 ${WORKDIR}/issue* ${D}${sysconfdir}
@@ -147,7 +148,7 @@ do_install_basefilesissue () {
printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue
printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue.net
if [ -n "${DISTRO_VERSION}" ]; then
- distro_version_nodate=${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot').replace('${DATE}','')}
+ distro_version_nodate="${@d.getVar('DISTRO_VERSION').replace('snapshot-${DATE}','snapshot').replace('${DATE}','')}"
printf "%s " $distro_version_nodate >> ${D}${sysconfdir}/issue
printf "%s " $distro_version_nodate >> ${D}${sysconfdir}/issue.net
fi
@@ -177,5 +178,5 @@ FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-CONFFILES_${PN} = "${sysconfdir}/fstab ${@['', '${sysconfdir}/hostname'][(d.getVar('hostname') != '')]} ${sysconfdir}/shells"
+CONFFILES_${PN} = "${sysconfdir}/fstab ${@['', '${sysconfdir}/hostname ${sysconfdir}/hosts'][(d.getVar('hostname') != '')]} ${sysconfdir}/shells"
CONFFILES_${PN} += "${sysconfdir}/motd ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile"
diff --git a/poky/meta/recipes-core/busybox/busybox-inittab_1.29.3.bb b/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb
index a83620e85..a83620e85 100644
--- a/poky/meta/recipes-core/busybox/busybox-inittab_1.29.3.bb
+++ b/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb
diff --git a/poky/meta/recipes-core/busybox/busybox.inc b/poky/meta/recipes-core/busybox/busybox.inc
index 0c0d26ed3..c9d25ff1c 100644
--- a/poky/meta/recipes-core/busybox/busybox.inc
+++ b/poky/meta/recipes-core/busybox/busybox.inc
@@ -53,6 +53,9 @@ RDEPENDS_${PN} = "${@["", "busybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_man
inherit cml1 systemd update-rc.d ptest
+# busybox's unzip test case needs zip command, which busybox itself does not provide
+RDEPENDS_${PN}-ptest = "zip"
+
# internal helper
def busybox_cfg(feature, tokens, cnf, rem):
if type(tokens) == type(""):
@@ -72,8 +75,7 @@ def features_to_busybox_settings(d):
busybox_cfg(bb.utils.contains('DISTRO_FEATURES', 'nls', True, False, d), 'CONFIG_LOCALE_SUPPORT', cnf, rem)
busybox_cfg(bb.utils.contains('DISTRO_FEATURES', 'ipv4', True, False, d), 'CONFIG_FEATURE_IFUPDOWN_IPV4', cnf, rem)
busybox_cfg(bb.utils.contains('DISTRO_FEATURES', 'ipv6', True, False, d), 'CONFIG_FEATURE_IFUPDOWN_IPV6', cnf, rem)
- busybox_cfg(bb.utils.contains('DISTRO_FEATURES', 'wifi', True, False, d), 'CONFIG_RFKILL', cnf, rem)
- busybox_cfg(bb.utils.contains('DISTRO_FEATURES', 'bluetooth', True, False, d), 'CONFIG_RFKILL', cnf, rem)
+ busybox_cfg(bb.utils.contains_any('DISTRO_FEATURES', 'bluetooth wifi', True, False, d), 'CONFIG_RFKILL', cnf, rem)
return "\n".join(cnf), "\n".join(rem)
# X, Y = ${@features_to_busybox_settings(d)}
@@ -349,6 +351,20 @@ do_install_ptest () {
cp -r ${B}/testsuite ${D}${PTEST_PATH}/
cp ${B}/.config ${D}${PTEST_PATH}/
ln -s /bin/busybox ${D}${PTEST_PATH}/busybox
+
+ mkdir ${D}${PTEST_PATH}/bin
+ if [ "${BUSYBOX_SPLIT_SUID}" = "1" ]; then
+ while read link; do
+ ln -s ${base_bindir}/busybox.suid ${D}${PTEST_PATH}/bin/$(basename $link)
+ done <${D}${sysconfdir}/busybox.links.suid
+ while read link; do
+ ln -s ${base_bindir}/busybox.nosuid ${D}${PTEST_PATH}/bin/$(basename $link)
+ done <${D}${sysconfdir}/busybox.links.nosuid
+ else
+ while read link; do
+ ln -s ${base_bindir}/busybox ${D}${PTEST_PATH}/bin/$(basename $link)
+ done <${D}${sysconfdir}/busybox.links
+ fi
}
inherit update-alternatives
@@ -455,4 +471,4 @@ pkg_prerm_${PN}-syslog () {
fi
}
-RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh', '', d)}"
+RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/ash', '', d)}"
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-du-l-works-fix-to-use-145-instead-of-144.patch b/poky/meta/recipes-core/busybox/busybox/0001-du-l-works-fix-to-use-145-instead-of-144.patch
new file mode 100644
index 000000000..bb5f7533e
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox/0001-du-l-works-fix-to-use-145-instead-of-144.patch
@@ -0,0 +1,32 @@
+From c69feb2fdb755d6db34d0eb0a9e9994386c15e3a Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Wed, 14 Nov 2018 15:19:57 +0800
+Subject: [PATCH] du-l-works: fix to use 145 instead of 144
+
+64 + 64 + 16 = 144
+144 + size_of_directory >= 145
+So fix to use 145 instead of 144.
+
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2018-November/086836.html]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ testsuite/du/du-l-works | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/testsuite/du/du-l-works b/testsuite/du/du-l-works
+index af87345..575064a 100644
+--- a/testsuite/du/du-l-works
++++ b/testsuite/du/du-l-works
+@@ -5,7 +5,7 @@ cd du.testdir
+ dd if=/dev/zero of=file1 bs=1k count=64 2>/dev/null
+ ln file1 file1.1
+ dd if=/dev/zero of=file2 bs=1k count=16 2>/dev/null
+-test x"`busybox du -l .`" = x"144 ." \
++test x"`busybox du -l .`" = x"145 ." \
+ -o x"`busybox du -l .`" = x"146 ." \
+ -o x"`busybox du -l .`" = x"148 ." \
+ -o x"`busybox du -l .`" = x"152 ." \
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch b/poky/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch
new file mode 100644
index 000000000..25472f0bb
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch
@@ -0,0 +1,45 @@
+From 85f164ec427fecbae24140b3c93acbbe2ba1c817 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 13 Nov 2018 11:27:01 +0800
+Subject: [PATCH] testsuite: check uudecode before using it
+
+The unzip and tar test cases use uudecode command, so also
+check it via optional function.
+
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2018-November/086833.html]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ testsuite/tar.tests | 2 +-
+ testsuite/unzip.tests | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/testsuite/tar.tests b/testsuite/tar.tests
+index d71a349..8c88567 100755
+--- a/testsuite/tar.tests
++++ b/testsuite/tar.tests
+@@ -336,7 +336,7 @@ SKIP=
+ cd .. || exit 1; rm -rf tar.tempdir 2>/dev/null
+
+ mkdir tar.tempdir && cd tar.tempdir || exit 1
+-optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS
++optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS UUDECODE
+ testing "Symlink attack: create symlink and then write through it" '\
+ exec 2>&1
+ uudecode -o input && tar xvf input; echo $?
+diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests
+index af53de9..3b45ece 100755
+--- a/testsuite/unzip.tests
++++ b/testsuite/unzip.tests
+@@ -31,7 +31,7 @@ rmdir foo
+ rm foo.zip
+
+ # File containing some damaged encrypted stream
+-optional FEATURE_UNZIP_CDF CONFIG_UNICODE_SUPPORT
++optional FEATURE_UNZIP_CDF CONFIG_UNICODE_SUPPORT UUDECODE
+ testing "unzip (bad archive)" "uudecode; unzip bad.zip 2>&1; echo \$?" \
+ "Archive: bad.zip
+ inflating: ]3j½r«I??K-%Ix
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-testsuite-use-www.example.org-for-wget-test-cases.patch b/poky/meta/recipes-core/busybox/busybox/0001-testsuite-use-www.example.org-for-wget-test-cases.patch
new file mode 100644
index 000000000..7ba0f77fa
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox/0001-testsuite-use-www.example.org-for-wget-test-cases.patch
@@ -0,0 +1,62 @@
+From 03acf460990dfcf6e52b298301b348b9504460a8 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 13 Nov 2018 13:51:42 +0800
+Subject: [PATCH] testsuite: use www.example.org for wget test cases
+
+Use example.org instead of google.com to make sure it's
+always reachible.
+
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2018-November/086835.html]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ testsuite/wget/wget--O-overrides--P | 2 +-
+ testsuite/wget/wget-handles-empty-path | 2 +-
+ testsuite/wget/wget-retrieves-google-index | 2 +-
+ testsuite/wget/wget-supports--P | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/testsuite/wget/wget--O-overrides--P b/testsuite/wget/wget--O-overrides--P
+index 40a3a96..490d743 100644
+--- a/testsuite/wget/wget--O-overrides--P
++++ b/testsuite/wget/wget--O-overrides--P
+@@ -1,5 +1,5 @@
+ test x"$SKIP_INTERNET_TESTS" != x"" && exit
+
+ mkdir foo
+-busybox wget -q -O index.html -P foo http://www.google.com/
++busybox wget -q -O index.html -P foo http://www.example.org/
+ test -s index.html
+diff --git a/testsuite/wget/wget-handles-empty-path b/testsuite/wget/wget-handles-empty-path
+index 01d60bd..1802db6 100644
+--- a/testsuite/wget/wget-handles-empty-path
++++ b/testsuite/wget/wget-handles-empty-path
+@@ -1,3 +1,3 @@
+ test x"$SKIP_INTERNET_TESTS" != x"" && exit
+
+-busybox wget http://www.google.com
++busybox wget http://www.example.org
+diff --git a/testsuite/wget/wget-retrieves-google-index b/testsuite/wget/wget-retrieves-google-index
+index f9dbb8b..fc801d4 100644
+--- a/testsuite/wget/wget-retrieves-google-index
++++ b/testsuite/wget/wget-retrieves-google-index
+@@ -1,4 +1,4 @@
+ test x"$SKIP_INTERNET_TESTS" != x"" && exit
+
+-busybox wget -q -O foo http://www.google.com/
++busybox wget -q -O foo http://www.example.org/
+ test -s foo
+diff --git a/testsuite/wget/wget-supports--P b/testsuite/wget/wget-supports--P
+index bfe4ac4..4ff2fe0 100644
+--- a/testsuite/wget/wget-supports--P
++++ b/testsuite/wget/wget-supports--P
+@@ -1,5 +1,5 @@
+ test x"$SKIP_INTERNET_TESTS" != x"" && exit
+
+ mkdir foo
+-busybox wget -q -P foo http://www.google.com/
++busybox wget -q -P foo http://www.example.org/
+ test -s foo/index.html
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/busybox/busybox/defconfig b/poky/meta/recipes-core/busybox/busybox/defconfig
index 32213c067..493db28e8 100644
--- a/poky/meta/recipes-core/busybox/busybox/defconfig
+++ b/poky/meta/recipes-core/busybox/busybox/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.29.1
-# Thu Jul 19 11:09:46 2018
+# Busybox version: 1.30.1
+# Sun Feb 17 18:12:27 2019
#
CONFIG_HAVE_DOT_CONFIG=y
@@ -12,29 +12,29 @@ CONFIG_HAVE_DOT_CONFIG=y
# CONFIG_EXTRA_COMPAT is not set
# CONFIG_FEDORA_COMPAT is not set
# CONFIG_INCLUDE_SUSv2 is not set
-# CONFIG_USE_PORTABLE_CODE is not set
+CONFIG_LONG_OPTS=y
CONFIG_SHOW_USAGE=y
# CONFIG_FEATURE_VERBOSE_USAGE is not set
CONFIG_FEATURE_COMPRESS_USAGE=y
-CONFIG_BUSYBOX=y
-# CONFIG_FEATURE_INSTALLER is not set
-# CONFIG_INSTALL_NO_USR is not set
+CONFIG_LFS=y
# CONFIG_PAM is not set
-CONFIG_LONG_OPTS=y
CONFIG_FEATURE_DEVPTS=y
-# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_UTMP=y
# CONFIG_FEATURE_WTMP is not set
CONFIG_FEATURE_PIDFILE=y
CONFIG_PID_FILE_PATH="/var/run"
+CONFIG_BUSYBOX=y
+# CONFIG_FEATURE_SHOW_SCRIPT is not set
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_INSTALL_NO_USR is not set
CONFIG_FEATURE_SUID=y
CONFIG_FEATURE_SUID_CONFIG=y
CONFIG_FEATURE_SUID_CONFIG_QUIET=y
-# CONFIG_SELINUX is not set
# CONFIG_FEATURE_PREFER_APPLETS is not set
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
+# CONFIG_SELINUX is not set
+# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_SYSLOG=y
-# CONFIG_FEATURE_HAVE_RPC is not set
CONFIG_PLATFORM_LINUX=y
#
@@ -44,14 +44,16 @@ CONFIG_PLATFORM_LINUX=y
# CONFIG_PIE is not set
# CONFIG_NOMMU is not set
# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set
# CONFIG_FEATURE_INDIVIDUAL is not set
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_SYSROOT=""
CONFIG_EXTRA_CFLAGS=""
CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""
+# CONFIG_USE_PORTABLE_CODE is not set
+CONFIG_STACK_OPTIMIZATION_386=y
#
# Installation Options ("make install" behavior)
@@ -81,7 +83,9 @@ CONFIG_NO_DEBUG_LIB=y
# Library Tuning
#
# CONFIG_FEATURE_USE_BSS_TAIL is not set
+CONFIG_FLOAT_DURATION=y
CONFIG_FEATURE_RTMINMAX=y
+# CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS is not set
CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
@@ -101,6 +105,7 @@ CONFIG_FEATURE_EDITING_SAVEHISTORY=y
CONFIG_FEATURE_TAB_COMPLETION=y
CONFIG_FEATURE_USERNAME_COMPLETION=y
CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
+# CONFIG_FEATURE_EDITING_WINCH is not set
# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
# CONFIG_LOCALE_SUPPORT is not set
# CONFIG_UNICODE_SUPPORT is not set
@@ -146,11 +151,10 @@ CONFIG_BZCAT=y
# CONFIG_UNLZMA is not set
CONFIG_LZCAT=y
# CONFIG_LZMA is not set
-# CONFIG_FEATURE_LZMA_FAST is not set
# CONFIG_UNXZ is not set
CONFIG_XZCAT=y
# CONFIG_XZ is not set
-# CONFIG_BZIP2 is not set
+CONFIG_BZIP2=y
CONFIG_FEATURE_BZIP2_DECOMPRESS=y
CONFIG_CPIO=y
# CONFIG_FEATURE_CPIO_O is not set
@@ -185,12 +189,14 @@ CONFIG_FEATURE_UNZIP_CDF=y
# CONFIG_FEATURE_UNZIP_BZIP2 is not set
# CONFIG_FEATURE_UNZIP_LZMA is not set
# CONFIG_FEATURE_UNZIP_XZ is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
#
# Coreutils
#
CONFIG_BASENAME=y
CONFIG_CAT=y
+CONFIG_FEATURE_CATN=y
# CONFIG_FEATURE_CATV is not set
CONFIG_CHGRP=y
CONFIG_CHMOD=y
@@ -201,6 +207,7 @@ CONFIG_CHROOT=y
# CONFIG_COMM is not set
CONFIG_CP=y
# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
+# CONFIG_FEATURE_CP_REFLINK is not set
CONFIG_CUT=y
CONFIG_DATE=y
# CONFIG_FEATURE_DATE_ISOFMT is not set
@@ -221,11 +228,8 @@ CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
CONFIG_ECHO=y
CONFIG_FEATURE_FANCY_ECHO=y
CONFIG_ENV=y
-CONFIG_FEATURE_ENV_LONG_OPTIONS=y
# CONFIG_EXPAND is not set
-# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
# CONFIG_UNEXPAND is not set
-# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
CONFIG_EXPR=y
CONFIG_EXPR_MATH_SUPPORT_64=y
# CONFIG_FACTOR is not set
@@ -263,12 +267,10 @@ CONFIG_MD5SUM=y
#
CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
CONFIG_MKDIR=y
-CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
CONFIG_MKFIFO=y
CONFIG_MKNOD=y
CONFIG_MKTEMP=y
CONFIG_MV=y
-# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
# CONFIG_NICE is not set
# CONFIG_NL is not set
CONFIG_NOHUP=y
@@ -283,15 +285,14 @@ CONFIG_FEATURE_READLINK_FOLLOW=y
CONFIG_REALPATH=y
CONFIG_RM=y
CONFIG_RMDIR=y
-# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
CONFIG_SEQ=y
# CONFIG_SHRED is not set
CONFIG_SHUF=y
CONFIG_SLEEP=y
CONFIG_FEATURE_FANCY_SLEEP=y
-CONFIG_FEATURE_FLOAT_SLEEP=y
CONFIG_SORT=y
CONFIG_FEATURE_SORT_BIG=y
+# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set
# CONFIG_SPLIT is not set
# CONFIG_FEATURE_SPLIT_FANCY is not set
CONFIG_STAT=y
@@ -331,10 +332,10 @@ CONFIG_USLEEP=y
# CONFIG_UUENCODE is not set
CONFIG_WC=y
# CONFIG_FEATURE_WC_LARGE is not set
+CONFIG_WHOAMI=y
CONFIG_WHO=y
# CONFIG_W is not set
CONFIG_USERS=y
-CONFIG_WHOAMI=y
CONFIG_YES=y
#
@@ -443,6 +444,7 @@ CONFIG_FEATURE_FIND_MTIME=y
CONFIG_FEATURE_FIND_MMIN=y
CONFIG_FEATURE_FIND_PERM=y
CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_EXECUTABLE=y
CONFIG_FEATURE_FIND_XDEV=y
CONFIG_FEATURE_FIND_MAXDEPTH=y
CONFIG_FEATURE_FIND_NEWER=y
@@ -456,6 +458,7 @@ CONFIG_FEATURE_FIND_DEPTH=y
CONFIG_FEATURE_FIND_PAREN=y
CONFIG_FEATURE_FIND_SIZE=y
CONFIG_FEATURE_FIND_PRUNE=y
+CONFIG_FEATURE_FIND_QUIT=y
# CONFIG_FEATURE_FIND_DELETE is not set
CONFIG_FEATURE_FIND_PATH=y
CONFIG_FEATURE_FIND_REGEX=y
@@ -471,6 +474,8 @@ CONFIG_XARGS=y
# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
+# CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE is not set
#
# Init Utilities
@@ -481,6 +486,7 @@ CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
# CONFIG_HALT is not set
# CONFIG_POWEROFF is not set
CONFIG_REBOOT=y
+# CONFIG_FEATURE_WAIT_FOR_INIT is not set
# CONFIG_FEATURE_CALL_TELINIT is not set
# CONFIG_TELINIT_PATH is not set
# CONFIG_INIT is not set
@@ -503,13 +509,11 @@ CONFIG_REBOOT=y
# CONFIG_USE_BB_SHADOW is not set
CONFIG_USE_BB_CRYPT=y
# CONFIG_USE_BB_CRYPT_SHA is not set
-# CONFIG_ADD_SHELL is not set
-# CONFIG_REMOVE_SHELL is not set
# CONFIG_ADDGROUP is not set
-# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
+# CONFIG_ADD_SHELL is not set
+# CONFIG_REMOVE_SHELL is not set
# CONFIG_ADDUSER is not set
-# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
# CONFIG_FEATURE_CHECK_NAMES is not set
CONFIG_LAST_ID=60000
CONFIG_FIRST_SYSTEM_ID=100
@@ -585,8 +589,11 @@ CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
# CONFIG_FEATURE_BLKID_TYPE is not set
# CONFIG_BLOCKDEV is not set
# CONFIG_CAL is not set
+# CONFIG_CHRT is not set
CONFIG_DMESG=y
CONFIG_FEATURE_DMESG_PRETTY=y
+# CONFIG_EJECT is not set
+# CONFIG_FEATURE_EJECT_SCSI is not set
# CONFIG_FALLOCATE is not set
# CONFIG_FATATTR is not set
CONFIG_FBSET=y
@@ -616,8 +623,8 @@ CONFIG_HEXDUMP=y
# CONFIG_HD is not set
# CONFIG_XXD is not set
CONFIG_HWCLOCK=y
-CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
+# CONFIG_IONICE is not set
# CONFIG_IPCRM is not set
# CONFIG_IPCS is not set
# CONFIG_LAST is not set
@@ -653,8 +660,10 @@ CONFIG_MOUNT=y
CONFIG_FEATURE_MOUNT_FLAGS=y
CONFIG_FEATURE_MOUNT_FSTAB=y
# CONFIG_FEATURE_MOUNT_OTHERTAB is not set
+CONFIG_MOUNTPOINT=y
+# CONFIG_NOLOGIN is not set
+# CONFIG_NOLOGIN_DEPENDENCIES is not set
# CONFIG_NSENTER is not set
-# CONFIG_FEATURE_NSENTER_LONG_OPTS is not set
CONFIG_PIVOT_ROOT=y
CONFIG_RDATE=y
# CONFIG_RDEV is not set
@@ -668,10 +677,15 @@ CONFIG_RENICE=y
# CONFIG_LINUX32 is not set
# CONFIG_LINUX64 is not set
# CONFIG_SETPRIV is not set
+# CONFIG_FEATURE_SETPRIV_DUMP is not set
+# CONFIG_FEATURE_SETPRIV_CAPABILITIES is not set
+# CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES is not set
+CONFIG_SETSID=y
CONFIG_SWAPON=y
CONFIG_FEATURE_SWAPON_DISCARD=y
CONFIG_FEATURE_SWAPON_PRI=y
CONFIG_SWAPOFF=y
+# CONFIG_FEATURE_SWAPONOFF_LABEL is not set
CONFIG_SWITCH_ROOT=y
# CONFIG_TASKSET is not set
# CONFIG_FEATURE_TASKSET_FANCY is not set
@@ -702,9 +716,11 @@ CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
# CONFIG_FEATURE_VOLUMEID_HFS is not set
# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
# CONFIG_FEATURE_VOLUMEID_JFS is not set
+# CONFIG_FEATURE_VOLUMEID_LFS is not set
# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
# CONFIG_FEATURE_VOLUMEID_LUKS is not set
+# CONFIG_FEATURE_VOLUMEID_MINIX is not set
# CONFIG_FEATURE_VOLUMEID_NILFS is not set
# CONFIG_FEATURE_VOLUMEID_NTFS is not set
# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
@@ -719,19 +735,44 @@ CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
#
# Miscellaneous Utilities
#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_BBCONFIG is not set
+# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
+# CONFIG_BC is not set
+CONFIG_DC=y
+# CONFIG_FEATURE_DC_BIG is not set
+# CONFIG_FEATURE_DC_LIBM is not set
+# CONFIG_FEATURE_BC_INTERACTIVE is not set
+# CONFIG_FEATURE_BC_LONG_OPTIONS is not set
# CONFIG_BEEP is not set
CONFIG_FEATURE_BEEP_FREQ=0
CONFIG_FEATURE_BEEP_LENGTH_MS=0
+# CONFIG_CHAT is not set
+# CONFIG_FEATURE_CHAT_NOFAIL is not set
+# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
+# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
+# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
+# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
+# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
+# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
# CONFIG_CONSPY is not set
# CONFIG_CROND is not set
# CONFIG_FEATURE_CROND_D is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+# CONFIG_FEATURE_CROND_SPECIAL_TIMES is not set
CONFIG_FEATURE_CROND_DIR=""
+# CONFIG_CRONTAB is not set
# CONFIG_DEVFSD is not set
# CONFIG_DEVFSD_MODLOAD is not set
# CONFIG_DEVFSD_FG_NP is not set
# CONFIG_DEVFSD_VERBOSE is not set
# CONFIG_FEATURE_DEVFS is not set
+# CONFIG_DEVMEM is not set
+# CONFIG_FBSPLASH is not set
+# CONFIG_FLASHCP is not set
+# CONFIG_FLASH_ERASEALL is not set
+# CONFIG_FLASH_LOCK is not set
+# CONFIG_FLASH_UNLOCK is not set
# CONFIG_HDPARM is not set
# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
@@ -744,6 +785,7 @@ CONFIG_FEATURE_CROND_DIR=""
# CONFIG_I2CSET is not set
# CONFIG_I2CDUMP is not set
# CONFIG_I2CDETECT is not set
+# CONFIG_INOTIFYD is not set
CONFIG_LESS=y
CONFIG_FEATURE_LESS_MAXLINES=9999999
CONFIG_FEATURE_LESS_BRACKETS=y
@@ -755,78 +797,35 @@ CONFIG_FEATURE_LESS_FLAGS=y
# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set
# CONFIG_FEATURE_LESS_DASHCMD is not set
# CONFIG_FEATURE_LESS_LINENUMS is not set
+# CONFIG_FEATURE_LESS_RAW is not set
+# CONFIG_FEATURE_LESS_ENV is not set
# CONFIG_LSSCSI is not set
-# CONFIG_NANDWRITE is not set
-# CONFIG_NANDDUMP is not set
-# CONFIG_PARTPROBE is not set
-CONFIG_RFKILL=y
-# CONFIG_SETSERIAL is not set
-# CONFIG_UBIATTACH is not set
-# CONFIG_UBIDETACH is not set
-# CONFIG_UBIMKVOL is not set
-# CONFIG_UBIRMVOL is not set
-# CONFIG_UBIRSVOL is not set
-# CONFIG_UBIUPDATEVOL is not set
-# CONFIG_UBIRENAME is not set
-# CONFIG_ADJTIMEX is not set
-# CONFIG_BBCONFIG is not set
-# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
-# CONFIG_BEEP is not set
-CONFIG_FEATURE_BEEP_FREQ=0
-CONFIG_FEATURE_BEEP_LENGTH_MS=0
-# CONFIG_CHAT is not set
-# CONFIG_FEATURE_CHAT_NOFAIL is not set
-# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
-# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
-# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
-# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
-# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
-# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
-# CONFIG_CHRT is not set
-# CONFIG_CRONTAB is not set
-CONFIG_DC=y
-# CONFIG_FEATURE_DC_LIBM is not set
-# CONFIG_DEVFSD is not set
-# CONFIG_DEVFSD_MODLOAD is not set
-# CONFIG_DEVFSD_FG_NP is not set
-# CONFIG_DEVFSD_VERBOSE is not set
-# CONFIG_FEATURE_DEVFS is not set
-# CONFIG_DEVMEM is not set
-# CONFIG_EJECT is not set
-# CONFIG_FEATURE_EJECT_SCSI is not set
-# CONFIG_FBSPLASH is not set
-# CONFIG_FLASHCP is not set
-# CONFIG_FLASH_LOCK is not set
-# CONFIG_FLASH_UNLOCK is not set
-# CONFIG_FLASH_ERASEALL is not set
-# CONFIG_IONICE is not set
-# CONFIG_INOTIFYD is not set
-# CONFIG_LAST is not set
-# CONFIG_FEATURE_LAST_FANCY is not set
-# CONFIG_HDPARM is not set
-# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
-# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
-# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
# CONFIG_MAKEDEVS is not set
# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
# CONFIG_MAN is not set
CONFIG_MICROCOM=y
-# CONFIG_MOUNTPOINT is not set
# CONFIG_MT is not set
+# CONFIG_NANDWRITE is not set
+# CONFIG_NANDDUMP is not set
+# CONFIG_PARTPROBE is not set
# CONFIG_RAIDAUTORUN is not set
# CONFIG_READAHEAD is not set
+CONFIG_RFKILL=y
# CONFIG_RUNLEVEL is not set
# CONFIG_RX is not set
-# CONFIG_SETSID is not set
# CONFIG_SETFATTR is not set
+# CONFIG_SETSERIAL is not set
CONFIG_STRINGS=y
CONFIG_TIME=y
-# CONFIG_TIMEOUT is not set
# CONFIG_TTYSIZE is not set
+# CONFIG_UBIRENAME is not set
+# CONFIG_UBIATTACH is not set
+# CONFIG_UBIDETACH is not set
+# CONFIG_UBIMKVOL is not set
+# CONFIG_UBIRMVOL is not set
+# CONFIG_UBIRSVOL is not set
+# CONFIG_UBIUPDATEVOL is not set
# CONFIG_VOLNAME is not set
# CONFIG_WATCHDOG is not set
@@ -837,6 +836,7 @@ CONFIG_FEATURE_IPV6=y
# CONFIG_FEATURE_UNIX_LOCAL is not set
CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
+# CONFIG_FEATURE_TLS_SHA1 is not set
# CONFIG_ARP is not set
# CONFIG_ARPING is not set
# CONFIG_BRCTL is not set
@@ -911,6 +911,7 @@ CONFIG_FEATURE_IP_TUNNEL=y
# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
# CONFIG_NBDCLIENT is not set
CONFIG_NC=y
+# CONFIG_NETCAT is not set
# CONFIG_NC_SERVER is not set
# CONFIG_NC_EXTRA is not set
# CONFIG_NC_110_COMPAT is not set
@@ -918,9 +919,12 @@ CONFIG_NETSTAT=y
# CONFIG_FEATURE_NETSTAT_WIDE is not set
# CONFIG_FEATURE_NETSTAT_PRG is not set
CONFIG_NSLOOKUP=y
+# CONFIG_FEATURE_NSLOOKUP_BIG is not set
+# CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS is not set
# CONFIG_NTPD is not set
# CONFIG_FEATURE_NTPD_SERVER is not set
# CONFIG_FEATURE_NTPD_CONF is not set
+# CONFIG_FEATURE_NTP_AUTH is not set
CONFIG_PING=y
CONFIG_PING6=y
CONFIG_FEATURE_FANCY_PING=y
@@ -940,15 +944,11 @@ CONFIG_FEATURE_TELNET_WIDTH=y
# CONFIG_FEATURE_TELNETD_STANDALONE is not set
# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
CONFIG_TFTP=y
+# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
# CONFIG_TFTPD is not set
-
-#
-# Common options for tftp/tftpd
-#
CONFIG_FEATURE_TFTP_GET=y
CONFIG_FEATURE_TFTP_PUT=y
# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
-# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
# CONFIG_TFTP_DEBUG is not set
CONFIG_TLS=y
CONFIG_TRACEROUTE=y
@@ -988,9 +988,9 @@ CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
#
# CONFIG_FEATURE_UDHCP_PORT is not set
CONFIG_UDHCP_DEBUG=0
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
# CONFIG_FEATURE_UDHCP_RFC3397 is not set
# CONFIG_FEATURE_UDHCP_8021Q is not set
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b"
#
@@ -1071,13 +1071,11 @@ CONFIG_SV_DEFAULT_SERVICE_DIR=""
# CONFIG_SVOK is not set
# CONFIG_SVLOGD is not set
# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
# CONFIG_GETENFORCE is not set
# CONFIG_GETSEBOOL is not set
# CONFIG_LOAD_POLICY is not set
# CONFIG_MATCHPATHCON is not set
# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
# CONFIG_SELINUXENABLED is not set
# CONFIG_SESTATUS is not set
# CONFIG_SETENFORCE is not set
@@ -1099,6 +1097,8 @@ CONFIG_ASH=y
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
CONFIG_ASH_INTERNAL_GLOB=y
CONFIG_ASH_BASH_COMPAT=y
+# CONFIG_ASH_BASH_SOURCE_CURDIR is not set
+CONFIG_ASH_BASH_NOT_FOUND_HOOK=y
CONFIG_ASH_JOB_CONTROL=y
CONFIG_ASH_ALIAS=y
# CONFIG_ASH_RANDOM_SUPPORT is not set
@@ -1115,6 +1115,8 @@ CONFIG_ASH_CMDCMD=y
# CONFIG_HUSH is not set
# CONFIG_HUSH_BASH_COMPAT is not set
# CONFIG_HUSH_BRACE_EXPANSION is not set
+# CONFIG_HUSH_LINENO_VAR is not set
+# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set
# CONFIG_HUSH_INTERACTIVE is not set
# CONFIG_HUSH_SAVEHISTORY is not set
# CONFIG_HUSH_JOB is not set
@@ -1132,17 +1134,20 @@ CONFIG_ASH_CMDCMD=y
# CONFIG_HUSH_HELP is not set
# CONFIG_HUSH_EXPORT is not set
# CONFIG_HUSH_EXPORT_N is not set
+# CONFIG_HUSH_READONLY is not set
# CONFIG_HUSH_KILL is not set
# CONFIG_HUSH_WAIT is not set
+# CONFIG_HUSH_COMMAND is not set
# CONFIG_HUSH_TRAP is not set
# CONFIG_HUSH_TYPE is not set
+# CONFIG_HUSH_TIMES is not set
# CONFIG_HUSH_READ is not set
# CONFIG_HUSH_SET is not set
# CONFIG_HUSH_UNSET is not set
# CONFIG_HUSH_ULIMIT is not set
# CONFIG_HUSH_UMASK is not set
+# CONFIG_HUSH_GETOPTS is not set
# CONFIG_HUSH_MEMLEAK is not set
-# CONFIG_MSH is not set
#
# Options common to all shells
@@ -1152,7 +1157,9 @@ CONFIG_FEATURE_SH_MATH=y
CONFIG_FEATURE_SH_EXTRA_QUIET=y
# CONFIG_FEATURE_SH_STANDALONE is not set
# CONFIG_FEATURE_SH_NOFORK is not set
+# CONFIG_FEATURE_SH_READ_FRAC is not set
CONFIG_FEATURE_SH_HISTFILESIZE=y
+# CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS is not set
#
# System Logging Utilities
diff --git a/poky/meta/recipes-core/busybox/busybox_1.29.3.bb b/poky/meta/recipes-core/busybox/busybox_1.30.1.bb
index 6064e9fdc..164f3ab3c 100644
--- a/poky/meta/recipes-core/busybox/busybox_1.29.3.bb
+++ b/poky/meta/recipes-core/busybox/busybox_1.30.1.bb
@@ -41,8 +41,11 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
file://rcS \
file://rcK \
file://makefile-libbb-race.patch \
+ file://0001-testsuite-check-uudecode-before-using-it.patch \
+ file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \
+ file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \
"
SRC_URI_append_libc-musl = " file://musl.cfg "
-SRC_URI[tarball.md5sum] = "0a367e19cdfd157e8258d87f893ee516"
-SRC_URI[tarball.sha256sum] = "97648636e579462296478e0218e65e4bc1e9cd69089a3b1aeb810bff7621efb7"
+SRC_URI[tarball.md5sum] = "4f72fc6abd736d5f4741fc4a2485547a"
+SRC_URI[tarball.sha256sum] = "3d1d04a4dbd34048f4794815a5c48ebb9eb53c5277e09ffffc060323b95dfbdc"
diff --git a/poky/meta/recipes-core/busybox/files/run-ptest b/poky/meta/recipes-core/busybox/files/run-ptest
index 3608a8eb6..b19e5b534 100644
--- a/poky/meta/recipes-core/busybox/files/run-ptest
+++ b/poky/meta/recipes-core/busybox/files/run-ptest
@@ -1,7 +1,9 @@
#!/bin/sh
-current_dir=$(readlink -f $0)
-export bindir=$(dirname $current_dir)
+current_path=$(readlink -f $0)
+export bindir=$(dirname $current_path)
+export PATH=$bindir/bin:$PATH
+export SKIP_KNOWN_BUGS=1
cd testsuite || exit 1
./runtest -v | sed -r 's/^(SKIPPED|UNTESTED):/SKIP:/'
diff --git a/poky/meta/recipes-core/dbus/dbus-test_1.12.10.bb b/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb
index 25b939512..f4131926c 100644
--- a/poky/meta/recipes-core/dbus/dbus-test_1.12.10.bb
+++ b/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb
@@ -17,8 +17,8 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
file://clear-guid_from_server-if-send_negotiate_unix_f.patch \
"
-SRC_URI[md5sum] = "c3e12b4206e2a7da39d7cc42567790ef"
-SRC_URI[sha256sum] = "4b693d24976258c3f2fa9cc33ad9288c5fbfa7a16481dbd9a8a429f7aa8cdcf7"
+SRC_URI[md5sum] = "ea11069521beeee4e47f0086596a43c8"
+SRC_URI[sha256sum] = "9546f226011a1e5d9d77245fe5549ef25af4694053189d624d0d6ac127ecf5f8"
S="${WORKDIR}/dbus-${PV}"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:"
diff --git a/poky/meta/recipes-core/dbus/dbus_1.12.10.bb b/poky/meta/recipes-core/dbus/dbus_1.12.12.bb
index d71f7f704..6e9be79ff 100644
--- a/poky/meta/recipes-core/dbus/dbus_1.12.10.bb
+++ b/poky/meta/recipes-core/dbus/dbus_1.12.12.bb
@@ -18,8 +18,8 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
file://clear-guid_from_server-if-send_negotiate_unix_f.patch \
"
-SRC_URI[md5sum] = "c3e12b4206e2a7da39d7cc42567790ef"
-SRC_URI[sha256sum] = "4b693d24976258c3f2fa9cc33ad9288c5fbfa7a16481dbd9a8a429f7aa8cdcf7"
+SRC_URI[md5sum] = "ea11069521beeee4e47f0086596a43c8"
+SRC_URI[sha256sum] = "9546f226011a1e5d9d77245fe5549ef25af4694053189d624d0d6ac127ecf5f8"
inherit useradd autotools pkgconfig gettext update-rc.d upstream-version-is-even
@@ -120,6 +120,9 @@ do_install() {
install -d ${D}${sysconfdir}/init.d
sed 's:@bindir@:${bindir}:' < ${WORKDIR}/dbus-1.init >${WORKDIR}/dbus-1.init.sh
install -m 0755 ${WORKDIR}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1
+ install -d ${D}${sysconfdir}/default/volatiles
+ echo "d messagebus messagebus 0755 ${localstatedir}/run/dbus none" \
+ > ${D}${sysconfdir}/default/volatiles/99_dbus
fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
@@ -131,10 +134,6 @@ do_install() {
ln -fs ../dbus.service ${D}${systemd_system_unitdir}/multi-user.target.wants/dbus.service
fi
- install -d ${D}${sysconfdir}/default/volatiles
- echo "d messagebus messagebus 0755 ${localstatedir}/run/dbus none" \
- > ${D}${sysconfdir}/default/volatiles/99_dbus
-
mkdir -p ${D}${localstatedir}/lib/dbus
diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc
index d92a2f399..3fbdb5e82 100644
--- a/poky/meta/recipes-core/dropbear/dropbear.inc
+++ b/poky/meta/recipes-core/dropbear/dropbear.inc
@@ -13,7 +13,6 @@ RPROVIDES_${PN} = "ssh sshd"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
- file://CVE-2018-15599.patch \
file://0001-urandom-xauth-changes-to-options.h.patch \
file://init \
file://dropbearkey.service \
diff --git a/poky/meta/recipes-core/dropbear/dropbear/CVE-2018-15599.patch b/poky/meta/recipes-core/dropbear/dropbear/CVE-2018-15599.patch
deleted file mode 100644
index 912545c95..000000000
--- a/poky/meta/recipes-core/dropbear/dropbear/CVE-2018-15599.patch
+++ /dev/null
@@ -1,236 +0,0 @@
-From 256e2abb8150f9fea33cd026597dbe70f0379296 Mon Sep 17 00:00:00 2001
-From: Matt Johnston <matt@ucc.asn.au>
-Date: Thu, 23 Aug 2018 23:43:12 +0800
-Subject: [PATCH] Wait to fail invalid usernames
-
-Wait to fail invalid usernames
-
-Upstream-Status: Backport [https://secure.ucc.asn.au/hg/dropbear/rev/5d2d1021ca00]
-CVE: CVE-2018-15599
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
----
- auth.h | 6 +++---
- svr-auth.c | 19 +++++--------------
- svr-authpam.c | 26 ++++++++++++++++++++++----
- svr-authpasswd.c | 27 ++++++++++++++-------------
- svr-authpubkey.c | 11 ++++++++++-
- 5 files changed, 54 insertions(+), 35 deletions(-)
-
-diff --git a/auth.h b/auth.h
-index da498f5..98f5468 100644
---- a/auth.h
-+++ b/auth.h
-@@ -37,9 +37,9 @@ void recv_msg_userauth_request(void);
- void send_msg_userauth_failure(int partial, int incrfail);
- void send_msg_userauth_success(void);
- void send_msg_userauth_banner(const buffer *msg);
--void svr_auth_password(void);
--void svr_auth_pubkey(void);
--void svr_auth_pam(void);
-+void svr_auth_password(int valid_user);
-+void svr_auth_pubkey(int valid_user);
-+void svr_auth_pam(int valid_user);
-
- #if DROPBEAR_SVR_PUBKEY_OPTIONS_BUILT
- int svr_pubkey_allows_agentfwd(void);
-diff --git a/svr-auth.c b/svr-auth.c
-index 64d97aa..1f364ca 100644
---- a/svr-auth.c
-+++ b/svr-auth.c
-@@ -149,10 +149,8 @@ void recv_msg_userauth_request() {
- if (methodlen == AUTH_METHOD_PASSWORD_LEN &&
- strncmp(methodname, AUTH_METHOD_PASSWORD,
- AUTH_METHOD_PASSWORD_LEN) == 0) {
-- if (valid_user) {
-- svr_auth_password();
-- goto out;
-- }
-+ svr_auth_password(valid_user);
-+ goto out;
- }
- }
- #endif
-@@ -164,10 +162,8 @@ void recv_msg_userauth_request() {
- if (methodlen == AUTH_METHOD_PASSWORD_LEN &&
- strncmp(methodname, AUTH_METHOD_PASSWORD,
- AUTH_METHOD_PASSWORD_LEN) == 0) {
-- if (valid_user) {
-- svr_auth_pam();
-- goto out;
-- }
-+ svr_auth_pam(valid_user);
-+ goto out;
- }
- }
- #endif
-@@ -177,12 +173,7 @@ void recv_msg_userauth_request() {
- if (methodlen == AUTH_METHOD_PUBKEY_LEN &&
- strncmp(methodname, AUTH_METHOD_PUBKEY,
- AUTH_METHOD_PUBKEY_LEN) == 0) {
-- if (valid_user) {
-- svr_auth_pubkey();
-- } else {
-- /* pubkey has no failure delay */
-- send_msg_userauth_failure(0, 0);
-- }
-+ svr_auth_pubkey(valid_user);
- goto out;
- }
- #endif
-diff --git a/svr-authpam.c b/svr-authpam.c
-index 05e4f3e..d201bc9 100644
---- a/svr-authpam.c
-+++ b/svr-authpam.c
-@@ -178,13 +178,14 @@ pamConvFunc(int num_msg,
- * Keyboard interactive would be a lot nicer, but since PAM is synchronous, it
- * gets very messy trying to send the interactive challenges, and read the
- * interactive responses, over the network. */
--void svr_auth_pam() {
-+void svr_auth_pam(int valid_user) {
-
- struct UserDataS userData = {NULL, NULL};
- struct pam_conv pamConv = {
- pamConvFunc,
- &userData /* submitted to pamvConvFunc as appdata_ptr */
- };
-+ const char* printable_user = NULL;
-
- pam_handle_t* pamHandlep = NULL;
-
-@@ -204,12 +205,23 @@ void svr_auth_pam() {
-
- password = buf_getstring(ses.payload, &passwordlen);
-
-+ /* We run the PAM conversation regardless of whether the username is valid
-+ in case the conversation function has an inherent delay.
-+ Use ses.authstate.username rather than ses.authstate.pw_name.
-+ After PAM succeeds we then check the valid_user flag too */
-+
- /* used to pass data to the PAM conversation function - don't bother with
- * strdup() etc since these are touched only by our own conversation
- * function (above) which takes care of it */
-- userData.user = ses.authstate.pw_name;
-+ userData.user = ses.authstate.username;
- userData.passwd = password;
-
-+ if (ses.authstate.pw_name) {
-+ printable_user = ses.authstate.pw_name;
-+ } else {
-+ printable_user = "<invalid username>";
-+ }
-+
- /* Init pam */
- if ((rc = pam_start("sshd", NULL, &pamConv, &pamHandlep)) != PAM_SUCCESS) {
- dropbear_log(LOG_WARNING, "pam_start() failed, rc=%d, %s",
-@@ -242,7 +254,7 @@ void svr_auth_pam() {
- rc, pam_strerror(pamHandlep, rc));
- dropbear_log(LOG_WARNING,
- "Bad PAM password attempt for '%s' from %s",
-- ses.authstate.pw_name,
-+ printable_user,
- svr_ses.addrstring);
- send_msg_userauth_failure(0, 1);
- goto cleanup;
-@@ -253,12 +265,18 @@ void svr_auth_pam() {
- rc, pam_strerror(pamHandlep, rc));
- dropbear_log(LOG_WARNING,
- "Bad PAM password attempt for '%s' from %s",
-- ses.authstate.pw_name,
-+ printable_user,
- svr_ses.addrstring);
- send_msg_userauth_failure(0, 1);
- goto cleanup;
- }
-
-+ if (!valid_user) {
-+ /* PAM auth succeeded but the username isn't allowed in for another reason
-+ (checkusername() failed) */
-+ send_msg_userauth_failure(0, 1);
-+ }
-+
- /* successful authentication */
- dropbear_log(LOG_NOTICE, "PAM password auth succeeded for '%s' from %s",
- ses.authstate.pw_name,
-diff --git a/svr-authpasswd.c b/svr-authpasswd.c
-index bdee2aa..69c7d8a 100644
---- a/svr-authpasswd.c
-+++ b/svr-authpasswd.c
-@@ -48,22 +48,14 @@ static int constant_time_strcmp(const char* a, const char* b) {
-
- /* Process a password auth request, sending success or failure messages as
- * appropriate */
--void svr_auth_password() {
-+void svr_auth_password(int valid_user) {
-
- char * passwdcrypt = NULL; /* the crypt from /etc/passwd or /etc/shadow */
- char * testcrypt = NULL; /* crypt generated from the user's password sent */
-- char * password;
-+ char * password = NULL;
- unsigned int passwordlen;
--
- unsigned int changepw;
-
-- passwdcrypt = ses.authstate.pw_passwd;
--
--#ifdef DEBUG_HACKCRYPT
-- /* debugging crypt for non-root testing with shadows */
-- passwdcrypt = DEBUG_HACKCRYPT;
--#endif
--
- /* check if client wants to change password */
- changepw = buf_getbool(ses.payload);
- if (changepw) {
-@@ -73,12 +65,21 @@ void svr_auth_password() {
- }
-
- password = buf_getstring(ses.payload, &passwordlen);
--
-- /* the first bytes of passwdcrypt are the salt */
-- testcrypt = crypt(password, passwdcrypt);
-+ if (valid_user) {
-+ /* the first bytes of passwdcrypt are the salt */
-+ passwdcrypt = ses.authstate.pw_passwd;
-+ testcrypt = crypt(password, passwdcrypt);
-+ }
- m_burn(password, passwordlen);
- m_free(password);
-
-+ /* After we have got the payload contents we can exit if the username
-+ is invalid. Invalid users have already been logged. */
-+ if (!valid_user) {
-+ send_msg_userauth_failure(0, 1);
-+ return;
-+ }
-+
- if (testcrypt == NULL) {
- /* crypt() with an invalid salt like "!!" */
- dropbear_log(LOG_WARNING, "User account '%s' is locked",
-diff --git a/svr-authpubkey.c b/svr-authpubkey.c
-index aa6087c..ff481c8 100644
---- a/svr-authpubkey.c
-+++ b/svr-authpubkey.c
-@@ -79,7 +79,7 @@ static int checkfileperm(char * filename);
-
- /* process a pubkey auth request, sending success or failure message as
- * appropriate */
--void svr_auth_pubkey() {
-+void svr_auth_pubkey(int valid_user) {
-
- unsigned char testkey; /* whether we're just checking if a key is usable */
- char* algo = NULL; /* pubkey algo */
-@@ -102,6 +102,15 @@ void svr_auth_pubkey() {
- keybloblen = buf_getint(ses.payload);
- keyblob = buf_getptr(ses.payload, keybloblen);
-
-+ if (!valid_user) {
-+ /* Return failure once we have read the contents of the packet
-+ required to validate a public key.
-+ Avoids blind user enumeration though it isn't possible to prevent
-+ testing for user existence if the public key is known */
-+ send_msg_userauth_failure(0, 0);
-+ goto out;
-+ }
-+
- /* check if the key is valid */
- if (checkpubkey(algo, algolen, keyblob, keybloblen) == DROPBEAR_FAILURE) {
- send_msg_userauth_failure(0, 0);
diff --git a/poky/meta/recipes-core/dropbear/dropbear_2018.76.bb b/poky/meta/recipes-core/dropbear/dropbear_2018.76.bb
deleted file mode 100644
index 36a58d5ce..000000000
--- a/poky/meta/recipes-core/dropbear/dropbear_2018.76.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require dropbear.inc
-
-SRC_URI[md5sum] = "c3912f7fcdcc57c99937e4a79480d2c2"
-SRC_URI[sha256sum] = "f2fb9167eca8cf93456a5fc1d4faf709902a3ab70dd44e352f3acbc3ffdaea65"
-
diff --git a/poky/meta/recipes-core/dropbear/dropbear_2019.77.bb b/poky/meta/recipes-core/dropbear/dropbear_2019.77.bb
new file mode 100644
index 000000000..d2a71ba64
--- /dev/null
+++ b/poky/meta/recipes-core/dropbear/dropbear_2019.77.bb
@@ -0,0 +1,4 @@
+require dropbear.inc
+
+SRC_URI[md5sum] = "5d4f0256c5d13820b0a3eaadb1a0bc1a"
+SRC_URI[sha256sum] = "d91f78ebe633be1d071fd1b7e5535b9693794048b019e9f4bea257e1992b458d"
diff --git a/poky/meta/recipes-core/fts/fts.bb b/poky/meta/recipes-core/fts/fts_1.2.7.bb
index 02f54086a..589ae0e91 100644
--- a/poky/meta/recipes-core/fts/fts.bb
+++ b/poky/meta/recipes-core/fts/fts_1.2.7.bb
@@ -1,17 +1,16 @@
# Copyright (C) 2015 Khem Raj <raj.khem@gmail.com>
# Released under the MIT license (see COPYING.MIT for the terms)
-SUMMARY = "POSIX file tree stream operations library"
-HOMEPAGE = "https://sites.google.com/a/bostic.com/keithbostic"
+SUMMARY = "Implementation of ftsfor musl libc packages"
+HOMEPAGE = "https://github.com/pullmoll/musl-fts"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=5ffe358174aad383f1b69ce3b53da982"
SECTION = "libs"
-SRCREV = "944333aed9dc24cfa76cc64bfe70c75d25652753"
-PV = "1.2+git${SRCPV}"
+SRCREV = "0bde52df588e8969879a2cae51c3a4774ec62472"
+
+SRC_URI = "git://github.com/pullmoll/musl-fts.git"
-SRC_URI = "git://github.com/voidlinux/musl-fts \
-"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
diff --git a/poky/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch b/poky/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch
new file mode 100644
index 000000000..6dfe200d6
--- /dev/null
+++ b/poky/meta/recipes-core/gettext/gettext-0.19.8.1/fix-CVE-2018-18751.patch
@@ -0,0 +1,141 @@
+Upstream-Status: Backport [https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commit;h=dce3a16]
+CVE: CVE-2018-18751
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From dce3a16e5e9368245735e29bf498dcd5e3e474a4 Mon Sep 17 00:00:00 2001
+From: Daiki Ueno <ueno@gnu.org>
+Date: Thu, 15 Sep 2016 13:57:24 +0200
+Subject: [PATCH] xgettext: Fix crash with *.po file input
+
+When xgettext was given two *.po files with the same msgid_plural, it
+crashed with double-free. Problem reported by Davlet Panech in:
+http://lists.gnu.org/archive/html/bug-gettext/2016-09/msg00001.html
+* gettext-tools/src/po-gram-gen.y: Don't free msgid_pluralform after
+calling do_callback_message, assuming that it takes ownership.
+* gettext-tools/src/read-catalog.c (default_add_message): Free
+msgid_plural after calling message_alloc.
+* gettext-tools/tests/xgettext-po-2: New file.
+* gettext-tools/tests/Makefile.am (TESTS): Add new test.
+---
+ gettext-tools/src/po-gram-gen.y | 13 ++++-----
+ gettext-tools/src/read-catalog.c | 2 ++
+ gettext-tools/tests/Makefile.am | 2 +-
+ gettext-tools/tests/xgettext-po-2 | 55 +++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 63 insertions(+), 9 deletions(-)
+ create mode 100755 gettext-tools/tests/xgettext-po-2
+
+diff --git a/gettext-tools/src/po-gram-gen.y b/gettext-tools/src/po-gram-gen.y
+index becf5e6..4428e77 100644
+--- a/gettext-tools/src/po-gram-gen.y
++++ b/gettext-tools/src/po-gram-gen.y
+@@ -221,14 +221,11 @@ message
+ check_obsolete ($1, $3);
+ check_obsolete ($1, $4);
+ if (!$1.obsolete || pass_obsolete_entries)
+- {
+- do_callback_message ($1.ctxt, string2, &$1.pos, $3.string,
+- $4.rhs.msgstr, $4.rhs.msgstr_len, &$4.pos,
+- $1.prev_ctxt,
+- $1.prev_id, $1.prev_id_plural,
+- $1.obsolete);
+- free ($3.string);
+- }
++ do_callback_message ($1.ctxt, string2, &$1.pos, $3.string,
++ $4.rhs.msgstr, $4.rhs.msgstr_len, &$4.pos,
++ $1.prev_ctxt,
++ $1.prev_id, $1.prev_id_plural,
++ $1.obsolete);
+ else
+ {
+ free_message_intro ($1);
+diff --git a/gettext-tools/src/read-catalog.c b/gettext-tools/src/read-catalog.c
+index 571d18e..6af6d20 100644
+--- a/gettext-tools/src/read-catalog.c
++++ b/gettext-tools/src/read-catalog.c
+@@ -397,6 +397,8 @@ default_add_message (default_catalog_reader_ty *this,
+ appropriate. */
+ mp = message_alloc (msgctxt, msgid, msgid_plural, msgstr, msgstr_len,
+ msgstr_pos);
++ if (msgid_plural != NULL)
++ free (msgid_plural);
+ mp->prev_msgctxt = prev_msgctxt;
+ mp->prev_msgid = prev_msgid;
+ mp->prev_msgid_plural = prev_msgid_plural;
+diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am
+index 23b09b1..0dfb4d8 100644
+--- a/gettext-tools/tests/Makefile.am
++++ b/gettext-tools/tests/Makefile.am
+@@ -95,7 +95,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
+ xgettext-perl-1 xgettext-perl-2 xgettext-perl-3 xgettext-perl-4 \
+ xgettext-perl-5 xgettext-perl-6 xgettext-perl-7 xgettext-perl-8 \
+ xgettext-php-1 xgettext-php-2 xgettext-php-3 xgettext-php-4 \
+- xgettext-po-1 \
++ xgettext-po-1 xgettext-po-2 \
+ xgettext-properties-1 \
+ xgettext-python-1 xgettext-python-2 xgettext-python-3 \
+ xgettext-python-4 \
+diff --git a/gettext-tools/tests/xgettext-po-2 b/gettext-tools/tests/xgettext-po-2
+new file mode 100755
+index 0000000..c4bd9d0
+--- /dev/null
++++ b/gettext-tools/tests/xgettext-po-2
+@@ -0,0 +1,55 @@
++#! /bin/sh
++. "${srcdir=.}/init.sh"; path_prepend_ . ../src
++
++# Test PO extractors with multiple input files.
++
++cat <<EOF > xg-po-2-1.po
++msgid "first msgid"
++msgid_plural "first msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++
++msgid "second msgid"
++msgid_plural "second msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++EOF
++
++cat <<EOF > xg-po-2-2.po
++msgid "third msgid"
++msgid_plural "third msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++
++msgid "second msgid"
++msgid_plural "second msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++EOF
++
++: ${XGETTEXT=xgettext}
++${XGETTEXT} --omit-header xg-po-2-1.po xg-po-2-2.po -o xg-po-2.tmp.po || Exit 1
++LC_ALL=C tr -d '\r' < xg-po-2.tmp.po > xg-po-2.po || Exit 1
++
++cat <<EOF > xg-po-2.ok
++msgid "first msgid"
++msgid_plural "first msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++
++msgid "second msgid"
++msgid_plural "second msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++
++msgid "third msgid"
++msgid_plural "third msgid (plural)"
++msgstr[0] ""
++msgstr[1] ""
++EOF
++
++: ${DIFF=diff}
++${DIFF} xg-po-2.ok xg-po-2.po
++result=$?
++
++exit $result
+--
+1.9.1
+
diff --git a/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb b/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb
index 68f5cc329..404972439 100644
--- a/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb
+++ b/poky/meta/recipes-core/gettext/gettext_0.19.8.1.bb
@@ -8,8 +8,11 @@ SECTION = "libs"
LICENSE = "GPLv3+ & LGPL-2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "gettext-native virtual/libiconv"
-DEPENDS_class-native = "gettext-minimal-native"
+# Because po-gram-gen.y has been modified by fix-CVE-2018-18751.patch,
+# it requires yacc which provided by bison-native
+# Please remove bison-native from DEPENDS* when next upgrade
+DEPENDS = "bison-native gettext-native virtual/libiconv"
+DEPENDS_class-native = "bison-native gettext-minimal-native"
PROVIDES = "virtual/libintl virtual/gettext"
PROVIDES_class-native = "virtual/gettext-native"
RCONFLICTS_${PN} = "proxy-libintl"
@@ -18,6 +21,7 @@ SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
file://add-with-bisonlocaledir.patch \
file://cr-statement.c-timsort.h-fix-formatting-issues.patch \
file://use-pkgconfig.patch \
+ file://fix-CVE-2018-18751.patch \
"
SRC_URI[md5sum] = "97e034cf8ce5ba73a28ff6c3c0638092"
@@ -35,6 +39,7 @@ EXTRA_OECONF += "--without-lispdir \
--without-emacs \
--without-cvs \
--without-git \
+ --cache-file=${B}/config.cache \
"
EXTRA_OECONF_append_class-target = " \
--with-bisonlocaledir=${datadir}/locale \
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
new file mode 100644
index 000000000..ede29c90b
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
@@ -0,0 +1,50 @@
+From 474e59abec88de0c455836c1f53152bf2aa26c34 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 15 Feb 2019 11:17:27 +0100
+Subject: [PATCH] Do not write $bindir into pkg-config files
+
+This would otherwise break when using the files to build other target
+components (we need to rely on PATH containing the paths to utilities,
+rather than use target paths).
+
+Upstream-Status: Inappropriate [upstream wants the paths in .pc files]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ gio/meson.build | 6 +++---
+ glib/meson.build | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/gio/meson.build b/gio/meson.build
+index 85d8b14..657720a 100644
+--- a/gio/meson.build
++++ b/gio/meson.build
+@@ -813,9 +813,9 @@ pkg.generate(libraries : libgio,
+ 'schemasdir=' + join_paths('${datadir}', schemas_subdir),
+ 'bindir=' + join_paths('${prefix}', get_option('bindir')),
+ 'giomoduledir=' + giomodulesdir,
+- 'glib_compile_schemas=' + join_paths('${bindir}', 'glib-compile-schemas'),
+- 'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'),
+- 'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen')],
++ 'glib_compile_schemas=glib-compile-schemas',
++ 'glib_compile_resources=glib-compile-resources',
++ 'gdbus_codegen=gdbus-codegen'],
+ version : glib_version,
+ install_dir : glib_pkgconfigreldir,
+ filebase : 'gio-2.0',
+diff --git a/glib/meson.build b/glib/meson.build
+index c05c694..434e8b1 100644
+--- a/glib/meson.build
++++ b/glib/meson.build
+@@ -261,9 +261,9 @@ pkg.generate(libraries : [libglib, libintl],
+ subdirs : ['glib-2.0'],
+ extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags,
+ variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')),
+- 'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'),
+- 'gobject_query=' + join_paths('${bindir}', 'gobject-query'),
+- 'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')],
++ 'glib_genmarshal=glib-genmarshal',
++ 'gobject_query=gobject-query',
++ 'glib_mkenums=glib-mkenums'],
+ version : glib_version,
+ install_dir : glib_pkgconfigreldir,
+ filebase : 'glib-2.0',
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
index 97d0aff5d..f24625494 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
@@ -1,4 +1,4 @@
-From 856045927b9ab391165c0ebabf401835f8439eab Mon Sep 17 00:00:00 2001
+From 17fc9230fb932432d8faaaabf8c56fdc4845495e Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Tue, 22 Mar 2016 15:14:58 +0200
Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM
@@ -11,7 +11,8 @@ Upstream-Status: Inappropriate [OE specific]
---
gio/Makefile.am | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
+ gio/meson.build | 1 +
+ 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/gio/Makefile.am b/gio/Makefile.am
index e14cad2..bf2bcc7 100644
@@ -27,3 +28,15 @@ index e14cad2..bf2bcc7 100644
glib_compile_resources_LDADD = libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
+diff --git a/gio/meson.build b/gio/meson.build
+index b83d8f5..85d8b14 100644
+--- a/gio/meson.build
++++ b/gio/meson.build
+@@ -925,6 +925,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
+ c_args : gio_c_args,
+ # intl.lib is not compatible with SAFESEH
+ link_args : noseh_link_args,
++ install_dir: glib_libexecdir,
+ dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep])
+
+ glib_compile_schemas = executable('glib-compile-schemas',
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch
new file mode 100644
index 000000000..f0c5d84ba
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch
@@ -0,0 +1,64 @@
+From abc26aed7a28678dfcc20b21726a97c7c02ea73b Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Thu, 14 Feb 2019 14:55:15 +0800
+Subject: [PATCH] Revert "Use absolute paths in pkg-config files"
+
+This reverts commit e7a7c9b97776fa2a638d18ea3a931ba84e778f80.
+
+The glib pkgconfig files now contain absolute paths, but they're
+target paths so when we used them from a sysroot it fails. Upstream
+thinks that we should be setting
+GLIB_MKENUMS=/path/to/sysroot/usr/bin/glib-mkenums but that really
+doesn't scale.
+
+For now, we just revert the change to put absolute paths into
+the sysroot. This should be re-evaluated when we move the recipe to use
+meson.
+
+Upstream-Status: Inappropriate [Revert of an upstream commit]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ gio-2.0.pc.in | 7 +++----
+ glib-2.0.pc.in | 7 +++----
+ 2 files changed, 6 insertions(+), 8 deletions(-)
+
+diff --git a/gio-2.0.pc.in b/gio-2.0.pc.in
+index d67e80839..526f0daa0 100644
+--- a/gio-2.0.pc.in
++++ b/gio-2.0.pc.in
+@@ -5,11 +5,10 @@ includedir=@includedir@
+
+ datadir=@datadir@
+ schemasdir=${datadir}/glib-2.0/schemas
+-bindir=@bindir@
+ giomoduledir=@GIO_MODULE_DIR@
+-glib_compile_schemas=${bindir}/glib-compile-schemas
+-glib_compile_resources=${bindir}/glib-compile-resources
+-gdbus_codegen=${bindir}/gdbus-codegen
++glib_compile_schemas=glib-compile-schemas
++glib_compile_resources=glib-compile-resources
++gdbus_codegen=gdbus-codegen
+
+ Name: GIO
+ Description: glib I/O library
+diff --git a/glib-2.0.pc.in b/glib-2.0.pc.in
+index 3c5ea81dc..275fc0163 100644
+--- a/glib-2.0.pc.in
++++ b/glib-2.0.pc.in
+@@ -3,10 +3,9 @@ exec_prefix=@exec_prefix@
+ libdir=@libdir@
+ includedir=@includedir@
+
+-bindir=@bindir@
+-glib_genmarshal=${bindir}/glib-genmarshal
+-gobject_query=${bindir}/gobject-query
+-glib_mkenums=${bindir}/glib-mkenums
++glib_genmarshal=glib-genmarshal
++gobject_query=gobject-query
++glib_mkenums=glib-mkenums
+
+ Name: GLib
+ Description: C Utility Library
+--
+2.17.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
new file mode 100644
index 000000000..2b7fab7bd
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
@@ -0,0 +1,104 @@
+From 4169f11beedacfbb8c7934a4c99189d44935a6b9 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 13 Feb 2019 15:32:05 +0100
+Subject: [PATCH] Set host_machine correctly when building with mingw32
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ gio/tests/meson.build | 8 ++++----
+ glib/tests/meson.build | 4 ++--
+ meson.build | 3 +++
+ tests/meson.build | 2 +-
+ 4 files changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index 181f5c7..11a1f12 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -12,7 +12,7 @@ test_c_args = [
+ '-DGLIB_COMPILE_SCHEMAS="@0@"'.format(glib_compile_schemas.full_path()),
+ ]
+
+-if host_machine.system() == 'windows'
++if host_system == 'windows'
+ common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')]
+ endif
+
+@@ -122,7 +122,7 @@ if dbus1_dep.found()
+ endif
+
+ # Test programs buildable on UNIX only
+-if host_machine.system() != 'windows'
++if host_system != 'windows'
+ gio_tests += [{
+ 'file' : {},
+ 'gdbus-peer' : {
+@@ -314,7 +314,7 @@ if host_machine.system() != 'windows'
+ endif # unix
+
+ # Test programs buildable on Windows only
+-if host_machine.system() == 'windows'
++if host_system == 'windows'
+ gio_tests += [{'win32-streams' : {}}]
+ endif
+
+@@ -379,7 +379,7 @@ if cc.get_id() != 'msvc'
+ }]
+ endif
+
+-if host_machine.system() != 'windows'
++if host_system != 'windows'
+ test_extra_programs += [{
+ 'gdbus-example-unix-fd-client' : {
+ 'install' : false,
+diff --git a/glib/tests/meson.build b/glib/tests/meson.build
+index d7b6a7a..6678a08 100644
+--- a/glib/tests/meson.build
++++ b/glib/tests/meson.build
+@@ -45,7 +45,7 @@ glib_tests = {
+ 'hook' : {},
+ 'hostutils' : {},
+ 'include' : {
+- 'skip' : host_machine.system() == 'windows',
++ 'skip' : host_system == 'windows',
+ },
+ 'keyfile' : {},
+ 'list' : {},
+@@ -112,7 +112,7 @@ glib_tests = {
+ 'utils' : {},
+ 'unicode' : {},
+ 'unix' : {
+- 'skip' : host_machine.system() == 'windows',
++ 'skip' : host_system == 'windows',
+ },
+ 'uri' : {},
+ '1bit-mutex' : {},
+diff --git a/meson.build b/meson.build
+index f7405a2..4348f20 100644
+--- a/meson.build
++++ b/meson.build
+@@ -31,6 +31,9 @@ else
+ endif
+
+ host_system = host_machine.system()
++if host_system == 'mingw32'
++ host_system = 'windows'
++endif
+
+ glib_version = meson.project_version()
+ glib_api_version = '2.0'
+diff --git a/tests/meson.build b/tests/meson.build
+index 80e45d7..9f3869f 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -67,7 +67,7 @@ test_extra_programs = {
+ 'unicode-collate' : {},
+ }
+
+-if host_machine.system() != 'windows'
++if host_system != 'windows'
+ tests += [{
+ 'timeloop' : {},
+ 'spawn-test' : {},
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch
new file mode 100644
index 000000000..d1ed02875
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch
@@ -0,0 +1,62 @@
+Upstream-Status: Backport [fc88e56bfc2b09a8fb2b350e76f6425ab0a056d7]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 141acf6a2f3b21d63c9cfe620b8e20a506e78493 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Wed, 13 Mar 2019 16:22:09 +0000
+Subject: [PATCH] meson: do a build-time check for strlcpy before attempting
+ runtime check
+
+In cross-compilation environments the runtime check isn't possible so it is up
+to the builder to seed the cross file, but we can definitely state that strlcpy
+doesn't exist with a build test.
+---
+ meson.build | 30 ++++++++++++++++--------------
+ 1 file changed, 16 insertions(+), 14 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 15039e448..414f2d9b1 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1860,22 +1860,24 @@ endif
+
+ # Test if we have strlcpy/strlcat with a compatible implementation:
+ # https://bugzilla.gnome.org/show_bug.cgi?id=53933
+-if cc_can_run
+- rres = cc.run('''#include <stdlib.h>
+- #include <string.h>
+- int main() {
+- char p[10];
+- (void) strlcpy (p, "hi", 10);
+- if (strlcat (p, "bye", 0) != 3)
+- return 1;
+- return 0;
+- }''',
+- name : 'OpenBSD strlcpy/strlcat')
+- if rres.compiled() and rres.returncode() == 0
++if cc.has_function('strlcpy')
++ if cc_can_run
++ rres = cc.run('''#include <stdlib.h>
++ #include <string.h>
++ int main() {
++ char p[10];
++ (void) strlcpy (p, "hi", 10);
++ if (strlcat (p, "bye", 0) != 3)
++ return 1;
++ return 0;
++ }''',
++ name : 'OpenBSD strlcpy/strlcat')
++ if rres.compiled() and rres.returncode() == 0
++ glib_conf.set('HAVE_STRLCPY', 1)
++ endif
++ elif meson.get_cross_property('have_strlcpy', false)
+ glib_conf.set('HAVE_STRLCPY', 1)
+ endif
+-elif meson.get_cross_property('have_strlcpy', false)
+- glib_conf.set('HAVE_STRLCPY', 1)
+ endif
+
+ python = import('python').find_installation('python3')
+--
+2.11.0
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch
new file mode 100644
index 000000000..5a1a58989
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch
@@ -0,0 +1,27 @@
+From 635fe26af51f20194c8b208e7d01303be1086d68 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 19 Feb 2019 10:31:11 +0100
+Subject: [PATCH] meson.build: do not hardcode 'linux' as the host system
+
+OE build system can set this to other values that include 'linux',
+e.g. 'linux-gnueabi'
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 4348f20..af5ed63 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1574,7 +1574,7 @@ atomicdefine = '''
+ # We know that we can always use real ("lock free") atomic operations with MSVC
+ if cc.get_id() == 'msvc' or cc.links(atomictest, name : 'atomic ops')
+ have_atomic_lock_free = true
+- if (host_system == 'android' or host_system == 'linux') and not cc.compiles(atomicdefine, name : 'atomic ops define')
++ if (host_system == 'android' or host_system.contains('linux')) and not cc.compiles(atomicdefine, name : 'atomic ops define')
+ # When building for armv5 on Linux, gcc provides
+ # __sync_bool_compare_and_swap but doesn't define
+ # __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch
index 697d63d5f..872340df9 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch
@@ -12,7 +12,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in
-index 8050981..e693ef3 100644
+index 8050981..e693ef3 100755
--- a/gio/gdbus-2.0/codegen/gdbus-codegen.in
+++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in
@@ -1,4 +1,4 @@
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
index 50781e789..5ccd3203f 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
@@ -1,4 +1,4 @@
-From 4b1a6d247c78125096a6ea5ab3cab8a1f000dc23 Mon Sep 17 00:00:00 2001
+From 1481c6d5f08f9dbbe10abc87b372a1f61db36476 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Mon, 9 Nov 2015 11:07:27 +0200
Subject: [PATCH] Enable more tests while cross-compiling
@@ -9,17 +9,17 @@ case we can depend on glib-2.0-native.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-
---
gio/tests/Makefile.am | 10 ++++++----
- tests/gobject/Makefile.am | 8 +++++---
- 2 files changed, 11 insertions(+), 7 deletions(-)
+ gio/tests/meson.build | 15 ++++++++-------
+ tests/gobject/Makefile.am | 6 ++++++
+ 3 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
-index 1f0bed7..8295deb 100644
+index c4e7a92..633e85c 100644
--- a/gio/tests/Makefile.am
+++ b/gio/tests/Makefile.am
-@@ -550,10 +550,9 @@ test_programs += \
+@@ -583,10 +583,9 @@ test_programs += \
endif
# -----------------------------------------------------------------------------
@@ -32,7 +32,7 @@ index 1f0bed7..8295deb 100644
test_programs += resources
resources_SOURCES = resources.c
nodist_resources_SOURCES = test_resources.c test_resources2.c test_resources2.h
-@@ -578,7 +577,11 @@ if !ENABLE_INSTALLED_TESTS
+@@ -611,7 +610,11 @@ if !ENABLE_INSTALLED_TESTS
libresourceplugin_la_LDFLAGS += -rpath /
endif
@@ -44,7 +44,7 @@ index 1f0bed7..8295deb 100644
test-generated.txt: test1.txt
$(AM_V_GEN) echo "Generated" > $@ && \
-@@ -599,7 +602,6 @@ test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) --
+@@ -632,7 +635,6 @@ test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) --
EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.gresource.xml test3.txt test4.gresource.xml
CLEANFILES += test-generated.txt test_resources.c test_resources2.[ch] plugin_resources.c test.gresource
@@ -52,19 +52,82 @@ index 1f0bed7..8295deb 100644
BUILT_SOURCES += giotypefuncs.inc
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index dca33bd..181f5c7 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -173,7 +173,7 @@ if host_machine.system() != 'windows'
+
+ # Test programs that need to bring up a session bus (requires dbus-daemon)
+ have_dbus_daemon = find_program('dbus-daemon', required : false).found()
+- if have_dbus_daemon
++ if true
+ annotate_args = [
+ '--annotate', 'org.project.Bar', 'Key1', 'Value1',
+ '--annotate', 'org.project.Bar', 'org.gtk.GDBus.Internal', 'Value2',
+@@ -406,12 +406,13 @@ if installed_tests_enabled
+ install_subdir('cert-tests', install_dir : installed_tests_execdir)
+ endif
+
+-if not meson.is_cross_build() or meson.has_exe_wrapper()
++#if not meson.is_cross_build() or meson.has_exe_wrapper()
++if meson.is_cross_build()
+
+ plugin_resources_c = custom_target('plugin-resources.c',
+ input : 'test4.gresource.xml',
+ output : 'plugin-resources.c',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--generate-source',
+@@ -428,7 +429,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ test_gresource = custom_target('test.gresource',
+ input : 'test.gresource.xml',
+ output : 'test.gresource',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--sourcedir=' + meson.current_build_dir(),
+@@ -439,7 +440,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ test_resources2_c = custom_target('test_resources2.c',
+ input : 'test3.gresource.xml',
+ output : 'test_resources2.c',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--generate',
+@@ -450,7 +451,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ test_resources2_h = custom_target('test_resources2.h',
+ input : 'test3.gresource.xml',
+ output : 'test_resources2.h',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--generate',
+@@ -461,7 +462,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+ test_resources_c = custom_target('test_resources.c',
+ input : 'test2.gresource.xml',
+ output : 'test_resources.c',
+- command : [glib_compile_resources,
++ command : ['glib-compile-resources',
+ '--target=@OUTPUT@',
+ '--sourcedir=' + meson.current_source_dir(),
+ '--generate-source',
diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am
-index 0e60987..927d13a 100644
+index 1bcefbe..77e646a 100644
--- a/tests/gobject/Makefile.am
+++ b/tests/gobject/Makefile.am
-@@ -51,10 +51,13 @@ if ENABLE_TIMELOOP
+@@ -51,7 +51,13 @@ if ENABLE_TIMELOOP
installed_test_programs += timeloop-closure
endif
--# The marshal test requires running a binary, which means we cannot
--# build it when cross-compiling
+# The marshal test requires running a binary, which means we require
+# glib-native when cross-compiling
- if !CROSS_COMPILING
++if !CROSS_COMPILING
glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal
+else
+glib_genmarshal=$(shell which glib-genmarshal)
@@ -72,9 +135,3 @@ index 0e60987..927d13a 100644
testmarshal.h: stamp-testmarshal.h
@true
-@@ -71,4 +74,3 @@ testmarshal.c: testmarshal.h testmarshal.list $(glib_genmarshal)
- BUILT_SOURCES += testmarshal.h testmarshal.c
- CLEANFILES += stamp-testmarshal.h testmarshal.h testmarshal.c
- EXTRA_DIST += testcommon.h testmarshal.list
--endif # !CROSS_COMPILING
-\ No newline at end of file
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
deleted file mode 100644
index 59b891347..000000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 1dd1e6ddca5deada049bac2e1ee1fe4ecc5342c5 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 28 Apr 2012 18:24:50 +0200
-Subject: [PATCH 01/10] configure: use $host_alias-libtool instead of libtool
- directly
-
-Poky renames libtool to $host_alias-libtool.
-./$host_alias-libtool isn't created until after configure runs with
-libtool >= 2.2.2
-so we can't call # it at this point. We can safely assume a version is
-available
-from PATH though
-
-Rebased to glib-2.27.3 by Dongxiao Xu <dongxiao.xu@intel.com>
-Rebased to glib-2.32.1 by Martin Jansa <Martin.Jansa@gmail.com>
-Rebased to glib-2.31.20+ by Andre McCurdy <armccurdy@gmail.com>
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6fa6eb0..b6f78a6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1428,9 +1428,9 @@ AS_IF([ test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL" ], [
- LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
- dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
- echo "void glib_plugin_test(void) { }" > plugin.c
-- ${SHELL} ./libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
-+ ${SHELL} ./$host_alias-libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
- ${CPPFLAGS} -c -o plugin.lo plugin.c >/dev/null 2>&1
-- ${SHELL} ./libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
-+ ${SHELL} ./$host_alias-libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
- ${LDFLAGS} -module -o plugin.la -export-dynamic \
- -shrext ".o" -avoid-version plugin.lo \
- -rpath /dont/care >/dev/null 2>&1
---
-2.14.1
-
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/date-lt.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/date-lt.patch
deleted file mode 100644
index dd0aff728..000000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/date-lt.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Update Lithuanian month names in the test suite as glibc changed the translations.
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/glib/merge_requests/373]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/glib/tests/date.c b/glib/tests/date.c
-index b801ca704..6646c227c 100644
---- a/glib/tests/date.c
-+++ b/glib/tests/date.c
-@@ -365,8 +365,8 @@ test_month_names (void)
- TEST_DATE ( 1, 4, 2018, "%Y m. %OB", "2018 m. balandis");
- TEST_DATE ( 1, 5, 2018, "%Y m. %OB", "2018 m. gegužė");
- TEST_DATE ( 1, 6, 2018, "%Y m. %OB", "2018 m. birželis");
-- TEST_DATE (17, 7, 2018, "%Y m. %b %e d.", "2018 m. Lie 17 d.");
-- TEST_DATE ( 1, 8, 2018, "%Y m. %Ob", "2018 m. Rgp");
-+ TEST_DATE (17, 7, 2018, "%Y m. %b %e d.", "2018 m. Liep. 17 d.");
-+ TEST_DATE ( 1, 8, 2018, "%Y m. %Ob", "2018 m. rugp.");
- }
- else
- g_test_skip ("locale lt_LT not available, skipping Lithuanian month names test");
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross b/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross
new file mode 100644
index 000000000..8420f9874
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/glib-meson.cross
@@ -0,0 +1,6 @@
+[properties]
+have_c99_vsnprintf = true
+have_c99_snprintf = true
+have_unix98_printf = true
+va_val_copy = true
+growing_stack = false
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index f9794d3dd..a4e0c9201 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
@@ -1,4 +1,4 @@
-From 8326961841f4d16c7239e747de11e3817c35cfd2 Mon Sep 17 00:00:00 2001
+From 9d985803c50cfb99253c757934985f937da34822 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Fri, 11 Mar 2016 15:35:55 +0000
Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest
index 5b85e8fab..8f082d34f 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest
@@ -1,5 +1,6 @@
#! /bin/sh
+set -eux
useradd glib2-test
su glib2-test -c gnome-desktop-testing-runner glib
userdel glib2-test
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.0.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
index 1271a7c26..733a2d46d 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.0.bb
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb
@@ -5,18 +5,22 @@ PE = "1"
SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
- file://configure-libtool.patch \
file://run-ptest \
file://uclibc_musl_translation.patch \
- file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
file://Enable-more-tests-while-cross-compiling.patch \
+ file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
file://0001-Do-not-ignore-return-value-of-write.patch \
file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
- file://date-lt.patch \
+ file://0001-Revert-Use-absolute-paths-in-pkg-config-files.patch \
+ file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \
+ file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
+ file://0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch \
+ file://0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch \
+ file://glib-meson.cross \
"
SRC_URI_append_class-native = " file://relocate-modules.patch"
-SRC_URI[md5sum] = "9b5d21c802f55bf37171c4fbfe7d32d1"
-SRC_URI[sha256sum] = "c0f4ce0730b4f95c47b711613b5406a887c2ee13ea6d25930d72a4fa7fdb77f6"
+SRC_URI[md5sum] = "8058c7bde846dcffe5fa453eca366d73"
+SRC_URI[sha256sum] = "8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481"
diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc
index e8215da58..574bb3855 100644
--- a/poky/meta/recipes-core/glib-2.0/glib.inc
+++ b/poky/meta/recipes-core/glib-2.0/glib.inc
@@ -22,34 +22,38 @@ DEPENDS = "glib-2.0-native \
virtual/libintl \
virtual/libiconv \
libffi \
- zlib \
- ${@bb.utils.contains('PTEST_ENABLED', '1', 'dbus', '', d)}"
+ zlib"
PACKAGES += "${PN}-codegen ${PN}-utils"
LEAD_SONAME = "libglib-2.0.*"
-inherit autotools gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages
+inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages distro_features_check
-S = "${WORKDIR}/glib-${PV}"
+GTKDOC_ENABLE_FLAG = "-Dgtk_doc=true"
+GTKDOC_DISABLE_FLAG = "-Dgtk_doc=false"
-PACKAGECONFIG ??= "system-pcre libmount"
-# To use the system pcre it must be configured with --enable-unicode-properties
-PACKAGECONFIG[system-pcre] = "--with-pcre=system,--with-pcre=internal,libpcre"
-PACKAGECONFIG[libmount] = "--enable-libmount,--disable-libmount,util-linux"
-PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, libxslt-native xmlto-native"
-PACKAGECONFIG[libelf] = "--enable-libelf,--disable-libelf,elfutils"
+EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
+ '${GTKDOC_DISABLE_FLAG}', d)} "
-CORECONF = "--disable-dtrace --disable-fam --disable-systemtap"
+# This avoids the need to depend on target python3, which in case of mingw is not even possible.
+# meson's python configuration pokes into python3 configuration, so this provides the native config to it.
+unset _PYTHON_SYSCONFIGDATA_NAME
-PRINTF = "--enable-included-printf=no"
-PRINTF_darwin = "--enable-included-printf=yes"
-PRINTF_mingw32 = "--enable-included-printf=yes"
-EXTRA_OECONF = "${PRINTF} ${CORECONF}"
-EXTRA_OECONF_class-native = "${CORECONF} --disable-selinux"
+S = "${WORKDIR}/glib-${PV}"
+
+PACKAGECONFIG ??= "system-pcre libmount \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
+# To use the system pcre it must be configured with --enable-unicode-properties
+PACKAGECONFIG[system-pcre] = "-Dinternal_pcre=false,-Dinternal_pcre=true,libpcre"
+PACKAGECONFIG[libmount] = "-Dlibmount=true,-Dlibmount=false,util-linux"
+PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native"
+# libelf is auto-detected without a configuration option
+PACKAGECONFIG[libelf] = ",,elfutils"
+PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,dbus"
-# Tell configure that we'll have dbus-daemon on the target for the tests
-EXTRA_OECONF_append_class-target = " ${@bb.utils.contains('PTEST_ENABLED', '1', ' ac_cv_prog_DBUS_DAEMON=dbus-daemon', '', d)}"
+EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=false"
+EXTRA_OEMESON_append_class-target = " --cross-file ${WORKDIR}/glib-meson.cross"
do_configure_prepend() {
sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in
@@ -75,9 +79,12 @@ FILES_${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \
${bindir}/gdbus-codegen"
FILES_${PN}-utils = "${bindir}/*"
-RRECOMMENDS_${PN} += "shared-mime-info"
+SHAREDMIMEDEP = "shared-mime-info"
+SHAREDMIMEDEP_class-native = ""
# When cross compiling for Windows we don't want to include this
-RRECOMMENDS_${PN}_remove_mingw32 = "shared-mime-info"
+SHAREDMIMEDEP_mingw32 = ""
+
+RRECOMMENDS_${PN} += "${SHAREDMIMEDEP}"
ARM_INSTRUCTION_SET_armv4 = "arm"
ARM_INSTRUCTION_SET_armv5 = "arm"
@@ -112,6 +119,8 @@ do_install_append () {
if test "x${MLPREFIX}" != "x"; then
mv ${D}${libexecdir}/gio-querymodules${EXEEXT} ${D}${libexecdir}/${MLPREFIX}gio-querymodules${EXEEXT}
fi
+ # Autotools does this, meson does not
+ mkdir -p ${D}${libdir}/gio/modules
}
do_install_append_class-target () {
@@ -124,6 +133,11 @@ do_install_append_class-target () {
fi
}
+# As we do not build python3 for windows, makes no sense to ship the script that's using it
+do_install_append_mingw32() {
+ rm -f ${D}${bindir}/gtester-report
+}
+
CODEGEN_PYTHON_RDEPENDS = "python3 python3-distutils python3-xml"
CODEGEN_PYTHON_RDEPENDS_mingw32 = ""
@@ -140,8 +154,6 @@ RDEPENDS_${PN}-ptest += "\
shared-mime-info \
"
-# When https://gitlab.gnome.org/GNOME/glib/issues/1343 is
-# fixed add locale-base-pl-pl
RDEPENDS_${PN}-ptest_append_libc-glibc = "\
glibc-gconv-utf-16 \
glibc-charmap-utf-8 \
@@ -165,6 +177,5 @@ RDEPENDS_${PN}-ptest_append_libc-glibc = "\
locale-base-fr-fr \
locale-base-es-es \
locale-base-en-gb \
+ locale-base-pl-pl \
"
-
-INSANE_SKIP_${PN}-ptest += "libdir"
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.54.1.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.54.1.bb
deleted file mode 100644
index 5d17a824f..000000000
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.54.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "GLib networking extensions"
-DESCRIPTION = "glib-networking contains the implementations of certain GLib networking features that cannot be implemented directly in GLib itself because of their dependencies."
-HOMEPAGE = "https://gitlab.gnome.org/GNOME/glib-networking/"
-BUGTRACKER = "http://bugzilla.gnome.org"
-
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-SECTION = "libs"
-DEPENDS = "glib-2.0"
-
-SRC_URI[archive.md5sum] = "99867463f182c2767bce0c74bc9cc981"
-SRC_URI[archive.sha256sum] = "eaa787b653015a0de31c928e9a17eb57b4ce23c8cf6f277afaec0d685335012f"
-
-PACKAGECONFIG ??= "ca-certificates gnutls"
-
-# No explicit dependency as it works without ca-certificates installed
-PACKAGECONFIG[ca-certificates] = "--with-ca-certificates=${sysconfdir}/ssl/certs/ca-certificates.crt,--without-ca-certificates"
-PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
-PACKAGECONFIG[libproxy] = "--with-libproxy,--without-libproxy,libproxy"
-PACKAGECONFIG[pkcs11] = "--with-pkcs11,--without-pkcs11,p11-kit"
-
-EXTRA_OECONF = "--without-gnome-proxy"
-
-inherit gnomebase gettext upstream-version-is-even gio-module-cache
-
-FILES_${PN} += "${libdir}/gio/modules/libgio*.so ${datadir}/dbus-1/services/"
-FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la"
-FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a"
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.58.0.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.58.0.bb
new file mode 100644
index 000000000..f3190e1ca
--- /dev/null
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.58.0.bb
@@ -0,0 +1,31 @@
+SUMMARY = "GLib networking extensions"
+DESCRIPTION = "glib-networking contains the implementations of certain GLib networking features that cannot be implemented directly in GLib itself because of their dependencies."
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/glib-networking/"
+BUGTRACKER = "http://bugzilla.gnome.org"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SECTION = "libs"
+DEPENDS = "glib-2.0"
+
+SRC_URI[archive.md5sum] = "75b14b7e73a67753be9ce307751c661d"
+SRC_URI[archive.sha256sum] = "bdfa0255e031b8ee003cc283002536b77ee76450105f1dc6ab066b9bf4330068"
+
+PACKAGECONFIG ??= "gnutls"
+
+PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
+PACKAGECONFIG[libproxy] = "-Dlibproxy_support=true,-Dlibproxy_support=false,libproxy"
+
+EXTRA_OEMESON = "-Dgnome_proxy_support=false"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase gettext upstream-version-is-even gio-module-cache
+
+FILES_${PN} += "\
+ ${libdir}/gio/modules/libgio*.so \
+ ${datadir}/dbus-1/services/ \
+ ${systemd_user_unitdir} \
+ "
+FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la"
+FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a"
diff --git a/poky/meta/recipes-core/glibc/cross-localedef-native_2.28.bb b/poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb
index a05b94e3b..8bc7cd649 100644
--- a/poky/meta/recipes-core/glibc/cross-localedef-native_2.28.bb
+++ b/poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb
@@ -21,8 +21,10 @@ SRCBRANCH ?= "release/${PV}/master"
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)"
-SRCREV_glibc ?= "3c03baca37fdcb52c3881e653ca392bba7a99c2b"
-SRCREV_localedef ?= "c328777219ccc480be3112cf807217ca6b570b64"
+PV = "2.29"
+
+SRCREV_glibc ?= "86013ef5cea322b8f4b9c22f230c22cce369e947"
+SRCREV_localedef ?= "cd9f958c4c94a638fa7b2b4e21627364f1a1a655"
SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \
@@ -34,7 +36,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \
file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
- file://0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
+ file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
"
# Makes for a rather long rev (22 characters), but...
#
diff --git a/poky/meta/recipes-core/glibc/glibc-collateral.inc b/poky/meta/recipes-core/glibc/glibc-collateral.inc
index 536edfb04..52880791a 100644
--- a/poky/meta/recipes-core/glibc/glibc-collateral.inc
+++ b/poky/meta/recipes-core/glibc/glibc-collateral.inc
@@ -1,15 +1,7 @@
-INHIBIT_DEFAULT_DEPS = "1"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
- file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780"
-HOMEPAGE = "http://www.gnu.org/software/libc/index.html"
+require glibc-common.inc
-# This needs to match with glibc.inc, otherwise glibc-scripts and glibc-locale
-# will fail to find main glibc, for details see
-# http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100679.html
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
+ file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780"
deltask do_fetch
deltask do_unpack
@@ -18,6 +10,3 @@ do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install[depends] += "virtual/${MLPREFIX}libc:do_stash_locale"
-
-COMPATIBLE_HOST_libc-musl_class-target = "null"
-
diff --git a/poky/meta/recipes-core/glibc/glibc-common.inc b/poky/meta/recipes-core/glibc/glibc-common.inc
index b05e162f8..cded38459 100644
--- a/poky/meta/recipes-core/glibc/glibc-common.inc
+++ b/poky/meta/recipes-core/glibc/glibc-common.inc
@@ -7,4 +7,18 @@ LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \
file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff "
+
CVE_PRODUCT = "glibc"
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv6 = "arm"
+#
+# We will skip parsing glibc when target system C library selection is not glibc
+# this helps in easing out parsing for non-glibc system libraries
+#
+COMPATIBLE_HOST_libc-musl_class-target = "null"
+
+PV = "2.29"
diff --git a/poky/meta/recipes-core/glibc/glibc-initial.inc b/poky/meta/recipes-core/glibc/glibc-initial.inc
deleted file mode 100644
index acd0d6b1d..000000000
--- a/poky/meta/recipes-core/glibc/glibc-initial.inc
+++ /dev/null
@@ -1,57 +0,0 @@
-DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial libgcc-initial make-native bison-native"
-PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
-
-PACKAGES = ""
-PACKAGES_DYNAMIC = ""
-
-STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
-STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
-
-do_configure () {
- (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
- find ${S} -name "configure" | xargs touch
- cfgscript=`python3 -c "import os; print(os.path.relpath('${S}', '.'))"`/configure
- $cfgscript --host=${TARGET_SYS} --build=${BUILD_SYS} \
- --prefix=/usr \
- --disable-sanity-checks \
- --with-headers=${STAGING_DIR_TARGET}${includedir} \
- --enable-hacker-mode
-}
-
-do_compile () {
- :
-}
-
-do_install () {
- oe_runmake cross-compiling=yes install_root=${D} \
- includedir='${includedir}' prefix='${prefix}' \
- install-bootstrap-headers=yes install-headers
-
- oe_runmake csu/subdir_lib
- mkdir -p ${D}${libdir}/
- install -m 644 csu/crt[1in].o ${D}${libdir}
-
- # Two headers -- stubs.h and features.h -- aren't installed by install-headers,
- # so do them by hand. We can tolerate an empty stubs.h for the moment.
- # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
- mkdir -p ${D}${includedir}/gnu/
- touch ${D}${includedir}/gnu/stubs.h
- cp ${S}/include/features.h ${D}${includedir}/features.h
-
- if [ -e ${B}/bits/stdio_lim.h ]; then
- cp ${B}/bits/stdio_lim.h ${D}${includedir}/bits/
- fi
-}
-
-do_stash_locale() {
- :
-}
-
-do_siteconfig () {
- :
-}
-
-inherit nopackages
-
-# We really only want this built by things that need it, not any recrdeptask
-deltask do_build
diff --git a/poky/meta/recipes-core/glibc/glibc-initial_2.28.bb b/poky/meta/recipes-core/glibc/glibc-initial_2.28.bb
deleted file mode 100644
index e86770e12..000000000
--- a/poky/meta/recipes-core/glibc/glibc-initial_2.28.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require glibc_${PV}.bb
-require glibc-initial.inc
-
-# main glibc recipes muck with TARGET_CPPFLAGS to point into
-# final target sysroot but we
-# are not there when building glibc-initial
-# so reset it here
-
-TARGET_CPPFLAGS = ""
diff --git a/poky/meta/recipes-core/glibc/glibc-ld.inc b/poky/meta/recipes-core/glibc/glibc-ld.inc
index bb167b32b..041ffbb9c 100644
--- a/poky/meta/recipes-core/glibc/glibc-ld.inc
+++ b/poky/meta/recipes-core/glibc/glibc-ld.inc
@@ -10,8 +10,8 @@ def glibc_dl_info(d):
infos['ldconfig'].add('{"' + loader + '",' + "FLAG_ELF_LIBC6" + ' }')
infos['lddrewrite'].add(loader)
- infos['ldconfig'] = ','.join(infos['ldconfig'])
- infos['lddrewrite'] = ' '.join(infos['lddrewrite'])
+ infos['ldconfig'] = ','.join(sorted(infos['ldconfig']))
+ infos['lddrewrite'] = ' '.join(sorted(infos['lddrewrite']))
return infos
EGLIBC_KNOWN_INTERPRETER_NAMES = "${@glibc_dl_info(d)['ldconfig']}"
diff --git a/poky/meta/recipes-core/glibc/glibc-locale.inc b/poky/meta/recipes-core/glibc/glibc-locale.inc
index 1b676dc26..a985d26c7 100644
--- a/poky/meta/recipes-core/glibc/glibc-locale.inc
+++ b/poky/meta/recipes-core/glibc/glibc-locale.inc
@@ -27,7 +27,7 @@ ENABLE_BINARY_LOCALE_GENERATION_pn-nativesdk-glibc-locale = "1"
#enable locale generation on these arches
# BINARY_LOCALE_ARCHES is a space separated list of regular expressions
-BINARY_LOCALE_ARCHES ?= "arm.* aarch64 i[3-6]86 x86_64 powerpc mips mips64 riscv32 riscv64"
+BINARY_LOCALE_ARCHES ?= "arc arm.* aarch64 i[3-6]86 x86_64 powerpc mips mips64 riscv32 riscv64"
# set "1" to use cross-localedef for locale generation
# set "0" for qemu emulation of native localedef for locale generation
@@ -71,25 +71,27 @@ FILES_localedef = "${bindir}/localedef"
LOCALETREESRC = "${COMPONENTS_DIR}/${PACKAGE_ARCH}/glibc-stash-locale"
-do_install () {
- mkdir -p ${D}${bindir} ${D}${datadir} ${D}${libdir}
- if [ -n "$(ls ${LOCALETREESRC}/${bindir})" ]; then
- cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${bindir}/* ${D}${bindir}
- fi
- if [ -n "$(ls ${LOCALETREESRC}/${localedir})" ]; then
- mkdir -p ${D}${localedir}
- cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${localedir}/* ${D}${localedir}
- fi
- if [ -e ${LOCALETREESRC}/${libdir}/gconv ]; then
- cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${libdir}/gconv ${D}${libdir}
- fi
- if [ -e ${LOCALETREESRC}/${datadir}/i18n ]; then
- cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${datadir}/i18n ${D}${datadir}
- fi
- if [ -e ${LOCALETREESRC}/${datadir}/locale ]; then
- cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${datadir}/locale ${D}${datadir}
+copy_locale_files() {
+ local dir=$1 mode=$2
+
+ [ -e "${LOCALETREESRC}$dir" ] || return 0
+
+ for d in . $(find "${LOCALETREESRC}$dir" -type d -printf '%P '); do
+ install -d ${D}$dir/$d
+ find "${LOCALETREESRC}$dir/$d" -maxdepth 1 -type f \
+ -exec install -m $mode -t "${D}$dir/$d" {} \;
+ done
+}
+
+do_install() {
+ copy_locale_files ${bindir} 0755
+ copy_locale_files ${localedir} 0644
+ if [ ${PACKAGE_NO_GCONV} -eq 0 ]; then
+ copy_locale_files ${libdir}/gconv 0755
+ copy_locale_files ${datadir}/i18n 0644
fi
- cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/SUPPORTED ${WORKDIR}
+ copy_locale_files ${datadir}/locale 0644
+ install -m 0644 ${LOCALETREESRC}/SUPPORTED ${WORKDIR}/SUPPORTED
}
inherit libc-package
diff --git a/poky/meta/recipes-core/glibc/glibc-locale_2.28.bb b/poky/meta/recipes-core/glibc/glibc-locale_2.29.bb
index f7702e035..f7702e035 100644
--- a/poky/meta/recipes-core/glibc/glibc-locale_2.28.bb
+++ b/poky/meta/recipes-core/glibc/glibc-locale_2.29.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-mtrace_2.28.bb b/poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb
index 0b69bad46..0b69bad46 100644
--- a/poky/meta/recipes-core/glibc/glibc-mtrace_2.28.bb
+++ b/poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc
index a98ae1a29..b7c64a0b2 100644
--- a/poky/meta/recipes-core/glibc/glibc-package.inc
+++ b/poky/meta/recipes-core/glibc/glibc-package.inc
@@ -15,7 +15,12 @@ RPROVIDES_glibc-thread-db = "eglibc-thread-db"
RPROVIDES_${PN}-pcprofile = "eglibc-pcprofile"
RPROVIDES_${PN}-dbg = "eglibc-dbg"
libc_baselibs = "${base_libdir}/libc.so.* ${base_libdir}/libc-*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so ${base_libdir}/libmvec-*.so ${base_libdir}/ld*.so.* ${base_libdir}/ld-*.so ${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so ${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so ${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so ${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so ${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so ${base_libdir}/libnss_files*.so.* ${base_libdir}/libnss_files-*.so ${base_libdir}/libnss_compat*.so.* ${base_libdir}/libnss_compat-*.so ${base_libdir}/libnss_dns*.so.* ${base_libdir}/libnss_dns-*.so ${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so ${base_libdir}/libanl*.so.* ${base_libdir}/libanl-*.so ${base_libdir}/libBrokenLocale*.so.* ${base_libdir}/libBrokenLocale-*.so"
-libc_baselibs_append_aarch64 = " /lib/ld-linux-aarch64*.so.1"
+ARCH_DYNAMIC_LOADER = ""
+# The aarch64 ABI says the dynamic linker -must- be
+# /lib/ld-linux-aarch64{,_be}.so.1. With usrmerge, that may mean that
+# we need to install it in /usr/lib.
+ARCH_DYNAMIC_LOADER_aarch64 = "ld-linux-${TARGET_ARCH}.so.1"
+libc_baselibs_append = " ${@oe.utils.conditional('ARCH_DYNAMIC_LOADER', '', '', '${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}', d)}"
INSANE_SKIP_${PN}_append_aarch64 = " libdir"
FILES_${PN} = "${libc_baselibs} ${libexecdir}/* ${base_sbindir}/ldconfig ${sysconfdir}/ld.so.conf"
@@ -107,25 +112,27 @@ do_install_append () {
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d /run/nscd 755 root root -" \
> ${D}${sysconfdir}/tmpfiles.d/nscd.conf
- else
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/default/volatiles
echo "d root root 0755 /var/run/nscd none" \
> ${D}${sysconfdir}/default/volatiles/98_nscd
fi
+
+ # The dynamic loader will have been installed into
+ # ${base_libdir}. However, if that isn't going to end up being
+ # available in the ABI-mandated location, then a symlink must
+ # be created.
+
+ if [ -n "${ARCH_DYNAMIC_LOADER}" -a ! -e "${D}${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}" ]; then
+ install -d ${D}${root_prefix}/lib
+ ln -s ${@oe.path.relative('${root_prefix}/lib', '${base_libdir}')}/${ARCH_DYNAMIC_LOADER} \
+ ${D}${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}
+ fi
}
do_install_append_aarch64 () {
- if [ "${base_libdir}" != "${nonarch_base_libdir}" ]; then
- # The aarch64 ABI says the dynamic linker -must- be /lib/ld-linux-aarch64[_be].so.1
- install -d ${D}${nonarch_base_libdir}
- if [ -e ${D}${base_libdir}/ld-linux-aarch64.so.1 ]; then
- ln -s ${@oe.path.relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64.so.1 \
- ${D}${nonarch_base_libdir}/ld-linux-aarch64.so.1
- elif [ -e ${D}${base_libdir}/ld-linux-aarch64_be.so.1 ]; then
- ln -s ${@oe.path.relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64_be.so.1 \
- ${D}${nonarch_base_libdir}/ld-linux-aarch64_be.so.1
- fi
- fi
do_install_armmultilib
}
@@ -141,6 +148,7 @@ do_install_armmultilib () {
oe_multilib_header bits/endian.h bits/fcntl.h bits/fenv.h bits/fp-fast.h bits/hwcap.h bits/ipc.h bits/link.h bits/wordsize.h
oe_multilib_header bits/local_lim.h bits/mman.h bits/msq.h bits/pthreadtypes.h bits/pthreadtypes-arch.h bits/sem.h bits/semaphore.h bits/setjmp.h
oe_multilib_header bits/shm.h bits/sigstack.h bits/stat.h bits/statfs.h bits/typesizes.h
+ oe_multilib_header bits/procfs-id.h bits/procfs.h bits/shmlba.h
oe_multilib_header fpu_control.h gnu/lib-names.h gnu/stubs.h ieee754.h
@@ -207,12 +215,15 @@ do_poststash_install_cleanup () {
rm -rf ${D}/${localedir}
rm -rf ${D}${datadir}/locale
if [ "${libdir}" != "${exec_prefix}/lib" ]; then
- if [ -d ${D}${exec_prefix}/lib ]; then
+ if [ -d "${D}${exec_prefix}/lib" ]; then
+ if [ -z "${ARCH_DYNAMIC_LOADER}" -o \
+ ! -e "${D}${exec_prefix}/lib/${ARCH_DYNAMIC_LOADER}" ]; then
# error out if directory isn't empty
# this dir should only contain locale dir
# which has been deleted in the previous step
rmdir ${D}${exec_prefix}/lib
fi
+ fi
fi
}
addtask do_poststash_install_cleanup after do_stash_locale do_install before do_populate_sysroot do_package
diff --git a/poky/meta/recipes-core/glibc/glibc-scripts_2.28.bb b/poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb
index 5a89bd802..5a89bd802 100644
--- a/poky/meta/recipes-core/glibc/glibc-scripts_2.28.bb
+++ b/poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb
diff --git a/poky/meta/recipes-core/glibc/glibc.inc b/poky/meta/recipes-core/glibc/glibc.inc
index 99c92ce46..252fd56c1 100644
--- a/poky/meta/recipes-core/glibc/glibc.inc
+++ b/poky/meta/recipes-core/glibc/glibc.inc
@@ -2,36 +2,9 @@ require glibc-common.inc
require glibc-ld.inc
require glibc-testing.inc
-STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
-STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
-PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers"
-python () {
- opt_effective = "-O"
- for opt in d.getVar('SELECTED_OPTIMIZATION').split():
- if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"):
- opt_effective = opt
- if opt_effective == "-O0":
- bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective))
-}
-
-# siteconfig.bbclass runs configure which needs a working compiler
-# For the compiler to work we need a working libc yet libc isn't
-# in the sysroots directory at this point. This means the libc.so
-# linker script won't work as the --sysroot setting isn't correct.
-# Here we create a hacked up libc linker script and pass in the right
-# flags to let configure work. Ugly.
-EXTRASITECONFIG = "CFLAGS='${CFLAGS} -Wl,-L${WORKDIR}/site_config_libc -L${WORKDIR}/site_config_libc -L${SYSROOT_DESTDIR}${libdir} -L${SYSROOT_DESTDIR}${base_libdir} -Wl,-L${SYSROOT_DESTDIR}${libdir} -Wl,-L${SYSROOT_DESTDIR}${base_libdir}'"
-siteconfig_do_siteconfig_gencache_prepend = " \
- mkdir -p ${WORKDIR}/site_config_libc; \
- cp ${SYSROOT_DESTDIR}${libdir}/libc.so ${WORKDIR}/site_config_libc; \
- sed -i -e 's# ${base_libdir}# ${SYSROOT_DESTDIR}${base_libdir}#g' -e 's# ${libdir}# ${SYSROOT_DESTDIR}${libdir}#g' ${WORKDIR}/site_config_libc/libc.so; \
-"
-
-# nptl needs unwind support in gcc, which can't be built without glibc.
-DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial libgcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial"
-
-PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/libc"
PROVIDES += "virtual/libintl virtual/libiconv"
inherit autotools texinfo distro_features_check systemd
@@ -47,16 +20,11 @@ CACHED_CONFIGUREVARS += " \
libc_cv_ssp=no \
"
+# ifunc doesn't appear to work on mips, casuses libbfd assertion failures
+CACHED_CONFIGUREVARS_append_mipsarch = " libc_cv_ld_gnu_indirect_function=no"
+
GLIBC_EXTRA_OECONF ?= ""
GLIBC_EXTRA_OECONF_class-nativesdk = ""
-INHIBIT_DEFAULT_DEPS = "1"
-
-# This needs to match with glibc-collateral.inc, otherwise glibc-scripts and glibc-locale
-# will fail to find main glibc, for details see
-# http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100679.html
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
# glibc uses PARALLELMFLAGS variable to pass parallel build info so transfer
# PARALLEL_MAKE into PARALLELMFLAGS and empty out PARALLEL_MAKE
diff --git a/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
index 5df26a854..86ad9eaf1 100644
--- a/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
@@ -1,7 +1,8 @@
-From bd51b3add89a5cb2d8f44029a1027c780b2afff5 Mon Sep 17 00:00:00 2001
+From 0cac7493366586e8f87e8459359c15f702ef8c81 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:48:24 +0000
-Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well
+Subject: [PATCH 01/30] nativesdk-glibc: Look for host system ld.so.cache as
+ well
Upstream-Status: Inappropriate [embedded specific]
@@ -30,7 +31,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/elf/dl-load.c b/elf/dl-load.c
-index c51e4b3718..44bbb69dc4 100644
+index f972524421..e53c3a1b7b 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -2085,6 +2085,14 @@ _dl_map_object (struct link_map *loader, const char *name,
@@ -63,3 +64,6 @@ index c51e4b3718..44bbb69dc4 100644
/* Add another newline when we are tracing the library loading. */
if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS))
_dl_debug_printf ("\n");
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch b/poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch
new file mode 100644
index 000000000..1a343149c
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch
@@ -0,0 +1,204 @@
+From 3f635fb43389b54f682fc9ed2acc0b2aaf4a923d Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Mon, 4 Feb 2019 06:31:01 -0800
+Subject: [PATCH] x86-64 memcmp: Use unsigned Jcc instructions on size [BZ
+ #24155]
+
+Since the size argument is unsigned. we should use unsigned Jcc
+instructions, instead of signed, to check size.
+
+Tested on x86-64 and x32, with and without --disable-multi-arch.
+
+ [BZ #24155]
+ CVE-2019-7309
+ * NEWS: Updated for CVE-2019-7309.
+ * sysdeps/x86_64/memcmp.S: Use RDX_LP for size. Clear the
+ upper 32 bits of RDX register for x32. Use unsigned Jcc
+ instructions, instead of signed.
+ * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memcmp-2.
+ * sysdeps/x86_64/x32/tst-size_t-memcmp-2.c: New test.
+
+CVE: CVE-2019-7309
+Upstream-Status: Backport
+Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+---
+ sysdeps/x86_64/memcmp.S | 20 +++---
+ sysdeps/x86_64/x32/Makefile | 3 +-
+ sysdeps/x86_64/x32/tst-size_t-memcmp-2.c | 79 ++++++++++++++++++++++++
+ 5 files changed, 111 insertions(+), 10 deletions(-)
+ create mode 100644 sysdeps/x86_64/x32/tst-size_t-memcmp-2.c
+
+diff --git a/sysdeps/x86_64/memcmp.S b/sysdeps/x86_64/memcmp.S
+index 1fc487caa5..1322bb3b92 100644
+--- a/sysdeps/x86_64/memcmp.S
++++ b/sysdeps/x86_64/memcmp.S
+@@ -21,14 +21,18 @@
+
+ .text
+ ENTRY (memcmp)
+- test %rdx, %rdx
++#ifdef __ILP32__
++ /* Clear the upper 32 bits. */
++ movl %edx, %edx
++#endif
++ test %RDX_LP, %RDX_LP
+ jz L(finz)
+ cmpq $1, %rdx
+- jle L(finr1b)
++ jbe L(finr1b)
+ subq %rdi, %rsi
+ movq %rdx, %r10
+ cmpq $32, %r10
+- jge L(gt32)
++ jae L(gt32)
+ /* Handle small chunks and last block of less than 32 bytes. */
+ L(small):
+ testq $1, %r10
+@@ -156,7 +160,7 @@ L(A32):
+ movq %r11, %r10
+ andq $-32, %r10
+ cmpq %r10, %rdi
+- jge L(mt16)
++ jae L(mt16)
+ /* Pre-unroll to be ready for unrolled 64B loop. */
+ testq $32, %rdi
+ jz L(A64)
+@@ -178,7 +182,7 @@ L(A64):
+ movq %r11, %r10
+ andq $-64, %r10
+ cmpq %r10, %rdi
+- jge L(mt32)
++ jae L(mt32)
+
+ L(A64main):
+ movdqu (%rdi,%rsi), %xmm0
+@@ -216,7 +220,7 @@ L(mt32):
+ movq %r11, %r10
+ andq $-32, %r10
+ cmpq %r10, %rdi
+- jge L(mt16)
++ jae L(mt16)
+
+ L(A32main):
+ movdqu (%rdi,%rsi), %xmm0
+@@ -254,7 +258,7 @@ L(ATR):
+ movq %r11, %r10
+ andq $-32, %r10
+ cmpq %r10, %rdi
+- jge L(mt16)
++ jae L(mt16)
+ testq $16, %rdi
+ jz L(ATR32)
+
+@@ -325,7 +329,7 @@ L(ATR64main):
+ movq %r11, %r10
+ andq $-32, %r10
+ cmpq %r10, %rdi
+- jge L(mt16)
++ jae L(mt16)
+
+ L(ATR32res):
+ movdqa (%rdi,%rsi), %xmm0
+diff --git a/sysdeps/x86_64/x32/Makefile b/sysdeps/x86_64/x32/Makefile
+index 1557724b0c..8748956563 100644
+--- a/sysdeps/x86_64/x32/Makefile
++++ b/sysdeps/x86_64/x32/Makefile
+@@ -8,7 +8,8 @@ endif
+ ifeq ($(subdir),string)
+ tests += tst-size_t-memchr tst-size_t-memcmp tst-size_t-memcpy \
+ tst-size_t-memrchr tst-size_t-memset tst-size_t-strncasecmp \
+- tst-size_t-strncmp tst-size_t-strncpy tst-size_t-strnlen
++ tst-size_t-strncmp tst-size_t-strncpy tst-size_t-strnlen \
++ tst-size_t-memcmp-2
+ endif
+
+ ifeq ($(subdir),wcsmbs)
+diff --git a/sysdeps/x86_64/x32/tst-size_t-memcmp-2.c b/sysdeps/x86_64/x32/tst-size_t-memcmp-2.c
+new file mode 100644
+index 0000000000..d8ae1a0813
+--- /dev/null
++++ b/sysdeps/x86_64/x32/tst-size_t-memcmp-2.c
+@@ -0,0 +1,79 @@
++/* Test memcmp with size_t in the lower 32 bits of 64-bit register.
++ Copyright (C) 2019 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#define TEST_MAIN
++#ifdef WIDE
++# define TEST_NAME "wmemcmp"
++#else
++# define TEST_NAME "memcmp"
++#endif
++
++#include "test-size_t.h"
++
++#ifdef WIDE
++# include <inttypes.h>
++# include <wchar.h>
++
++# define MEMCMP wmemcmp
++# define CHAR wchar_t
++#else
++# define MEMCMP memcmp
++# define CHAR char
++#endif
++
++IMPL (MEMCMP, 1)
++
++typedef int (*proto_t) (const CHAR *, const CHAR *, size_t);
++
++static int
++__attribute__ ((noinline, noclone))
++do_memcmp (parameter_t a, parameter_t b)
++{
++ return CALL (&b, a.p, b.p, a.len);
++}
++
++static int
++test_main (void)
++{
++ test_init ();
++
++ parameter_t dest = { { page_size / sizeof (CHAR) }, buf1 };
++ parameter_t src = { { 0 }, buf2 };
++
++ memcpy (buf1, buf2, page_size);
++
++ CHAR *p = (CHAR *) buf1;
++ p[page_size / sizeof (CHAR) - 1] = (CHAR) 1;
++
++ int ret = 0;
++ FOR_EACH_IMPL (impl, 0)
++ {
++ src.fn = impl->fn;
++ int res = do_memcmp (dest, src);
++ if (res >= 0)
++ {
++ error (0, 0, "Wrong result in function %s: %i >= 0",
++ impl->name, res);
++ ret = 1;
++ }
++ }
++
++ return ret ? EXIT_FAILURE : EXIT_SUCCESS;
++}
++
++#include <support/test-driver.c>
+--
+2.17.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
index daadec76c..f663e18ed 100644
--- a/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
@@ -1,7 +1,8 @@
-From fdc8a33ac2c81a0237b8a6d8b1aac7f1cdbb46af Mon Sep 17 00:00:00 2001
+From f275c04e263fc2ebf2eaad6ac1ab3c838647bb14 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:50:00 +0000
-Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK
+Subject: [PATCH 02/30] nativesdk-glibc: Fix buffer overrun with a relocated
+ SDK
When ld-linux-*.so.2 is relocated to a path that is longer than the
original fixed location, the dynamic loader will crash in open_path
@@ -21,7 +22,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 12 insertions(+)
diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 44bbb69dc4..74e2e5e962 100644
+index e53c3a1b7b..2bd9bc27f2 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -1785,7 +1785,19 @@ open_path (const char *name, size_t namelen, int mode,
@@ -44,3 +45,6 @@ index 44bbb69dc4..74e2e5e962 100644
do
{
struct r_search_path_elem *this_dir = *dirs;
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
index e08254030..fd909f644 100644
--- a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
@@ -1,7 +1,8 @@
-From 055dd46b793168fb08e44913153010b088011ba2 Mon Sep 17 00:00:00 2001
+From 92df5673de18779b612609afa4f687e33e5ecb6e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:51:38 +0000
-Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths
+Subject: [PATCH 03/30] nativesdk-glibc: Raise the size of arrays containing dl
+ paths
This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings
and lengths as well as ld.so.cache path in the dynamic loader to specific
@@ -25,7 +26,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
7 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/elf/dl-cache.c b/elf/dl-cache.c
-index 6ee5153ff9..37a5f701fa 100644
+index d8d1e2344e..d2247bfc4f 100644
--- a/elf/dl-cache.c
+++ b/elf/dl-cache.c
@@ -133,6 +133,10 @@ do \
@@ -40,7 +41,7 @@ index 6ee5153ff9..37a5f701fa 100644
_dl_cache_libcmp (const char *p1, const char *p2)
{
diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 74e2e5e962..8f19186e1c 100644
+index 2bd9bc27f2..4170cc1a09 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -110,8 +110,8 @@ static size_t max_capstrlen attribute_relro;
@@ -55,7 +56,7 @@ index 74e2e5e962..8f19186e1c 100644
SYSTEM_DIRS_LEN
};
diff --git a/elf/interp.c b/elf/interp.c
-index 9cd50c7291..fc2f39d73c 100644
+index 243829f5f7..0e74241703 100644
--- a/elf/interp.c
+++ b/elf/interp.c
@@ -18,5 +18,5 @@
@@ -66,7 +67,7 @@ index 9cd50c7291..fc2f39d73c 100644
+const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp")))
= RUNTIME_LINKER;
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
-index fbdd814edf..9f4d8d69b1 100644
+index 206cd51df6..2fd4fb54ae 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -168,6 +168,9 @@ static struct argp argp =
@@ -80,7 +81,7 @@ index fbdd814edf..9f4d8d69b1 100644
a platform. */
static int
diff --git a/elf/rtld.c b/elf/rtld.c
-index 1b0c74739f..a70a62d31e 100644
+index 5d97f41b7b..26c5fef929 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -130,6 +130,7 @@ dso_name_valid_for_suid (const char *p)
@@ -107,7 +108,7 @@ index 1b0c74739f..a70a62d31e 100644
++_dl_skip_args;
--_dl_argc;
diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
-index f173cde71b..5c3205026f 100644
+index ae8937cba0..f321ee419e 100644
--- a/iconv/gconv_conf.c
+++ b/iconv/gconv_conf.c
@@ -36,7 +36,7 @@
@@ -117,10 +118,10 @@ index f173cde71b..5c3205026f 100644
-static const char default_gconv_path[] = GCONV_PATH;
+static char default_gconv_path[4096] __attribute__ ((section (".gccrelocprefix"))) = GCONV_PATH;
- /* The path elements, as determined by the __gconv_get_path function.
- All path elements end in a slash. */
+ /* Type to represent search path. */
+ struct path_elem
diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h
-index cf43f1cf3b..7f07adde53 100644
+index bc8b40331d..b0fdd2144b 100644
--- a/sysdeps/generic/dl-cache.h
+++ b/sysdeps/generic/dl-cache.h
@@ -27,10 +27,6 @@
@@ -134,3 +135,6 @@ index cf43f1cf3b..7f07adde53 100644
#ifndef add_system_dir
# define add_system_dir(dir) add_dir (dir)
#endif
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
index 1ae2e33b4..d6c9aac69 100644
--- a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
@@ -1,7 +1,7 @@
-From a237553ccd15276462be2023057a017fa8ee5d7c Mon Sep 17 00:00:00 2001
+From ff0f4756f1a98202726c65745aca38354864e033 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Dec 2015 14:35:35 -0800
-Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86
+Subject: [PATCH 04/30] nativesdk-glibc: Allow 64 bit atomics for x86
The fix consist of allowing 64bit atomic ops for x86.
This should be safe for i586 and newer CPUs.
@@ -13,19 +13,30 @@ Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- sysdeps/i386/atomic-machine.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ sysdeps/x86/atomic-machine.h | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
-diff --git a/sysdeps/i386/atomic-machine.h b/sysdeps/i386/atomic-machine.h
-index 272da5dd8f..409c759f14 100644
---- a/sysdeps/i386/atomic-machine.h
-+++ b/sysdeps/i386/atomic-machine.h
-@@ -54,7 +54,7 @@ typedef uintmax_t uatomic_max_t;
- # endif
+diff --git a/sysdeps/x86/atomic-machine.h b/sysdeps/x86/atomic-machine.h
+index aa60ca4cd6..3e42e00183 100644
+--- a/sysdeps/x86/atomic-machine.h
++++ b/sysdeps/x86/atomic-machine.h
+@@ -58,15 +58,14 @@ typedef uintmax_t uatomic_max_t;
#endif
--#define __HAVE_64B_ATOMICS 0
-+#define __HAVE_64B_ATOMICS 1
- #define USE_ATOMIC_COMPILER_BUILTINS 0
- #define ATOMIC_EXCHANGE_USES_CAS 0
+ #define USE_ATOMIC_COMPILER_BUILTINS 1
++# define __HAVE_64B_ATOMICS 1
+ #ifdef __x86_64__
+-# define __HAVE_64B_ATOMICS 1
+ # define SP_REG "rsp"
+ # define SEG_REG "fs"
+ # define BR_CONSTRAINT "q"
+ # define IBR_CONSTRAINT "iq"
+ #else
+-# define __HAVE_64B_ATOMICS 0
+ # define SP_REG "esp"
+ # define SEG_REG "gs"
+ # define BR_CONSTRAINT "r"
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
index b53f2ef2e..9f9f503a1 100644
--- a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
@@ -1,7 +1,7 @@
-From e1dc85af1800afa4fbf4eb5a59cc41025495af57 Mon Sep 17 00:00:00 2001
+From b2ec111dc3a42d9dce71c903524724ae82ff22d8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 3 Aug 2018 09:55:12 -0700
-Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales
+Subject: [PATCH 05/30] nativesdk-glibc: Make relocatable install for locales
The glibc locale path is hard-coded to the install prefix, but in SDKs we need
to be able to relocate the binaries. Expand the strings to 4K and put them in a
@@ -18,7 +18,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/locale/findlocale.c b/locale/findlocale.c
-index 872cadb5b9..dd651e07f5 100644
+index 9af605bd64..b2b0a3f93b 100644
--- a/locale/findlocale.c
+++ b/locale/findlocale.c
@@ -56,7 +56,7 @@ struct __locale_data *const _nl_C[] attribute_hidden =
@@ -40,7 +40,7 @@ index 872cadb5b9..dd651e07f5 100644
else
/* We really have to load some data. First see whether the name is
diff --git a/locale/loadarchive.c b/locale/loadarchive.c
-index 516d30d8d1..9bfbe1a5dd 100644
+index 803c1cf2a4..9023f475b8 100644
--- a/locale/loadarchive.c
+++ b/locale/loadarchive.c
@@ -42,7 +42,7 @@
@@ -53,7 +53,7 @@ index 516d30d8d1..9bfbe1a5dd 100644
/* Size of initial mapping window, optimal if large enough to
cover the header plus the initial locale. */
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
-index 68822a6319..537bc35149 100644
+index 7c1cc3eecb..53cb8bfc59 100644
--- a/locale/localeinfo.h
+++ b/locale/localeinfo.h
@@ -325,7 +325,7 @@ _nl_lookup_word (locale_t l, int category, int item)
@@ -65,3 +65,6 @@ index 68822a6319..537bc35149 100644
/* Load the locale data for CATEGORY from the file specified by *NAME.
If *NAME is "", use environment variables as specified by POSIX, and
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch b/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
index 971700a6d..a6dddebbc 100644
--- a/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
@@ -1,7 +1,7 @@
-From d23c577b0b70b34335971abaf3f50e617dda615e Mon Sep 17 00:00:00 2001
+From 4dc4b4f63dd79734078fa54446edb7fe2d9c74fa Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:01:50 +0000
-Subject: [PATCH] fsl e500/e5500/e6500/603e fsqrt implementation
+Subject: [PATCH 06/30] fsl e500/e5500/e6500/603e fsqrt implementation
Upstream-Status: Pending
Signed-off-by: Edmar Wienskoski <edmar@freescale.com>
@@ -1579,3 +1579,6 @@ index 0000000000..04ff8cc181
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies
@@ -0,0 +1 @@
+powerpc/powerpc64/e6500/fpu
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
index 487134683..17ffc6fd4 100644
--- a/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
@@ -1,7 +1,8 @@
-From d65f6ee214d7d91445fceabc6a5d6bf55b0e8d4b Mon Sep 17 00:00:00 2001
+From 5506296ef55a6e4916febab63805ddf2d5a5293c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:11:22 +0000
-Subject: [PATCH] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names
+Subject: [PATCH 07/30] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known
+ names
This bolts in a hook for OE to pass its own version of interpreter
names into glibc especially for multilib case, where it differs from any
@@ -16,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/elf/readlib.c b/elf/readlib.c
-index 573c01476c..d8c7412287 100644
+index c9743e6692..6307f918fc 100644
--- a/elf/readlib.c
+++ b/elf/readlib.c
@@ -51,6 +51,7 @@ static struct known_names interpreters[] =
@@ -27,3 +28,6 @@ index 573c01476c..d8c7412287 100644
};
static struct known_names known_libs[] =
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch b/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
index c0d96eb1f..aacc9f2e3 100644
--- a/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
@@ -1,7 +1,7 @@
-From ee3aa1464f40c916c62cf326bf4c18f8b71a229b Mon Sep 17 00:00:00 2001
+From ea969d7767428d73823c91ad9955829bd66b9e58 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:15:07 +0000
-Subject: [PATCH] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
+Subject: [PATCH 08/30] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
on ppc fixes the errors like below
| ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite'
@@ -203,3 +203,6 @@ index 26fa067abf..9d175122a8 100644
return f_washf (b);
}
+strong_alias (__ieee754_sqrtf, __sqrtf_finite)
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
index d0b47cd67..b1d441303 100644
--- a/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
@@ -1,8 +1,8 @@
-From 17e82d594b2d8d3a6998face953382f9d14fb046 Mon Sep 17 00:00:00 2001
+From a9e6ca45cdaf13ee595089a5a580d00a95a06bf1 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:16:38 +0000
-Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out
- __slow versions
+Subject: [PATCH 09/30] __ieee754_sqrt{,f} are now inline functions and call
+ out __slow versions
Upstream-Status: Pending
@@ -382,3 +382,6 @@ index 9d175122a8..10de1f0cc3 100644
+}
+
strong_alias (__ieee754_sqrtf, __sqrtf_finite)
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch b/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
index 86ef3a105..46d205808 100644
--- a/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
@@ -1,7 +1,8 @@
-From fe8d9b76e7c881cc0a0b728ea2bd637fafca0978 Mon Sep 17 00:00:00 2001
+From 50ad00401eb16bb88c57d95bc927deeec4033e01 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:20:09 +0000
-Subject: [PATCH] Quote from bug 1443 which explains what the patch does :
+Subject: [PATCH 10/30] Quote from bug 1443 which explains what the patch does
+ :
We build some random program and link it with -lust. When we run it,
it dies with a SIGSEGV before reaching main().
@@ -44,7 +45,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
-index 1a4fd3f17b..a02c47571a 100644
+index 7a2f9d9b78..36a1dd1888 100644
--- a/sysdeps/arm/dl-machine.h
+++ b/sysdeps/arm/dl-machine.h
@@ -510,7 +510,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
@@ -56,3 +57,6 @@ index 1a4fd3f17b..a02c47571a 100644
break;
case R_ARM_TLS_TPOFF32:
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
index 32aae5cd5..293b72e79 100644
--- a/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
@@ -1,7 +1,7 @@
-From 3012cb839a64e7d5c621efa79b643d169290e6e9 Mon Sep 17 00:00:00 2001
+From a29a718890a3f32e7135f6b64b1a80c74f2d1454 Mon Sep 17 00:00:00 2001
From: Ting Liu <b28495@freescale.com>
Date: Wed, 19 Dec 2012 04:39:57 -0600
-Subject: [PATCH] eglibc: run libm-err-tab.pl with specific dirs in ${S}
+Subject: [PATCH 11/30] eglibc: run libm-err-tab.pl with specific dirs in ${S}
libm-err-tab.pl will parse all the files named "libm-test-ulps"
in the given dir recursively. To avoid parsing the one in
@@ -18,16 +18,19 @@ Signed-off-by: Ting Liu <b28495@freescale.com>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/manual/Makefile b/manual/Makefile
-index c2756640a7..1b5bb16a96 100644
+index 4f76ee85d2..04b8c8c320 100644
--- a/manual/Makefile
+++ b/manual/Makefile
-@@ -102,7 +102,8 @@ $(objpfx)libm-err.texi: $(objpfx)stamp-libm-err
- $(objpfx)stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\
- $(dir)/libm-test-ulps))
+@@ -103,7 +103,8 @@ $(objpfx)stamp-libm-err: $(..)math/gen-libm-test.py \
+ $(wildcard $(foreach dir,$(sysdirs),\
+ $(dir)/libm-test-ulps))
pwd=`pwd`; \
-- $(PERL) $< $$pwd/.. > $(objpfx)libm-err-tmp
-+ $(PERL) $< $$pwd/../ports > $(objpfx)libm-err-tmp
-+ $(PERL) $< $$pwd/../sysdeps >> $(objpfx)libm-err-tmp
+- $(PYTHON) $< -s $$pwd/.. -m $(objpfx)libm-err-tmp
++ $(PYTHON) $< -s $$pwd/../ports -m $(objpfx)libm-err-tmp
++ $(PYTHON) $< -s $$pwd/../sysdeps -m $(objpfx)libm-err-tmp
$(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi
touch $@
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
index 93395c389..6e175b64d 100644
--- a/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
@@ -1,8 +1,8 @@
-From 93ab69ae4c98303929ba9492130a021fa4a215be Mon Sep 17 00:00:00 2001
+From 777da88a819738683e4389580cfbfded2a83e87e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:24:46 +0000
-Subject: [PATCH] __ieee754_sqrt{,f} are now inline functions and call out
- __slow versions
+Subject: [PATCH 12/30] __ieee754_sqrt{,f} are now inline functions and call
+ out __slow versions
Upstream-Status: Pending
@@ -56,3 +56,6 @@ index 812653558f..10de1f0cc3 100644
float b;
#endif
{
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch b/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
index 9998691fa..b5adecba0 100644
--- a/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
@@ -1,7 +1,7 @@
-From a7bd8aa65f3f2755d6dbd0d5adbfd269c1fb0094 Mon Sep 17 00:00:00 2001
+From f98b1b9e6b569abd3594b4923ace0c966c9daece Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:27:10 +0000
-Subject: [PATCH] sysdeps/gnu/configure.ac: handle correctly
+Subject: [PATCH 13/30] sysdeps/gnu/configure.ac: handle correctly
$libc_cv_rootsbindir
Upstream-Status:Pending
@@ -37,3 +37,6 @@ index 634fe4de2a..3db1697f4f 100644
+ test -n "$libc_cv_rootsbindir" || libc_cv_rootsbindir=/sbin
;;
esac
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch b/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
index 9d6ab30e2..1cd91475d 100644
--- a/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
@@ -1,7 +1,7 @@
-From 2ce5bc6da23dcb402afdeb967fa44c39eecf6d37 Mon Sep 17 00:00:00 2001
+From b9cd992052550d4b2bba954099e221677a6652e7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:28:41 +0000
-Subject: [PATCH] Add unused attribute
+Subject: [PATCH 14/30] Add unused attribute
Helps in avoiding gcc warning when header is is included in
a source file which does not use both functions
@@ -17,7 +17,7 @@ Upstream-Status: Pending
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/iconv/gconv_charset.h b/iconv/gconv_charset.h
-index 123e2a62ce..63cc83ec84 100644
+index 91e0ad3141..2e9549fe49 100644
--- a/iconv/gconv_charset.h
+++ b/iconv/gconv_charset.h
@@ -21,7 +21,7 @@
@@ -29,3 +29,6 @@ index 123e2a62ce..63cc83ec84 100644
strip (char *wp, const char *s)
{
int slash_count = 0;
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch b/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
index 0267e7a4e..f2e180239 100644
--- a/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
@@ -1,7 +1,7 @@
-From b382138c41ccf6079b44592f1e74f183ca8281bb Mon Sep 17 00:00:00 2001
+From e8a88fb3bb6ffcc43871a7caf7ad9c59bd183e50 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:31:06 +0000
-Subject: [PATCH] 'yes' within the path sets wrong config variables
+Subject: [PATCH 15/30] 'yes' within the path sets wrong config variables
It seems that the 'AC_EGREP_CPP(yes...' example is quite popular
but being such a short word to grep it is likely to produce
@@ -258,3 +258,6 @@ index f9cba6e15d..b21f72f1e4 100644
#endif
], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)])
if test $libc_cv_ppc64_def_call_elf = no; then
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch b/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
index 15453ec6f..8a9fa4916 100644
--- a/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
@@ -1,7 +1,7 @@
-From 04fb7b93dc40c1f96ebc05d29a2f02f9e4f0d572 Mon Sep 17 00:00:00 2001
+From 10f470476dc947d7b950d6a66f7c06f500c96c60 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:33:03 +0000
-Subject: [PATCH] timezone: re-written tzselect as posix sh
+Subject: [PATCH 16/30] timezone: re-written tzselect as posix sh
To avoid the bash dependency.
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/timezone/Makefile b/timezone/Makefile
-index 0194aba4a1..58e5405a05 100644
+index 493deca790..36e559e16c 100644
--- a/timezone/Makefile
+++ b/timezone/Makefile
@@ -122,7 +122,7 @@ $(testdata)/XT%: testdata/XT%
@@ -28,10 +28,10 @@ index 0194aba4a1..58e5405a05 100644
-e '/TZVERSION=/s|see_Makefile|"$(version)"|' \
-e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \
diff --git a/timezone/tzselect.ksh b/timezone/tzselect.ksh
-index d2c3a6d1dd..089679f306 100755
+index 18fce27e24..70745f9d36 100755
--- a/timezone/tzselect.ksh
+++ b/timezone/tzselect.ksh
-@@ -35,7 +35,7 @@ REPORT_BUGS_TO=tz@iana.org
+@@ -34,7 +34,7 @@ REPORT_BUGS_TO=tz@iana.org
# Specify default values for environment variables if they are unset.
: ${AWK=awk}
@@ -40,3 +40,6 @@ index d2c3a6d1dd..089679f306 100755
# Output one argument as-is to standard output.
# Safer than 'echo', which can mishandle '\' or leading '-'.
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch b/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
index 06d2cd1d2..a27759a39 100644
--- a/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
@@ -1,7 +1,7 @@
-From 7a2f244c0980a54ed74f9544ab44a7269ef12bce Mon Sep 17 00:00:00 2001
+From 809392d20fa9a9f8159242451f9969e65a658835 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Dec 2015 14:33:02 -0800
-Subject: [PATCH] Remove bash dependency for nscd init script
+Subject: [PATCH 17/30] Remove bash dependency for nscd init script
The nscd init script uses #! /bin/bash but only really uses one bashism
(translated strings), so remove them and switch the shell to #!/bin/sh.
@@ -70,3 +70,6 @@ index a882da7d8b..b02986ec15 100644
RETVAL=1
;;
esac
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch b/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
index 29109a26e..f80a3ee1d 100644
--- a/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
@@ -1,7 +1,7 @@
-From 44a5c79efea09f5b990e524ec42abdeef444056a Mon Sep 17 00:00:00 2001
+From 016d6987600d49d3f45874096e943b97d1667539 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:42:58 +0000
-Subject: [PATCH] eglibc: Cross building and testing instructions
+Subject: [PATCH 18/30] eglibc: Cross building and testing instructions
Ported from eglibc
Upstream-Status: Pending
@@ -614,3 +614,6 @@ index 0000000000..b67b468466
+- Some tests require access to libstdc++.so.6 and libgcc_s.so.1; we
+ simply place copies of these libraries in the top GLIBC build
+ directory.
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch b/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
index 71c2ab918..603bf2188 100644
--- a/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
@@ -1,7 +1,7 @@
-From f4ec5527d562d38523abb8587a6c7532e9d21f8a Mon Sep 17 00:00:00 2001
+From 7e4423528d362cf6268b1902a8e30d710431f333 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:49:28 +0000
-Subject: [PATCH] eglibc: Help bootstrap cross toolchain
+Subject: [PATCH 19/30] eglibc: Help bootstrap cross toolchain
Taken from EGLIBC, r1484 + r1525
@@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
create mode 100644 include/stubs-bootstrap.h
diff --git a/Makefile b/Makefile
-index d3f25a525a..ab383867e2 100644
+index 4a014d6eff..3a1f419bc3 100644
--- a/Makefile
+++ b/Makefile
@@ -70,9 +70,18 @@ subdir-dirs = include
@@ -95,3 +95,6 @@ index 0000000000..1d2b669aff
+ difficult headers. The <gnu/stubs.h> header depends, via the
+ EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but
+ an empty stubs.h like this will do fine for GCC. */
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch b/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
index 6e475a711..985b17b58 100644
--- a/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
@@ -1,7 +1,7 @@
-From 6c23660d035e71de0e20b40460ad3050bd057665 Mon Sep 17 00:00:00 2001
+From 8c4d7d70a84a69fe5e8d69539368aa11f8fe20aa Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Dec 2015 15:15:09 -0800
-Subject: [PATCH] eglibc: Clear cache lines on ppc8xx
+Subject: [PATCH 20/30] eglibc: Clear cache lines on ppc8xx
2007-06-13 Nathan Sidwell <nathan@codesourcery.com>
Mark Shinwell <shinwell@codesourcery.com>
@@ -21,7 +21,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
-index 78051bc7bc..e24f442320 100644
+index b04ecc4a4c..75bda97241 100644
--- a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
+++ b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
@@ -24,9 +24,21 @@ int __cache_line_size attribute_hidden;
@@ -48,7 +48,7 @@ index 78051bc7bc..e24f442320 100644
break;
diff --git a/sysdeps/unix/sysv/linux/powerpc/libc-start.c b/sysdeps/unix/sysv/linux/powerpc/libc-start.c
-index f2ad0c355d..3e6773795e 100644
+index 4fd5f70700..1a21e4675c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/libc-start.c
+++ b/sysdeps/unix/sysv/linux/powerpc/libc-start.c
@@ -73,11 +73,25 @@ __libc_start_main (int argc, char **argv,
@@ -78,3 +78,6 @@ index f2ad0c355d..3e6773795e 100644
__cache_line_size = av->a_un.a_val;
break;
#ifndef SHARED
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
index 8aecf2624..fb1b43b18 100644
--- a/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
@@ -1,7 +1,7 @@
-From 55531ef57d04006c5a1e3b32a8e0410372f86007 Mon Sep 17 00:00:00 2001
+From 19f041215673d4499ee9b23805d5c224c4063689 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:55:53 +0000
-Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4
+Subject: [PATCH 21/30] eglibc: Resolve __fpscr_values on SH4
2010-09-29 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Andrew Stubbs <ams@codesourcery.com>
@@ -33,7 +33,7 @@ index e0938c4165..ca1d7da339 100644
# a*
alphasort64;
diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S
-index c4e28ffb98..648bae03d5 100644
+index 6ce36d6dd5..425811cc77 100644
--- a/sysdeps/unix/sysv/linux/sh/sysdep.S
+++ b/sysdeps/unix/sysv/linux/sh/sysdep.S
@@ -30,3 +30,14 @@ ENTRY (__syscall_error)
@@ -51,3 +51,6 @@ index c4e28ffb98..648bae03d5 100644
+ .long 0x80000
+weak_alias (___fpscr_values, __fpscr_values)
+
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch b/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
index aa62c6352..a2d35d43e 100644
--- a/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
@@ -1,7 +1,7 @@
-From 4bb23fbb07984b93fd14f353fd9325d927b0cd98 Mon Sep 17 00:00:00 2001
+From 1ae15f60a84f16187e06a05906f44a6658bae487 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:33:49 +0000
-Subject: [PATCH] eglibc: Forward port cross locale generation support
+Subject: [PATCH 22/30] eglibc: Forward port cross locale generation support
Upstream-Status: Pending
@@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
create mode 100644 locale/catnames.c
diff --git a/locale/Makefile b/locale/Makefile
-index fd9972279b..176b3946de 100644
+index 764e751c36..866957fefa 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -26,7 +26,8 @@ headers = langinfo.h locale.h bits/locale.h \
@@ -91,7 +91,7 @@ index 0000000000..9fad357db1
+ [LC_ALL] = sizeof ("LC_ALL") - 1
+ };
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
-index 537bc35149..73ba20d695 100644
+index 53cb8bfc59..92c466200c 100644
--- a/locale/localeinfo.h
+++ b/locale/localeinfo.h
@@ -224,7 +224,7 @@ __libc_tsd_define (extern, locale_t, LOCALE)
@@ -104,7 +104,7 @@ index 537bc35149..73ba20d695 100644
# define NL_CURRENT_INDIRECT 1
#endif
diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c
-index 34a8d32c92..cbb9436cd1 100644
+index 94c122df68..80e53e12c8 100644
--- a/locale/programs/charmap-dir.c
+++ b/locale/programs/charmap-dir.c
@@ -18,7 +18,9 @@
@@ -150,7 +150,7 @@ index 34a8d32c92..cbb9436cd1 100644
return NULL;
}
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
-index d2eebcfdbb..c3718d6589 100644
+index bb4e2c539d..9d08d422c4 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -349,7 +349,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen,
@@ -199,7 +199,7 @@ index d2eebcfdbb..c3718d6589 100644
== runp->wcnext->wcs[runp->nwcs - 1] + 1));
diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
-index f791e6b7e9..d809d6db7f 100644
+index 36fd08ba80..08155a27d6 100644
--- a/locale/programs/ld-ctype.c
+++ b/locale/programs/ld-ctype.c
@@ -915,7 +915,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap,
@@ -281,7 +281,7 @@ index f791e6b7e9..d809d6db7f 100644
srunp = srunp->next;
}
diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c
-index a755792363..e8b2f85522 100644
+index 8e9849fdba..028d3efa9f 100644
--- a/locale/programs/ld-time.c
+++ b/locale/programs/ld-time.c
@@ -220,8 +220,10 @@ No definition for %s category found"), "LC_TIME");
@@ -350,7 +350,7 @@ index a755792363..e8b2f85522 100644
diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c
-index 3525c8a43d..f8a7fd9c24 100644
+index ed3a9731d0..3178ea057a 100644
--- a/locale/programs/linereader.c
+++ b/locale/programs/linereader.c
@@ -595,7 +595,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap,
@@ -363,18 +363,18 @@ index 3525c8a43d..f8a7fd9c24 100644
size_t bufmax = 56;
diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
-index d718d2e9f4..e0a3ad5a83 100644
+index b7bcef8248..efeced1e0f 100644
--- a/locale/programs/localedef.c
+++ b/locale/programs/localedef.c
-@@ -105,6 +105,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
- #define OPT_BIG_ENDIAN 401
+@@ -109,6 +109,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
#define OPT_NO_WARN 402
#define OPT_WARN 403
-+#define OPT_UINT32_ALIGN 404
+ #define OPT_NO_HARD_LINKS 404
++#define OPT_UINT32_ALIGN 405
/* Definitions of arguments for argp functions. */
static const struct argp_option options[] =
-@@ -147,6 +148,8 @@ static const struct argp_option options[] =
+@@ -153,6 +154,8 @@ static const struct argp_option options[] =
N_("Generate little-endian output") },
{ "big-endian", OPT_BIG_ENDIAN, NULL, 0,
N_("Generate big-endian output") },
@@ -383,7 +383,7 @@ index d718d2e9f4..e0a3ad5a83 100644
{ NULL, 0, NULL, 0, NULL }
};
-@@ -236,12 +239,14 @@ main (int argc, char *argv[])
+@@ -242,12 +245,14 @@ main (int argc, char *argv[])
ctype locale. (P1003.2 4.35.5.2) */
setlocale (LC_CTYPE, "POSIX");
@@ -398,9 +398,9 @@ index d718d2e9f4..e0a3ad5a83 100644
/* Process charmap file. */
charmap = charmap_read (charmap_file, verbose, 1, be_quiet, 1);
-@@ -389,6 +394,9 @@ parse_opt (int key, char *arg, struct argp_state *state)
- /* Enable the warnings. */
- set_warnings (arg, true);
+@@ -399,6 +404,9 @@ parse_opt (int key, char *arg, struct argp_state *state)
+ /* Do not hard link to other locales. */
+ hard_links = false;
break;
+ case OPT_UINT32_ALIGN:
+ uint32_align_mask = strtol (arg, NULL, 0) - 1;
@@ -409,7 +409,7 @@ index d718d2e9f4..e0a3ad5a83 100644
force_output = 1;
break;
diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c
-index 32e5f761f2..b41e77bd8d 100644
+index e4ba48e968..e7b0efe887 100644
--- a/locale/programs/locfile.c
+++ b/locale/programs/locfile.c
@@ -544,6 +544,9 @@ compare_files (const char *filename1, const char *filename2, size_t size,
@@ -432,7 +432,7 @@ index 32e5f761f2..b41e77bd8d 100644
/* Record that FILE's next element is the 32-bit integer VALUE. */
diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h
-index 89b347c72d..a636fc2960 100644
+index c063fc097d..4e7465e55a 100644
--- a/locale/programs/locfile.h
+++ b/locale/programs/locfile.h
@@ -71,6 +71,8 @@ extern void write_all_categories (struct localedef_t *definitions,
@@ -521,7 +521,7 @@ index 89b347c72d..a636fc2960 100644
+
#endif /* locfile.h */
diff --git a/locale/setlocale.c b/locale/setlocale.c
-index e4de907e1f..b5d8f5c17d 100644
+index 9427a5ad28..8f4140d684 100644
--- a/locale/setlocale.c
+++ b/locale/setlocale.c
@@ -64,36 +64,6 @@ static char *const _nl_current_used[] =
@@ -561,3 +561,6 @@ index e4de907e1f..b5d8f5c17d 100644
#ifdef NL_CURRENT_INDIRECT
# define WEAK_POSTLOAD(postload) weak_extern (postload)
#else
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch b/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
index 68fad9641..0f7c5fdf7 100644
--- a/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
@@ -1,7 +1,7 @@
-From 1b2ceb6c2414e3c98c7bcd029583287ced9f3159 Mon Sep 17 00:00:00 2001
+From 809c79b7d554a4ec83921df9d8773c99a03dc81c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 20 Apr 2016 21:11:00 -0700
-Subject: [PATCH] Define DUMMY_LOCALE_T if not defined
+Subject: [PATCH 23/30] Define DUMMY_LOCALE_T if not defined
This is a hack to fix building the locale bits on an older
CentOs 5.X machine
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 3 insertions(+)
diff --git a/locale/programs/config.h b/locale/programs/config.h
-index 9956cd8446..04342f3644 100644
+index a1e6e0ec3c..7f75528eae 100644
--- a/locale/programs/config.h
+++ b/locale/programs/config.h
@@ -19,6 +19,9 @@
@@ -27,3 +27,6 @@ index 9956cd8446..04342f3644 100644
/* Use the internal textdomain used for libc messages. */
#define PACKAGE _libc_intl_domainname
#ifndef VERSION
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
index e17f6aa3b..c289e544e 100644
--- a/poky/meta/recipes-core/glibc/glibc/0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
@@ -1,7 +1,8 @@
-From 865651d2496a90f7ae8e7cc19a2e54b6f17a8ad5 Mon Sep 17 00:00:00 2001
+From b2d1c9b4159bfd661a4996588d06d922491dfecb Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 3 Aug 2018 09:42:06 -0700
-Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path
+Subject: [PATCH 24/30] localedef --add-to-archive uses a hard-coded locale
+ path
it doesn't exist in normal use, and there's no way to pass an
alternative filename.
@@ -14,11 +15,11 @@ Upstream-Status: Inappropriate (OE-specific)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- locale/programs/locarchive.c | 37 ++++++++++++++++++++++++++----------
- 1 file changed, 27 insertions(+), 10 deletions(-)
+ locale/programs/locarchive.c | 35 +++++++++++++++++++++++++----------
+ 1 file changed, 25 insertions(+), 10 deletions(-)
diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
-index ca332a345f..91f62da662 100644
+index e6310b18be..f54a76eade 100644
--- a/locale/programs/locarchive.c
+++ b/locale/programs/locarchive.c
@@ -340,12 +340,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
@@ -34,7 +35,7 @@ index ca332a345f..91f62da662 100644
- if (output_prefix)
- memcpy (archivefname, output_prefix, prefix_len);
- strcpy (archivefname + prefix_len, ARCHIVE_NAME);
-+ if (envarchive != NULL)
++ if (envarchive != NULL)
+ {
+ archivefname = xmalloc(strlen(envarchive) + 1);
+ fname = xmalloc(strlen(envarchive) + sizeof (".XXXXXX"));
@@ -51,16 +52,7 @@ index ca332a345f..91f62da662 100644
strcpy (stpcpy (fname, archivefname), ".XXXXXX");
/* Not all of the old file has to be mapped. Change this now this
-@@ -551,6 +563,8 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
-
- /* Add the information for the new one. */
- *ah = new_ah;
-+ free(archivefname);
-+ free(fname);
- }
-
-
-@@ -569,10 +583,13 @@ open_archive (struct locarhandle *ah, bool readonly)
+@@ -569,10 +581,13 @@ open_archive (struct locarhandle *ah, bool readonly)
/* If ah has a non-NULL fname open that otherwise open the default. */
if (archivefname == NULL)
{
@@ -78,7 +70,7 @@ index ca332a345f..91f62da662 100644
}
while (1)
-@@ -585,7 +602,7 @@ open_archive (struct locarhandle *ah, bool readonly)
+@@ -585,7 +600,7 @@ open_archive (struct locarhandle *ah, bool readonly)
the default locale archive we ignore the failure and
list an empty archive, otherwise we print an error
and exit. */
@@ -87,3 +79,6 @@ index ca332a345f..91f62da662 100644
{
if (readonly)
{
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch b/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
index 28cff2b90..0ddd2e58b 100644
--- a/poky/meta/recipes-core/glibc/glibc/0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
@@ -1,7 +1,7 @@
-From a6159c9486745664a5f116ee9cc45837021b7624 Mon Sep 17 00:00:00 2001
+From 804b05a034bfaf4e3427243e6baf736086822cd0 Mon Sep 17 00:00:00 2001
From: Mark Hatle <mark.hatle@windriver.com>
Date: Thu, 18 Aug 2016 14:07:58 -0500
-Subject: [PATCH] elf/dl-deps.c: Make _dl_build_local_scope breadth first
+Subject: [PATCH 25/30] elf/dl-deps.c: Make _dl_build_local_scope breadth first
According to the ELF specification:
@@ -24,7 +24,7 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
-index 9d9b1ba7f2..8414028c58 100644
+index e12c353158..9234daac05 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -73,13 +73,19 @@ _dl_build_local_scope (struct link_map **list, struct link_map *map)
@@ -51,3 +51,6 @@ index 9d9b1ba7f2..8414028c58 100644
return p - list;
}
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch b/poky/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch
deleted file mode 100644
index 4a7919ff5..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0025-locale-fix-hard-coded-reference-to-gcc-E.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 6c6aecba19b3e7947100623532a41b6f16734ace Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Rosen?= <jeremy.rosen@smile.fr>
-Date: Mon, 22 Aug 2016 16:09:25 +0200
-Subject: [PATCH] locale: fix hard-coded reference to gcc -E
-
-When new version of compilers are published, they may not be compatible with
-older versions of software. This is particularly common when software is built
-with -Werror.
-
-Autotools provides a way for a user to specify the name of his compiler using a
-set of variables ($CC $CXX $CPP etc.). Those variables are used correctly when
-compiling glibc but the script used to generate transliterations in the locale/
-subdirectory directly calls the gcc binary to get the output of the
-preprocessor instead of using the $CPP variable provided by the build
-environment.
-
-This patch replaces the hard-coded reference to the gcc binary with the proper
-environment variable, thus allowing a user to override it.
-
-Upstream-Status: Submitted [https://sourceware.org/ml/libc-alpha/2016-08/msg00746.html]
----
- locale/gen-translit.pl | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/locale/gen-translit.pl b/locale/gen-translit.pl
-index 30d3f2f195..e97653017c 100644
---- a/locale/gen-translit.pl
-+++ b/locale/gen-translit.pl
-@@ -1,5 +1,5 @@
- #!/usr/bin/perl -w
--open F, "cat C-translit.h.in | gcc -E - |" || die "Cannot preprocess input file";
-+open F, 'cat C-translit.h.in | ${CPP:-gcc -E} - |' || die "Cannot preprocess input file";
-
-
- sub cstrlen {
diff --git a/poky/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch b/poky/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch
deleted file mode 100644
index 71ddc1234..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0026-reset-dl_load_write_lock-after-forking.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From efb0fca7db742f4195e1771d8ba4c7fba4938819 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Jan 2018 10:05:07 -0800
-Subject: [PATCH] reset dl_load_write_lock after forking
-
-The patch in this Bugzilla entry was requested by a customer:
-
- https://www.sourceware.org/bugzilla/show_bug.cgi?id=19282
-
-The __libc_fork() code reset dl_load_lock, but it also needed to reset
-dl_load_write_lock. The patch has not yet been integrated upstream.
-
-Upstream-Status: Pending [ No Author See bugzilla]
-
-Signed-off-by: Damodar Sonone <damodar.sonone@kpit.com>
-Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- sysdeps/nptl/fork.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c
-index ec56a827eb..0f48933ff1 100644
---- a/sysdeps/nptl/fork.c
-+++ b/sysdeps/nptl/fork.c
-@@ -130,9 +130,9 @@ __libc_fork (void)
- _IO_list_resetlock ();
- }
-
-- /* Reset the lock the dynamic loader uses to protect its data. */
-+ /* Reset the locks the dynamic loader uses to protect its data. */
- __rtld_lock_initialize (GL(dl_load_lock));
--
-+ __rtld_lock_initialize (GL(dl_load_write_lock));
- /* Run the handlers registered for the child. */
- __run_fork_handlers (atfork_run_child);
- }
diff --git a/poky/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch b/poky/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch
deleted file mode 100644
index dd37f2cd4..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 6ea962e0946da7564a774b08dd3eda28d64e9e56 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Jan 2018 10:08:04 -0800
-Subject: [PATCH] Acquire ld.so lock before switching to malloc_atfork
-
-The patch is from
- https://sourceware.org/bugzilla/show_bug.cgi?id=4578
-
-If a thread happens to hold dl_load_lock and have r_state set to RT_ADD or
-RT_DELETE at the time another thread calls fork(), then the child exit code
-from fork (in nptl/sysdeps/unix/sysv/linux/fork.c in our case) re-initializes
-dl_load_lock but does not restore r_state to RT_CONSISTENT. If the child
-subsequently requires ld.so functionality before calling exec(), then the
-assertion will fire.
-
-The patch acquires dl_load_lock on entry to fork() and releases it on exit
-from the parent path. The child path is initialized as currently done.
-This is essentially pthreads_atfork, but forced to be first because the
-acquisition of dl_load_lock must happen before malloc_atfork is active
-to avoid a deadlock.
-
-The patch has not yet been integrated upstream.
-
-Upstream-Status: Pending [ Not Author See bugzilla]
-
-Signed-off-by: Raghunath Lolur <Raghunath.Lolur@kpit.com>
-Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- sysdeps/nptl/fork.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c
-index 0f48933ff1..eef3f9669b 100644
---- a/sysdeps/nptl/fork.c
-+++ b/sysdeps/nptl/fork.c
-@@ -25,6 +25,7 @@
- #include <tls.h>
- #include <hp-timing.h>
- #include <ldsodefs.h>
-+#include <libc-lock.h>
- #include <stdio-lock.h>
- #include <atomic.h>
- #include <nptl/pthreadP.h>
-@@ -56,6 +57,9 @@ __libc_fork (void)
- bool multiple_threads = THREAD_GETMEM (THREAD_SELF, header.multiple_threads);
-
- __run_fork_handlers (atfork_run_prepare);
-+ /* grab ld.so lock BEFORE switching to malloc_atfork */
-+ __rtld_lock_lock_recursive (GL(dl_load_lock));
-+ __rtld_lock_lock_recursive (GL(dl_load_write_lock));
-
- /* If we are not running multiple threads, we do not have to
- preserve lock state. If fork runs from a signal handler, only
-@@ -150,6 +154,9 @@ __libc_fork (void)
-
- /* Run the handlers registered for the parent. */
- __run_fork_handlers (atfork_run_parent);
-+ /* unlock ld.so last, because we locked it first */
-+ __rtld_lock_unlock_recursive (GL(dl_load_write_lock));
-+ __rtld_lock_unlock_recursive (GL(dl_load_lock));
- }
-
- return pid;
diff --git a/poky/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch b/poky/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch
deleted file mode 100644
index fae8d0040..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 38fad3e5ab3b45c56810abd35fa11a72fa10b8f1 Mon Sep 17 00:00:00 2001
-From: Pratyush Anand <panand@redhat.com>
-Date: Wed, 22 Mar 2017 17:02:38 +0530
-Subject: [PATCH] bits/siginfo-consts.h: enum definition for TRAP_HWBKPT is
- missing
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Compile following linux kernel test code with latest glibc:
-
-https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
-
-and we get following error:
-breakpoint_test_arm64.c: In function ‘run_test’:
-breakpoint_test_arm64.c:171:25: error: ‘TRAP_HWBKPT’ undeclared (first use in this function)
- if (siginfo.si_code != TRAP_HWBKPT) {
- ^
-I can compile test code by modifying my local
-/usr/include/bits/siginfo.h and test works great. Therefore, this patch
-will be needed in upstream glibc so that issue is fixed there as well.
-
-Signed-off-by: Pratyush Anand <panand@redhat.com>
-
-Upstream-Status: Submitted [https://sourceware.org/bugzilla/show_bug.cgi?id=21286]
----
- bits/siginfo-consts.h | 6 +++++-
- sysdeps/unix/sysv/linux/bits/siginfo-consts.h | 6 +++++-
- 2 files changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/bits/siginfo-consts.h b/bits/siginfo-consts.h
-index 7464c1882b..298314527a 100644
---- a/bits/siginfo-consts.h
-+++ b/bits/siginfo-consts.h
-@@ -106,8 +106,12 @@ enum
- {
- TRAP_BRKPT = 1, /* Process breakpoint. */
- # define TRAP_BRKPT TRAP_BRKPT
-- TRAP_TRACE /* Process trace trap. */
-+ TRAP_TRACE, /* Process trace trap. */
- # define TRAP_TRACE TRAP_TRACE
-+ TRAP_BRANCH, /* Process branch trap. */
-+# define TRAP_BRANCH TRAP_BRANCH
-+ TRAP_HWBKPT /* hardware breakpoint/watchpoint */
-+# define TRAP_HWBKPT TRAP_HWBKPT
- };
- # endif
-
-diff --git a/sysdeps/unix/sysv/linux/bits/siginfo-consts.h b/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
-index 193bd9c471..3fe852bc5f 100644
---- a/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
-+++ b/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
-@@ -141,8 +141,12 @@ enum
- {
- TRAP_BRKPT = 1, /* Process breakpoint. */
- # define TRAP_BRKPT TRAP_BRKPT
-- TRAP_TRACE /* Process trace trap. */
-+ TRAP_TRACE, /* Process trace trap. */
- # define TRAP_TRACE TRAP_TRACE
-+ TRAP_BRANCH, /* Process branch trap. */
-+# define TRAP_BRANCH TRAP_BRANCH
-+ TRAP_HWBKPT /* hardware breakpoint/watchpoint */
-+# define TRAP_HWBKPT TRAP_HWBKPT
- };
- # endif
-
diff --git a/poky/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch b/poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch
index db97d91c9..0eb006ffb 100644
--- a/poky/meta/recipes-core/glibc/glibc/0030-intl-Emit-no-lines-in-bison-generated-files.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch
@@ -1,7 +1,7 @@
-From a54c15d0567d547137066f41b1b22eba4875c27b Mon Sep 17 00:00:00 2001
+From 39f910a4b8195d0538425aad7f0ebdc232b7a582 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 3 Aug 2018 09:44:00 -0700
-Subject: [PATCH] intl: Emit no lines in bison generated files
+Subject: [PATCH 28/30] intl: Emit no lines in bison generated files
Improve reproducibility:
Do not put any #line preprocessor commands in bison generated files.
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/intl/Makefile b/intl/Makefile
-index 672edf1b38..d31888d013 100644
+index 9eea8d57e3..627dce4cf1 100644
--- a/intl/Makefile
+++ b/intl/Makefile
@@ -155,7 +155,7 @@ $(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out
@@ -29,3 +29,6 @@ index 672edf1b38..d31888d013 100644
$(inst_localedir)/locale.alias: locale.alias $(+force)
$(do-install)
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0034-inject-file-assembly-directives.patch b/poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch
index 55eba2d43..2874fb581 100644
--- a/poky/meta/recipes-core/glibc/glibc/0034-inject-file-assembly-directives.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch
@@ -1,7 +1,12 @@
-Currently, non-IA builds are not reproducibile since build paths are
+From 649bfb399265eb48a9fe8db1c2b5a31633c55152 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Nov 2018 17:29:35 -0800
+Subject: [PATCH 29/30] inject file assembly directives
+
+Currently, non-IA builds are not reproducibile since build paths are
being injected into the debug symbols. These are coming from the use of
.S assembler files during the glibc build. No STT_FILE section is added
-during the assembly but when linking, ld decides to add one to aid
+during the assembly but when linking, ld decides to add one to aid
debugging and ensure references between the different object files its
linking remain clear.
@@ -18,8 +23,32 @@ RP
Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ csu/abi-note.S | 2 ++
+ sysdeps/aarch64/crti.S | 2 ++
+ sysdeps/aarch64/crtn.S | 2 ++
+ sysdeps/aarch64/dl-tlsdesc.S | 2 ++
+ sysdeps/aarch64/dl-trampoline.S | 2 ++
+ sysdeps/aarch64/start.S | 2 ++
+ sysdeps/arm/abi-note.S | 2 ++
+ sysdeps/arm/crti.S | 2 ++
+ sysdeps/arm/crtn.S | 2 ++
+ sysdeps/arm/dl-tlsdesc.S | 2 ++
+ sysdeps/arm/dl-trampoline.S | 2 ++
+ sysdeps/arm/start.S | 2 ++
+ sysdeps/mips/start.S | 2 ++
+ sysdeps/powerpc/powerpc32/dl-start.S | 2 ++
+ sysdeps/powerpc/powerpc32/start.S | 2 ++
+ sysdeps/powerpc/powerpc64/start.S | 2 ++
+ sysdeps/unix/sysv/linux/aarch64/__read_tp.S | 2 ++
+ sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S | 2 ++
+ sysdeps/unix/sysv/linux/arm/libc-do-syscall.S | 2 ++
+ sysdeps/unix/sysv/linux/powerpc/dl-brk.S | 2 ++
+ 20 files changed, 40 insertions(+)
+
diff --git a/csu/abi-note.S b/csu/abi-note.S
-index 5d0ca7803d..8ce41581b1 100644
+index fa1f014a88..098731362a 100644
--- a/csu/abi-note.S
+++ b/csu/abi-note.S
@@ -56,6 +56,8 @@ offset length contents
@@ -32,7 +61,7 @@ index 5d0ca7803d..8ce41581b1 100644
name begins with `.note' and creates a PT_NOTE program header entry
pointing at it. */
diff --git a/sysdeps/aarch64/crti.S b/sysdeps/aarch64/crti.S
-index 2b213758b2..736f33e314 100644
+index d4e7dfcf5c..e0218df30c 100644
--- a/sysdeps/aarch64/crti.S
+++ b/sysdeps/aarch64/crti.S
@@ -50,6 +50,8 @@
@@ -45,7 +74,7 @@ index 2b213758b2..736f33e314 100644
weak_extern (PREINIT_FUNCTION)
#else
diff --git a/sysdeps/aarch64/crtn.S b/sysdeps/aarch64/crtn.S
-index d72300af80..cb249bf3ca 100644
+index 363f752460..2fb06fba62 100644
--- a/sysdeps/aarch64/crtn.S
+++ b/sysdeps/aarch64/crtn.S
@@ -37,6 +37,8 @@
@@ -57,34 +86,8 @@ index d72300af80..cb249bf3ca 100644
.section .init,"ax",%progbits
ldp x29, x30, [sp], 16
RET
-diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S
-index bad000f555..5957c028cd 100644
---- a/sysdeps/aarch64/start.S
-+++ b/sysdeps/aarch64/start.S
-@@ -18,6 +18,8 @@
-
- #include <sysdep.h>
-
-+ .file "start.S"
-+
- /* This is the canonical entry point, usually the first thing in the text
- segment.
-
-diff --git a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
-index 92fc0191a5..715bfcb9e4 100644
---- a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
-+++ b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
-@@ -18,6 +18,8 @@
-
- #include <sysdep.h>
-
-+ .file "__read_tp.S"
-+
- .hidden __read_tp
- ENTRY (__read_tp)
- mrs x0, tpidr_el0
diff --git a/sysdeps/aarch64/dl-tlsdesc.S b/sysdeps/aarch64/dl-tlsdesc.S
-index 43a62ef307..42f85cdde9 100644
+index 4abe6b82a3..8c44b2ff8a 100644
--- a/sysdeps/aarch64/dl-tlsdesc.S
+++ b/sysdeps/aarch64/dl-tlsdesc.S
@@ -22,6 +22,8 @@
@@ -97,7 +100,7 @@ index 43a62ef307..42f85cdde9 100644
#define SAVE_Q_REGISTERS \
stp q0, q1, [sp, #-32*NSAVEDQREGPAIRS]!; \
diff --git a/sysdeps/aarch64/dl-trampoline.S b/sysdeps/aarch64/dl-trampoline.S
-index a86d0722d4..92edab1d01 100644
+index 19b117e8f9..38c78b5409 100644
--- a/sysdeps/aarch64/dl-trampoline.S
+++ b/sysdeps/aarch64/dl-trampoline.S
@@ -21,6 +21,8 @@
@@ -109,6 +112,19 @@ index a86d0722d4..92edab1d01 100644
#define ip0 x16
#define ip0l PTR_REG (16)
#define ip1 x17
+diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S
+index f5e9b9c223..ae3e22a6a5 100644
+--- a/sysdeps/aarch64/start.S
++++ b/sysdeps/aarch64/start.S
+@@ -18,6 +18,8 @@
+
+ #include <sysdep.h>
+
++ .file "start.S"
++
+ /* This is the canonical entry point, usually the first thing in the text
+ segment.
+
diff --git a/sysdeps/arm/abi-note.S b/sysdeps/arm/abi-note.S
index 07bd4c4619..7213b16f27 100644
--- a/sysdeps/arm/abi-note.S
@@ -120,7 +136,7 @@ index 07bd4c4619..7213b16f27 100644
alignment in any callee. */
.eabi_attribute 25, 1
diff --git a/sysdeps/arm/crti.S b/sysdeps/arm/crti.S
-index a1424d0333..bca1dab256 100644
+index 26dbba66a3..dd84ecd566 100644
--- a/sysdeps/arm/crti.S
+++ b/sysdeps/arm/crti.S
@@ -57,6 +57,8 @@
@@ -133,7 +149,7 @@ index a1424d0333..bca1dab256 100644
.p2align 2
.type call_weak_fn, %function
diff --git a/sysdeps/arm/crtn.S b/sysdeps/arm/crtn.S
-index 26027693ce..65a0502826 100644
+index 8f91c8d88b..a87fe49e07 100644
--- a/sysdeps/arm/crtn.S
+++ b/sysdeps/arm/crtn.S
@@ -37,6 +37,8 @@
@@ -146,7 +162,7 @@ index 26027693ce..65a0502826 100644
corresponding to the prologues in crti.S. */
diff --git a/sysdeps/arm/dl-tlsdesc.S b/sysdeps/arm/dl-tlsdesc.S
-index 056e17d52d..a98c68dfb9 100644
+index a929340b42..b724c9776d 100644
--- a/sysdeps/arm/dl-tlsdesc.S
+++ b/sysdeps/arm/dl-tlsdesc.S
@@ -21,6 +21,8 @@
@@ -159,7 +175,7 @@ index 056e17d52d..a98c68dfb9 100644
@ emit debug information with cfi
@ use arm-specific pseudos for unwinding itself
diff --git a/sysdeps/arm/dl-trampoline.S b/sysdeps/arm/dl-trampoline.S
-index c731b01286..4b37b25344 100644
+index 325cfcd2ce..4bfdcbce51 100644
--- a/sysdeps/arm/dl-trampoline.S
+++ b/sysdeps/arm/dl-trampoline.S
@@ -21,6 +21,8 @@
@@ -172,7 +188,7 @@ index c731b01286..4b37b25344 100644
.globl _dl_runtime_resolve
.type _dl_runtime_resolve, #function
diff --git a/sysdeps/arm/start.S b/sysdeps/arm/start.S
-index adef090717..d22e4128e0 100644
+index a05f8a4651..2f4374fcaa 100644
--- a/sysdeps/arm/start.S
+++ b/sysdeps/arm/start.S
@@ -57,6 +57,8 @@
@@ -184,21 +200,8 @@ index adef090717..d22e4128e0 100644
/* Tag_ABI_align8_preserved: This code preserves 8-byte
alignment in any callee. */
.eabi_attribute 25, 1
-diff --git a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
-index 871702317a..20a942dbac 100644
---- a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
-+++ b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
-@@ -39,6 +39,8 @@
- a normal function call) in a high page of memory; tail call to the
- helper. */
-
-+ .file "aeabi_read_tp.S"
-+
- .hidden __aeabi_read_tp
- ENTRY (__aeabi_read_tp)
- #ifdef ARCH_HAS_HARD_TP
diff --git a/sysdeps/mips/start.S b/sysdeps/mips/start.S
-index a4c4ef0fae..d00fff31a8 100644
+index 8638e5b545..93f6564aec 100644
--- a/sysdeps/mips/start.S
+++ b/sysdeps/mips/start.S
@@ -38,6 +38,8 @@
@@ -210,16 +213,21 @@ index a4c4ef0fae..d00fff31a8 100644
#ifndef ENTRY_POINT
#error ENTRY_POINT needs to be defined for start.S on MIPS/ELF.
#endif
-diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
-index eeb96544e3..da182b28f8 100644
---- a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
-+++ b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
-@@ -1 +1,3 @@
-+ .file "dl-brk.S"
+diff --git a/sysdeps/powerpc/powerpc32/dl-start.S b/sysdeps/powerpc/powerpc32/dl-start.S
+index 99a10d643a..e47fc0d245 100644
+--- a/sysdeps/powerpc/powerpc32/dl-start.S
++++ b/sysdeps/powerpc/powerpc32/dl-start.S
+@@ -18,6 +18,8 @@
+
+ #include <sysdep.h>
+
++ .file "dl-start.S"
+
- #include <brk.S>
+ /* Initial entry point code for the dynamic linker.
+ The C function `_dl_start' is the real entry point;
+ its return value is the user program's entry point. */
diff --git a/sysdeps/powerpc/powerpc32/start.S b/sysdeps/powerpc/powerpc32/start.S
-index 5c10a22f8a..2b52627f27 100644
+index 172fb5a56b..ef1471b861 100644
--- a/sysdeps/powerpc/powerpc32/start.S
+++ b/sysdeps/powerpc/powerpc32/start.S
@@ -35,6 +35,8 @@
@@ -232,7 +240,7 @@ index 5c10a22f8a..2b52627f27 100644
before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
#undef cfi_startproc
diff --git a/sysdeps/powerpc/powerpc64/start.S b/sysdeps/powerpc/powerpc64/start.S
-index bd7189310c..2e22b8472d 100644
+index 55fae68ad6..0cb608fe0f 100644
--- a/sysdeps/powerpc/powerpc64/start.S
+++ b/sysdeps/powerpc/powerpc64/start.S
@@ -35,6 +35,8 @@
@@ -244,21 +252,34 @@ index bd7189310c..2e22b8472d 100644
/* We do not want .eh_frame info for crt1.o since crt1.o is linked
before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
#undef cfi_startproc
-diff --git a/sysdeps/powerpc/powerpc32/dl-start.S b/sysdeps/powerpc/powerpc32/dl-start.S
-index 244d87fb6d..14d3e2ce14 100644
---- a/sysdeps/powerpc/powerpc32/dl-start.S
-+++ b/sysdeps/powerpc/powerpc32/dl-start.S
+diff --git a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
+index 30a29b9fb0..07892b383f 100644
+--- a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
++++ b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
@@ -18,6 +18,8 @@
#include <sysdep.h>
-+ .file "dl-start.S"
++ .file "__read_tp.S"
+
- /* Initial entry point code for the dynamic linker.
- The C function `_dl_start' is the real entry point;
- its return value is the user program's entry point. */
+ .hidden __read_tp
+ ENTRY (__read_tp)
+ mrs x0, tpidr_el0
+diff --git a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
+index f64c4ffe8a..2da315ab08 100644
+--- a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
++++ b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
+@@ -39,6 +39,8 @@
+ a normal function call) in a high page of memory; tail call to the
+ helper. */
+
++ .file "aeabi_read_tp.S"
++
+ .hidden __aeabi_read_tp
+ ENTRY (__aeabi_read_tp)
+ #ifdef ARCH_HAS_HARD_TP
diff --git a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
-index d26ad1f8d3..a0de10bf81 100644
+index 0b6237ac55..8cda491c28 100644
--- a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
+++ b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
@@ -27,6 +27,8 @@
@@ -270,3 +291,14 @@ index d26ad1f8d3..a0de10bf81 100644
#if defined(__thumb__)
.thumb
.syntax unified
+diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
+index eeb96544e3..da182b28f8 100644
+--- a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
++++ b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
+@@ -1 +1,3 @@
++ .file "dl-brk.S"
++
+ #include <brk.S>
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch b/poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
index 31058ca91..adc242400 100644
--- a/poky/meta/recipes-core/glibc/glibc/0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
@@ -1,7 +1,7 @@
-From cbada1a1b218c1ef61d0eb4363fad7598e6509d6 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 30 Sep 2018 09:16:48 +0000
-Subject: [PATCH] locale: prevent maybe-uninitialized errors with -Os [BZ
+From 6ddab9c8692e6a777c2e2e7a6ca26a65df7d2c5d Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Mon, 17 Dec 2018 21:36:18 +0000
+Subject: [PATCH 30/30] locale: prevent maybe-uninitialized errors with -Os [BZ
#19444]
Fixes following error when building for aarch64 with -Os:
@@ -21,34 +21,19 @@ Fixes following error when building for aarch64 with -Os:
| coll_seq seq1, seq2;
| ^~~~
- Partial fix for [BZ #23716]
+ Partial fix for [BZ #19444]
* locale/weight.h: Fix build with -Os.
-Work around the issue instead of removing -O like we do with
-SELECTED_OPTIMIZATION
-
-Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00539.html]
+Upstream-Status: Submitted [https://patchwork.ozlabs.org/patch/1014766]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- ChangeLog | 4 ++++
locale/weight.h | 7 +++++++
- 2 files changed, 11 insertions(+)
+ 1 file changed, 7 insertions(+)
-diff --git a/ChangeLog b/ChangeLog
-index 216336edc9..84fbbf47ed 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2018-09-30 Martin Jansa <Martin.Jansa@gmail.com>
-+ Partial fix for [BZ #23716]
-+ * locale/weight.h: Fix build with -Os.
-+
- 2018-09-30 Martin Jansa <Martin.Jansa@gmail.com>
- Partial fix for [BZ #23716]
- * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O.
diff --git a/locale/weight.h b/locale/weight.h
-index 6028d3595e..10bcea25e5 100644
+index 7ca81498b2..d608ca70bb 100644
--- a/locale/weight.h
+++ b/locale/weight.h
@@ -28,7 +28,14 @@ findidx (const int32_t *table,
@@ -66,3 +51,6 @@ index 6028d3595e..10bcea25e5 100644
const unsigned char *cp;
const unsigned char *usrc;
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch b/poky/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch
deleted file mode 100644
index 61f55d4f8..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 546b46c309a52ed74dc906114b1e984bb9703d74 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Fri, 14 Sep 2018 23:23:03 +0000
-Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors with -O
- [BZ #19444]
-
-With -O included in CFLAGS it fails to build with:
-
-../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_jnl':
-../sysdeps/ieee754/ldbl-96/e_jnl.c:146:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- b = invsqrtpi * temp / sqrtl (x);
- ~~~~~~~~~~^~~~~~
-../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_ynl':
-../sysdeps/ieee754/ldbl-96/e_jnl.c:375:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- b = invsqrtpi * temp / sqrtl (x);
- ~~~~~~~~~~^~~~~~
-../sysdeps/ieee754/dbl-64/e_jn.c: In function '__ieee754_jn':
-../sysdeps/ieee754/dbl-64/e_jn.c:113:20: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- b = invsqrtpi * temp / sqrt (x);
- ~~~~~~~~~~^~~~~~
-../sysdeps/ieee754/dbl-64/e_jn.c: In function '__ieee754_yn':
-../sysdeps/ieee754/dbl-64/e_jn.c:320:16: error: 'temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- b = invsqrtpi * temp / sqrt (x);
- ~~~~~~~~~~^~~~~~
-
-Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64
-with -O, -O1, -Os.
-For soft-fp ARM it needs one more fix for -O1:
-https://sourceware.org/ml/libc-alpha/2018-09/msg00300.html
-For AARCH64 it needs one more fix in locale for -Os.
-
- [BZ #23716]
- * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
- * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
- * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
- * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise.
-
-Work around the issue instead of removing -O like we do with
-SELECTED_OPTIMIZATION
-
-Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- ChangeLog | 7 +++++++
- sysdeps/ieee754/dbl-64/e_jn.c | 21 +++++++++++++++++++++
- sysdeps/ieee754/ldbl-128/e_jnl.c | 21 +++++++++++++++++++++
- sysdeps/ieee754/ldbl-128ibm/e_jnl.c | 21 +++++++++++++++++++++
- sysdeps/ieee754/ldbl-96/e_jnl.c | 21 +++++++++++++++++++++
- 5 files changed, 91 insertions(+)
-
-diff --git a/ChangeLog b/ChangeLog
-index 11a9b8d98e..922e916f2c 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,10 @@
-+2018-09-29 Martin Jansa <Martin.Jansa@gmail.com>
-+ Partial fix for [BZ #23716]
-+ * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
-+ * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise.
-+ * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise.
-+ * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise.
-+
- 2018-09-28 Adhemerval Zanella <adhemerval.zanella@linaro.org>
-
- [BZ #23579]
-diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
-index 9181b22bb8..9ff52c737f 100644
---- a/sysdeps/ieee754/dbl-64/e_jn.c
-+++ b/sysdeps/ieee754/dbl-64/e_jn.c
-@@ -42,6 +42,7 @@
- #include <math-narrow-eval.h>
- #include <math_private.h>
- #include <math-underflow.h>
-+#include <libc-diag.h>
-
- static const double
- invsqrtpi = 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */
-@@ -109,7 +110,17 @@ __ieee754_jn (int n, double x)
- case 2: temp = -c - s; break;
- case 3: temp = c - s; break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrt (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-@@ -316,7 +327,17 @@ __ieee754_yn (int n, double x)
- case 2: temp = -s + c; break;
- case 3: temp = s + c; break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrt (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
-index 7739eec291..8706a11575 100644
---- a/sysdeps/ieee754/ldbl-128/e_jnl.c
-+++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
-@@ -61,6 +61,7 @@
- #include <math.h>
- #include <math_private.h>
- #include <math-underflow.h>
-+#include <libc-diag.h>
-
- static const _Float128
- invsqrtpi = L(5.6418958354775628694807945156077258584405E-1),
-@@ -150,7 +151,17 @@ __ieee754_jnl (int n, _Float128 x)
- temp = c - s;
- break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrtl (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-@@ -386,7 +397,17 @@ __ieee754_ynl (int n, _Float128 x)
- temp = s + c;
- break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrtl (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-diff --git a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
-index 71b3addfba..3226d02309 100644
---- a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
-+++ b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
-@@ -61,6 +61,7 @@
- #include <math.h>
- #include <math_private.h>
- #include <math-underflow.h>
-+#include <libc-diag.h>
-
- static const long double
- invsqrtpi = 5.6418958354775628694807945156077258584405E-1L,
-@@ -150,7 +151,17 @@ __ieee754_jnl (int n, long double x)
- temp = c - s;
- break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrtl (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-@@ -386,7 +397,17 @@ __ieee754_ynl (int n, long double x)
- temp = s + c;
- break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrtl (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c
-index 394921f564..da5c2cc93e 100644
---- a/sysdeps/ieee754/ldbl-96/e_jnl.c
-+++ b/sysdeps/ieee754/ldbl-96/e_jnl.c
-@@ -61,6 +61,7 @@
- #include <math.h>
- #include <math_private.h>
- #include <math-underflow.h>
-+#include <libc-diag.h>
-
- static const long double
- invsqrtpi = 5.64189583547756286948079e-1L, two = 2.0e0L, one = 1.0e0L;
-@@ -143,7 +144,17 @@ __ieee754_jnl (int n, long double x)
- temp = c - s;
- break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrtl (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
-@@ -372,7 +383,17 @@ __ieee754_ynl (int n, long double x)
- temp = s + c;
- break;
- }
-+ /* With GCC 8 (and older) when compiling with -O the compiler
-+ warns that the variable 'temp', may be used uninitialized.
-+ The switch above covers all possible values of n & 3
-+ but GCC without VRP enabled isn't able to figure out the
-+ range of possible values is [0,3] as explained in:
-+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69230
-+ so it's false possitive with -O1 and lower. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- b = invsqrtpi * temp / sqrtl (x);
-+ DIAG_POP_NEEDS_COMMENT;
- }
- else
- {
diff --git a/poky/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch b/poky/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch
deleted file mode 100644
index 99cd2509e..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 618668540e263c09b0eb28131dde7b4500158fd4 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 16 Sep 2018 12:39:22 +0000
-Subject: [PATCH] sysdeps/ieee754/soft-fp: ignore maybe-uninitialized with -O
- [BZ #19444]
-
-* with -O, -O1, -Os it fails with:
-
-In file included from ../soft-fp/soft-fp.h:318,
- from ../sysdeps/ieee754/soft-fp/s_fdiv.c:28:
-../sysdeps/ieee754/soft-fp/s_fdiv.c: In function '__fdiv':
-../soft-fp/op-2.h:98:25: error: 'R_f1' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \
- ^~
-../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f1' was declared here
- FP_DECL_D (R);
- ^
-../soft-fp/op-2.h:37:36: note: in definition of macro '_FP_FRAC_DECL_2'
- _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
- ^
-../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
- # define FP_DECL_D(X) _FP_DECL (2, X)
- ^~~~~~~~
-../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
- FP_DECL_D (R);
- ^~~~~~~~~
-../soft-fp/op-2.h:101:17: error: 'R_f0' may be used uninitialized in this function [-Werror=maybe-uninitialized]
- : (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \
- ^~
-../sysdeps/ieee754/soft-fp/s_fdiv.c:38:14: note: 'R_f0' was declared here
- FP_DECL_D (R);
- ^
-../soft-fp/op-2.h:37:14: note: in definition of macro '_FP_FRAC_DECL_2'
- _FP_W_TYPE X##_f0 _FP_ZERO_INIT, X##_f1 _FP_ZERO_INIT
- ^
-../soft-fp/double.h:95:24: note: in expansion of macro '_FP_DECL'
- # define FP_DECL_D(X) _FP_DECL (2, X)
- ^~~~~~~~
-../sysdeps/ieee754/soft-fp/s_fdiv.c:38:3: note: in expansion of macro 'FP_DECL_D'
- FP_DECL_D (R);
- ^~~~~~~~~
-
-Build tested with Yocto for ARM, AARCH64, X86, X86_64, PPC, MIPS, MIPS64
-with -O, -O1, -Os.
-For AARCH64 it needs one more fix in locale for -Os.
-
- Partial fix for [BZ #23716]
- * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O
-
-Work around the issue instead of removing -O like we do with
-SELECTED_OPTIMIZATION
-
-Upstream-Status: Submitted [https://www.sourceware.org/ml/libc-alpha/2018-09/msg00300.html]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- ChangeLog | 4 ++++
- sysdeps/ieee754/soft-fp/s_fdiv.c | 12 ++++++++++++
- 2 files changed, 16 insertions(+)
-
-diff --git a/ChangeLog b/ChangeLog
-index 922e916f2c..216336edc9 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,7 @@
-+2018-09-30 Martin Jansa <Martin.Jansa@gmail.com>
-+ Partial fix for [BZ #23716]
-+ * sysdeps/ieee754/soft-fp/s_fdiv.c: Fix build with -O.
-+
- 2018-09-29 Martin Jansa <Martin.Jansa@gmail.com>
- Partial fix for [BZ #23716]
- * sysdeps/ieee754/dbl-96/e_jnl.c: Fix build with -O
-diff --git a/sysdeps/ieee754/soft-fp/s_fdiv.c b/sysdeps/ieee754/soft-fp/s_fdiv.c
-index 341339f5ed..14655b77da 100644
---- a/sysdeps/ieee754/soft-fp/s_fdiv.c
-+++ b/sysdeps/ieee754/soft-fp/s_fdiv.c
-@@ -25,6 +25,16 @@
- #undef fdivl
-
- #include <math-narrow.h>
-+
-+#include <libc-diag.h>
-+/* R_f[01] are not set in cases where it is not used in packing, but the
-+ compiler does not see that it is set in all cases where it is
-+ used, resulting in warnings that it may be used uninitialized.
-+ The location of the warning differs in different versions of GCC,
-+ it may be where R is defined using a macro or it may be where the
-+ macro is defined. */
-+DIAG_PUSH_NEEDS_COMMENT;
-+DIAG_IGNORE_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- #include <soft-fp.h>
- #include <single.h>
- #include <double.h>
-@@ -53,4 +63,6 @@ __fdiv (double x, double y)
- CHECK_NARROW_DIV (ret, x, y);
- return ret;
- }
-+DIAG_POP_NEEDS_COMMENT;
-+
- libm_alias_float_double (div)
diff --git a/poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch b/poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch
new file mode 100644
index 000000000..bc40361c5
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch
@@ -0,0 +1,36 @@
+CVE: CVE-2019-9169
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 583dd860d5b833037175247230a328f0050dbfe9 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Mon, 21 Jan 2019 11:08:13 -0800
+Subject: [PATCH] regex: fix read overrun [BZ #24114]
+
+Problem found by AddressSanitizer, reported by Hongxu Chen in:
+https://debbugs.gnu.org/34140
+* posix/regexec.c (proceed_next_node):
+Do not read past end of input buffer.
+---
+ posix/regexec.c | 6 ++++--
+ 2 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/posix/regexec.c b/posix/regexec.c
+index 91d5a79..084b122 100644
+--- a/posix/regexec.c
++++ b/posix/regexec.c
+@@ -1293,8 +1293,10 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
+ else if (naccepted)
+ {
+ char *buf = (char *) re_string_get_buffer (&mctx->input);
+- if (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx,
+- naccepted) != 0)
++ if (mctx->input.valid_len - *pidx < naccepted
++ || (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx,
++ naccepted)
++ != 0))
+ return -1;
+ }
+ }
+--
+2.9.3
diff --git a/poky/meta/recipes-core/glibc/glibc_2.28.bb b/poky/meta/recipes-core/glibc/glibc_2.29.bb
index d07293925..9184c5932 100644
--- a/poky/meta/recipes-core/glibc/glibc_2.28.bb
+++ b/poky/meta/recipes-core/glibc/glibc_2.29.bb
@@ -7,13 +7,24 @@ LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \
DEPENDS += "gperf-native bison-native make-native"
-SRCREV ?= "044c96f0d5595aeb0bb4e79355081c5a7f4faca5"
+PV = "2.29"
+
+SRCREV ?= "86013ef5cea322b8f4b9c22f230c22cce369e947"
SRCBRANCH ?= "release/${PV}/master"
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)"
+NATIVESDKFIXES ?= ""
+NATIVESDKFIXES_class-nativesdk = "\
+ file://0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \
+ file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \
+ file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \
+ file://0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \
+ file://0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch \
+"
+
SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://etc/ld.so.conf \
file://generate-supported.mk \
@@ -38,26 +49,13 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \
file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
- file://0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \
- file://0025-locale-fix-hard-coded-reference-to-gcc-E.patch \
- file://0026-reset-dl_load_write_lock-after-forking.patch \
- file://0027-Acquire-ld.so-lock-before-switching-to-malloc_atfork.patch \
- file://0028-bits-siginfo-consts.h-enum-definition-for-TRAP_HWBKP.patch \
- file://0029-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
- file://0030-intl-Emit-no-lines-in-bison-generated-files.patch \
- file://0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch \
- file://0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch \
- file://0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
- file://0034-inject-file-assembly-directives.patch \
-"
-
-NATIVESDKFIXES ?= ""
-NATIVESDKFIXES_class-nativesdk = "\
- file://0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \
- file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \
- file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \
- file://0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \
- file://0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch \
+ file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
+ file://0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \
+ file://0028-intl-Emit-no-lines-in-bison-generated-files.patch \
+ file://0029-inject-file-assembly-directives.patch \
+ file://0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
+ file://0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch \
+ file://CVE-2019-9169.patch \
"
S = "${WORKDIR}/git"
@@ -70,11 +68,6 @@ BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}"
GLIBC_BROKEN_LOCALES = ""
-#
-# We will skip parsing glibc when target system C library selection is not glibc
-# this helps in easing out parsing for non-glibc system libraries
-#
-COMPATIBLE_HOST_libc-musl_class-target = "null"
GLIBCPIE ??= ""
@@ -89,12 +82,13 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
--enable-stack-protector=strong \
--enable-stackguard-randomization \
--disable-crypt \
+ --with-default-link \
+ --enable-nscd \
+ ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \
${GLIBCPIE} \
${GLIBC_EXTRA_OECONF}"
EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'libc-inet-anl', '--enable-nscd', '--disable-nscd', d)}"
-
do_patch_append() {
bb.build.exec_func('do_fix_readlib_c', d)
@@ -122,10 +116,10 @@ do_compile () {
if [ -n "${RTLDLIST}" ]
then
prevrtld=`cat ${B}/elf/ldd | grep "^RTLDLIST=" | sed 's#^RTLDLIST="\?\([^"]*\)"\?$#\1#'`
- if [ "${prevrtld}" != "${RTLDLIST}" ]
- then
- sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${prevrtld} ${RTLDLIST}\"#"
- fi
+ # remove duplicate entries
+ newrtld=`echo $(printf '%s\n' ${prevrtld} ${RTLDLIST} | LC_ALL=C sort -u)`
+ echo "ldd \"${prevrtld} ${RTLDLIST}\" -> \"${newrtld}\""
+ sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${newrtld}\"#"
fi
}
diff --git a/poky/meta/recipes-core/glibc/site_config/funcs b/poky/meta/recipes-core/glibc/site_config/funcs
deleted file mode 100644
index ccc85392d..000000000
--- a/poky/meta/recipes-core/glibc/site_config/funcs
+++ /dev/null
@@ -1,474 +0,0 @@
-a64l
-abs
-access
-__adjtimex
-alarm
-alphasort
-argz_append
-__argz_count
-argz_create_sep
-argz_insert
-__argz_next
-argz_next
-__argz_stringify
-argz_stringify
-asprintf
-atexit
-atof
-atoi
-bcmp
-bcopy
-bindresvport
-bind_textdomain_codeset
-btowc
-bzero
-calloc
-canonicalize_file_name
-catgets
-cfgetospeed
-cfsetispeed
-cfsetspeed
-chmod
-chown
-chroot
-clock
-close
-closedir
-closelog
-confstr
-connect
-daemon
-dcgettext
-difftime
-dirfd
-dirname
-dngettext
-dup2
-ecvt
-endgrent
-endmntent
-endpwent
-endutent
-endutxent
-epoll_ctl
-err
-ether_hostton
-ether_ntohost
-euidaccess
-execv
-fchdir
-fchmod
-fchmodat
-fchown
-fchownat
-fcntl
-fcvt
-fdatasync
-fdopendir
-feof_unlocked
-fgets_unlocked
-fgetxattr
-finite
-flistxattr
-flock
-flockfile
-fnmatch
-fork
-fpathconf
-__fpending
-fprintf
-free
-freeaddrinfo
-freeifaddrs
-fseeko
-__fsetlocking
-fsetxattr
-fstat64
-fstat
-fstatfs
-fsync
-ftello
-ftime
-ftruncate
-funlockfile
-futimes
-futimesat
-gai_strerror
-gcvt
-getaddrinfo
-getc_unlocked
-getcwd
-getdelim
-getdomainname
-getdtablesize
-getegid
-getenv
-geteuid
-getgid
-getgrent
-getgrent_r
-getgrgid_r
-getgrnam
-getgrnam_r
-getgrouplist
-getgroups
-gethostbyaddr_r
-gethostbyname2
-gethostbyname
-gethostbyname_r
-gethostent
-gethostid
-gethostname
-getifaddrs
-getline
-getloadavg
-getmntent
-getmsg
-getnameinfo
-getnetbyaddr_r
-getnetgrent_r
-getopt
-getopt_long
-getopt_long_only
-getpagesize
-getpass
-getpeername
-getpgrp
-getpid
-getppid
-getprotoent_r
-getpwent
-getpwent_r
-getpwnam
-getpwnam_r
-getpwuid
-getpwuid_r
-getresuid
-getrlimit
-getrusage
-getservbyname
-getservbyname_r
-getservbyport_r
-getservent
-getservent_r
-getspnam
-getspnam_r
-gettimeofday
-getttyent
-getttynam
-getuid
-getusershell
-getutent
-getutid
-getutline
-getutmp
-getutmpx
-getutxent
-getutxid
-getutxline
-getwd
-getxattr
-glob
-gmtime
-gmtime_r
-grantpt
-group_member
-herror
-hstrerror
-iconv
-iconv_open
-if_freenameindex
-if_indextoname
-if_nameindex
-if_nametoindex
-index
-inet_addr
-inet_aton
-inet_ntoa
-inet_ntop
-inet_pton
-initgroups
-innetgr
-iruserok
-isascii
-isatty
-isblank
-isgraph
-isinf
-isnan
-isprint
-isspace
-iswalnum
-iswcntrl
-iswctype
-iswprint
-iswspace
-iswupper
-isxdigit
-kill
-killpg
-lchown
-lckpwdf
-lgetxattr
-link
-listxattr
-llistxattr
-localtime
-localtime_r
-lockf
-lrand48
-lsearch
-lseek64
-lsetxattr
-lstat
-mallinfo
-malloc
-mblen
-mbrlen
-mbrtowc
-mbsinit
-mbsrtowcs
-mbtowc
-memalign
-memchr
-memcmp
-memcpy
-memmove
-mempcpy
-memrchr
-memset
-mkdir
-mkdirat
-mkdtemp
-mkfifo
-mknod
-mkstemp64
-mkstemp
-mktime
-mlock
-mmap
-mtrace
-munlock
-munmap
-nanosleep
-nice
-nl_langinfo
-ntp_adjtime
-ntp_gettime
-_obstack_free
-on_exit
-open64
-open
-openat
-opendir
-openlog
-pathconf
-pipe
-poll
-popen
-posix_memalign
-prctl
-pread
-printf
-__progname
-pselect
-pthread_mutex_lock
-ptsname
-putenv
-putgrent
-putpwent
-putspent
-pututline
-pututxline
-putwc
-pwrite
-qsort
-raise
-rand
-random
-rand_r
-read
-readdir
-readdir_r
-readlink
-realloc
-realpath
-re_comp
-recvmsg
-re_exec
-regcomp
-regexec
-remove
-rename
-re_search
-rmdir
-rpmatch
-rresvport_af
-ruserok
-ruserok_af
-sbrk
-scandir
-sched_setscheduler
-sched_yield
-__secure_getenv
-select
-semctl
-semget
-sendmsg
-setbuf
-setbuffer
-setegid
-setenv
-seteuid
-setgid
-setgroups
-sethostname
-setitimer
-_setjmp
-setjmp
-setlinebuf
-setlocale
-setmntent
-setpgid
-setpgrp
-setpriority
-setregid
-setresgid
-setresuid
-setreuid
-setrlimit
-setsid
-setsockopt
-settimeofday
-setuid
-setutent
-setutxent
-setvbuf
-setxattr
-sgetspent
-shmat
-shmctl
-shmdt
-shmget
-shutdown
-sigaction
-sigaddset
-sigaltstack
-sigblock
-sigemptyset
-sighold
-siginterrupt
-signal
-sigprocmask
-sigset
-sigsetmask
-sigstack
-sigsuspend
-sigvec
-snprintf
-socket
-socketpair
-sprintf
-srand48
-srand
-srandom
-sscanf
-stat
-statfs
-statvfs
-stime
-stpcpy
-strcasecmp
-strcasestr
-strchr
-strchrnul
-strcmp
-strcspn
-strdup
-strerror
-strerror_r
-strftime
-strlen
-strncasecmp
-strncmp
-strndup
-strnlen
-strpbrk
-strptime
-strrchr
-strsep
-strsignal
-strspn
-strstr
-strtod
-strtoimax
-strtok_r
-strtol
-strtoll
-strtoul
-strtoull
-strtoumax
-strverscmp
-strxfrm
-symlink
-sync
-sysconf
-sysctl
-sysinfo
-syslog
-_sys_siglist
-sys_siglist
-system
-tcgetattr
-tcgetpgrp
-tcsetattr
-tcsetpgrp
-time
-timegm
-times
-timezone
-tmpnam
-towlower
-towupper
-truncate
-tsearch
-ttyname
-tzset
-ulimit
-umask
-uname
-unlink
-unsetenv
-unshare
-updwtmp
-updwtmpx
-usleep
-ustat
-utime
-utimes
-utmpname
-utmpxname
-valloc
-vasprintf
-verrx
-vfork
-vfprintf
-vfscanf
-vhangup
-vprintf
-vsnprintf
-vsprintf
-wait3
-wait4
-waitpid
-wcrtomb
-wcscoll
-wcsdup
-wcslen
-wctob
-wctomb
-wctype
-wcwidth
-wmemchr
-wmemcpy
-wmempcpy
diff --git a/poky/meta/recipes-core/glibc/site_config/headers b/poky/meta/recipes-core/glibc/site_config/headers
deleted file mode 100644
index 69fedea4e..000000000
--- a/poky/meta/recipes-core/glibc/site_config/headers
+++ /dev/null
@@ -1,155 +0,0 @@
-aio.h
-alloca.h
-argz.h
-arpa/inet.h
-arpa/nameser.h
-asm/byteorder.h
-asm/ioctls.h
-asm/page.h
-asm/types.h
-assert.h
-byteswap.h
-ctype.h
-dirent.h
-dlfcn.h
-elf.h
-endian.h
-err.h
-errno.h
-execinfo.h
-fcntl.h
-features.h
-float.h
-fstab.h
-ftw.h
-getopt.h
-glob.h
-grp.h
-iconv.h
-ifaddrs.h
-inttypes.h
-langinfo.h
-lastlog.h
-libgen.h
-libintl.h
-limits.h
-linux/capability.h
-linux/fd.h
-linux/fs.h
-linux/hayesesp.h
-linux/hdreg.h
-linux/icmp.h
-linux/in6.h
-linux/joystick.h
-linux/ptrace.h
-linux/serial.h
-linux/sonypi.h
-linux/unistd.h
-linux/utsname.h
-linux/version.h
-locale.h
-malloc.h
-math.h
-mcheck.h
-memory.h
-mntent.h
-mqueue.h
-netdb.h
-net/if.h
-netinet/ether.h
-netinet/in.h
-netinet/ip6.h
-netinet/ip.h
-netinet/tcp.h
-netinet/udp.h
-netipx/ipx.h
-net/route.h
-paths.h
-poll.h
-pthread.h
-pty.h
-pwd.h
-regex.h
-resolv.h
-rpc/rpc.h
-rpc/types.h
-sched.h
-scsi/scsi.h
-search.h
-semaphore.h
-setjmp.h
-sgtty.h
-shadow.h
-signal.h
-stdarg.h
-stdbool.h
-stdc
-stddef.h
-stdint.h
-stdio.h
-stdlib.h
-string.h
-strings.h
-stropts.h
-sys/bitypes.h
-sys/cdefs.h
-sys/dir.h
-sys/epoll.h
-sysexits.h
-sys/fcntl.h
-sys/file.h
-sys/fsuid.h
-sys/ioctl.h
-sys/ipc.h
-syslog.h
-sys/mman.h
-sys/mount.h
-sys/mtio.h
-sys/param.h
-sys/poll.h
-sys/prctl.h
-sys/ptrace.h
-sys/queue.h
-sys/reg.h
-sys/resource.h
-sys/select.h
-sys/sem.h
-sys/shm.h
-sys/signal.h
-sys/socket.h
-sys/socketvar.h
-sys/soundcard.h
-sys/statfs.h
-sys/stat.h
-sys/statvfs.h
-sys/stropts.h
-sys/swap.h
-sys/sysctl.h
-sys/sysinfo.h
-sys/sysmacros.h
-sys/termios.h
-sys/timeb.h
-sys/time.h
-sys/times.h
-sys/timex.h
-sys/types.h
-sys/uio.h
-sys/un.h
-sys/unistd.h
-sys/user.h
-sys/utsname.h
-sys/vfs.h
-sys/wait.h
-termio.h
-termios.h
-time.h
-ttyent.h
-ulimit.h
-unistd.h
-ustat.h
-utime.h
-utmp.h
-utmpx.h
-values.h
-wchar.h
-wctype.h
diff --git a/poky/meta/recipes-core/glibc/site_config/types b/poky/meta/recipes-core/glibc/site_config/types
deleted file mode 100644
index 178bd85a0..000000000
--- a/poky/meta/recipes-core/glibc/site_config/types
+++ /dev/null
@@ -1,21 +0,0 @@
-char
-char *
-double
-float
-int
-long
-long double
-long int
-long long
-long long int
-short
-short int
-signed char
-unsigned char
-unsigned int
-unsigned long
-unsigned long int
-unsigned long long int
-unsigned short
-unsigned short int
-void *
diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index d9d6c1e4f..a59334f51 100644
--- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -22,13 +22,14 @@ IMAGE_FSTYPES = "wic.vmdk"
inherit core-image module-base setuptools3
-SRCREV ?= "9dfebdaf7af11b69006996f3253e435bce0dfbfb"
-SRC_URI = "git://git.yoctoproject.org/poky;branch=thud \
+SRCREV ?= "c96d8de352f242f70ff9c166508c3d0e50199874"
+SRC_URI = "git://git.yoctoproject.org/poky \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \
file://README_VirtualBox_Guest_Additions.txt \
file://README_VirtualBox_Toaster.txt \
"
+RECIPE_NO_UPDATE_REASON = "Recipe is recursive and handled as part of the release process"
BA_INCLUDE_SOURCES ??= "0"
IMAGE_CMD_ext4_append () {
diff --git a/poky/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh b/poky/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh
index 9c4b263d5..b351985a6 100644
--- a/poky/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh
+++ b/poky/meta/recipes-core/initrdscripts/files/init-install-efi-testfs.sh
@@ -27,7 +27,7 @@ do
# Try sleeping here to avoid getting kernel messages
# obscuring/confusing user
sleep 5
- echo "Found drive at /dev/${device}. Do you want to install this image there ? [y/n]"
+ echo "Found drive at /dev/${device}. Do you want to install this image there? [y/n]"
read answer
if [ "$answer" = "y" ] ; then
break
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb b/poky/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
index 7ae7969f5..29ec5ec2f 100644
--- a/poky/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
@@ -9,8 +9,13 @@ S = "${WORKDIR}"
do_install() {
install -m 0755 ${WORKDIR}/init-boot.sh ${D}/init
+
+ # Create device nodes expected by some kernels in initramfs
+ # before even executing /init.
+ install -d ${D}/dev
+ mknod -m 622 ${D}/dev/console c 5 1
}
inherit allarch
-FILES_${PN} += " /init "
+FILES_${PN} += "/init /dev/console"
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-framework/init b/poky/meta/recipes-core/initrdscripts/initramfs-framework/init
index 3c7e09422..c71ce0ce8 100755
--- a/poky/meta/recipes-core/initrdscripts/initramfs-framework/init
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-framework/init
@@ -72,6 +72,7 @@ ROOTFS_DIR="/rootfs" # where to do the switch root
MODULE_PRE_HOOKS="" # functions to call before running each module
MODULE_POST_HOOKS="" # functions to call after running each module
MODULES_DIR=/init.d # place to look for modules
+EFI_DIR=/sys/firmware/efi # place to store device firmware information
# make mount stop complaining about missing /etc/fstab
touch /etc/fstab
@@ -81,6 +82,10 @@ mkdir -p /proc /sys /run/lock /var/lock
mount -t proc proc /proc
mount -t sysfs sysfs /sys
+if [ -d $EFI_DIR ];then
+ mount -t efivarfs none /sys/firmware/efi/efivars
+fi
+
# populate bootparam environment
for p in `cat /proc/cmdline`; do
opt=`echo $p | cut -d'=' -f1`
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-framework/lvm b/poky/meta/recipes-core/initrdscripts/initramfs-framework/lvm
new file mode 100644
index 000000000..7deeccb9a
--- /dev/null
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-framework/lvm
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+lvm_enabled() {
+ if ! lvscan |grep -i -w "inactive" &>/dev/null;then
+ return 1
+ fi
+ return 0
+}
+
+lvm_run() {
+ lvm pvscan --cache --activate ay
+ udevadm trigger --action=add
+}
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
index 660343eaf..c53a0c03a 100644
--- a/poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
@@ -17,6 +17,7 @@ SRC_URI = "file://init \
file://udev \
file://e2fs \
file://debug \
+ file://lvm \
"
S = "${WORKDIR}"
@@ -45,6 +46,9 @@ do_install() {
# debug
install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug
+ # lvm
+ install -m 0755 ${WORKDIR}/lvm ${D}/init.d/09-lvm
+
# Create device nodes expected by some kernels in initramfs
# before even executing /init.
install -d ${D}/dev
@@ -59,6 +63,7 @@ PACKAGES = "${PN}-base \
initramfs-module-nfsrootfs \
initramfs-module-rootfs \
initramfs-module-debug \
+ initramfs-module-lvm \
"
FILES_${PN}-base = "/init /init.d/99-finish /dev"
@@ -98,3 +103,7 @@ FILES_initramfs-module-rootfs = "/init.d/90-rootfs"
SUMMARY_initramfs-module-debug = "initramfs dynamic debug support"
RDEPENDS_initramfs-module-debug = "${PN}-base"
FILES_initramfs-module-debug = "/init.d/00-debug"
+
+SUMMARY_initramfs-module-lvm = "initramfs lvm rootfs support"
+RDEPENDS_initramfs-module-lvm = "${PN}-base"
+FILES_initramfs-module-lvm = "/init.d/09-lvm"
diff --git a/poky/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh b/poky/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh
index df553bc07..591591f87 100755
--- a/poky/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh
+++ b/poky/meta/recipes-core/initscripts/initscripts-1.0/bootmisc.sh
@@ -8,7 +8,10 @@
# Short-Description: Misc and other.
### END INIT INFO
+TIMESTAMP_FILE=/etc/timestamp
+
. /etc/default/rcS
+[ -f /etc/default/timestamp ] && . /etc/default/timestamp
#
# Put a nologin file in /etc to prevent people from logging in before
# system startup is complete.
@@ -64,10 +67,10 @@ fi
# If the timestamp is more recent than the current time,
# use the timestamp instead.
test -x /etc/init.d/hwclock.sh && /etc/init.d/hwclock.sh start
-if test -e /etc/timestamp
+if test -e "$TIMESTAMP_FILE"
then
SYSTEMDATE=`date -u +%4Y%2m%2d%2H%2M%2S`
- read TIMESTAMP < /etc/timestamp
+ read TIMESTAMP < "$TIMESTAMP_FILE"
if [ ${TIMESTAMP} -gt $SYSTEMDATE ]; then
# format the timestamp as date expects it (2m2d2H2M4Y.2S)
TS_YR=${TIMESTAMP%??????????}
diff --git a/poky/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh b/poky/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh
index 1632a5f64..ffa1eee43 100644
--- a/poky/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh
+++ b/poky/meta/recipes-core/initscripts/initscripts-1.0/save-rtc.sh
@@ -9,5 +9,9 @@
# Description:
### END INIT INFO
+TIMESTAMP_FILE=/etc/timestamp
+
+[ -f /etc/default/timestamp ] && . /etc/default/timestamp
+
# Update the timestamp
-date -u +%4Y%2m%2d%2H%2M%2S 2>/dev/null > /etc/timestamp
+date -u +%4Y%2m%2d%2H%2M%2S 2>/dev/null > "$TIMESTAMP_FILE"
diff --git a/poky/meta/recipes-core/initscripts/initscripts-1.0/volatiles b/poky/meta/recipes-core/initscripts/initscripts-1.0/volatiles
index 201106645..cd8a4be05 100644
--- a/poky/meta/recipes-core/initscripts/initscripts-1.0/volatiles
+++ b/poky/meta/recipes-core/initscripts/initscripts-1.0/volatiles
@@ -8,7 +8,7 @@
# The # character introduces a comment lasting until end of line.
# Blank lines are ignored.
#
-# <type> : d|f|l : (d)irectory|(f)ile|(l)ink
+# <type> : d|f|l|b : (d)irectory|(f)ile|(l)ink|(b)ind
#
# A linking example:
# l root root 0777 /var/test /tmp/testfile
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.1.1.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt.bb
index 465aa9652..3b9af6d73 100644
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.1.1.bb
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt.bb
@@ -3,13 +3,15 @@ DESCRIPTION = "Forked code from glibc libary to extract only crypto part."
HOMEPAGE = "https://github.com/besser82/libxcrypt"
SECTION = "libs"
LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM ?= "file://LICENSING;md5=cb3ca4cabd2447a37bf186fad6f79852 \
+LIC_FILES_CHKSUM ?= "file://LICENSING;md5=be275bc7f91642efe7709a8ae7a1433b \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
"
inherit autotools pkgconfig
-SRCREV ?= "21b455b68baad279e6a3936faced16c5e5634376"
+PV = "4.4.2"
+# v4.4.2
+SRCREV ?= "cf6abf18083566ec1612af27982a5160c9e0f137"
SRCBRANCH ?= "develop"
SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH} \
@@ -22,6 +24,7 @@ FILES_${PN} = "${libdir}/libcrypt*.so.* ${libdir}/libcrypt-*.so ${libdir}/libowc
S = "${WORKDIR}/git"
BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE} -std=gnu99"
-TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}"
+TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error=missing-attributes"
+CPPFLAGS_append_class-nativesdk = " -Wno-error=missing-attributes"
BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-core/libxml/libxml2_2.9.8.bb b/poky/meta/recipes-core/libxml/libxml2_2.9.8.bb
index 740bf56a5..62643bc76 100644
--- a/poky/meta/recipes-core/libxml/libxml2_2.9.8.bb
+++ b/poky/meta/recipes-core/libxml/libxml2_2.9.8.bb
@@ -38,7 +38,7 @@ PACKAGECONFIG ??= "python \
PACKAGECONFIG[python] = "--with-python=${PYTHON},--without-python,python3"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-inherit autotools pkgconfig binconfig-disabled ptest
+inherit autotools pkgconfig binconfig-disabled ptest distro_features_check
inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)}
diff --git a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
index 0160cb8ee..85472a825 100644
--- a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
+++ b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
@@ -20,6 +20,7 @@ DUMMYPROVIDES = "\
libxml-parser-perl \
perl-module-bytes \
perl-module-carp \
+ perl-module-config \
perl-module-constant \
perl-module-data-dumper \
perl-module-errno \
@@ -35,11 +36,12 @@ DUMMYPROVIDES = "\
perl-module-getopt-long \
perl-module-io-file \
perl-module-overload \
+ perl-module-overloading \
perl-module-posix \
- perl-module-overload \
perl-module-thread-queue \
perl-module-threads \
perl-module-warnings \
+ perl-module-warnings-register \
/bin/sh \
/bin/bash \
/usr/bin/env \
diff --git a/poky/meta/recipes-core/musl/libssp-nonshared.bb b/poky/meta/recipes-core/musl/libssp-nonshared.bb
index 458eafef5..bae8c81cc 100644
--- a/poky/meta/recipes-core/musl/libssp-nonshared.bb
+++ b/poky/meta/recipes-core/musl/libssp-nonshared.bb
@@ -8,15 +8,10 @@ SECTION = "libs"
SRC_URI = "file://ssp-local.c"
-PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
-
INHIBIT_DEFAULT_DEPS = "1"
-STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
-STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
-
DEPENDS = "virtual/${TARGET_PREFIX}binutils \
- virtual/${TARGET_PREFIX}gcc-initial \
+ virtual/${TARGET_PREFIX}gcc \
"
do_configure[noexec] = "1"
diff --git a/poky/meta/recipes-core/musl/musl.inc b/poky/meta/recipes-core/musl/musl.inc
index 319709b3c..8408c5da6 100644
--- a/poky/meta/recipes-core/musl/musl.inc
+++ b/poky/meta/recipes-core/musl/musl.inc
@@ -11,14 +11,8 @@ LICENSE = "MIT"
SECTION = "libs"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=8a4bb28f771c817fe57d3a7c4240e3aa"
-PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
-
INHIBIT_DEFAULT_DEPS = "1"
-STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
-STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
-
-
FILES_SOLIBSDEV = ""
FILES_${PN} += "${libdir}/lib*${SOLIBSDEV}"
INSANE_SKIP_${PN} = "dev-so"
diff --git a/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch b/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch
new file mode 100644
index 000000000..6a875a717
--- /dev/null
+++ b/poky/meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch
@@ -0,0 +1,61 @@
+From 5a2886f81dbca3f2ed28eebe7d27d471da278db8 Mon Sep 17 00:00:00 2001
+From: Serhey Popovych <serhe.popovych@gmail.com>
+Date: Tue, 11 Dec 2018 05:44:20 -0500
+Subject: [PATCH] ldso: Use syslibdir and libdir as default pathes to libdirs
+
+In absence of /etc/ld-musl-$(ARCH).path ldso uses default path to search
+libraries /lib:/usr/local/lib:/usr/lib.
+
+However this path isn't relevant in case when library is put in dirs
+like lib64 or libx32.
+
+Adjust CFLAGS_ALL to pass syslibdir as SYSLIBDIR and libdir as LIBDIR
+preprocessor macroses to construct default ldso library search path
+in ldso/dynlink.c::SYS_PATH_DFLT.
+
+Upstream-Status: Pending
+Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
+---
+ Makefile | 3 ++-
+ ldso/dynlink.c | 4 +++-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index b46f8ca4..c07e4ae8 100644
+--- a/Makefile
++++ b/Makefile
+@@ -46,7 +46,8 @@ CFLAGS_AUTO = -Os -pipe
+ CFLAGS_C99FSE = -std=c99 -ffreestanding -nostdinc
+
+ CFLAGS_ALL = $(CFLAGS_C99FSE)
+-CFLAGS_ALL += -D_XOPEN_SOURCE=700 -I$(srcdir)/arch/$(ARCH) -I$(srcdir)/arch/generic -Iobj/src/internal -I$(srcdir)/src/include -I$(srcdir)/src/internal -Iobj/include -I$(srcdir)/include
++CFLAGS_ALL += -D_XOPEN_SOURCE=700 -DSYSLIBDIR='"$(syslibdir)"' -DLIBDIR='"$(libdir)"'
++CFLAGS_ALL += -I$(srcdir)/arch/$(ARCH) -I$(srcdir)/arch/generic -Iobj/src/internal -I$(srcdir)/src/include -I$(srcdir)/src/internal -Iobj/include -I$(srcdir)/include
+ CFLAGS_ALL += $(CPPFLAGS) $(CFLAGS_AUTO) $(CFLAGS)
+
+ LDFLAGS_ALL = $(LDFLAGS_AUTO) $(LDFLAGS)
+diff --git a/ldso/dynlink.c b/ldso/dynlink.c
+index ec921dfd..7c119c55 100644
+--- a/ldso/dynlink.c
++++ b/ldso/dynlink.c
+@@ -22,6 +22,8 @@
+ #include "dynlink.h"
+ #include "malloc_impl.h"
+
++#define SYS_PATH_DFLT SYSLIBDIR ":" LIBDIR
++
+ static void error(const char *, ...);
+
+ #define MAXP2(a,b) (-(-(a)&-(b)))
+@@ -1038,7 +1040,7 @@ static struct dso *load_library(const char *name, struct dso *needed_by)
+ sys_path = "";
+ }
+ }
+- if (!sys_path) sys_path = "/lib:/usr/local/lib:/usr/lib";
++ if (!sys_path) sys_path = SYS_PATH_DFLT;
+ fd = path_open(name, sys_path, buf, sizeof buf);
+ }
+ pathname = buf;
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index 0d8f8eb2a..2d8dab90d 100644
--- a/poky/meta/recipes-core/musl/musl_git.bb
+++ b/poky/meta/recipes-core/musl/musl_git.bb
@@ -4,22 +4,25 @@
require musl.inc
inherit linuxloader
-SRCREV = "c50985d5c8e316c5c464f352e79eeebfed1121a9"
+SRCREV = "43e7efb46555f13a556d92944ac05c19b8929b60"
-PV = "1.1.20+git${SRCPV}"
+BASEVER = "1.1.21"
+
+PV = "${BASEVER}+git${SRCPV}"
# mirror is at git://github.com/kraj/musl.git
SRC_URI = "git://git.musl-libc.org/musl \
file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \
+ file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \
"
S = "${WORKDIR}/git"
-PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc virtual/libiconv virtual/libintl virtual/crypt"
+PROVIDES += "virtual/libc virtual/libiconv virtual/libintl virtual/crypt"
DEPENDS = "virtual/${TARGET_PREFIX}binutils \
- virtual/${TARGET_PREFIX}gcc-initial \
+ virtual/${TARGET_PREFIX}gcc \
libgcc-initial \
linux-libc-headers \
bsd-headers \
diff --git a/poky/meta/recipes-core/ncurses/ncurses.inc b/poky/meta/recipes-core/ncurses/ncurses.inc
index 99fc47869..5f2cc3582 100644
--- a/poky/meta/recipes-core/ncurses/ncurses.inc
+++ b/poky/meta/recipes-core/ncurses/ncurses.inc
@@ -260,9 +260,9 @@ python populate_packages_prepend () {
libdir = d.expand("${libdir}")
base_libdir = d.expand("${base_libdir}")
pnbase = d.expand("${PN}-lib%s")
- do_split_packages(d, libdir, '^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True)
+ do_split_packages(d, libdir, r'^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True)
if libdir is not base_libdir:
- do_split_packages(d, base_libdir, '^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True)
+ do_split_packages(d, base_libdir, r'^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True)
}
diff --git a/poky/meta/recipes-core/ncurses/ncurses_6.1+20180630.bb b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb
index 38faf7af2..ef6ca9879 100644
--- a/poky/meta/recipes-core/ncurses/ncurses_6.1+20180630.bb
+++ b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb
@@ -5,7 +5,7 @@ SRC_URI += "file://0001-tic-hang.patch \
file://config.cache \
"
# commit id corresponds to the revision in package version
-SRCREV = "d3b29180ae4360d7ab7a41a15e963299fdb72e33"
+SRCREV = "7a97a7f937762ba342d5b2fd7cd090885a809835"
S = "${WORKDIR}/git"
-EXTRA_OECONF += "--with-abi-version=5"
+EXTRA_OECONF += "--with-abi-version=5 --cache-file=${B}/config.cache"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+(\+\d+)*)"
diff --git a/poky/meta/recipes-core/netbase/netbase/netbase-add-rpcbind-as-an-alias-to-sunrpc.patch b/poky/meta/recipes-core/netbase/netbase/netbase-add-rpcbind-as-an-alias-to-sunrpc.patch
index 56c8d5b5c..27ba2f68a 100644
--- a/poky/meta/recipes-core/netbase/netbase/netbase-add-rpcbind-as-an-alias-to-sunrpc.patch
+++ b/poky/meta/recipes-core/netbase/netbase/netbase-add-rpcbind-as-an-alias-to-sunrpc.patch
@@ -1,4 +1,4 @@
-From 76989205a1411f16d7ab09ff9d279539a73dc259 Mon Sep 17 00:00:00 2001
+From 52d46c4d1fbd4c88d69c2fcf7837b2f2ba7ef6f2 Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Thu, 12 Jan 2017 16:50:58 +0200
Subject: [PATCH] netbase: add rpcbind as an alias to sunrpc
@@ -10,6 +10,7 @@ Upstream-Status: Pending
Signed-off-by: Li Wang <li.wang@windriver.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
+
---
etc-rpc | 2 +-
etc-services | 4 ++--
@@ -29,12 +30,12 @@ index 1b30625..9a9a81a 100644
rusersd 100002 rusers
nfs 100003 nfsprog
diff --git a/etc-services b/etc-services
-index e3202ec..a039d7e 100644
+index fa7ae24..10ba2bc 100644
--- a/etc-services
+++ b/etc-services
-@@ -64,8 +64,8 @@ csnet-ns 105/udp cso-ns
- rtelnet 107/tcp # Remote Telnet
- rtelnet 107/udp
+@@ -51,8 +51,8 @@ kerberos 88/udp kerberos5 krb5 kerberos-sec # Kerberos v5
+ iso-tsap 102/tcp tsap # part of ISODE
+ acr-nema 104/tcp dicom # Digital Imag. & Comm. 300
pop3 110/tcp pop-3 # POP version 3
-sunrpc 111/tcp portmapper # RPC 4.0 portmapper
-sunrpc 111/udp portmapper
@@ -43,6 +44,3 @@ index e3202ec..a039d7e 100644
auth 113/tcp authentication tap ident
sftp 115/tcp
nntp 119/tcp readnews untp # USENET News Transfer Protocol
---
-2.4.0
-
diff --git a/poky/meta/recipes-core/netbase/netbase_5.4.bb b/poky/meta/recipes-core/netbase/netbase_5.6.bb
index 5ab0c58f8..2aa49711c 100644
--- a/poky/meta/recipes-core/netbase/netbase_5.4.bb
+++ b/poky/meta/recipes-core/netbase/netbase_5.6.bb
@@ -6,20 +6,16 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://debian/copyright;md5=3dd6192d306f582dee7687da3d8748ab"
PE = "1"
-SRC_URI = "http://snapshot.debian.org/archive/debian/20170112T093812Z/pool/main/n/${BPN}/${BPN}_${PV}.tar.xz \
- file://netbase-add-rpcbind-as-an-alias-to-sunrpc.patch \
- file://hosts"
+SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.tar.xz \
+ file://netbase-add-rpcbind-as-an-alias-to-sunrpc.patch"
-SRC_URI[md5sum] = "117cb70c55ef3c1c002f127812b114c1"
-SRC_URI[sha256sum] = "66ff73d2d162e2d49db43988d8b8cd328cf7fffca042db73397f14c71825e80d"
+SRC_URI[md5sum] = "7ad156272c5a42f49c73386ff39c8624"
+SRC_URI[sha256sum] = "5d93a099deb28869b7306e914700fafbd293b55bdb5df05a5aa6effd0af5930c"
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netbase/"
do_install () {
install -d ${D}/${mandir}/man8 ${D}${sysconfdir}
- install -m 0644 ${WORKDIR}/hosts ${D}${sysconfdir}/hosts
install -m 0644 etc-rpc ${D}${sysconfdir}/rpc
install -m 0644 etc-protocols ${D}${sysconfdir}/protocols
install -m 0644 etc-services ${D}${sysconfdir}/services
}
-
-CONFFILES_${PN} = "${sysconfdir}/hosts"
diff --git a/poky/meta/recipes-core/newlib/newlib.inc b/poky/meta/recipes-core/newlib/newlib.inc
index c97c7c276..f50e5fed8 100644
--- a/poky/meta/recipes-core/newlib/newlib.inc
+++ b/poky/meta/recipes-core/newlib/newlib.inc
@@ -20,11 +20,7 @@ SRC_URI[md5sum] = "81ec873108b8593c586f91ca65963952"
SRC_URI[sha256sum] = "c8566335ee74e5fcaeb8595b4ebd0400c4b043d6acb3263ecb1314f8f5501332"
INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial"
-
-PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
-STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
-STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc"
S = "${WORKDIR}/newlib-${PV}"
B = "${WORKDIR}/build"
diff --git a/poky/meta/recipes-core/newlib/newlib_3.0.0.bb b/poky/meta/recipes-core/newlib/newlib_3.0.0.bb
index 09238fe00..db13724eb 100644
--- a/poky/meta/recipes-core/newlib/newlib_3.0.0.bb
+++ b/poky/meta/recipes-core/newlib/newlib_3.0.0.bb
@@ -1,6 +1,6 @@
require newlib.inc
-PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc virtual/libiconv virtual/libintl"
+PROVIDES += "virtual/libc virtual/libiconv virtual/libintl"
do_configure() {
${S}/configure ${EXTRA_OECONF}
diff --git a/poky/meta/recipes-core/os-release/os-release.bb b/poky/meta/recipes-core/os-release/os-release.bb
index 7f3d9cba0..d5793c6fe 100644
--- a/poky/meta/recipes-core/os-release/os-release.bb
+++ b/poky/meta/recipes-core/os-release/os-release.bb
@@ -30,7 +30,6 @@ def sanitise_version(ver):
return ret.lower()
python do_compile () {
- import shutil
with open(d.expand('${B}/os-release'), 'w') as f:
for field in d.getVar('OS_RELEASE_FIELDS').split():
value = d.getVar(field)
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index d2ecb619d..71828d8d8 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -43,8 +43,7 @@ PARALLEL_MAKE = ""
S = "${WORKDIR}/git"
-DEPENDS_class-native="util-linux-native iasl-native qemu-native"
-
+DEPENDS_class-native="util-linux-native iasl-native"
DEPENDS_class-target="ovmf-native"
DEPENDS_append = " nasm-native"
@@ -232,6 +231,10 @@ FILES_ovmf-shell-efi = " \
efi/ \
"
+DEPLOYDEP = ""
+DEPLOYDEP_class-target = "qemu-system-native:do_populate_sysroot"
+do_deploy[depends] += "${DEPLOYDEP}"
+
do_deploy() {
}
do_deploy[cleandirs] = "${DEPLOYDIR}"
diff --git a/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb b/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
index 4bf0ac045..ae989011f 100644
--- a/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
+++ b/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
@@ -22,6 +22,7 @@ RDEPENDS_${PN} = "\
nativesdk-shadow \
nativesdk-makedevs \
nativesdk-cmake \
+ nativesdk-meson \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'nativesdk-wayland', '', d)} \
nativesdk-sdk-provides-dummy \
nativesdk-bison \
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
index 45e8c1358..15d0989b7 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
@@ -27,6 +27,7 @@ RDEPENDS_packagegroup-core-sdk = "\
tcl"
SANITIZERS = "libasan-dev libubsan-dev"
+SANITIZERS_arc = ""
SANITIZERS_microblaze = ""
SANITIZERS_mipsarch = ""
SANITIZERS_nios2 = ""
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
index 33d9c09a6..3fd423c59 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
@@ -37,15 +37,13 @@ SYSTEMTAP_riscv64 = ""
# lttng-ust uses sched_getcpu() which is not there on for some platforms.
LTTNGUST = "lttng-ust"
-LTTNGUST_libc-musl = ""
-LTTNGUST_riscv64 = ""
+LTTNGUST_arc = ""
LTTNGTOOLS = "lttng-tools"
-LTTNGTOOLS_libc-musl = ""
-LTTNGTOOLS_riscv64 = ""
+LTTNGTOOLS_arc = ""
LTTNGMODULES = "lttng-modules"
-LTTNGMODULES_riscv64 = ""
+LTTNGMODULES_arc = ""
BABELTRACE = "babeltrace"
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
index 643219852..a5fc15285 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
@@ -34,12 +34,10 @@ X11TOOLS = "\
xrestop \
xwininfo \
xprop \
- xvideo-tests \
"
RDEPENDS_${PN} = "\
blktool \
- lrzsz \
${KEXECTOOLS} \
alsa-utils-amixer \
alsa-utils-aplay \
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
index 9a6721ce0..b296db545 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
@@ -128,7 +128,6 @@ RDEPENDS_packagegroup-self-hosted-extended = "\
libaio \
libusb1 \
libxml2 \
- lrzsz \
lsof \
lzo \
man \
diff --git a/poky/meta/recipes-core/psplash/psplash_git.bb b/poky/meta/recipes-core/psplash/psplash_git.bb
index 3ad1ef481..3161a5e3f 100644
--- a/poky/meta/recipes-core/psplash/psplash_git.bb
+++ b/poky/meta/recipes-core/psplash/psplash_git.bb
@@ -74,7 +74,6 @@ ALTERNATIVE_LINK_NAME[psplash] = "${bindir}/psplash"
python do_compile () {
import shutil
import subprocess
- import shlex
# Build a separate executable for each splash image
workdir = d.getVar('WORKDIR')
@@ -84,9 +83,10 @@ python do_compile () {
outputfiles = d.getVar('SPLASH_INSTALL').split()
for localfile, outputfile in zip(localfiles, outputfiles):
if localfile.endswith(".png"):
- subprocess.call(shlex.split('%s %s POKY' % (convertscript, os.path.join(workdir, localfile))))
+ if subprocess.call([ convertscript, os.path.join(workdir, localfile), 'POKY' ], cwd=workdir):
+ bb.fatal("Error calling convert script '%s'" % (convertscript))
fbase = os.path.splitext(localfile)[0]
- shutil.copyfile("%s-img.h" % fbase, destfile)
+ shutil.copyfile(os.path.join(workdir, "%s-img.h" % fbase), destfile)
else:
shutil.copyfile(os.path.join(workdir, localfile), destfile)
# For some reason just updating the header is not enough, we have to touch the .c
diff --git a/poky/meta/recipes-core/readline/readline-7.0/configure-fix.patch b/poky/meta/recipes-core/readline/readline-8.0/configure-fix.patch
index ef3104f8a..ef3104f8a 100644
--- a/poky/meta/recipes-core/readline/readline-7.0/configure-fix.patch
+++ b/poky/meta/recipes-core/readline/readline-8.0/configure-fix.patch
diff --git a/poky/meta/recipes-core/readline/readline-7.0/norpath.patch b/poky/meta/recipes-core/readline/readline-8.0/norpath.patch
index 5d71582b7..5d71582b7 100644
--- a/poky/meta/recipes-core/readline/readline-7.0/norpath.patch
+++ b/poky/meta/recipes-core/readline/readline-8.0/norpath.patch
diff --git a/poky/meta/recipes-core/readline/readline_7.0.bb b/poky/meta/recipes-core/readline/readline_7.0.bb
deleted file mode 100644
index 85dfaa629..000000000
--- a/poky/meta/recipes-core/readline/readline_7.0.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require readline.inc
-
-SRC_URI += "file://configure-fix.patch \
- file://norpath.patch"
-
-SRC_URI[archive.md5sum] = "205b03a87fc83dab653b628c59b9fc91"
-SRC_URI[archive.sha256sum] = "750d437185286f40a369e1e4f4764eda932b9459b5ec9a731628393dd3d32334"
diff --git a/poky/meta/recipes-core/readline/readline_8.0.bb b/poky/meta/recipes-core/readline/readline_8.0.bb
new file mode 100644
index 000000000..99d022a32
--- /dev/null
+++ b/poky/meta/recipes-core/readline/readline_8.0.bb
@@ -0,0 +1,7 @@
+require readline.inc
+
+SRC_URI += "file://configure-fix.patch \
+ file://norpath.patch"
+
+SRC_URI[archive.md5sum] = "7e6c1f16aee3244a69aba6e438295ca3"
+SRC_URI[archive.sha256sum] = "e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461"
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_239.bb b/poky/meta/recipes-core/systemd/systemd-boot_241.bb
index 2450d52cb..56e68a3d4 100644
--- a/poky/meta/recipes-core/systemd/systemd-boot_239.bb
+++ b/poky/meta/recipes-core/systemd/systemd-boot_241.bb
@@ -3,10 +3,11 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:"
DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native"
-SRC_URI += "file://0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch \
- file://0006-remove-nobody-user-group-checking.patch \
+# NOTE: These three patches are in theory not needed, but we haven't
+# figured out how to correctly pass efi-cc parameter if it's an array.
+SRC_URI += "file://0001-Revert-meson-use-an-array-option-for-efi-cc.patch \
+ file://0001-Revert-meson-print-EFI-CC-configuration-nicely.patch \
file://0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch \
- file://0001-meson-rename-Ddebug-to-Ddebug-extra.patch \
"
inherit meson pkgconfig gettext
diff --git a/poky/meta/recipes-core/systemd/systemd-conf.bb b/poky/meta/recipes-core/systemd/systemd-conf_241.bb
index 9bb27fd96..9bb27fd96 100644
--- a/poky/meta/recipes-core/systemd/systemd-conf.bb
+++ b/poky/meta/recipes-core/systemd/systemd-conf_241.bb
diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc
index 736e0a0ea..5bd88ed6e 100644
--- a/poky/meta/recipes-core/systemd/systemd.inc
+++ b/poky/meta/recipes-core/systemd/systemd.inc
@@ -14,8 +14,10 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
-SRCREV = "de7436b02badc82200dc127ff190b8155769b8e7"
-
-SRC_URI = "git://github.com/systemd/systemd.git;protocol=git"
+SRCREV = "c1f8ff8d0de7e303b8004b02a0a47d4cc103a7f8"
+SRCBRANCH = "v241-stable"
+SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}"
S = "${WORKDIR}/git"
+
+PV_append = "+${SRCPV}"
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch b/poky/meta/recipes-core/systemd/systemd/0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch
deleted file mode 100644
index d745800ce..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 9e3816bcaa36e1a11647ca0cf4f8044449c77fe0 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 2 Jul 2018 15:28:22 +0800
-Subject: [PATCH] Remove fstack-protector flags to workaround musl build
-
-Remove fstack-protector and fstack-protector-strong flags to fix
-the following build failure for qemux86 and qemuppc with musl.
-
- undefined reference to `__stack_chk_fail_local'
-
-Upstream-Status: Inappropriate [musl Specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- meson.build | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index f432ea072..a734a295c 100644
---- a/meson.build
-+++ b/meson.build
-@@ -333,8 +333,6 @@ possible_cc_flags = [
- '-fdiagnostics-show-option',
- '-fno-strict-aliasing',
- '-fvisibility=hidden',
-- '-fstack-protector',
-- '-fstack-protector-strong',
- '--param=ssp-buffer-size=4',
- ]
-
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch b/poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch
new file mode 100644
index 000000000..ed14e25bc
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch
@@ -0,0 +1,33 @@
+From 0bf530aac152630500939db31f98d933158fdabd Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 26 Feb 2019 14:27:49 +0800
+Subject: [PATCH] Revert "meson: print EFI CC configuration nicely"
+
+This reverts commit c512dfb9ac948ddb1ced0dab07b9dac88b198293.
+
+This patch is here because we haven't figured out how to pass
+parameter to efi-cc if it's an array in systemd-boot recipe.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 70fb218..30df834 100644
+--- a/meson.build
++++ b/meson.build
+@@ -3138,7 +3138,7 @@ if conf.get('ENABLE_EFI') == 1
+ if have_gnu_efi
+ status += [
+ 'EFI machine type: @0@'.format(EFI_MACHINE_TYPE_NAME),
+- 'EFI CC @0@'.format(' '.join(efi_cc)),
++ 'EFI CC @0@'.format(efi_cc),
+ 'EFI lib directory: @0@'.format(efi_libdir),
+ 'EFI lds directory: @0@'.format(efi_ldsdir),
+ 'EFI include directory: @0@'.format(efi_incdir)]
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch b/poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch
new file mode 100644
index 000000000..0d2ebf62b
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch
@@ -0,0 +1,77 @@
+From 0030dcbac1a9177ef7a28af209ac67149b899f5f Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 26 Feb 2019 14:17:25 +0800
+Subject: [PATCH] Revert "meson: use an array option for efi-cc"
+
+This reverts commit 595343fb4c99c2679d347ef7c19debfbfed6342e.
+
+This patch is here because we haven't figured out how to pass
+parameter to efi-cc if it's an array in systemd-boot recipe.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ meson_options.txt | 2 +-
+ src/boot/efi/meson.build | 11 ++++++-----
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index 044bb79..3d28bfd 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -292,7 +292,7 @@ option('dbus', type : 'combo', choices : ['auto', 'true', 'false'],
+
+ option('gnu-efi', type : 'combo', choices : ['auto', 'true', 'false'],
+ description : 'gnu-efi support for sd-boot')
+-option('efi-cc', type : 'array',
++option('efi-cc', type : 'string',
+ description : 'the compiler to use for EFI modules')
+ option('efi-ld', type : 'string',
+ description : 'the linker to use for EFI modules')
+diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build
+index 2140151..d8db3a1 100644
+--- a/src/boot/efi/meson.build
++++ b/src/boot/efi/meson.build
+@@ -34,8 +34,8 @@ stub_sources = '''
+
+ if conf.get('ENABLE_EFI') == 1 and get_option('gnu-efi') != 'false'
+ efi_cc = get_option('efi-cc')
+- if efi_cc.length() == 0
+- efi_cc = cc.cmd_array()
++ if efi_cc == ''
++ efi_cc = ' '.join(cc.cmd_array())
+ endif
+ efi_ld = get_option('efi-ld')
+ if efi_ld == ''
+@@ -57,7 +57,8 @@ if conf.get('ENABLE_EFI') == 1 and get_option('gnu-efi') != 'false'
+
+ efi_libdir = get_option('efi-libdir')
+ if efi_libdir == ''
+- ret = run_command(efi_cc + ['-print-multi-os-directory'])
++ cmd = 'cd /usr/lib/$(@0@ -print-multi-os-directory) && pwd'.format(efi_cc)
++ ret = run_command('sh', '-c', cmd)
+ if ret.returncode() == 0
+ path = join_paths('/usr/lib', ret.stdout().strip())
+ ret = run_command('realpath', '-e', path)
+@@ -152,7 +153,7 @@ if have_gnu_efi
+ o_file = custom_target(file + '.o',
+ input : file,
+ output : file + '.o',
+- command : efi_cc + ['-c', '@INPUT@', '-o', '@OUTPUT@']
++ command : [efi_cc, '-c', '@INPUT@', '-o', '@OUTPUT@']
+ + compile_args,
+ depend_files : efi_headers)
+ if (common_sources + systemd_boot_sources).contains(file)
+@@ -163,7 +164,7 @@ if have_gnu_efi
+ endif
+ endforeach
+
+- libgcc_file_name = run_command(efi_cc + ['-print-libgcc-file-name']).stdout().strip()
++ libgcc_file_name = run_command(efi_cc, '-print-libgcc-file-name').stdout().strip()
+ systemd_boot_efi_name = 'systemd-boot@0@.efi'.format(EFI_MACHINE_TYPE_NAME)
+ stub_efi_name = 'linux@0@.efi.stub'.format(EFI_MACHINE_TYPE_NAME)
+ no_undefined_symbols = find_program('no-undefined-symbols.sh')
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch b/poky/meta/recipes-core/systemd/systemd/0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch
deleted file mode 100644
index 7fd6d0188..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 1e190dfd5bb95036f937ef1dc46f43eb0a146612 Mon Sep 17 00:00:00 2001
-From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
-Date: Fri, 17 Aug 2018 21:31:05 +0200
-Subject: [PATCH] Revert "sysctl.d: request ECN on both in and outgoing
- connections"
-
-Turning on ECN still causes slow or broken network on linux. Our tcp
-is not yet ready for wide spread use of ECN.
-
-This reverts commit 919472741dba6ad0a3f6c2b76d390a02d0e2fdc3.
-
-https://github.com/systemd/systemd/issues/9748
-
-Upstream-Status: Backport
-Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
----
- sysctl.d/50-default.conf | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/sysctl.d/50-default.conf b/sysctl.d/50-default.conf
-index b67ae87ca6b7..e263cf06284a 100644
---- a/sysctl.d/50-default.conf
-+++ b/sysctl.d/50-default.conf
-@@ -33,9 +33,6 @@ net.ipv4.conf.all.promote_secondaries = 1
- # Fair Queue CoDel packet scheduler to fight bufferbloat
- net.core.default_qdisc = fq_codel
-
--# Request Explicit Congestion Notification (ECN) on both in and outgoing connections
--net.ipv4.tcp_ecn = 1
--
- # Enable hard and soft link protection
- fs.protected_hardlinks = 1
- fs.protected_symlinks = 1
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch b/poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch
index 03f6ead13..37979755d 100644
--- a/poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch
@@ -1,7 +1,7 @@
-From 6dd136512896979feb6883a16226d640a7e5ca74 Mon Sep 17 00:00:00 2001
+From b8055a61b5df6b43b8d3117936587b874b0a339b Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 23 Feb 2018 10:04:48 +0800
-Subject: [PATCH 01/19] Use getenv when secure versions are not available
+Date: Mon, 25 Feb 2019 11:01:18 +0800
+Subject: [PATCH 01/24] Use getenv when secure versions are not available
musl doesnt implement secure version, so we default
to it if configure does not detect a secure implementation
@@ -12,14 +12,14 @@ Upstream-Status: Denied
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
- src/basic/missing.h | 2 +-
+ src/basic/missing_stdlib.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/src/basic/missing.h b/src/basic/missing.h
-index 71a07d057..0e33abb9f 100644
---- a/src/basic/missing.h
-+++ b/src/basic/missing.h
-@@ -592,7 +592,7 @@ struct btrfs_ioctl_quota_ctl_args {
+diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
+index 188a8d4..c0ffe86 100644
+--- a/src/basic/missing_stdlib.h
++++ b/src/basic/missing_stdlib.h
+@@ -8,6 +8,6 @@
# if HAVE___SECURE_GETENV
# define secure_getenv __secure_getenv
# else
@@ -27,7 +27,6 @@ index 71a07d057..0e33abb9f 100644
+# define secure_getenv getenv
# endif
#endif
-
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
index e24e7f83f..00670ca2b 100644
--- a/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
@@ -1,7 +1,7 @@
-From 87dd61be2e28e78ce4f9f173794812e6c2d904d1 Mon Sep 17 00:00:00 2001
+From 98254e4798e79d52ac6b562616cd244120f6e239 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
-Date: Wed, 27 Jun 2018 16:01:22 +0800
-Subject: [PATCH 1/9] binfmt: Don't install dependency links at install time
+Date: Thu, 21 Feb 2019 16:23:24 +0800
+Subject: [PATCH 1/5] binfmt: Don't install dependency links at install time
for the binfmt services
use [Install] blocks so that they get created when the service is enabled
@@ -23,10 +23,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/units/meson.build b/units/meson.build
-index e4ac6ced6..698734e44 100644
+index d695084..7b1f14a 100644
--- a/units/meson.build
+++ b/units/meson.build
-@@ -46,8 +46,7 @@ units = [
+@@ -47,8 +47,7 @@ units = [
['poweroff.target', '',
'runlevel0.target'],
['printer.target', ''],
@@ -36,18 +36,18 @@ index e4ac6ced6..698734e44 100644
['proc-sys-fs-binfmt_misc.mount', 'ENABLE_BINFMT'],
['reboot.target', '',
'runlevel6.target ctrl-alt-del.target'],
-@@ -130,8 +129,7 @@ in_units = [
+@@ -134,8 +133,7 @@ in_units = [
['systemd-ask-password-console.service', ''],
['systemd-ask-password-wall.service', ''],
['systemd-backlight@.service', 'ENABLE_BACKLIGHT'],
- ['systemd-binfmt.service', 'ENABLE_BINFMT',
- 'sysinit.target.wants/'],
+ ['systemd-binfmt.service', 'ENABLE_BINFMT'],
+ ['systemd-bless-boot.service', 'ENABLE_EFI HAVE_BLKID'],
+ ['systemd-boot-check-no-failures.service', ''],
['systemd-coredump@.service', 'ENABLE_COREDUMP'],
- ['systemd-exit.service', ''],
- ['systemd-firstboot.service', 'ENABLE_FIRSTBOOT',
diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount
-index 30a6bc991..4231f3b70 100644
+index 30a6bc9..4231f3b 100644
--- a/units/proc-sys-fs-binfmt_misc.automount
+++ b/units/proc-sys-fs-binfmt_misc.automount
@@ -18,3 +18,6 @@ ConditionPathIsReadWrite=/proc/sys/
@@ -58,7 +58,7 @@ index 30a6bc991..4231f3b70 100644
+[Install]
+WantedBy=sysinit.target
diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in
-index e940c7c9a..6be7f5cc9 100644
+index e940c7c..6be7f5c 100644
--- a/units/systemd-binfmt.service.in
+++ b/units/systemd-binfmt.service.in
@@ -14,6 +14,7 @@ Documentation=https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.htm
@@ -77,5 +77,5 @@ index e940c7c9a..6be7f5cc9 100644
+[Install]
+WantedBy=sysinit.target
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch b/poky/meta/recipes-core/systemd/systemd/0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch
deleted file mode 100644
index 9d350ebad..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-From 2da8ba3f507345d0401ea9d7191fa16ffa560ebc Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Fri, 19 Oct 2018 11:26:59 +0200
-Subject: [PATCH] chown-recursive: let's rework the recursive logic to use
- O_PATH
-
-That way we can pin a specific inode and analyze it and manipulate it
-without it being swapped out beneath our hands.
-
-Fixes a vulnerability originally found by Jann Horn from Google.
-
-CVE-2018-15687
-LP: #1796692
-https://bugzilla.redhat.com/show_bug.cgi?id=1639076
-
-(cherry picked from commit 5de6cce58b3e8b79239b6e83653459d91af6e57c)
-
-CVE: CVE-2018-15687
-Upstream-Status: Backport
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/core/chown-recursive.c | 146 ++++++++++++++++++++++-----------------------
- 1 file changed, 70 insertions(+), 76 deletions(-)
-
-diff --git a/src/core/chown-recursive.c b/src/core/chown-recursive.c
-index c479450..27c6448 100644
---- a/src/core/chown-recursive.c
-+++ b/src/core/chown-recursive.c
-@@ -1,17 +1,19 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
-
--#include <sys/types.h>
--#include <sys/stat.h>
- #include <fcntl.h>
-+#include <sys/stat.h>
-+#include <sys/types.h>
-
--#include "user-util.h"
--#include "macro.h"
--#include "fd-util.h"
--#include "dirent-util.h"
- #include "chown-recursive.h"
-+#include "dirent-util.h"
-+#include "fd-util.h"
-+#include "macro.h"
-+#include "stdio-util.h"
-+#include "strv.h"
-+#include "user-util.h"
-
--static int chown_one(int fd, const char *name, const struct stat *st, uid_t uid, gid_t gid) {
-- int r;
-+static int chown_one(int fd, const struct stat *st, uid_t uid, gid_t gid) {
-+ char procfs_path[STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int) + 1];
-
- assert(fd >= 0);
- assert(st);
-@@ -20,90 +22,82 @@ static int chown_one(int fd, const char *name, const struct stat *st, uid_t uid,
- (!gid_is_valid(gid) || st->st_gid == gid))
- return 0;
-
-- if (name)
-- r = fchownat(fd, name, uid, gid, AT_SYMLINK_NOFOLLOW);
-- else
-- r = fchown(fd, uid, gid);
-- if (r < 0)
-- return -errno;
-+ /* We change ownership through the /proc/self/fd/%i path, so that we have a stable reference that works with
-+ * O_PATH. (Note: fchown() and fchmod() do not work with O_PATH, the kernel refuses that. */
-+ xsprintf(procfs_path, "/proc/self/fd/%i", fd);
-
-- /* The linux kernel alters the mode in some cases of chown(). Let's undo this. */
-- if (name) {
-- if (!S_ISLNK(st->st_mode))
-- r = fchmodat(fd, name, st->st_mode, 0);
-- else /* There's currently no AT_SYMLINK_NOFOLLOW for fchmodat() */
-- r = 0;
-- } else
-- r = fchmod(fd, st->st_mode);
-- if (r < 0)
-+ if (chown(procfs_path, uid, gid) < 0)
- return -errno;
-
-+ /* The linux kernel alters the mode in some cases of chown(). Let's undo this. We do this only for non-symlinks
-+ * however. That's because for symlinks the access mode is ignored anyway and because on some kernels/file
-+ * systems trying to change the access mode will succeed but has no effect while on others it actively
-+ * fails. */
-+ if (!S_ISLNK(st->st_mode))
-+ if (chmod(procfs_path, st->st_mode & 07777) < 0)
-+ return -errno;
-+
- return 1;
- }
-
- static int chown_recursive_internal(int fd, const struct stat *st, uid_t uid, gid_t gid) {
-+ _cleanup_closedir_ DIR *d = NULL;
- bool changed = false;
-+ struct dirent *de;
- int r;
-
- assert(fd >= 0);
- assert(st);
-
-- if (S_ISDIR(st->st_mode)) {
-- _cleanup_closedir_ DIR *d = NULL;
-- struct dirent *de;
--
-- d = fdopendir(fd);
-- if (!d) {
-- r = -errno;
-- goto finish;
-- }
-- fd = -1;
--
-- FOREACH_DIRENT_ALL(de, d, r = -errno; goto finish) {
-- struct stat fst;
--
-- if (dot_or_dot_dot(de->d_name))
-- continue;
--
-- if (fstatat(dirfd(d), de->d_name, &fst, AT_SYMLINK_NOFOLLOW) < 0) {
-- r = -errno;
-- goto finish;
-- }
--
-- if (S_ISDIR(fst.st_mode)) {
-- int subdir_fd;
--
-- subdir_fd = openat(dirfd(d), de->d_name, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME);
-- if (subdir_fd < 0) {
-- r = -errno;
-- goto finish;
-- }
--
-- r = chown_recursive_internal(subdir_fd, &fst, uid, gid);
-- if (r < 0)
-- goto finish;
-- if (r > 0)
-- changed = true;
-- } else {
-- r = chown_one(dirfd(d), de->d_name, &fst, uid, gid);
-- if (r < 0)
-- goto finish;
-- if (r > 0)
-- changed = true;
-- }
-+ d = fdopendir(fd);
-+ if (!d) {
-+ safe_close(fd);
-+ return -errno;
-+ }
-+
-+ FOREACH_DIRENT_ALL(de, d, return -errno) {
-+ _cleanup_close_ int path_fd = -1;
-+ struct stat fst;
-+
-+ if (dot_or_dot_dot(de->d_name))
-+ continue;
-+
-+ /* Let's pin the child inode we want to fix now with an O_PATH fd, so that it cannot be swapped out
-+ * while we manipulate it. */
-+ path_fd = openat(dirfd(d), de->d_name, O_PATH|O_CLOEXEC|O_NOFOLLOW);
-+ if (path_fd < 0)
-+ return -errno;
-+
-+ if (fstat(path_fd, &fst) < 0)
-+ return -errno;
-+
-+ if (S_ISDIR(fst.st_mode)) {
-+ int subdir_fd;
-+
-+ /* Convert it to a "real" (i.e. non-O_PATH) fd now */
-+ subdir_fd = fd_reopen(path_fd, O_RDONLY|O_CLOEXEC|O_NOATIME);
-+ if (subdir_fd < 0)
-+ return subdir_fd;
-+
-+ r = chown_recursive_internal(subdir_fd, &fst, uid, gid); /* takes possession of subdir_fd even on failure */
-+ if (r < 0)
-+ return r;
-+ if (r > 0)
-+ changed = true;
-+ } else {
-+ r = chown_one(path_fd, &fst, uid, gid);
-+ if (r < 0)
-+ return r;
-+ if (r > 0)
-+ changed = true;
- }
-+ }
-
-- r = chown_one(dirfd(d), NULL, st, uid, gid);
-- } else
-- r = chown_one(fd, NULL, st, uid, gid);
-+ r = chown_one(dirfd(d), st, uid, gid);
- if (r < 0)
-- goto finish;
-+ return r;
-
-- r = r > 0 || changed;
--
--finish:
-- safe_close(fd);
-- return r;
-+ return r > 0 || changed;
- }
-
- int path_chown_recursive(const char *path, uid_t uid, gid_t gid) {
-@@ -111,7 +105,7 @@ int path_chown_recursive(const char *path, uid_t uid, gid_t gid) {
- struct stat st;
- int r;
-
-- fd = open(path, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME);
-+ fd = open(path, O_RDONLY|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME);
- if (fd < 0)
- return -errno;
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-core-when-deserializing-state-always-use-read_line-L.patch b/poky/meta/recipes-core/systemd/systemd/0001-core-when-deserializing-state-always-use-read_line-L.patch
deleted file mode 100644
index 215d68076..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-core-when-deserializing-state-always-use-read_line-L.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From 1a05ff4948d778280ec155a9abe69d3360bfddd9 Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Wed, 17 Oct 2018 18:36:24 +0200
-Subject: [PATCH] =?UTF-8?q?core:=20when=20deserializing=20state=20always?=
- =?UTF-8?q?=20use=20read=5Fline(=E2=80=A6,=20LONG=5FLINE=5FMAX,=20?=
- =?UTF-8?q?=E2=80=A6)?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This should be much better than fgets(), as we can read substantially
-longer lines and overly long lines result in proper errors.
-
-Fixes a vulnerability discovered by Jann Horn at Google.
-
-CVE-2018-15686
-LP: #1796402
-https://bugzilla.redhat.com/show_bug.cgi?id=1639071
-
-(cherry picked from commit 8948b3415d762245ebf5e19d80b97d4d8cc208c1)
-
-CVE: CVE-2018-15686
-Upstream-Status: Backport
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/core/job.c | 19 +++++++++++--------
- src/core/manager.c | 44 ++++++++++++++++++++------------------------
- src/core/unit.c | 34 ++++++++++++++++++----------------
- src/core/unit.h | 2 +-
- 4 files changed, 50 insertions(+), 49 deletions(-)
-
-diff --git a/src/core/job.c b/src/core/job.c
-index 734756b..8552ffb 100644
---- a/src/core/job.c
-+++ b/src/core/job.c
-@@ -10,6 +10,7 @@
- #include "dbus-job.h"
- #include "dbus.h"
- #include "escape.h"
-+#include "fileio.h"
- #include "job.h"
- #include "log.h"
- #include "macro.h"
-@@ -1091,24 +1092,26 @@ int job_serialize(Job *j, FILE *f) {
- }
-
- int job_deserialize(Job *j, FILE *f) {
-+ int r;
-+
- assert(j);
- assert(f);
-
- for (;;) {
-- char line[LINE_MAX], *l, *v;
-+ _cleanup_free_ char *line = NULL;
-+ char *l, *v;
- size_t k;
-
-- if (!fgets(line, sizeof(line), f)) {
-- if (feof(f))
-- return 0;
-- return -errno;
-- }
-+ r = read_line(f, LONG_LINE_MAX, &line);
-+ if (r < 0)
-+ return log_error_errno(r, "Failed to read serialization line: %m");
-+ if (r == 0)
-+ return 0;
-
-- char_array_0(line);
- l = strstrip(line);
-
- /* End marker */
-- if (l[0] == 0)
-+ if (isempty(l))
- return 0;
-
- k = strcspn(l, "=");
-diff --git a/src/core/manager.c b/src/core/manager.c
-index 3a7f0c4..a5780c9 100644
---- a/src/core/manager.c
-+++ b/src/core/manager.c
-@@ -3171,22 +3171,19 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
- m->n_reloading++;
-
- for (;;) {
-- char line[LINE_MAX];
-+ _cleanup_free_ char *line = NULL;
- const char *val, *l;
-
-- if (!fgets(line, sizeof(line), f)) {
-- if (feof(f))
-- r = 0;
-- else
-- r = -errno;
--
-+ r = read_line(f, LONG_LINE_MAX, &line);
-+ if (r < 0) {
-+ log_error_errno(r, "Failed to read serialization line: %m");
- goto finish;
- }
-+ if (r == 0)
-+ break;
-
-- char_array_0(line);
- l = strstrip(line);
--
-- if (l[0] == 0)
-+ if (isempty(l)) /* end marker */
- break;
-
- if ((val = startswith(l, "current-job-id="))) {
-@@ -3353,29 +3350,31 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
- }
-
- for (;;) {
-- Unit *u;
-- char name[UNIT_NAME_MAX+2];
-+ _cleanup_free_ char *line = NULL;
- const char* unit_name;
-+ Unit *u;
-
- /* Start marker */
-- if (!fgets(name, sizeof(name), f)) {
-- if (feof(f))
-- r = 0;
-- else
-- r = -errno;
--
-+ r = read_line(f, LONG_LINE_MAX, &line);
-+ if (r < 0) {
-+ log_error_errno(r, "Failed to read serialization line: %m");
- goto finish;
- }
-+ if (r == 0)
-+ break;
-
-- char_array_0(name);
-- unit_name = strstrip(name);
-+ unit_name = strstrip(line);
-
- r = manager_load_unit(m, unit_name, NULL, NULL, &u);
- if (r < 0) {
- log_notice_errno(r, "Failed to load unit \"%s\", skipping deserialization: %m", unit_name);
- if (r == -ENOMEM)
- goto finish;
-- unit_deserialize_skip(f);
-+
-+ r = unit_deserialize_skip(f);
-+ if (r < 0)
-+ goto finish;
-+
- continue;
- }
-
-@@ -3388,9 +3387,6 @@ int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
- }
-
- finish:
-- if (ferror(f))
-- r = -EIO;
--
- assert(m->n_reloading > 0);
- m->n_reloading--;
-
-diff --git a/src/core/unit.c b/src/core/unit.c
-index 7da963a..e98c9c4 100644
---- a/src/core/unit.c
-+++ b/src/core/unit.c
-@@ -3380,21 +3380,19 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
- assert(fds);
-
- for (;;) {
-- char line[LINE_MAX], *l, *v;
-+ _cleanup_free_ char *line = NULL;
- CGroupIPAccountingMetric m;
-+ char *l, *v;
- size_t k;
-
-- if (!fgets(line, sizeof(line), f)) {
-- if (feof(f))
-- return 0;
-- return -errno;
-- }
-+ r = read_line(f, LONG_LINE_MAX, &line);
-+ if (r < 0)
-+ return log_error_errno(r, "Failed to read serialization line: %m");
-+ if (r == 0) /* eof */
-+ break;
-
-- char_array_0(line);
- l = strstrip(line);
--
-- /* End marker */
-- if (isempty(l))
-+ if (isempty(l)) /* End marker */
- break;
-
- k = strcspn(l, "=");
-@@ -3671,23 +3669,27 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
- return 0;
- }
-
--void unit_deserialize_skip(FILE *f) {
-+int unit_deserialize_skip(FILE *f) {
-+ int r;
- assert(f);
-
- /* Skip serialized data for this unit. We don't know what it is. */
-
- for (;;) {
-- char line[LINE_MAX], *l;
-+ _cleanup_free_ char *line = NULL;
-+ char *l;
-
-- if (!fgets(line, sizeof line, f))
-- return;
-+ r = read_line(f, LONG_LINE_MAX, &line);
-+ if (r < 0)
-+ return log_error_errno(r, "Failed to read serialization line: %m");
-+ if (r == 0)
-+ return 0;
-
-- char_array_0(line);
- l = strstrip(line);
-
- /* End marker */
- if (isempty(l))
-- return;
-+ return 1;
- }
- }
-
-diff --git a/src/core/unit.h b/src/core/unit.h
-index 06321bb..51c7aaa 100644
---- a/src/core/unit.h
-+++ b/src/core/unit.h
-@@ -684,7 +684,7 @@ bool unit_can_serialize(Unit *u) _pure_;
-
- int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs);
- int unit_deserialize(Unit *u, FILE *f, FDSet *fds);
--void unit_deserialize_skip(FILE *f);
-+int unit_deserialize_skip(FILE *f);
-
- int unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value);
- int unit_serialize_item_escaped(Unit *u, FILE *f, const char *key, const char *value);
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch b/poky/meta/recipes-core/systemd/systemd/0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch
deleted file mode 100644
index 0c912f25d..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From a2622b8398ba026faf481f5eddeb53231d9de4a7 Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Fri, 19 Oct 2018 12:12:33 +0200
-Subject: [PATCH] dhcp6: make sure we have enough space for the DHCP6 option
- header
-
-Fixes a vulnerability originally discovered by Felix Wilhelm from
-Google.
-
-CVE-2018-15688
-LP: #1795921
-https://bugzilla.redhat.com/show_bug.cgi?id=1639067
-
-(cherry picked from commit 4dac5eaba4e419b29c97da38a8b1f82336c2c892)
-
-CVE: CVE-2018-15688
-Upstream-Status: Backport
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/libsystemd-network/dhcp6-option.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libsystemd-network/dhcp6-option.c b/src/libsystemd-network/dhcp6-option.c
-index c4b402b..dcbaad0 100644
---- a/src/libsystemd-network/dhcp6-option.c
-+++ b/src/libsystemd-network/dhcp6-option.c
-@@ -103,7 +103,7 @@ int dhcp6_option_append_ia(uint8_t **buf, size_t *buflen, DHCP6IA *ia) {
- return -EINVAL;
- }
-
-- if (*buflen < len)
-+ if (*buflen < offsetof(DHCP6Option, data) + len)
- return -ENOBUFS;
-
- ia_hdr = *buf;
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch b/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch
new file mode 100644
index 000000000..a6857b1f4
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch
@@ -0,0 +1,523 @@
+From 85e3c3046562ec24fc2f09ebfd08bf9f168091d5 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Fri, 1 Mar 2019 15:22:15 +0800
+Subject: [PATCH] do not disable buffer in writing files
+
+Do not disable buffer in writing files, otherwise we get
+failure at boot for musl like below.
+
+ [!!!!!!] Failed to allocate manager object.
+
+And there will be other failures, critical or not critical.
+This is specific to musl.
+
+Upstream-Status: Inappropriate [musl]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/cgroup-util.c | 14 +++++++-------
+ src/basic/procfs-util.c | 4 ++--
+ src/basic/smack-util.c | 2 +-
+ src/basic/util.c | 2 +-
+ src/binfmt/binfmt.c | 6 +++---
+ src/core/main.c | 4 ++--
+ src/core/smack-setup.c | 8 ++++----
+ src/hibernate-resume/hibernate-resume.c | 2 +-
+ src/libsystemd/sd-device/sd-device.c | 2 +-
+ src/login/logind-dbus.c | 2 +-
+ src/network/networkd-ipv6-proxy-ndp.c | 2 +-
+ src/network/networkd-link.c | 18 +++++++++---------
+ src/nspawn/nspawn-cgroup.c | 2 +-
+ src/nspawn/nspawn.c | 6 +++---
+ src/sleep/sleep.c | 12 ++++++------
+ src/udev/udevadm-trigger.c | 2 +-
+ src/udev/udevd.c | 6 +++---
+ src/vconsole/vconsole-setup.c | 2 +-
+ 18 files changed, 48 insertions(+), 48 deletions(-)
+
+diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
+index 8ce7ccb..b633226 100644
+--- a/src/basic/cgroup-util.c
++++ b/src/basic/cgroup-util.c
+@@ -818,7 +818,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
+
+ xsprintf(c, PID_FMT "\n", pid);
+
+- r = write_string_file(fs, c, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, c, 0);
+ if (r < 0)
+ return r;
+
+@@ -1100,7 +1100,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+
+ sc = strstrip(contents);
+ if (isempty(sc)) {
+- r = write_string_file(fs, agent, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, agent, 0);
+ if (r < 0)
+ return r;
+ } else if (!path_equal(sc, agent))
+@@ -1118,7 +1118,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+
+ sc = strstrip(contents);
+ if (streq(sc, "0")) {
+- r = write_string_file(fs, "1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, "1", 0);
+ if (r < 0)
+ return r;
+
+@@ -1145,7 +1145,7 @@ int cg_uninstall_release_agent(const char *controller) {
+ if (r < 0)
+ return r;
+
+- r = write_string_file(fs, "0", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, "0", 0);
+ if (r < 0)
+ return r;
+
+@@ -1155,7 +1155,7 @@ int cg_uninstall_release_agent(const char *controller) {
+ if (r < 0)
+ return r;
+
+- r = write_string_file(fs, "", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, "", 0);
+ if (r < 0)
+ return r;
+
+@@ -2012,7 +2012,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
+ if (r < 0)
+ return r;
+
+- return write_string_file(p, value, WRITE_STRING_FILE_DISABLE_BUFFER);
++ return write_string_file(p, value, 0);
+ }
+
+ int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) {
+@@ -2660,7 +2660,7 @@ int cg_enable_everywhere(
+ return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p);
+ }
+
+- r = write_string_stream(f, s, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_stream(f, s, 0);
+ if (r < 0) {
+ log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
+ FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
+diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
+index 42ce53d..5751253 100644
+--- a/src/basic/procfs-util.c
++++ b/src/basic/procfs-util.c
+@@ -86,13 +86,13 @@ int procfs_tasks_set_limit(uint64_t limit) {
+ * decrease it, as threads-max is the much more relevant sysctl. */
+ if (limit > pid_max-1) {
+ sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */
+- r = write_string_file("/proc/sys/kernel/pid_max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/kernel/pid_max", buffer, 0);
+ if (r < 0)
+ return r;
+ }
+
+ sprintf(buffer, "%" PRIu64, limit);
+- r = write_string_file("/proc/sys/kernel/threads-max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/kernel/threads-max", buffer, 0);
+ if (r < 0) {
+ uint64_t threads_max;
+
+diff --git a/src/basic/smack-util.c b/src/basic/smack-util.c
+index 123d00e..e7ea78f 100644
+--- a/src/basic/smack-util.c
++++ b/src/basic/smack-util.c
+@@ -115,7 +115,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) {
+ return 0;
+
+ p = procfs_file_alloca(pid, "attr/current");
+- r = write_string_file(p, label, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, label, 0);
+ if (r < 0)
+ return r;
+
+diff --git a/src/basic/util.c b/src/basic/util.c
+index e577c93..3c64f91 100644
+--- a/src/basic/util.c
++++ b/src/basic/util.c
+@@ -631,7 +631,7 @@ void disable_coredumps(void) {
+ if (detect_container() > 0)
+ return;
+
+- r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0);
+ if (r < 0)
+ log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
+ }
+diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
+index af31f09..eec5738 100644
+--- a/src/binfmt/binfmt.c
++++ b/src/binfmt/binfmt.c
+@@ -47,7 +47,7 @@ static int delete_rule(const char *rule) {
+ if (!fn)
+ return log_oom();
+
+- return write_string_file(fn, "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ return write_string_file(fn, "-1", 0);
+ }
+
+ static int apply_rule(const char *rule) {
+@@ -55,7 +55,7 @@ static int apply_rule(const char *rule) {
+
+ (void) delete_rule(rule);
+
+- r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to add binary format: %m");
+
+@@ -212,7 +212,7 @@ static int run(int argc, char *argv[]) {
+ }
+
+ /* Flush out all rules */
+- write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0);
+
+ STRV_FOREACH(f, files) {
+ k = apply_file(*f, true);
+diff --git a/src/core/main.c b/src/core/main.c
+index 561f956..db6f113 100644
+--- a/src/core/main.c
++++ b/src/core/main.c
+@@ -1468,7 +1468,7 @@ static int bump_unix_max_dgram_qlen(void) {
+ if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
+ return 0;
+
+- r = write_string_filef("/proc/sys/net/unix/max_dgram_qlen", WRITE_STRING_FILE_DISABLE_BUFFER, "%lu", DEFAULT_UNIX_MAX_DGRAM_QLEN);
++ r = write_string_filef("/proc/sys/net/unix/max_dgram_qlen", 0, "%lu", DEFAULT_UNIX_MAX_DGRAM_QLEN);
+ if (r < 0)
+ return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
+ "Failed to bump AF_UNIX datagram queue length, ignoring: %m");
+@@ -1683,7 +1683,7 @@ static void initialize_core_pattern(bool skip_setup) {
+ if (getpid_cached() != 1)
+ return;
+
+- r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern);
+ }
+diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
+index 49b37ae..c96eedc 100644
+--- a/src/core/smack-setup.c
++++ b/src/core/smack-setup.c
+@@ -350,17 +350,17 @@ int mac_smack_setup(bool *loaded_policy) {
+ }
+
+ #ifdef SMACK_RUN_LABEL
+- r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set SMACK label \"" SMACK_RUN_LABEL "\" on self: %m");
+- r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set SMACK ambient label \"" SMACK_RUN_LABEL "\": %m");
+ r = write_string_file("/sys/fs/smackfs/netlabel",
+- "0.0.0.0/0 " SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
++ "0.0.0.0/0 " SMACK_RUN_LABEL, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set SMACK netlabel rule \"0.0.0.0/0 " SMACK_RUN_LABEL "\": %m");
+- r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
+ #endif
+diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
+index 17e7cd1..87a7667 100644
+--- a/src/hibernate-resume/hibernate-resume.c
++++ b/src/hibernate-resume/hibernate-resume.c
+@@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
+ return EXIT_FAILURE;
+ }
+
+- r = write_string_file("/sys/power/resume", major_minor, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/power/resume", major_minor, 0);
+ if (r < 0) {
+ log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor);
+ return EXIT_FAILURE;
+diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
+index 2a69f2e..9d55340 100644
+--- a/src/libsystemd/sd-device/sd-device.c
++++ b/src/libsystemd/sd-device/sd-device.c
+@@ -1836,7 +1836,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
+ if (!value)
+ return -ENOMEM;
+
+- r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW);
++ r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW);
+ if (r < 0) {
+ if (r == -ELOOP)
+ return -EINVAL;
+diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
+index 8ab498f..d27ef9c 100644
+--- a/src/login/logind-dbus.c
++++ b/src/login/logind-dbus.c
+@@ -1231,7 +1231,7 @@ static int trigger_device(Manager *m, sd_device *d) {
+ if (!t)
+ return -ENOMEM;
+
+- (void) write_string_file(t, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
++ (void) write_string_file(t, "change", 0);
+ }
+
+ return 0;
+diff --git a/src/network/networkd-ipv6-proxy-ndp.c b/src/network/networkd-ipv6-proxy-ndp.c
+index f594b27..c283cc3 100644
+--- a/src/network/networkd-ipv6-proxy-ndp.c
++++ b/src/network/networkd-ipv6-proxy-ndp.c
+@@ -43,7 +43,7 @@ static int ipv6_proxy_ndp_set(Link *link) {
+ v = ipv6_proxy_ndp_is_needed(link);
+ p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/proxy_ndp");
+
+- r = write_string_file(p, one_zero(v), WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, one_zero(v), WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot configure proxy NDP for interface: %m");
+
+diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
+index 22392d7..e0ed551 100644
+--- a/src/network/networkd-link.c
++++ b/src/network/networkd-link.c
+@@ -274,7 +274,7 @@ static int link_enable_ipv6(Link *link) {
+
+ p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/disable_ipv6");
+
+- r = write_string_file(p, one_zero(disabled), WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, one_zero(disabled), WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot %s IPv6 for interface %s: %m",
+ enable_disable(!disabled), link->ifname);
+@@ -1272,7 +1272,7 @@ static int link_set_proxy_arp(Link *link) {
+
+ p = strjoina("/proc/sys/net/ipv4/conf/", link->ifname, "/proxy_arp");
+
+- r = write_string_file(p, one_zero(link->network->proxy_arp), WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, one_zero(link->network->proxy_arp), WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot configure proxy ARP for interface: %m");
+
+@@ -2541,7 +2541,7 @@ static int link_set_ipv4_forward(Link *link) {
+ * primarily to keep IPv4 and IPv6 packet forwarding behaviour
+ * somewhat in sync (see below). */
+
+- r = write_string_file("/proc/sys/net/ipv4/ip_forward", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/net/ipv4/ip_forward", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot turn on IPv4 packet forwarding, ignoring: %m");
+
+@@ -2563,7 +2563,7 @@ static int link_set_ipv6_forward(Link *link) {
+ * same behaviour there and also propagate the setting from
+ * one to all, to keep things simple (see above). */
+
+- r = write_string_file("/proc/sys/net/ipv6/conf/all/forwarding", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/net/ipv6/conf/all/forwarding", "1", WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot configure IPv6 packet forwarding, ignoring: %m");
+
+@@ -2583,7 +2583,7 @@ static int link_set_ipv6_privacy_extensions(Link *link) {
+ p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/use_tempaddr");
+ xsprintf(buf, "%u", (unsigned) link->network->ipv6_privacy_extensions);
+
+- r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot configure IPv6 privacy extension for interface: %m");
+
+@@ -2607,7 +2607,7 @@ static int link_set_ipv6_accept_ra(Link *link) {
+ p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/accept_ra");
+
+ /* We handle router advertisements ourselves, tell the kernel to GTFO */
+- r = write_string_file(p, "0", WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, "0", WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot disable kernel IPv6 accept_ra for interface: %m");
+
+@@ -2635,7 +2635,7 @@ static int link_set_ipv6_dad_transmits(Link *link) {
+ p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/dad_transmits");
+ xsprintf(buf, "%i", link->network->ipv6_dad_transmits);
+
+- r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot set IPv6 dad transmits for interface: %m");
+
+@@ -2663,7 +2663,7 @@ static int link_set_ipv6_hop_limit(Link *link) {
+ p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/hop_limit");
+ xsprintf(buf, "%i", link->network->ipv6_hop_limit);
+
+- r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, buf, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot set IPv6 hop limit for interface: %m");
+
+@@ -2689,7 +2689,7 @@ static int link_set_ipv6_mtu(Link *link) {
+
+ xsprintf(buf, "%" PRIu32, link->network->ipv6_mtu);
+
+- r = write_string_file(p, buf, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, buf, 0);
+ if (r < 0)
+ log_link_warning_errno(link, r, "Cannot set IPv6 MTU for interface: %m");
+
+diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c
+index 97fa092..b841f51 100644
+--- a/src/nspawn/nspawn-cgroup.c
++++ b/src/nspawn/nspawn-cgroup.c
+@@ -123,7 +123,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) {
+ (void) mkdir_parents(fn, 0755);
+
+ sprintf(pid_string, PID_FMT, pid);
+- r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fn, pid_string, 0);
+ if (r < 0) {
+ log_error_errno(r, "Failed to move process: %m");
+ goto finish;
+diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
+index e0c2d71..213790c 100644
+--- a/src/nspawn/nspawn.c
++++ b/src/nspawn/nspawn.c
+@@ -2117,7 +2117,7 @@ static int reset_audit_loginuid(void) {
+ if (streq(p, "4294967295"))
+ return 0;
+
+- r = write_string_file("/proc/self/loginuid", "4294967295", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/self/loginuid", "4294967295", 0);
+ if (r < 0) {
+ log_error_errno(r,
+ "Failed to reset audit login UID. This probably means that your kernel is too\n"
+@@ -3195,13 +3195,13 @@ static int setup_uid_map(pid_t pid) {
+
+ xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
+ xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range);
+- r = write_string_file(uid_map, line, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(uid_map, line, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write UID map: %m");
+
+ /* We always assign the same UID and GID ranges */
+ xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid);
+- r = write_string_file(uid_map, line, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(uid_map, line, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write GID map: %m");
+
+diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
+index 5b7984a..bf818aa 100644
+--- a/src/sleep/sleep.c
++++ b/src/sleep/sleep.c
+@@ -43,7 +43,7 @@ static int write_hibernate_location_info(void) {
+
+ /* if it's a swap partition, we just write the disk to /sys/power/resume */
+ if (streq(type, "partition")) {
+- r = write_string_file("/sys/power/resume", device, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/power/resume", device, 0);
+ if (r < 0)
+ return log_debug_errno(r, "Faileed to write partitoin device to /sys/power/resume: %m");
+
+@@ -79,12 +79,12 @@ static int write_hibernate_location_info(void) {
+
+ offset = fiemap->fm_extents[0].fe_physical / page_size();
+ xsprintf(offset_str, "%" PRIu64, offset);
+- r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/power/resume_offset", offset_str, 0);
+ if (r < 0)
+ return log_debug_errno(r, "Failed to write offset '%s': %m", offset_str);
+
+ xsprintf(device_str, "%lx", (unsigned long)stb.st_dev);
+- r = write_string_file("/sys/power/resume", device_str, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/power/resume", device_str, 0);
+ if (r < 0)
+ return log_debug_errno(r, "Failed to write device '%s': %m", device_str);
+
+@@ -98,7 +98,7 @@ static int write_mode(char **modes) {
+ STRV_FOREACH(mode, modes) {
+ int k;
+
+- k = write_string_file("/sys/power/disk", *mode, WRITE_STRING_FILE_DISABLE_BUFFER);
++ k = write_string_file("/sys/power/disk", *mode, 0);
+ if (k >= 0)
+ return 0;
+
+@@ -117,7 +117,7 @@ static int write_state(FILE **f, char **states) {
+ STRV_FOREACH(state, states) {
+ int k;
+
+- k = write_string_stream(*f, *state, WRITE_STRING_FILE_DISABLE_BUFFER);
++ k = write_string_stream(*f, *state, 0);
+ if (k >= 0)
+ return 0;
+ log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state);
+@@ -212,7 +212,7 @@ static int rtc_write_wake_alarm(uint64_t sec) {
+
+ xsprintf(buf, "%" PRIu64, sec);
+
+- r = write_string_file("/sys/class/rtc/rtc0/wakealarm", buf, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/class/rtc/rtc0/wakealarm", buf, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write '%s' to /sys/class/rtc/rtc0/wakealarm: %m", buf);
+
+diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c
+index 9532946..2e576bb 100644
+--- a/src/udev/udevadm-trigger.c
++++ b/src/udev/udevadm-trigger.c
+@@ -42,7 +42,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set *settle_se
+ if (!filename)
+ return log_oom();
+
+- r = write_string_file(filename, action, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(filename, action, 0);
+ if (r < 0) {
+ log_debug_errno(r, "Failed to write '%s' to '%s', ignoring: %m", action, filename);
+ continue;
+diff --git a/src/udev/udevd.c b/src/udev/udevd.c
+index 0303f36..687d009 100644
+--- a/src/udev/udevd.c
++++ b/src/udev/udevd.c
+@@ -1218,7 +1218,7 @@ static int synthesize_change(sd_device *dev) {
+ */
+ log_debug("Device '%s' is closed, synthesising 'change'", devname);
+ strscpyl(filename, sizeof(filename), syspath, "/uevent", NULL);
+- write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
++ write_string_file(filename, "change", 0);
+
+ FOREACH_DEVICE(e, d) {
+ const char *t, *n, *s;
+@@ -1233,7 +1233,7 @@ static int synthesize_change(sd_device *dev) {
+
+ log_debug("Device '%s' is closed, synthesising partition '%s' 'change'", devname, n);
+ strscpyl(filename, sizeof(filename), s, "/uevent", NULL);
+- write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
++ write_string_file(filename, "change", 0);
+ }
+
+ return 0;
+@@ -1241,7 +1241,7 @@ static int synthesize_change(sd_device *dev) {
+
+ log_debug("Device %s is closed, synthesising 'change'", devname);
+ strscpyl(filename, sizeof(filename), syspath, "/uevent", NULL);
+- write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
++ write_string_file(filename, "change", 0);
+
+ return 0;
+ }
+diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
+index ebdeba3..aa879e6 100644
+--- a/src/vconsole/vconsole-setup.c
++++ b/src/vconsole/vconsole-setup.c
+@@ -114,7 +114,7 @@ static int toggle_utf8(const char *name, int fd, bool utf8) {
+ static int toggle_utf8_sysfs(bool utf8) {
+ int r;
+
+- r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), 0);
+ if (r < 0)
+ return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch b/poky/meta/recipes-core/systemd/systemd/0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch
deleted file mode 100644
index ba08e3455..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From 86d18f3b09ec984ef3732567af992adb2dc77a8a Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Mon, 9 Jul 2018 14:05:20 +0900
-Subject: [PATCH] login: use parse_uid() when unmounting user runtime directory
-
-When unmounting user runtime directory, only UID is necessary,
-and the corresponding user may not exist anymore.
-This makes first try to parse the input by parse_uid(), and only if it
-fails, prase the input by get_user_creds().
-
-Fixes #9541.
-
-Upstream-Status: Backport
----
- src/login/user-runtime-dir.c | 57 ++++++++++++++++++++++++++++----------------
- 1 file changed, 36 insertions(+), 21 deletions(-)
-
-diff --git a/src/login/user-runtime-dir.c b/src/login/user-runtime-dir.c
-index 1bb26c99e..de4061c75 100644
---- a/src/login/user-runtime-dir.c
-+++ b/src/login/user-runtime-dir.c
-@@ -111,8 +111,22 @@ static int user_remove_runtime_path(const char *runtime_path) {
- return r;
- }
-
--static int do_mount(const char *runtime_path, uid_t uid, gid_t gid) {
-+static int do_mount(const char *user) {
-+ char runtime_path[sizeof("/run/user") + DECIMAL_STR_MAX(uid_t)];
- size_t runtime_dir_size;
-+ uid_t uid;
-+ gid_t gid;
-+ int r;
-+
-+ r = get_user_creds(&user, &uid, &gid, NULL, NULL);
-+ if (r < 0)
-+ return log_error_errno(r,
-+ r == -ESRCH ? "No such user \"%s\"" :
-+ r == -ENOMSG ? "UID \"%s\" is invalid or has an invalid main group"
-+ : "Failed to look up user \"%s\": %m",
-+ user);
-+
-+ xsprintf(runtime_path, "/run/user/" UID_FMT, uid);
-
- assert_se(gather_configuration(&runtime_dir_size) == 0);
-
-@@ -120,16 +134,30 @@ static int do_mount(const char *runtime_path, uid_t uid, gid_t gid) {
- return user_mkdir_runtime_path(runtime_path, uid, gid, runtime_dir_size);
- }
-
--static int do_umount(const char *runtime_path) {
-+static int do_umount(const char *user) {
-+ char runtime_path[sizeof("/run/user") + DECIMAL_STR_MAX(uid_t)];
-+ uid_t uid;
-+ int r;
-+
-+ /* The user may be already removed. So, first try to parse the string by parse_uid(),
-+ * and if it fails, fallback to get_user_creds().*/
-+ if (parse_uid(user, &uid) < 0) {
-+ r = get_user_creds(&user, &uid, NULL, NULL, NULL);
-+ if (r < 0)
-+ return log_error_errno(r,
-+ r == -ESRCH ? "No such user \"%s\"" :
-+ r == -ENOMSG ? "UID \"%s\" is invalid or has an invalid main group"
-+ : "Failed to look up user \"%s\": %m",
-+ user);
-+ }
-+
-+ xsprintf(runtime_path, "/run/user/" UID_FMT, uid);
-+
- log_debug("Will remove %s", runtime_path);
- return user_remove_runtime_path(runtime_path);
- }
-
- int main(int argc, char *argv[]) {
-- const char *user;
-- uid_t uid;
-- gid_t gid;
-- char runtime_path[sizeof("/run/user") + DECIMAL_STR_MAX(uid_t)];
- int r;
-
- log_parse_environment();
-@@ -146,23 +174,10 @@ int main(int argc, char *argv[]) {
-
- umask(0022);
-
-- user = argv[2];
-- r = get_user_creds(&user, &uid, &gid, NULL, NULL);
-- if (r < 0) {
-- log_error_errno(r,
-- r == -ESRCH ? "No such user \"%s\"" :
-- r == -ENOMSG ? "UID \"%s\" is invalid or has an invalid main group"
-- : "Failed to look up user \"%s\": %m",
-- user);
-- return EXIT_FAILURE;
-- }
--
-- xsprintf(runtime_path, "/run/user/" UID_FMT, uid);
--
- if (streq(argv[1], "start"))
-- r = do_mount(runtime_path, uid, gid);
-+ r = do_mount(argv[2]);
- else if (streq(argv[1], "stop"))
-- r = do_umount(runtime_path);
-+ r = do_umount(argv[2]);
- else
- assert_not_reached("Unknown verb!");
-
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch b/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch
new file mode 100644
index 000000000..01936f285
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dep-for-various-targets-t.patch
@@ -0,0 +1,118 @@
+From 9f86d8769ab830a724c84f849975b5595e26b47c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Sun, 24 Feb 2019 22:49:38 +0100
+Subject: [PATCH] meson: declare version.h as dep for various targets that
+ include build.h
+
+Should fix #11565.
+
+Upstream-Status: Backport
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ meson.build | 19 +++++++++++++------
+ src/core/meson.build | 3 ++-
+ src/udev/meson.build | 1 +
+ 3 files changed, 16 insertions(+), 7 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 30df834..232f3e1 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1637,7 +1637,8 @@ exe = executable('systemd-analyze',
+ include_directories : includes,
+ link_with : [libcore,
+ libshared],
+- dependencies : [threads,
++ dependencies : [versiondep,
++ threads,
+ librt,
+ libseccomp,
+ libselinux,
+@@ -2183,7 +2184,8 @@ if conf.get('ENABLE_IMPORTD') == 1
+ systemd_pull_sources,
+ include_directories : includes,
+ link_with : [libshared],
+- dependencies : [libcurl,
++ dependencies : [versiondep,
++ libcurl,
+ libz,
+ libbzip2,
+ libxz,
+@@ -2232,7 +2234,8 @@ if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_LIBCURL') == 1
+ systemd_journal_upload_sources,
+ include_directories : includes,
+ link_with : [libshared],
+- dependencies : [threads,
++ dependencies : [versiondep,
++ threads,
+ libcurl,
+ libgnutls,
+ libxz,
+@@ -2558,6 +2561,7 @@ exe = executable('systemd-stdio-bridge',
+ 'src/stdio-bridge/stdio-bridge.c',
+ include_directories : includes,
+ link_with : [libshared],
++ dependencies : [versiondep],
+ install_rpath : rootlibexecdir,
+ install : true)
+ public_programs += exe
+@@ -2641,7 +2645,8 @@ exe = executable('systemd-udevd',
+ link_with : [libudev_core,
+ libsystemd_network,
+ libudev_static],
+- dependencies : [threads,
++ dependencies : [versiondep,
++ threads,
+ libkmod,
+ libidn,
+ libacl,
+@@ -2658,7 +2663,8 @@ exe = executable('udevadm',
+ link_with : [libudev_core,
+ libsystemd_network,
+ libudev_static],
+- dependencies : [threads,
++ dependencies : [versiondep,
++ threads,
+ libkmod,
+ libidn,
+ libacl,
+@@ -2798,7 +2804,8 @@ foreach tuple : tests
+ sources,
+ include_directories : incs,
+ link_with : link_with,
+- dependencies : dependencies,
++ dependencies : [versiondep,
++ dependencies],
+ c_args : defs,
+ build_by_default : want_tests != 'false',
+ install_rpath : rootlibexecdir,
+diff --git a/src/core/meson.build b/src/core/meson.build
+index 85021bd..88fb093 100644
+--- a/src/core/meson.build
++++ b/src/core/meson.build
+@@ -150,7 +150,8 @@ libcore = static_library(
+ load_fragment_gperf_c,
+ load_fragment_gperf_nulstr_c,
+ include_directories : includes,
+- dependencies : [threads,
++ dependencies : [versiondep,
++ threads,
+ librt,
+ libseccomp,
+ libpam,
+diff --git a/src/udev/meson.build b/src/udev/meson.build
+index 9d3f6d1..973a75e 100644
+--- a/src/udev/meson.build
++++ b/src/udev/meson.build
+@@ -180,6 +180,7 @@ foreach prog : [['ata_id/ata_id.c'],
+ prog,
+ include_directories : includes,
+ c_args : ['-DLOG_REALM=LOG_REALM_UDEV'],
++ dependencies : [versiondep],
+ link_with : [libudev_static],
+ install_rpath : udev_rpath,
+ install : true,
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch b/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch
new file mode 100644
index 000000000..8874dff9a
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-meson-declare-version.h-as-dependency-for-systemd.patch
@@ -0,0 +1,32 @@
+From e14d724a932a255eec4d60b08e128519c33e88ee Mon Sep 17 00:00:00 2001
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Mon, 25 Feb 2019 11:59:23 +0100
+Subject: [PATCH] meson: declare version.h as dependency for systemd
+
+This is a followup to #11815 and adds the last missing dependency.
+With this #11565 is hopefully really fixed.
+
+Upstream-Status: Backport
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ meson.build | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 232f3e1..70148be 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1618,7 +1618,8 @@ executable('systemd',
+ include_directories : includes,
+ link_with : [libcore,
+ libshared],
+- dependencies : [threads,
++ dependencies : [versiondep,
++ threads,
+ librt,
+ libseccomp,
+ libselinux,
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-meson-rename-Ddebug-to-Ddebug-extra.patch b/poky/meta/recipes-core/systemd/systemd/0001-meson-rename-Ddebug-to-Ddebug-extra.patch
deleted file mode 100644
index d6d305cb3..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-meson-rename-Ddebug-to-Ddebug-extra.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 8f6b442a78d0b485f044742ad90b2e8271b4e68e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Sun, 19 Aug 2018 19:11:30 +0200
-Subject: [PATCH] meson: rename -Ddebug to -Ddebug-extra
-
-Meson added -Doptimization and -Ddebug options, which obviously causes
-a conflict with our -Ddebug options. Let's rename it.
-
-Fixes #9883.
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- meson.build | 2 +-
- meson_options.txt | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index f79ac4b12..2209c935a 100644
---- a/meson.build
-+++ b/meson.build
-@@ -763,7 +763,7 @@ substs.set('DEBUGTTY', get_option('debug-tty'))
-
- enable_debug_hashmap = false
- enable_debug_mmap_cache = false
--foreach name : get_option('debug')
-+foreach name : get_option('debug-extra')
- if name == 'hashmap'
- enable_debug_hashmap = true
- elif name == 'mmap-cache'
-diff --git a/meson_options.txt b/meson_options.txt
-index e3140c8c1..7b1f61bf4 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -45,7 +45,7 @@ option('debug-shell', type : 'string', value : '/bin/sh',
- description : 'path to debug shell binary')
- option('debug-tty', type : 'string', value : '/dev/tty9',
- description : 'specify the tty device for debug shell')
--option('debug', type : 'array', choices : ['hashmap', 'mmap-cache'], value : [],
-+option('debug-extra', type : 'array', choices : ['hashmap', 'mmap-cache'], value : [],
- description : 'enable extra debugging')
- option('memory-accounting-default', type : 'boolean',
- description : 'enable MemoryAccounting= by default')
---
-2.17.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch b/poky/meta/recipes-core/systemd/systemd/0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch
deleted file mode 100644
index 45c9b5b1e..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-From 5b75a72ee968c9666b5f2ea313720b6c383cb4c2 Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Fri, 13 Jul 2018 17:38:47 +0900
-Subject: [PATCH] sd-bus: make BUS_DEFAULT_TIMEOUT configurable
-
-This adds sd_bus_{get,set}_method_call_timeout().
-If the timeout is not set or set to 0, then the timeout value is
-parsed from $SYSTEMD_BUS_TIMEOUT= environment variable. If the
-environment variable is not set, then built-in timeout is used.
----
- doc/ENVIRONMENT.md | 5 +++++
- src/libsystemd/libsystemd.sym | 5 +++++
- src/libsystemd/sd-bus/bus-internal.h | 9 ++++----
- src/libsystemd/sd-bus/bus-message.c | 7 +++++--
- src/libsystemd/sd-bus/sd-bus.c | 40 ++++++++++++++++++++++++++++++++++--
- src/systemd/sd-bus.h | 3 +++
- 6 files changed, 61 insertions(+), 8 deletions(-)
-
-Upstream-Status: Backport
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
-diff --git a/doc/ENVIRONMENT.md b/doc/ENVIRONMENT.md
-index 85d26fe28c..641a03d5d7 100644
---- a/doc/ENVIRONMENT.md
-+++ b/doc/ENVIRONMENT.md
-@@ -37,6 +37,11 @@ All tools:
- useful for debugging, in order to test generators and other code against
- specific kernel command lines.
-
-+* `$SYSTEMD_BUS_TIMEOUT=SECS` — specifies the maximum time to wait for method call
-+ completion. If no time unit is specified, assumes seconds. The usual other units
-+ are understood, too (us, ms, s, min, h, d, w, month, y). If it is not set or set
-+ to 0, then the built-in default is used.
-+
- systemctl:
-
- * `$SYSTEMCTL_FORCE_BUS=1` — if set, do not connect to PID1's private D-Bus
-diff --git a/src/libsystemd/libsystemd.sym b/src/libsystemd/libsystemd.sym
-index 1eec17db50..006dbc9c3f 100644
---- a/src/libsystemd/libsystemd.sym
-+++ b/src/libsystemd/libsystemd.sym
-@@ -570,3 +570,8 @@ global:
- sd_event_source_set_destroy_callback;
- sd_event_source_get_destroy_callback;
- } LIBSYSTEMD_238;
-+
-+LIBSYSTEMD_240 {
-+ sd_bus_set_method_call_timeout;
-+ sd_bus_get_method_call_timeout;
-+} LIBSYSTEMD_239;
-diff --git a/src/libsystemd/sd-bus/bus-internal.h b/src/libsystemd/sd-bus/bus-internal.h
-index 2087ef8eeb..4864b1e911 100644
---- a/src/libsystemd/sd-bus/bus-internal.h
-+++ b/src/libsystemd/sd-bus/bus-internal.h
-@@ -319,6 +319,9 @@ struct sd_bus {
-
- int *inotify_watches;
- size_t n_inotify_watches;
-+
-+ /* zero means use value specified by $SYSTEMD_BUS_TIMEOUT= environment variable or built-in default */
-+ usec_t method_call_timeout;
- };
-
- /* For method calls we time-out at 25s, like in the D-Bus reference implementation */
-@@ -336,8 +339,7 @@ struct sd_bus {
-
- #define BUS_CONTAINER_DEPTH 128
-
--/* Defined by the specification as maximum size of an array in
-- * bytes */
-+/* Defined by the specification as maximum size of an array in bytes */
- #define BUS_ARRAY_MAX_SIZE 67108864
-
- #define BUS_FDS_MAX 1024
-@@ -388,8 +390,7 @@ void bus_close_io_fds(sd_bus *b);
- _slash = streq((prefix), "/") ? NULL : strrchr((prefix), '/'))
-
- /* If we are invoking callbacks of a bus object, ensure unreffing the
-- * bus from the callback doesn't destroy the object we are working
-- * on */
-+ * bus from the callback doesn't destroy the object we are working on */
- #define BUS_DONT_DESTROY(bus) \
- _cleanup_(sd_bus_unrefp) _unused_ sd_bus *_dont_destroy_##bus = sd_bus_ref(bus)
-
-diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
-index 8d92bc2002..dffe70a665 100644
---- a/src/libsystemd/sd-bus/bus-message.c
-+++ b/src/libsystemd/sd-bus/bus-message.c
-@@ -5809,8 +5809,11 @@ int bus_message_remarshal(sd_bus *bus, sd_bus_message **m) {
- return r;
-
- timeout = (*m)->timeout;
-- if (timeout == 0 && !((*m)->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED))
-- timeout = BUS_DEFAULT_TIMEOUT;
-+ if (timeout == 0 && !((*m)->header->flags & BUS_MESSAGE_NO_REPLY_EXPECTED)) {
-+ r = sd_bus_get_method_call_timeout(bus, &timeout);
-+ if (r < 0)
-+ return r;
-+ }
-
- r = sd_bus_message_seal(n, BUS_MESSAGE_COOKIE(*m), timeout);
- if (r < 0)
-diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
-index 089b51a6d9..945490ebf7 100644
---- a/src/libsystemd/sd-bus/sd-bus.c
-+++ b/src/libsystemd/sd-bus/sd-bus.c
-@@ -1611,8 +1611,11 @@ static int bus_seal_message(sd_bus *b, sd_bus_message *m, usec_t timeout) {
- return 0;
- }
-
-- if (timeout == 0)
-- timeout = BUS_DEFAULT_TIMEOUT;
-+ if (timeout == 0) {
-+ r = sd_bus_get_method_call_timeout(b, &timeout);
-+ if (r < 0)
-+ return r;
-+ }
-
- if (!m->sender && b->patch_sender) {
- r = sd_bus_message_set_sender(m, b->patch_sender);
-@@ -4075,3 +4078,36 @@ _public_ int sd_bus_get_n_queued_write(sd_bus *bus, uint64_t *ret) {
- *ret = bus->wqueue_size;
- return 0;
- }
-+
-+_public_ int sd_bus_set_method_call_timeout(sd_bus *bus, uint64_t usec) {
-+ assert_return(bus, -EINVAL);
-+ assert_return(bus = bus_resolve(bus), -ENOPKG);
-+
-+ bus->method_call_timeout = usec;
-+ return 0;
-+}
-+
-+_public_ int sd_bus_get_method_call_timeout(sd_bus *bus, uint64_t *ret) {
-+ const char *e;
-+ usec_t usec;
-+
-+ assert_return(bus, -EINVAL);
-+ assert_return(bus = bus_resolve(bus), -ENOPKG);
-+ assert_return(ret, -EINVAL);
-+
-+ if (bus->method_call_timeout != 0) {
-+ *ret = bus->method_call_timeout;
-+ return 0;
-+ }
-+
-+ e = secure_getenv("SYSTEMD_BUS_TIMEOUT");
-+ if (e && parse_sec(e, &usec) >= 0 && usec != 0) {
-+ /* Save the parsed value to avoid multiple parsing. To change the timeout value,
-+ * use sd_bus_set_method_call_timeout() instead of setenv(). */
-+ *ret = bus->method_call_timeout = usec;
-+ return 0;
-+ }
-+
-+ *ret = bus->method_call_timeout = BUS_DEFAULT_TIMEOUT;
-+ return 0;
-+}
-diff --git a/src/systemd/sd-bus.h b/src/systemd/sd-bus.h
-index 54c4b1ca83..c9fd254834 100644
---- a/src/systemd/sd-bus.h
-+++ b/src/systemd/sd-bus.h
-@@ -206,6 +206,9 @@ sd_event *sd_bus_get_event(sd_bus *bus);
- int sd_bus_get_n_queued_read(sd_bus *bus, uint64_t *ret);
- int sd_bus_get_n_queued_write(sd_bus *bus, uint64_t *ret);
-
-+int sd_bus_set_method_call_timeout(sd_bus *bus, uint64_t usec);
-+int sd_bus_get_method_call_timeout(sd_bus *bus, uint64_t *ret);
-+
- int sd_bus_add_filter(sd_bus *bus, sd_bus_slot **slot, sd_bus_message_handler_t callback, void *userdata);
- int sd_bus_add_match(sd_bus *bus, sd_bus_slot **slot, const char *match, sd_bus_message_handler_t callback, void *userdata);
- int sd_bus_add_match_async(sd_bus *bus, sd_bus_slot **slot, const char *match, sd_bus_message_handler_t callback, sd_bus_message_handler_t install_callback, void *userdata);
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch b/poky/meta/recipes-core/systemd/systemd/0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch
deleted file mode 100644
index 0538c7bbc..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From bfc4183ea995f1c211385d066cdb1fe9ce89f621 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 16 Dec 2018 20:53:38 -0800
-Subject: [PATCH 1/2] sysctl: Don't pass null directive argument to '%s'
-
-value pointer here is always NULL but subsequent use of that pointer
-with a %s format will always be NULL, printing p instead would be a
-valid string
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/11179]
- src/sysctl/sysctl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/sysctl/sysctl.c b/src/sysctl/sysctl.c
-index 1cfe51018..c67d79032 100644
---- a/src/sysctl/sysctl.c
-+++ b/src/sysctl/sysctl.c
-@@ -115,7 +115,7 @@ static int parse_file(OrderedHashmap *sysctl_options, const char *path, bool ign
-
- value = strchr(p, '=');
- if (!value) {
-- log_error("Line is not an assignment at '%s:%u': %s", path, c, value);
-+ log_error("Line is not an assignment at '%s:%u': %s", path, c, p);
-
- if (r == 0)
- r = -EINVAL;
---
-2.20.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-timesync-changes-type-of-drift_freq-to-int64_t.patch b/poky/meta/recipes-core/systemd/systemd/0001-timesync-changes-type-of-drift_freq-to-int64_t.patch
deleted file mode 100644
index 8d395c2fa..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-timesync-changes-type-of-drift_freq-to-int64_t.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-Backport patch to fix systemd build failure on x32.
-
-Upstream-Status: Backport [https://github.com/systemd/systemd/commit/75ca162]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 75ca1621db4647a4d62d7873cd6715e28fe0f9fa Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Sat, 23 Jun 2018 09:41:55 +0900
-Subject: [PATCH] timesync: changes type of drift_freq to int64_t
-
-drift_freq is used for storing timex.freq, and is a 64bit integer.
-To support x32 ABI, this changes the type of drift_freq to int64_t.
-
-Fixes #9387.
----
- src/timesync/timesyncd-manager.c | 2 +-
- src/timesync/timesyncd-manager.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/timesync/timesyncd-manager.c b/src/timesync/timesyncd-manager.c
-index 2b731af9e..404a2b189 100644
---- a/src/timesync/timesyncd-manager.c
-+++ b/src/timesync/timesyncd-manager.c
-@@ -604,7 +604,7 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
- m->dest_time = *recv_time;
- m->spike = spike;
-
-- log_debug("interval/delta/delay/jitter/drift " USEC_FMT "s/%+.3fs/%.3fs/%.3fs/%+"PRI_TIMEX"ppm%s",
-+ log_debug("interval/delta/delay/jitter/drift " USEC_FMT "s/%+.3fs/%.3fs/%.3fs/%+"PRIi64"ppm%s",
- m->poll_interval_usec / USEC_PER_SEC, offset, delay, m->samples_jitter, m->drift_freq / 65536,
- spike ? " (ignored)" : "");
-
-diff --git a/src/timesync/timesyncd-manager.h b/src/timesync/timesyncd-manager.h
-index d8d97cc1e..18347416d 100644
---- a/src/timesync/timesyncd-manager.h
-+++ b/src/timesync/timesyncd-manager.h
-@@ -79,7 +79,7 @@ struct Manager {
- /* last change */
- bool jumped;
- bool sync;
-- long drift_freq;
-+ int64_t drift_freq;
-
- /* watch for time changes */
- sd_event_source *event_clock_watch;
---
-2.17.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0002-core-Fix-use-after-free-case-in-load_from_path.patch b/poky/meta/recipes-core/systemd/systemd/0002-core-Fix-use-after-free-case-in-load_from_path.patch
deleted file mode 100644
index 4da96e292..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0002-core-Fix-use-after-free-case-in-load_from_path.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From cb67aebd63d9f0077cbf3e769f0b223c5bba20ac Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 16 Dec 2018 20:58:35 -0800
-Subject: [PATCH 2/2] core: Fix use after free case in load_from_path()
-
-ensure that mfree() on filename is called after the logging function
-which uses the string pointed by filename
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/11179]
- src/core/load-fragment.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c
-index fc5644f48..da585786e 100644
---- a/src/core/load-fragment.c
-+++ b/src/core/load-fragment.c
-@@ -4531,7 +4531,6 @@ static int load_from_path(Unit *u, const char *path) {
- r = open_follow(&filename, &f, symlink_names, &id);
- if (r >= 0)
- break;
-- filename = mfree(filename);
-
- /* ENOENT means that the file is missing or is a dangling symlink.
- * ENOTDIR means that one of paths we expect to be is a directory
-@@ -4540,9 +4539,12 @@ static int load_from_path(Unit *u, const char *path) {
- */
- if (r == -EACCES)
- log_debug_errno(r, "Cannot access \"%s\": %m", filename);
-- else if (!IN_SET(r, -ENOENT, -ENOTDIR))
-+ else if (!IN_SET(r, -ENOENT, -ENOTDIR)) {
-+ filename = mfree(filename);
- return r;
-+ }
-
-+ filename = mfree(filename);
- /* Empty the symlink names for the next run */
- set_clear_free(symlink_names);
- }
---
-2.20.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch b/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
index 8e0d669e8..36e0699da 100644
--- a/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
@@ -1,31 +1,100 @@
-From d74a4de6daea5a511c2b5636bbb552c15b3a4ad9 Mon Sep 17 00:00:00 2001
-From: Emil Renner Berthing <systemd@esmil.dk>
-Date: Thu, 18 Sep 2014 15:24:56 +0200
-Subject: [PATCH] don't use glibc-specific qsort_r
+From 1eb84534dea05d41afed1d898cba212ad7d310dd Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 13:41:41 +0800
+Subject: [PATCH 02/24] don't use glibc-specific qsort_r
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+[Rebased for v241]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
- src/basic/format-table.c | 27 ++++++++++++++++-----------
- src/basic/util.h | 7 -------
- src/hwdb/hwdb.c | 18 +++++++++++-------
- src/udev/udevadm-hwdb.c | 16 ++++++++++------
- 4 files changed, 37 insertions(+), 31 deletions(-)
+ src/basic/util.h | 14 --------------
+ src/libsystemd/sd-hwdb/hwdb-util.c | 19 ++++++++++++++-----
+ src/shared/format-table.c | 36 ++++++++++++++++++++++++------------
+ 3 files changed, 38 insertions(+), 31 deletions(-)
-diff --git a/src/basic/format-table.c b/src/basic/format-table.c
-index 94e796d1ca..9b3f35c29a 100644
---- a/src/basic/format-table.c
-+++ b/src/basic/format-table.c
-@@ -745,29 +745,29 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
+diff --git a/src/basic/util.h b/src/basic/util.h
+index dc33d66..9f6a6ce 100644
+--- a/src/basic/util.h
++++ b/src/basic/util.h
+@@ -116,20 +116,6 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn
+ qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
+ })
+
+-static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) {
+- if (nmemb <= 1)
+- return;
+-
+- assert(base);
+- qsort_r(base, nmemb, size, compar, userdata);
+-}
+-
+-#define typesafe_qsort_r(p, n, func, userdata) \
+- ({ \
+- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
+- qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \
+- })
+-
+ /* Normal memcpy requires src to be nonnull. We do nothing if n is 0. */
+ static inline void memcpy_safe(void *dst, const void *src, size_t n) {
+ if (n == 0)
+diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c
+index f852967..b570ce1 100644
+--- a/src/libsystemd/sd-hwdb/hwdb-util.c
++++ b/src/libsystemd/sd-hwdb/hwdb-util.c
+@@ -126,9 +126,13 @@ static void trie_free(struct trie *trie) {
+
+ DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
+
+-static int trie_values_cmp(const struct trie_value_entry *a, const struct trie_value_entry *b, struct trie *trie) {
+- return strcmp(trie->strings->buf + a->key_off,
+- trie->strings->buf + b->key_off);
++static struct trie *trie_node_add_value_trie;
++static int trie_values_cmp(const void *v1, const void *v2) {
++ const struct trie_value_entry *a = v1;
++ const struct trie_value_entry *b = v2;
++
++ return strcmp(trie_node_add_value_trie->strings->buf + a->key_off,
++ trie_node_add_value_trie->strings->buf + b->key_off);
+ }
+
+ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
+@@ -156,7 +160,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
+ .value_off = v,
+ };
+
+- val = typesafe_bsearch_r(&search, node->values, node->values_count, trie_values_cmp, trie);
++ trie_node_add_value_trie = trie;
++ val = bsearch(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
++ trie_node_add_value_trie = NULL;
++
+ if (val) {
+ /* At this point we have 2 identical properties on the same match-string.
+ * Since we process files in order, we just replace the previous value. */
+@@ -182,7 +189,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
+ .line_number = line_number,
+ };
+ node->values_count++;
+- typesafe_qsort_r(node->values, node->values_count, trie_values_cmp, trie);
++ trie_node_add_value_trie = trie;
++ qsort(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
++ trie_node_add_value_trie = NULL;
return 0;
}
--static int table_data_compare(const void *x, const void *y, void *userdata) {
+diff --git a/src/shared/format-table.c b/src/shared/format-table.c
+index 7d52980..75dbfe1 100644
+--- a/src/shared/format-table.c
++++ b/src/shared/format-table.c
+@@ -848,31 +848,33 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
+ return CMP(index_a, index_b);
+ }
+
+-static int table_data_compare(const size_t *a, const size_t *b, Table *t) {
+static Table *user_table;
+static int table_data_compare(const void *x, const void *y) {
- const size_t *a = x, *b = y;
-- Table *t = userdata;
++ const size_t *a = x, *b=y;
size_t i;
int r;
@@ -57,11 +126,16 @@ index 94e796d1ca..9b3f35c29a 100644
r = cell_data_compare(d, *a, dd, *b);
if (r != 0)
-@@ -960,7 +960,12 @@ int table_print(Table *t, FILE *f) {
+- return t->reverse_map && t->reverse_map[t->sort_map[i]] ? -r : r;
++ return user_table->reverse_map && user_table->reverse_map[user_table->sort_map[i]] ? -r : r;
+ }
+
+ /* Order identical lines by the order there were originally added in */
+@@ -1105,7 +1107,12 @@ int table_print(Table *t, FILE *f) {
for (i = 0; i < n_rows; i++)
sorted[i] = i * t->n_columns;
-- qsort_r_safe(sorted, n_rows, sizeof(size_t), table_data_compare, t);
+- typesafe_qsort_r(sorted, n_rows, table_data_compare, t);
+ if (n_rows <= 1)
+ return 0;
+ assert(sorted);
@@ -71,113 +145,20 @@ index 94e796d1ca..9b3f35c29a 100644
}
if (t->display_map)
-diff --git a/src/basic/util.h b/src/basic/util.h
-index 9699d228f9..40eaf518cb 100644
---- a/src/basic/util.h
-+++ b/src/basic/util.h
-@@ -105,13 +105,6 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, comparison_
- qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
- })
-
--static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, int (*compar)(const void*, const void*, void*), void *userdata) {
-- if (nmemb <= 1)
-- return;
--
-- assert(base);
-- qsort_r(base, nmemb, size, compar, userdata);
--}
-
- /**
- * Normal memcpy requires src to be nonnull. We do nothing if n is 0.
-diff --git a/src/hwdb/hwdb.c b/src/hwdb/hwdb.c
-index 317cad8a67..701d59a1eb 100644
---- a/src/hwdb/hwdb.c
-+++ b/src/hwdb/hwdb.c
-@@ -135,13 +135,12 @@ static void trie_free(struct trie *trie) {
-
- DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
-
--static int trie_values_cmp(const void *v1, const void *v2, void *arg) {
-+static struct trie *trie_node_add_value_trie;
-+static int trie_values_cmp(const void *v1, const void *v2) {
- const struct trie_value_entry *val1 = v1;
- const struct trie_value_entry *val2 = v2;
-- struct trie *trie = arg;
--
-- return strcmp(trie->strings->buf + val1->key_off,
-- trie->strings->buf + val2->key_off);
-+ return strcmp(trie_node_add_value_trie->strings->buf + val1->key_off,
-+ trie_node_add_value_trie->strings->buf + val2->key_off);
- }
-
- static int trie_node_add_value(struct trie *trie, struct trie_node *node,
-@@ -166,7 +165,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
- .value_off = v,
- };
-
-- val = xbsearch_r(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp, trie);
-+ trie_node_add_value_trie = trie;
-+ val = bsearch(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
-+ trie_node_add_value_trie = NULL;
-+
- if (val) {
- /* At this point we have 2 identical properties on the same match-string.
- * Since we process files in order, we just replace the previous value.
-@@ -191,7 +193,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
- node->values[node->values_count].file_priority = file_priority;
- node->values[node->values_count].line_number = line_number;
- node->values_count++;
-- qsort_r(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp, trie);
-+ trie_node_add_value_trie = trie;
-+ qsort(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
-+ trie_node_add_value_trie = NULL;
- return 0;
- }
-
-diff --git a/src/udev/udevadm-hwdb.c b/src/udev/udevadm-hwdb.c
-index 02408a4285..491d367d12 100644
---- a/src/udev/udevadm-hwdb.c
-+++ b/src/udev/udevadm-hwdb.c
-@@ -114,13 +114,13 @@ static void trie_node_cleanup(struct trie_node *node) {
- free(node);
- }
-
--static int trie_values_cmp(const void *v1, const void *v2, void *arg) {
-+static struct trie *trie_node_add_value_trie;
-+static int trie_values_cmp(const void *v1, const void *v2) {
- const struct trie_value_entry *val1 = v1;
- const struct trie_value_entry *val2 = v2;
-- struct trie *trie = arg;
-
-- return strcmp(trie->strings->buf + val1->key_off,
-- trie->strings->buf + val2->key_off);
-+ return strcmp(trie_node_add_value_trie->strings->buf + val1->key_off,
-+ trie_node_add_value_trie->strings->buf + val2->key_off);
- }
-
- static int trie_node_add_value(struct trie *trie, struct trie_node *node,
-@@ -141,7 +141,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
- .value_off = v,
- };
+@@ -1532,7 +1539,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
+ for (i = 0; i < n_rows; i++)
+ sorted[i] = i * t->n_columns;
-- val = xbsearch_r(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp, trie);
-+ trie_node_add_value_trie = trie;
-+ val = bsearch(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
-+ trie_node_add_value_trie = NULL;
- if (val) {
- /* replace existing earlier key with new value */
- val->value_off = v;
-@@ -158,7 +160,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
- node->values[node->values_count].key_off = k;
- node->values[node->values_count].value_off = v;
- node->values_count++;
-- qsort_r(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp, trie);
-+ trie_node_add_value_trie = trie;
-+ qsort(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
-+ trie_node_add_value_trie = NULL;
- return 0;
- }
+- typesafe_qsort_r(sorted, n_rows, table_data_compare, t);
++ if (n_rows <= 1)
++ return 0;
++ assert(sorted);
++ user_table = t;
++ qsort(sorted, n_rows, sizeof(size_t), table_data_compare);
++ user_table = NULL;
+ }
+ if (t->display_map)
--
-2.18.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch b/poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
index 1d7f5230a..df5506cc2 100644
--- a/poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
@@ -1,7 +1,7 @@
-From 6e62be87a2722fbe531310a1b052c1301bdf06fb Mon Sep 17 00:00:00 2001
+From bdbafe18c3bf99b3b691cd52b9ccff60f313892d Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 27 Jun 2018 16:09:24 +0800
-Subject: [PATCH 2/9] use lnr wrapper instead of looking for --relative option
+Subject: [PATCH 2/5] use lnr wrapper instead of looking for --relative option
for ln
Remove file manually to avoid the 'File Exists' error when creating
@@ -18,10 +18,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/meson.build b/meson.build
-index 04331dd41..6d5edcb4e 100644
+index 56c98b9..3386546 100644
--- a/meson.build
+++ b/meson.build
-@@ -558,10 +558,6 @@ endforeach
+@@ -630,10 +630,6 @@ endforeach
conf.set_quoted('TELINIT', get_option('telinit-path'))
@@ -33,7 +33,7 @@ index 04331dd41..6d5edcb4e 100644
gperf = find_program('gperf')
diff --git a/tools/meson-make-symlink.sh b/tools/meson-make-symlink.sh
-index 501cd43d4..f4e4ac9ac 100755
+index 501cd43..f4e4ac9 100755
--- a/tools/meson-make-symlink.sh
+++ b/tools/meson-make-symlink.sh
@@ -8,5 +8,6 @@ mkdir -vp "$(dirname "${DESTDIR:-}$2")"
@@ -45,7 +45,7 @@ index 501cd43d4..f4e4ac9ac 100755
+ lnr "${DESTDIR:-}$1" "${DESTDIR:-}$2"
fi
diff --git a/units/meson-add-wants.sh b/units/meson-add-wants.sh
-index 70f7172ae..a42666aac 100755
+index e2b2603..210d604 100755
--- a/units/meson-add-wants.sh
+++ b/units/meson-add-wants.sh
@@ -25,4 +25,9 @@ case "$target" in
@@ -60,5 +60,5 @@ index 70f7172ae..a42666aac 100755
+ lnr "$unitpath" "$dir"
+fi
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch b/poky/meta/recipes-core/systemd/systemd/0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch
deleted file mode 100644
index 115fb33c3..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From e965e748c7030df0709e63128db2f023540a06ba Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 12 Sep 2015 18:53:31 +0000
-Subject: [PATCH 03/19] comparison_fn_t is glibc specific, use raw signature in
- function pointer
-
-make it work with musl where comparison_fn_t is not provided
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/basic/util.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/basic/util.h b/src/basic/util.h
-index 40eaf518c..c58392397 100644
---- a/src/basic/util.h
-+++ b/src/basic/util.h
-@@ -77,7 +77,7 @@ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
- * that only if nmemb > 0.
- */
- static inline void* bsearch_safe(const void *key, const void *base,
-- size_t nmemb, size_t size, comparison_fn_t compar) {
-+ size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
- if (nmemb <= 0)
- return NULL;
-
-@@ -89,7 +89,7 @@ static inline void* bsearch_safe(const void *key, const void *base,
- * Normal qsort requires base to be nonnull. Here were require
- * that only if nmemb > 0.
- */
--static inline void qsort_safe(void *base, size_t nmemb, size_t size, comparison_fn_t compar) {
-+static inline void qsort_safe(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
- if (nmemb <= 1)
- return;
-
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0003-implment-systemd-sysv-install-for-OE.patch b/poky/meta/recipes-core/systemd/systemd/0003-implment-systemd-sysv-install-for-OE.patch
index 6c595ae73..6695d5680 100644
--- a/poky/meta/recipes-core/systemd/systemd/0003-implment-systemd-sysv-install-for-OE.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0003-implment-systemd-sysv-install-for-OE.patch
@@ -1,7 +1,7 @@
-From 0fcb6e646401205e17cc6c129441a49023c62cef Mon Sep 17 00:00:00 2001
+From 47864989388bcd04d647ecf618ad7e260399dbb6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 5 Sep 2015 06:31:47 +0000
-Subject: [PATCH 3/9] implment systemd-sysv-install for OE
+Subject: [PATCH 3/5] implment systemd-sysv-install for OE
Use update-rc.d for enabling/disabling and status command
to check the status of the sysv service
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/systemctl/systemd-sysv-install.SKELETON b/src/systemctl/systemd-sysv-install.SKELETON
-index 8c16cf999..9f078a121 100755
+index 8c16cf9..9f078a1 100755
--- a/src/systemctl/systemd-sysv-install.SKELETON
+++ b/src/systemctl/systemd-sysv-install.SKELETON
@@ -32,17 +32,17 @@ case "$1" in
@@ -39,5 +39,5 @@ index 8c16cf999..9f078a121 100755
*)
usage ;;
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
new file mode 100644
index 000000000..5246b4b26
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
@@ -0,0 +1,61 @@
+From a9421d55102fc84f77f7c21a2479fcd00652b896 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 13:55:12 +0800
+Subject: [PATCH 03/24] missing_type.h: add __compare_fn_t and comparison_fn_t
+
+Make it work with musl where comparison_fn_t and __compare_fn_t
+is not provided.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/missing_type.h | 9 +++++++++
+ src/basic/util.h | 1 +
+ src/journal/catalog.c | 1 +
+ 3 files changed, 11 insertions(+)
+
+diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
+index bf8a6ca..c487e65 100644
+--- a/src/basic/missing_type.h
++++ b/src/basic/missing_type.h
+@@ -10,3 +10,12 @@
+ #if !HAVE_CHAR16_T
+ #define char16_t uint16_t
+ #endif
++
++#ifndef __GLIBC__
++typedef int (*comparison_fn_t)(const void *, const void *);
++#endif
++
++#ifndef __COMPAR_FN_T
++#define __COMPAR_FN_T
++typedef int (*__compar_fn_t)(const void *, const void *);
++#endif
+diff --git a/src/basic/util.h b/src/basic/util.h
+index 9f6a6ce..2c5dc32 100644
+--- a/src/basic/util.h
++++ b/src/basic/util.h
+@@ -26,6 +26,7 @@
+ #include "format-util.h"
+ #include "macro.h"
+ #include "time-util.h"
++#include "missing.h"
+
+ size_t page_size(void) _pure_;
+ #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
+diff --git a/src/journal/catalog.c b/src/journal/catalog.c
+index 4062f12..034e00c 100644
+--- a/src/journal/catalog.c
++++ b/src/journal/catalog.c
+@@ -26,6 +26,7 @@
+ #include "strv.h"
+ #include "tmpfile-util.h"
+ #include "util.h"
++#include "missing.h"
+
+ const char * const catalog_file_dirs[] = {
+ "/usr/local/lib/systemd/catalog/",
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
index 7652a2d8c..bb738e22c 100644
--- a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
@@ -1,7 +1,7 @@
-From 582af7ec13131dfcc620ed81de7b211914c4cb03 Mon Sep 17 00:00:00 2001
+From 7bcf3b166694090497a0acd2c5299e4e04fcc9b6 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 29 Jun 2018 13:43:49 +0800
-Subject: [PATCH 04/19] add fallback parse_printf_format implementation
+Date: Mon, 25 Feb 2019 14:04:21 +0800
+Subject: [PATCH 04/24] add fallback parse_printf_format implementation
Upstream-Status: Inappropriate [musl specific]
@@ -20,25 +20,25 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
create mode 100644 src/basic/parse-printf-format.h
diff --git a/meson.build b/meson.build
-index e045b9224..8c16bc979 100644
+index 3386546..44b24ee 100644
--- a/meson.build
+++ b/meson.build
-@@ -598,6 +598,7 @@ foreach header : ['crypt.h',
- 'linux/btrfs.h',
+@@ -667,6 +667,7 @@ foreach header : ['crypt.h',
'linux/memfd.h',
'linux/vm_sockets.h',
+ 'linux/can/vxcan.h',
+ 'printf.h',
'sys/auxv.h',
'valgrind/memcheck.h',
'valgrind/valgrind.h',
diff --git a/src/basic/meson.build b/src/basic/meson.build
-index 31625b178..0c27528e7 100644
+index e5852f3..2192a0c 100644
--- a/src/basic/meson.build
+++ b/src/basic/meson.build
-@@ -302,6 +302,11 @@ foreach item : [['af', af_list_txt, 'af', ''],
+@@ -284,6 +284,11 @@ foreach item : [['af', af_list_txt, 'af', ''],
endforeach
- basic_sources += [missing_h] + generated_gperf_headers
+ basic_sources += generated_gperf_headers
+
+if conf.get('HAVE_PRINTF_H') != 1
+ basic_sources += [files('parse-printf-format.c')]
@@ -49,7 +49,7 @@ index 31625b178..0c27528e7 100644
'gcrypt-util.h')
diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
new file mode 100644
-index 000000000..49437e544
+index 0000000..49437e5
--- /dev/null
+++ b/src/basic/parse-printf-format.c
@@ -0,0 +1,273 @@
@@ -328,7 +328,7 @@ index 000000000..49437e544
+}
diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h
new file mode 100644
-index 000000000..47be7522d
+index 0000000..47be752
--- /dev/null
+++ b/src/basic/parse-printf-format.h
@@ -0,0 +1,57 @@
@@ -390,10 +390,10 @@ index 000000000..47be7522d
+
+#endif /* HAVE_PRINTF_H */
diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h
-index 73c03274c..30192cd71 100644
+index dc67b6e..cf8d514 100644
--- a/src/basic/stdio-util.h
+++ b/src/basic/stdio-util.h
-@@ -1,12 +1,12 @@
+@@ -1,13 +1,13 @@
/* SPDX-License-Identifier: LGPL-2.1+ */
#pragma once
@@ -403,12 +403,13 @@ index 73c03274c..30192cd71 100644
#include <sys/types.h>
#include "macro.h"
+ #include "util.h"
+#include "parse-printf-format.h"
#define snprintf_ok(buf, len, fmt, ...) \
((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len))
diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
-index a0621524a..65bcbcd2e 100644
+index 8618454..3fea912 100644
--- a/src/journal/journal-send.c
+++ b/src/journal/journal-send.c
@@ -2,7 +2,6 @@
@@ -420,13 +421,13 @@ index a0621524a..65bcbcd2e 100644
#include <sys/socket.h>
#include <sys/un.h>
@@ -21,6 +20,7 @@
- #include "stdio-util.h"
#include "string-util.h"
+ #include "tmpfile-util.h"
#include "util.h"
+#include "parse-printf-format.h"
#define SNDBUF_SIZE (8*1024*1024)
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch b/poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch
index 7e37cbc2c..738f8eb7b 100644
--- a/poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch
@@ -1,7 +1,7 @@
-From 5d8128f3832fd11fd046d1d1ad86c4ee7bc1dff0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 9 Nov 2016 19:41:13 -0800
-Subject: [PATCH 4/9] rules: whitelist hd* devices
+From dc0a6a9fe4da9738efaba942233ad39da625a918 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 21 Feb 2019 16:28:21 +0800
+Subject: [PATCH 4/5] rules: whitelist hd* devices
qemu by default emulates IDE and the linux-yocto kernel(s) use
CONFIG_IDE instead of the more modern libsata, so disks appear as
@@ -11,23 +11,25 @@ Upstream-Status: Denied [https://github.com/systemd/systemd/pull/1276]
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+[rebased for systemd 241]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
rules/60-persistent-storage.rules | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
-index 8ddb7577c..811e948ad 100644
+index 1d8880e..e53c8ea 100644
--- a/rules/60-persistent-storage.rules
+++ b/rules/60-persistent-storage.rules
@@ -7,7 +7,7 @@ ACTION=="remove", GOTO="persistent_storage_end"
ENV{UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG}=="1", GOTO="persistent_storage_end"
SUBSYSTEM!="block", GOTO="persistent_storage_end"
--KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*", GOTO="persistent_storage_end"
-+KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*|hd*", GOTO="persistent_storage_end"
+-KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*|zd*", GOTO="persistent_storage_end"
++KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*|zd*|hd*", GOTO="persistent_storage_end"
# ignore partitions that span the entire disk
TEST=="whole_disk", GOTO="persistent_storage_end"
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0005-Make-root-s-home-directory-configurable.patch b/poky/meta/recipes-core/systemd/systemd/0005-Make-root-s-home-directory-configurable.patch
deleted file mode 100644
index c13708728..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0005-Make-root-s-home-directory-configurable.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 8b82663aeeedf9ca58e3b97116b4c4da5229e0f5 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Wed, 27 Jun 2018 16:46:45 +0800
-Subject: [PATCH 5/9] Make root's home directory configurable
-
-OpenEmbedded has a configurable home directory for root. Allow
-systemd to be built using its idea of what root's home directory
-should be.
-
-Upstream-Status: Denied
-Upstream wants to have a unified hierarchy where everyone is
-using the same root folder.
-https://github.com/systemd/systemd/issues/541
-
-Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- meson.build | 7 +++++++
- meson_options.txt | 2 ++
- 2 files changed, 9 insertions(+)
-
-diff --git a/meson.build b/meson.build
-index 6d5edcb4e..323146fe1 100644
---- a/meson.build
-+++ b/meson.build
-@@ -89,6 +89,11 @@ if rootlibdir == ''
- rootlibdir = join_paths(rootprefixdir, libdir.split('/')[-1])
- endif
-
-+roothomedir = get_option('roothomedir')
-+if roothomedir == ''
-+ roothomedir = '/root'
-+endif
-+
- # Dirs of external packages
- pkgconfigdatadir = join_paths(datadir, 'pkgconfig')
- pkgconfiglibdir = join_paths(libdir, 'pkgconfig')
-@@ -210,6 +215,7 @@ conf.set_quoted('UDEVLIBEXECDIR', udevlibexecdir)
- conf.set_quoted('POLKIT_AGENT_BINARY_PATH', join_paths(bindir, 'pkttyagent'))
- conf.set_quoted('LIBDIR', libdir)
- conf.set_quoted('ROOTLIBDIR', rootlibdir)
-+conf.set_quoted('ROOTHOMEDIR', roothomedir)
- conf.set_quoted('ROOTLIBEXECDIR', rootlibexecdir)
- conf.set_quoted('BOOTLIBDIR', bootlibdir)
- conf.set_quoted('SYSTEMD_PULL_PATH', join_paths(rootlibexecdir, 'systemd-pull'))
-@@ -228,6 +234,7 @@ substs.set('prefix', prefixdir)
- substs.set('exec_prefix', prefixdir)
- substs.set('libdir', libdir)
- substs.set('rootlibdir', rootlibdir)
-+substs.set('roothomedir', roothomedir)
- substs.set('includedir', includedir)
- substs.set('pkgsysconfdir', pkgsysconfdir)
- substs.set('bindir', bindir)
-diff --git a/meson_options.txt b/meson_options.txt
-index 16c1f2b2f..aa9a33368 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -9,6 +9,8 @@ option('rootlibdir', type : 'string',
- description : '''[/usr]/lib/x86_64-linux-gnu or such''')
- option('rootprefix', type : 'string',
- description : '''override the root prefix''')
-+option('roothomedir', type : 'string',
-+ description : '''override the root home directory''')
- option('link-udev-shared', type : 'boolean',
- description : 'link systemd-udev and its helpers to libsystemd-shared.so')
- option('link-systemctl-shared', type: 'boolean',
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch b/poky/meta/recipes-core/systemd/systemd/0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch
deleted file mode 100644
index 6d5faf5fe..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a2c4d46944892174930135672508389a04e191f0 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 29 Jun 2018 13:53:29 +0800
-Subject: [PATCH 05/19] include gshadow only if ENABLE_GSHADOW is 1
-
-Upstream-Status: Inappropriate [musl]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/user-util.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/basic/user-util.h b/src/basic/user-util.h
-index b74f16885..f9c1e29c4 100644
---- a/src/basic/user-util.h
-+++ b/src/basic/user-util.h
-@@ -2,7 +2,9 @@
- #pragma once
-
- #include <grp.h>
-+#if ENABLE_GSHADOW
- #include <gshadow.h>
-+#endif
- #include <pwd.h>
- #include <shadow.h>
- #include <stdbool.h>
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0007-rules-watch-metadata-changes-in-ide-devices.patch b/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch
index a5f65e66b..2123052ff 100644
--- a/poky/meta/recipes-core/systemd/systemd/0007-rules-watch-metadata-changes-in-ide-devices.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch
@@ -1,7 +1,7 @@
-From 9302b72e5e69512aaa7106197b00c55baeb35b3c Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 17 Nov 2017 09:46:00 +0800
-Subject: [PATCH 7/9] rules: watch metadata changes in ide devices
+From d1bccc721dd8f43fee29c5df0e9b78345e69f4b6 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 21 Feb 2019 16:38:38 +0800
+Subject: [PATCH 5/5] rules: watch metadata changes in ide devices
Formatting IDE storage does not trigger "change" uevents. As a result
clients using udev API don't get any updates afterwards and get outdated
@@ -24,20 +24,22 @@ CONFIG_IDE instead of the more modern libsata, so disks appear as
is deprecated.
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+[rebased for systemd 241]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
rules/60-block.rules | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rules/60-block.rules b/rules/60-block.rules
-index 343fc06f8..b5237dac4 100644
+index a1458e9..3ba4b6b4 100644
--- a/rules/60-block.rules
+++ b/rules/60-block.rules
@@ -8,4 +8,4 @@ ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_
ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change"
# watch metadata changes, caused by tools closing the device node which was opened for writing
--ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*", OPTIONS+="watch"
-+ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|hd*", OPTIONS+="watch"
+-ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*", OPTIONS+="watch"
++ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*|hd*", OPTIONS+="watch"
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0006-src-basic-missing.h-check-for-missing-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
index 107a79439..f20897b5f 100644
--- a/poky/meta/recipes-core/systemd/systemd/0006-src-basic-missing.h-check-for-missing-strndupa.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -1,7 +1,7 @@
-From 03fd19fc87573276e0d359260c8fe591f5f0216a Mon Sep 17 00:00:00 2001
+From 399fd3eda3045636a70da438a0fd1406cc332ed1 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 29 Jun 2018 16:34:50 +0800
-Subject: [PATCH 06/19] src/basic/missing.h: check for missing strndupa
+Date: Mon, 25 Feb 2019 14:18:21 +0800
+Subject: [PATCH 05/24] src/basic/missing.h: check for missing strndupa
include missing.h for definition of strndupa
@@ -10,20 +10,20 @@ Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
- meson.build | 1 +
- src/basic/missing.h | 11 +++++++++++
- src/basic/mkdir.c | 1 +
- src/basic/pager.c | 1 +
- src/basic/parse-util.c | 1 +
- src/basic/procfs-util.c | 1 +
- src/shared/uid-range.c | 1 +
- 7 files changed, 17 insertions(+)
+ meson.build | 1 +
+ src/basic/missing_stdlib.h | 12 ++++++++++++
+ src/basic/mkdir.c | 1 +
+ src/basic/parse-util.c | 1 +
+ src/basic/procfs-util.c | 1 +
+ src/shared/pager.c | 1 +
+ src/shared/uid-range.c | 1 +
+ 7 files changed, 18 insertions(+)
diff --git a/meson.build b/meson.build
-index 8c16bc979..a734a295c 100644
+index 44b24ee..70fb218 100644
--- a/meson.build
+++ b/meson.build
-@@ -503,6 +503,7 @@ foreach ident : [
+@@ -558,6 +558,7 @@ foreach ident : [
#include <unistd.h>'''],
['explicit_bzero' , '''#include <string.h>'''],
['reallocarray', '''#include <malloc.h>'''],
@@ -31,14 +31,16 @@ index 8c16bc979..a734a295c 100644
]
have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
-diff --git a/src/basic/missing.h b/src/basic/missing.h
-index 0e33abb9f..02397f1b6 100644
---- a/src/basic/missing.h
-+++ b/src/basic/missing.h
-@@ -1184,6 +1184,17 @@ struct input_mask {
- typedef int32_t key_serial_t;
+diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
+index c0ffe86..d50274b 100644
+--- a/src/basic/missing_stdlib.h
++++ b/src/basic/missing_stdlib.h
+@@ -11,3 +11,15 @@
+ # define secure_getenv getenv
+ # endif
#endif
-
++
++/* string.h */
+#if ! HAVE_STRNDUPA
+#define strndupa(s, n) \
+ ({ \
@@ -49,12 +51,8 @@ index 0e33abb9f..02397f1b6 100644
+ (char *)memcpy(__new, __old, __len); \
+ })
+#endif
-+
- #ifndef KEYCTL_JOIN_SESSION_KEYRING
- #define KEYCTL_JOIN_SESSION_KEYRING 1
- #endif
diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
-index 6ab1b4422..77c3e0863 100644
+index 4bb65d5..3038ab9 100644
--- a/src/basic/mkdir.c
+++ b/src/basic/mkdir.c
@@ -13,6 +13,7 @@
@@ -65,32 +63,20 @@ index 6ab1b4422..77c3e0863 100644
int mkdir_safe_internal(const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags, mkdir_func_t _mkdir) {
struct stat st;
-diff --git a/src/basic/pager.c b/src/basic/pager.c
-index f24126111..8223bff02 100644
---- a/src/basic/pager.c
-+++ b/src/basic/pager.c
-@@ -21,6 +21,7 @@
- #include "string-util.h"
- #include "strv.h"
- #include "terminal-util.h"
-+#include "missing.h"
-
- static pid_t pager_pid = 0;
-
diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
-index 6becf8587..52576f536 100644
+index 87724af..d9c53bc 100644
--- a/src/basic/parse-util.c
+++ b/src/basic/parse-util.c
-@@ -17,6 +17,7 @@
- #include "parse-util.h"
+@@ -19,6 +19,7 @@
#include "process-util.h"
+ #include "stat-util.h"
#include "string-util.h"
+#include "missing.h"
int parse_boolean(const char *v) {
- assert(v);
+ if (!v)
diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
-index a159e344b..ebc427d6b 100644
+index 7aaf95b..42ce53d 100644
--- a/src/basic/procfs-util.c
+++ b/src/basic/procfs-util.c
@@ -11,6 +11,7 @@
@@ -101,18 +87,30 @@ index a159e344b..ebc427d6b 100644
int procfs_tasks_get_limit(uint64_t *ret) {
_cleanup_free_ char *value = NULL;
+diff --git a/src/shared/pager.c b/src/shared/pager.c
+index bf2597e..fa9e321 100644
+--- a/src/shared/pager.c
++++ b/src/shared/pager.c
+@@ -24,6 +24,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "terminal-util.h"
++#include "missing.h"
+
+ static pid_t pager_pid = 0;
+
diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
-index 434ce6ff4..37093ab7b 100644
+index 5fa7bd2..9c63b9e 100644
--- a/src/shared/uid-range.c
+++ b/src/shared/uid-range.c
-@@ -8,6 +8,7 @@
- #include "macro.h"
+@@ -9,6 +9,7 @@
#include "uid-range.h"
#include "user-util.h"
+ #include "util.h"
+#include "missing.h"
static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
assert(range);
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0007-Include-netinet-if_ether.h.patch b/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
index 2df8cf95f..b41f6c7be 100644
--- a/poky/meta/recipes-core/systemd/systemd/0007-Include-netinet-if_ether.h.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
@@ -1,7 +1,7 @@
-From aab90d0dfa934d33879eaec1a878e93b201d33f1 Mon Sep 17 00:00:00 2001
+From 67a988ae82c776d11be76de7180d50ea027ac442 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 29 Jun 2018 16:44:43 +0800
-Subject: [PATCH 07/19] Include netinet/if_ether.h
+Date: Mon, 25 Feb 2019 14:24:20 +0800
+Subject: [PATCH 06/24] Include netinet/if_ether.h
Fixes
/path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
@@ -22,7 +22,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
6 files changed, 6 insertions(+)
diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
-index c93fe9cb4..2013d06e1 100644
+index 9dcd3f2..e23ff4c 100644
--- a/src/libsystemd/sd-netlink/netlink-types.c
+++ b/src/libsystemd/sd-netlink/netlink-types.c
@@ -3,6 +3,7 @@
@@ -34,7 +34,7 @@ index c93fe9cb4..2013d06e1 100644
#include <linux/rtnetlink.h>
#include <linux/genetlink.h>
diff --git a/src/network/netdev/tuntap.c b/src/network/netdev/tuntap.c
-index 21fb7ab06..0afe5170c 100644
+index 951138d..1ad499d 100644
--- a/src/network/netdev/tuntap.c
+++ b/src/network/netdev/tuntap.c
@@ -2,6 +2,7 @@
@@ -46,7 +46,7 @@ index 21fb7ab06..0afe5170c 100644
#include <net/if.h>
#include <netinet/if_ether.h>
diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
-index 8e8a618e2..52d523a67 100644
+index 8377623..132af60 100644
--- a/src/network/networkd-brvlan.c
+++ b/src/network/networkd-brvlan.c
@@ -4,6 +4,7 @@
@@ -58,7 +58,7 @@ index 8e8a618e2..52d523a67 100644
#include <stdbool.h>
diff --git a/src/udev/net/ethtool-util.c b/src/udev/net/ethtool-util.c
-index 4bb4216ac..5f7383483 100644
+index 0dcec03..3695b10 100644
--- a/src/udev/net/ethtool-util.c
+++ b/src/udev/net/ethtool-util.c
@@ -1,5 +1,6 @@
@@ -69,28 +69,28 @@ index 4bb4216ac..5f7383483 100644
#include <sys/ioctl.h>
#include <linux/ethtool.h>
diff --git a/src/udev/net/ethtool-util.h b/src/udev/net/ethtool-util.h
-index 064bf4d2b..ee0d4fb2a 100644
+index 618b26b..ebfe82a 100644
--- a/src/udev/net/ethtool-util.h
+++ b/src/udev/net/ethtool-util.h
-@@ -3,6 +3,7 @@
-
+@@ -2,6 +2,7 @@
+ #pragma once
#include <macro.h>
+#include <netinet/if_ether.h>
#include <linux/ethtool.h>
- #include "missing.h"
+ #include "conf-parser.h"
diff --git a/src/udev/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c
-index 8bed6399a..a3a96959b 100644
+index a845dfa..177289a 100644
--- a/src/udev/udev-builtin-net_setup_link.c
+++ b/src/udev/udev-builtin-net_setup_link.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1+ */
+#include <netinet/if_ether.h>
+ #include "device-util.h"
#include "alloc-util.h"
#include "link-config.h"
- #include "log.h"
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0006-remove-nobody-user-group-checking.patch b/poky/meta/recipes-core/systemd/systemd/0006-remove-nobody-user-group-checking.patch
deleted file mode 100644
index eb6eb8bfe..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0006-remove-nobody-user-group-checking.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 5199ae5dec9b8a9c9e20477d5090f1732735fbe2 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Thu, 28 Jun 2018 09:38:12 +0800
-Subject: [PATCH 6/9] remove nobody user/group checking
-
-Upstream-Status: Inappropriate [OE Specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- meson.build | 37 -------------------------------------
- 1 file changed, 37 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 323146fe1..3bb087fef 100644
---- a/meson.build
-+++ b/meson.build
-@@ -681,43 +681,6 @@ substs.set('containeruidbasemax', container_uid_base_max)
- nobody_user = get_option('nobody-user')
- nobody_group = get_option('nobody-group')
-
--getent_result = run_command('getent', 'passwd', '65534')
--if getent_result.returncode() == 0
-- name = getent_result.stdout().split(':')[0]
-- if name != nobody_user
-- warning('\n' +
-- 'The local user with the UID 65534 does not match the configured user name "@0@" of the nobody user (its name is @1@).\n'.format(nobody_user, name) +
-- 'Your build will result in an user table setup that is incompatible with the local system.')
-- endif
--endif
--id_result = run_command('id', '-u', nobody_user)
--if id_result.returncode() == 0
-- id = id_result.stdout().to_int()
-- if id != 65534
-- warning('\n' +
-- 'The local user with the configured user name "@0@" of the nobody user does not have UID 65534 (it has @1@).\n'.format(nobody_user, id) +
-- 'Your build will result in an user table setup that is incompatible with the local system.')
-- endif
--endif
--
--getent_result = run_command('getent', 'group', '65534')
--if getent_result.returncode() == 0
-- name = getent_result.stdout().split(':')[0]
-- if name != nobody_group
-- warning('\n' +
-- 'The local group with the GID 65534 does not match the configured group name "@0@" of the nobody group (its name is @1@).\n'.format(nobody_group, name) +
-- 'Your build will result in an group table setup that is incompatible with the local system.')
-- endif
--endif
--id_result = run_command('id', '-g', nobody_group)
--if id_result.returncode() == 0
-- id = id_result.stdout().to_int()
-- if id != 65534
-- warning('\n' +
-- 'The local group with the configured group name "@0@" of the nobody group does not have UID 65534 (it has @1@).\n'.format(nobody_group, id) +
-- 'Your build will result in an group table setup that is incompatible with the local system.')
-- endif
--endif
- if nobody_user != nobody_group and not (nobody_user == 'nobody' and nobody_group == 'nogroup')
- warning('\n' +
- 'The configured user name "@0@" and group name "@0@" of the nobody user/group are not equivalent.\n'.format(nobody_user, nobody_group) +
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0008-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
index bee5fb651..765e4767f 100644
--- a/poky/meta/recipes-core/systemd/systemd/0008-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
@@ -1,7 +1,7 @@
-From 848e711d719a6d987bc7d14183e1c7b1f1c91c56 Mon Sep 17 00:00:00 2001
+From f8a239b182158ca0a537ba053cb0e6bad9c3a2fb Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 29 Jun 2018 17:10:29 +0800
-Subject: [PATCH 08/19] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
+Date: Mon, 25 Feb 2019 14:56:21 +0800
+Subject: [PATCH 07/24] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
defined
If the standard library doesn't provide brace
@@ -16,13 +16,13 @@ Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
- src/basic/glob-util.c | 13 +++++++++++--
- src/test/test-glob-util.c | 15 +++++++++++++++
- src/tmpfiles/tmpfiles.c | 10 ++++++++++
- 3 files changed, 36 insertions(+), 2 deletions(-)
+ src/basic/glob-util.c | 12 +++++++++++-
+ src/test/test-glob-util.c | 17 +++++++++++++++--
+ src/tmpfiles/tmpfiles.c | 9 +++++++++
+ 3 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
-index 9fac676f2..8adb9559e 100644
+index 9fac676..962d8b9 100644
--- a/src/basic/glob-util.c
+++ b/src/basic/glob-util.c
@@ -10,6 +10,11 @@
@@ -45,12 +45,12 @@ index 9fac676f2..8adb9559e 100644
/* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */
assert(!(flags & GLOB_ALTDIRFUNC));
-@@ -31,10 +37,13 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
+@@ -31,10 +37,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
pglob->gl_lstat = lstat;
if (!pglob->gl_stat)
pglob->gl_stat = stat;
--
+#endif
+
errno = 0;
+#ifdef GLOB_ALTDIRFUNC
k = glob(path, flags | GLOB_ALTDIRFUNC, NULL, pglob);
@@ -62,13 +62,13 @@ index 9fac676f2..8adb9559e 100644
return -ENOENT;
if (k == GLOB_NOSPACE)
diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c
-index d78d6223c..f5943b26d 100644
+index b4f4144..955b3ba 100644
--- a/src/test/test-glob-util.c
+++ b/src/test/test-glob-util.c
@@ -12,6 +12,11 @@
- #include "glob-util.h"
#include "macro.h"
#include "rm-rf.h"
+ #include "tmpfile-util.h"
+/* Don't fail if the standard library
+ * doesn't provide brace expansion */
+#ifndef GLOB_BRACE
@@ -77,9 +77,11 @@ index d78d6223c..f5943b26d 100644
static void test_glob_exists(void) {
char name[] = "/tmp/test-glob_exists.XXXXXX";
-@@ -40,11 +45,13 @@ static void test_glob_no_dot(void) {
+@@ -38,25 +43,33 @@ static void closedir_wrapper(void* v) {
+ static void test_glob_no_dot(void) {
+ char template[] = "/tmp/test-glob-util.XXXXXXX";
const char *fn;
-
+-
_cleanup_globfree_ glob_t g = {
+#ifdef GLOB_ALTDIRFUNC
.gl_closedir = closedir_wrapper,
@@ -89,9 +91,9 @@ index d78d6223c..f5943b26d 100644
.gl_stat = stat,
+#endif
};
-
+-
int r;
-@@ -52,11 +59,19 @@ static void test_glob_no_dot(void) {
+
assert_se(mkdtemp(template));
fn = strjoina(template, "/*");
@@ -112,23 +114,22 @@ index d78d6223c..f5943b26d 100644
(void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
-index 927de35f3..5f0283da5 100644
+index b66765b..11dbbf4 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
-@@ -60,6 +60,12 @@
+@@ -60,6 +60,11 @@
+ #include "umask-util.h"
#include "user-util.h"
#include "util.h"
-
+/* Don't fail if the standard library
+ * doesn't provide brace expansion */
+#ifndef GLOB_BRACE
+#define GLOB_BRACE 0
+#endif
-+
+
/* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
* them in the file system. This is intended to be used to create
- * properly owned directories beneath /tmp, /var/tmp, /run, which are
-@@ -1345,7 +1351,9 @@ finish:
+@@ -1853,7 +1858,9 @@ finish:
static int glob_item(Item *i, action_t action) {
_cleanup_globfree_ glob_t g = {
@@ -138,7 +139,7 @@ index 927de35f3..5f0283da5 100644
};
int r = 0, k;
char **fn;
-@@ -1365,7 +1373,9 @@ static int glob_item(Item *i, action_t action) {
+@@ -1873,7 +1880,9 @@ static int glob_item(Item *i, action_t action) {
static int glob_item_recursively(Item *i, fdaction_t action) {
_cleanup_globfree_ glob_t g = {
@@ -149,5 +150,5 @@ index 927de35f3..5f0283da5 100644
int r = 0, k;
char **fn;
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0008-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch b/poky/meta/recipes-core/systemd/systemd/0008-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch
deleted file mode 100644
index abecdc764..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0008-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From b6ba596fd1313a162cdc2eb88161dcf24d19ede7 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Thu, 28 Jun 2018 10:10:02 +0800
-Subject: [PATCH 8/9] Do not enable nss tests if nss-systemd is not enabled
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/test/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/test/meson.build b/src/test/meson.build
-index 7da7e3a22..7b7c257ff 100644
---- a/src/test/meson.build
-+++ b/src/test/meson.build
-@@ -645,7 +645,7 @@ tests += [
- [['src/test/test-nss.c'],
- [],
- [libdl],
-- '', 'manual'],
-+ 'ENABLE_NSS_SYSTEMD', 'manual'],
-
- [['src/test/test-umount.c',
- 'src/core/mount-setup.c',
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0009-add-missing-FTW_-macros-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
index 95287cce1..d5f2349f2 100644
--- a/poky/meta/recipes-core/systemd/systemd/0009-add-missing-FTW_-macros-for-musl.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
@@ -1,7 +1,7 @@
-From acc2c08082795802011e3c5f8626d63210021489 Mon Sep 17 00:00:00 2001
+From 6cd17c753d2c0a90fc791f69bbc694cbc8556a4f Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
-Date: Wed, 28 Feb 2018 21:36:32 -0800
-Subject: [PATCH 09/19] add missing FTW_ macros for musl
+Date: Mon, 25 Feb 2019 15:00:06 +0800
+Subject: [PATCH 08/24] add missing FTW_ macros for musl
This is to avoid build failures like below for musl.
@@ -11,17 +11,18 @@ Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
- src/basic/missing.h | 20 ++++++++++++++++++++
+ src/basic/missing_type.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
-diff --git a/src/basic/missing.h b/src/basic/missing.h
-index 02397f1b6..6dc750eba 100644
---- a/src/basic/missing.h
-+++ b/src/basic/missing.h
-@@ -189,6 +189,26 @@ struct sockaddr_vm {
- #define BTRFS_QGROUP_LEVEL_SHIFT 48
+diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
+index c487e65..23602eb 100644
+--- a/src/basic/missing_type.h
++++ b/src/basic/missing_type.h
+@@ -19,3 +19,23 @@ typedef int (*comparison_fn_t)(const void *, const void *);
+ #define __COMPAR_FN_T
+ typedef int (*__compar_fn_t)(const void *, const void *);
#endif
-
++
+#ifndef FTW_ACTIONRETVAL
+#define FTW_ACTIONRETVAL 16
+#endif
@@ -41,10 +42,6 @@ index 02397f1b6..6dc750eba 100644
+#ifndef FTW_SKIP_SIBLINGS
+#define FTW_SKIP_SIBLINGS 3
+#endif
-+
- #if ! HAVE_LINUX_BTRFS_H
- #define BTRFS_IOC_QGROUP_ASSIGN _IOW(BTRFS_IOCTL_MAGIC, 41, \
- struct btrfs_ioctl_qgroup_assign_args)
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0009-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch b/poky/meta/recipes-core/systemd/systemd/0009-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch
deleted file mode 100644
index a635fa91d..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0009-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From f9625b5f3fd5dac3f3591dbeeb24dc9d6fda790d Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Tue, 27 Feb 2018 12:56:21 +0800
-Subject: [PATCH 9/9] nss-mymachines: Build conditionally when
- ENABLE_MYHOSTNAME is set
-
-Fixes build failures when building with --disable-myhostname
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- meson.build | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 3bb087fef..73bd70b0b 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1371,12 +1371,15 @@ test_dlopen = executable(
- link_with : [libbasic],
- dependencies : [libdl])
-
--foreach tuple : [['myhostname', 'ENABLE_MYHOSTNAME'],
-- ['systemd', 'ENABLE_NSS_SYSTEMD'],
-- ['mymachines', 'ENABLE_MACHINED'],
-- ['resolve', 'ENABLE_RESOLVE']]
-+foreach tuple : [['myhostname', 'ENABLE_MYHOSTNAME', ''],
-+ ['systemd', 'ENABLE_NSS_SYSTEMD', ''],
-+ ['mymachines', 'ENABLE_MACHINED', 'ENABLE_MYHOSTNAME'],
-+ ['resolve', 'ENABLE_RESOLVE', '']]
-
- condition = tuple[1] == '' or conf.get(tuple[1]) == 1
-+ if tuple[2] != '' and condition
-+ condition = conf.get(tuple[2]) == 1
-+ endif
- if condition
- module = tuple[0]
-
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0010-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch b/poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
index 16547981d..57cb5f373 100644
--- a/poky/meta/recipes-core/systemd/systemd/0010-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
@@ -1,7 +1,7 @@
-From a0bd587300744dbb8e9cfbb043233670ce781c98 Mon Sep 17 00:00:00 2001
+From 6a2cadd6b70cb40ac74fc0d0f8557b914bd38ac2 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 2 Jul 2018 13:22:41 +0800
-Subject: [PATCH 10/19] socket-util: don't fail if libc doesn't support IDN
+Subject: [PATCH 09/24] socket-util: don't fail if libc doesn't support IDN
Upstream-Status: Inappropriate [musl specific]
@@ -13,10 +13,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
1 file changed, 10 insertions(+)
diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c
-index a913102e1..0d0154805 100644
+index 91bf801..c445fea 100644
--- a/src/basic/socket-util.c
+++ b/src/basic/socket-util.c
-@@ -32,6 +32,16 @@
+@@ -33,6 +33,16 @@
#include "utf8.h"
#include "util.h"
@@ -34,5 +34,5 @@ index a913102e1..0d0154805 100644
# define IDN_FLAGS NI_IDN
#else
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/poky/meta/recipes-core/systemd/systemd/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch
index d41bc4a0d..8bacd0289 100644
--- a/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-of-__register_atfork-for-non-glibc-build.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch
@@ -1,7 +1,7 @@
-From 1fadf805cb391e3bcbd9a0286a9e4b7adb9e7427 Mon Sep 17 00:00:00 2001
+From f1f4b4f9684fed185bfa8b9ed409cdf241657e99 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 2 Jul 2018 13:34:09 +0800
-Subject: [PATCH 12/19] fix missing of __register_atfork for non-glibc builds
+Date: Mon, 25 Feb 2019 15:03:47 +0800
+Subject: [PATCH 10/24] fix missing of __register_atfork for non-glibc builds
Upstream-Status: Inappropriate [musl specific]
@@ -11,7 +11,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
1 file changed, 7 insertions(+)
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index 0a4f917cb..3543bc045 100644
+index 78ce43b..aec2daf 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
@@ -22,6 +22,9 @@
@@ -24,7 +24,7 @@ index 0a4f917cb..3543bc045 100644
#include "alloc-util.h"
#include "architecture.h"
-@@ -1150,11 +1153,15 @@ void reset_cached_pid(void) {
+@@ -1160,11 +1163,15 @@ void reset_cached_pid(void) {
cached_pid = CACHED_PID_UNSET;
}
@@ -32,8 +32,8 @@ index 0a4f917cb..3543bc045 100644
/* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
* headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
* libpthread, as it is part of glibc anyway. */
- extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle);
- extern void* __dso_handle __attribute__ ((__weak__));
+ extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle);
+ extern void* __dso_handle _weak_;
+#else
+#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child)
+#endif
@@ -41,5 +41,5 @@ index 0a4f917cb..3543bc045 100644
pid_t getpid_cached(void) {
static bool installed = false;
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0013-Use-uintmax_t-for-handling-rlim_t.patch b/poky/meta/recipes-core/systemd/systemd/0011-Use-uintmax_t-for-handling-rlim_t.patch
index 69b3c1512..d6eda9c03 100644
--- a/poky/meta/recipes-core/systemd/systemd/0013-Use-uintmax_t-for-handling-rlim_t.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0011-Use-uintmax_t-for-handling-rlim_t.patch
@@ -1,7 +1,7 @@
-From a0ac0cfd90af6431c64d1b276f422a2092d569b3 Mon Sep 17 00:00:00 2001
+From e3f847bd0338d27aff3335b42661d8a4b66b965e Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 2 Jul 2018 13:44:21 +0800
-Subject: [PATCH 13/19] Use uintmax_t for handling rlim_t
+Date: Mon, 25 Feb 2019 15:12:41 +0800
+Subject: [PATCH 11/24] Use uintmax_t for handling rlim_t
PRIu{32,64} is not right format to represent rlim_t type
therefore use %ju and typecast the rlim_t variables to
@@ -18,18 +18,19 @@ execute.c:3446:36: error: format '%lu' expects argument of type 'long unsigned i
Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+[Rebased for v241]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
- src/basic/format-util.h | 8 --------
- src/basic/rlimit-util.c | 8 ++++----
- src/core/execute.c | 8 ++++----
- 3 files changed, 8 insertions(+), 16 deletions(-)
+ src/basic/format-util.h | 8 +-------
+ src/basic/rlimit-util.c | 10 +++++-----
+ src/core/execute.c | 4 ++--
+ 3 files changed, 8 insertions(+), 14 deletions(-)
diff --git a/src/basic/format-util.h b/src/basic/format-util.h
-index 160550cd6..61245d1e3 100644
+index dece5d3..dbb87bc 100644
--- a/src/basic/format-util.h
+++ b/src/basic/format-util.h
-@@ -43,14 +43,6 @@
+@@ -42,13 +42,7 @@
# define PRI_TIMEX "li"
#endif
@@ -40,51 +41,57 @@ index 160550cd6..61245d1e3 100644
-#else
-# error Unknown rlim_t size
-#endif
--
++#define RLIM_FMT "%ju"
+
#if SIZEOF_DEV_T == 8
# define DEV_FMT "%" PRIu64
- #elif SIZEOF_DEV_T == 4
diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
-index be1ba615e..e328ce499 100644
+index 74b3a02..b02c03c 100644
--- a/src/basic/rlimit-util.c
+++ b/src/basic/rlimit-util.c
-@@ -299,13 +299,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
+@@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY)
s = strdup("infinity");
else if (rl->rlim_cur >= RLIM_INFINITY)
- (void) asprintf(&s, "infinity:" RLIM_FMT, rl->rlim_max);
-+ (void) asprintf(&s, "infinity:%ju", (uintmax_t)rl->rlim_max);
++ (void) asprintf(&s, "infinity:" RLIM_FMT, (uintmax_t)rl->rlim_max);
else if (rl->rlim_max >= RLIM_INFINITY)
- (void) asprintf(&s, RLIM_FMT ":infinity", rl->rlim_cur);
-+ (void) asprintf(&s, "%ju:infinity", (uintmax_t)rl->rlim_cur);
++ (void) asprintf(&s, RLIM_FMT ":infinity", (uintmax_t)rl->rlim_cur);
else if (rl->rlim_cur == rl->rlim_max)
- (void) asprintf(&s, RLIM_FMT, rl->rlim_cur);
-+ (void) asprintf(&s, "%ju", (uintmax_t)rl->rlim_cur);
++ (void) asprintf(&s, RLIM_FMT, (uintmax_t)rl->rlim_cur);
else
- (void) asprintf(&s, RLIM_FMT ":" RLIM_FMT, rl->rlim_cur, rl->rlim_max);
-+ (void) asprintf(&s, "%ju:%ju", (uintmax_t)rl->rlim_cur, (uintmax_t)rl->rlim_max);
++ (void) asprintf(&s, RLIM_FMT ":" RLIM_FMT, (uintmax_t)rl->rlim_cur, (uintmax_t)rl->rlim_max);
if (!s)
return -ENOMEM;
+@@ -404,7 +404,7 @@ int rlimit_nofile_safe(void) {
+
+ rl.rlim_cur = FD_SETSIZE;
+ if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
+- return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", rl.rlim_cur);
++ return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", (uintmax_t)rl.rlim_cur);
+
+ return 1;
+ }
diff --git a/src/core/execute.c b/src/core/execute.c
-index 8ac69d1a0..efedf3842 100644
+index a708231..e2b8748 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
-@@ -3976,10 +3976,10 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
-
+@@ -4220,9 +4220,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
for (i = 0; i < RLIM_NLIMITS; i++)
if (c->rlimit[i]) {
-- fprintf(f, "Limit%s%s: " RLIM_FMT "\n",
+ fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max);
-- fprintf(f, "Limit%s%sSoft: " RLIM_FMT "\n",
-- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_cur);
-+ fprintf(f, "Limit%s%s: %ju\n",
+ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_max);
-+ fprintf(f, "Limit%s%sSoft: %ju\n",
+ fprintf(f, "%sLimit%sSoft: " RLIM_FMT "\n",
+- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_cur);
+ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_cur);
}
if (c->ioprio_set) {
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch b/poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch
deleted file mode 100644
index 1a22ffd9e..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0011-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 045f205fd21e5e380edf813de04fcfbf5a487219 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 2 Jul 2018 13:28:25 +0800
-Subject: [PATCH 11/19] src/basic/missing.h: check for missing __compar_fn_t
- typedef
-
-include missing.h for missing __compar_fn_t
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/missing.h | 5 +++++
- src/basic/strbuf.c | 1 +
- 2 files changed, 6 insertions(+)
-
-diff --git a/src/basic/missing.h b/src/basic/missing.h
-index 6dc750eba..cd1cc109f 100644
---- a/src/basic/missing.h
-+++ b/src/basic/missing.h
-@@ -1179,6 +1179,11 @@ struct input_mask {
- #define RENAME_NOREPLACE (1 << 0)
- #endif
-
-+#ifndef __COMPAR_FN_T
-+#define __COMPAR_FN_T
-+typedef int (*__compar_fn_t)(const void *, const void *);
-+#endif
-+
- #ifndef KCMP_FILE
- #define KCMP_FILE 0
- #endif
-diff --git a/src/basic/strbuf.c b/src/basic/strbuf.c
-index e2ed776a0..4d3ebec4c 100644
---- a/src/basic/strbuf.c
-+++ b/src/basic/strbuf.c
-@@ -7,6 +7,7 @@
- #include "alloc-util.h"
- #include "strbuf.h"
- #include "util.h"
-+#include "missing.h"
-
- /*
- * Strbuf stores given strings in a single continuous allocated memory
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch b/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
new file mode 100644
index 000000000..dbaae4f39
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
@@ -0,0 +1,27 @@
+From aa6cd19ae428769a38fe7d95f98db0a9c19ae90a Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:14:49 +0800
+Subject: [PATCH 12/24] fix missing ULONG_LONG_MAX definition in case of musl
+
+Upstream-Status: Inappropriate [musl]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/missing_type.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
+index 23602eb..7d7c1e4 100644
+--- a/src/basic/missing_type.h
++++ b/src/basic/missing_type.h
+@@ -39,3 +39,7 @@ typedef int (*__compar_fn_t)(const void *, const void *);
+ #ifndef FTW_SKIP_SIBLINGS
+ #define FTW_SKIP_SIBLINGS 3
+ #endif
++
++#ifndef ULONG_LONG_MAX
++#define ULONG_LONG_MAX ULLONG_MAX
++#endif
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0015-test-hexdecoct.c-Include-missing.h-for-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch
index c7ca9cd4b..874c17c42 100644
--- a/poky/meta/recipes-core/systemd/systemd/0015-test-hexdecoct.c-Include-missing.h-for-strndupa.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch
@@ -1,7 +1,7 @@
-From b11109ecc41110c518a98b6ac39611ff86477021 Mon Sep 17 00:00:00 2001
+From e5a48f84db58ffb9128383eaefc123b5829523e5 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 23 Oct 2017 12:33:22 -0700
-Subject: [PATCH 15/19] test-hexdecoct.c: Include missing.h for strndupa
+Subject: [PATCH 13/24] test-hexdecoct.c: Include missing.h for strndupa
Upstream-Status: Inappropriate [musl specific]
@@ -12,7 +12,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
1 file changed, 1 insertion(+)
diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
-index da9f3008b..7ff2dfe0c 100644
+index 5221742..a05e778 100644
--- a/src/test/test-hexdecoct.c
+++ b/src/test/test-hexdecoct.c
@@ -6,6 +6,7 @@
@@ -24,5 +24,5 @@ index da9f3008b..7ff2dfe0c 100644
static void test_hexchar(void) {
assert_se(hexchar(0xa) == 'a');
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0014-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch b/poky/meta/recipes-core/systemd/systemd/0014-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
deleted file mode 100644
index 258a631ca..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0014-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From cb59b3af54fb3bbd4d8264fef919810af8d08d16 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Tue, 27 Feb 2018 14:01:30 +0800
-Subject: [PATCH 14/19] fix missing ULONG_LONG_MAX definition in case of musl
-
-Upstream-Status: Inappropriate [musl]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/missing.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/basic/missing.h b/src/basic/missing.h
-index cd1cc109f..144058a1a 100644
---- a/src/basic/missing.h
-+++ b/src/basic/missing.h
-@@ -54,6 +54,10 @@ struct sockaddr_vm {
- };
- #endif /* !HAVE_LINUX_VM_SOCKETS_H */
-
-+#ifndef ULONG_LONG_MAX
-+#define ULONG_LONG_MAX ULLONG_MAX
-+#endif
-+
- #ifndef RLIMIT_RTTIME
- #define RLIMIT_RTTIME 15
- #endif
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0016-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/poky/meta/recipes-core/systemd/systemd/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
index c06a3706e..914589dbd 100644
--- a/poky/meta/recipes-core/systemd/systemd/0016-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
@@ -1,7 +1,7 @@
-From c4bbf3efefffe0a4efadbf4e3f0adb54d76fe0e7 Mon Sep 17 00:00:00 2001
+From d3d65d4036670cbd5129fe55c09ca391286ef4b3 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 28 Feb 2018 21:25:22 -0800
-Subject: [PATCH 16/19] test-sizeof.c: Disable tests for missing typedefs in
+Subject: [PATCH 14/24] test-sizeof.c: Disable tests for missing typedefs in
musl
Upstream-Status: Inappropriate [musl specific]
@@ -13,10 +13,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
1 file changed, 4 insertions(+)
diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
-index 7a1e496ed..386b314d5 100644
+index 35b0876..e78e7ca 100644
--- a/src/test/test-sizeof.c
+++ b/src/test/test-sizeof.c
-@@ -40,8 +40,10 @@ int main(void) {
+@@ -41,8 +41,10 @@ int main(void) {
info(unsigned);
info(long unsigned);
info(long long unsigned);
@@ -27,7 +27,7 @@ index 7a1e496ed..386b314d5 100644
info(float);
info(double);
-@@ -59,7 +61,9 @@ int main(void) {
+@@ -60,7 +62,9 @@ int main(void) {
info(ssize_t);
info(time_t);
info(usec_t);
@@ -38,5 +38,5 @@ index 7a1e496ed..386b314d5 100644
info(uid_t);
info(gid_t);
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0017-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/poky/meta/recipes-core/systemd/systemd/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
index 8e47c6f50..fd407f604 100644
--- a/poky/meta/recipes-core/systemd/systemd/0017-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
@@ -1,7 +1,7 @@
-From 91bb4f5c9c11464468e8d3fa4746d98d59997264 Mon Sep 17 00:00:00 2001
+From 48c628f532f6025c2d1646b6819cd81eb789d7fb Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Tue, 10 Oct 2017 14:33:30 -0700
-Subject: [PATCH 17/19] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
+Subject: [PATCH 15/24] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right
thing to do and it's not portable (not supported by musl). See:
@@ -31,7 +31,7 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
2 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
-index 28566773c..14b864cc5 100644
+index 7ad030b..d4cb1e9 100644
--- a/src/basic/fs-util.h
+++ b/src/basic/fs-util.h
@@ -32,7 +32,27 @@ int fchmod_opath(int fd, mode_t m);
@@ -64,7 +64,7 @@ index 28566773c..14b864cc5 100644
int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode);
int touch(const char *path);
diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
-index 89d7a7d59..34b4ad53a 100644
+index 89d7a7d..34b4ad5 100644
--- a/src/shared/base-filesystem.c
+++ b/src/shared/base-filesystem.c
@@ -53,7 +53,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
@@ -95,5 +95,5 @@ index 89d7a7d59..34b4ad53a 100644
}
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0018-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/poky/meta/recipes-core/systemd/systemd/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch
index 1bd0d602a..d5565698a 100644
--- a/poky/meta/recipes-core/systemd/systemd/0018-Define-glibc-compatible-basename-for-non-glibc-syste.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch
@@ -1,7 +1,7 @@
-From 97fed07132533a1b2bce9c60e305a5d09aee2e9b Mon Sep 17 00:00:00 2001
+From af76c973e41929360a6e021f2ff9a7fc1d7994e9 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 27 May 2018 08:36:44 -0700
-Subject: [PATCH 18/19] Define glibc compatible basename() for non-glibc
+Subject: [PATCH 16/24] Define glibc compatible basename() for non-glibc
systems
Fixes builds with musl, even though systemd is adamant about
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 4 insertions(+)
diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
-index 7f41465cc..cee8a5d43 100644
+index 7a558df..eca7d4b 100644
--- a/src/machine/machine-dbus.c
+++ b/src/machine/machine-dbus.c
@@ -11,6 +11,10 @@
@@ -30,5 +30,5 @@ index 7f41465cc..cee8a5d43 100644
#include "bus-common-errors.h"
#include "bus-internal.h"
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
index 942f4c091..05e6ded71 100644
--- a/poky/meta/recipes-core/systemd/systemd/0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -1,7 +1,7 @@
-From 8440348bcac34249cdf6ac2dcae9ac66d3c727db Mon Sep 17 00:00:00 2001
+From c7a4efb8bccb52e1714c151929c23e12bde59b82 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 4 Jul 2018 15:00:44 +0800
-Subject: [PATCH 19/19] Do not disable buffering when writing to oom_score_adj
+Subject: [PATCH 17/24] Do not disable buffering when writing to oom_score_adj
On musl, disabling buffering when writing to oom_score_adj will
cause the following error.
@@ -22,10 +22,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index 3543bc045..d0572e034 100644
+index aec2daf..7b4aabf 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
-@@ -1473,7 +1473,7 @@ int set_oom_score_adjust(int value) {
+@@ -1538,7 +1538,7 @@ int set_oom_score_adjust(int value) {
sprintf(t, "%i", value);
return write_string_file("/proc/self/oom_score_adj", t,
@@ -35,5 +35,5 @@ index 3543bc045..d0572e034 100644
static const char *const ioprio_class_table[] = {
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/poky/meta/recipes-core/systemd/systemd/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
index 5c78cabba..590177299 100644
--- a/poky/meta/recipes-core/systemd/systemd/0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
@@ -1,7 +1,7 @@
-From dd53dc9b9542cbd2c39a39096941dfed70d06506 Mon Sep 17 00:00:00 2001
+From fffb2810611b4a26f5c6c0958093b5b3b7d4cd99 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Tue, 10 Jul 2018 15:40:17 +0800
-Subject: [PATCH 20/20] distinguish XSI-compliant strerror_r from GNU-specifi
+Subject: [PATCH 18/24] distinguish XSI-compliant strerror_r from GNU-specifi
strerror_r
XSI-compliant strerror_r and GNU-specifi strerror_r are different.
@@ -24,7 +24,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
2 files changed, 10 insertions(+)
diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
-index 65bcbcd2e..aef80dd8f 100644
+index 3fea912..4f1e592 100644
--- a/src/journal/journal-send.c
+++ b/src/journal/journal-send.c
@@ -337,7 +337,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
@@ -41,10 +41,10 @@ index 65bcbcd2e..aef80dd8f 100644
char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
-index ec359ac13..d2aa86cea 100644
+index dc95237..bdda30f 100644
--- a/src/libsystemd/sd-bus/bus-error.c
+++ b/src/libsystemd/sd-bus/bus-error.c
-@@ -362,7 +362,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) {
+@@ -379,7 +379,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) {
return;
errno = 0;
@@ -58,5 +58,5 @@ index ec359ac13..d2aa86cea 100644
free(m);
k *= 2;
--
-2.11.0
+2.7.4
diff --git a/poky/meta/recipes-core/systemd/systemd/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/poky/meta/recipes-core/systemd/systemd/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
new file mode 100644
index 000000000..35cc66ff6
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
@@ -0,0 +1,35 @@
+From 969ab9e68249fd383f4b513b1c9306bdac4ae9b2 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:18:00 +0800
+Subject: [PATCH 19/24] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
+
+for currently unknown reasons they get exported to the shared libries
+even without being listed in the sym file
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+[Rebased for v241]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/libsystemd/sd-bus/bus-error.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
+index bdda30f..e21853c 100644
+--- a/src/libsystemd/sd-bus/bus-error.c
++++ b/src/libsystemd/sd-bus/bus-error.c
+@@ -54,8 +54,8 @@ BUS_ERROR_MAP_ELF_REGISTER const sd_bus_error_map bus_standard_errors[] = {
+ };
+
+ /* GCC maps this magically to the beginning and end of the BUS_ERROR_MAP section */
+-extern const sd_bus_error_map __start_SYSTEMD_BUS_ERROR_MAP[];
+-extern const sd_bus_error_map __stop_SYSTEMD_BUS_ERROR_MAP[];
++extern const sd_bus_error_map __start_SYSTEMD_BUS_ERROR_MAP[] _hidden_;
++extern const sd_bus_error_map __stop_SYSTEMD_BUS_ERROR_MAP[] _hidden_;
+
+ /* Additional maps registered with sd_bus_error_add_map() are in this
+ * NULL terminated array */
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0020-missing_type.h-add-__compar_d_fn_t-definition.patch b/poky/meta/recipes-core/systemd/systemd/0020-missing_type.h-add-__compar_d_fn_t-definition.patch
new file mode 100644
index 000000000..753d5116a
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0020-missing_type.h-add-__compar_d_fn_t-definition.patch
@@ -0,0 +1,30 @@
+From 75c06e3e2a4760b36fffd95cdf5535b8ad73c481 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:27:54 +0800
+Subject: [PATCH 20/24] missing_type.h: add __compar_d_fn_t definition
+
+Fix the following compile failure:
+src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean '__compar_fn_t'?
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/missing_type.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
+index 7d7c1e4..85902ab 100644
+--- a/src/basic/missing_type.h
++++ b/src/basic/missing_type.h
+@@ -13,6 +13,7 @@
+
+ #ifndef __GLIBC__
+ typedef int (*comparison_fn_t)(const void *, const void *);
++typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
+ #endif
+
+ #ifndef __COMPAR_FN_T
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/poky/meta/recipes-core/systemd/systemd/0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
deleted file mode 100644
index 668f27320..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 687a5af8dc5d38f918a6ce08fed5297234bf8346 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 2 Mar 2018 18:00:17 -0800
-Subject: [PATCH] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
-
-for currently unknown reasons they get exported to the shared libries
-even without being listed in the sym file
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-
-Upstream-Status: Pending [ Conditional on master needing this, 239 does need it ]
-
- src/libsystemd/sd-bus/bus-error.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
-index 378f7a377..49d797abd 100644
---- a/src/libsystemd/sd-bus/bus-error.c
-+++ b/src/libsystemd/sd-bus/bus-error.c
-@@ -71,8 +71,8 @@ BUS_ERROR_MAP_ELF_REGISTER const sd_bus_error_map bus_standard_errors[] = {
- };
-
- /* GCC maps this magically to the beginning and end of the BUS_ERROR_MAP section */
--extern const sd_bus_error_map __start_BUS_ERROR_MAP[];
--extern const sd_bus_error_map __stop_BUS_ERROR_MAP[];
-+extern const sd_bus_error_map __start_BUS_ERROR_MAP[] _hidden_;
-+extern const sd_bus_error_map __stop_BUS_ERROR_MAP[] _hidden_;
-
- /* Additional maps registered with sd_bus_error_add_map() are in this
- * NULL terminated array */
---
-2.16.2
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch b/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch
new file mode 100644
index 000000000..a8c53c931
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0021-avoid-redefinition-of-prctl_mm_map-structure.patch
@@ -0,0 +1,47 @@
+From 3fbf61d54b82fc9bf21d8039bfd89dc9efc5bbcd Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:44:54 +0800
+Subject: [PATCH 21/24] avoid redefinition of prctl_mm_map structure
+
+Fix the following compile failure:
+error: redefinition of 'struct prctl_mm_map'
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/missing_prctl.h | 2 ++
+ src/basic/util.h | 3 ++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/basic/missing_prctl.h b/src/basic/missing_prctl.h
+index f80cd17..47e4893 100644
+--- a/src/basic/missing_prctl.h
++++ b/src/basic/missing_prctl.h
+@@ -1,7 +1,9 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+ #pragma once
+
++#ifdef __GLIBC__
+ #include <linux/prctl.h>
++#endif
+
+ /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */
+ #ifndef PR_CAP_AMBIENT
+diff --git a/src/basic/util.h b/src/basic/util.h
+index 2c5dc32..f721184 100644
+--- a/src/basic/util.h
++++ b/src/basic/util.h
+@@ -26,7 +26,8 @@
+ #include "format-util.h"
+ #include "macro.h"
+ #include "time-util.h"
+-#include "missing.h"
++#include "missing_stdlib.h"
++#include "missing_type.h"
+
+ size_t page_size(void) _pure_;
+ #define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch b/poky/meta/recipes-core/systemd/systemd/0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
deleted file mode 100644
index 962463f0b..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 75720bff62a84896e9a0654afc7cf9408cf89a38 Mon Sep 17 00:00:00 2001
-From: Filipe Brandenburger <filbranden@google.com>
-Date: Sun, 15 Jul 2018 22:43:35 -0700
-Subject: [PATCH] build-sys: Detect whether struct statx is defined in
- sys/stat.h
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Starting with glibc 2.27.9000-36.fc29, include file sys/stat.h will have a
-definition for struct statx, in which case include file linux/stat.h should be
-avoided, in order to prevent a duplicate definition.
-
- In file included from ../src/basic/missing.h:18,
- from ../src/basic/util.h:28,
- from ../src/basic/hashmap.h:10,
- from ../src/shared/bus-util.h:12,
- from ../src/libsystemd/sd-bus/bus-creds.c:11:
- /usr/include/linux/stat.h:99:8: error: redefinition of ‘struct statx’
- struct statx {
- ^~~~~
- In file included from /usr/include/sys/stat.h:446,
- from ../src/basic/util.h:19,
- from ../src/basic/hashmap.h:10,
- from ../src/shared/bus-util.h:12,
- from ../src/libsystemd/sd-bus/bus-creds.c:11:
- /usr/include/bits/statx.h:36:8: note: originally defined here
- struct statx
- ^~~~~
-
-Extend our meson.build to look for struct statx when only sys/stat.h is
-included and, in that case, do not include linux/stat.h anymore.
-
-Tested that systemd builds correctly when using a glibc version that includes a
-definition for struct statx.
-
-glibc Fedora RPM update:
-https://src.fedoraproject.org/rpms/glibc/c/28cb5d31fc1e5887912283c889689c47076278ae
-
-glibc upstream commit:
-https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=fd70af45528d59a00eb3190ef6706cb299488fcd
----
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
- meson.build | 5 +++++
- src/basic/missing.h | 5 ++++-
- src/basic/xattr-util.c | 1 -
- 3 files changed, 9 insertions(+), 2 deletions(-)
-
-Index: git/meson.build
-===================================================================
---- git.orig/meson.build
-+++ git/meson.build
-@@ -432,6 +432,7 @@ decl_headers = '''
- #include <sys/stat.h>
- '''
- # FIXME: key_serial_t is only defined in keyutils.h, this is bound to fail
-+# FIXME: these should use -D_GNU_SOURCE, since that is defined at build time
-
- foreach decl : ['char16_t',
- 'char32_t',
-@@ -446,6 +447,10 @@ foreach decl : ['char16_t',
- conf.set10('HAVE_' + decl.underscorify().to_upper(), have)
- endforeach
-
-+conf.set10('HAVE_STRUCT_STATX_IN_SYS_STAT_H', cc.sizeof('struct statx', prefix : '''
-+#include <sys/stat.h>
-+''', args : '-D_GNU_SOURCE') > 0)
-+
- foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'],
- ['IN6_ADDR_GEN_MODE_STABLE_PRIVACY', 'linux/if_link.h'],
- ['IFLA_VRF_TABLE', 'linux/if_link.h'],
-Index: git/src/basic/missing.h
-===================================================================
---- git.orig/src/basic/missing.h
-+++ git/src/basic/missing.h
-@@ -15,7 +15,6 @@
- #include <linux/neighbour.h>
- #include <linux/oom.h>
- #include <linux/rtnetlink.h>
--#include <linux/stat.h>
- #include <net/ethernet.h>
- #include <stdlib.h>
- #include <sys/resource.h>
-@@ -25,6 +24,10 @@
- #include <uchar.h>
- #include <unistd.h>
-
-+#if !HAVE_STRUCT_STATX_IN_SYS_STAT_H
-+#include <linux/stat.h>
-+#endif
-+
- #if HAVE_AUDIT
- #include <libaudit.h>
- #endif
-Index: git/src/basic/xattr-util.c
-===================================================================
---- git.orig/src/basic/xattr-util.c
-+++ git/src/basic/xattr-util.c
-@@ -2,7 +2,6 @@
-
- #include <errno.h>
- #include <fcntl.h>
--#include <linux/stat.h>
- #include <stdint.h>
- #include <stdlib.h>
- #include <string.h>
diff --git a/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch b/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch
new file mode 100644
index 000000000..47212bc3c
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch
@@ -0,0 +1,33 @@
+From 6c5364736f5afd1106ac240f03806af53979cc60 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:56:50 +0800
+Subject: [PATCH 22/24] include sys/wait.h to avoid compile failure
+
+Fix the following error:
+src/udev/udev-event.c:581:53: error: 'WEXITED' undeclared (first use in this function); did you mean 'WIFEXITED'?
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/udev/udev-event.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
+index 07b7365..e532bb7 100644
+--- a/src/udev/udev-event.c
++++ b/src/udev/udev-event.c
+@@ -8,7 +8,9 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+-
++#ifndef __GLIBC__
++#include <sys/wait.h>
++#endif
+ #include "sd-event.h"
+
+ #include "alloc-util.h"
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0023-resolvconf-fixes-for-the-compatibility-interface.patch b/poky/meta/recipes-core/systemd/systemd/0023-resolvconf-fixes-for-the-compatibility-interface.patch
deleted file mode 100644
index 2f3e776aa..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0023-resolvconf-fixes-for-the-compatibility-interface.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-systemd-239: fixes for the compatibility interface
-
-[No upstream tracking] -- https://github.com/systemd/systemd/issues/9423
-
-resolvconf-compat: use compat_main() when called as `resolvconf`,
-since the interface is closer to that of `systemd-resolve`.
-
-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`.)
-
-Tested:
- $ build/resolvconf -a nonexistent.abc </etc/resolv.conf
- Unknown interface 'nonexistent': No such device
-
-Upstream-Status: Backport [https://github.com/systemd/systemd/commit/5a01b3f35d7b6182c78b6973db8d99bdabd4f9c3]
-bug: 9423
-Signed-off-by: Simon Ausserlechner <simon.ausserlechner@siemens.com>
-
-diff --git a/src/resolve/resolvconf-compat.c b/src/resolve/resolvconf-compat.c
-index d7e68003e..072345894 100644
---- a/src/resolve/resolvconf-compat.c
-+++ b/src/resolve/resolvconf-compat.c
-@@ -53,6 +53,8 @@ static int parse_nameserver(const char *string) {
-
- if (strv_push(&arg_set_dns, word) < 0)
- return log_oom();
-+
-+ word = NULL;
- }
-
- return 0;
-@@ -202,7 +204,7 @@ int resolvconf_parse_argv(int argc, char *argv[]) {
-
- dot = strchr(argv[optind], '.');
- if (dot) {
-- iface = strndupa(argv[optind], dot - argv[optind]);
-+ iface = strndup(argv[optind], dot - argv[optind]);
- log_debug("Ignoring protocol specifier '%s'.", dot + 1);
- } else
- iface = argv[optind];
-diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
-index e96c13fea..e9e395e3e 100644
---- a/src/resolve/resolvectl.c
-+++ b/src/resolve/resolvectl.c
-@@ -3092,7 +3092,7 @@ int main(int argc, char **argv) {
- goto finish;
- }
-
-- if (streq(program_invocation_short_name, "systemd-resolve"))
-+ if (STR_IN_SET(program_invocation_short_name, "systemd-resolve", "resolvconf"))
- r = compat_main(argc, argv, bus);
- else
- r = native_main(argc, argv, bus);
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch b/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch
new file mode 100644
index 000000000..22186b8a7
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch
@@ -0,0 +1,30 @@
+From 93e6b81b721d9eb966a257bfdf7df6e8280b885c Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 16:37:19 +0800
+Subject: [PATCH 23/24] socket-util.h: include string.h
+
+Fix the following compile error:
+src/basic/socket-util.h:187:30: error: implicit declaration of function 'strnlen'; did you mean 'strlen'? [-Werror=implicit-function-declaration]
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/socket-util.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/basic/socket-util.h b/src/basic/socket-util.h
+index 574d2b7..097aa4d 100644
+--- a/src/basic/socket-util.h
++++ b/src/basic/socket-util.h
+@@ -12,6 +12,7 @@
+ #include <sys/socket.h>
+ #include <sys/types.h>
+ #include <sys/un.h>
++#include <string.h>
+
+ #include "macro.h"
+ #include "missing_socket.h"
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0024-journald-do-not-store-the-iovec-entry-for-process-co.patch b/poky/meta/recipes-core/systemd/systemd/0024-journald-do-not-store-the-iovec-entry-for-process-co.patch
deleted file mode 100644
index c2f78be39..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0024-journald-do-not-store-the-iovec-entry-for-process-co.patch
+++ /dev/null
@@ -1,208 +0,0 @@
-From 9cb07e7d82c7c4f28bbaa1478e1387e8ea3d03dd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Wed, 5 Dec 2018 18:38:39 +0100
-Subject: [PATCH] journald: do not store the iovec entry for process
- commandline on stack
-
-This fixes a crash where we would read the commandline, whose length is under
-control of the sending program, and then crash when trying to create a stack
-allocation for it.
-
-CVE-2018-16864
-https://bugzilla.redhat.com/show_bug.cgi?id=1653855
-
-The message actually doesn't get written to disk, because
-journal_file_append_entry() returns -E2BIG.
-
-Patch backported from systemd master at
-084eeb865ca63887098e0945fb4e93c852b91b0f.
-
-CVE: CVE-2018-16864
-Upstream-Status: Backport
-Signed-off-by: Marcus Cooper <marcusc@axis.com>
----
- src/basic/io-util.c | 10 ++++++++++
- src/basic/io-util.h | 2 ++
- src/coredump/coredump.c | 31 +++++++++++--------------------
- src/journal/journald-server.c | 25 +++++++++++++++----------
- 4 files changed, 38 insertions(+), 30 deletions(-)
-
-diff --git a/src/basic/io-util.c b/src/basic/io-util.c
-index 1f64cc933b..575398fbe6 100644
---- a/src/basic/io-util.c
-+++ b/src/basic/io-util.c
-@@ -8,6 +8,7 @@
- #include <unistd.h>
-
- #include "io-util.h"
-+#include "string-util.h"
- #include "time-util.h"
-
- int flush_fd(int fd) {
-@@ -252,3 +253,12 @@ ssize_t sparse_write(int fd, const void *p, size_t sz, size_t run_length) {
-
- return q - (const uint8_t*) p;
- }
-+
-+char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value) {
-+ char *x;
-+
-+ x = strappend(field, value);
-+ if (x)
-+ iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(x);
-+ return x;
-+}
-diff --git a/src/basic/io-util.h b/src/basic/io-util.h
-index ed189b5820..792a64ad5e 100644
---- a/src/basic/io-util.h
-+++ b/src/basic/io-util.h
-@@ -71,3 +71,5 @@ static inline bool FILE_SIZE_VALID_OR_INFINITY(uint64_t l) {
- #define IOVEC_MAKE(base, len) (struct iovec) IOVEC_INIT(base, len)
- #define IOVEC_INIT_STRING(string) IOVEC_INIT((char*) string, strlen(string))
- #define IOVEC_MAKE_STRING(string) (struct iovec) IOVEC_INIT_STRING(string)
-+
-+char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value);
-diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c
-index 20a1cbdd45..18e4f61d72 100644
---- a/src/coredump/coredump.c
-+++ b/src/coredump/coredump.c
-@@ -1053,19 +1053,10 @@ static int send_iovec(const struct iovec iovec[], size_t n_iovec, int input_fd)
- return 0;
- }
-
--static char* set_iovec_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value) {
-- char *x;
--
-- x = strappend(field, value);
-- if (x)
-- iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(x);
-- return x;
--}
--
- static char* set_iovec_field_free(struct iovec *iovec, size_t *n_iovec, const char *field, char *value) {
- char *x;
-
-- x = set_iovec_field(iovec, n_iovec, field, value);
-+ x = set_iovec_string_field(iovec, n_iovec, field, value);
- free(value);
- return x;
- }
-@@ -1115,36 +1106,36 @@ static int gather_pid_metadata(
- disable_coredumps();
- }
-
-- set_iovec_field(iovec, n_iovec, "COREDUMP_UNIT=", context[CONTEXT_UNIT]);
-+ set_iovec_string_field(iovec, n_iovec, "COREDUMP_UNIT=", context[CONTEXT_UNIT]);
- }
-
- if (cg_pid_get_user_unit(pid, &t) >= 0)
- set_iovec_field_free(iovec, n_iovec, "COREDUMP_USER_UNIT=", t);
-
- /* The next few are mandatory */
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_PID=", context[CONTEXT_PID]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_PID=", context[CONTEXT_PID]))
- return log_oom();
-
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_UID=", context[CONTEXT_UID]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_UID=", context[CONTEXT_UID]))
- return log_oom();
-
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_GID=", context[CONTEXT_GID]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_GID=", context[CONTEXT_GID]))
- return log_oom();
-
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_SIGNAL=", context[CONTEXT_SIGNAL]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_SIGNAL=", context[CONTEXT_SIGNAL]))
- return log_oom();
-
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_RLIMIT=", context[CONTEXT_RLIMIT]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_RLIMIT=", context[CONTEXT_RLIMIT]))
- return log_oom();
-
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_HOSTNAME=", context[CONTEXT_HOSTNAME]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_HOSTNAME=", context[CONTEXT_HOSTNAME]))
- return log_oom();
-
-- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_COMM=", context[CONTEXT_COMM]))
-+ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_COMM=", context[CONTEXT_COMM]))
- return log_oom();
-
- if (context[CONTEXT_EXE] &&
-- !set_iovec_field(iovec, n_iovec, "COREDUMP_EXE=", context[CONTEXT_EXE]))
-+ !set_iovec_string_field(iovec, n_iovec, "COREDUMP_EXE=", context[CONTEXT_EXE]))
- return log_oom();
-
- if (sd_pid_get_session(pid, &t) >= 0)
-@@ -1212,7 +1203,7 @@ static int gather_pid_metadata(
- iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(t);
-
- if (safe_atoi(context[CONTEXT_SIGNAL], &signo) >= 0 && SIGNAL_VALID(signo))
-- set_iovec_field(iovec, n_iovec, "COREDUMP_SIGNAL_NAME=SIG", signal_to_string(signo));
-+ set_iovec_string_field(iovec, n_iovec, "COREDUMP_SIGNAL_NAME=SIG", signal_to_string(signo));
-
- return 0; /* we successfully acquired all metadata */
- }
-diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
-index 4f1550ec5b..31be085c6b 100644
---- a/src/journal/journald-server.c
-+++ b/src/journal/journald-server.c
-@@ -753,6 +753,7 @@ static void dispatch_message_real(
- pid_t object_pid) {
-
- char source_time[sizeof("_SOURCE_REALTIME_TIMESTAMP=") + DECIMAL_STR_MAX(usec_t)];
-+ _cleanup_free_ char *cmdline1 = NULL, *cmdline2 = NULL;
- uid_t journal_uid;
- ClientContext *o;
-
-@@ -769,20 +770,23 @@ static void dispatch_message_real(
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->uid, uid_t, uid_is_valid, UID_FMT, "_UID");
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->gid, gid_t, gid_is_valid, GID_FMT, "_GID");
-
-- IOVEC_ADD_STRING_FIELD(iovec, n, c->comm, "_COMM");
-- IOVEC_ADD_STRING_FIELD(iovec, n, c->exe, "_EXE");
-- IOVEC_ADD_STRING_FIELD(iovec, n, c->cmdline, "_CMDLINE");
-- IOVEC_ADD_STRING_FIELD(iovec, n, c->capeff, "_CAP_EFFECTIVE");
-+ IOVEC_ADD_STRING_FIELD(iovec, n, c->comm, "_COMM"); /* At most TASK_COMM_LENGTH (16 bytes) */
-+ IOVEC_ADD_STRING_FIELD(iovec, n, c->exe, "_EXE"); /* A path, so at most PATH_MAX (4096 bytes) */
-
-- IOVEC_ADD_SIZED_FIELD(iovec, n, c->label, c->label_size, "_SELINUX_CONTEXT");
-+ if (c->cmdline)
-+ /* At most _SC_ARG_MAX (2MB usually), which is too much to put on stack.
-+ * Let's use a heap allocation for this one. */
-+ cmdline1 = set_iovec_string_field(iovec, &n, "_CMDLINE=", c->cmdline);
-
-+ IOVEC_ADD_STRING_FIELD(iovec, n, c->capeff, "_CAP_EFFECTIVE"); /* Read from /proc/.../status */
-+ IOVEC_ADD_SIZED_FIELD(iovec, n, c->label, c->label_size, "_SELINUX_CONTEXT");
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->auditid, uint32_t, audit_session_is_valid, "%" PRIu32, "_AUDIT_SESSION");
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->loginuid, uid_t, uid_is_valid, UID_FMT, "_AUDIT_LOGINUID");
-
-- IOVEC_ADD_STRING_FIELD(iovec, n, c->cgroup, "_SYSTEMD_CGROUP");
-+ IOVEC_ADD_STRING_FIELD(iovec, n, c->cgroup, "_SYSTEMD_CGROUP"); /* A path */
- IOVEC_ADD_STRING_FIELD(iovec, n, c->session, "_SYSTEMD_SESSION");
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->owner_uid, uid_t, uid_is_valid, UID_FMT, "_SYSTEMD_OWNER_UID");
-- IOVEC_ADD_STRING_FIELD(iovec, n, c->unit, "_SYSTEMD_UNIT");
-+ IOVEC_ADD_STRING_FIELD(iovec, n, c->unit, "_SYSTEMD_UNIT"); /* Unit names are bounded by UNIT_NAME_MAX */
- IOVEC_ADD_STRING_FIELD(iovec, n, c->user_unit, "_SYSTEMD_USER_UNIT");
- IOVEC_ADD_STRING_FIELD(iovec, n, c->slice, "_SYSTEMD_SLICE");
- IOVEC_ADD_STRING_FIELD(iovec, n, c->user_slice, "_SYSTEMD_USER_SLICE");
-@@ -803,13 +807,14 @@ static void dispatch_message_real(
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->uid, uid_t, uid_is_valid, UID_FMT, "OBJECT_UID");
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->gid, gid_t, gid_is_valid, GID_FMT, "OBJECT_GID");
-
-+ /* See above for size limits, only ->cmdline may be large, so use a heap allocation for it. */
- IOVEC_ADD_STRING_FIELD(iovec, n, o->comm, "OBJECT_COMM");
- IOVEC_ADD_STRING_FIELD(iovec, n, o->exe, "OBJECT_EXE");
-- IOVEC_ADD_STRING_FIELD(iovec, n, o->cmdline, "OBJECT_CMDLINE");
-- IOVEC_ADD_STRING_FIELD(iovec, n, o->capeff, "OBJECT_CAP_EFFECTIVE");
-+ if (o->cmdline)
-+ cmdline2 = set_iovec_string_field(iovec, &n, "OBJECT_CMDLINE=", o->cmdline);
-
-+ IOVEC_ADD_STRING_FIELD(iovec, n, o->capeff, "OBJECT_CAP_EFFECTIVE");
- IOVEC_ADD_SIZED_FIELD(iovec, n, o->label, o->label_size, "OBJECT_SELINUX_CONTEXT");
--
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->auditid, uint32_t, audit_session_is_valid, "%" PRIu32, "OBJECT_AUDIT_SESSION");
- IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->loginuid, uid_t, uid_is_valid, UID_FMT, "OBJECT_AUDIT_LOGINUID");
-
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch b/poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch
new file mode 100644
index 000000000..c2ae2bbb7
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0024-test-json.c-define-M_PIl.patch
@@ -0,0 +1,33 @@
+From 902412c271e0c5d9cb93b10ec0fb5b119b393474 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 16:53:06 +0800
+Subject: [PATCH 24/24] test-json.c: define M_PIl
+
+Fix the following compile failure:
+src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this function); did you mean 'M_PI'?
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/test/test-json.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/test/test-json.c b/src/test/test-json.c
+index fdf1b4f..fa541f8 100644
+--- a/src/test/test-json.c
++++ b/src/test/test-json.c
+@@ -10,6 +10,10 @@
+ #include "strv.h"
+ #include "util.h"
+
++#ifndef M_PIl
++#define M_PIl 3.141592653589793238462643383279502884L
++#endif
++
+ static void test_tokenizer(const char *data, ...) {
+ unsigned line = 0, column = 0;
+ void *state = NULL;
+--
+2.7.4
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0025-journald-set-a-limit-on-the-number-of-fields.patch b/poky/meta/recipes-core/systemd/systemd/0025-journald-set-a-limit-on-the-number-of-fields.patch
deleted file mode 100644
index ae9ef5de5..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0025-journald-set-a-limit-on-the-number-of-fields.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From 7cad044b72406cbadf048da432c29afea74c3c10 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Wed, 5 Dec 2018 22:45:02 +0100
-Subject: [PATCH] journald: set a limit on the number of fields
-
-The fix for CVE-2018-16865 is plucked from two commits that have
-been pushed to systemd master.
-
-journald: set a limit on the number of fields (1k)
-
-We allocate a iovec entry for each field, so with many short entries,
-our memory usage and processing time can be large, even with a relatively
-small message size. Let's refuse overly long entries.
-
-CVE-2018-16865
-https://bugzilla.redhat.com/show_bug.cgi?id=1653861
-
-What from I can see, the problem is not from an alloca, despite what the CVE
-description says, but from the attack multiplication that comes from creating
-many very small iovecs: (void* + size_t) for each three bytes of input message.
-
-Patch backported from systemd master at
-052c57f132f04a3cf4148f87561618da1a6908b4.
-
-journal-remote: set a limit on the number of fields in a message
-
-Existing use of E2BIG is replaced with ENOBUFS (entry too long), and E2BIG is
-reused for the new error condition (too many fields).
-
-This matches the change done for systemd-journald, hence forming the second
-part of the fix for CVE-2018-16865
-(https://bugzilla.redhat.com/show_bug.cgi?id=1653861).
-
-Patch backported from systemd master at
-ef4d6abe7c7fab6cbff975b32e76b09feee56074.
-with the changes applied by 7fdb237f5473cb8fc2129e57e8a0039526dcb4fd
-removed.
-
-CVE: CVE-2018-16865
-Upstream-Status: Backport
-Signed-off-by: Marcus Cooper <marcusc@axis.com>
----
- src/basic/journal-importer.c | 5 ++++-
- src/basic/journal-importer.h | 3 +++
- src/journal-remote/journal-remote-main.c | 7 ++++++-
- src/journal-remote/journal-remote.c | 5 ++++-
- src/journal/journald-native.c | 5 +++++
- 5 files changed, 22 insertions(+), 3 deletions(-)
-
-diff --git a/src/basic/journal-importer.c b/src/basic/journal-importer.c
-index ca203bbbfc..3ac55a66d9 100644
---- a/src/basic/journal-importer.c
-+++ b/src/basic/journal-importer.c
-@@ -23,6 +23,9 @@ enum {
- };
-
- static int iovw_put(struct iovec_wrapper *iovw, void* data, size_t len) {
-+ if (iovw->count >= ENTRY_FIELD_COUNT_MAX)
-+ return -E2BIG;
-+
- if (!GREEDY_REALLOC(iovw->iovec, iovw->size_bytes, iovw->count + 1))
- return log_oom();
-
-@@ -98,7 +101,7 @@ static int get_line(JournalImporter *imp, char **line, size_t *size) {
- imp->scanned = imp->filled;
- if (imp->scanned >= DATA_SIZE_MAX) {
- log_error("Entry is bigger than %u bytes.", DATA_SIZE_MAX);
-- return -E2BIG;
-+ return -ENOBUFS;
- }
-
- if (imp->passive_fd)
-diff --git a/src/basic/journal-importer.h b/src/basic/journal-importer.h
-index f49ce734a1..c4ae45d32d 100644
---- a/src/basic/journal-importer.h
-+++ b/src/basic/journal-importer.h
-@@ -16,6 +16,9 @@
- #define DATA_SIZE_MAX (1024*1024*768u)
- #define LINE_CHUNK 8*1024u
-
-+/* The maximum number of fields in an entry */
-+#define ENTRY_FIELD_COUNT_MAX 1024
-+
- struct iovec_wrapper {
- struct iovec *iovec;
- size_t size_bytes;
-diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
-index 8fda9d1499..3a01fef646 100644
---- a/src/journal-remote/journal-remote-main.c
-+++ b/src/journal-remote/journal-remote-main.c
-@@ -212,7 +212,12 @@ static int process_http_upload(
- break;
- else if (r < 0) {
- log_warning("Failed to process data for connection %p", connection);
-- if (r == -E2BIG)
-+ if (r == -ENOBUFS)
-+ return mhd_respondf(connection,
-+ r, MHD_HTTP_PAYLOAD_TOO_LARGE,
-+ "Entry is above the maximum of %u, aborting connection %p.",
-+ DATA_SIZE_MAX, connection);
-+ else if (r == -E2BIG)
- return mhd_respondf(connection,
- r, MHD_HTTP_PAYLOAD_TOO_LARGE,
- "Entry is too large, maximum is " STRINGIFY(DATA_SIZE_MAX) " bytes.");
-diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c
-index beb75a1cb4..67e3a70c06 100644
---- a/src/journal-remote/journal-remote.c
-+++ b/src/journal-remote/journal-remote.c
-@@ -408,7 +408,10 @@ int journal_remote_handle_raw_source(
- log_debug("%zu active sources remaining", s->active);
- return 0;
- } else if (r == -E2BIG) {
-- log_notice_errno(E2BIG, "Entry too big, skipped");
-+ log_notice("Entry with too many fields, skipped");
-+ return 1;
-+ } else if (r == -ENOBUFS) {
-+ log_notice("Entry too big, skipped");
- return 1;
- } else if (r == -EAGAIN) {
- return 0;
-diff --git a/src/journal/journald-native.c b/src/journal/journald-native.c
-index 5ff22a10af..951d092053 100644
---- a/src/journal/journald-native.c
-+++ b/src/journal/journald-native.c
-@@ -140,6 +140,11 @@ static int server_process_entry(
- }
-
- /* A property follows */
-+ if (n > ENTRY_FIELD_COUNT_MAX) {
-+ log_debug("Received an entry that has more than " STRINGIFY(ENTRY_FIELD_COUNT_MAX) " fields, ignoring entry.");
-+ r = 1;
-+ goto finish;
-+ }
-
- /* n existing properties, 1 new, +1 for _TRANSPORT */
- if (!GREEDY_REALLOC(iovec, m,
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0026-journal-fix-out-of-bounds-read-CVE-2018-16866.patch b/poky/meta/recipes-core/systemd/systemd/0026-journal-fix-out-of-bounds-read-CVE-2018-16866.patch
deleted file mode 100644
index 3925a4abb..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0026-journal-fix-out-of-bounds-read-CVE-2018-16866.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From ebd06c37d4311db9851f4d3fdd023de3dd590de0 Mon Sep 17 00:00:00 2001
-From: Filipe Brandenburger <filbranden@google.com>
-Date: Thu, 10 Jan 2019 14:53:33 -0800
-Subject: [PATCH] journal: fix out-of-bounds read CVE-2018-16866
-
-The original code didn't account for the fact that strchr() would match on the
-'\0' character, making it read past the end of the buffer if no non-whitespace
-character was present.
-
-This bug was introduced in commit ec5ff4445cca6a which was first released in
-systemd v221 and later fixed in commit 8595102d3ddde6 which was released in
-v240, so versions in the range [v221, v240) are affected.
-
-Patch backported from systemd-stable at f005e73d3723d62a39be661931fcb6347119b52b
-also includes a change from systemd master which removes a heap buffer overflow
-a6aadf4ae0bae185dc4c414d492a4a781c80ffe5.
-
-CVE: CVE-2018-16866
-Upstream-Status: Backport
-Signed-off-by: Marcus Cooper <marcusc@axis.com>
----
- src/journal/journald-syslog.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/journal/journald-syslog.c b/src/journal/journald-syslog.c
-index 9dea116722..809b318c06 100644
---- a/src/journal/journald-syslog.c
-+++ b/src/journal/journald-syslog.c
-@@ -194,7 +194,7 @@ size_t syslog_parse_identifier(const char **buf, char **identifier, char **pid)
- e = l;
- l--;
-
-- if (p[l-1] == ']') {
-+ if (l > 0 && p[l-1] == ']') {
- size_t k = l-1;
-
- for (;;) {
-@@ -219,7 +219,7 @@ size_t syslog_parse_identifier(const char **buf, char **identifier, char **pid)
- if (t)
- *identifier = t;
-
-- if (strchr(WHITESPACE, p[e]))
-+ if (p[e] != '\0' && strchr(WHITESPACE, p[e]))
- e++;
- *buf = p + e;
- return e;
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/CVE-2019-6454.patch b/poky/meta/recipes-core/systemd/systemd/CVE-2019-6454.patch
deleted file mode 100644
index 80170dac0..000000000
--- a/poky/meta/recipes-core/systemd/systemd/CVE-2019-6454.patch
+++ /dev/null
@@ -1,210 +0,0 @@
-Description: sd-bus: enforce a size limit for dbus paths, and don't allocate
- them on the stacka
-Forwarded: no
-
-Patch from: systemd_239-7ubuntu10.8
-
-For information see:
-https://usn.ubuntu.com/3891-1/
-https://git.launchpad.net/ubuntu/+source/systemd/commit/?id=f8e75d5634904c8e672658856508c3a02f349adb
-
-CVE: CVE-2019-6454
-Upstream-Status: Backport
-
-Signed-off-by: George McCollister <george.mccollister@gmail.com>
-
---- a/src/libsystemd/sd-bus/bus-internal.c
-+++ b/src/libsystemd/sd-bus/bus-internal.c
-@@ -45,7 +45,7 @@
- if (slash)
- return false;
-
-- return true;
-+ return (q - p) <= BUS_PATH_SIZE_MAX;
- }
-
- char* object_path_startswith(const char *a, const char *b) {
---- a/src/libsystemd/sd-bus/bus-internal.h
-+++ b/src/libsystemd/sd-bus/bus-internal.h
-@@ -333,6 +333,10 @@
-
- #define BUS_MESSAGE_SIZE_MAX (128*1024*1024)
- #define BUS_AUTH_SIZE_MAX (64*1024)
-+/* Note that the D-Bus specification states that bus paths shall have no size limit. We enforce here one
-+ * anyway, since truly unbounded strings are a security problem. The limit we pick is relatively large however,
-+ * to not clash unnecessarily with real-life applications. */
-+#define BUS_PATH_SIZE_MAX (64*1024)
-
- #define BUS_CONTAINER_DEPTH 128
-
---- a/src/libsystemd/sd-bus/bus-objects.c
-+++ b/src/libsystemd/sd-bus/bus-objects.c
-@@ -1134,7 +1134,8 @@
- const char *path,
- sd_bus_error *error) {
-
-- char *prefix;
-+ _cleanup_free_ char *prefix = NULL;
-+ size_t pl;
- int r;
-
- assert(bus);
-@@ -1150,7 +1151,12 @@
- return 0;
-
- /* Second, add fallback vtables registered for any of the prefixes */
-- prefix = alloca(strlen(path) + 1);
-+ pl = strlen(path);
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-+
- OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
- r = object_manager_serialize_path(bus, reply, prefix, path, true, error);
- if (r < 0)
-@@ -1346,6 +1352,7 @@
- }
-
- int bus_process_object(sd_bus *bus, sd_bus_message *m) {
-+ _cleanup_free_ char *prefix = NULL;
- int r;
- size_t pl;
- bool found_object = false;
-@@ -1370,9 +1377,12 @@
- assert(m->member);
-
- pl = strlen(m->path);
-- do {
-- char prefix[pl+1];
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-
-+ do {
- bus->nodes_modified = false;
-
- r = object_find_and_run(bus, m, m->path, false, &found_object);
-@@ -1499,9 +1509,15 @@
-
- n = hashmap_get(bus->nodes, path);
- if (!n) {
-- char *prefix;
-+ _cleanup_free_ char *prefix = NULL;
-+ size_t pl;
-+
-+ pl = strlen(path);
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-
-- prefix = alloca(strlen(path) + 1);
- OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
- n = hashmap_get(bus->nodes, prefix);
- if (n)
-@@ -2091,8 +2107,9 @@
- char **names) {
-
- BUS_DONT_DESTROY(bus);
-+ _cleanup_free_ char *prefix = NULL;
- bool found_interface = false;
-- char *prefix;
-+ size_t pl;
- int r;
-
- assert_return(bus, -EINVAL);
-@@ -2111,6 +2128,12 @@
- if (names && names[0] == NULL)
- return 0;
-
-+ pl = strlen(path);
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-+
- do {
- bus->nodes_modified = false;
-
-@@ -2120,7 +2143,6 @@
- if (bus->nodes_modified)
- continue;
-
-- prefix = alloca(strlen(path) + 1);
- OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
- r = emit_properties_changed_on_interface(bus, prefix, path, interface, true, &found_interface, names);
- if (r != 0)
-@@ -2252,7 +2274,8 @@
-
- static int object_added_append_all(sd_bus *bus, sd_bus_message *m, const char *path) {
- _cleanup_set_free_ Set *s = NULL;
-- char *prefix;
-+ _cleanup_free_ char *prefix = NULL;
-+ size_t pl;
- int r;
-
- assert(bus);
-@@ -2297,7 +2320,12 @@
- if (bus->nodes_modified)
- return 0;
-
-- prefix = alloca(strlen(path) + 1);
-+ pl = strlen(path);
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-+
- OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
- r = object_added_append_all_prefix(bus, m, s, prefix, path, true);
- if (r < 0)
-@@ -2436,7 +2464,8 @@
-
- static int object_removed_append_all(sd_bus *bus, sd_bus_message *m, const char *path) {
- _cleanup_set_free_ Set *s = NULL;
-- char *prefix;
-+ _cleanup_free_ char *prefix = NULL;
-+ size_t pl;
- int r;
-
- assert(bus);
-@@ -2468,7 +2497,12 @@
- if (bus->nodes_modified)
- return 0;
-
-- prefix = alloca(strlen(path) + 1);
-+ pl = strlen(path);
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-+
- OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
- r = object_removed_append_all_prefix(bus, m, s, prefix, path, true);
- if (r < 0)
-@@ -2618,7 +2652,8 @@
- const char *path,
- const char *interface) {
-
-- char *prefix;
-+ _cleanup_free_ char *prefix = NULL;
-+ size_t pl;
- int r;
-
- assert(bus);
-@@ -2632,7 +2667,12 @@
- if (bus->nodes_modified)
- return 0;
-
-- prefix = alloca(strlen(path) + 1);
-+ pl = strlen(path);
-+ assert(pl <= BUS_PATH_SIZE_MAX);
-+ prefix = new(char, pl + 1);
-+ if (!prefix)
-+ return -ENOMEM;
-+
- OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
- r = interfaces_added_append_one_prefix(bus, m, prefix, path, interface, true);
- if (r != 0)
diff --git a/poky/meta/recipes-core/systemd/systemd/sd-bus-if-we-receive-an-invalid-dbus-message-ignore-.patch b/poky/meta/recipes-core/systemd/systemd/sd-bus-if-we-receive-an-invalid-dbus-message-ignore-.patch
deleted file mode 100644
index 57311faa6..000000000
--- a/poky/meta/recipes-core/systemd/systemd/sd-bus-if-we-receive-an-invalid-dbus-message-ignore-.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Description: sd-bus: if we receive an invalid dbus message, ignore and
- proceeed
- .
- dbus-daemon might have a slightly different idea of what a valid msg is
- than us (for example regarding valid msg and field sizes). Let's hence
- try to proceed if we can and thus drop messages rather than fail the
- connection if we fail to validate a message.
- .
- Hopefully the differences in what is considered valid are not visible
- for real-life usecases, but are specific to exploit attempts only.
-Author: Lennart Poettering <lennart@poettering.net>
-Forwarded: other,https://github.com/systemd/systemd/pull/11708/
-
-Patch from: systemd_239-7ubuntu10.8
-
-For information see:
-https://usn.ubuntu.com/3891-1/
-https://git.launchpad.net/ubuntu/+source/systemd/commit/?id=f8e75d5634904c8e672658856508c3a02f349adb
-
-CVE: CVE-2019-6454
-Upstream-Status: Backport
-
-Signed-off-by: George McCollister <george.mccollister@gmail.com>
-
-diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
-index 30d6455b6f..441b4a816f 100644
---- a/src/libsystemd/sd-bus/bus-socket.c
-+++ b/src/libsystemd/sd-bus/bus-socket.c
-@@ -1072,7 +1072,7 @@ static int bus_socket_read_message_need(sd_bus *bus, size_t *need) {
- }
-
- static int bus_socket_make_message(sd_bus *bus, size_t size) {
-- sd_bus_message *t;
-+ sd_bus_message *t = NULL;
- void *b;
- int r;
-
-@@ -1097,7 +1097,9 @@ static int bus_socket_make_message(sd_bus *bus, size_t size) {
- bus->fds, bus->n_fds,
- NULL,
- &t);
-- if (r < 0) {
-+ if (r == -EBADMSG)
-+ log_debug_errno(r, "Received invalid message from connection %s, dropping.", strna(bus->description));
-+ else if (r < 0) {
- free(b);
- return r;
- }
-@@ -1108,7 +1110,8 @@ static int bus_socket_make_message(sd_bus *bus, size_t size) {
- bus->fds = NULL;
- bus->n_fds = 0;
-
-- bus->rqueue[bus->rqueue_size++] = t;
-+ if (t)
-+ bus->rqueue[bus->rqueue_size++] = t;
-
- return 1;
- }
---
-2.17.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd_239.bb b/poky/meta/recipes-core/systemd/systemd_241.bb
index 7fbd64ced..bfbfc8133 100644
--- a/poky/meta/recipes-core/systemd/systemd_239.bb
+++ b/poky/meta/recipes-core/systemd/systemd_241.bb
@@ -21,59 +21,40 @@ SRC_URI += "file://touchscreen.rules \
file://0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch \
file://0003-implment-systemd-sysv-install-for-OE.patch \
file://0004-rules-whitelist-hd-devices.patch \
- file://0005-Make-root-s-home-directory-configurable.patch \
- file://0006-remove-nobody-user-group-checking.patch \
- file://0007-rules-watch-metadata-changes-in-ide-devices.patch \
- file://0008-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch \
- file://0009-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch \
- file://0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch \
- file://0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch \
- file://0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch \
- file://0023-resolvconf-fixes-for-the-compatibility-interface.patch \
- file://0001-core-when-deserializing-state-always-use-read_line-L.patch \
- file://0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch \
- file://0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch \
- file://0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch \
- file://0001-timesync-changes-type-of-drift_freq-to-int64_t.patch \
- file://0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch \
- file://0002-core-Fix-use-after-free-case-in-load_from_path.patch \
- file://0001-meson-rename-Ddebug-to-Ddebug-extra.patch \
- file://0024-journald-do-not-store-the-iovec-entry-for-process-co.patch \
- file://0025-journald-set-a-limit-on-the-number-of-fields.patch \
- file://0026-journal-fix-out-of-bounds-read-CVE-2018-16866.patch \
- file://CVE-2019-6454.patch \
- file://sd-bus-if-we-receive-an-invalid-dbus-message-ignore-.patch \
+ file://0005-rules-watch-metadata-changes-in-ide-devices.patch \
+ file://0001-meson-declare-version.h-as-dep-for-various-targets-t.patch \
+ file://0001-meson-declare-version.h-as-dependency-for-systemd.patch \
"
-# patches made for musl are only applied on TCLIBC is musl
+# patches needed by musl
SRC_URI += "${SRC_URI_MUSL}"
SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.patch \
file://0002-don-t-use-glibc-specific-qsort_r.patch \
- file://0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch \
+ file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \
file://0004-add-fallback-parse_printf_format-implementation.patch \
- file://0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch \
- file://0006-src-basic-missing.h-check-for-missing-strndupa.patch \
- file://0007-Include-netinet-if_ether.h.patch \
- file://0008-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
- file://0009-add-missing-FTW_-macros-for-musl.patch \
- file://0010-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \
- file://0011-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch \
- file://0012-fix-missing-of-__register_atfork-for-non-glibc-build.patch \
- file://0013-Use-uintmax_t-for-handling-rlim_t.patch \
- file://0014-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch \
- file://0015-test-hexdecoct.c-Include-missing.h-for-strndupa.patch \
- file://0016-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
- file://0017-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
- file://0018-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
- file://0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
- file://0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
- file://0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \
+ file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \
+ file://0006-Include-netinet-if_ether.h.patch \
+ file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch \
+ file://0008-add-missing-FTW_-macros-for-musl.patch \
+ file://0009-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \
+ file://0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch \
+ file://0011-Use-uintmax_t-for-handling-rlim_t.patch \
+ file://0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch \
+ file://0013-test-hexdecoct.c-Include-missing.h-for-strndupa.patch \
+ file://0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
+ file://0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
+ file://0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
+ file://0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
+ file://0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
+ file://0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \
+ file://0020-missing_type.h-add-__compar_d_fn_t-definition.patch \
+ file://0021-avoid-redefinition-of-prctl_mm_map-structure.patch \
+ file://0022-include-sys-wait.h-to-avoid-compile-failure.patch \
+ file://0023-socket-util.h-include-string.h.patch \
+ file://0024-test-json.c-define-M_PIl.patch \
+ file://0001-do-not-disable-buffer-in-writing-files.patch \
"
-# Workaround undefined reference to `__stack_chk_fail_local' on qemux86 and qemuppc for musl
-SRC_URI_append_libc-musl_qemux86 = " file://0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch"
-SRC_URI_append_libc-musl_qemuppc = " file://0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch"
-
PAM_PLUGINS = " \
pam-plugin-unix \
pam-plugin-loginuid \
@@ -81,7 +62,7 @@ PAM_PLUGINS = " \
"
PACKAGECONFIG ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'efi ldconfig pam selinux usrmerge', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'efi ldconfig pam selinux usrmerge polkit', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
acl \
@@ -99,7 +80,8 @@ PACKAGECONFIG ??= " \
myhostname \
networkd \
nss \
- polkit \
+ nss-mymachines \
+ nss-resolve \
quotacheck \
randomseed \
resolved \
@@ -117,8 +99,9 @@ PACKAGECONFIG_remove_libc-musl = " \
localed \
myhostname \
nss \
+ nss-mymachines \
+ nss-resolve \
resolved \
- selinux \
smack \
sysusers \
utmp \
@@ -161,10 +144,14 @@ PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4"
PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd"
-PACKAGECONFIG[myhostname] = "-Dmyhostname=true,-Dmyhostname=false"
+PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false"
PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false"
PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false"
+PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false"
+PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false"
+PACKAGECONFIG[openssl] = "-Dopenssl=true,-Dopenssl=false,openssl"
PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}"
+PACKAGECONFIG[pcre2] = "-Dpcre2=true,-Dpcre2=false,libpcre2"
PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false"
PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false"
PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode"
@@ -203,7 +190,6 @@ EXTRA_OEMESON += "-Dlink-udev-shared=false"
EXTRA_OEMESON += "-Dnobody-user=nobody \
-Dnobody-group=nobody \
- -Droothomedir=${ROOT_HOME} \
-Drootlibdir=${rootlibdir} \
-Drootprefix=${rootprefix} \
-Dsysvrcnd-path=${sysconfdir} \
@@ -211,7 +197,6 @@ EXTRA_OEMESON += "-Dnobody-user=nobody \
# Hardcode target binary paths to avoid using paths from sysroot
EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \
- -Dkill-path=${base_bindir}/kill \
-Dkmod-path=${base_bindir}/kmod \
-Dmount-path=${base_bindir}/mount \
-Dquotacheck-path=${sbindir}/quotacheck \
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty b/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
index e15ae35f9..96fd6cfcf 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
+++ b/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
@@ -13,6 +13,18 @@ active_serial=$(grep "serial" /proc/tty/drivers | cut -d/ -f1 | sed "s/ *$//")
# Rephrase input parameter from ttyS target index (ttyS1, ttyS2, ttyAMA0, etc).
runtime_tty=$(echo $2 | grep -oh '[0-9]')
+# busybox' getty does this itself, util-linux' agetty needs extra help
+getty="/sbin/getty"
+case $(readlink -f "${getty}") in
+ */busybox*)
+ ;;
+ *)
+ if [ -x "/usr/bin/setsid" ] ; then
+ setsid="/usr/bin/setsid"
+ fi
+ ;;
+esac
+
# Backup $IFS.
DEFAULT_IFS=$IFS
# Customize Internal Field Separator.
@@ -31,7 +43,7 @@ for line in $active_serial; do
then
if [ -c /dev/$2 ]
then
- /sbin/getty -L $1 $2 $3
+ ${setsid:-} ${getty} -L $1 $2 $3
fi
break
fi
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
index 8585a418a..bfd890d92 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
+++ b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
@@ -20,6 +20,7 @@ do_install() {
install -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab
install -d ${D}${base_bindir}
install -m 0755 ${WORKDIR}/start_getty ${D}${base_bindir}/start_getty
+ sed -e 's,/usr/bin,${bindir},g' -i ${D}${base_bindir}/start_getty
set -x
tmp="${SERIAL_CONSOLES}"
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch b/poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch
index 2575b59b5..2575b59b5 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch
+++ b/poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch b/poky/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch
index 7b342901e..7b342901e 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch
+++ b/poky/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch b/poky/meta/recipes-core/sysvinit/sysvinit/install.patch
index 6c4225a67..6c4225a67 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch
+++ b/poky/meta/recipes-core/sysvinit/sysvinit/install.patch
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/pidof-add-m-option.patch b/poky/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch
index 5b5dfdc00..5b5dfdc00 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit-2.88dsf/pidof-add-m-option.patch
+++ b/poky/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch
diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc
index a05c1cabb..18c3af240 100644
--- a/poky/meta/recipes-core/util-linux/util-linux.inc
+++ b/poky/meta/recipes-core/util-linux/util-linux.inc
@@ -19,121 +19,132 @@ LIC_FILES_CHKSUM = "file://README.licensing;md5=1715f5ee3e01203ca1e1e0b9ee65918c
file://libblkid/COPYING;md5=fb93f01d4361069c5616327705373b16"
#gtk-doc is not enabled as it requires xmlto which requires util-linux
-inherit autotools gettext pkgconfig systemd update-alternatives python3-dir bash-completion ptest
+inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest
DEPENDS = "zlib ncurses virtual/crypt"
-DEPENDS_append_class-native = " lzo-native"
-DEPENDS_append_class-nativesdk = " lzo-native"
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.xz \
+MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${MAJOR_VERSION}/${BP}.tar.xz \
"
-PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfdisk \
- util-linux-swaponoff util-linux-losetup util-linux-umount \
- util-linux-mount util-linux-readprofile util-linux-uuidd \
- util-linux-uuidgen util-linux-lscpu util-linux-fsck.cramfs util-linux-fsck \
- util-linux-blkid util-linux-mkfs util-linux-mcookie util-linux-rfkill \
- util-linux-lsblk util-linux-mkfs.cramfs util-linux-fstrim \
- util-linux-partx util-linux-hwclock util-linux-mountpoint \
- util-linux-findfs util-linux-getopt util-linux-sulogin util-linux-prlimit \
- util-linux-ionice util-linux-switch-root util-linux-unshare"
-PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', 'util-linux-pylibmount', '', d)}"
-PACKAGES =+ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'util-linux-runuser util-linux-su', '', d)}"
-
-PACKAGES_DYNAMIC = "^util-linux-lib.*"
-
-SHARED_EXTRA_OECONF = "--disable-use-tty-group \
- --disable-makeinstall-chown \
- --enable-kill --enable-last --enable-mesg --enable-partx \
- --enable-raw --enable-rfkill --disable-login \
- --disable-vipw --disable-newgrp --disable-chfn-chsh \
- --enable-write --enable-mount --enable-unshare \
- --enable-libuuid --enable-libblkid --enable-fsck \
- --disable-minix --disable-bfs --without-udev \
- usrsbin_execdir='${sbindir}' \
-"
+PACKAGES =+ "${PN}-swaponoff"
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', '${PN}-pylibmount', '', d)}"
+
+python util_linux_binpackages () {
+ def pkg_hook(f, pkg, file_regex, output_pattern, modulename):
+ pn = d.getVar('PN')
+ d.appendVar('RRECOMMENDS_%s' % pn, ' %s' % pkg)
+
+ if d.getVar('ALTERNATIVE_' + pkg):
+ return
+ if d.getVarFlag('ALTERNATIVE_LINK_NAME', modulename):
+ d.setVar('ALTERNATIVE_' + pkg, modulename)
+
+ bindirs = sorted(list(set(d.expand("${base_sbindir} ${base_bindir} ${sbindir} ${bindir}").split())))
+ for dir in bindirs:
+ do_split_packages(d, root=dir,
+ file_regex=r'(.*)', output_pattern='${PN}-%s',
+ description='${PN} %s',
+ hook=pkg_hook, extra_depends='')
+
+ # There are some symlinks for some binaries which we have ignored
+ # above. Add them to the package owning the binary they are
+ # pointing to
+ extras = {}
+ dvar = d.getVar('PKGD')
+ for root in bindirs:
+ for walkroot, dirs, files in os.walk(dvar + root):
+ for f in files:
+ file = os.path.join(walkroot, f)
+ if not os.path.islink(file):
+ continue
+
+ pkg = os.path.basename(os.readlink(file))
+ extras[pkg] = extras.get(pkg, '') + ' ' + file.replace(dvar, '', 1)
+
+ pn = d.getVar('PN')
+ for pkg, links in extras.items():
+ of = d.getVar('FILES_' + pn + '-' + pkg)
+ links = of + links
+ d.setVar('FILES_' + pn + '-' + pkg, links)
+}
+
+# we must execute before update-alternatives PACKAGE_PREPROCESS_FUNCS
+PACKAGE_PREPROCESS_FUNCS =+ "util_linux_binpackages "
+
+python util_linux_libpackages() {
+ do_split_packages(d, root=d.getVar('UTIL_LINUX_LIBDIR'), file_regex=r'^lib(.*)\.so\..*$',
+ output_pattern='${PN}-lib%s',
+ description='${PN} lib%s',
+ extra_depends='', prepend=True, allow_links=True)
+}
-EXTRA_OECONF = "${SHARED_EXTRA_OECONF} --libdir=${base_libdir}"
+PACKAGESPLITFUNCS =+ "util_linux_libpackages"
+
+PACKAGES_DYNAMIC = "^${PN}-.*"
+
+CACHED_CONFIGUREVARS += "scanf_cv_alloc_modifier=ms"
+UTIL_LINUX_LIBDIR = "${libdir}"
+UTIL_LINUX_LIBDIR_class-target = "${base_libdir}"
+EXTRA_OECONF = "\
+ --enable-libuuid --enable-libblkid \
+ \
+ --enable-fsck --enable-kill --enable-last --enable-mesg \
+ --enable-mount --enable-partx --enable-raw --enable-rfkill \
+ --enable-unshare --enable-write \
+ \
+ --disable-bfs --disable-chfn-chsh --disable-login \
+ --disable-makeinstall-chown --disable-minix --disable-newgrp \
+ --disable-use-tty-group --disable-vipw \
+ \
+ --without-udev \
+ \
+ usrsbin_execdir='${sbindir}' \
+ --libdir='${UTIL_LINUX_LIBDIR}' \
+"
PACKAGECONFIG_class-target ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
+# inherit manpages requires this to be present, however util-linux does not have
+# configuration options, and installs manpages always
+PACKAGECONFIG[manpages] = ""
PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam,"
-
# Respect the systemd feature for uuidd
-PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/, --without-systemd --without-systemdsystemunitdir,systemd"
-
+PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-systemd --without-systemdsystemunitdir,systemd"
# Build setpriv requires libcap-ng
PACKAGECONFIG[libcap-ng] = "--enable-setpriv,--disable-setpriv,libcap-ng,"
-
# Build python bindings for libmount
PACKAGECONFIG[pylibmount] = "--with-python=3 --enable-pylibmount,--without-python --disable-pylibmount,python3"
-
# Readline support
PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
-FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*"
+EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'"
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN} = ""
+FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*"
FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.la"
-
-FILES_util-linux-agetty = "${base_sbindir}/agetty"
-FILES_util-linux-fdisk = "${base_sbindir}/fdisk.${BPN}"
-FILES_util-linux-fstrim = "${base_sbindir}/fstrim.${BPN}"
-FILES_util-linux-cfdisk = "${base_sbindir}/cfdisk"
-FILES_util-linux-sfdisk = "${sbindir}/sfdisk"
-FILES_util-linux-swaponoff = "${base_sbindir}/swapon.${BPN} ${base_sbindir}/swapoff.${BPN}"
-FILES_util-linux-losetup = "${base_sbindir}/losetup.${BPN}"
-FILES_util-linux-mount = "${base_bindir}/mount.${BPN}"
-FILES_util-linux-mcookie = "${bindir}/mcookie"
-FILES_util-linux-umount = "${base_bindir}/umount.${BPN}"
-FILES_util-linux-readprofile = "${sbindir}/readprofile.${BPN}"
-FILES_util-linux-uuidgen = "${bindir}/uuidgen"
-FILES_util-linux-uuidd = "${sbindir}/uuidd"
-FILES_util-linux-rfkill = "${sbindir}/rfkill*"
-FILES_util-linux-partx = "${sbindir}/partx"
-FILES_util-linux-hwclock = "${base_sbindir}/hwclock.${BPN}"
-FILES_util-linux-findfs = "${sbindir}/findfs"
-FILES_util-linux-getopt = "${base_bindir}/getopt.${BPN}"
-FILES_util-linux-runuser = "${sbindir}/runuser"
-FILES_util-linux-prlimit = "${bindir}/prlimit"
-FILES_util-linux-ionice = "${bindir}/ionice.${BPN}"
-FILES_util-linux-su = "${bindir}/su.util-linux ${sysconfdir}/pam.d/su-l"
-CONFFILES_util-linux-su = "${sysconfdir}/pam.d/su-l"
-
-FILES_util-linux-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \
- ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \
- ${PYTHON_SITEPACKAGES_DIR}/libmount/__pycache__/*"
-FILES_util-linux-lsblk = "${bindir}/lsblk"
-FILES_util-linux-lscpu = "${bindir}/lscpu"
-
-FILES_util-linux-fsck = "${base_sbindir}/fsck*"
-FILES_util-linux-mkfs = "${sbindir}/mkfs"
-
-FILES_util-linux-fsck.cramfs = "${sbindir}/fsck.cramfs"
-FILES_util-linux-mkfs.cramfs = "${sbindir}/mkfs.cramfs"
-
-FILES_util-linux-sulogin = "${base_sbindir}/sulogin*"
-FILES_util-linux-mountpoint = "${base_bindir}/mountpoint.${BPN}"
-
-FILES_util-linux-switch-root = "${base_sbindir}/switch_root.${BPN}"
-FILES_util-linux-unshare = "${bindir}/unshare.${BPN}"
+FILES_${PN}-mount = "${sysconfdir}/default/mountall"
+FILES_${PN}-runuser = "${sysconfdir}/pam.d/runuser*"
+FILES_${PN}-su = "${sysconfdir}/pam.d/su-l"
+CONFFILES_${PN}-su = "${sysconfdir}/pam.d/su-l"
+FILES_${PN}-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \
+ ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \
+ ${PYTHON_SITEPACKAGES_DIR}/libmount/__pycache__/*"
# Util-linux' blkid replaces the e2fsprogs one
-FILES_util-linux-blkid = "${base_sbindir}/blkid*"
-RCONFLICTS_util-linux-blkid = "e2fsprogs-blkid"
-RREPLACES_util-linux-blkid = "e2fsprogs-blkid"
-
-RDEPENDS_util-linux-runuser += "libpam"
-RDEPENDS_util-linux-su += "libpam"
-
-RDEPENDS_${PN} = "util-linux-umount util-linux-swaponoff util-linux-losetup util-linux-sulogin util-linux-lsblk"
-RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'util-linux-runuser util-linux-su', '', d)}"
-
-RRECOMMENDS_${PN} = "util-linux-fdisk util-linux-cfdisk util-linux-sfdisk util-linux-mount util-linux-readprofile util-linux-mkfs util-linux-mountpoint util-linux-prlimit util-linux-ionice util-linux-switch-root"
+RCONFLICTS_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid"
+RREPLACES_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid"
RRECOMMENDS_${PN}_class-native = ""
RRECOMMENDS_${PN}_class-nativesdk = ""
RDEPENDS_${PN}_class-native = ""
RDEPENDS_${PN}_class-nativesdk = ""
-RPROVIDES_${PN}-dev = "util-linux-libblkid-dev util-linux-libmount-dev util-linux-libuuid-dev"
+RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev ${PN}-libuuid-dev"
+
+RDEPENDS_${PN}-bash-completion += "${PN}-lsblk"
+RDEPENDS_${PN}-ptest = "bash grep coreutils which btrfs-tools ${PN}"
+RDEPENDS_${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff"
+ALLOW_EMPTY_${PN}-swaponoff = "1"
#SYSTEMD_PACKAGES = "${PN}-uuidd ${PN}-fstrim"
SYSTEMD_SERVICE_${PN}-uuidd = "uuidd.socket uuidd.service"
@@ -141,23 +152,17 @@ SYSTEMD_AUTO_ENABLE_${PN}-uuidd = "disable"
SYSTEMD_SERVICE_${PN}-fstrim = "fstrim.timer fstrim.service"
SYSTEMD_AUTO_ENABLE_${PN}-fstrim = "disable"
-do_compile () {
- set -e
- oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'
-}
-
do_install () {
# with ccache the timestamps on compiled files may
# end up earlier than on their inputs, this allows
# for the resultant compilation in the install step.
- oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= \
- 'OPT=${CFLAGS}' 'CC=${CC}' 'LD=${LD}' \
+ oe_runmake 'CC=${CC}' 'LD=${LD}' \
'LDFLAGS=${LDFLAGS}' 'DESTDIR=${D}' install
mkdir -p ${D}${base_bindir}
sbinprogs="agetty ctrlaltdel cfdisk vipw vigr"
- sbinprogs_a="pivot_root hwclock mkswap mkfs.minix fsck.minix losetup swapon swapoff fdisk fsck blkid blockdev fstrim sulogin switch_root nologin"
+ sbinprogs_a="pivot_root hwclock mkswap losetup swapon swapoff fdisk fsck blkid blockdev fstrim sulogin switch_root nologin"
binprogs_a="dmesg getopt kill more umount mount login su mountpoint"
if [ "${base_sbindir}" != "${sbindir}" ]; then
@@ -205,123 +210,80 @@ do_install_append_class-native () {
ALTERNATIVE_PRIORITY = "80"
-ALTERNATIVE_${PN} = " \
- dmesg kill more mkswap blockdev pivot_root \
- hexdump last lastb logger mesg renice wall \
- setsid chrt flock utmpdump eject nologin taskset fallocate \
- fsfreeze nsenter cal rev \
-"
-
-ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg"
-ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill"
-ALTERNATIVE_LINK_NAME[more] = "${base_bindir}/more"
-ALTERNATIVE_LINK_NAME[mkswap] = "${base_sbindir}/mkswap"
+ALTERNATIVE_LINK_NAME[blkid] = "${base_sbindir}/blkid"
ALTERNATIVE_LINK_NAME[blockdev] = "${base_sbindir}/blockdev"
-ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root"
ALTERNATIVE_LINK_NAME[cal] = "${bindir}/cal"
+ALTERNATIVE_LINK_NAME[chrt] = "${bindir}/chrt"
+ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg"
ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject"
ALTERNATIVE_LINK_NAME[fallocate] = "${bindir}/fallocate"
-ALTERNATIVE_LINK_NAME[rev] = "${bindir}/rev"
+ALTERNATIVE_LINK_NAME[fdisk] = "${base_sbindir}/fdisk"
+ALTERNATIVE_LINK_NAME[flock] = "${bindir}/flock"
+ALTERNATIVE_LINK_NAME[fsck] = "${base_sbindir}/fsck"
ALTERNATIVE_LINK_NAME[fsfreeze] = "${sbindir}/fsfreeze"
+ALTERNATIVE_LINK_NAME[fstrim] = "${base_sbindir}/fstrim"
+ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt"
+ALTERNATIVE_${PN}-agetty = "getty"
+ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty"
+ALTERNATIVE_TARGET[getty] = "${base_sbindir}/agetty"
+ALTERNATIVE_LINK_NAME[hexdump] = "${bindir}/hexdump"
+ALTERNATIVE_LINK_NAME[hwclock] = "${base_sbindir}/hwclock"
+ALTERNATIVE_LINK_NAME[ionice] = "${bindir}/ionice"
+ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill"
+ALTERNATIVE_${PN}-last = "last lastb"
+ALTERNATIVE_LINK_NAME[last] = "${bindir}/last"
+ALTERNATIVE_LINK_NAME[lastb] = "${bindir}/lastb"
+ALTERNATIVE_LINK_NAME[logger] = "${bindir}/logger"
+ALTERNATIVE_LINK_NAME[losetup] = "${base_sbindir}/losetup"
+ALTERNATIVE_LINK_NAME[mesg] = "${bindir}/mesg"
+ALTERNATIVE_LINK_NAME[mkswap] = "${base_sbindir}/mkswap"
+ALTERNATIVE_LINK_NAME[more] = "${base_bindir}/more"
+ALTERNATIVE_LINK_NAME[mount] = "${base_bindir}/mount"
+ALTERNATIVE_LINK_NAME[mountpoint] = "${base_bindir}/mountpoint"
ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin"
+ALTERNATIVE_LINK_NAME[nsenter] = "${bindir}/nsenter"
+ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root"
+ALTERNATIVE_LINK_NAME[readprofile] = "${sbindir}/readprofile"
+ALTERNATIVE_LINK_NAME[renice] = "${bindir}/renice"
+ALTERNATIVE_LINK_NAME[rev] = "${bindir}/rev"
+ALTERNATIVE_LINK_NAME[rfkill] = "${sbindir}/rfkill"
+ALTERNATIVE_LINK_NAME[setsid] = "${bindir}/setsid"
+ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su"
+ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin"
+ALTERNATIVE_LINK_NAME[swapoff] = "${base_sbindir}/swapoff"
+ALTERNATIVE_LINK_NAME[swapon] = "${base_sbindir}/swapon"
+ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root"
+ALTERNATIVE_LINK_NAME[taskset] = "${bindir}/taskset"
+ALTERNATIVE_LINK_NAME[umount] = "${base_bindir}/umount"
+ALTERNATIVE_LINK_NAME[unshare] = "${bindir}/unshare"
+ALTERNATIVE_LINK_NAME[utmpdump] = "${bindir}/utmpdump"
+ALTERNATIVE_LINK_NAME[wall] = "${bindir}/wall"
-ALTERNATIVE_${PN}-doc = "mountpoint.1 last.1 lastb.1 mesg.1 wall.1 nologin.8 sulogin.8 utmpdump.1 rfkill.8 kill.1 libblkid.3 blkid.8 findfs.8 fsck.8 uuid.3 eject.1 logger.1"
+ALTERNATIVE_${PN}-doc = "blkid.8 eject.1 findfs.8 fsck.8 kill.1 last.1 lastb.1 libblkid.3 logger.1 mesg.1 mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1"
+ALTERNATIVE_${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'su.1', '', d)}"
+ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8"
+ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1"
+ALTERNATIVE_LINK_NAME[findfs.8] = "${mandir}/man8/findfs.8"
+ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8"
+ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
ALTERNATIVE_LINK_NAME[last.1] = "${mandir}/man1/last.1"
ALTERNATIVE_LINK_NAME[lastb.1] = "${mandir}/man1/lastb.1"
+ALTERNATIVE_LINK_NAME[libblkid.3] = "${mandir}/man3/libblkid.3"
+ALTERNATIVE_LINK_NAME[logger.1] = "${mandir}/man1/logger.1"
ALTERNATIVE_LINK_NAME[mesg.1] = "${mandir}/man1/mesg.1"
ALTERNATIVE_LINK_NAME[mountpoint.1] = "${mandir}/man1/mountpoint.1"
ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8"
ALTERNATIVE_LINK_NAME[rfkill.8] = "${mandir}/man8/rfkill.8"
+ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1"
ALTERNATIVE_LINK_NAME[sulogin.8] = "${mandir}/man8/sulogin.8"
ALTERNATIVE_LINK_NAME[utmpdump.1] = "${mandir}/man1/utmpdump.1"
-ALTERNATIVE_LINK_NAME[wall.1] = "${mandir}/man1/wall.1"
-ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
-ALTERNATIVE_LINK_NAME[libblkid.3] = "${mandir}/man3/libblkid.3"
-ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8"
-ALTERNATIVE_LINK_NAME[findfs.8] = "${mandir}/man8/findfs.8"
-ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8"
ALTERNATIVE_LINK_NAME[uuid.3] = "${mandir}/man3/uuid.3"
-ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1"
-ALTERNATIVE_LINK_NAME[logger.1] = "${mandir}/man1/logger.1"
-
-ALTERNATIVE_util-linux-hwclock = "hwclock"
-ALTERNATIVE_LINK_NAME[hwclock] = "${base_sbindir}/hwclock"
-
-ALTERNATIVE_util-linux-fdisk = "fdisk"
-ALTERNATIVE_LINK_NAME[fdisk] = "${base_sbindir}/fdisk"
-
-ALTERNATIVE_util-linux-fstrim = "fstrim"
-ALTERNATIVE_LINK_NAME[fstrim] = "${base_sbindir}/fstrim"
-
-ALTERNATIVE_util-linux-agetty = "getty"
-ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty"
-ALTERNATIVE_TARGET[getty] = "${base_sbindir}/agetty"
-
-ALTERNATIVE_util-linux-mount = "mount"
-ALTERNATIVE_LINK_NAME[mount] = "${base_bindir}/mount"
-
-ALTERNATIVE_util-linux-umount = "umount"
-ALTERNATIVE_LINK_NAME[umount] = "${base_bindir}/umount"
-
-ALTERNATIVE_util-linux-readprofile = "readprofile"
-ALTERNATIVE_LINK_NAME[readprofile] = "${sbindir}/readprofile"
-
-ALTERNATIVE_util-linux-losetup = "losetup"
-ALTERNATIVE_LINK_NAME[losetup] = "${base_sbindir}/losetup"
-
-ALTERNATIVE_util-linux-swaponoff = "swapoff swapon"
-ALTERNATIVE_LINK_NAME[swapoff] = "${base_sbindir}/swapoff"
-ALTERNATIVE_LINK_NAME[swapon] = "${base_sbindir}/swapon"
-
-ALTERNATIVE_util-linux-fsck = "fsck"
-ALTERNATIVE_LINK_NAME[fsck] = "${base_sbindir}/fsck"
-
-ALTERNATIVE_util-linux-blkid = "blkid"
-ALTERNATIVE_LINK_NAME[blkid] = "${base_sbindir}/blkid"
-
-ALTERNATIVE_util-linux-rfkill = "rfkill"
-ALTERNATIVE_LINK_NAME[rfkill] = "${sbindir}/rfkill"
-
-ALTERNATIVE_util-linux-getopt = "getopt"
-ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt"
-
-ALTERNATIVE_util-linux-sulogin = "sulogin"
-ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin"
-
-ALTERNATIVE_util-linux-mountpoint = "mountpoint"
-ALTERNATIVE_LINK_NAME[mountpoint] = "${base_bindir}/mountpoint"
-
-ALTERNATIVE_util-linux-unshare = "unshare"
-ALTERNATIVE_LINK_NAME[unshare] = "${bindir}/unshare"
-
-ALTERNATIVE_util-linux-ionice = "ionice"
-ALTERNATIVE_LINK_NAME[ionice] = "${bindir}/ionice"
+ALTERNATIVE_LINK_NAME[wall.1] = "${mandir}/man1/wall.1"
-ALTERNATIVE_util-linux-switch-root = "switch_root"
-ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root"
BBCLASSEXTEND = "native nativesdk"
-python do_package_prepend () {
- if '--enable-su' in d.getVar('EXTRA_OECONF').split():
- d.appendVar(d.expand('ALTERNATIVE_${PN}'), ' su')
- d.appendVar(d.expand('ALTERNATIVE_${PN}-doc'), ' su.1')
-
- d.setVarFlag('ALTERNATIVE_LINK_NAME', "su", d.expand('${base_bindir}/su'))
- d.setVarFlag('ALTERNATIVE_LINK_NAME', "su.1", d.expand('${mandir}/man1/su.1'))
-}
-
-python populate_packages_prepend() {
- do_split_packages(d, '${base_libdir}', '^lib(.*)\.so\..*$',
- output_pattern='util-linux-lib%s',
- description='util-linux lib%s',
- extra_depends='', prepend=True, allow_links=True)
-}
-
-RDEPENDS_${PN}-bash-completion += "util-linux-lsblk"
-RDEPENDS_${PN}-ptest = "bash grep coreutils which util-linux-blkid util-linux-fsck btrfs-tools"
-
do_compile_ptest() {
oe_runmake buildtest-TESTS
}
diff --git a/poky/meta/recipes-core/util-linux/util-linux/check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch b/poky/meta/recipes-core/util-linux/util-linux/check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch
new file mode 100644
index 000000000..c92c276ac
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch
@@ -0,0 +1,16 @@
+Checking for exitence of the define is not enough since
+it will be defined with 0 or 1 value
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/sys-utils/ldattach.c
++++ b/sys-utils/ldattach.c
+@@ -242,7 +242,7 @@ static int my_cfsetspeed(struct termios
+ * -- we have to bypass glibc and set the speed manually (because glibc
+ * checks for speed and supports Bxxx bit rates only)...
+ */
+-#ifdef _HAVE_STRUCT_TERMIOS_C_ISPEED
++#if _HAVE_STRUCT_TERMIOS_C_ISPEED
+ # define BOTHER 0010000 /* non standard rate */
+ dbg("using non-standard speeds");
+ ts->c_ospeed = ts->c_ispeed = speed;
diff --git a/poky/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch b/poky/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
deleted file mode 100644
index 68bf22de8..000000000
--- a/poky/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From f220d809be1baa654503bf6ff52f3630b0d7015c Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Wed, 26 Mar 2014 01:30:29 +0000
-Subject: [PATCH] sun.c: use qsort() to instead of qsort_r()
-
-qsort_r() was added to glibc in version 2.8, so there is no qsort_r() on
-the host like CentOS 5.x.
-
-Upstream-Status: Inappropriate [Other]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- libfdisk/src/sun.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-Index: util-linux-2.24.2/libfdisk/src/sun.c
-===================================================================
---- util-linux-2.24.2.orig/libfdisk/src/sun.c
-+++ util-linux-2.24.2/libfdisk/src/sun.c
-@@ -431,10 +431,9 @@ static int sun_verify_disklabel(struct f
- }
- verify_sun_starts = starts;
-
-- qsort_r(array,ARRAY_SIZE(array),sizeof(array[0]),
-- (int (*)(const void *,const void *,void *)) verify_sun_cmp,
-- verify_sun_starts);
--
-+ qsort(array,ARRAY_SIZE(array),sizeof(array[0]),
-+ (int (*)(const void *,const void *)) verify_sun_cmp);
-+
- if (array[0] == -1) {
- fdisk_info(cxt, _("No partitions defined."));
- return 0;
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb b/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb
index a616d85bb..e0bd38363 100644
--- a/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb
@@ -1,28 +1,13 @@
-MAJOR_VERSION = "2.32"
require util-linux.inc
-# To support older hosts, we need to patch and/or revert
-# some upstream changes. Only do this for native packages.
-OLDHOST = ""
-OLDHOST_class-native = "file://util-linux-native-qsort.patch"
-
SRC_URI += "file://configure-sbindir.patch \
file://runuser.pamd \
file://runuser-l.pamd \
- ${OLDHOST} \
file://ptest.patch \
file://run-ptest \
file://display_testname_for_subtest.patch \
file://avoid_parallel_tests.patch \
+ file://check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch \
"
SRC_URI[md5sum] = "9e5b1b8c1dc99455bdb6b462cf9436d9"
SRC_URI[sha256sum] = "86e6707a379c7ff5489c218cfaf1e3464b0b95acf7817db0bc5f179e356a67b2"
-
-CACHED_CONFIGUREVARS += "scanf_cv_alloc_modifier=ms"
-
-EXTRA_OECONF_class-native = "${SHARED_EXTRA_OECONF} \
- --disable-use-tty-group \
-"
-EXTRA_OECONF_class-nativesdk = "${SHARED_EXTRA_OECONF} \
- --disable-use-tty-group \
-"
diff --git a/poky/meta/recipes-core/zlib/zlib-1.2.11/Makefile-runtests.patch b/poky/meta/recipes-core/zlib/zlib-1.2.11/Makefile-runtests.patch
deleted file mode 100644
index 61eea8238..000000000
--- a/poky/meta/recipes-core/zlib/zlib-1.2.11/Makefile-runtests.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Add 'ptest' target to Makefile, to run tests without checking dependencies.
-
-Signed-off-by: Anders Roxell <anders.roxell@enea.com>
-Upstream-Status: Pending
----
-diff -uNr a/Makefile.in b/Makefile.in
---- a/Makefile.in 2013-06-10 13:48:14.321959162 +0200
-+++ b/Makefile.in 2013-06-10 13:49:36.686476448 +0200
-@@ -83,6 +83,9 @@
- test: all teststatic testshared
-
- teststatic: static
-+ @make runteststatic
-+
-+runteststatic:
- @TMPST=tmpst_$$; \
- if echo hello world | ./minigzip | ./minigzip -d && ./example $$TMPST ; then \
- echo ' *** zlib test OK ***'; \
-@@ -92,6 +95,9 @@
- rm -f $$TMPST
-
- testshared: shared
-+ @make runtestshared
-+
-+runtestshared:
- @LD_LIBRARY_PATH=`pwd`:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
- LD_LIBRARYN32_PATH=`pwd`:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
- DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
-@@ -105,6 +111,9 @@
- rm -f $$TMPSH
-
- test64: all64
-+ @make runtestall64
-+
-+runtestall64:
- @TMP64=tmp64_$$; \
- if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64 $$TMP64; then \
- echo ' *** zlib 64-bit test OK ***'; \
diff --git a/poky/meta/recipes-core/zlib/zlib-1.2.11/remove.ldconfig.call.patch b/poky/meta/recipes-core/zlib/zlib-1.2.11/remove.ldconfig.call.patch
deleted file mode 100644
index 7ccbe1f44..000000000
--- a/poky/meta/recipes-core/zlib/zlib-1.2.11/remove.ldconfig.call.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-
-When /etc/ld.so.cache is writeable by user running bitbake then it creates invalid cache
-(in my case libstdc++.so cannot be found after building zlib(-native) and I have to call
-touch */libstdc++.so && /sbin/ldconfig to fix it.
-
-So remove ldconfig call from make install-libs
-
-Upstream-Status: Inappropriate [disable feature]
-
-Index: zlib-1.2.11/Makefile.in
-===================================================================
---- zlib-1.2.11.orig/Makefile.in
-+++ zlib-1.2.11/Makefile.in
-@@ -322,7 +322,6 @@ install-libs: $(LIBS)
- rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
- ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB); \
- ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
-- ($(LDCONFIG) || true) >/dev/null 2>&1; \
- fi
- rm -f $(DESTDIR)$(man3dir)/zlib.3
- cp $(SRCDIR)zlib.3 $(DESTDIR)$(man3dir)
diff --git a/poky/meta/recipes-core/zlib/zlib-1.2.11/run-ptest b/poky/meta/recipes-core/zlib/zlib-1.2.11/run-ptest
deleted file mode 100644
index 884d9dc69..000000000
--- a/poky/meta/recipes-core/zlib/zlib-1.2.11/run-ptest
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-make -k runteststatic runtestshared | sed -r -e 's/^(\s+\*+ (.+?) test OK \*+)/\1\nPASS: \2/' -e 's/^(\s+\*+ (.+?) test FAILED \*+)/\1\nFAIL: \2/'
diff --git a/poky/meta/recipes-core/zlib/zlib-1.2.11/ldflags-tests.patch b/poky/meta/recipes-core/zlib/zlib/ldflags-tests.patch
index 19c40b745..286390665 100644
--- a/poky/meta/recipes-core/zlib/zlib-1.2.11/ldflags-tests.patch
+++ b/poky/meta/recipes-core/zlib/zlib/ldflags-tests.patch
@@ -1,7 +1,7 @@
Obey LDFLAGS for tests
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://github.com/madler/zlib/pull/409]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
--- zlib-1.2.8.orig/Makefile.in
+++ zlib-1.2.8/Makefile.in
diff --git a/poky/meta/recipes-core/zlib/zlib/run-ptest b/poky/meta/recipes-core/zlib/zlib/run-ptest
new file mode 100644
index 000000000..065863ef7
--- /dev/null
+++ b/poky/meta/recipes-core/zlib/zlib/run-ptest
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if ./examplesh ; then
+ echo "PASS: zlib"
+else
+ echo "FAIL: zlib"
+fi
diff --git a/poky/meta/recipes-core/zlib/zlib_1.2.11.bb b/poky/meta/recipes-core/zlib/zlib_1.2.11.bb
index 641051988..ef9431ae4 100644
--- a/poky/meta/recipes-core/zlib/zlib_1.2.11.bb
+++ b/poky/meta/recipes-core/zlib/zlib_1.2.11.bb
@@ -7,8 +7,6 @@ LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://zlib.h;beginline=6;endline=23;md5=5377232268e952e9ef63bc555f7aa6c0"
SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/${BPN}/${PV}/${BPN}-${PV}.tar.xz \
- file://remove.ldconfig.call.patch \
- file://Makefile-runtests.patch \
file://ldflags-tests.patch \
file://run-ptest \
"
@@ -24,32 +22,19 @@ RDEPENDS_${PN}-ptest += "make"
inherit ptest
do_configure() {
- uname=GNU ./configure --prefix=${prefix} --shared --libdir=${libdir}
+ LDCONFIG=true ./configure --prefix=${prefix} --shared --libdir=${libdir} --uname=GNU
}
do_compile() {
oe_runmake shared
}
-do_compile_ptest() {
- oe_runmake test
-}
-
do_install() {
oe_runmake DESTDIR=${D} install
}
do_install_ptest() {
- install ${B}/Makefile ${D}${PTEST_PATH}
- install ${B}/example ${D}${PTEST_PATH}
- install ${B}/minigzip ${D}${PTEST_PATH}
- install ${B}/examplesh ${D}${PTEST_PATH}
- install ${B}/minigzipsh ${D}${PTEST_PATH}
-
- # Remove buildhost references...
- sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- ${D}${PTEST_PATH}/Makefile
+ install ${B}/examplesh ${D}${PTEST_PATH}
}
# Move zlib shared libraries for target builds to $base_libdir so the library
OpenPOWER on IntegriCloud