diff options
-rw-r--r-- | meta/recipes-core/systemd/systemd-boot_241.bb (renamed from meta/recipes-core/systemd/systemd-boot_239.bb) | 7 | ||||
-rw-r--r-- | meta/recipes-core/systemd/systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch | 33 | ||||
-rw-r--r-- | meta/recipes-core/systemd/systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch | 77 |
3 files changed, 114 insertions, 3 deletions
diff --git a/meta/recipes-core/systemd/systemd-boot_239.bb b/meta/recipes-core/systemd/systemd-boot_241.bb index 2450d52cb9..56e68a3d49 100644 --- a/meta/recipes-core/systemd/systemd-boot_239.bb +++ b/meta/recipes-core/systemd/systemd-boot_241.bb | |||
@@ -3,10 +3,11 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:" | |||
3 | 3 | ||
4 | DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native" | 4 | DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native" |
5 | 5 | ||
6 | SRC_URI += "file://0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch \ | 6 | # NOTE: These three patches are in theory not needed, but we haven't |
7 | file://0006-remove-nobody-user-group-checking.patch \ | 7 | # figured out how to correctly pass efi-cc parameter if it's an array. |
8 | SRC_URI += "file://0001-Revert-meson-use-an-array-option-for-efi-cc.patch \ | ||
9 | file://0001-Revert-meson-print-EFI-CC-configuration-nicely.patch \ | ||
8 | file://0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch \ | 10 | file://0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch \ |
9 | file://0001-meson-rename-Ddebug-to-Ddebug-extra.patch \ | ||
10 | " | 11 | " |
11 | 12 | ||
12 | inherit meson pkgconfig gettext | 13 | inherit meson pkgconfig gettext |
diff --git a/meta/recipes-core/systemd/systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch b/meta/recipes-core/systemd/systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch new file mode 100644 index 0000000000..ed14e25bce --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From 0bf530aac152630500939db31f98d933158fdabd Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Tue, 26 Feb 2019 14:27:49 +0800 | ||
4 | Subject: [PATCH] Revert "meson: print EFI CC configuration nicely" | ||
5 | |||
6 | This reverts commit c512dfb9ac948ddb1ced0dab07b9dac88b198293. | ||
7 | |||
8 | This patch is here because we haven't figured out how to pass | ||
9 | parameter to efi-cc if it's an array in systemd-boot recipe. | ||
10 | |||
11 | Upstream-Status: Inappropriate [OE specific] | ||
12 | |||
13 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
14 | --- | ||
15 | meson.build | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | diff --git a/meson.build b/meson.build | ||
19 | index 70fb218..30df834 100644 | ||
20 | --- a/meson.build | ||
21 | +++ b/meson.build | ||
22 | @@ -3138,7 +3138,7 @@ if conf.get('ENABLE_EFI') == 1 | ||
23 | if have_gnu_efi | ||
24 | status += [ | ||
25 | 'EFI machine type: @0@'.format(EFI_MACHINE_TYPE_NAME), | ||
26 | - 'EFI CC @0@'.format(' '.join(efi_cc)), | ||
27 | + 'EFI CC @0@'.format(efi_cc), | ||
28 | 'EFI lib directory: @0@'.format(efi_libdir), | ||
29 | 'EFI lds directory: @0@'.format(efi_ldsdir), | ||
30 | 'EFI include directory: @0@'.format(efi_incdir)] | ||
31 | -- | ||
32 | 2.7.4 | ||
33 | |||
diff --git a/meta/recipes-core/systemd/systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch b/meta/recipes-core/systemd/systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch new file mode 100644 index 0000000000..0d2ebf62bd --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch | |||
@@ -0,0 +1,77 @@ | |||
1 | From 0030dcbac1a9177ef7a28af209ac67149b899f5f Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Tue, 26 Feb 2019 14:17:25 +0800 | ||
4 | Subject: [PATCH] Revert "meson: use an array option for efi-cc" | ||
5 | |||
6 | This reverts commit 595343fb4c99c2679d347ef7c19debfbfed6342e. | ||
7 | |||
8 | This patch is here because we haven't figured out how to pass | ||
9 | parameter to efi-cc if it's an array in systemd-boot recipe. | ||
10 | |||
11 | Upstream-Status: Inappropriate [OE specific] | ||
12 | |||
13 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
14 | --- | ||
15 | meson_options.txt | 2 +- | ||
16 | src/boot/efi/meson.build | 11 ++++++----- | ||
17 | 2 files changed, 7 insertions(+), 6 deletions(-) | ||
18 | |||
19 | diff --git a/meson_options.txt b/meson_options.txt | ||
20 | index 044bb79..3d28bfd 100644 | ||
21 | --- a/meson_options.txt | ||
22 | +++ b/meson_options.txt | ||
23 | @@ -292,7 +292,7 @@ option('dbus', type : 'combo', choices : ['auto', 'true', 'false'], | ||
24 | |||
25 | option('gnu-efi', type : 'combo', choices : ['auto', 'true', 'false'], | ||
26 | description : 'gnu-efi support for sd-boot') | ||
27 | -option('efi-cc', type : 'array', | ||
28 | +option('efi-cc', type : 'string', | ||
29 | description : 'the compiler to use for EFI modules') | ||
30 | option('efi-ld', type : 'string', | ||
31 | description : 'the linker to use for EFI modules') | ||
32 | diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build | ||
33 | index 2140151..d8db3a1 100644 | ||
34 | --- a/src/boot/efi/meson.build | ||
35 | +++ b/src/boot/efi/meson.build | ||
36 | @@ -34,8 +34,8 @@ stub_sources = ''' | ||
37 | |||
38 | if conf.get('ENABLE_EFI') == 1 and get_option('gnu-efi') != 'false' | ||
39 | efi_cc = get_option('efi-cc') | ||
40 | - if efi_cc.length() == 0 | ||
41 | - efi_cc = cc.cmd_array() | ||
42 | + if efi_cc == '' | ||
43 | + efi_cc = ' '.join(cc.cmd_array()) | ||
44 | endif | ||
45 | efi_ld = get_option('efi-ld') | ||
46 | if efi_ld == '' | ||
47 | @@ -57,7 +57,8 @@ if conf.get('ENABLE_EFI') == 1 and get_option('gnu-efi') != 'false' | ||
48 | |||
49 | efi_libdir = get_option('efi-libdir') | ||
50 | if efi_libdir == '' | ||
51 | - ret = run_command(efi_cc + ['-print-multi-os-directory']) | ||
52 | + cmd = 'cd /usr/lib/$(@0@ -print-multi-os-directory) && pwd'.format(efi_cc) | ||
53 | + ret = run_command('sh', '-c', cmd) | ||
54 | if ret.returncode() == 0 | ||
55 | path = join_paths('/usr/lib', ret.stdout().strip()) | ||
56 | ret = run_command('realpath', '-e', path) | ||
57 | @@ -152,7 +153,7 @@ if have_gnu_efi | ||
58 | o_file = custom_target(file + '.o', | ||
59 | input : file, | ||
60 | output : file + '.o', | ||
61 | - command : efi_cc + ['-c', '@INPUT@', '-o', '@OUTPUT@'] | ||
62 | + command : [efi_cc, '-c', '@INPUT@', '-o', '@OUTPUT@'] | ||
63 | + compile_args, | ||
64 | depend_files : efi_headers) | ||
65 | if (common_sources + systemd_boot_sources).contains(file) | ||
66 | @@ -163,7 +164,7 @@ if have_gnu_efi | ||
67 | endif | ||
68 | endforeach | ||
69 | |||
70 | - libgcc_file_name = run_command(efi_cc + ['-print-libgcc-file-name']).stdout().strip() | ||
71 | + libgcc_file_name = run_command(efi_cc, '-print-libgcc-file-name').stdout().strip() | ||
72 | systemd_boot_efi_name = 'systemd-boot@0@.efi'.format(EFI_MACHINE_TYPE_NAME) | ||
73 | stub_efi_name = 'linux@0@.efi.stub'.format(EFI_MACHINE_TYPE_NAME) | ||
74 | no_undefined_symbols = find_program('no-undefined-symbols.sh') | ||
75 | -- | ||
76 | 2.7.4 | ||
77 | |||