]> code.ossystems Code Review - openembedded-core.git/commitdiff
systemd-boot: upgrade to 241
authorChen Qi <Qi.Chen@windriver.com>
Tue, 26 Feb 2019 06:38:58 +0000 (14:38 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 3 Mar 2019 15:38:08 +0000 (15:38 +0000)
The following two patches are added because I cannot figure
out how to pass parameter to efi-cc if it's changed to be
an array value.

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

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/systemd/systemd-boot_241.bb [moved from meta/recipes-core/systemd/systemd-boot_239.bb with 86% similarity]
meta/recipes-core/systemd/systemd/0001-Revert-meson-print-EFI-CC-configuration-nicely.patch [new file with mode: 0644]
meta/recipes-core/systemd/systemd/0001-Revert-meson-use-an-array-option-for-efi-cc.patch [new file with mode: 0644]

similarity index 86%
rename from meta/recipes-core/systemd/systemd-boot_239.bb
rename to meta/recipes-core/systemd/systemd-boot_241.bb
index 2450d52cb90316a1417bf1fbf0bf598a6ef3b54f..56e68a3d494255b2f02c689cfbcb18e972797fae 100644 (file)
@@ -3,10 +3,11 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:"
 
 DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native"
 
-SRC_URI += "file://0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch \
-            file://0006-remove-nobody-user-group-checking.patch \
+# NOTE: These three patches are in theory not needed, but we haven't
+#       figured out how to correctly pass efi-cc parameter if it's an array.
+SRC_URI += "file://0001-Revert-meson-use-an-array-option-for-efi-cc.patch \
+            file://0001-Revert-meson-print-EFI-CC-configuration-nicely.patch \
             file://0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch \
-            file://0001-meson-rename-Ddebug-to-Ddebug-extra.patch \
             "
 
 inherit meson pkgconfig gettext
diff --git a/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 (file)
index 0000000..ed14e25
--- /dev/null
@@ -0,0 +1,33 @@
+From 0bf530aac152630500939db31f98d933158fdabd Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 26 Feb 2019 14:27:49 +0800
+Subject: [PATCH] Revert "meson: print EFI CC configuration nicely"
+
+This reverts commit c512dfb9ac948ddb1ced0dab07b9dac88b198293.
+
+This patch is here because we haven't figured out how to pass
+parameter to efi-cc if it's an array in systemd-boot recipe.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 70fb218..30df834 100644
+--- a/meson.build
++++ b/meson.build
+@@ -3138,7 +3138,7 @@ if conf.get('ENABLE_EFI') == 1
+         if have_gnu_efi
+                 status += [
+                         'EFI machine type:                  @0@'.format(EFI_MACHINE_TYPE_NAME),
+-                        'EFI CC                             @0@'.format(' '.join(efi_cc)),
++                        'EFI CC                             @0@'.format(efi_cc),
+                         'EFI lib directory:                 @0@'.format(efi_libdir),
+                         'EFI lds directory:                 @0@'.format(efi_ldsdir),
+                         'EFI include directory:             @0@'.format(efi_incdir)]
+-- 
+2.7.4
+
diff --git a/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 (file)
index 0000000..0d2ebf6
--- /dev/null
@@ -0,0 +1,77 @@
+From 0030dcbac1a9177ef7a28af209ac67149b899f5f Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 26 Feb 2019 14:17:25 +0800
+Subject: [PATCH] Revert "meson: use an array option for efi-cc"
+
+This reverts commit 595343fb4c99c2679d347ef7c19debfbfed6342e.
+
+This patch is here because we haven't figured out how to pass
+parameter to efi-cc if it's an array in systemd-boot recipe.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ meson_options.txt        |  2 +-
+ src/boot/efi/meson.build | 11 ++++++-----
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index 044bb79..3d28bfd 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -292,7 +292,7 @@ option('dbus', type : 'combo', choices : ['auto', 'true', 'false'],
+ option('gnu-efi', type : 'combo', choices : ['auto', 'true', 'false'],
+        description : 'gnu-efi support for sd-boot')
+-option('efi-cc', type : 'array',
++option('efi-cc', type : 'string',
+        description : 'the compiler to use for EFI modules')
+ option('efi-ld', type : 'string',
+        description : 'the linker to use for EFI modules')
+diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build
+index 2140151..d8db3a1 100644
+--- a/src/boot/efi/meson.build
++++ b/src/boot/efi/meson.build
+@@ -34,8 +34,8 @@ stub_sources = '''
+ if conf.get('ENABLE_EFI') == 1 and get_option('gnu-efi') != 'false'
+         efi_cc = get_option('efi-cc')
+-        if efi_cc.length() == 0
+-                efi_cc = cc.cmd_array()
++        if efi_cc == ''
++                efi_cc = ' '.join(cc.cmd_array())
+         endif
+         efi_ld = get_option('efi-ld')
+         if efi_ld == ''
+@@ -57,7 +57,8 @@ if conf.get('ENABLE_EFI') == 1 and get_option('gnu-efi') != 'false'
+         efi_libdir = get_option('efi-libdir')
+         if efi_libdir == ''
+-                ret = run_command(efi_cc + ['-print-multi-os-directory'])
++                cmd = 'cd /usr/lib/$(@0@ -print-multi-os-directory) && pwd'.format(efi_cc)
++                ret = run_command('sh', '-c', cmd)
+                 if ret.returncode() == 0
+                         path = join_paths('/usr/lib', ret.stdout().strip())
+                         ret = run_command('realpath', '-e', path)
+@@ -152,7 +153,7 @@ if have_gnu_efi
+                 o_file = custom_target(file + '.o',
+                                        input : file,
+                                        output : file + '.o',
+-                                       command : efi_cc + ['-c', '@INPUT@', '-o', '@OUTPUT@']
++                                       command : [efi_cc, '-c', '@INPUT@', '-o', '@OUTPUT@']
+                                                  + compile_args,
+                                        depend_files : efi_headers)
+                 if (common_sources + systemd_boot_sources).contains(file)
+@@ -163,7 +164,7 @@ if have_gnu_efi
+                 endif
+         endforeach
+-        libgcc_file_name = run_command(efi_cc + ['-print-libgcc-file-name']).stdout().strip()
++        libgcc_file_name = run_command(efi_cc, '-print-libgcc-file-name').stdout().strip()
+         systemd_boot_efi_name = 'systemd-boot@0@.efi'.format(EFI_MACHINE_TYPE_NAME)
+         stub_efi_name = 'linux@0@.efi.stub'.format(EFI_MACHINE_TYPE_NAME)
+         no_undefined_symbols = find_program('no-undefined-symbols.sh')
+-- 
+2.7.4
+