On 03/07/2018 09:44 PM, Burton, Ross wrote:
Can you rebase this to master as there's been changes to booting made.

Ross


Hi Ross,

I've done this.
The remote branch has been updated.

git://git.pokylinux.org/poky-contrib ChenQi/systemd-237
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/systemd-237


Best Regards,
Chen Qi

On 5 March 2018 at 02:02, Chen Qi <[email protected] <mailto:[email protected]>> wrote:

    Upgrade systemd-boot to 237.

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

    Signed-off-by: Chen Qi <[email protected]
    <mailto:[email protected]>>
    ---
     .../{systemd-boot_234.bb <http://systemd-boot_234.bb> =>
    systemd-boot_237.bb <http://systemd-boot_237.bb>}  | 32 ++++++-----
     ...01-Also-check-i386-i586-and-i686-for-ia32.patch | 28 ++++++++++
     ...efi_cc-and-efi_ld-correctly-when-cross-co.patch | 62
    ++++++++++++++++++++++
     3 files changed, 109 insertions(+), 13 deletions(-)
     rename meta/recipes-core/systemd/{systemd-boot_234.bb
    <http://systemd-boot_234.bb> => systemd-boot_237.bb
    <http://systemd-boot_237.bb>} (41%)
     create mode 100644
    
meta/recipes-core/systemd/systemd/0001-Also-check-i386-i586-and-i686-for-ia32.patch
     create mode 100644
    
meta/recipes-core/systemd/systemd/0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch

    diff --git a/meta/recipes-core/systemd/systemd-boot_234.bb
    <http://systemd-boot_234.bb>
    b/meta/recipes-core/systemd/systemd-boot_237.bb
    <http://systemd-boot_237.bb>
    similarity index 41%
    rename from meta/recipes-core/systemd/systemd-boot_234.bb
    <http://systemd-boot_234.bb>
    rename to meta/recipes-core/systemd/systemd-boot_237.bb
    <http://systemd-boot_237.bb>
    index 88a14ac..ec87cbf 100644
    --- a/meta/recipes-core/systemd/systemd-boot_234.bb
    <http://systemd-boot_234.bb>
    +++ b/meta/recipes-core/systemd/systemd-boot_237.bb
    <http://systemd-boot_237.bb>
    @@ -3,20 +3,27 @@ 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}' \
    +                  "
    +

     # Imported from the old gummiboot recipe
     TUNE_CCARGS_remove = "-mfpmath=sse"
    @@ -28,8 +35,7 @@ do_compile() {
            if [ "${TARGET_ARCH}" = "x86_64" ]; then
                    SYSTEMD_BOOT_EFI_ARCH="x64"
            fi
    -
    -       oe_runmake systemd-boot${SYSTEMD_BOOT_EFI_ARCH}.efi
    +       ninja src/boot/efi/systemd-boot${SYSTEMD_BOOT_EFI_ARCH}.efi
     }

     do_install() {
    @@ -38,6 +44,6 @@ do_install() {
     }

     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
    diff --git
    
a/meta/recipes-core/systemd/systemd/0001-Also-check-i386-i586-and-i686-for-ia32.patch
    
b/meta/recipes-core/systemd/systemd/0001-Also-check-i386-i586-and-i686-for-ia32.patch
    new file mode 100644
    index 0000000..877bb1c
    --- /dev/null
    +++
    
b/meta/recipes-core/systemd/systemd/0001-Also-check-i386-i586-and-i686-for-ia32.patch
    @@ -0,0 +1,28 @@
    +From 3e8c19bb1bbc4493c591f75c00c1fefe3b1c8a69 Mon Sep 17 00:00:00
    2001
    +From: Chen Qi <[email protected] <mailto:[email protected]>>
    +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 <[email protected]
    <mailto:[email protected]>>
    +---
    + 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
    +
    diff --git
    
a/meta/recipes-core/systemd/systemd/0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch
    
b/meta/recipes-core/systemd/systemd/0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch
    new file mode 100644
    index 0000000..e2e19ba
    --- /dev/null
    +++
    
b/meta/recipes-core/systemd/systemd/0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch
    @@ -0,0 +1,62 @@
    +From 527413ec243564a89ffaad6368d446de44415970 Mon Sep 17 00:00:00
    2001
    +From: Chen Qi <[email protected] <mailto:[email protected]>>
    +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 <[email protected]
    <mailto:[email protected]>>
    +---
    + 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@[email protected]'.format(EFI_MACHINE_TYPE_NAME)
    +         stub_efi_name =
    'linux@[email protected]'.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
    +
    --
    1.9.1

    --
    _______________________________________________
    Openembedded-core mailing list
    [email protected]
    <mailto:[email protected]>
    http://lists.openembedded.org/mailman/listinfo/openembedded-core
    <http://lists.openembedded.org/mailman/listinfo/openembedded-core>



-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to