On 6/18/20 11:58 PM, Christopher Clark wrote:
On Thu, Jun 18, 2020 at 1:27 AM Jacob Kroon <[email protected]> wrote:

On 6/18/20 1:12 AM, Richard Purdie wrote:
On Wed, 2020-06-17 at 16:07 -0700, Christopher Clark wrote:
Both grub-native and grub-efi-native included packaging for the
grub-mkimage and grub-editenv tools, which prevented concurrent
installation of both the grub-native and grub-efi-native packages.
This caused errors on image generation with wic when populating
partitions with both legacy and efi boot support, so resolve this by
removing the duplicated tools from grub-efi-native and add a
runtime dependency from it to grub-native.> >>

I think we want to PROVIDES_append_class-native = " grub-efi-native" in
grub and then drop the BBCLASSEXTEND from grub-efi?

Just for the record, I tested building grub-native (x86-64) both with
platform "pc" and "efi", and in the same build directory, and all tools
in ${bindir} were binary identical. Asking in #grub on freenode also
confirmed this, apparently Debian packaging also assumes this.

So no grub-efi-native required, and we can remove that
_class_target/_class_native special handling as well.

I'm not as confident as I was about the results of the binary
comparison that I did, since objdump definitely wasn't showing the
strings differences that were clearly present between those binaries.
I think that proposing this change was a mistake since there could
well be other layers that depend on core having separate packages with
behaviour specific to those that is needed. Sorry for the noise.


I dug some more into this. That GRUB_PKGLIBDIR define which references the recipe specific install sysroot is actually unused and could be removed. But there are 3 other values that contain the install sysroot being encoding in the binaries:

GRUB_DATADIR = $TMPDIR/work/x86_64-linux/grub-native/2.04-r0/recipe-sysroot-native/usr/share

GRUB_LIBDIR = $TMPDIR/work/x86_64-linux/grub-native/2.04-r0/recipe-sysroot-native/usr/lib

GRUB_SYSCONFDIR = $TMPDIR/work/x86_64-linux/grub-native/2.04-r0/recipe-sysroot-native/etc

But all three values refer to directories that are not expected to exists at the time they are executed, right ? At least not for me using rm_work.bbclass. Where grub-mkimage is used in the efi recipe, -d is passed to override the libdir.

So I'd still vote for removing grub-efi-native.

Jacob
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#139700): 
https://lists.openembedded.org/g/openembedded-core/message/139700
Mute This Topic: https://lists.openembedded.org/mt/74948517/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to