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 | |||
