Compare commits

...

121 Commits

Author SHA1 Message Date
Chen Qi
f49ee61422 systemd-boot: upgrade to 237
Upgrade systemd-boot to 237.

As systemd has dropped autotools support, fix configure and compile
failures related to meson.

(From OE-Core rev: 086308aa2a5e332de6f00ed397c4a55d132f158f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:33 +00:00
Chen Qi
aacaf836ba systemd: fix build failure for qemux86 and qemuppc with musl
Remove the 'fstack-protector' and 'fstack-protector-strong' flags
as a workaround to fix the following error when building for qemux86
and qemuppc with musl.

  undefined reference to `__stack_chk_fail_local'

(From OE-Core rev: 4871d3c2b6dd6c07a2adcfbc9ecfb22e4afa2d0d)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:33 +00:00
Chen Qi
40db00818e systemd: upgrade to 237
Upgrade systemd to 237.

Note that this version has dropped autotools support.

The following patches are rebased:
0004-Use-getenv-when-secure-versions-are-not-available.patch
0005-binfmt-Don-t-install-dependency-links-at-install-tim.patch
0007-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch
0018-check-for-uchar.h-in-configure.patch
0019-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch
0001-add-fallback-parse_printf_format-implementation.patch
0002-src-basic-missing.h-check-for-missing-strndupa.patch
0007-check-for-missing-canonicalize_file_name.patch
0008-Do-not-enable-nss-tests.patch
0010-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
0011-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch

The following backported patches are dropped:
0001-core-evaluate-presets-after-generators-have-run-6526.patch
0001-main-skip-many-initialization-steps-when-running-in-.patch
0001-meson-update-header-file-to-detect-memfd_create.patch
0003-fileio-include-sys-mman.h.patch

The following patch is dropped as autotools support is dropped:
0002-configure.ac-Check-if-memfd_create-is-already-define.patch

The following patches are newly added to fix problems:
0027-remove-nobody-user-group-checking.patch
0028-add-missing-FTW_-macros-for-musl.patch
0030-fix-missing-of-__register_atfork-for-non-glibc-build.patch
0031-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch

Other changes are mostly autotools/meson related.

This new version has dropped ptest support, as there's no easy
way to do this in the framework of meson.

(From OE-Core rev: 906230a73b3ccfa4afd2a19a6b0aa18cd1d5fa08)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:33 +00:00
Maxin B. John
0748f2c4d5 libsolv: refresh the patches
fixes:

WARNING: libsolv-0.6.33-r0 do_patch:
Some of the context lines in patches were ignored. This can lead to
incorrectly applied patches.
The context lines in the patches can be updated with devtool:

devtool modify <recipe>
devtool finish --force-patch-refresh <recipe> <layer_path>

Then the updated patches and the source tree (in devtool's workspace)
should be reviewed to make sure the patches apply in the correct place
and don't introduce duplicate lines (which can, and does happen
when some of the context is ignored). Further information:
http://lists.openembedded.org/pipermail/openembedded-core/2018-March/148675.html
https://bugzilla.yoctoproject.org/show_bug.cgi?id=10450
Details:
Applying patch
0001-Add-fallback-fopencookie-implementation.patch
patching file ext/CMakeLists.txt
patching file ext/solv_xfopen.c
Hunk #1 succeeded at 12 with fuzz 1 (offset -1 lines).
Hunk #2 succeeded at 25 (offset -18 lines).
Hunk #3 succeeded at 34 (offset -18 lines).
Hunk #4 succeeded at 46 (offset -18 lines).
patching file ext/solv_xfopen_fallback_fopencookie.c
patching file ext/solv_xfopen_fallback_fopencookie.h

Now at patch 0001-Add-fallback-fopencookie-implementation.patch

(From OE-Core rev: 388a6cdef0a993d781141f7c375a198f4c4ab808)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
Martin Jansa
4e05a42b93 iputils: add PACKAGECONFIG for libidn and disable it by default
* it got enabled by default, but without the dependency on libidn in:
  commit 5997981fa2c22609a88b8cbb595dbf7758b2f7c2
  Author: Alexander Kanavin <alexander.kanavin@linux.intel.com>
  AuthorDate: Thu Feb 1 20:02:08 2018 +0200
  Subject: iputils: update to 20161105

* https://github.com/iputils/iputils/blob/master/RELNOTES.old
  mentiones that IDN was enabled by default in:
  [s20160308] and surprisingly the same in [s20150815]
  but there are no release notes for s20151218 version we were using until
  now, don't know how it really relates to [s20150815].

* but there are some issues with libidn as described in:
  f3a461603e
  so disable it by default.

* fails with:
  | In file included from ping_common.c:1:0:
  | ping.h:39:10: fatal error: idna.h: No such file or directory
  |  #include <idna.h>
  |           ^~~~~~~~

* Easiest way to reproduce this failure is to remove libidn from gnutls
  PACKAGECONFIG or to use gnutls which doesn't have libidn PACKAGECONFIG
  at all (like the one in meta-gplv2).

* First it leads to following QA issue:
  http://errors.yoctoproject.org/Errors/Build/53212/
  ERROR: iputils-s20161105-r0 do_package_qa: QA Issue: iputils-ping rdepends on libidn, but it isn't a build dependency, missing libidn in DEPENDS or PACKAGECONFIG? [build-deps]
  ERROR: iputils-s20161105-r0 do_package_qa: QA Issue: iputils-traceroute6 rdepends on libidn, but it isn't a build dependency, missing libidn in DEPENDS or PACKAGECONFIG? [build-deps]
  ERROR: iputils-s20161105-r0 do_package_qa: QA run found fatal errors.
  Please consider fixing them.
  ERROR: iputils-s20161105-r0 do_package_qa: Function failed:
  do_package_qa
  ERROR: Logfile of failure stored in: /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/iputils/s20161105-r0/temp/log.do_package_qa.7627
  ERROR: Task (/OE/build/oe-core/openembedded-core/meta/recipes-extended/iputils/iputils_s20161105.bb:do_package_qa) failed with exit code '1'

* But if you cleansstate iputils as well (after removing libidn from
  gnutls PACKAGECONFIG) to empty iputils RSS, then you get the error about
  missing idna.h:
  http://errors.yoctoproject.org/Errors/Build/53213/

* Adding the libidn dependency explicitly in iputils recipe fixes the
  issue.

(From OE-Core rev: 97defe35051ff86f665547bb6b6497c83b7027a6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
Alexander Kanavin
dad8f073e3 package-index: index also subdirectories when using rpm
Previously only the top-level index was created, which did not
work if PACKAGE_FEED_ARCHS whitelisting (or explicitly listing
architectures in dnf repo files by hand) was in use:
https://lists.yoctoproject.org/pipermail/yocto/2018-March/040327.html
https://bugzilla.yoctoproject.org/show_bug.cgi?id=12419

[YOCTO #12419]

(From OE-Core rev: f2a568ddb22f38114fdbc1d389c7556386ebb1fa)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
Alexander Kanavin
c256b715e6 glibc: fix upstream version check
Exclude x.y.90* pre-release versions in particular.

(From OE-Core rev: 3fa440b0d8090135a66f6ddbd0db77c94760686e)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
Khem Raj
35b28399d5 dpkg: Backport riscv support
Refresh patches with devtool

(From OE-Core rev: 6d21977c9d1cf00b102a58e28797250b9a853caf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
Khem Raj
9a6b5496a4 mtd-utils: Explicitly add pthread options to cflags
Some architectures e.g. riscv gcc does not add -D_REENTRANT
when enabling pthreads. Help it here by adding these options
while gcc gets fixed

(From OE-Core rev: 856aa732cac62a2c45473bcc91f7d0c423c52f81)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
Otavio Salvador
abc0655bae linux-firmware: upgrade to 4c0bf11 revision
License-Update: new releases and copyright years updated.
(From OE-Core rev: cf757ca67325415a26555c67a098f168453339a4)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
Maxin B. John
c3c336f106 watchdog: remove interdependencies of watchdog and wd_keepalive
Since watchdog and watchdog-keepalive packages can't be installed
together, move wd_keepalive.service to watchdog-keepalive package.

Remove the inter-dependencies of watchdog and wd_keepalive
services as well.

[YOCTO #12565]

(From OE-Core rev: 1d09eacc78ff44df54d6ace26702f4d9bf9e639c)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
Ross Burton
eeafb85124 opkg-utils: use multithreaded xz when building packages
(From OE-Core rev: 369c43cca4f00272e0f9eb8b939f38f00dc43cc3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
Anuj Mittal
da4e855060 perf: enable support for libaudit
perf needs audit-python to be able to show syscall names and for
'perf trace' to work.

Enable dependency on audit-python if present in PACKAGECONFIG. It's
disabled by default since audit as of now is in meta-selinux.

Fixes [YOCTO #3343]
Fixes [YOCTO #3358]

(From OE-Core rev: c386abacae89a148e77ffa51630c7917e90406f9)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
Maxin B. John
f6f688842b image_types.bbclass: Rename lz4_legacy to lz4
LZ4 format currently used by the Linux kernel is the 'legacy' format.

In order to avoid creating an image that can't be used as a compressed
initial ramdisk with Linux kernel, rename lz4_legacy to lz4.

[YOCTO #12461]
[YOCTO #12149]

(From OE-Core rev: 0c62a9b272d381bd5a16cfef19ecd1a15f521473)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
Martin Jansa
00b23ae2aa patch.py: Use git format-patch with --no-signature --no-numbered params
* --no-signature saves unnecessary .patch modifications when executed on
  host with different git version
* --no-numbered saves unnecessary .patch modifications when number of the
  applied patches is changed (the number is still in the filename so the
  order how they should be applied is still preserved)
* both options exist for very long time, I've tested them with git 1.9.1
  from Ubuntu 14.04 and I'm quite sure they were available even in much
  older releases, so there shouldn't be any issue on relatively new sanity
  tested distros

(From OE-Core rev: ad76fa92c3a5be38962aff09df070ffd9756f777)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
Ross Burton
11032bebe8 package_manager: format pydoc comments properly
(From OE-Core rev: b2770ec717d2b3cfc475c0cf7fa372fdb2f691a9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
California Sullivan
d5075b648b kernel.bbclass: set HOSTLDFLAGS in KCONFIG_CONFIG_COMMAND
Kernel v4.14 and newer contain the following in their Makefile:

HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS)
HOSTLDFLAGS  := $(HOST_LFS_LDFLAGS)

This breaks our menuconfig, because it can no longer find ncurses if its
not on the host machine. This can be seen in linux-yocto-dev, for
example:

[clsulliv@clsulliv build]$ bitbake virtual/kernel -c menuconfig

  GEN     ./Makefile
  HOSTLD  scripts/kconfig/mconf
/home/clsulliv/yocto/poky/build/tmp/hosttools/ld: cannot find -lncurses
/home/clsulliv/yocto/poky/build/tmp/hosttools/ld: cannot find -ltinfo
collect2: error: ld returned 1 exit status
make[3]: *** [scripts/Makefile.host:99: scripts/kconfig/mconf] Error 1
make[2]: *** [/home/clsulliv/yocto/poky/build/tmp/work-shared/intel-corei7-64/kernel-source/Makefile:504: menuconfig] Error 2
make[1]: *** [Makefile:146: sub-make] Error 2
make: *** [Makefile:24: __sub-make] Error 2
Command failed.
Press any key to continue...

Fix this by setting HOSTLDFLAGS to ${BUILD_LDFLAGS} in our
'make menuconfig' command.

(From OE-Core rev: 6afe8e211bfb3deb359194488f34a2c56f4b5ef6)

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:32 +00:00
Derek Straka
6a8ef3d5a4 python-numpy: update to 1.14.2
Update to the latest stable release

(From OE-Core rev: 0f31b37d1233867e5dfdd126b98d5017df602888)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Derek Straka
83707d9d15 python3-pip: update to 9.0.2
Update to the latest stable release

(From OE-Core rev: 998ac44d8be496c852a41fa112f997362db7da4f)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Derek Straka
36fa6cc835 python3-pygobject: update to 3.28.1
Update to the latest stable release

Tested in qemux86-64 running core-image-minimal

(From OE-Core rev: aa33df15dca690b6556794b604cb99bd13dbce72)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Derek Straka
a3d931d7aa python*-setuptools: update to 39.0.0
Update the python{3}-setuptools to the latest stable version

Tested on the qemu with core-image-minimal

(From OE-Core rev: 8422880acf65802dbaa08238ae9e63670ed49ff3)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Khem Raj
887f583c45 python-numpy: Fix build for riscv64
(From OE-Core rev: d33b321bce110fae8e5730f507be70f33d91fe22)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Derek Straka
d91238016e python3-native: update to version 3.5.5 to fix security issues
License-Update: checksum change is due to bump in copyright year

Resolves CVE-2017-1000158 and other potential security issues

See https://docs.python.org/3.5/whatsnew/changelog.html#python-3-5-5-final

(From OE-Core rev: e19df4b40d76cdae65a26fb08efc17542e0e86b9)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Alexander Kanavin
066700462a python3-native: fix build races in 'make regen-all'
Python 2.x and target Python 3.x do not have this issue.

[YOCTO #12596]

(From OE-Core rev: 5bfba3d09cfabb3a1895dcf9921801df318d804c)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Joe Slater
649d23696f gnome-desktop: do not assume time_t is long
Replace use of atol() to set a time_t variable.

(From OE-Core rev: 022866aa0ea6d7a8963d05bb10881e8d97bdf442)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Ross Burton
38e0189fae Revert "lttng-tools: Upgrade 2.9.5 -> 2.10.2"
None of the test suite works, so something quite fundamental broke.

[ YOCTO #12606 ]

This reverts commit 406ea737f1.

(From OE-Core rev: 72a0b56757da98fcbf42bebb2f376738c68d3834)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Huang Qiyu
42a0e944a4 slang: 2.3.1a -> 2.3.2
Upgrade slang from 2.3.1a to 2.3.2.

(From OE-Core rev: 3972c93142c4adfd3227b8d7d9a6b25774ce6929)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Anuj Mittal
41163179d4 python3: add readline to PACKAGECONFIG
Provide a way to make readline dependency optional in case someone
might want to use BSD alternative editline instead.

Using editline would need some changes though (python issue13501).

(From OE-Core rev: 9b12a3f031373ad0696409e4f933b1a585ea7f1f)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Alexander Kanavin
f2103873bd ca-certificates: run postinst script only for -target package
Nativesdk package has a special arrangement where the same thing is done
in do_install(). It was assumed (in the comment) that postinsts don't run when
installing nativesdk packages, but this was incorrect: they are run, but
any failures were previously silently ignored. Now this missing failure reporting has
been fixed, and so we get to see the failures.

(From OE-Core rev: 8ebb695c1429f8d57d655072a362a4f176258699)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Alexander Kanavin
de3e16b675 libpng: fix upstream version check
Sourceforge for some reason claims an older version is 'the latest'.

(From OE-Core rev: 612075ddebd40af4f9908028e40bd6a46a2a4d63)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Alexander Kanavin
c996eaaf23 distcc: remove UPSTREAM_VERSION_UNKNOWN
Upstream has finally released a new version.

(From OE-Core rev: 5d7683c7d86abd101bcee0c06cceff4ba3ee8593)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Anuj Mittal
c37053857d checklayer: remove reference to undefined class
LayerError doesn't exist and will lead to an error when this failure
code path is hit.

(From OE-Core rev: 7780482772d005c77825dc3e99e63f00911156bf)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Khem Raj
cef09e9c0e gcc: Do not use --with-linker-hash-style if LINKER_HASH_STYLE is empty
We allow to set LINKER_HASH_STYLE to be empty so this would fail
since --with-linker-hash-style needs an argument and cant be empty

(From OE-Core rev: e176ab07d1afbb5d7e80d39d49b0f68738509c18)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Mark Hatle
4c13568fa4 gcc: backport patch to fix ICE in MIPS64 target in G++
Backport a patch to fix an ICE when compiling for MIPS64.

(From OE-Core rev: eaa35d43dc1490f53aa1aece948d1542048460b6)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-20 09:59:31 +00:00
Ross Burton
674cdda1b9 buildperf: measure the size of core-image-sato rootfs
(From OE-Core rev: c94271d87d16323f920891344642f76dfb3c994f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-16 03:42:09 -07:00
Markus Lehtonen
dec7f4f17d scripts/oe-build-perf-report: fix comparing arbitrary commits
Fix a crash when generating a txt report and the two commits to be
compared were not consecutive (but there were some tested commits
between them).

(From OE-Core rev: f3afd2c47f4c740df52dfd80e208ce721d5ebf6e)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-16 03:42:09 -07:00
Bruce Ashfield
0fd6d0dd00 linux-yocto/4.12: backport bugfixes for x86
Integrating the following commits:

  60b649971940 x86/hibernate/64: Mask off CR3's PCID bits in the saved CR3
  cec3c008ec8f drm/i915/cfl: Coffee Lake works on Kaby Lake PCH.
  073873cb152c brd: remove unused brd_mutex
  912c53b1b346 audit: fix memleak in auditd_send_unicast_skb.

(From OE-Core rev: 3c14c6612c48d46677837f5f4c31cfd1a6ff6174)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:20 -07:00
Bruce Ashfield
7cff54121d maintainers: add maintainer for make-mod-scripts
I introduced the recipe, so I get to fix any bugs!

(From OE-Core rev: 010b3556d56d9520821f8b13a386c5ee23d3892f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:20 -07:00
Bruce Ashfield
6b4fab7588 linux-yocto/4.14/4.15: revert "features/systemtap/systemtap.cfg: enable CONFIG_KERNEL_DEBUG"
The following commit:

   Author: California Sullivan <california.l.sullivan@intel.com>
   Date:   Wed Feb 17 16:47:10 2016 -0800

       ktypes: add developer ktype

       The developer ktype enables EMBEDDED, EXPERT, and DEBUG_KERNEL,
       opening up more kernel options and setting some defaults.

      Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
      Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

Was created to address the kernel footprint related issues that are related
to many of the kernel debug options.

When this commit was merged, it re-enabled CONFIG_DEBUG_KERNEL for the
standard kernel, since it includes the systemtap fragment. The correct thing
to do is to move systemtap properly into the developer kernel type.

For now, you can build the developer kernel type, or add the developer kernel
configuration fragment via a bbappend, and you'll have a functional systemtap.

[YOCTO #12603]

(From OE-Core rev: ad8f68e9831c57fde62f7b1942bfa9e1307f113d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:20 -07:00
Alexander Kanavin
655b58c620 btrfs-tools: add RECIPE_NO_UPDATE_REASON
(From OE-Core rev: a158b458d63622a3cd1605124c380d2a130beda9)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:20 -07:00
Jason Wessel
9390f907a9 python3: Fix purelib install and runtime paths
oe-core commit: 45afadf0b6 fixed the pip problem with purelib for
python2, even though the the patch stated it was for python3.  This
patch addresses the purelib problem for python3.

If you install the package python3-pip you will have a pip3 binary
where you can see the problem on the device easily where the modules
install into the incorrect area and are not able to be referenced by
python3 at all.

Example error:
   pip3 install imutils
   pip3 list |grep imutils || echo ERROR no imutils
      ERROR no imutils
   python3 -c 'import imutils'
     Traceback (most recent call last):
       File "<string>", line 1, in <module>
     ImportError: No module named 'imutils'

(From OE-Core rev: 54e0b3bfc132613902418be148a900b10f6d9e38)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:20 -07:00
Khem Raj
a6a96feb18 insane.bbclass: Fix typos in 32bit risc-v machine type
(From OE-Core rev: 33d79f19dd3a2b5777e07fbf75ec4635d08e60e8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Khem Raj
eb263b79dc insane.bbclass: add support for RISC-V baremetal
(From OE-Core rev: 9b30e805e769b6c8c12a9aba072f7df066b19179)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Ross Burton
3f2fe7a734 gtk-doc: use --srcdir instead of cd
(From OE-Core rev: 1bf1cf24f520960d3d10b0b71d665107953dba54)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Ross Burton
29c6083d1f gtk-doc: always inherit python3native
My attempt at only inheriting python3native if it was needed was broken and
didn't work, so back it out and always inherit.

(From OE-Core rev: eb08ce66cf7ca6dbdb51fb9b9725267606fba6b9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Zhang Xiao
508ab8b836 libgpg-error: Fix multilib header conflict - pg-error.h and gpgrt.h
Header file conflict between 32-bit and 64-bit versions.

(From OE-Core rev: 66b0f977cc1809616b78939f8096330e7c8a94de)

Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Zhang Xiao
5ae4806529 tiff: Fix multilib header conflict - tiffconf.h
Header file conflict between 32-bit and 64-bit versions.

(From OE-Core rev: 53f320797765b5f184a83cd065f9b5e454ee14e3)

Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Zhang Xiao
1cab8ef694 valgrind: Fix multilib header conflict - valgrind/config.h
Header file conflict between 32-bit and 64-bit versions.

(From OE-Core rev: 6084879306db61c347b6f01f3bb64de327a9052d)

Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Ross Burton
0728b89b56 kmod: don't call gtkdocize twice
The gtk-doc class already calls gtkdocize, so we don't need to do it again

(From OE-Core rev: 14c6e4fd793e037d801a81c6581e0642ef61ab0c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Ross Burton
5c0c9b37da maintainers: remove obsolete entry
(From OE-Core rev: 75bcc718f1c2234d313941d6d9639f46d17fae63)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Ross Burton
2e86184de2 build-recipe-list: improvements
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Khem Raj
8f26f62471 risc-v: Pin oldest kernel to 4.15 for the new kid
(From OE-Core rev: fd3d98fd5690dab391c27a71e26f74e0f9a25f3a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Khem Raj
2712b33e85 site/riscv: Shunt the realloc configure test for startup-notification
(From OE-Core rev: c1d22fe95ea132275237854681c938d9238579cf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Khem Raj
acb88c7afe pcmanfm: Drop COMPATIBLE_HOST setting
We have all core architectures in there its almost redundant

(From OE-Core rev: 5cc89d3c595072c42f28db54a43db119b763e28b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Khem Raj
3f18c643f3 tcmode-default.inc: Define QEMUVERSION and softly pin it
This provides ability to surgically override qemu for certain
machines which are provided by external layers.

(From OE-Core rev: a5beb77bde547c3fdfd0bac75618ab70e9da6b81)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Derek Straka
24baf608d7 python-numpy: reorganize numpy recipes to use a common .inc file to reduce duplication
(From OE-Core rev: 38edecc64d76e3228cc2d7d5447d57b85e784ac2)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Koen Kooi
79716684b4 ncurses: fix deletion of /usr/lib/terminfo
Ncurses doesn't honour ${libdir} for terminfo, so try more options to remove it.

(From OE-Core rev: 17fd322e925cf492b22c75e296d5fee31e3511db)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Koen Kooi
4712f75761 openssl: fix libdir logic to allow multiarch style paths
The recipes were using 'basename' to turn '/usr/lib' into 'lib', which breaks when libdir is '/usr/lib/tuple', leading to libraries ending up in '/usr/tuple', which isn't in FILES_*. Change the logic to use sed to strip the prefix instead.

(From OE-Core rev: e58d5521c7bae8daafdac85754545be176550a02)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Koen Kooi
dc47156387 ncurses: fix do_install failure when base_libdir has more than one level
Other sections of the .inc already use mkdir -p, so use it here as well.

(From OE-Core rev: 62434e5021b99391a0c129a40bf943465a19e7ce)

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Richard Purdie
cc02a00d27 uninative: Add compatiblity version check
If glibc is newer on the host than in uninative, the failure mode is
pretty nasty for clusters where the sstate is shared, including the Yocto
Project autobuilder.

This check aborts the use of uninative in such scenarios where a newer
glibc version appears and avoids corruption of sstate caches.

We use ldd to check the glibc version since that is included in libc-bin
(or equivalent) which locales use so it should always be present.

(From OE-Core rev: d6f6101cd0ae92e8ad2dec0bcb6db5044726edf9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Ross Burton
215293c51e build-recipe-list: build universe instead of world
Building world means recipes that are excluded from world build for whatever
reason get skipped from the manifests, which isn't useful.  Instead building
universe and pass -k so that the expected dependency failures are not fatal.

(From OE-Core rev: 2d798f9f56fbd7cd20de4b797a476ad24c214ff3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Ross Burton
a5c274b451 meta: remove some EXCLUDE_FROM_WORLD assignments
Now that we have recipe-specific-sysroots we don't need to exclude recipes from
world builds because they conflict with other recipes, as they'll all be built
with their own sysroots.

(From OE-Core rev: b2f3ac4d994a1921791f6bd0cdb3591586733694)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Trevor Woerner
960b58eae3 iproute2: fix rebuild failures
When rebuilding iproute2, many such instances of the following build failure
occur:

	| make[1]: Entering directory '.../iproute2/4.14.1-r0/iproute2-4.14.1/lib'
	| Makefile:1: ../config.mk: No such file or directory
	| make[1]: *** No rule to make target '../config.mk'.  Stop.

(From OE-Core rev: f2e56f6e0da27c70781e51b5486ca6c731013f1c)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Chen Qi
fb50eb6ef0 btrfs-tools: set CLEANBROKEN to 1 to avoid rebuild failure
When rebuilding btrfs-tools, we would sometimes meet the following error.

  Makefile:43: *** Makefile.inc not generated, please configure first.

Set CLEANBROKEN to "1" to solve this problem.

(From OE-Core rev: 4e2687ef9e649c8c1dc4011d2e7c05dfbba56fb8)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:19 -07:00
Derek Straka
127263bf72 python3: update to version 3.5.5 to fix security issues
License-Update: checksum change is due to bump in copyright year

Resolves CVE-2017-1000158 and other potential security issues

See https://docs.python.org/3.5/whatsnew/changelog.html#python-3-5-5-final

(From OE-Core rev: 4a27d50e4e8db87d005aca9d976fe8e674952777)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:18 -07:00
Derek Straka
e3dfa35cab python*-setuptools: update to 38.5.2
Update the python{3}-setuptools to the latest stable version

Tested on the qemu with core-image-minimal

(From OE-Core rev: 106239a250488508f5c3593d9c8c3d4f70ff0ba3)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:18 -07:00
Alexander Kanavin
cc97bc0812 lib/oe/patch.py: add a warning if patch context was ignored
Ignoring patch context increases the chances of patches being
applied incorrectly. Depending on what code is being patched, this can go
completely unnoticed and create subtle bugs, sometimes with security implications.

Please see here for a specific example:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=10450

On the other hand, we cannot simply force all patch context to match exactly:
doing this would break a lot of recipes suddenly, across all layers.

So let's try a softer approach: issue a warning, and gently update
patches over a longer span of time. When most of the warnings are eliminated,
we can start enforcing a strict patch application policy.

I do understand that this patch creates a lot of warnings all of a sudden, however
I believe the problem does need to be addressed. All of oe-core recipes have their
context already fixed.

Sample warning:

WARNING: vulkan-1.0.61.1-r0 do_patch:
Some of the context lines in patches were ignored. This can lead to incorrectly applied patches.
The context lines in the patches can be updated with devtool:

    devtool modify <recipe>
    devtool finish --force-patch-refresh <recipe> <layer_path>

Then the updated patches and the source tree (in devtool's workspace)
should be reviewed to make sure the patches apply in the correct place
and don't introduce duplicate lines (which can, and does happen
when some of the context is ignored).
Details:
Applying patch demos-Don-t-build-tri-or-cube.patch
patching file demos/CMakeLists.txt
Hunk #1 succeeded at 63 (offset 2 lines).
Hunk #2 succeeded at 76 with fuzz 1 (offset 2 lines).

[YOCTO #10450]

(From OE-Core rev: 5133fd46bccf14e21680f8d94e952914edccb113)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:18 -07:00
Alexander Kanavin
6827053895 oe-selftest: add a test for failing package post-installation scriptlets
The test runs a scriptlet that has an intentionally failing command in the middle
and checks for two things:
1) that bitbake does warn the user about the failure
2) that scriptlet execution stops at that point.

The test is run for all three package types: rpm, deb, ipk.

(From OE-Core rev: 865fafb0dff19d27bd417c28c95fb8fdf0326a2b)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:18 -07:00
Alexander Kanavin
cd005e2d5b meta/lib/oe/package_manager.py: warn about failing scriptlets for all package types
Previously this was done only for rpm packages; now also ipk/deb scriptlet
failures are reported.

In the future this will become a hard error, but it can't yet happen
due to the legacy 'exit 1' way of deferring scriptlet execution to first boot which
needs a deprecation period.

(From OE-Core rev: a36671faf6e0b7623185b0e22814a786d5444592)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:18 -07:00
Alexander Kanavin
c64a57d2ec package.bbclass: run pre/post installation/removal scriptlets using sh -e
This allows catching errors in the scriptlets which would otherwise
go unnoticed, e.g. this sequence:
====
bogus_command
proper_command
====
would work just fine without any visible warnings or errors.

This was previously done only for rpm packages; this patch replaces
the rpm-specific tweak with one that works for all package types.

(From OE-Core rev: a0aa12e1d0ea9064b8dd816d4e82238df765506b)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:18 -07:00
Richard Purdie
6d71fdbf20 unfs3: Fix libtirpc usage for unfs3-native version
(From OE-Core rev: e37c4f1ff2b440b0a232b0482c136cc9f7b24e0f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:18 -07:00
Khem Raj
961c26101f libtirpc: Extend to native and nativesdk recipes
(From OE-Core rev: 49d5d53c64ea18b897908c23764d1817bec64775)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:18 -07:00
Khem Raj
636d1be38f unfs3: Fix build with musl
Should also fix build on new build hosts where
with glibc 2.27 rpc support is dropped in favor
of libtirpc

(From OE-Core rev: 86f4c68c76098d6735b4cb640996d748b8ff82fb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:18 -07:00
Juro Bystricky
459f177c9e openssl_1.0.2n: improve reproducibility
Improve reproducible build of:

openssl-staticdev
openssl-dbg
libcrypto

There are two main causes that prevent reproducible build, both related to
the generated file "buildinf.h":

1. "buildinf.h" contains build host CFLAGS, containing various build
   host references.  We need to pass sanitized CFLAGS to the script
   generating this file ("mkbuildinf.pl". )

2. We also need to modify the script "mkbuildinf.pl" itsel in order to
   generate a build timestamp based on SOURCE_DATE_EPOCH, if present in
   the environment.

(From OE-Core rev: 6c556ed3553d8f5e75d65cd7db92b26df43846b7)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 06:27:18 -07:00
Amanda Brindle
58b5f8a221 bitbake: utils.py: Add option for explode_dep_versions2 to return unsorted
Before, explode_dep_versions2 would sort the OrderedDict before
returning. This function will still sort the OrderedDict by default, but
will now have the option to return the OrderedDict unsorted. This option will
allow us to check if the order of the package list has changed.

(Bitbake rev: 39d6a30a28f66c599e18beddbd847f40dcff623c)

Signed-off-by: Amanda Brindle <amanda.r.brindle@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 03:39:42 -07:00
Juro Bystricky
04575dfdbc dbus-test-ptest: improve reproducibility
Remove build host references from additional files.

(From OE-Core rev: 073d8d001033471d7fe44f52212c72a6c3541313)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-12 15:06:32 -07:00
Juro Bystricky
a5644b6811 reproducible_build_simple.bbclass: simple environment for reproducible binaries
Export environmental variables needed for binary reproducibility with consistent values.

This class can be used either directly via:
INHERIT += "reproducible_build_simple"

or can be inherited by a more complex/complete bbclass, for example a bblass which
will crack SOURCE_DATE_EPOCH for each recipe.

(From OE-Core rev: 5c2685c5ee2f8210a36b9a8591491b6af0482084)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-12 15:06:32 -07:00
Juro Bystricky
98e852983c classes/recipes: Use expanded BUILD_REPRODUCIBLE_BINARIES value
Replace the occurences of BUILD_REPRODUCIBLE_BINARIES with expanded
values ${BUILD_REPRODUCIBLE_BINARIES} so the variable does not need to be
exported.

(From OE-Core rev: 27f87bbc8395a2481ef808465a62d213a6b678ac)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-12 15:06:32 -07:00
Richard Purdie
5350ee3177 yocto-uninative: Upgrade to 1.8 version with glibc 2.27
Now distros are starting to ship glibc 2.27 we need a uninatve version
which contains glibc 2.27 which is in the 1.8 version.

(From OE-Core rev: 0a1a1daac661046b0bf287b63267d58e0ab03e8e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:02 -07:00
Alexander Kanavin
6c1f8b957d lsbinitscripts: update to 9.79
Switch to github as pkgs.fedoraproject.org is down.

(From OE-Core rev: d3a6d7895f8f68042aa5b6c3ce0dcc915f330bd6)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Alexander Kanavin
52b6a85533 mklibs-native: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 7b1dfc0f67905435906ae806987e945134311045)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
5e9bd58874 attr: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 9a0465bd26a8359c8b432595589a13f295f2de2d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
016c527bed libunwind: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 268186429d10047796a4801baf95ae8a8f722658)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
1caae443ee libtiff: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 8d4dd42cf39ac33e2479cb4f9f833701d68cea62)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
fffb52a49b cryptodev: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: cecd562742c94f223c92bf5426148967fc9a8054)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
795934f307 blktrace: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 0666146a9f12c90e2b5f9fd3b03b21429fb9327c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
631e06643b xorg-xserver: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 77fb72c76c8a5b2229a32f36a913a3293e9d2b56)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Alexander Kanavin
5dfe5f9573 acpica: remove unnecesary no-werror.patch
It became out of date (missing newly added files), and seems no longer necessary for builds.

(From OE-Core rev: 54ca13f0dae8707a7fcbaa308dd797619defb823)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
216ad55704 mesa: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 0cff8ae54066b25ffbe1efaa3f0a1d84aa89ebe1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
48614ce3ce drm: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 625be3dd6e3069333a3c94ca8f23129b23e4425b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
c47e5edb67 gtk-doc: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 3277e60b6eefb3a1c858462bc89244f6577dca52)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
7ef4dd124e gnome: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 9c762156d5eab1582fdd1f5000e80a0a67d46152)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
cb8d69d28b sysstat: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 53f2bbba35c63afa14c5fcb33b83b0ee061840ca)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
4adcf277bc rpcbind: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: df9b991d1f453aae4dca5558f10fd23e866778dc)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
3c02fc2788 newt: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 8820d4ffa493d49212f4d8f2665d15c7070a7477)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
3f93bc6932 net-tools: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 561e89baf77741dfa5af9c645f7c471cd7b3880b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
24229c4769 ltp: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 040b4bb125e28750e089f631c1debb088bb3bc9f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
8467b0602b ethtool: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 93fca640e97643f94ef4f4a5d96c30c971058ec9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:01 -07:00
Ross Burton
8b2c0db9a0 cups: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 9f58bd731f33b90849d7d0cb8153dcfedf336ff4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
541711cc33 tcf-agent: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 9f77858360b33de6c4f66638fea8a8051fb6208f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
a857e9a6e8 ruby: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 44e650f961888b75797da8ecc23654f672c5fae6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Alexander Kanavin
0fffb6a8d8 qemu: drop already applied glibc-2.25.patch
Due to patch fuzz it was applied again in a different place.

(From OE-Core rev: c1596c6a26bc099a5f27f8a7f9feb7d07bd30cd5)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
81995e2a0e qemu: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: a5c1069d2c0570186792d61151e1865642afd73a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
a2fdf7fb08 python: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 8a5c1328c4ea63443a92813c54bd2229c9959ff9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
2a0f0adf05 opkg-utils: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: ca733ba0e28d6d4c199e149ce8ae428397dfa51f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
19e4de6eba m4: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 87118e6a2ed6da1ceaf484c326ec6d0ac8c1b8be)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
bc2d5c5c1c i2c-tools: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 00677e03156228f752476520911c19d4156db8da)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Alexander Kanavin
70d20398c4 gcc: drop patch that is already upstream
Due to patch fuzz, it was applied again, so the same code sequence was
repeated twice. Not sure if that caused any bugs, but certainly wasn't
the right thing to do.

(From OE-Core rev: e3a50788bfeabbde226e280803a01dd7f765b2bc)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
1aff4b01aa e2fsprogs: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 6a83aca280fece30fd7c17f32f07f592f6300c6c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Alexander Kanavin
60681b118a openssl: drop openssl-1.0.2a-x32-asm.patch
The patch was applied in a completely incorrect spot (due to fuzz),
no one noticed or complained. Meanwhile upstream says the issue
has been resolved differently:
https://rt.openssl.org/Ticket/Display.html?id=3759&user=guest&pass=guest

(From OE-Core rev: 325e516b59e677dc8e2c5756589fa8037b3e9392)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
5a78036d08 openssl: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 7baba7a19c5610a63ccbfd6a2238667772b32118)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
7187b63c19 iproute2: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 3d33f83ffa8ba2a36a03489b16292d3132f0eb27)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
b308fd1181 avahi: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 6c0329389ffd82552c9302d70c8b2a1dfc94ce00)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
6116dbfcec u-boot: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 7e8273cb55df71eaaf2cd50db076b73229ef7566)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Alexander Kanavin
ecba98085f pcmciautils: drop duplicate chunk from pcmciautils-018/makefile_race.patch
The new rule was patched into the makefile twice.

(From OE-Core rev: c52228f4d0711ab7d75f9f860f637c6351dccd63)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Ross Burton
0b94280064 pciutils: refresh patches
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 7d56245a4859727f85dc5ae6f881d0783dee1ce1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Alexander Kanavin
8cec60990e devtool: add --force-patch-refresh to 'modify' and 'finish' commands
This is very useful for updating patch context so that any fuzz is eliminated.
Simply issue:

devtool modify <recipe>
devtool finish --force-patch-refresh <recipe> <layer_path>

Without this flag, devtool will not deem the commits in the workspace
different to patches in the layer, even if the commits have different,
up-to-date context line in them.

(From OE-Core rev: 7e1d1887be8faaaab9996fca9a3fd750aeb7b62f)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:27:00 -07:00
Alexander Kanavin
7dce685fe4 meta/lib/oe/patch.py: do not leave .orig files if a patch isn't perfectly matching
Particularly, this was causing 'devtool modify' to erroneously add those
.orig files into commits. This was getting in the way, if the goal
was to amend/update those existing patches.

(From OE-Core rev: f4f3406c3bd9599d7a19275475d52bda4c42f2ab)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:26:59 -07:00
Khem Raj
a3e8538a38 liburcu: Explicitly add pthread options to cflags
Some architectures e.g. riscv gcc does not add -D_REENTRANT
when enabling pthreads. Help it here by adding these options
while gcc gets fixed

(From OE-Core rev: 784f4418259fe441060c134a7dcf305f4e0d4e2d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:26:59 -07:00
Khem Raj
25e442ce10 recipes: Disable lttng for riscv
(From OE-Core rev: 1e4e58d51498101e1e1b36fd4c3ad51052c15a6a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:26:59 -07:00
Khem Raj
c1e73aab77 packagegroup-core-sdk: Disable SANITIZERS for riscv64
Dont build yet

(From OE-Core rev: fa47b5e61839ae2f67f00998792a88726359af89)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-11 06:26:59 -07:00
203 changed files with 3051 additions and 2630 deletions

View File

@@ -187,7 +187,7 @@ def explode_deps(s):
#r[-1] += ' ' + ' '.join(j)
return r
def explode_dep_versions2(s):
def explode_dep_versions2(s, *, sort=True):
"""
Take an RDEPENDS style string of format:
"DEPEND1 (optional version) DEPEND2 (optional version) ..."
@@ -250,7 +250,8 @@ def explode_dep_versions2(s):
if not (i in r and r[i]):
r[lastdep] = []
r = collections.OrderedDict(sorted(r.items(), key=lambda x: x[0]))
if sort:
r = collections.OrderedDict(sorted(r.items(), key=lambda x: x[0]))
return r
def explode_dep_versions(s):

View File

@@ -3,11 +3,12 @@ LICENSE = "MIT"
inherit allarch
PACKAGES = "${PN}-rootfs ${PN}-delayed-a ${PN}-delayed-b"
PACKAGES = "${PN}-rootfs ${PN}-delayed-a ${PN}-delayed-b ${PN}-rootfs-failing"
ALLOW_EMPTY_${PN}-rootfs = "1"
ALLOW_EMPTY_${PN}-delayed-a = "1"
ALLOW_EMPTY_${PN}-delayed-b = "1"
ALLOW_EMPTY_${PN}-rootfs-failing = "1"
RDEPENDS_${PN}-delayed-a = "${PN}-rootfs"
RDEPENDS_${PN}-delayed-b = "${PN}-delayed-a"
@@ -58,3 +59,14 @@ pkg_postinst_ontarget_${PN}-delayed-b () {
touch ${TESTDIR}/delayed-b
}
# This scriptlet intentionally includes a bogus command in the middle to test
# that we catch and report such errors properly.
pkg_postinst_${PN}-rootfs-failing () {
mkdir -p $D${TESTDIR}
touch $D${TESTDIR}/rootfs-before-failure
run_a_really_broken_command
# Scriptlet execution should stop here; the following commands are NOT supposed to run.
# (oe-selftest checks for it).
touch $D${TESTDIR}/rootfs-after-failure
}

View File

@@ -28,13 +28,13 @@ GTKDOC_DOCDIR ?= "${S}"
export STAGING_DIR_HOST
inherit ${@oe.utils.ifelse(d.getVar('GTKDOC_ENABLED') == 'True', 'python3native', '')}
inherit pkgconfig qemu
DEPENDS_append = "${@oe.utils.ifelse(d.getVar('GTKDOC_ENABLED') == 'True', ' qemu-native', '')}"
inherit python3native pkgconfig qemu
DEPENDS_append = "${@' qemu-native' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
do_configure_prepend () {
( cd ${S}; gtkdocize --docdir ${GTKDOC_DOCDIR} || true )
# Need to use ||true as this is only needed if configure.ac both exists
# and uses GTK_DOC_CHECK.
gtkdocize --srcdir ${S} --docdir ${GTKDOC_DOCDIR} || true
}
do_compile_prepend_class-target () {

View File

@@ -36,7 +36,7 @@ prelink_image () {
dynamic_loader=$(linuxloader)
# prelink!
if [ "$BUILD_REPRODUCIBLE_BINARIES" = "1" ]; then
if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
bbnote " prelink: BUILD_REPRODUCIBLE_BINARIES..."
if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
export PRELINK_TIMESTAMP=`git log -1 --pretty=%ct `

View File

@@ -664,7 +664,7 @@ ROOTFS_PREPROCESS_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge'
POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_sdk; ', '',d)}"
reproducible_final_image_task () {
if [ "$BUILD_REPRODUCIBLE_BINARIES" = "1" ]; then
if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
REPRODUCIBLE_TIMESTAMP_ROOTFS=`git log -1 --pretty=%ct`
fi

View File

@@ -284,8 +284,7 @@ CONVERSION_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
CONVERSION_CMD_gz = "gzip -f -9 -n -c ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz"
CONVERSION_CMD_bz2 = "pbzip2 -f -k ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
CONVERSION_CMD_xz = "xz -f -k -c ${XZ_COMPRESSION_LEVEL} ${XZ_THREADS} --check=${XZ_INTEGRITY_CHECK} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.xz"
CONVERSION_CMD_lz4 = "lz4 -9 -z ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.lz4"
CONVERSION_CMD_lz4_legacy = "lz4 -9 -z -l ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.lz4"
CONVERSION_CMD_lz4 = "lz4 -9 -z -l ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.lz4"
CONVERSION_CMD_lzo = "lzop -9 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
CONVERSION_CMD_zip = "zip ${ZIP_COMPRESSION_LEVEL} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.zip ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
CONVERSION_CMD_sum = "sumtool -i ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} -o ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sum ${JFFS2_SUM_EXTRA_ARGS}"

View File

@@ -71,6 +71,8 @@ def package_qa_get_machine_dict(d):
"microblaze": (189, 0, 0, False, 32),
"microblazeeb":(189, 0, 0, False, 32),
"microblazeel":(189, 0, 0, True, 32),
"riscv32": (243, 0, 0, True, 32),
"riscv64": (243, 0, 0, True, 64),
},
"linux" : {
"aarch64" : (183, 0, 0, True, 64),
@@ -97,7 +99,7 @@ def package_qa_get_machine_dict(d):
"mipsisa64r6": ( 8, 0, 0, False, 64),
"mipsisa64r6el": ( 8, 0, 0, True, 64),
"nios2": (113, 0, 0, True, 32),
"riscv": (243, 0, 0, True, 32),
"riscv32": (243, 0, 0, True, 32),
"riscv64": (243, 0, 0, True, 64),
"s390": (22, 0, 0, False, 32),
"sh4": (42, 0, 0, True, 32),
@@ -124,7 +126,7 @@ def package_qa_get_machine_dict(d):
"microblaze": (189, 0, 0, False, 32),
"microblazeeb":(189, 0, 0, False, 32),
"microblazeel":(189, 0, 0, True, 32),
"riscv": (243, 0, 0, True, 32),
"riscv32": (243, 0, 0, True, 32),
"riscv64": (243, 0, 0, True, 64),
"sh4": ( 42, 0, 0, True, 32),
},

View File

@@ -279,7 +279,7 @@ get_cc_option () {
kernel_do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
if [ "$BUILD_REPRODUCIBLE_BINARIES" = "1" ]; then
if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
# kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH may not
# be set....
if [ "$SOURCE_DATE_EPOCH" = "0" ]; then
@@ -533,6 +533,8 @@ addtask savedefconfig after do_configure
inherit cml1
KCONFIG_CONFIG_COMMAND_append = " HOSTLDFLAGS='${BUILD_LDFLAGS}'"
EXPORT_FUNCTIONS do_compile do_install do_configure
# kernel-base becomes kernel-${KERNEL_VERSION}

View File

@@ -1343,6 +1343,17 @@ fi
postinst += postinst_ontarget
d.setVar('pkg_postinst_%s' % pkg, postinst)
def add_set_e_to_scriptlets(pkg):
for scriptlet_name in ('pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm'):
scriptlet = d.getVar('%s_%s' % (scriptlet_name, pkg))
if scriptlet:
scriptlet_split = scriptlet.split('\n')
if scriptlet_split[0].startswith("#!"):
scriptlet = scriptlet_split[0] + "\nset -e\n" + "\n".join(scriptlet_split[1:])
else:
scriptlet = "set -e\n" + "\n".join(scriptlet_split[0:])
d.setVar('%s_%s' % (scriptlet_name, pkg), scriptlet)
def write_if_exists(f, pkg, var):
def encode(str):
import codecs
@@ -1439,6 +1450,7 @@ fi
write_if_exists(sf, pkg, 'FILES')
write_if_exists(sf, pkg, 'CONFFILES')
process_postinst_on_target(pkg, d.getVar("MLPREFIX"))
add_set_e_to_scriptlets(pkg)
write_if_exists(sf, pkg, 'pkg_postinst')
write_if_exists(sf, pkg, 'pkg_postrm')
write_if_exists(sf, pkg, 'pkg_preinst')

View File

@@ -470,12 +470,12 @@ python write_specfile () {
# Now process scriptlets
if splitrpreinst:
spec_scriptlets_bottom.append('%%pre -n %s -p "/bin/sh -e"' % splitname)
spec_scriptlets_bottom.append('%%pre -n %s' % splitname)
spec_scriptlets_bottom.append('# %s - preinst' % splitname)
spec_scriptlets_bottom.append(splitrpreinst)
spec_scriptlets_bottom.append('')
if splitrpostinst:
spec_scriptlets_bottom.append('%%post -n %s -p "/bin/sh -e"' % splitname)
spec_scriptlets_bottom.append('%%post -n %s' % splitname)
spec_scriptlets_bottom.append('# %s - postinst' % splitname)
spec_scriptlets_bottom.append(splitrpostinst)
spec_scriptlets_bottom.append('')
@@ -564,12 +564,12 @@ python write_specfile () {
spec_preamble_top.append('')
if srcrpreinst:
spec_scriptlets_top.append('%pre -p "/bin/sh -e"')
spec_scriptlets_top.append('%pre')
spec_scriptlets_top.append('# %s - preinst' % srcname)
spec_scriptlets_top.append(srcrpreinst)
spec_scriptlets_top.append('')
if srcrpostinst:
spec_scriptlets_top.append('%post -p "/bin/sh -e"')
spec_scriptlets_top.append('%post')
spec_scriptlets_top.append('# %s - postinst' % srcname)
spec_scriptlets_top.append(srcrpostinst)
spec_scriptlets_top.append('')

View File

@@ -0,0 +1,11 @@
# Setup default environment for reproducible builds.
BUILD_REPRODUCIBLE_BINARIES = "1"
export PYTHONHASHSEED = "0"
export PERL_HASH_SEED = "0"
export TZ = 'UTC'
export SOURCE_DATE_EPOCH ??= "1520598896"
REPRODUCIBLE_TIMESTAMP_ROOTFS ??= "1520598896"

View File

@@ -77,6 +77,11 @@ python uninative_event_fetchloader() {
except FileExistsError:
pass
# ldd output is "ldd (Ubuntu GLIBC 2.23-0ubuntu10) 2.23", extract last option from first line
glibcver = subprocess.check_output(["ldd", "--version"]).decode('utf-8').split('\n')[0].split()[-1]
if bb.utils.vercmp_string(d.getVar("UNINATIVE_MAXGLIBCVERSION"), glibcver) < 0:
raise RuntimeError("Your host glibc verson (%s) is newer than that in uninative (%s). Disabling uninative so that sstate is not corrupted." % (glibcver, d.getVar("UNINATIVE_MAXGLIBCVERSION")))
cmd = d.expand("\
mkdir -p ${UNINATIVE_STAGING_DIR}-uninative; \
cd ${UNINATIVE_STAGING_DIR}-uninative; \
@@ -94,6 +99,8 @@ ${UNINATIVE_STAGING_DIR}-uninative/relocate_sdk.py \
enable_uninative(d)
except RuntimeError as e:
bb.warn(str(e))
except bb.fetch2.BBFetchException as exc:
bb.warn("Disabling uninative as unable to fetch uninative tarball: %s" % str(exc))
bb.warn("To build your own uninative loader, please bitbake uninative-tarball and set UNINATIVE_TARBALL appropriately.")

View File

@@ -423,6 +423,8 @@ SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
OLDEST_KERNEL = "3.2.0"
OLDEST_KERNEL_aarch64 = "3.14"
OLDEST_KERNEL_nios2 = "3.19"
OLDEST_KERNEL_riscv32 = "4.15"
OLDEST_KERNEL_riscv64 = "4.15"
# SDK_OLDEST_KERNEL can't be set using overrides since there are
# none for the SDK architecture. Best to set it from a machine-sdk

View File

@@ -89,7 +89,6 @@ RECIPE_MAINTAINER_pn-builder = "Cristian Iorga <cristian.iorga@intel.com>"
RECIPE_MAINTAINER_pn-buildtools-tarball = "Cristian Iorga <cristian.iorga@intel.com>"
RECIPE_MAINTAINER_pn-busybox = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-busybox-inittab = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-byacc = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-bzip2 = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-ca-certificates = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-cairo = "Maxin B. John <maxin.john@intel.com>"
@@ -483,6 +482,7 @@ RECIPE_MAINTAINER_pn-m4-native = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-make = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-makedepend = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-makedevs = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-make-mod-scripts = "Bruce Ashfield <bruce.ashfield@windriver.com>"
RECIPE_MAINTAINER_pn-man-db = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-man-pages = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-matchbox-config-gtk = "Maxin B. John <maxin.john@intel.com>"

View File

@@ -28,6 +28,7 @@ BINUVERSION ?= "2.30%"
GDBVERSION ?= "8.0%"
GLIBCVERSION ?= "2.27%"
LINUXLIBCVERSION ?= "4.15%"
QEMUVERSION ?= "2.11%"
PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"
@@ -64,6 +65,10 @@ PREFERRED_VERSION_glibc-initial ?= "${GLIBCVERSION}"
PREFERRED_VERSION_nativesdk-glibc-initial ?= "${GLIBCVERSION}"
PREFERRED_VERSION_cross-localedef-native ?= "${GLIBCVERSION}"
PREFERRED_VERSION_qemu ?= "${QEMUVERSION}"
PREFERRED_VERSION_qemu-native ?= "${QEMUVERSION}"
PREFERRED_VERSION_nativesdk-qemu ?= "${QEMUVERSION}"
# Setup suitable toolchain flags
require conf/distro/include/as-needed.inc

View File

@@ -5,10 +5,6 @@
# rt-tests needs PI mutex support in libc
EXCLUDE_FROM_WORLD_pn-rt-tests_libc-musl = "1"
# error: no member named 'sin_port' in 'struct sockaddr_in6'
# this is due to libtirpc using ipv6 but portmap rpc expecting ipv4
EXCLUDE_FROM_WORLD_pn-unfs3_libc-musl = "1"
# error: use of undeclared identifier '_STAT_VER'
EXCLUDE_FROM_WORLD_pn-pseudo_libc-musl = "1"

View File

@@ -6,6 +6,8 @@
# to the distro running on the build machine.
#
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/1.7/"
UNINATIVE_CHECKSUM[i686] ?= "d7c341460035936c19d63fe02f354ef1bc993c62d694ae3a31458d1c6997f0c5"
UNINATIVE_CHECKSUM[x86_64] ?= "ed033c868b87852b07957a4400f3b744c00aef5d6470346ea1a59b6d3e03075e"
UNINATIVE_MAXGLIBCVERSION = "2.27"
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/1.8/"
UNINATIVE_CHECKSUM[i686] ?= "427ce522ec97f65c75fd89587d90ef789e8cbca4a617abc4b5822abb01c2d0ae"
UNINATIVE_CHECKSUM[x86_64] ?= "de4947e98e09e1432d069311cc2093974ecb9138a714fd5466f73524de66a693"

View File

@@ -22,12 +22,12 @@ def create_index(arg):
if result:
bb.note(result)
"""
This method parse the output from the package managerand return
a dictionary with the information of the packages. This is used
when the packages are in deb or ipk format.
"""
def opkg_query(cmd_output):
"""
This method parse the output from the package managerand return
a dictionary with the information of the packages. This is used
when the packages are in deb or ipk format.
"""
verregex = re.compile(' \([=<>]* [^ )]*\)')
output = dict()
pkg = ""
@@ -83,6 +83,11 @@ def opkg_query(cmd_output):
return output
# Note: this should be bb.fatal in the future.
def failed_postinsts_warn(pkgs, log_path):
bb.warn("""Intentionally failing postinstall scriptlets of %s to defer them to first boot is deprecated. Please place them into pkg_postinst_ontarget_${PN} ().
If deferring to first boot wasn't the intent, then scriptlet failure may mean an issue in the recipe, or a regression elsewhere.
Details of the failure are in %s.""" %(pkgs, log_path))
class Indexer(object, metaclass=ABCMeta):
def __init__(self, d, deploy_dir):
@@ -96,13 +101,16 @@ class Indexer(object, metaclass=ABCMeta):
class RpmIndexer(Indexer):
def write_index(self):
self.do_write_index(self.deploy_dir)
def do_write_index(self, deploy_dir):
if self.d.getVar('PACKAGE_FEED_SIGN') == '1':
signer = get_signer(self.d, self.d.getVar('PACKAGE_FEED_GPG_BACKEND'))
else:
signer = None
createrepo_c = bb.utils.which(os.environ['PATH'], "createrepo_c")
result = create_index("%s --update -q %s" % (createrepo_c, self.deploy_dir))
result = create_index("%s --update -q %s" % (createrepo_c, deploy_dir))
if result:
bb.fatal(result)
@@ -110,11 +118,22 @@ class RpmIndexer(Indexer):
if signer:
sig_type = self.d.getVar('PACKAGE_FEED_GPG_SIGNATURE_TYPE')
is_ascii_sig = (sig_type.upper() != "BIN")
signer.detach_sign(os.path.join(self.deploy_dir, 'repodata', 'repomd.xml'),
signer.detach_sign(os.path.join(deploy_dir, 'repodata', 'repomd.xml'),
self.d.getVar('PACKAGE_FEED_GPG_NAME'),
self.d.getVar('PACKAGE_FEED_GPG_PASSPHRASE_FILE'),
armor=is_ascii_sig)
class RpmSubdirIndexer(RpmIndexer):
def write_index(self):
bb.note("Generating package index for %s" %(self.deploy_dir))
self.do_write_index(self.deploy_dir)
for entry in os.walk(self.deploy_dir):
if os.path.samefile(self.deploy_dir, entry[0]):
for dir in entry[1]:
if dir != 'repodata':
dir_path = oe.path.join(self.deploy_dir, dir)
bb.note("Generating package index for %s" %(dir_path))
self.do_write_index(dir_path)
class OpkgIndexer(Indexer):
def write_index(self):
@@ -312,34 +331,34 @@ class PackageManager(object, metaclass=ABCMeta):
self.deploy_dir = None
self.deploy_lock = None
"""
Update the package manager package database.
"""
@abstractmethod
def update(self):
"""
Update the package manager package database.
"""
pass
"""
Install a list of packages. 'pkgs' is a list object. If 'attempt_only' is
True, installation failures are ignored.
"""
@abstractmethod
def install(self, pkgs, attempt_only=False):
"""
Install a list of packages. 'pkgs' is a list object. If 'attempt_only' is
True, installation failures are ignored.
"""
pass
"""
Remove a list of packages. 'pkgs' is a list object. If 'with_dependencies'
is False, the any dependencies are left in place.
"""
@abstractmethod
def remove(self, pkgs, with_dependencies=True):
"""
Remove a list of packages. 'pkgs' is a list object. If 'with_dependencies'
is False, then any dependencies are left in place.
"""
pass
"""
This function creates the index files
"""
@abstractmethod
def write_index(self):
"""
This function creates the index files
"""
pass
@abstractmethod
@@ -350,30 +369,28 @@ class PackageManager(object, metaclass=ABCMeta):
def list_installed(self):
pass
"""
Returns the path to a tmpdir where resides the contents of a package.
Deleting the tmpdir is responsability of the caller.
"""
@abstractmethod
def extract(self, pkg):
"""
Returns the path to a tmpdir where resides the contents of a package.
Deleting the tmpdir is responsability of the caller.
"""
pass
"""
Add remote package feeds into repository manager configuration. The parameters
for the feeds are set by feed_uris, feed_base_paths and feed_archs.
See http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-PACKAGE_FEED_URIS
for their description.
"""
@abstractmethod
def insert_feeds_uris(self, feed_uris, feed_base_paths, feed_archs):
"""
Add remote package feeds into repository manager configuration. The parameters
for the feeds are set by feed_uris, feed_base_paths and feed_archs.
See http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-PACKAGE_FEED_URIS
for their description.
"""
pass
"""
Install all packages that match a glob.
"""
def install_glob(self, globs, sdk=False):
"""
Install all packages that match a glob.
"""
# TODO don't have sdk here but have a property on the superclass
# (and respect in install_complementary)
if sdk:
@@ -393,14 +410,14 @@ class PackageManager(object, metaclass=ABCMeta):
"'%s' returned %d:\n%s" %
(' '.join(cmd), e.returncode, e.output.decode("utf-8")))
"""
Install complementary packages based upon the list of currently installed
packages e.g. locales, *-dev, *-dbg, etc. This will only attempt to install
these packages, if they don't exist then no error will occur. Note: every
backend needs to call this function explicitly after the normal package
installation
"""
def install_complementary(self, globs=None):
"""
Install complementary packages based upon the list of currently installed
packages e.g. locales, *-dev, *-dbg, etc. This will only attempt to install
these packages, if they don't exist then no error will occur. Note: every
backend needs to call this function explicitly after the normal package
installation
"""
if globs is None:
globs = self.d.getVar('IMAGE_INSTALL_COMPLEMENTARY')
split_linguas = set()
@@ -457,13 +474,13 @@ class PackageManager(object, metaclass=ABCMeta):
self.deploy_lock = None
"""
Construct URIs based on the following pattern: uri/base_path where 'uri'
and 'base_path' correspond to each element of the corresponding array
argument leading to len(uris) x len(base_paths) elements on the returned
array
"""
def construct_uris(self, uris, base_paths):
"""
Construct URIs based on the following pattern: uri/base_path where 'uri'
and 'base_path' correspond to each element of the corresponding array
argument leading to len(uris) x len(base_paths) elements on the returned
array
"""
def _append(arr1, arr2, sep='/'):
res = []
narr1 = [a.rstrip(sep) for a in arr1]
@@ -709,8 +726,7 @@ class RpmPM(PackageManager):
failed_scriptlets_pkgnames[line.split()[-1]] = True
if len(failed_scriptlets_pkgnames) > 0:
bb.warn("Intentionally failing postinstall scriptlets of %s to defer them to first boot is deprecated. Please place them into pkg_postinst_ontarget_${PN} ()." %(list(failed_scriptlets_pkgnames.keys())))
bb.warn("If deferring to first boot wasn't the intent, then scriptlet failure may mean an issue in the recipe, or a regression elsewhere.")
failed_postinsts_warn(list(failed_scriptlets_pkgnames.keys()), self.d.expand("${T}/log.do_rootfs"))
for pkg in failed_scriptlets_pkgnames.keys():
self.save_rpmpostinst(pkg)
@@ -903,18 +919,18 @@ class RpmPM(PackageManager):
class OpkgDpkgPM(PackageManager):
"""
This is an abstract class. Do not instantiate this directly.
"""
def __init__(self, d):
"""
This is an abstract class. Do not instantiate this directly.
"""
super(OpkgDpkgPM, self).__init__(d)
"""
Returns a dictionary with the package info.
This method extracts the common parts for Opkg and Dpkg
"""
def package_info(self, pkg, cmd):
"""
Returns a dictionary with the package info.
This method extracts the common parts for Opkg and Dpkg
"""
try:
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True).decode("utf-8")
@@ -923,14 +939,14 @@ class OpkgDpkgPM(PackageManager):
"returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8")))
return opkg_query(output)
"""
Returns the path to a tmpdir where resides the contents of a package.
Deleting the tmpdir is responsability of the caller.
This method extracts the common parts for Opkg and Dpkg
"""
def extract(self, pkg, pkg_info):
"""
Returns the path to a tmpdir where resides the contents of a package.
Deleting the tmpdir is responsability of the caller.
This method extracts the common parts for Opkg and Dpkg
"""
ar_cmd = bb.utils.which(os.getenv("PATH"), "ar")
tar_cmd = bb.utils.which(os.getenv("PATH"), "tar")
@@ -1005,12 +1021,12 @@ class OpkgPM(OpkgDpkgPM):
self.indexer = OpkgIndexer(self.d, self.deploy_dir)
"""
This function will change a package's status in /var/lib/opkg/status file.
If 'packages' is None then the new_status will be applied to all
packages
"""
def mark_packages(self, status_tag, packages=None):
"""
This function will change a package's status in /var/lib/opkg/status file.
If 'packages' is None then the new_status will be applied to all
packages
"""
status_file = os.path.join(self.opkg_dir, "status")
with open(status_file, "r") as sf:
@@ -1172,6 +1188,13 @@ class OpkgPM(OpkgDpkgPM):
bb.note(cmd)
output = subprocess.check_output(cmd.split(), stderr=subprocess.STDOUT).decode("utf-8")
bb.note(output)
failed_pkgs = []
for line in output.split('\n'):
if line.endswith("configuration required on target."):
bb.warn(line)
failed_pkgs.append(line.split(".")[0])
if failed_pkgs:
failed_postinsts_warn(failed_pkgs, self.d.expand("${T}/log.do_rootfs"))
except subprocess.CalledProcessError as e:
(bb.fatal, bb.warn)[attempt_only]("Unable to install packages. "
"Command '%s' returned %d:\n%s" %
@@ -1254,10 +1277,10 @@ class OpkgPM(OpkgDpkgPM):
# is separated from the following entry
status.write("\n")
'''
The following function dummy installs pkgs and returns the log of output.
'''
def dummy_install(self, pkgs):
"""
The following function dummy installs pkgs and returns the log of output.
"""
if len(pkgs) == 0:
return
@@ -1312,10 +1335,10 @@ class OpkgPM(OpkgDpkgPM):
self.opkg_dir,
symlinks=True)
"""
Returns a dictionary with the package info.
"""
def package_info(self, pkg):
"""
Returns a dictionary with the package info.
"""
cmd = "%s %s info %s" % (self.opkg_cmd, self.opkg_args, pkg)
pkg_info = super(OpkgPM, self).package_info(pkg, cmd)
@@ -1326,12 +1349,12 @@ class OpkgPM(OpkgDpkgPM):
return pkg_info
"""
Returns the path to a tmpdir where resides the contents of a package.
Deleting the tmpdir is responsability of the caller.
"""
def extract(self, pkg):
"""
Returns the path to a tmpdir where resides the contents of a package.
Deleting the tmpdir is responsability of the caller.
"""
pkg_info = self.package_info(pkg)
if not pkg_info:
bb.fatal("Unable to get information for package '%s' while "
@@ -1365,12 +1388,12 @@ class DpkgPM(OpkgDpkgPM):
self.indexer = DpkgIndexer(self.d, self.deploy_dir)
"""
This function will change a package's status in /var/lib/dpkg/status file.
If 'packages' is None then the new_status will be applied to all
packages
"""
def mark_packages(self, status_tag, packages=None):
"""
This function will change a package's status in /var/lib/dpkg/status file.
If 'packages' is None then the new_status will be applied to all
packages
"""
status_file = self.target_rootfs + "/var/lib/dpkg/status"
with open(status_file, "r") as sf:
@@ -1393,11 +1416,11 @@ class DpkgPM(OpkgDpkgPM):
os.rename(status_file + ".tmp", status_file)
"""
Run the pre/post installs for package "package_name". If package_name is
None, then run all pre/post install scriptlets.
"""
def run_pre_post_installs(self, package_name=None):
"""
Run the pre/post installs for package "package_name". If package_name is
None, then run all pre/post install scriptlets.
"""
info_dir = self.target_rootfs + "/var/lib/dpkg/info"
ControlScript = collections.namedtuple("ControlScript", ["suffix", "name", "argument"])
control_scripts = [
@@ -1435,9 +1458,10 @@ class DpkgPM(OpkgDpkgPM):
stderr=subprocess.STDOUT).decode("utf-8")
bb.note(output)
except subprocess.CalledProcessError as e:
bb.note("%s for package %s failed with %d:\n%s" %
bb.warn("%s for package %s failed with %d:\n%s" %
(control_script.name, pkg_name, e.returncode,
e.output.decode("utf-8")))
failed_postinsts_warn([pkg_name], self.d.expand("${T}/log.do_rootfs"))
failed_pkgs.append(pkg_name)
break
@@ -1642,10 +1666,10 @@ class DpkgPM(OpkgDpkgPM):
def list_installed(self):
return DpkgPkgsList(self.d, self.target_rootfs).list_pkgs()
"""
Returns a dictionary with the package info.
"""
def package_info(self, pkg):
"""
Returns a dictionary with the package info.
"""
cmd = "%s show %s" % (self.apt_cache_cmd, pkg)
pkg_info = super(DpkgPM, self).package_info(pkg, cmd)
@@ -1656,12 +1680,12 @@ class DpkgPM(OpkgDpkgPM):
return pkg_info
"""
Returns the path to a tmpdir where resides the contents of a package.
Deleting the tmpdir is responsability of the caller.
"""
def extract(self, pkg):
"""
Returns the path to a tmpdir where resides the contents of a package.
Deleting the tmpdir is responsability of the caller.
"""
pkg_info = self.package_info(pkg)
if not pkg_info:
bb.fatal("Unable to get information for package '%s' while "
@@ -1676,7 +1700,7 @@ def generate_index_files(d):
classes = d.getVar('PACKAGE_CLASSES').replace("package_", "").split()
indexer_map = {
"rpm": (RpmIndexer, d.getVar('DEPLOY_DIR_RPM')),
"rpm": (RpmSubdirIndexer, d.getVar('DEPLOY_DIR_RPM')),
"ipk": (OpkgIndexer, d.getVar('DEPLOY_DIR_IPK')),
"deb": (DpkgIndexer, d.getVar('DEPLOY_DIR_DEB'))
}
@@ -1692,12 +1716,3 @@ def generate_index_files(d):
if result is not None:
bb.fatal(result)
if __name__ == "__main__":
"""
We should be able to run this as a standalone script, from outside bitbake
environment.
"""
"""
TBD
"""

View File

@@ -36,6 +36,22 @@ def runcmd(args, dir = None):
(exitstatus, output) = oe.utils.getstatusoutput(cmd)
if exitstatus != 0:
raise CmdError(cmd, exitstatus >> 8, output)
if " fuzz " in output:
bb.warn("""
Some of the context lines in patches were ignored. This can lead to incorrectly applied patches.
The context lines in the patches can be updated with devtool:
devtool modify <recipe>
devtool finish --force-patch-refresh <recipe> <layer_path>
Then the updated patches and the source tree (in devtool's workspace)
should be reviewed to make sure the patches apply in the correct place
and don't introduce duplicate lines (which can, and does happen
when some of the context is ignored). Further information:
http://lists.openembedded.org/pipermail/openembedded-core/2018-March/148675.html
https://bugzilla.yoctoproject.org/show_bug.cgi?id=10450
Details:
{}""".format(output))
return output
finally:
@@ -212,7 +228,7 @@ class PatchTree(PatchSet):
self.patches.insert(i, patch)
def _applypatch(self, patch, force = False, reverse = False, run = True):
shellcmd = ["cat", patch['file'], "|", "patch", "-p", patch['strippath']]
shellcmd = ["cat", patch['file'], "|", "patch", "--no-backup-if-mismatch", "-p", patch['strippath']]
if reverse:
shellcmd.append('-R')
@@ -432,7 +448,7 @@ class GitApplyTree(PatchTree):
import re
tempdir = tempfile.mkdtemp(prefix='oepatch')
try:
shellcmd = ["git", "format-patch", startcommit, "-o", tempdir]
shellcmd = ["git", "format-patch", "--no-signature", "--no-numbered", startcommit, "-o", tempdir]
if paths:
shellcmd.append('--')
shellcmd.extend(paths)

View File

@@ -15,8 +15,7 @@ import shutil
import oe.path
from oeqa.buildperf import BuildPerfTestCase
from oeqa.utils.commands import get_bb_vars
from oeqa.utils.commands import get_bb_var, get_bb_vars
class Test1P1(BuildPerfTestCase):
build_target = 'core-image-sato'
@@ -30,6 +29,7 @@ class Test1P1(BuildPerfTestCase):
self.measure_cmd_resources(['bitbake', self.build_target], 'build',
'bitbake ' + self.build_target, save_bs=True)
self.measure_disk_usage(self.bb_vars['TMPDIR'], 'tmpdir', 'tmpdir')
self.measure_disk_usage(get_bb_var("IMAGE_ROOTFS", self.build_target), 'rootfs', 'rootfs', True)
class Test1P2(BuildPerfTestCase):

View File

@@ -221,3 +221,40 @@ class Postinst(OESelftestTestCase):
for filename in ("rootfs", "delayed-a", "delayed-b"):
status, output = qemu.run_serial("test -f %s && echo found" % os.path.join(targettestdir, filename))
self.assertEqual(output, "found", "%s was not present on boot" % filename)
def test_failing_postinst(self):
"""
Summary: The purpose of this test case is to verify that post-installation
scripts that contain errors are properly reported.
Expected: The scriptlet failure is properly reported.
The file that is created after the error in the scriptlet is not present.
Product: oe-core
Author: Alexander Kanavin <alexander.kanavin@intel.com>
"""
import oe.path
vars = get_bb_vars(("IMAGE_ROOTFS", "sysconfdir"), "core-image-minimal")
rootfs = vars["IMAGE_ROOTFS"]
self.assertIsNotNone(rootfs)
sysconfdir = vars["sysconfdir"]
self.assertIsNotNone(sysconfdir)
# Need to use oe.path here as sysconfdir starts with /
hosttestdir = oe.path.join(rootfs, sysconfdir, "postinst-test")
for classes in ("package_rpm", "package_deb", "package_ipk"):
with self.subTest(package_class=classes):
features = 'CORE_IMAGE_EXTRA_INSTALL = "postinst-rootfs-failing"\n'
features += 'PACKAGE_CLASSES = "%s"\n' % classes
self.write_config(features)
bb_result = bitbake('core-image-minimal')
self.assertGreaterEqual(bb_result.output.find("Intentionally failing postinstall scriptlets of ['postinst-rootfs-failing'] to defer them to first boot is deprecated."), 0,
"Warning about a failed scriptlet not found in bitbake output: %s" %(bb_result.output))
self.assertTrue(os.path.isfile(os.path.join(hosttestdir, "rootfs-before-failure")),
"rootfs-before-failure file was not created")
self.assertFalse(os.path.isfile(os.path.join(hosttestdir, "rootfs-after-failure")),
"rootfs-after-failure file was created")

View File

@@ -13,11 +13,11 @@ Ionut Radu <ionutx.radu@intel.com>
Upstream-Status: Inappropriate [embedded specific]
Index: pciutils-3.5.4/Makefile
Index: pciutils-3.5.6/Makefile
===================================================================
--- pciutils-3.5.4.orig/Makefile
+++ pciutils-3.5.4/Makefile
@@ -96,7 +95,7 @@ example: example.o lib/$(PCILIB)
--- pciutils-3.5.6.orig/Makefile
+++ pciutils-3.5.6/Makefile
@@ -96,7 +96,7 @@ example: example.o lib/$(PCILIB)
example.o: example.c $(PCIINC)
%: %.o
@@ -26,12 +26,12 @@ Index: pciutils-3.5.4/Makefile
%.8 %.7: %.man
M=`echo $(DATE) | sed 's/-01-/-January-/;s/-02-/-February-/;s/-03-/-March-/;s/-04-/-April-/;s/-05-/-May-/;s/-06-/-June-/;s/-07-/-July-/;s/-08-/-August-/;s/-09-/-September-/;s/-10-/-October-/;s/-11-/-November-/;s/-12-/-December-/;s/\(.*\)-\(.*\)-\(.*\)/\3 \2 \1/'` ; sed <$< >$@ "s/@TODAY@/$$M/;s/@VERSION@/pciutils-$(VERSION)/;s#@IDSDIR@#$(IDSDIR)#"
Index: pciutils-3.5.4/lib/configure
Index: pciutils-3.5.6/lib/configure
===================================================================
--- pciutils-3.5.4.orig/lib/configure
+++ pciutils-3.5.4/lib/configure
@@ -14,6 +14,10 @@ echo_n() {
fi
--- pciutils-3.5.6.orig/lib/configure
+++ pciutils-3.5.6/lib/configure
@@ -9,6 +9,10 @@ echo_n() {
printf '%s' "$*"
}
+VERSION=$1
@@ -41,7 +41,7 @@ Index: pciutils-3.5.4/lib/configure
if [ -z "$VERSION" -o -z "$IDSDIR" ] ; then
echo >&2 "Please run the configure script from the top-level Makefile"
exit 1
@@ -21,8 +25,8 @@ fi
@@ -16,8 +20,8 @@ fi
echo_n "Configuring libpci for your system..."
if [ -z "$HOST" ] ; then
@@ -52,7 +52,7 @@ Index: pciutils-3.5.4/lib/configure
realsys="$sys"
if [ "$sys" = "AIX" -a -x /usr/bin/oslevel -a -x /usr/sbin/lsattr ]
then
@@ -30,7 +34,7 @@ if [ -z "$HOST" ] ; then
@@ -25,7 +29,7 @@ if [ -z "$HOST" ] ; then
proc=`/usr/sbin/lsdev -C -c processor -S available -F name | head -1`
cpu=`/usr/sbin/lsattr -F value -l $proc -a type | sed 's/_.*//'`
else
@@ -61,7 +61,7 @@ Index: pciutils-3.5.4/lib/configure
fi
if [ "$sys" = "GNU/kFreeBSD" -o "$sys" = "DragonFly" ]
then
@@ -40,7 +44,7 @@ if [ -z "$HOST" ] ; then
@@ -35,7 +39,7 @@ if [ -z "$HOST" ] ; then
then
sys=cygwin
fi
@@ -70,7 +70,7 @@ Index: pciutils-3.5.4/lib/configure
fi
[ -n "$RELEASE" ] && rel="${RELEASE}"
# CAVEAT: tr on Solaris is a bit weird and the extra [] is otherwise harmless.
@@ -49,6 +53,8 @@ cpu=`echo $host | sed 's/^\([^-]*\)-\([^
@@ -44,6 +48,8 @@ cpu=`echo $host | sed 's/^\([^-]*\)-\([^
sys=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo " $host $rel $cpu $sys"

View File

@@ -12,20 +12,6 @@ RP
Upstream-Status: Pending
Index: pcmciautils-018/Makefile
===================================================================
--- pcmciautils-018.orig/Makefile
+++ pcmciautils-018/Makefile
@@ -249,6 +249,9 @@ $(PCMCIA_SOCKET_STARTUP): $(LIBC) src/st
yacc_config.o lex_config.o: %.o: %.c src/yacc_config.h
$(CC) -c -MD -O -pipe $(CPPFLAGS) $<
+src/lex_config.o : src/lex_config.c src/yacc_config.h
+ $(QUIET) $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+
debugtools: ccdv $(CBDUMP) $(CISDUMP)
$(CBDUMP): $(LIBC) debug/cbdump.o
Index: pcmciautils-018/Makefile
===================================================================
--- pcmciautils-018.orig/Makefile

View File

@@ -5,15 +5,15 @@ Upstream-Status: Pending
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
diff --git a/configs/MPC8315ERDB_defconfig b/configs/MPC8315ERDB_defconfig
index 4e2b705..b02ab1f 100644
--- a/configs/MPC8315ERDB_defconfig
+++ b/configs/MPC8315ERDB_defconfig
@@ -9,6 +9,7 @@ CONFIG_HUSH_PARSER=y
CONFIG_CMD_I2C=y
Index: git/configs/MPC8315ERDB_defconfig
===================================================================
--- git.orig/configs/MPC8315ERDB_defconfig
+++ git/configs/MPC8315ERDB_defconfig
@@ -12,6 +12,7 @@ CONFIG_CMD_PCI=y
CONFIG_CMD_SATA=y
CONFIG_CMD_USB=y
# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_DHCP=y
CONFIG_CMD_MII=y
CONFIG_CMD_PING=y
CONFIG_CMD_EXT2=y
CONFIG_CMD_DATE=y

View File

@@ -1,10 +1,10 @@
Upstream-Status: Pending
diff --git a/initscript/debian/avahi-daemon.in b/initscript/debian/avahi-daemon.in
index 30a2c2f..b5848a8 100755
--- a/initscript/debian/avahi-daemon.in
+++ b/initscript/debian/avahi-daemon.in
@@ -1,2 +1,14 @@
Index: avahi-0.7/initscript/debian/avahi-daemon.in
===================================================================
--- avahi-0.7.orig/initscript/debian/avahi-daemon.in
+++ avahi-0.7/initscript/debian/avahi-daemon.in
@@ -1,5 +1,17 @@
#!/bin/sh
-
+### BEGIN INIT INFO
@@ -20,11 +20,14 @@ index 30a2c2f..b5848a8 100755
+# automatically
+### END INIT INFO
+#
diff --git a/initscript/debian/avahi-dnsconfd.in b/initscript/debian/avahi-dnsconfd.in
index ac34804..f95c340 100755
--- a/initscript/debian/avahi-dnsconfd.in
+++ b/initscript/debian/avahi-dnsconfd.in
@@ -1,1 +1,14 @@
# This file is part of avahi.
#
# avahi is free software; you can redistribute it and/or modify it
Index: avahi-0.7/initscript/debian/avahi-dnsconfd.in
===================================================================
--- avahi-0.7.orig/initscript/debian/avahi-dnsconfd.in
+++ avahi-0.7/initscript/debian/avahi-dnsconfd.in
@@ -1,4 +1,17 @@
#!/bin/sh
+### BEGIN INIT INFO
+# Provides: avahi-dnsconfd
@@ -39,3 +42,6 @@ index ac34804..f95c340 100755
+# automatically
+### END INIT INFO
+#
# This file is part of avahi.
#

View File

@@ -136,8 +136,6 @@ SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'bluet
INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME_${PN} = "bluetooth"
EXCLUDE_FROM_WORLD = "1"
do_compile_ptest() {
oe_runmake buildtests
}

View File

@@ -13,6 +13,8 @@ DEPENDS = "flex-native bison-native iptables elfutils"
inherit update-alternatives bash-completion pkgconfig
CLEANBROKEN = "1"
PACKAGECONFIG ??= "tipc"
PACKAGECONFIG[tipc] = ",,libmnl,"

View File

@@ -9,19 +9,19 @@ Upstream-Status: Pending
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Index: iproute2-4.11.0/configure
Index: iproute2-4.14.1/configure
===================================================================
--- iproute2-4.11.0.orig/configure
+++ iproute2-4.11.0/configure
--- iproute2-4.14.1.orig/configure
+++ iproute2-4.14.1/configure
@@ -2,6 +2,7 @@
# This is not an autoconf generated configure
#
INCLUDE=${1:-"$PWD/include"}
+SYSROOT=$1
# Make a temp directory in build tree.
TMPDIR=$(mktemp -d config.XXXXXX)
@@ -192,7 +193,7 @@ check_ipt_lib_dir()
# Output file which is input to Makefile
CONFIG=config.mk
@@ -195,7 +196,7 @@ check_ipt_lib_dir()
return
fi

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] also create old hash for compatibility
Upstream-Status: Backport [debian]
diff --git a/tools/c_rehash.in b/tools/c_rehash.in
index b086ff9..b777d79 100644
--- a/tools/c_rehash.in
+++ b/tools/c_rehash.in
Index: openssl-1.0.2n/tools/c_rehash.in
===================================================================
--- openssl-1.0.2n.orig/tools/c_rehash.in
+++ openssl-1.0.2n/tools/c_rehash.in
@@ -8,8 +8,6 @@ my $prefix;
my $openssl = $ENV{OPENSSL} || "openssl";
@@ -48,7 +48,7 @@ index b086ff9..b777d79 100644
$fname =~ s/'/'\\''/g;
my ($hash, $fprint) = `"$openssl" x509 $x509hash -fingerprint -noout -in "$fname"`;
chomp $hash;
@@ -176,11 +174,21 @@ sub link_hash_cert {
@@ -177,10 +175,20 @@ sub link_hash_cert {
$hashlist{$hash} = $fprint;
}

View File

@@ -1,12 +1,12 @@
Upstream-Status: Backport [debian]
Index: openssl-1.0.2/Configure
Index: openssl-1.0.2n/Configure
===================================================================
--- openssl-1.0.2.orig/Configure
+++ openssl-1.0.2/Configure
@@ -107,6 +107,10 @@ my $gcc_devteam_warn = "-Wall -pedantic
my $clang_disabled_warnings = "-Wno-language-extension-token -Wno-extended-offsetof -Wno-padded -Wno-shorten-64-to-32 -Wno-format-nonliteral -Wno-missing-noreturn -Wno-unused-parameter -Wno-sign-conversion -Wno-unreachable-code -Wno-conversion -Wno-documentation -Wno-missing-variable-declarations -Wno-cast-align -Wno-incompatible-pointer-types-discards-qualifiers -Wno-missing-variable-declarations -Wno-missing-field-initializers -Wno-unused-macros -Wno-disabled-macro-expansion -Wno-conditional-uninitialized -Wno-switch-enum";
--- openssl-1.0.2n.orig/Configure
+++ openssl-1.0.2n/Configure
@@ -133,6 +133,10 @@ my $clang_devteam_warn = "-Wno-unused-pa
# Warn that "make depend" should be run?
my $warn_make_depend = 0;
+# There are no separate CFLAGS/CPPFLAGS/LDFLAGS, set everything in CFLAGS
+my $debian_cflags = `dpkg-buildflags --get CFLAGS` . `dpkg-buildflags --get CPPFLAGS` . `dpkg-buildflags --get LDFLAGS` . "-Wa,--noexecstack -Wall";
@@ -15,7 +15,7 @@ Index: openssl-1.0.2/Configure
my $strict_warnings = 0;
my $x86_gcc_des="DES_PTR DES_RISC1 DES_UNROLL";
@@ -343,6 +347,55 @@ my %table=(
@@ -369,6 +373,55 @@ my %table=(
"osf1-alpha-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared:::.so",
"tru64-alpha-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared::-msym:.so",

View File

@@ -1,46 +0,0 @@
https://rt.openssl.org/Ticket/Display.html?id=3759&user=guest&pass=guest
From 6257d59b3a68d2feb9d64317a1c556dc3813ee61 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Sat, 21 Mar 2015 06:01:25 -0400
Subject: [PATCH] crypto: use bigint in x86-64 perl
Upstream-Status: Pending
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
When building on x32 systems where the default type is 32bit, make sure
we can transparently represent 64bit integers. Otherwise we end up with
build errors like:
/usr/bin/perl asm/ghash-x86_64.pl elf > ghash-x86_64.s
Integer overflow in hexadecimal number at asm/../../perlasm/x86_64-xlate.pl line 201, <> line 890.
...
ghash-x86_64.s: Assembler messages:
ghash-x86_64.s:890: Error: junk '.15473355479995e+19' after expression
We don't enable this globally as there are some cases where we'd get
32bit values interpreted as unsigned when we need them as signed.
Reported-by: Bertrand Jacquin <bertrand@jacquin.bzh>
URL: https://bugs.gentoo.org/542618
---
crypto/perlasm/x86_64-xlate.pl | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
index aae8288..0bf9774 100755
--- a/crypto/perlasm/x86_64-xlate.pl
+++ b/crypto/perlasm/x86_64-xlate.pl
@@ -195,6 +195,10 @@ my %globals;
sub out {
my $self = shift;
+ # When building on x32 ABIs, the expanded hex value might be too
+ # big to fit into 32bits. Enable transparent 64bit support here
+ # so we can safely print it out.
+ use bigint;
if ($gas) {
# Solaris /usr/ccs/bin/as can't handle multiplications
# in $self->{value}
--
2.3.3

View File

@@ -0,0 +1,20 @@
Allow passing custom c-flags to mkbuildinf.pl in order to pass
flags without any build host references
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
--- Makefile 2018-03-06 14:50:18.342138147 -0800
+++ Makefile 2018-03-06 15:24:04.794239071 -0800
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -55,7 +55,7 @@
all: shared
buildinf.h: ../Makefile
- $(PERL) $(TOP)/util/mkbuildinf.pl "$(CC) $(CFLAGS)" "$(PLATFORM)" >buildinf.h
+ $(PERL) $(TOP)/util/mkbuildinf.pl "$(CC_INFO)" "$(PLATFORM)" >buildinf.h
x86cpuid.s: x86cpuid.pl perlasm/x86asm.pl
$(PERL) x86cpuid.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@

View File

@@ -0,0 +1,21 @@
If SOURCE_DATE_EPOCH is present in the environment, use it as build date.
Also make sure to use UTC time.
Upstream-Status: Backport [ https://github.com/openssl/openssl/blob/master/util/mkbuildinf.pl ]
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
--- mkbuildinf.pl 2018-03-06 14:20:09.438048058 -0800
+++ mkbuildinf.pl 2018-03-06 14:19:20.722045632 -0800
--- a/util/mkbuildinf.pl
+++ b/util/mkbuildinf.pl
@@ -3,7 +3,8 @@
my ($cflags, $platform) = @ARGV;
$cflags = "compiler: $cflags";
-$date = localtime();
+my $date = gmtime($ENV{'SOURCE_DATE_EPOCH'} || time()) . " UTC";
+
print <<"END_OUTPUT";
#ifndef MK1MF_BUILD
/* auto-generated by util/mkbuildinf.pl for crypto/cversion.c */

View File

@@ -157,11 +157,15 @@ do_configure () {
if [ "x$useprefix" = "x" ]; then
useprefix=/
fi
perl ./Configure ${EXTRA_OECONF} shared --prefix=$useprefix --openssldir=${libdir}/ssl --libdir=`basename ${libdir}` $target
libdirleaf="$(echo ${libdir} | sed s:$useprefix::)"
perl ./Configure ${EXTRA_OECONF} shared --prefix=$useprefix --openssldir=${libdir}/ssl --libdir=${libdirleaf} $target
}
do_compile_prepend_class-target () {
sed -i 's/\((OPENSSL=\)".*"/\1"openssl"/' Makefile
oe_runmake depend
cc_sanitized=`echo "${CC} ${CFLAG}" | sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' -e 's|${DEBUG_PREFIX_MAP}||g'`
oe_runmake CC_INFO="${cc_sanitized}"
}
do_compile () {

View File

@@ -34,7 +34,6 @@ SRC_URI += "file://find.pl;subdir=openssl-${PV}/util/ \
file://openssl-fix-des.pod-error.patch \
file://Makefiles-ptest.patch \
file://ptest-deps.patch \
file://openssl-1.0.2a-x32-asm.patch \
file://ptest_makefile_deps.patch \
file://configure-musl-target.patch \
file://parallel.patch \
@@ -43,6 +42,11 @@ SRC_URI += "file://find.pl;subdir=openssl-${PV}/util/ \
file://0001-Fix-build-with-clang-using-external-assembler.patch \
file://0001-openssl-force-soft-link-to-avoid-rare-race.patch \
"
SRC_URI_append_class-target = "\
file://reproducible-cflags.patch \
file://reproducible-mkbuildinf.patch \
"
SRC_URI[md5sum] = "13bdc1b1d1ff39b6fd42a255e74676a4"
SRC_URI[sha256sum] = "370babb75f278c39e0c50e8c4e7493bc0f18db6867478341a832a982fd15a8fe"

View File

@@ -116,7 +116,8 @@ do_configure () {
if [ "x$useprefix" = "x" ]; then
useprefix=/
fi
perl ./Configure ${EXTRA_OECONF} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=`basename ${libdir}` $target
libdirleaf="$(echo ${libdir} | sed s:$useprefix::)"
perl ./Configure ${EXTRA_OECONF} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdirleaf} $target
}
#| engines/afalg/e_afalg.c: In function 'eventfd':

View File

@@ -106,7 +106,7 @@ python () {
}
do_prepare_config () {
if [ "$BUILD_REPRODUCIBLE_BINARIES" = "1" ]; then
if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
export KCONFIG_NOTIMESTAMP=1
fi
sed -e '/CONFIG_STATIC/d' \
@@ -146,7 +146,7 @@ do_configure () {
do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
if [ "$BUILD_REPRODUCIBLE_BINARIES" = "1" ]; then
if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
export KCONFIG_NOTIMESTAMP=1
fi
if [ "${BUSYBOX_SPLIT_SUID}" = "1" -a x`grep "CONFIG_FEATURE_INDIVIDUAL=y" .config` = x ]; then

View File

@@ -71,7 +71,7 @@ do_install_ptest() {
cp -a ${B}/dbus/.libs/*.so* ${D}${PTEST_PATH}/test/.libs
# Remove build host references...
find "${D}${PTEST_PATH}/test/data" \( -name *.service -o -name *.conf \) -type f -exec \
find "${D}${PTEST_PATH}/test/data" \( -name *.service -o -name *.conf -o -name "*.aaprofile" \) -type f -exec \
sed -i \
-e 's:${B}:${PTEST_PATH}:g' \
{} +

View File

@@ -19,7 +19,7 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:"
SRCBRANCH ?= "release/${PV}/master"
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)"
SRCREV_glibc ?= "23158b08a0908f381459f273a984c6fd328363cb"
SRCREV_localedef ?= "de5bdbd5e76b5403a4151b9b9f958b6cca36b3e7"

View File

@@ -12,7 +12,7 @@ SRCREV ?= "23158b08a0908f381459f273a984c6fd328363cb"
SRCBRANCH ?= "release/${PV}/master"
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)"
SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://etc/ld.so.conf \

View File

@@ -201,7 +201,10 @@ do_install() {
ln -sf xterm-color ${D}${sysconfdir}/terminfo/x/xterm
fi
rm -f ${D}${libdir}/terminfo
# When changing ${libdir} to e.g. /usr/lib/myawesomelib/ ncurses
# still installs '/usr/lib/terminfo', so try to rm both
# the proper path and a slightly hardcoded one
rm -f ${D}${libdir}/terminfo ${D}${prefix}/lib/terminfo
# create linker scripts for libcurses.so and libncurses to
# link against -ltinfo when needed. Some builds might break
@@ -227,7 +230,7 @@ do_install() {
if [ ! -d "${D}${base_libdir}" ]; then
# Setting base_libdir to libdir as is done in the -native
# case will skip this code
mkdir ${D}${base_libdir}
mkdir -p ${D}${base_libdir}
mv ${D}${libdir}/libncurses.so.* ${D}${base_libdir}
! ${ENABLE_WIDEC} || \
mv ${D}${libdir}/libncursesw.so.* ${D}${base_libdir}

View File

@@ -33,6 +33,7 @@ SANITIZERS_mipsarch = ""
SANITIZERS_nios2 = ""
SANITIZERS_powerpc64 = ""
SANITIZERS_sparc = ""
SANITIZERS_riscv64 = ""
SANITIZERS_libc-musl = ""
RRECOMMENDS_packagegroup-core-sdk = "\

View File

@@ -40,9 +40,11 @@ SYSTEMTAP_aarch64 = ""
# lttng-ust uses sched_getcpu() which is not there on for some platforms.
LTTNGUST = "lttng-ust"
LTTNGUST_libc-musl = ""
LTTNGUST_riscv64 = ""
LTTNGTOOLS = "lttng-tools"
LTTNGTOOLS_libc-musl = ""
LTTNGTOOLS_riscv64 = ""
LTTNGMODULES = "lttng-modules"

View File

@@ -3,20 +3,25 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:"
DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native"
SRC_URI += "file://0007-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch"
SRC_URI += "file://0003-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch \
file://0027-remove-nobody-user-group-checking.patch \
file://0001-Also-check-i386-i586-and-i686-for-ia32.patch \
file://0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch \
"
inherit autotools pkgconfig gettext
inherit meson pkgconfig gettext
inherit deploy
EFI_CC ?= "${CC}"
# Man pages are packaged through the main systemd recipe
EXTRA_OECONF = " --enable-gnuefi \
--with-efi-includedir=${STAGING_INCDIR} \
--with-efi-ldsdir=${STAGING_LIBDIR} \
--with-efi-libdir=${STAGING_LIBDIR} \
--disable-manpages \
EFI_CC='${EFI_CC}' \
"
EXTRA_OEMESON += "-Defi=true \
-Dgnu-efi=true \
-Defi-includedir=${STAGING_INCDIR}/efi \
-Defi-ldsdir=${STAGING_LIBDIR} \
-Defi-libdir=${STAGING_LIBDIR} \
-Dman=false \
-Defi-cc='${EFI_CC}' \
-Defi-ld='${LD}' \
"
# install to the image as boot*.efi if its the EFI_PROVIDER,
# otherwise install as the full name.
@@ -49,17 +54,17 @@ do_compile() {
SYSTEMD_BOOT_EFI_ARCH="x64"
fi
oe_runmake ${SYSTEMD_BOOT_IMAGE_PREFIX}${SYSTEMD_BOOT_IMAGE}
ninja src/boot/efi/${SYSTEMD_BOOT_IMAGE_PREFIX}${SYSTEMD_BOOT_IMAGE}
}
do_install() {
install -d ${D}/boot
install -d ${D}/boot/EFI
install -d ${D}/boot/EFI/BOOT
install ${B}/systemd-boot*.efi ${D}/boot/EFI/BOOT/${SYSTEMD_BOOT_IMAGE}
install ${B}/src/boot/efi/systemd-boot*.efi ${D}/boot/EFI/BOOT/${SYSTEMD_BOOT_IMAGE}
}
do_deploy () {
install ${B}/systemd-boot*.efi ${DEPLOYDIR}
install ${B}/src/boot/efi/systemd-boot*.efi ${DEPLOYDIR}
}
addtask deploy before do_build after do_compile

View File

@@ -14,7 +14,7 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
SRCREV = "c1edab7ad1e7ccc9be693bedfd464cd1cbffb395"
SRCREV = "46659f7deb962f55c728e70597e37c2a3ab6326d"
SRC_URI = "git://github.com/systemd/systemd.git;protocol=git"

View File

@@ -0,0 +1,28 @@
From 3e8c19bb1bbc4493c591f75c00c1fefe3b1c8a69 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Tue, 27 Feb 2018 20:42:41 -0800
Subject: [PATCH] Also check i386, i586 and i686 for ia32
Upstream-Status: Pending
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 28cb8b60e..489531a43 100644
--- a/meson.build
+++ b/meson.build
@@ -1217,7 +1217,7 @@ conf.set10('SYSTEMD_SLOW_TESTS_DEFAULT', slow_tests)
if get_option('efi')
efi_arch = host_machine.cpu_family()
- if efi_arch == 'x86'
+ if efi_arch == 'x86' or efi_arch == 'i386' or efi_arch == 'i586' or efi_arch == 'i686'
EFI_MACHINE_TYPE_NAME = 'ia32'
gnu_efi_arch = 'ia32'
elif efi_arch == 'x86_64'
--
2.13.0

View File

@@ -0,0 +1,62 @@
From 527413ec243564a89ffaad6368d446de44415970 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Tue, 27 Feb 2018 21:42:23 -0800
Subject: [PATCH] Fix to run efi_cc and efi_ld correctly when cross-compiling
When cross-compiling, efi_cc and efi_ld may take the form of
'xxx-gcc --sysroot=xxx', and this would cause run_command and
the alike fail.
Fix to split them to make commands run correctly.
Upstream-Status: Pending
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/boot/efi/meson.build | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build
index 992a3ba4c..9f9ec4911 100644
--- a/src/boot/efi/meson.build
+++ b/src/boot/efi/meson.build
@@ -157,7 +157,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.split() + ['-c', '@INPUT@', '-o', '@OUTPUT@']
+ compile_args,
depend_files : efi_headers)
if (common_sources + systemd_boot_sources).contains(file)
@@ -168,7 +168,17 @@ if have_gnu_efi
endif
endforeach
- libgcc_file_name = run_command(efi_cc, '-print-libgcc-file-name').stdout().strip()
+ find_libgcc_cmd_all = efi_cc + ' -print-libgcc-file-name'
+ find_libgcc_cmd = find_libgcc_cmd_all.split()[0]
+ find_libgcc_args = []
+ cmd_args_all = find_libgcc_cmd_all.split()
+ foreach arg : cmd_args_all
+ if arg != find_libgcc_cmd
+ find_libgcc_args += arg
+ endif
+ endforeach
+
+ libgcc_file_name = run_command(find_libgcc_cmd, find_libgcc_args).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')
@@ -179,7 +189,7 @@ if have_gnu_efi
tuple[0],
input : tuple[2],
output : tuple[0],
- command : [efi_ld, '-o', '@OUTPUT@'] +
+ command : efi_ld.split() + ['-o', '@OUTPUT@'] +
efi_ldflags + tuple[2] +
['-lefi', '-lgnuefi', libgcc_file_name])
--
2.13.0

View File

@@ -0,0 +1,33 @@
From e361f6b4aefae57efff7e457df8db4d1067bec23 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 28 Feb 2018 21:50:23 -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 [OE 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 7610ab12b..591b9cbab 100644
--- a/meson.build
+++ b/meson.build
@@ -329,8 +329,6 @@ foreach arg : ['-Wextra',
'-fdiagnostics-show-option',
'-fno-strict-aliasing',
'-fvisibility=hidden',
- '-fstack-protector',
- '-fstack-protector-strong',
'--param=ssp-buffer-size=4',
]
if cc.has_argument(arg)
--
2.13.0

View File

@@ -1,23 +1,26 @@
From 5765cda4f7243e240b1e8723dc536fb20503d544 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 19:28:32 -0800
Subject: [PATCH 04/19] Use getenv when secure versions are not available
From b1192a6e171413291d9d64fafc04773c6bbc9cab 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/31] 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 imeplementation
to it if configure does not detect a secure implementation
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Denied
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/basic/missing.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/basic/missing.h b/src/basic/missing.h
index 4a3fd9c..4936873 100644
index 1280e6c41..39c1fb700 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -529,7 +529,7 @@ struct btrfs_ioctl_quota_ctl_args {
# ifdef HAVE___SECURE_GETENV
@@ -605,7 +605,7 @@ struct btrfs_ioctl_quota_ctl_args {
# if HAVE___SECURE_GETENV
# define secure_getenv __secure_getenv
# else
-# error "neither secure_getenv nor __secure_getenv are available"
@@ -26,5 +29,5 @@ index 4a3fd9c..4936873 100644
#endif
--
2.10.2
2.13.0

View File

@@ -1,69 +0,0 @@
From 28dd66ecfce743b1ea9046c7bb501e0fcaeff724 Mon Sep 17 00:00:00 2001
From: Luca Bruno <luca.bruno@coreos.com>
Date: Sun, 6 Aug 2017 13:24:24 +0000
Subject: [PATCH] core: evaluate presets after generators have run (#6526)
This commit moves the first-boot system preset-settings evaluation out
of main and into the manager startup logic itself. Notably, it reverses
the order between generators and presets evaluation, so that any changes
performed by first-boot generators are taken into the account by presets
logic.
After this change, units created by a generator can be enabled as part
of a preset.
Upstream-Status: Backport
Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
---
src/core/main.c | 12 ++----------
src/core/manager.c | 8 ++++++++
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/core/main.c b/src/core/main.c
index dfedc3d..11ac9cf 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -1809,18 +1809,10 @@ int main(int argc, char *argv[]) {
if (prctl(PR_SET_CHILD_SUBREAPER, 1) < 0)
log_warning_errno(errno, "Failed to make us a subreaper: %m");
- if (arg_system) {
+ if (arg_system)
+ /* Bump up RLIMIT_NOFILE for systemd itself */
(void) bump_rlimit_nofile(&saved_rlimit_nofile);
- if (empty_etc) {
- r = unit_file_preset_all(UNIT_FILE_SYSTEM, 0, NULL, UNIT_FILE_PRESET_ENABLE_ONLY, NULL, 0);
- if (r < 0)
- log_full_errno(r == -EEXIST ? LOG_NOTICE : LOG_WARNING, r, "Failed to populate /etc with preset unit settings, ignoring: %m");
- else
- log_info("Populated /etc with preset unit settings.");
- }
- }
-
r = manager_new(arg_system ? UNIT_FILE_SYSTEM : UNIT_FILE_USER, arg_action == ACTION_TEST, &m);
if (r < 0) {
log_emergency_errno(r, "Failed to allocate manager object: %m");
diff --git a/src/core/manager.c b/src/core/manager.c
index 1aadb70..fb5e2b5 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -1328,6 +1328,14 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) {
if (r < 0)
return r;
+ if (m->first_boot && m->unit_file_scope == UNIT_FILE_SYSTEM) {
+ q = unit_file_preset_all(UNIT_FILE_SYSTEM, 0, NULL, UNIT_FILE_PRESET_ENABLE_ONLY, NULL, 0);
+ if (q < 0)
+ log_full_errno(q == -EEXIST ? LOG_NOTICE : LOG_WARNING, q, "Failed to populate /etc with preset unit settings, ignoring: %m");
+ else
+ log_info("Populated /etc with preset unit settings.");
+ }
+
lookup_paths_reduce(&m->lookup_paths);
manager_build_unit_path_cache(m);
--
2.10.2

View File

@@ -1,163 +0,0 @@
From dea374e898a749a0474b72b2015cca9009b1432b Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Wed, 13 Sep 2017 10:31:40 +0200
Subject: [PATCH] main: skip many initialization steps when running in --test
mode
Most importantly, don't collect open socket activation fds when in
--test mode. This specifically created a problem because we invoke
pager_open() beforehand (which these days makes copies of the original
stdout/stderr in order to be able to restore them when the pager goes
away) and we might mistakenly the fd copies it creates as socket
activation fds.
Fixes: #6383
Upstream-Status: Backport
Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
---
src/core/main.c | 108 +++++++++++++++++++++++++++++---------------------------
1 file changed, 56 insertions(+), 52 deletions(-)
diff --git a/src/core/main.c b/src/core/main.c
index 11ac9cf..d1a53a5 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -1679,20 +1679,22 @@ int main(int argc, char *argv[]) {
log_close();
/* Remember open file descriptors for later deserialization */
- r = fdset_new_fill(&fds);
- if (r < 0) {
- log_emergency_errno(r, "Failed to allocate fd set: %m");
- error_message = "Failed to allocate fd set";
- goto finish;
- } else
- fdset_cloexec(fds, true);
+ if (arg_action == ACTION_RUN) {
+ r = fdset_new_fill(&fds);
+ if (r < 0) {
+ log_emergency_errno(r, "Failed to allocate fd set: %m");
+ error_message = "Failed to allocate fd set";
+ goto finish;
+ } else
+ fdset_cloexec(fds, true);
- if (arg_serialization)
- assert_se(fdset_remove(fds, fileno(arg_serialization)) >= 0);
+ if (arg_serialization)
+ assert_se(fdset_remove(fds, fileno(arg_serialization)) >= 0);
- if (arg_system)
- /* Become a session leader if we aren't one yet. */
- setsid();
+ if (arg_system)
+ /* Become a session leader if we aren't one yet. */
+ setsid();
+ }
/* Move out of the way, so that we won't block unmounts */
assert_se(chdir("/") == 0);
@@ -1762,56 +1764,58 @@ int main(int argc, char *argv[]) {
arg_action == ACTION_TEST ? " test" : "", getuid(), t);
}
- if (arg_system && !skip_setup) {
- if (arg_show_status > 0)
- status_welcome();
+ if (arg_action == ACTION_RUN) {
+ if (arg_system && !skip_setup) {
+ if (arg_show_status > 0)
+ status_welcome();
- hostname_setup();
- machine_id_setup(NULL, arg_machine_id, NULL);
- loopback_setup();
- bump_unix_max_dgram_qlen();
+ hostname_setup();
+ machine_id_setup(NULL, arg_machine_id, NULL);
+ loopback_setup();
+ bump_unix_max_dgram_qlen();
- test_usr();
- }
+ test_usr();
+ }
- if (arg_system && arg_runtime_watchdog > 0 && arg_runtime_watchdog != USEC_INFINITY)
- watchdog_set_timeout(&arg_runtime_watchdog);
+ if (arg_system && arg_runtime_watchdog > 0 && arg_runtime_watchdog != USEC_INFINITY)
+ watchdog_set_timeout(&arg_runtime_watchdog);
- if (arg_timer_slack_nsec != NSEC_INFINITY)
- if (prctl(PR_SET_TIMERSLACK, arg_timer_slack_nsec) < 0)
- log_error_errno(errno, "Failed to adjust timer slack: %m");
+ if (arg_timer_slack_nsec != NSEC_INFINITY)
+ if (prctl(PR_SET_TIMERSLACK, arg_timer_slack_nsec) < 0)
+ log_error_errno(errno, "Failed to adjust timer slack: %m");
- if (arg_system && !cap_test_all(arg_capability_bounding_set)) {
- r = capability_bounding_set_drop_usermode(arg_capability_bounding_set);
- if (r < 0) {
- log_emergency_errno(r, "Failed to drop capability bounding set of usermode helpers: %m");
- error_message = "Failed to drop capability bounding set of usermode helpers";
- goto finish;
- }
- r = capability_bounding_set_drop(arg_capability_bounding_set, true);
- if (r < 0) {
- log_emergency_errno(r, "Failed to drop capability bounding set: %m");
- error_message = "Failed to drop capability bounding set";
- goto finish;
+ if (arg_system && !cap_test_all(arg_capability_bounding_set)) {
+ r = capability_bounding_set_drop_usermode(arg_capability_bounding_set);
+ if (r < 0) {
+ log_emergency_errno(r, "Failed to drop capability bounding set of usermode helpers: %m");
+ error_message = "Failed to drop capability bounding set of usermode helpers";
+ goto finish;
+ }
+ r = capability_bounding_set_drop(arg_capability_bounding_set, true);
+ if (r < 0) {
+ log_emergency_errno(r, "Failed to drop capability bounding set: %m");
+ error_message = "Failed to drop capability bounding set";
+ goto finish;
+ }
}
- }
- if (arg_syscall_archs) {
- r = enforce_syscall_archs(arg_syscall_archs);
- if (r < 0) {
- error_message = "Failed to set syscall architectures";
- goto finish;
+ if (arg_syscall_archs) {
+ r = enforce_syscall_archs(arg_syscall_archs);
+ if (r < 0) {
+ error_message = "Failed to set syscall architectures";
+ goto finish;
+ }
}
- }
- if (!arg_system)
- /* Become reaper of our children */
- if (prctl(PR_SET_CHILD_SUBREAPER, 1) < 0)
- log_warning_errno(errno, "Failed to make us a subreaper: %m");
+ if (!arg_system)
+ /* Become reaper of our children */
+ if (prctl(PR_SET_CHILD_SUBREAPER, 1) < 0)
+ log_warning_errno(errno, "Failed to make us a subreaper: %m");
- if (arg_system)
- /* Bump up RLIMIT_NOFILE for systemd itself */
- (void) bump_rlimit_nofile(&saved_rlimit_nofile);
+ if (arg_system)
+ /* Bump up RLIMIT_NOFILE for systemd itself */
+ (void) bump_rlimit_nofile(&saved_rlimit_nofile);
+ }
r = manager_new(arg_system ? UNIT_FILE_SYSTEM : UNIT_FILE_USER, arg_action == ACTION_TEST, &m);
if (r < 0) {
--
2.10.2

View File

@@ -1,28 +0,0 @@
From 2207e1ffe4f7e2dcc5e745dadb48738aa1048d63 Mon Sep 17 00:00:00 2001
From: Yu Watanabe <watanabe.yu+github@gmail.com>
Date: Sun, 26 Nov 2017 02:17:06 +0900
Subject: [PATCH 1/3] meson: update header file to detect memfd_create()
---
Upstream-Status: Backport
meson.build | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 20b27c860..550dd4ad8 100644
--- a/meson.build
+++ b/meson.build
@@ -414,7 +414,8 @@ foreach ident : ['secure_getenv', '__secure_getenv']
endforeach
foreach ident : [
- ['memfd_create', '''#include <sys/memfd.h>'''],
+ ['memfd_create', '''#define _GNU_SOURCE
+ #include <sys/mman.h>'''],
['gettid', '''#include <sys/types.h>'''],
['pivot_root', '''#include <stdlib.h>'''], # no known header declares pivot_root
['name_to_handle_at', '''#define _GNU_SOURCE
--
2.16.1

View File

@@ -0,0 +1,81 @@
From c93eb6cdec03f5e243e59e95dc49273fcb90e7c1 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Fri, 23 Feb 2018 10:23:40 +0800
Subject: [PATCH 02/31] 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
like a traditional service.
The [Install] blocks were rejected upstream as they don't have a way to
"enable" it on install without static symlinks which can't be disabled,
only masked. We however can do that in a postinst.
Upstream-Status: Denied
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
units/meson.build | 6 ++----
units/proc-sys-fs-binfmt_misc.automount | 3 +++
units/systemd-binfmt.service.in | 4 ++++
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/units/meson.build b/units/meson.build
index 814ee7885..49ace0d0f 100644
--- a/units/meson.build
+++ b/units/meson.build
@@ -60,8 +60,7 @@ units = [
['poweroff.target', '',
'runlevel0.target'],
['printer.target', ''],
- ['proc-sys-fs-binfmt_misc.automount', 'ENABLE_BINFMT',
- 'sysinit.target.wants/'],
+ ['proc-sys-fs-binfmt_misc.automount', 'ENABLE_BINFMT'],
['proc-sys-fs-binfmt_misc.mount', 'ENABLE_BINFMT'],
['reboot.target', '',
'runlevel6.target ctrl-alt-del.target'],
@@ -144,8 +143,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-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
--- a/units/proc-sys-fs-binfmt_misc.automount
+++ b/units/proc-sys-fs-binfmt_misc.automount
@@ -18,3 +18,6 @@ ConditionPathIsReadWrite=/proc/sys/
[Automount]
Where=/proc/sys/fs/binfmt_misc
+
+[Install]
+WantedBy=sysinit.target
diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in
index df9396d89..0687f4648 100644
--- a/units/systemd-binfmt.service.in
+++ b/units/systemd-binfmt.service.in
@@ -13,6 +13,7 @@ Documentation=man:systemd-binfmt.service(8) man:binfmt.d(5)
Documentation=https://www.kernel.org/doc/Documentation/binfmt_misc.txt
DefaultDependencies=no
Conflicts=shutdown.target
+Wants=proc-sys-fs-binfmt_misc.automount
After=proc-sys-fs-binfmt_misc.automount
Before=sysinit.target shutdown.target
ConditionPathIsReadWrite=/proc/sys/
@@ -27,3 +28,6 @@ Type=oneshot
RemainAfterExit=yes
ExecStart=@rootlibexecdir@/systemd-binfmt
TimeoutSec=90s
+
+[Install]
+WantedBy=sysinit.target
--
2.13.0

View File

@@ -1,27 +0,0 @@
From 025408c87869962f511de044dd41a1f4b1d80165 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 27 Jan 2018 11:53:38 -0800
Subject: [PATCH 2/3] configure.ac: Check if memfd_create is already defined
Upstream-Status: Inappropriate [upstream systemd uses meson]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
index 3674190fb..c7a184d72 100644
--- a/configure.ac
+++ b/configure.ac
@@ -340,6 +340,7 @@ AC_CHECK_DECLS([
[], [], [[
#include <sys/types.h>
#include <unistd.h>
+#include <sys/mman.h>
#include <sys/mount.h>
#include <fcntl.h>
#include <sched.h>
--
2.16.1

View File

@@ -1,104 +0,0 @@
From 585abd891a56409915314304101cac26b42c076b Mon Sep 17 00:00:00 2001
From: Emil Renner Berthing <systemd@esmil.dk>
Date: Mon, 23 Oct 2017 10:45:46 -0700
Subject: [PATCH 02/12] src/basic/missing.h: check for missing strndupa
include missing.h for definition of strndupa
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
configure.ac | 1 +
src/basic/missing.h | 11 +++++++++++
src/basic/mkdir.c | 1 +
src/basic/parse-util.c | 1 +
src/shared/pager.c | 1 +
src/shared/uid-range.c | 1 +
6 files changed, 16 insertions(+)
diff --git a/configure.ac b/configure.ac
index efcdc6c16..cd035a971 100644
--- a/configure.ac
+++ b/configure.ac
@@ -329,6 +329,7 @@ AC_CHECK_DECLS([
pivot_root,
name_to_handle_at,
setns,
+ strndupa,
renameat2,
kcmp,
keyctl,
diff --git a/src/basic/missing.h b/src/basic/missing.h
index 04912bf52..8009888ad 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -1104,6 +1104,17 @@ typedef int32_t key_serial_t;
#define KEYCTL_DESCRIBE 6
#endif
+#if !HAVE_DECL_STRNDUPA
+#define strndupa(s, n) \
+ ({ \
+ const char *__old = (s); \
+ size_t __len = strnlen(__old, (n)); \
+ char *__new = (char *)alloca(__len + 1); \
+ __new[__len] = '\0'; \
+ (char *)memcpy(__new, __old, __len); \
+ })
+#endif
+
#ifndef KEYCTL_READ
#define KEYCTL_READ 11
#endif
diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
index 6b1a98402..d1388df48 100644
--- a/src/basic/mkdir.c
+++ b/src/basic/mkdir.c
@@ -28,6 +28,7 @@
#include "path-util.h"
#include "stat-util.h"
#include "user-util.h"
+#include "missing.h"
int mkdir_safe_internal(const char *path, mode_t mode, uid_t uid, gid_t gid, mkdir_func_t _mkdir) {
struct stat st;
diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
index 4532f222c..7a30a0e06 100644
--- a/src/basic/parse-util.c
+++ b/src/basic/parse-util.c
@@ -30,6 +30,7 @@
#include "parse-util.h"
#include "process-util.h"
#include "string-util.h"
+#include "missing.h"
int parse_boolean(const char *v) {
assert(v);
diff --git a/src/shared/pager.c b/src/shared/pager.c
index 4d7b02c63..854efc0c9 100644
--- a/src/shared/pager.c
+++ b/src/shared/pager.c
@@ -38,6 +38,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 b6ec47439..91ce9fb7f 100644
--- a/src/shared/uid-range.c
+++ b/src/shared/uid-range.c
@@ -24,6 +24,7 @@
#include "macro.h"
#include "uid-range.h"
#include "user-util.h"
+#include "missing.h"
static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
assert(range);
--
2.14.2

View File

@@ -1,26 +0,0 @@
From 52e922343faaa87b9efb8aa9ea578399ccc9bec9 Mon Sep 17 00:00:00 2001
From: Yu Watanabe <watanabe.yu+github@gmail.com>
Date: Sun, 26 Nov 2017 02:40:23 +0900
Subject: [PATCH 3/3] fileio: include sys/mman.h
---
Upstream-Status: Backport
src/basic/fileio.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/basic/fileio.c b/src/basic/fileio.c
index 9a185e3e6..1015afd29 100644
--- a/src/basic/fileio.c
+++ b/src/basic/fileio.c
@@ -24,6 +24,7 @@
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
--
2.16.1

View File

@@ -0,0 +1,64 @@
From 8b9d194e956848e0d1fb35ef2fba714b2691ebe6 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 28 Feb 2018 20:47:49 -0800
Subject: [PATCH 03/31] use lnr wrapper instead of looking for --relative
option for ln
Remove file manually to avoid the 'File Exists' error when creating
symlink. This is because the original 'ln' command uses '-f' option.
Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
meson.build | 4 ----
tools/meson-make-symlink.sh | 3 ++-
units/meson-add-wants.sh | 7 ++++++-
3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/meson.build b/meson.build
index 36a62d280..7347ea880 100644
--- a/meson.build
+++ b/meson.build
@@ -570,10 +570,6 @@ endforeach
conf.set_quoted('TELINIT', get_option('telinit-path'))
-if run_command('ln', '--relative', '--help').returncode() != 0
- error('ln does not support --relative')
-endif
-
############################################################
gperf = find_program('gperf')
diff --git a/tools/meson-make-symlink.sh b/tools/meson-make-symlink.sh
index 501cd43d4..f4e4ac9ac 100755
--- a/tools/meson-make-symlink.sh
+++ b/tools/meson-make-symlink.sh
@@ -8,5 +8,6 @@ mkdir -vp "$(dirname "${DESTDIR:-}$2")"
if [ "$(dirname $1)" = . ]; then
ln -vfs -T "$1" "${DESTDIR:-}$2"
else
- ln -vfs -T --relative "${DESTDIR:-}$1" "${DESTDIR:-}$2"
+ rm -f "${DESTDIR:-}$2"
+ lnr "${DESTDIR:-}$1" "${DESTDIR:-}$2"
fi
diff --git a/units/meson-add-wants.sh b/units/meson-add-wants.sh
index 70f7172ae..a42666aac 100755
--- a/units/meson-add-wants.sh
+++ b/units/meson-add-wants.sh
@@ -25,4 +25,9 @@ case "$target" in
;;
esac
-ln -vfs --relative "$unitpath" "$dir"
+if [ -d "$dir" ]; then
+ rm -f "$dir/$unit"
+ lnr "$unitpath" "$dir/$unit"
+else
+ lnr "$unitpath" "$dir"
+fi
--
2.13.0

View File

@@ -1,7 +1,7 @@
From 52726be92e2b841f744a96c378cc872ae0033a2b Mon Sep 17 00:00:00 2001
From 70d456fb21de2a80697fa364f08475339d6396c1 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 10/19] implment systemd-sysv-install for OE
Subject: [PATCH 04/31] 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 a53a3e6..5d877b0 100755
index a53a3e622..5d877b06e 100755
--- a/src/systemctl/systemd-sysv-install.SKELETON
+++ b/src/systemctl/systemd-sysv-install.SKELETON
@@ -30,17 +30,17 @@ case "$1" in
@@ -39,5 +39,5 @@ index a53a3e6..5d877b0 100755
*)
usage ;;
--
2.10.2
2.13.0

View File

@@ -1,74 +0,0 @@
From 74450f0dbad2f8478c26eeaa46d4e4a987858f45 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 20 Feb 2015 05:03:44 +0000
Subject: [PATCH 05/19] 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
like a traditional service.
The [Install] blocks were rejected upstream as they don't have a way to
"enable"
it on install without static symlinks which can't be disabled, only
masked. We
however can do that in a postinst.
Upstream-Status: Denied
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile.am | 4 ----
units/proc-sys-fs-binfmt_misc.automount | 3 +++
units/systemd-binfmt.service.in | 5 +++++
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 50da458..29ed1dd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4635,10 +4635,6 @@ INSTALL_DIRS += \
$(prefix)/lib/binfmt.d \
$(sysconfdir)/binfmt.d
-SYSINIT_TARGET_WANTS += \
- systemd-binfmt.service \
- proc-sys-fs-binfmt_misc.automount
-
endif
EXTRA_DIST += \
diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount
index 6be3893..709adef 100644
--- a/units/proc-sys-fs-binfmt_misc.automount
+++ b/units/proc-sys-fs-binfmt_misc.automount
@@ -16,3 +16,6 @@ ConditionPathIsReadWrite=/proc/sys/
[Automount]
Where=/proc/sys/fs/binfmt_misc
+
+[Install]
+WantedBy=sysinit.target
diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in
index d53073e..8c57ee0 100644
--- a/units/systemd-binfmt.service.in
+++ b/units/systemd-binfmt.service.in
@@ -11,6 +11,8 @@ Documentation=man:systemd-binfmt.service(8) man:binfmt.d(5)
Documentation=https://www.kernel.org/doc/Documentation/binfmt_misc.txt
DefaultDependencies=no
Conflicts=shutdown.target
+Wants=proc-sys-fs-binfmt_misc.automount
+
After=proc-sys-fs-binfmt_misc.automount
Before=sysinit.target shutdown.target
ConditionPathIsReadWrite=/proc/sys/
@@ -25,3 +27,6 @@ Type=oneshot
RemainAfterExit=yes
ExecStart=@rootlibexecdir@/systemd-binfmt
TimeoutSec=90s
+
+[Install]
+WantedBy=sysinit.target
--
2.10.2

View File

@@ -1,7 +1,7 @@
From ab5a27040133f7cdf062ac8cfeb94e081d3567b3 Mon Sep 17 00:00:00 2001
From 7b5b34993002b4418ba8a3c2ae661a7337fd8ed0 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 07/14] rules: whitelist hd* devices
Subject: [PATCH 05/31] 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,13 +11,12 @@ 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>
---
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 d2745f65f..63f472be8 100644
index 0de8cf3a1..d3f58f153 100644
--- a/rules/60-persistent-storage.rules
+++ b/rules/60-persistent-storage.rules
@@ -7,7 +7,7 @@ ACTION=="remove", GOTO="persistent_storage_end"
@@ -30,5 +29,5 @@ index d2745f65f..63f472be8 100644
# ignore partitions that span the entire disk
TEST=="whole_disk", GOTO="persistent_storage_end"
--
2.13.2
2.13.0

View File

@@ -0,0 +1,78 @@
From 9d63227420f0c4f093c1c2066eafe2b6152070cf Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Fri, 23 Feb 2018 13:47:37 +0800
Subject: [PATCH 06/31] 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 | 8 ++++++++
meson_options.txt | 2 ++
2 files changed, 10 insertions(+)
diff --git a/meson.build b/meson.build
index 7347ea880..918101d6b 100644
--- a/meson.build
+++ b/meson.build
@@ -94,6 +94,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')
@@ -205,6 +210,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'))
@@ -221,6 +227,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)
@@ -2705,6 +2712,7 @@ status = [
'include directory: @0@'.format(includedir),
'lib directory: @0@'.format(libdir),
'rootlib directory: @0@'.format(rootlibdir),
+ 'roothome directory: @0@'.format(roothomedir),
'SysV init scripts: @0@'.format(sysvinit_path),
'SysV rc?.d directories: @0@'.format(sysvrcnd_path),
'PAM modules directory: @0@'.format(pamlibdir),
diff --git a/meson_options.txt b/meson_options.txt
index 39822d6cd..0b24f0e0f 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -22,6 +22,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')
--
2.13.0

View File

@@ -1,7 +1,7 @@
From 0f47cfcb16e8e40a90a9221f9995f8cd8a915c22 Mon Sep 17 00:00:00 2001
From 35d6d384e83ac38077603611bb791969ef95fe68 Mon Sep 17 00:00:00 2001
From: Jonathan Liu <net147@gmail.com>
Date: Thu, 19 Mar 2015 15:01:29 +1100
Subject: [PATCH 14/19] Revert "rules: remove firmware loading rules"
Subject: [PATCH 07/31] Revert "rules: remove firmware loading rules"
This reverts commit 70e7d754ddb356fb1a2942b262f8cee9650e2a19.
Userspace firmware loading support is needed for Linux < 3.7.
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Liu <net147@gmail.com>
diff --git a/rules/50-firmware.rules b/rules/50-firmware.rules
new file mode 100644
index 0000000..f0ae684
index 000000000..f0ae68451
--- /dev/null
+++ b/rules/50-firmware.rules
@@ -0,0 +1,3 @@
@@ -24,5 +24,5 @@ index 0000000..f0ae684
+
+SUBSYSTEM=="firmware", ACTION=="add", RUN{builtin}="firmware"
--
2.10.2
2.13.0

View File

@@ -1,63 +0,0 @@
From 05dffe67919ffc72be5c017bc6cf82f164b2e8f9 Mon Sep 17 00:00:00 2001
From: Emil Renner Berthing <systemd@esmil.dk>
Date: Mon, 23 Oct 2017 11:42:03 -0700
Subject: [PATCH 07/12] check for missing canonicalize_file_name
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
configure.ac | 2 ++
src/basic/missing.h | 1 +
src/basic/missing_syscall.h | 6 ++++++
3 files changed, 9 insertions(+)
diff --git a/configure.ac b/configure.ac
index cd035a971..3674190fb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -333,6 +333,7 @@ AC_CHECK_DECLS([
renameat2,
kcmp,
keyctl,
+ canonicalize_file_name,
LO_FLAGS_PARTSCAN,
copy_file_range,
explicit_bzero],
@@ -343,6 +344,7 @@ AC_CHECK_DECLS([
#include <fcntl.h>
#include <sched.h>
#include <string.h>
+#include <stdlib.h>
#include <linux/loop.h>
]])
diff --git a/src/basic/missing.h b/src/basic/missing.h
index 671f341c6..8ae4964e1 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -1246,3 +1246,4 @@ struct ethtool_link_settings {
#endif
#include "missing_syscall.h"
+
diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
index 898116c7b..4d44ee4fa 100644
--- a/src/basic/missing_syscall.h
+++ b/src/basic/missing_syscall.h
@@ -28,6 +28,12 @@ static inline int pivot_root(const char *new_root, const char *put_old) {
}
#endif
+#if !HAVE_DECL_CANONICALIZE_FILE_NAME
+static inline char *canonicalize_file_name(const char *path) {
+ return realpath(path, NULL);
+}
+#endif
+
/* ======================================================================= */
#if !HAVE_DECL_MEMFD_CREATE
--
2.14.2

View File

@@ -1,40 +0,0 @@
From a3482c91642cf568b3ac27fa6c0cb3c6b30669b7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 19:32:14 -0800
Subject: [PATCH 07/19] use lnr wrapper instead of looking for --relative
option for ln
Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile.am | 2 +-
configure.ac | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)
Index: git/Makefile.am
===================================================================
--- git.orig/Makefile.am
+++ git/Makefile.am
@@ -320,7 +320,7 @@ define install-relative-aliases
while [ -n "$$1" ]; do \
$(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \
rm -f $(DESTDIR)$$dir/$$2 && \
- $(LN_S) --relative $(DESTDIR)$$1 $(DESTDIR)$$dir/$$2 && \
+ lnr $(DESTDIR)$$1 $(DESTDIR)$$dir/$$2 && \
shift 2 || exit $$?; \
done
endef
Index: git/configure.ac
===================================================================
--- git.orig/configure.ac
+++ git/configure.ac
@@ -110,8 +110,6 @@ AC_PATH_PROG([SULOGIN], [sulogin], [/usr
AC_PATH_PROG([MOUNT_PATH], [mount], [/usr/bin/mount], [$PATH:/usr/sbin:/sbin])
AC_PATH_PROG([UMOUNT_PATH], [umount], [/usr/bin/umount], [$PATH:/usr/sbin:/sbin])
-AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])])
-
M4_DEFINES=
AC_CHECK_TOOL(OBJCOPY, objcopy)

View File

@@ -1,35 +0,0 @@
From 48e7c0f5b2f5d777a16ac5584dc4f50f1dfa832c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 23 Oct 2017 12:27:53 -0700
Subject: [PATCH 08/12] Do not enable nss tests
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index 3cc8f3451..df20a9a11 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5290,6 +5290,7 @@ EXTRA_DIST += \
src/timesync/timesyncd.conf.in
# ------------------------------------------------------------------------------
+if ENABLE_NSS_SYSTEMD
test_nss_SOURCES = \
src/test/test-nss.c
@@ -5302,7 +5303,6 @@ manual_tests += \
test-nss
# ------------------------------------------------------------------------------
-if ENABLE_NSS_SYSTEMD
libnss_systemd_la_SOURCES = \
src/nss-systemd/nss-systemd.sym \
src/nss-systemd/nss-systemd.c
--
2.14.2

View File

@@ -1,7 +1,7 @@
From 7883985a3a78677e9a1d5d61fe7fa8badf39f565 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 20:45:23 -0800
Subject: [PATCH 10/14] Revert "udev: remove userspace firmware loading
From 5cce7626f33e92f624ac06b613125813fb47d445 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 28 Feb 2018 21:05:39 -0800
Subject: [PATCH 08/31] Revert "udev: remove userspace firmware loading
support"
This reverts commit be2ea723b1d023b3d385d3b791ee4607cbfb20ca.
@@ -11,47 +11,26 @@ Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
Makefile.am | 12 +++
README | 4 +-
TODO | 1 +
configure.ac | 18 +++++
meson.build | 9 +++
meson_options.txt | 2 +
rules/meson.build | 4 +
src/udev/meson.build | 4 +
src/udev/udev-builtin-firmware.c | 154 +++++++++++++++++++++++++++++++++++++++
src/udev/udev-builtin.c | 3 +
src/udev/udev.h | 6 ++
src/udev/udevd.c | 13 ++++
8 files changed, 209 insertions(+), 2 deletions(-)
src/udev/udevd.c | 12 +++
10 files changed, 197 insertions(+), 2 deletions(-)
create mode 100644 src/udev/udev-builtin-firmware.c
diff --git a/Makefile.am b/Makefile.am
index c2b4a99d2..692d7bb95 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3985,6 +3985,18 @@ libudev_core_la_LIBADD = \
$(BLKID_LIBS) \
$(KMOD_LIBS)
+libudev_core_la_CPPFLAGS = \
+ $(AM_CPPFLAGS) \
+ -DFIRMWARE_PATH="$(FIRMWARE_PATH)"
+
+if ENABLE_FIRMWARE
+libudev_core_la_SOURCES += \
+ src/udev/udev-builtin-firmware.c
+
+dist_udevrules_DATA += \
+ rules/50-firmware.rules
+endif
+
if HAVE_KMOD
libudev_core_la_SOURCES += \
src/udev/udev-builtin-kmod.c
diff --git a/README b/README
index 60388eebe..e21976393 100644
index 8807e5cfe..bfd7a35de 100644
--- a/README
+++ b/README
@@ -61,8 +61,8 @@ REQUIREMENTS:
@@ -58,8 +58,8 @@ REQUIREMENTS:
Legacy hotplug slows down the system and confuses udev:
CONFIG_UEVENT_HELPER_PATH=""
@@ -63,10 +42,10 @@ index 60388eebe..e21976393 100644
Some udev rules and virtualization detection relies on it:
diff --git a/TODO b/TODO
index 61efa5e9f..67ccac224 100644
index a77028c7b..39e72d7ec 100644
--- a/TODO
+++ b/TODO
@@ -740,6 +740,7 @@ Features:
@@ -783,6 +783,7 @@ Features:
* initialize the hostname from the fs label of /, if /etc/hostname does not exist?
* udev:
@@ -74,42 +53,90 @@ index 61efa5e9f..67ccac224 100644
- move to LGPL
- kill scsi_id
- add trigger --subsystem-match=usb/usb_device device
diff --git a/configure.ac b/configure.ac
index b53ca1f1a..1150ca50e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1522,6 +1522,23 @@ AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"])
AC_ARG_ENABLE(hwdb, [AS_HELP_STRING([--disable-hwdb], [disable hardware database support])],
enable_hwdb=$enableval, enable_hwdb=yes)
AM_CONDITIONAL(ENABLE_HWDB, [test x$enable_hwdb = xyes])
+AC_ARG_WITH(firmware-path,
+ AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]],
+ [Firmware search path (default="")]),
+ [], [with_firmware_path=""])
+OLD_IFS=$IFS
+IFS=:
+for i in $with_firmware_path; do
+ if test "x${FIRMWARE_PATH}" = "x"; then
+ FIRMWARE_PATH="\\\"${i}/\\\""
+ else
+ FIRMWARE_PATH="${FIRMWARE_PATH}, \\\"${i}/\\\""
+ fi
+done
+IFS=$OLD_IFS
+AC_SUBST(FIRMWARE_PATH)
+AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ])
+AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"])
diff --git a/meson.build b/meson.build
index 918101d6b..9c25022a4 100644
--- a/meson.build
+++ b/meson.build
@@ -72,6 +72,12 @@ conf.set10('HAVE_SYSV_COMPAT', have,
description : 'SysV init scripts and rcN.d links are supported')
m4_defines += have ? ['-DHAVE_SYSV_COMPAT'] : []
# ------------------------------------------------------------------------------
have_manpages=no
@@ -1839,6 +1856,7 @@ AC_MSG_RESULT([
SysV init scripts: ${SYSTEM_SYSVINIT_PATH}
SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
build Python: ${PYTHON}
+ firmware path: ${FIRMWARE_PATH}
PAM modules dir: ${with_pamlibdir}
PAM configuration dir: ${with_pamconfdir}
RPM macros dir: ${with_rpmmacrosdir}
+firmware_path = get_option('firmware-path')
+have = firmware_path != ''
+conf.set10('HAVE_FIRMWARE', have,
+ description : 'Userspace firmware loading is supported')
+m4_defines += have ? ['-DHAVE_FIRMWARE'] : []
+
# join_paths ignore the preceding arguments if an absolute component is
# encountered, so this should canonicalize various paths when they are
# absolute or relative.
@@ -178,6 +184,7 @@ conf.set_quoted('SYSTEM_CONFIG_UNIT_PATH', join_paths(pkgsysc
conf.set_quoted('SYSTEM_DATA_UNIT_PATH', systemunitdir)
conf.set_quoted('SYSTEM_SYSVINIT_PATH', sysvinit_path)
conf.set_quoted('SYSTEM_SYSVRCND_PATH', sysvrcnd_path)
+conf.set_quoted('FIRMWARE_PATH', firmware_path)
conf.set_quoted('RC_LOCAL_SCRIPT_PATH_START', get_option('rc-local'))
conf.set_quoted('RC_LOCAL_SCRIPT_PATH_STOP', get_option('halt-local'))
conf.set_quoted('USER_CONFIG_UNIT_PATH', join_paths(pkgsysconfdir, 'user'))
@@ -258,6 +265,7 @@ substs.set('SYSTEMCTL', join_paths(rootbin
substs.set('RANDOM_SEED', join_paths(randomseeddir, 'random-seed'))
substs.set('SYSTEM_SYSVINIT_PATH', sysvinit_path)
substs.set('SYSTEM_SYSVRCND_PATH', sysvrcnd_path)
+substs.set('FIRMWARE_PATH', firmware_path)
substs.set('RC_LOCAL_SCRIPT_PATH_START', get_option('rc-local'))
substs.set('RC_LOCAL_SCRIPT_PATH_STOP', get_option('halt-local'))
@@ -2715,6 +2723,7 @@ status = [
'roothome directory: @0@'.format(roothomedir),
'SysV init scripts: @0@'.format(sysvinit_path),
'SysV rc?.d directories: @0@'.format(sysvrcnd_path),
+ 'firmware path: @0@'.format(firmware_path),
'PAM modules directory: @0@'.format(pamlibdir),
'PAM configuration directory: @0@'.format(pamconfdir),
'RPM macros directory: @0@'.format(rpmmacrosdir),
diff --git a/meson_options.txt b/meson_options.txt
index 0b24f0e0f..92d25fa35 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -108,6 +108,8 @@ option('tmpfiles', type : 'boolean',
description : 'support for tmpfiles.d')
option('importd', type : 'combo', choices : ['auto', 'true', 'false'],
description : 'install the systemd-importd daemon')
+option('firmware-path', type : 'string', value : '',
+ description : 'Firmware search path')
option('hwdb', type : 'boolean',
description : 'support for the hardware database')
option('rfkill', type : 'boolean',
diff --git a/rules/meson.build b/rules/meson.build
index e253b9f59..5eee5fbca 100644
--- a/rules/meson.build
+++ b/rules/meson.build
@@ -41,6 +41,10 @@ rules = files('''
install_data(rules,
install_dir : udevrulesdir)
+if conf.get('HAVE_FIRMWARE') == 1
+ install_data('50-firmware.rules', install_dir : udevrulesdir)
+endif
+
all_rules = rules
rules_in = '''
diff --git a/src/udev/meson.build b/src/udev/meson.build
index de2fd2d9c..b6b0ca006 100644
--- a/src/udev/meson.build
+++ b/src/udev/meson.build
@@ -67,6 +67,10 @@ if conf.get('HAVE_ACL') == 1
sd_login_c]
endif
+if conf.get('HAVE_FIRMWARE') == 1
+ libudev_core_sources += ['udev-builtin-firmware.c']
+endif
+
############################################################
generate_keyboard_keys_list = find_program('generate-keyboard-keys-list.sh')
diff --git a/src/udev/udev-builtin-firmware.c b/src/udev/udev-builtin-firmware.c
new file mode 100644
index 000000000..bd8c2fb96
@@ -271,81 +298,80 @@ index 000000000..bd8c2fb96
+ .run_once = true,
+};
diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c
index e6b36f124..cd9947e2a 100644
index db2b6874f..ccd88638c 100644
--- a/src/udev/udev-builtin.c
+++ b/src/udev/udev-builtin.c
@@ -31,6 +31,9 @@ static const struct udev_builtin *builtins[] = {
@@ -32,6 +32,9 @@ static const struct udev_builtin *builtins[] = {
[UDEV_BUILTIN_BLKID] = &udev_builtin_blkid,
#endif
[UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs,
+#ifdef HAVE_FIRMWARE
+#if HAVE_FIRMWARE
+ [UDEV_BUILTIN_FIRMWARE] = &udev_builtin_firmware,
+#endif
[UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb,
[UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id,
[UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard,
diff --git a/src/udev/udev.h b/src/udev/udev.h
index c0cb7eae8..9f0f1cf13 100644
index ea11c2d29..c47dd3d88 100644
--- a/src/udev/udev.h
+++ b/src/udev/udev.h
@@ -150,6 +150,9 @@ enum udev_builtin_cmd {
@@ -151,6 +151,9 @@ enum udev_builtin_cmd {
UDEV_BUILTIN_BLKID,
#endif
UDEV_BUILTIN_BTRFS,
+#ifdef HAVE_FIRMWARE
+#if HAVE_FIRMWARE
+ UDEV_BUILTIN_FIRMWARE,
+#endif
UDEV_BUILTIN_HWDB,
UDEV_BUILTIN_INPUT_ID,
UDEV_BUILTIN_KEYBOARD,
@@ -178,6 +181,9 @@ struct udev_builtin {
@@ -179,6 +182,9 @@ struct udev_builtin {
extern const struct udev_builtin udev_builtin_blkid;
#endif
extern const struct udev_builtin udev_builtin_btrfs;
+#ifdef HAVE_FIRMWARE
+#if HAVE_FIRMWARE
+extern const struct udev_builtin udev_builtin_firmware;
+#endif
extern const struct udev_builtin udev_builtin_hwdb;
extern const struct udev_builtin udev_builtin_input_id;
extern const struct udev_builtin udev_builtin_keyboard;
diff --git a/src/udev/udevd.c b/src/udev/udevd.c
index acbddd418..20347b402 100644
index 5c757d513..2f3313007 100644
--- a/src/udev/udevd.c
+++ b/src/udev/udevd.c
@@ -125,6 +125,9 @@ struct event {
@@ -127,6 +127,9 @@ struct event {
bool is_block;
sd_event_source *timeout_warning;
sd_event_source *timeout;
+#ifdef HAVE_FIRMWARE
+#if HAVE_FIRMWARE
+ bool nodelay;
+#endif
};
static inline struct event *node_to_event(struct udev_list_node *node) {
@@ -613,6 +616,10 @@ static int event_queue_insert(Manager *manager, struct udev_device *dev) {
static void event_queue_cleanup(Manager *manager, enum event_state type);
@@ -609,6 +612,10 @@ static int event_queue_insert(Manager *manager, struct udev_device *dev) {
event->devnum = udev_device_get_devnum(dev);
event->is_block = streq("block", udev_device_get_subsystem(dev));
event->ifindex = udev_device_get_ifindex(dev);
+#ifdef HAVE_FIRMWARE
+#if HAVE_FIRMWARE
+ if (streq(udev_device_get_subsystem(dev), "firmware"))
+ event->nodelay = true;
+#endif
log_debug("seq %llu queued, '%s' '%s'", udev_device_get_seqnum(dev),
udev_device_get_action(dev), udev_device_get_subsystem(dev));
@@ -698,6 +705,12 @@ static bool is_devpath_busy(Manager *manager, struct event *event) {
@@ -692,6 +699,11 @@ static bool is_devpath_busy(Manager *manager, struct event *event) {
return true;
}
+#ifdef HAVE_FIRMWARE
+#if HAVE_FIRMWARE
+ /* allow to bypass the dependency tracking */
+ if (event->nodelay)
+ continue;
+#endif
+
/* parent device event found */
if (event->devpath[common] == '/') {
event->delaying_seqnum = loop_event->seqnum;
--
2.13.2
2.13.0

View File

@@ -1,7 +1,7 @@
From e78af874fc9f3d3af49498b8207109993d93a596 Mon Sep 17 00:00:00 2001
From ffdf9cb6ba0d932b81933d824f23a878c313a8d4 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 22 Feb 2016 05:59:01 +0000
Subject: [PATCH 17/19] remove duplicate include uchar.h
Subject: [PATCH 09/31] remove duplicate include uchar.h
missing.h already includes it
@@ -13,10 +13,10 @@ Upstream-Status: Pending
2 files changed, 2 deletions(-)
diff --git a/src/basic/escape.h b/src/basic/escape.h
index deaa4de..36d437c 100644
index de89f43a8..9921ccbbd 100644
--- a/src/basic/escape.h
+++ b/src/basic/escape.h
@@ -23,7 +23,6 @@
@@ -24,7 +24,6 @@
#include <stddef.h>
#include <stdint.h>
#include <sys/types.h>
@@ -25,10 +25,10 @@ index deaa4de..36d437c 100644
#include "string-util.h"
#include "missing.h"
diff --git a/src/basic/utf8.h b/src/basic/utf8.h
index f9b9c94..6ac9a3c 100644
index b0a7485ae..fa06d2906 100644
--- a/src/basic/utf8.h
+++ b/src/basic/utf8.h
@@ -22,7 +22,6 @@
@@ -23,7 +23,6 @@
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
@@ -37,5 +37,5 @@ index f9b9c94..6ac9a3c 100644
#include "macro.h"
#include "missing.h"
--
2.10.2
2.13.0

View File

@@ -0,0 +1,45 @@
From ea4caaa1c6a6dc682bb04548ab05c5c73d0b45d6 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 26 Feb 2018 15:34:52 +0800
Subject: [PATCH 10/31] check for uchar.h in meson.build
Use #if HAVE_UCHAR_H to include uchar.h conditionally.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
meson.build | 1 +
src/basic/missing.h | 2 ++
2 files changed, 3 insertions(+)
diff --git a/meson.build b/meson.build
index 9c25022a4..94a16712b 100644
--- a/meson.build
+++ b/meson.build
@@ -623,6 +623,7 @@ foreach header : ['crypt.h',
'sys/auxv.h',
'valgrind/memcheck.h',
'valgrind/valgrind.h',
+ 'uchar.h',
]
conf.set10('HAVE_' + header.underscorify().to_upper(),
diff --git a/src/basic/missing.h b/src/basic/missing.h
index 39c1fb700..84d6d9167 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -38,7 +38,9 @@
#include <sys/resource.h>
#include <sys/socket.h>
#include <sys/syscall.h>
+#if HAVE_UCHAR_H
#include <uchar.h>
+#endif
#include <unistd.h>
#if HAVE_AUDIT
--
2.13.0

View File

@@ -1,49 +0,0 @@
From 6e9d2bcaa6f886b2384c1c35a04e4ebc148aea68 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 23 Oct 2017 12:40:25 -0700
Subject: [PATCH 10/12] test-sizeof.c: Disable tests for missing typedefs in
musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/test/test-sizeof.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
index 269adfd18..ba7855dff 100644
--- a/src/test/test-sizeof.c
+++ b/src/test/test-sizeof.c
@@ -18,7 +18,6 @@
***/
#include <stdio.h>
-
#include "time-util.h"
/* Print information about various types. Useful when diagnosing
@@ -48,8 +47,10 @@ int main(void) {
info(unsigned);
info(long unsigned);
info(long long unsigned);
+#ifdef __GLIBC__
info(__syscall_ulong_t);
info(__syscall_slong_t);
+#endif
info(float);
info(double);
@@ -59,7 +60,9 @@ int main(void) {
info(ssize_t);
info(time_t);
info(usec_t);
+#ifdef __GLIBC__
info(__time_t);
+#endif
info(enum Enum);
info(enum BigEnum);
--
2.14.2

View File

@@ -1,38 +0,0 @@
From 3f6f45578b828e414f50c6822375073e7174236a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 14 Dec 2015 00:50:01 +0000
Subject: [PATCH 11/19] nss-mymachines: Build conditionally when
HAVE_MYHOSTNAME is set
Fixes build failures when building with --disable-myhostname
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile.am | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile.am b/Makefile.am
index 02f4017..420e0e0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5146,6 +5146,7 @@ SYSTEM_UNIT_ALIASES += \
BUSNAMES_TARGET_WANTS += \
org.freedesktop.machine1.busname
+if HAVE_MYHOSTNAME
libnss_mymachines_la_SOURCES = \
src/nss-mymachines/nss-mymachines.sym \
src/nss-mymachines/nss-mymachines.c
@@ -5167,6 +5168,7 @@ rootlib_LTLIBRARIES += \
libnss_mymachines.la
endif
+endif
polkitpolicy_in_files += \
src/machine/org.freedesktop.machine1.policy.in
--
2.10.2

View File

@@ -1,25 +1,26 @@
From b7c6bfe2ec5ae426e586e1d6ecadb52a97128a3f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 20:49:53 -0800
Subject: [PATCH 13/14] socket-util: don't fail if libc doesn't support IDN
From 60dd411e9756fc2b14c0e061ad803782b4aee874 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 26 Feb 2018 15:46:05 +0800
Subject: [PATCH 11/31] socket-util: don't fail if libc doesn't support IDN
Upstream-Status: Pending
Signed-off-by: Emil Renner Berthing <systemd@esmil.dk>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/basic/socket-util.c | 9 +++++++++
1 file changed, 9 insertions(+)
src/basic/socket-util.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c
index 016e64aa0..d4658826e 100644
index 2c70cade1..67aedadd4 100644
--- a/src/basic/socket-util.c
+++ b/src/basic/socket-util.c
@@ -47,6 +47,15 @@
#include "user-util.h"
@@ -50,6 +50,16 @@
#include "utf8.h"
#include "util.h"
+/* Don't fail if the standard library
+ * doesn't support IDN */
+#ifndef NI_IDN
@@ -29,9 +30,10 @@ index 016e64aa0..d4658826e 100644
+#ifndef NI_IDN_USE_STD3_ASCII_RULES
+#define NI_IDN_USE_STD3_ASCII_RULES 0
+#endif
#ifdef ENABLE_IDN
+
#if ENABLE_IDN
# define IDN_FLAGS (NI_IDN|NI_IDN_USE_STD3_ASCII_RULES)
#else
--
2.13.2
2.13.0

View File

@@ -1,7 +1,7 @@
From 8207d645582e96c56950674e104653d0cd552d60 Mon Sep 17 00:00:00 2001
From 406a4c8692316e8c7e14c78f9a802689be304a95 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] rules: watch metadata changes in ide devices
Subject: [PATCH 12/31] 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
@@ -29,7 +29,7 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rules/60-block.rules b/rules/60-block.rules
index 343fc06..b5237da 100644
index 343fc06f8..b5237dac4 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_
@@ -39,5 +39,5 @@ index 343fc06..b5237da 100644
-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"
--
1.8.3.1
2.13.0

View File

@@ -1,155 +0,0 @@
From 479e1f4aa2b9f1c911a4d0dd18e222d241a978ea Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 9 Nov 2016 20:35:30 -0800
Subject: [PATCH 42/48] 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>
---
Makefile.am | 2 ++
configure.ac | 7 +++++++
src/basic/user-util.c | 4 ++--
src/nspawn/nspawn.c | 4 ++--
units/emergency.service.in | 4 ++--
units/rescue.service.in | 4 ++--
6 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 1bcd932c2..c2b4a99d2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -226,6 +226,7 @@ AM_CPPFLAGS = \
-DLIBDIR=\"$(libdir)\" \
-DROOTLIBDIR=\"$(rootlibdir)\" \
-DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \
+ -DROOTHOMEDIR=\"$(roothomedir)\" \
-I $(top_srcdir)/src \
-I $(top_builddir)/src/basic \
-I $(top_srcdir)/src/basic \
@@ -6356,6 +6357,7 @@ substitutions = \
'|rootlibdir=$(rootlibdir)|' \
'|rootlibexecdir=$(rootlibexecdir)|' \
'|rootbindir=$(rootbindir)|' \
+ '|roothomedir=$(roothomedir)|' \
'|bindir=$(bindir)|' \
'|SYSTEMCTL=$(rootbindir)/systemctl|' \
'|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \
diff --git a/configure.ac b/configure.ac
index 0354ffe6a..b53ca1f1a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1641,6 +1641,11 @@ AC_ARG_WITH([rootlibdir],
[with_rootlibdir=${libdir}])
AX_NORMALIZE_PATH([with_rootlibdir])
+AC_ARG_WITH([roothomedir],
+ AS_HELP_STRING([--with-roothomedir=DIR], [Home directory for the root user]),
+ [],
+ [with_roothomedir=/root])
+
AC_ARG_WITH([pamlibdir],
AS_HELP_STRING([--with-pamlibdir=DIR], [directory for PAM modules]),
[],
@@ -1733,6 +1738,7 @@ AC_SUBST([pamconfdir], [$with_pamconfdir])
AC_SUBST([rpmmacrosdir], [$with_rpmmacrosdir])
AC_SUBST([rootprefix], [$with_rootprefix])
AC_SUBST([rootlibdir], [$with_rootlibdir])
+AC_SUBST([roothomedir], [$with_roothomedir])
AC_CONFIG_FILES([
Makefile
@@ -1829,6 +1835,7 @@ AC_MSG_RESULT([
includedir: ${includedir}
lib dir: ${libdir}
rootlib dir: ${with_rootlibdir}
+ root home dir: ${with_roothomedir}
SysV init scripts: ${SYSTEM_SYSVINIT_PATH}
SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
build Python: ${PYTHON}
diff --git a/src/basic/user-util.c b/src/basic/user-util.c
index c619dad52..662682adf 100644
--- a/src/basic/user-util.c
+++ b/src/basic/user-util.c
@@ -129,7 +129,7 @@ int get_user_creds(
*gid = 0;
if (home)
- *home = "/root";
+ *home = ROOTHOMEDIR;
if (shell)
*shell = "/bin/sh";
@@ -389,7 +389,7 @@ int get_home_dir(char **_h) {
/* Hardcode home directory for root to avoid NSS */
u = getuid();
if (u == 0) {
- h = strdup("/root");
+ h = strdup(ROOTHOMEDIR);
if (!h)
return -ENOMEM;
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index 8a5fedd4b..7b01ec078 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -2291,7 +2291,7 @@ static int inner_child(
if (envp[n_env])
n_env++;
- if ((asprintf((char**)(envp + n_env++), "HOME=%s", home ? home: "/root") < 0) ||
+ if ((asprintf((char**)(envp + n_env++), "HOME=%s", home ? home: ROOTHOMEDIR) < 0) ||
(asprintf((char**)(envp + n_env++), "USER=%s", arg_user ? arg_user : "root") < 0) ||
(asprintf((char**)(envp + n_env++), "LOGNAME=%s", arg_user ? arg_user : "root") < 0))
return log_oom();
@@ -2373,7 +2373,7 @@ static int inner_child(
} else {
if (!arg_chdir)
/* If we cannot change the directory, we'll end up in /, that is expected. */
- (void) chdir(home ?: "/root");
+ (void) chdir(home ?: ROOTHOMEDIR);
execle("/bin/bash", "-bash", NULL, env_use);
execle("/bin/sh", "-sh", NULL, env_use);
diff --git a/units/emergency.service.in b/units/emergency.service.in
index e9eb238b9..32588e48a 100644
--- a/units/emergency.service.in
+++ b/units/emergency.service.in
@@ -15,8 +15,8 @@ Conflicts=syslog.socket
Before=shutdown.target
[Service]
-Environment=HOME=/root
-WorkingDirectory=-/root
+Environment=HOME=@roothomedir@
+WorkingDirectory=-@roothomedir@
ExecStart=-@rootlibexecdir@/systemd-sulogin-shell emergency
Type=idle
StandardInput=tty-force
diff --git a/units/rescue.service.in b/units/rescue.service.in
index 4ab66f485..bd9898f2c 100644
--- a/units/rescue.service.in
+++ b/units/rescue.service.in
@@ -14,8 +14,8 @@ After=sysinit.target plymouth-start.service
Before=shutdown.target
[Service]
-Environment=HOME=/root
-WorkingDirectory=-/root
+Environment=HOME=@roothomedir@
+WorkingDirectory=-@roothomedir@
ExecStart=-@rootlibexecdir@/systemd-sulogin-shell rescue
Type=idle
StandardInput=tty-force
--
2.13.2

View File

@@ -1,53 +1,51 @@
From 0933ca6251808f856b92b0ce8da8696d5febc333 Mon Sep 17 00:00:00 2001
From: Emil Renner Berthing <systemd@esmil.dk>
Date: Mon, 23 Oct 2017 10:41:39 -0700
Subject: [PATCH 01/12] add fallback parse_printf_format implementation
From 580d23cf0b32e36a8fb96710336ffef432b3c7ce Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 28 Feb 2018 21:10:58 -0800
Subject: [PATCH] add fallback parse_printf_format implementation
Upstream-Status: Pending
Signed-off-by: Emil Renner Berthing <systemd@esmil.dk>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
Upstream-Status: Pending
Makefile.am | 4 +
configure.ac | 2 +
meson.build | 1 +
src/basic/meson.build | 4 +
src/basic/parse-printf-format.c | 273 ++++++++++++++++++++++++++++++++++++++++
src/basic/parse-printf-format.h | 57 +++++++++
src/basic/stdio-util.h | 2 +-
src/journal/journal-send.c | 2 +-
6 files changed, 338 insertions(+), 2 deletions(-)
6 files changed, 337 insertions(+), 2 deletions(-)
create mode 100644 src/basic/parse-printf-format.c
create mode 100644 src/basic/parse-printf-format.h
diff --git a/Makefile.am b/Makefile.am
index 692d7bb95..3cc8f3451 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -997,6 +997,10 @@ libbasic_la_SOURCES = \
src/basic/journal-importer.h \
src/basic/journal-importer.c
diff --git a/meson.build b/meson.build
index 94a16712b..4eabaafe8 100644
--- a/meson.build
+++ b/meson.build
@@ -620,6 +620,7 @@ foreach header : ['crypt.h',
'linux/btrfs.h',
'linux/memfd.h',
'linux/vm_sockets.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 44cd31ecb..435c6ee02 100644
--- a/src/basic/meson.build
+++ b/src/basic/meson.build
@@ -310,6 +310,10 @@ endforeach
+if !HAVE_PRINTF_H
+libbasic_la_SOURCES += src/basic/parse-printf-format.c
basic_sources += [missing_h] + generated_gperf_headers
+if conf.get('HAVE_PRINTF_H') != 1
+ basic_sources += [files('parse-printf-format.c')]
+endif
+
nodist_libbasic_la_SOURCES = \
src/basic/errno-from-name.h \
src/basic/errno-to-name.h \
diff --git a/configure.ac b/configure.ac
index 60e7df5ee..efcdc6c16 100644
--- a/configure.ac
+++ b/configure.ac
@@ -308,8 +308,10 @@ AC_CHECK_HEADERS([uchar.h], [], [])
AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers not found])])
AC_CHECK_HEADERS([linux/btrfs.h], [], [])
AC_CHECK_HEADERS([linux/memfd.h], [], [])
+AC_CHECK_HEADERS([printf.h], [], [])
AC_CHECK_HEADERS([linux/vm_sockets.h], [], [], [#include <sys/socket.h>])
+AM_CONDITIONAL(HAVE_PRINTF_H, [test "x$ac_cv_header_printf_h" = xyes])
# unconditionally pull-in librt with old glibc versions
AC_SEARCH_LIBS([clock_gettime], [rt], [], [])
libbasic = static_library(
'basic',
basic_sources,
diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
new file mode 100644
index 000000000..49437e544
@@ -329,7 +327,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..4371177b0
index 000000000..47be7522d
--- /dev/null
+++ b/src/basic/parse-printf-format.h
@@ -0,0 +1,57 @@
@@ -361,7 +359,7 @@ index 000000000..4371177b0
+
+#include "config.h"
+
+#ifdef HAVE_PRINTF_H
+#if HAVE_PRINTF_H
+#include <printf.h>
+#else
+
@@ -391,10 +389,10 @@ index 000000000..4371177b0
+
+#endif /* HAVE_PRINTF_H */
diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h
index bd1144b4c..c9c95eb54 100644
index dbfafba26..8038380d6 100644
--- a/src/basic/stdio-util.h
+++ b/src/basic/stdio-util.h
@@ -19,12 +19,12 @@
@@ -20,12 +20,12 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
@@ -409,10 +407,10 @@ index bd1144b4c..c9c95eb54 100644
#define xsprintf(buf, fmt, ...) \
assert_message_se((size_t) snprintf(buf, ELEMENTSOF(buf), fmt, __VA_ARGS__) < ELEMENTSOF(buf), "xsprintf: " #buf "[] must be big enough")
diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
index 440fba67c..0236c43c4 100644
index 73329ba02..70bb9e0e8 100644
--- a/src/journal/journal-send.c
+++ b/src/journal/journal-send.c
@@ -19,7 +19,6 @@
@@ -20,7 +20,6 @@
#include <errno.h>
#include <fcntl.h>
@@ -420,7 +418,7 @@ index 440fba67c..0236c43c4 100644
#include <stddef.h>
#include <sys/socket.h>
#include <sys/un.h>
@@ -38,6 +37,7 @@
@@ -39,6 +38,7 @@
#include "stdio-util.h"
#include "string-util.h"
#include "util.h"
@@ -429,5 +427,5 @@ index 440fba67c..0236c43c4 100644
#define SNDBUF_SIZE (8*1024*1024)
--
2.14.2
2.13.0

View File

@@ -0,0 +1,118 @@
From 33be9052315cc4ec8e929fa238e1f0cc0161ad07 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 28 Feb 2018 21:15:28 -0800
Subject: [PATCH] src/basic/missing.h: check for missing strndupa
include missing.h for definition of strndupa
Upstream-Status: Pending
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/parse-util.c | 1 +
src/basic/procfs-util.c | 1 +
src/shared/pager.c | 1 +
src/shared/uid-range.c | 1 +
7 files changed, 17 insertions(+)
diff --git a/meson.build b/meson.build
index 4eabaafe8..12811b3f3 100644
--- a/meson.build
+++ b/meson.build
@@ -525,6 +525,7 @@ foreach ident : [
['bpf', '''#include <sys/syscall.h>
#include <unistd.h>'''],
['explicit_bzero' , '''#include <string.h>'''],
+ ['strndupa' , '''#include <string.h>'''],
]
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 84d6d9167..07a8c8364 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -1187,6 +1187,17 @@ struct input_mask {
typedef int32_t key_serial_t;
#endif
+#if ! HAVE_STRNDUPA
+#define strndupa(s, n) \
+ ({ \
+ const char *__old = (s); \
+ size_t __len = strnlen(__old, (n)); \
+ char *__new = (char *)alloca(__len + 1); \
+ __new[__len] = '\0'; \
+ (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 de4746c86..d51518a5a 100644
--- a/src/basic/mkdir.c
+++ b/src/basic/mkdir.c
@@ -30,6 +30,7 @@
#include "path-util.h"
#include "stat-util.h"
#include "user-util.h"
+#include "missing.h"
int mkdir_safe_internal(const char *path, mode_t mode, uid_t uid, gid_t gid, bool follow_symlink, mkdir_func_t _mkdir) {
struct stat st;
diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
index 2c22753de..97533721d 100644
--- a/src/basic/parse-util.c
+++ b/src/basic/parse-util.c
@@ -33,6 +33,7 @@
#include "parse-util.h"
#include "process-util.h"
#include "string-util.h"
+#include "missing.h"
int parse_boolean(const char *v) {
assert(v);
diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
index 9bb42cc7b..23bbd9e67 100644
--- a/src/basic/procfs-util.c
+++ b/src/basic/procfs-util.c
@@ -9,6 +9,7 @@
#include "procfs-util.h"
#include "stdio-util.h"
#include "string-util.h"
+#include "missing.h"
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 75db3c985..84f06bf7d 100644
--- a/src/shared/pager.c
+++ b/src/shared/pager.c
@@ -39,6 +39,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 c38b7cc98..8ec6bf08d 100644
--- a/src/shared/uid-range.c
+++ b/src/shared/uid-range.c
@@ -25,6 +25,7 @@
#include "macro.h"
#include "uid-range.h"
#include "user-util.h"
+#include "missing.h"
static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
assert(range);
--
2.13.0

View File

@@ -1,7 +1,7 @@
From 5bbbc2a08a3b4283ec04af0e77e25fb205aa8b82 Mon Sep 17 00:00:00 2001
From b45cf4923c7e1f1165925e9b4d7db2108faf2eae Mon Sep 17 00:00:00 2001
From: Emil Renner Berthing <systemd@esmil.dk>
Date: Mon, 23 Oct 2017 10:50:14 -0700
Subject: [PATCH 03/12] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
Subject: [PATCH 15/31] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
defined
If the standard library doesn't provide brace
@@ -11,20 +11,20 @@ Dont use GNU GLOB extentions on non-glibc systems
Conditionalize use of GLOB_ALTDIRFUNC
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/basic/glob-util.c | 20 +++++++++++++++++---
src/test/test-glob-util.c | 17 +++++++++++++++--
src/tmpfiles/tmpfiles.c | 8 ++++++++
3 files changed, 40 insertions(+), 5 deletions(-)
diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
index f611c42e4..ad6e2be8d 100644
index 6e80a1e23..312bb3fd1 100644
--- a/src/basic/glob-util.c
+++ b/src/basic/glob-util.c
@@ -27,13 +27,18 @@
@@ -28,13 +28,18 @@
#include "macro.h"
#include "path-util.h"
#include "strv.h"
@@ -44,7 +44,7 @@ index f611c42e4..ad6e2be8d 100644
if (!pglob->gl_closedir)
pglob->gl_closedir = (void (*)(void *)) closedir;
if (!pglob->gl_readdir)
@@ -44,10 +49,13 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
@@ -45,10 +50,13 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
pglob->gl_lstat = lstat;
if (!pglob->gl_stat)
pglob->gl_stat = stat;
@@ -60,7 +60,7 @@ index f611c42e4..ad6e2be8d 100644
if (k == GLOB_NOMATCH)
return -ENOENT;
if (k == GLOB_NOSPACE)
@@ -60,6 +68,12 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
@@ -61,6 +69,12 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
return 0;
}
@@ -74,10 +74,10 @@ index f611c42e4..ad6e2be8d 100644
_cleanup_globfree_ glob_t g = {};
int k;
diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c
index af866e004..3afa09ada 100644
index bd2f8fcfd..a10c77427 100644
--- a/src/test/test-glob-util.c
+++ b/src/test/test-glob-util.c
@@ -29,6 +29,11 @@
@@ -30,6 +30,11 @@
#include "glob-util.h"
#include "macro.h"
#include "rm-rf.h"
@@ -89,7 +89,7 @@ index af866e004..3afa09ada 100644
static void test_glob_exists(void) {
char name[] = "/tmp/test-glob_exists.XXXXXX";
@@ -51,25 +56,33 @@ static void test_glob_exists(void) {
@@ -52,25 +57,33 @@ static void test_glob_exists(void) {
static void test_glob_no_dot(void) {
char template[] = "/tmp/test-glob-util.XXXXXXX";
const char *fn;
@@ -126,10 +126,10 @@ index af866e004..3afa09ada 100644
(void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
index 9419c99e2..07027a765 100644
index 38cbb739c..88cc543f0 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -71,6 +71,12 @@
@@ -76,6 +76,12 @@
#include "umask-util.h"
#include "user-util.h"
#include "util.h"
@@ -142,7 +142,7 @@ index 9419c99e2..07027a765 100644
/* 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
@@ -1092,7 +1098,9 @@ static int item_do_children(Item *i, const char *path, action_t action) {
@@ -1288,7 +1294,9 @@ static int item_do_children(Item *i, const char *path, action_t action) {
static int glob_item(Item *i, action_t action, bool recursive) {
_cleanup_globfree_ glob_t g = {
@@ -153,5 +153,5 @@ index 9419c99e2..07027a765 100644
int r = 0, k;
char **fn;
--
2.14.2
2.13.0

View File

@@ -1,24 +1,24 @@
From c850b654e71677e0d6292f1345207b9b5acffc33 Mon Sep 17 00:00:00 2001
From efc57856f961c1f3bf016c511c53d990db8abdff Mon Sep 17 00:00:00 2001
From: Emil Renner Berthing <systemd@esmil.dk>
Date: Mon, 23 Oct 2017 11:31:03 -0700
Subject: [PATCH 04/12] src/basic/missing.h: check for missing __compar_fn_t
Subject: [PATCH 16/31] src/basic/missing.h: check for missing __compar_fn_t
typedef
include missing.h for missing __compar_fn_t
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.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 8009888ad..671f341c6 100644
index 07a8c8364..1aee3346a 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -1063,6 +1063,11 @@ struct input_mask {
@@ -1162,6 +1162,11 @@ struct input_mask {
#define RENAME_NOREPLACE (1 << 0)
#endif
@@ -31,10 +31,10 @@ index 8009888ad..671f341c6 100644
#define KCMP_FILE 0
#endif
diff --git a/src/basic/strbuf.c b/src/basic/strbuf.c
index 00aaf9e62..9dc4a584a 100644
index 8befffa66..bcb860f95 100644
--- a/src/basic/strbuf.c
+++ b/src/basic/strbuf.c
@@ -23,6 +23,7 @@
@@ -24,6 +24,7 @@
#include "alloc-util.h"
#include "strbuf.h"
@@ -43,5 +43,5 @@ index 00aaf9e62..9dc4a584a 100644
/*
* Strbuf stores given strings in a single continuous allocated memory
--
2.14.2
2.13.0

View File

@@ -1,53 +1,54 @@
From 21080b6a40d0a4ddd2db8f0fa37686f6fa885d1c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 23 Oct 2017 11:38:33 -0700
Subject: [PATCH 06/12] Include netinet/if_ether.h
From f2b0173cd9807864db1ef3b102abaa76ef37e506 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 28 Feb 2018 21:19:12 -0800
Subject: [PATCH 17/31] Include netinet/if_ether.h
Fixes
/mnt/a/oe/build/tmp/work/mips32r2-bec-linux-musl/systemd/1_234-r0/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
/path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
struct ethhdr {
^~~~~~
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/libsystemd/sd-netlink/netlink-types.c | 1 +
src/network/netdev/tuntap.c | 1 +
src/network/networkd-brvlan.c | 1 +
src/udev/net/ethtool-util.c | 2 +-
src/udev/udev-builtin-net_setup_link.c | 2 +-
5 files changed, 5 insertions(+), 2 deletions(-)
src/udev/net/ethtool-util.c | 1 +
src/udev/udev-builtin-net_setup_link.c | 1 +
5 files changed, 5 insertions(+)
diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
index 923f7dd10..b95b1e4b2 100644
index 0ee7d6f0d..ef75893a6 100644
--- a/src/libsystemd/sd-netlink/netlink-types.c
+++ b/src/libsystemd/sd-netlink/netlink-types.c
@@ -19,6 +19,7 @@
@@ -21,6 +21,7 @@
#include <netinet/in.h>
#include <stdint.h>
#include <sys/socket.h>
+#include <netinet/if_ether.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
#include <linux/can/netlink.h>
#include <linux/genetlink.h>
diff --git a/src/network/netdev/tuntap.c b/src/network/netdev/tuntap.c
index 3d6280884..40e58c38f 100644
index 4fc9b610a..628c61c57 100644
--- a/src/network/netdev/tuntap.c
+++ b/src/network/netdev/tuntap.c
@@ -18,6 +18,7 @@
***/
@@ -20,6 +20,7 @@
#include <errno.h>
#include <fcntl.h>
+#include <netinet/if_ether.h>
#include <linux/if_tun.h>
#include <net/if.h>
#include <netinet/if_ether.h>
diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
index fa5d3ee7f..e0828962a 100644
index 99dd41629..90407c9d8 100644
--- a/src/network/networkd-brvlan.c
+++ b/src/network/networkd-brvlan.c
@@ -18,6 +18,7 @@
@@ -19,6 +19,7 @@
***/
#include <netinet/in.h>
@@ -56,31 +57,29 @@ index fa5d3ee7f..e0828962a 100644
#include <stdbool.h>
diff --git a/src/udev/net/ethtool-util.c b/src/udev/net/ethtool-util.c
index 201fc2343..5f7cc2a0a 100644
index 9bdaef8d9..948f89cf8 100644
--- a/src/udev/net/ethtool-util.c
+++ b/src/udev/net/ethtool-util.c
@@ -16,7 +16,7 @@
You should have received a copy of the GNU Lesser General Public License
@@ -18,6 +18,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-
+#include <netinet/if_ether.h>
#include <net/if.h>
#include <sys/ioctl.h>
#include <linux/ethtool.h>
diff --git a/src/udev/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c
index 8e4777513..d01fff2a4 100644
index 40158e0af..b24b3fce8 100644
--- a/src/udev/udev-builtin-net_setup_link.c
+++ b/src/udev/udev-builtin-net_setup_link.c
@@ -16,7 +16,7 @@
You should have received a copy of the GNU Lesser General Public License
@@ -18,6 +18,7 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-
+#include <netinet/if_ether.h>
#include "alloc-util.h"
#include "link-config.h"
#include "log.h"
--
2.14.2
2.13.0

View File

@@ -0,0 +1,47 @@
From 690eeef9590c7ef1d9d2c31d8c1d5d8071da8c4c Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 26 Feb 2018 17:21:11 +0800
Subject: [PATCH 18/31] check for missing canonicalize_file_name
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
meson.build | 2 ++
src/basic/missing_syscall.h | 6 ++++++
2 files changed, 8 insertions(+)
diff --git a/meson.build b/meson.build
index 12811b3f3..f6515e97c 100644
--- a/meson.build
+++ b/meson.build
@@ -520,6 +520,8 @@ foreach ident : [
['kcmp', '''#include <linux/kcmp.h>'''],
['keyctl', '''#include <sys/types.h>
#include <keyutils.h>'''],
+ ['canonicalize_file_name', '''#define _GNU_SOURCE
+ #include <stdlib.h>'''],
['copy_file_range', '''#include <sys/syscall.h>
#include <unistd.h>'''],
['bpf', '''#include <sys/syscall.h>
diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
index c938d0d97..308b9472b 100644
--- a/src/basic/missing_syscall.h
+++ b/src/basic/missing_syscall.h
@@ -31,6 +31,12 @@ static inline int pivot_root(const char *new_root, const char *put_old) {
}
#endif
+#if !HAVE_CANONICALIZE_FILE_NAME
+static inline char *canonicalize_file_name(const char *path) {
+ return realpath(path, NULL);
+}
+#endif
+
/* ======================================================================= */
#if !HAVE_MEMFD_CREATE
--
2.13.0

View File

@@ -1,44 +0,0 @@
From 1355457092b02a15c646fc1c72e68b694a86dd99 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 22 Feb 2016 06:02:38 +0000
Subject: [PATCH 12/14] check for uchar.h in configure
Use ifdef to include uchar.h
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
---
configure.ac | 1 +
src/basic/missing.h | 2 ++
2 files changed, 3 insertions(+)
diff --git a/configure.ac b/configure.ac
index 1150ca50e..60e7df5ee 100644
--- a/configure.ac
+++ b/configure.ac
@@ -304,6 +304,7 @@ AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
# ------------------------------------------------------------------------------
+AC_CHECK_HEADERS([uchar.h], [], [])
AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers not found])])
AC_CHECK_HEADERS([linux/btrfs.h], [], [])
AC_CHECK_HEADERS([linux/memfd.h], [], [])
diff --git a/src/basic/missing.h b/src/basic/missing.h
index 25a11f351..d631b7e3e 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -37,7 +37,9 @@
#include <sys/resource.h>
#include <sys/socket.h>
#include <sys/syscall.h>
+#ifdef HAVE_UCHAR_H
#include <uchar.h>
+#endif
#include <unistd.h>
#ifdef HAVE_AUDIT
--
2.13.2

View File

@@ -0,0 +1,29 @@
From f5f313915d78bc43eb96e2aafb8ce3cda304c277 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 26 Feb 2018 17:27:56 +0800
Subject: [PATCH 19/31] 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 1db8aa107..df3a1f5c5 100644
--- a/src/test/meson.build
+++ b/src/test/meson.build
@@ -646,7 +646,7 @@ tests += [
[['src/test/test-nss.c'],
[],
[libdl],
- '', 'manual'],
+ 'ENABLE_NSS_SYSTEMD', 'manual'],
]
############################################################
--
2.13.0

View File

@@ -1,20 +1,21 @@
From 75f4e7f167de533a160ee1af2a03fba4c5a5ffc6 Mon Sep 17 00:00:00 2001
From d63d2fedcd80e58ee53655aeaf2836d4b0a14652 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 09/12] test-hexdecoct.c: Include missing.h form strndupa
Subject: [PATCH 20/31] test-hexdecoct.c: Include missing.h for strndupa
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/test/test-hexdecoct.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
index fcae427e7..5eb5e2ed7 100644
index 3e25a0bac..ab3e508f1 100644
--- a/src/test/test-hexdecoct.c
+++ b/src/test/test-hexdecoct.c
@@ -21,6 +21,7 @@
@@ -24,6 +24,7 @@
#include "hexdecoct.h"
#include "macro.h"
#include "string-util.h"
@@ -23,5 +24,5 @@ index fcae427e7..5eb5e2ed7 100644
static void test_hexchar(void) {
assert_se(hexchar(0xa) == 'a');
--
2.14.2
2.13.0

View File

@@ -0,0 +1,42 @@
From dfea4b98844795a0cd14fdaf40c67df389dbd27e 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 21/31] test-sizeof.c: Disable tests for missing typedefs in
musl
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/test/test-sizeof.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
index aed6db842..0de6fa63c 100644
--- a/src/test/test-sizeof.c
+++ b/src/test/test-sizeof.c
@@ -50,8 +50,10 @@ int main(void) {
info(unsigned);
info(long unsigned);
info(long long unsigned);
+#ifdef __GLIBC__
info(__syscall_ulong_t);
info(__syscall_slong_t);
+#endif
info(float);
info(double);
@@ -61,7 +63,9 @@ int main(void) {
info(ssize_t);
info(time_t);
info(usec_t);
+#ifdef __GLIBC__
info(__time_t);
+#endif
info(pid_t);
info(uid_t);
info(gid_t);
--
2.13.0

View File

@@ -1,21 +1,21 @@
From 2eb45f5a0a8bfb8bdca084587ad28e5001f3cc4b Mon Sep 17 00:00:00 2001
From d343757d629402c70ca8e5eaa551deaf175c96f3 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 11/12] don't use glibc-specific qsort_r
Subject: [PATCH 22/31] don't use glibc-specific qsort_r
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
src/hwdb/hwdb.c | 18 +++++++++++-------
src/udev/udevadm-hwdb.c | 16 ++++++++++------
2 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/src/hwdb/hwdb.c b/src/hwdb/hwdb.c
index 793398ca6..669b00818 100644
index 4540260f9..81aca7a9b 100644
--- a/src/hwdb/hwdb.c
+++ b/src/hwdb/hwdb.c
@@ -151,13 +151,12 @@ static void trie_free(struct trie *trie) {
@@ -152,13 +152,12 @@ static void trie_free(struct trie *trie) {
DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
@@ -33,7 +33,7 @@ index 793398ca6..669b00818 100644
}
static int trie_node_add_value(struct trie *trie, struct trie_node *node,
@@ -182,7 +181,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
@@ -183,7 +182,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
.value_off = v,
};
@@ -45,7 +45,7 @@ index 793398ca6..669b00818 100644
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.
@@ -207,7 +209,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
@@ -208,7 +210,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++;
@@ -57,10 +57,10 @@ index 793398ca6..669b00818 100644
}
diff --git a/src/udev/udevadm-hwdb.c b/src/udev/udevadm-hwdb.c
index 69b0b9025..fbd213300 100644
index ab5dc7ab6..c777e30ab 100644
--- a/src/udev/udevadm-hwdb.c
+++ b/src/udev/udevadm-hwdb.c
@@ -128,13 +128,13 @@ static void trie_node_cleanup(struct trie_node *node) {
@@ -130,13 +130,13 @@ static void trie_node_cleanup(struct trie_node *node) {
free(node);
}
@@ -78,7 +78,7 @@ index 69b0b9025..fbd213300 100644
}
static int trie_node_add_value(struct trie *trie, struct trie_node *node,
@@ -155,7 +155,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
@@ -157,7 +157,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
.value_off = v,
};
@@ -89,7 +89,7 @@ index 69b0b9025..fbd213300 100644
if (val) {
/* replace existing earlier key with new value */
val->value_off = v;
@@ -172,7 +174,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
@@ -174,7 +176,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++;
@@ -101,5 +101,5 @@ index 69b0b9025..fbd213300 100644
}
--
2.14.2
2.13.0

View File

@@ -1,7 +1,7 @@
From 9621618c701a2d5eb3e26f40c68354d4dfb8f872 Mon Sep 17 00:00:00 2001
From 7b802ada1207ed00ed3867b9804dd0f316641b9b Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Tue, 10 Oct 2017 14:33:30 -0700
Subject: [PATCH 12/12] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
Subject: [PATCH 23/31] 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:
@@ -22,19 +22,19 @@ The laccess() macros was added to systemd some time ago and it's not
clear if or why it needs to return success for broken symlinks. Maybe
just historical and not actually necessary or desired behaviour?
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
---
Upstream-Status: Pending
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
---
src/basic/fs-util.h | 22 +++++++++++++++++++++-
src/shared/base-filesystem.c | 6 +++---
2 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
index 094acf179..cdbc0ae72 100644
index 4dba1ea56..9c4b02ecc 100644
--- a/src/basic/fs-util.h
+++ b/src/basic/fs-util.h
@@ -48,7 +48,27 @@ int fchmod_umask(int fd, mode_t mode);
@@ -50,7 +50,27 @@ int fchmod_umask(int fd, mode_t mode);
int fd_warn_permissions(const char *path, int fd);
@@ -64,10 +64,10 @@ index 094acf179..cdbc0ae72 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 903a18786..2f6052ee7 100644
index 3c25aa534..574ca71c7 100644
--- a/src/shared/base-filesystem.c
+++ b/src/shared/base-filesystem.c
@@ -70,7 +70,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
@@ -71,7 +71,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
return log_error_errno(errno, "Failed to open root file system: %m");
for (i = 0; i < ELEMENTSOF(table); i ++) {
@@ -76,7 +76,7 @@ index 903a18786..2f6052ee7 100644
continue;
if (table[i].target) {
@@ -78,7 +78,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
@@ -79,7 +79,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
/* check if one of the targets exists */
NULSTR_FOREACH(s, table[i].target) {
@@ -85,7 +85,7 @@ index 903a18786..2f6052ee7 100644
continue;
/* check if a specific file exists at the target path */
@@ -89,7 +89,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
@@ -90,7 +90,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
if (!p)
return log_oom();
@@ -95,5 +95,5 @@ index 903a18786..2f6052ee7 100644
}
--
2.14.2
2.13.0

View File

@@ -1,23 +1,23 @@
From 4b6733544beb662a0f77310302fae1fb7b76d167 Mon Sep 17 00:00:00 2001
From 76c71aa889155f29be1d5d2b74a2c4faa5909c8c 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 13/13] comparison_fn_t is glibc specific, use raw signature in
Subject: [PATCH 24/31] comparison_fn_t is glibc specific, use raw signature in
function pointer
make it work with musl where comparison_fn_t is not provided
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/basic/util.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/basic/util.h b/src/basic/util.h
index c7da6c39b..87f62b891 100644
index 9d1b10756..12db53a93 100644
--- a/src/basic/util.h
+++ b/src/basic/util.h
@@ -98,7 +98,7 @@ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
@@ -95,7 +95,7 @@ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
* Normal qsort requires base to be nonnull. Here were require
* that only if nmemb > 0.
*/
@@ -27,5 +27,5 @@ index c7da6c39b..87f62b891 100644
return;
--
2.14.2
2.13.0

View File

@@ -1,22 +1,22 @@
From 3ca5326485cb19e775af6de615c17be66e44e472 Mon Sep 17 00:00:00 2001
From a0b1496322f4d7ce83f4fbfd2a90b91d0721f643 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 24 Oct 2017 23:08:24 -0700
Subject: [PATCH] Define _PATH_WTMPX and _PATH_UTMPX if not defined
Subject: [PATCH 25/31] Define _PATH_WTMPX and _PATH_UTMPX if not defined
Musl needs these defines
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/shared/utmp-wtmp.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/shared/utmp-wtmp.c b/src/shared/utmp-wtmp.c
index 9750dcd81..bd55d74a1 100644
index cab1cd6a2..f5eedac18 100644
--- a/src/shared/utmp-wtmp.c
+++ b/src/shared/utmp-wtmp.c
@@ -27,6 +27,7 @@
@@ -28,6 +28,7 @@
#include <sys/time.h>
#include <sys/utsname.h>
#include <unistd.h>
@@ -24,7 +24,7 @@ index 9750dcd81..bd55d74a1 100644
#include <utmpx.h>
#include "alloc-util.h"
@@ -41,6 +42,13 @@
@@ -42,6 +43,13 @@
#include "util.h"
#include "utmp-wtmp.h"
@@ -39,5 +39,5 @@ index 9750dcd81..bd55d74a1 100644
struct utmpx *found, lookup = { .ut_type = RUN_LVL };
int r;
--
2.14.3
2.13.0

View File

@@ -1,7 +1,7 @@
From b2d4171c6e521cf1e70331fb769234d63a4a6d44 Mon Sep 17 00:00:00 2001
From 88c48ea84db6fda19dfaeb64545fccf8fa0525ec Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 27 Oct 2017 13:00:41 -0700
Subject: [PATCH] Use uintmax_t for handling rlim_t
Subject: [PATCH 26/31] 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
@@ -15,20 +15,20 @@ execute.c:3446:36: error: format '%lu' expects argument of type 'long unsigned i
| prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max);
| ~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/7199]
Signed-off-by: Khem Raj <raj.khem@gmail.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(-)
diff --git a/src/basic/format-util.h b/src/basic/format-util.h
index ae42a8f89..144249cd6 100644
index d9a78f781..9a1bc21d7 100644
--- a/src/basic/format-util.h
+++ b/src/basic/format-util.h
@@ -60,14 +60,6 @@
@@ -61,14 +61,6 @@
# define PRI_TIMEX "li"
#endif
@@ -44,10 +44,10 @@ index ae42a8f89..144249cd6 100644
# define DEV_FMT "%" PRIu64
#elif SIZEOF_DEV_T == 4
diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
index ca834df62..41fcebb74 100644
index 00648211d..df3d9ecc1 100644
--- a/src/basic/rlimit-util.c
+++ b/src/basic/rlimit-util.c
@@ -284,13 +284,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
@@ -286,13 +286,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)
@@ -66,10 +66,10 @@ index ca834df62..41fcebb74 100644
if (!s)
return -ENOMEM;
diff --git a/src/core/execute.c b/src/core/execute.c
index d72e5bf08..d38946002 100644
index 0df3971df..aabdddb68 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
@@ -3443,10 +3443,10 @@ void exec_context_dump(ExecContext *c, FILE* f, const char *prefix) {
@@ -3991,10 +3991,10 @@ void exec_context_dump(ExecContext *c, FILE* f, const char *prefix) {
for (i = 0; i < RLIM_NLIMITS; i++)
if (c->rlimit[i]) {
@@ -85,5 +85,5 @@ index d72e5bf08..d38946002 100644
if (c->ioprio_set) {
--
2.14.3
2.13.0

View File

@@ -0,0 +1,63 @@
From 5354eb767d1eba2ec41eb273f6b657f4a630ca8a Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Tue, 9 Jan 2018 14:45:46 +0800
Subject: [PATCH 27/31] 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 f6515e97c..1b947adac 100644
--- a/meson.build
+++ b/meson.build
@@ -700,43 +700,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
- message('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
- message('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
- message('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
- message('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')
message('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.13.0

View File

@@ -0,0 +1,50 @@
From 03cdd33be62db4c72a7fcf21b61d0d056c23c6a9 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 28/31] add missing FTW_ macros for musl
This is to avoid build failures like below for musl.
locale-util.c:296:24: error: 'FTW_STOP' undeclared
Upstream-Status: Pending
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/basic/missing.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/src/basic/missing.h b/src/basic/missing.h
index 1aee3346a..5b9fde692 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -207,6 +207,26 @@ struct sockaddr_vm {
#define BTRFS_QGROUP_LEVEL_SHIFT 48
#endif
+#ifndef FTW_ACTIONRETVAL
+#define FTW_ACTIONRETVAL 16
+#endif
+
+#ifndef FTW_CONTINUE
+#define FTW_CONTINUE 0
+#endif
+
+#ifndef FTW_STOP
+#define FTW_STOP 1
+#endif
+
+#ifndef FTW_SKIP_SUBTREE
+#define FTW_SKIP_SUBTREE 2
+#endif
+
+#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.13.0

View File

@@ -0,0 +1,43 @@
From 5845c82d1016a3e3f2696180d5ac91b46950540a 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 29/31] 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 1b947adac..1ed4dde72 100644
--- a/meson.build
+++ b/meson.build
@@ -1351,12 +1351,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.13.0

View File

@@ -0,0 +1,45 @@
From b7eacdf0388f930fc5271bdecfa46612c71dd65c Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Tue, 27 Feb 2018 13:27:47 +0800
Subject: [PATCH 30/31] fix missing of __register_atfork for non-glibc builds
Upstream-Status: Pending
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/basic/process-util.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
index dc7c9ef9e..85ce8a0cc 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
@@ -39,6 +39,9 @@
#if HAVE_VALGRIND_VALGRIND_H
#include <valgrind/valgrind.h>
#endif
+#ifndef __GLIBC__
+#include <pthread.h>
+#endif
#include "alloc-util.h"
#include "architecture.h"
@@ -1112,11 +1115,15 @@ void reset_cached_pid(void) {
cached_pid = CACHED_PID_UNSET;
}
+#ifdef __GLIBC__
/* 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__));
+#else
+#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child)
+#endif
pid_t getpid_cached(void) {
pid_t current_value;
--
2.13.0

View File

@@ -0,0 +1,30 @@
From adcd7e426fcd80e754274a730221d1a1f49dbc21 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 31/31] fix missing ULONG_LONG_MAX definition in case of musl
Upstream-Status: Pending
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 5b9fde692..a922f1346 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -72,6 +72,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.13.0

View File

@@ -1,6 +0,0 @@
#!/bin/sh
cd tests
tar -C test -xJf test/sys.tar.xz
make check-TESTS
cd ..

View File

@@ -8,53 +8,54 @@ DEPENDS = "kmod intltool-native gperf-native acl readline libcap libcgroup util-
SECTION = "base/shell"
inherit useradd pkgconfig autotools perlnative update-rc.d update-alternatives qemu systemd ptest gettext bash-completion manpages distro_features_check
inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages distro_features_check
# As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
# that we don't build both udev and systemd in world builds.
REQUIRED_DISTRO_FEATURES = "systemd"
SRC_URI = "git://github.com/systemd/systemd.git;protocol=git \
file://touchscreen.rules \
SRC_URI += "file://touchscreen.rules \
file://00-create-volatile.conf \
file://init \
file://run-ptest \
file://0004-Use-getenv-when-secure-versions-are-not-available.patch \
file://0005-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
file://0007-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch \
file://0010-implment-systemd-sysv-install-for-OE.patch \
file://0011-nss-mymachines-Build-conditionally-when-HAVE_MYHOSTN.patch \
file://0012-rules-whitelist-hd-devices.patch \
file://0013-Make-root-s-home-directory-configurable.patch \
file://0014-Revert-rules-remove-firmware-loading-rules.patch \
file://0015-Revert-udev-remove-userspace-firmware-loading-suppor.patch \
file://0017-remove-duplicate-include-uchar.h.patch \
file://0018-check-for-uchar.h-in-configure.patch \
file://0019-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \
file://0020-rules-watch-metadata-changes-in-ide-devices.patch \
file://0001-add-fallback-parse_printf_format-implementation.patch \
file://0002-src-basic-missing.h-check-for-missing-strndupa.patch \
file://0003-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
file://0004-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch \
file://0006-Include-netinet-if_ether.h.patch \
file://0007-check-for-missing-canonicalize_file_name.patch \
file://0008-Do-not-enable-nss-tests.patch \
file://0009-test-hexdecoct.c-Include-missing.h-form-strndupa.patch \
file://0010-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
file://0011-don-t-use-glibc-specific-qsort_r.patch \
file://0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
file://0013-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch \
file://0001-Define-_PATH_WTMPX-and-_PATH_UTMPX-if-not-defined.patch \
file://0001-Use-uintmax_t-for-handling-rlim_t.patch \
file://0001-core-evaluate-presets-after-generators-have-run-6526.patch \
file://0001-main-skip-many-initialization-steps-when-running-in-.patch \
file://0001-meson-update-header-file-to-detect-memfd_create.patch \
file://0002-configure.ac-Check-if-memfd_create-is-already-define.patch \
file://0003-fileio-include-sys-mman.h.patch \
file://0001-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \
file://0001-Use-getenv-when-secure-versions-are-not-available.patch \
file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
file://0003-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch \
file://0004-implment-systemd-sysv-install-for-OE.patch \
file://0005-rules-whitelist-hd-devices.patch \
file://0006-Make-root-s-home-directory-configurable.patch \
file://0007-Revert-rules-remove-firmware-loading-rules.patch \
file://0008-Revert-udev-remove-userspace-firmware-loading-suppor.patch \
file://0009-remove-duplicate-include-uchar.h.patch \
file://0010-check-for-uchar.h-in-meson.build.patch \
file://0011-socket-util-don-t-fail-if-libc-doesn-t-support-IDN.patch \
file://0012-rules-watch-metadata-changes-in-ide-devices.patch \
file://0013-add-fallback-parse_printf_format-implementation.patch \
file://0014-src-basic-missing.h-check-for-missing-strndupa.patch \
file://0015-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
file://0016-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch \
file://0017-Include-netinet-if_ether.h.patch \
file://0018-check-for-missing-canonicalize_file_name.patch \
file://0019-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch \
file://0020-test-hexdecoct.c-Include-missing.h-for-strndupa.patch \
file://0021-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
file://0022-don-t-use-glibc-specific-qsort_r.patch \
file://0023-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
file://0024-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch \
file://0025-Define-_PATH_WTMPX-and-_PATH_UTMPX-if-not-defined.patch \
file://0026-Use-uintmax_t-for-handling-rlim_t.patch \
file://0027-remove-nobody-user-group-checking.patch \
file://0028-add-missing-FTW_-macros-for-musl.patch \
file://0029-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch \
file://0030-fix-missing-of-__register_atfork-for-non-glibc-build.patch \
file://0031-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch \
"
SRC_URI_append_qemuall = " file://0001-core-device.c-Change-the-default-device-timeout-to-2.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 \
@@ -80,7 +81,7 @@ PACKAGECONFIG ??= " \
polkit \
quotacheck \
randomseed \
resolved \
resolve \
smack \
sysusers \
timedated \
@@ -94,7 +95,7 @@ PACKAGECONFIG_remove_libc-musl = " \
localed \
myhostname \
nss \
resolved \
resolve \
selinux \
smack \
sysusers \
@@ -106,72 +107,59 @@ PACKAGECONFIG_remove_libc-musl = " \
# systemd-serialgetty.bb - not enabled by default.
PACKAGECONFIG[serial-getty-generator] = ""
PACKAGECONFIG[audit] = "--enable-audit,--disable-audit,audit"
PACKAGECONFIG[backlight] = "--enable-backlight,--disable-backlight"
PACKAGECONFIG[binfmt] = "--enable-binfmt,--disable-binfmt"
PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2"
PACKAGECONFIG[coredump] = "--enable-coredump,--disable-coredump"
PACKAGECONFIG[cryptsetup] = "--enable-libcryptsetup,--disable-libcryptsetup,cryptsetup"
PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
PACKAGECONFIG[efi] = "--enable-efi,--disable-efi"
PACKAGECONFIG[elfutils] = "--enable-elfutils,--disable-elfutils,elfutils"
PACKAGECONFIG[firstboot] = "--enable-firstboot,--disable-firstboot"
PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit"
PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false"
PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false"
PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2"
PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false"
PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup"
PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus"
PACKAGECONFIG[efi] = "-Defi=true,-Defi=false"
PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils"
PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false"
# Sign the journal for anti-tampering
PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt"
PACKAGECONFIG[hibernate] = "--enable-hibernate,--disable-hibernate"
PACKAGECONFIG[hostnamed] = "--enable-hostnamed,--disable-hostnamed"
PACKAGECONFIG[ima] = "--enable-ima,--disable-ima"
PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt"
PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false"
PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false"
PACKAGECONFIG[ima] = "-Dima=true,-Dima=false"
# importd requires curl/xz/zlib/bzip2/gcrypt
PACKAGECONFIG[importd] = "--enable-importd,--disable-importd"
PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false"
# Update NAT firewall rules
PACKAGECONFIG[iptc] = "--enable-libiptc,--disable-libiptc,iptables"
PACKAGECONFIG[journal-upload] = "--enable-libcurl,--disable-libcurl,curl"
PACKAGECONFIG[ldconfig] = "--enable-ldconfig,--disable-ldconfig"
PACKAGECONFIG[libidn] = "--enable-libidn,--disable-libidn,libidn"
PACKAGECONFIG[localed] = "--enable-localed,--disable-localed"
PACKAGECONFIG[logind] = "--enable-logind,--disable-logind"
PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4"
PACKAGECONFIG[machined] = "--enable-machined,--disable-machined"
PACKAGECONFIG[manpages] = "--enable-manpages,--disable-manpages,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
PACKAGECONFIG[microhttpd] = "--enable-microhttpd,--disable-microhttpd,libmicrohttpd"
PACKAGECONFIG[myhostname] = "--enable-myhostname,--disable-myhostname"
PACKAGECONFIG[networkd] = "--enable-networkd,--disable-networkd"
PACKAGECONFIG[nss] = "--enable-nss-systemd,--disable-nss-systemd"
PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam,${PAM_PLUGINS}"
PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit"
PACKAGECONFIG[qrencode] = "--enable-qrencode,--disable-qrencode,qrencode"
PACKAGECONFIG[quotacheck] = "--enable-quotacheck,--disable-quotacheck"
PACKAGECONFIG[randomseed] = "--enable-randomseed,--disable-randomseed"
PACKAGECONFIG[resolved] = "--enable-resolved,--disable-resolved"
PACKAGECONFIG[rfkill] = "--enable-rfkill,--disable-rfkill"
PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables"
PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl"
PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false"
PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn"
PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false"
PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false"
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[networkd] = "-Dnetworkd=true,-Dnetworkd=false"
PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false"
PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}"
PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false"
PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode"
PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false"
PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false"
PACKAGECONFIG[resolve] = "-Dresolve=true,-Dresolve=false"
PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false"
# libseccomp is found in meta-security
PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,initscripts-sushell"
PACKAGECONFIG[smack] = "--enable-smack,--disable-smack"
PACKAGECONFIG[sysusers] = "--enable-sysusers,--disable-sysusers"
PACKAGECONFIG[timedated] = "--enable-timedated,--disable-timedated"
PACKAGECONFIG[timesyncd] = "--enable-timesyncd,--disable-timesyncd"
PACKAGECONFIG[usrmerge] = "--disable-split-usr,--enable-split-usr"
PACKAGECONFIG[utmp] = "--enable-utmp,--disable-utmp"
PACKAGECONFIG[valgrind] = "ac_cv_header_valgrind_memcheck_h=yes ac_cv_header_valgrind_valgrind_h=yes,ac_cv_header_valgrind_memcheck_h=no ac_cv_header_valgrind_valgrind_h=no,valgrind"
PACKAGECONFIG[vconsole] = "--enable-vconsole,--disable-vconsole,,${PN}-vconsole-setup"
PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp"
PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell"
PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false"
PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false"
PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false"
PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false"
PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true"
PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false"
PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind"
PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup"
# Verify keymaps on locale change
PACKAGECONFIG[xkbcommon] = "--enable-xkbcommon,--disable-xkbcommon,libxkbcommon"
PACKAGECONFIG[xz] = "--enable-xz,--disable-xz,xz"
PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
# Hardcode target binary paths to avoid AC_PROG_PATH in the systemd
# configure script detecting and setting paths from sysroot or host.
CACHED_CONFIGUREVARS_class-target = " \
ac_cv_path_KEXEC=${sbindir}/kexec \
ac_cv_path_KILL=${base_bindir}/kill \
ac_cv_path_KMOD=${base_bindir}/kmod \
ac_cv_path_MOUNT_PATH=${base_bindir}/mount \
ac_cv_path_QUOTACHECK=${sbindir}/quotacheck \
ac_cv_path_QUOTAON=${sbindir}/quotaon \
ac_cv_path_SULOGIN=${base_sbindir}/sulogin \
ac_cv_path_UMOUNT_PATH=${base_bindir}/umount \
"
PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon"
PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz"
PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib"
# Helper variables to clarify locations. This mirrors the logic in systemd's
# build system.
@@ -179,38 +167,27 @@ rootprefix ?= "${root_prefix}"
rootlibdir ?= "${base_libdir}"
rootlibexecdir = "${rootprefix}/lib"
EXTRA_OECONF = " \
--without-python \
--with-roothomedir=${ROOT_HOME} \
--with-rootlibdir=${rootlibdir} \
--with-rootprefix=${rootprefix} \
--with-sysvrcnd-path=${sysconfdir} \
--with-firmware-path=${nonarch_base_libdir}/firmware \
"
EXTRA_OEMESON += "-Dnobody-user=nobody \
-Dnobody-group=nobody \
-Droothomedir=${ROOTHOME} \
-Drootlibdir=${rootlibdir} \
-Drootprefix=${rootprefix} \
-Dsysvrcnd-path=${sysconfdir} \
-Dfirmware-path=${nonarch_base_libdir}/firmware \
"
# per the systemd README, define VALGRIND=1 to run under valgrind
CFLAGS .= "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', ' -DVALGRIND=1', '', d)}"
COMPILER_NM ?= "${HOST_PREFIX}gcc-nm"
COMPILER_AR ?= "${HOST_PREFIX}gcc-ar"
COMPILER_RANLIB ?= "${HOST_PREFIX}gcc-ranlib"
do_configure_prepend() {
export NM="${COMPILER_NM}"
export AR="${COMPILER_AR}"
export RANLIB="${COMPILER_RANLIB}"
export KMOD="${base_bindir}/kmod"
if [ -d ${S}/units.pre_sed ] ; then
cp -r ${S}/units.pre_sed ${S}/units
else
cp -r ${S}/units ${S}/units.pre_sed
fi
sed -i -e 's:-DTEST_DIR=\\\".*\\\":-DTEST_DIR=\\\"${PTEST_PATH}/tests/test\\\":' ${S}/Makefile.am
sed -i -e 's:-DCATALOG_DIR=\\\".*\\\":-DCATALOG_DIR=\\\"${PTEST_PATH}/tests/catalog\\\":' ${S}/Makefile.am
}
# 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 \
-Dquotaon-path=${sbindir}/quotaon \
-Dsulogin-path={base_sbindir}/sulogin \
-Dumount-path=${base_bindir}/umount"
do_install() {
autotools_do_install
meson_do_install
install -d ${D}/${base_sbindir}
if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then
# Provided by a separate recipe
@@ -269,7 +246,7 @@ do_install() {
if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then
${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf', d)}
fi
if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then
if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolve', 'true', 'false', d)}; then
echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
@@ -289,31 +266,6 @@ do_install() {
fi
}
do_install_ptest () {
# install data files needed for tests
install -d ${D}${PTEST_PATH}/tests/test
cp -rfL ${S}/test/* ${D}${PTEST_PATH}/tests/test
# python is disabled for systemd, thus removing these python testing scripts
rm ${D}${PTEST_PATH}/tests/test/*.py
sed -i 's/"tree"/"ls"/' ${D}${PTEST_PATH}/tests/test/udev-test.pl
install -d ${D}${PTEST_PATH}/tests/catalog
install ${S}/catalog/* ${D}${PTEST_PATH}/tests/catalog/
install -D ${S}/build-aux/test-driver ${D}${PTEST_PATH}/tests/build-aux/test-driver
install -d ${D}${PTEST_PATH}/tests/rules
install ${B}/rules/* ${D}${PTEST_PATH}/tests/rules/
# This directory needs to be there for udev-test.pl to work.
install -d ${D}${libdir}/udev/rules.d
# install actual test binaries
install -m 0755 ${B}/test-* ${D}${PTEST_PATH}/tests/
install -m 0755 ${B}/.libs/test-* ${D}${PTEST_PATH}/tests/
install ${B}/Makefile ${D}${PTEST_PATH}/tests/
}
python populate_packages_prepend (){
systemdlibdir = d.getVar("rootlibdir")
@@ -348,7 +300,7 @@ USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'journal-upload',
USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /bin/nologin systemd-timesync;', '', d)}"
USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /bin/nologin systemd-network;', '', d)}"
USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /bin/nologin systemd-coredump;', '', d)}"
USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /bin/nologin systemd-resolve;', '', d)}"
USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolve', '--system -d / -M --shell /bin/nologin systemd-resolve;', '', d)}"
USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}"
GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
USERADD_PARAM_${PN}-extra-utils += "--system -d / -M --shell /bin/nologin systemd-bus-proxy;"
@@ -358,14 +310,6 @@ FILES_${PN}-analyze = "${bindir}/systemd-analyze"
FILES_${PN}-initramfs = "/init"
RDEPENDS_${PN}-initramfs = "${PN}"
RDEPENDS_${PN}-ptest += "gawk make perl bash xz \
tzdata tzdata-americas tzdata-asia \
tzdata-europe tzdata-africa tzdata-antarctica \
tzdata-arctic tzdata-atlantic tzdata-australia \
tzdata-pacific tzdata-posix"
FILES_${PN}-ptest += "${libdir}/udev/rules.d"
FILES_${PN}-gui = "${bindir}/systemadm"
FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \
@@ -514,6 +458,7 @@ FILES_${PN} = " ${base_bindir}/* \
${nonarch_base_libdir}/udev/rules.d/71-seat.rules \
${nonarch_base_libdir}/udev/rules.d/73-seat-late.rules \
${nonarch_base_libdir}/udev/rules.d/99-systemd.rules \
${nonarch_base_libdir}/modprobe.d/systemd.conf \
${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \

View File

@@ -20,8 +20,11 @@ SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
file://0001-Fix-build-with-musl-missing-header-include-for-dev_t.patch \
"
RECIPE_NO_UPDATE_REASON = "Waiting for resolution of https://github.com/kdave/btrfs-progs/issues/109"
inherit autotools-brokensep pkgconfig manpages
CLEANBROKEN = "1"
PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native"
EXTRA_OECONF_append_libc-musl = " --disable-backtrace "

View File

@@ -23,7 +23,6 @@ SRC_URI = "git://github.com/distcc/distcc.git;branch=${PV} \
file://distcc.service"
SRCREV = "d8b18df3e9dcbe4f092bed565835d3975e99432c"
S = "${WORKDIR}/git"
UPSTREAM_VERSION_UNKNOWN = "1"
inherit autotools pkgconfig update-rc.d useradd systemd

View File

@@ -0,0 +1,54 @@
From 319f32d743f5b5e725012654d124e49226d5de91 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 16 Mar 2018 20:28:24 -0700
Subject: [PATCH] arch: Add support for riscv64 CPU
* Architecture support:
- Add support for riscv64 CPU. Closes: #822914
Thanks to Manuel A. Fernandez Montecelo <mafm@debian.org>
Upstream-Status: Backport [https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?p=dpkg%2Fdpkg.git;a=commitdiff_plain;h=ee0855cc66076691de4796be48f8a0d889fde001;hp=2f5816d8be40b449d2473b22f9e0c33b32f3bd78]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
data/cputable | 1 +
scripts/t/Dpkg_Arch.t | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/data/cputable b/data/cputable
index a2bd7d6..9f2a8e0 100644
--- a/data/cputable
+++ b/data/cputable
@@ -41,6 +41,7 @@ powerpc powerpc (powerpc|ppc) 32 big
powerpcel powerpcle powerpcle 32 little
ppc64 powerpc64 (powerpc|ppc)64 64 big
ppc64el powerpc64le powerpc64le 64 little
+riscv64 riscv64 riscv64 64 little
s390 s390 s390 32 big
s390x s390x s390x 64 big
sh3 sh3 sh3 32 little
diff --git a/scripts/t/Dpkg_Arch.t b/scripts/t/Dpkg_Arch.t
index d478b49..ecd5d66 100644
--- a/scripts/t/Dpkg_Arch.t
+++ b/scripts/t/Dpkg_Arch.t
@@ -16,7 +16,7 @@
use strict;
use warnings;
-use Test::More tests => 16367;
+use Test::More tests => 16832;
use_ok('Dpkg::Arch', qw(debarch_to_debtuple debarch_to_multiarch
debarch_eq debarch_is debarch_is_wildcard
@@ -162,7 +162,7 @@ is(gnutriplet_to_debarch(undef), undef, 'undef gnutriplet');
is(gnutriplet_to_debarch('unknown-unknown-unknown'), undef, 'unknown gnutriplet');
is(gnutriplet_to_debarch('x86_64-linux-gnu'), 'amd64', 'known gnutriplet');
-is(scalar get_valid_arches(), 524, 'expected amount of known architectures');
+is(scalar get_valid_arches(), 539, 'expected amount of known architectures');
{
local $ENV{CC} = 'false';
--
2.16.2

View File

@@ -1,12 +1,17 @@
From 9d260d408f9e17abd1d1dccd685bd7e80a3655a9 Mon Sep 17 00:00:00 2001
From: Donn Seeley <donn.seeley@windriver.com>
Date: Tue, 25 Feb 2014 17:44:04 +0800
Subject: [PATCH] dpkg: fix a link problem for dpkg-native on CentOS 5.8
CentOS 5.8 kernels and headers support the sync_file_range() system call,
but glibc 2.5 doesn't provide the syscall stub. It appears that this
problem is known but will never be fixed:
https://bugzilla.redhat.com/show_bug.cgi?id=518581
Bug 518581 - [RHEL5] glibc misses sync_file_range syscall interface
Bug 518581 - [RHEL5] glibc misses sync_file_range syscall interface
Status: CLOSED CANTFIX
Status: CLOSED CANTFIX
Last Closed: 2009-11-22 22:19:55
Kirby Zhou 2009-08-20 23:37:55 EDT
@@ -60,13 +65,16 @@ Upstream-Status: Inappropriate [everyone else builds on newer hosts :-)]
Signed-off-by: Donn Seeley <donn.seeley@windriver.com>
Signed-off-by: Lei Liu <lei.liu2@windriver.com>
---
src/archives.c | 4 ++--
src/archives.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/archives.c b/src/archives.c
index 4b2fc92..a92b795 100644
--- a/src/archives.c
+++ b/src/archives.c
@@ -75,7 +75,7 @@
@@ -69,7 +69,7 @@ fd_writeback_init(int fd)
/* Ignore the return code as it should be considered equivalent to an
* asynchronous hint for the kernel, we are doing an fsync() later on
* anyway. */
@@ -75,7 +83,7 @@ Signed-off-by: Lei Liu <lei.liu2@windriver.com>
sync_file_range(fd, 0, 0, SYNC_FILE_RANGE_WRITE);
#elif defined(HAVE_POSIX_FADVISE)
posix_fadvise(fd, 0, 0, POSIX_FADV_DONTNEED);
@@ -1179,7 +1179,7 @@
@@ -1078,7 +1078,7 @@ tarobject(void *ctx, struct tar_entry *ti)
return 0;
}
@@ -84,3 +92,6 @@ Signed-off-by: Lei Liu <lei.liu2@windriver.com>
static void
tar_writeback_barrier(struct fileinlist *files, struct pkginfo *pkg)
{
--
2.16.2

View File

@@ -14,6 +14,7 @@ SRC_URI = "http://snapshot.debian.org/archive/debian/20170518T093838Z/pool/main/
file://0006-add-musleabi-to-known-target-tripets.patch \
file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \
file://0001-dpkg-Support-muslx32-build.patch \
file://0001-arch-Add-support-for-riscv64-CPU.patch \
"
SRC_URI_append_class-native = " file://glibc2.5-sync_file_range.patch "

Some files were not shown because too many files have changed in this diff Show More