Re: [PATCH] sanity: skip make 4.2.1 warning for debian


Andre McCurdy
 

On Wed, Apr 27, 2022 at 3:40 AM Richard Purdie
<richard.purdie@...> wrote:

On Tue, 2022-04-26 at 14:39 -0700, Andre McCurdy wrote:
On Tue, Apr 26, 2022 at 1:56 PM Khem Raj <raj.khem@...> wrote:

On Tue, Apr 26, 2022 at 1:51 PM Andre McCurdy <armccurdy@...> wrote:

On Tue, Apr 26, 2022 at 12:46 PM Nicolas Dechesne
<nicolas.dechesne@...> wrote:

This is a follow up patch of:
ad5829aa1f8a (sanity: Show a warning that make 4.2.1 is buggy on non-ubuntu systems)

Debian10 has the exact same version/sources for make as Ubuntu
(focal), e.g. https://packages.debian.org/source/buster/make-dfsg and
https://packages.ubuntu.com/source/focal/make-dfsg.

As per the corresponding changelog, the patch mentioned in
ad5829aa1f8a, is included in both Debian and Ubuntu in make
4.2.1-1.1. So it's safe to use make 4.2.1 in Debian10.

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@...>
---
meta/classes/sanity.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index c385d92e8b..c72a7b3ed3 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -470,7 +470,7 @@ def check_make_version(sanity_data):

if bb.utils.vercmp_string_op(version, "4.2.1", "=="):
distro = oe.lsb.distro_identifier()
Not directly related to your change, but shouldn't this be
lsb_distro_identifier() instead of oe.lsb.distro_identifier()?
lsb_distro_identifier would work when it is inheriting base.bbclass
otherwise the utility function is needed.
Question isn't really whether it will work or not (if it doesn't work,
we should make it work) but rather whether any user-defined
LSB_DISTRO_ADJUST should be applied before checking if the host distro
is based on Debian/Ubuntu or not.
It would help to be a little more specific with the background. Having looked at
the code, we have two lsb functions, one in base.bbclass and one in
oe/lib/lsb.py. The one in base.bbclass is a wrapper which uses
LSB_DISTRO_ADJUST.

As far as I know, we don't use LSB_DISTRO_ADJUST in core at all. I suspect it
should really probably be added to the lsb.py function in most cases. Is there
any documentation or other info about when it should be applied and when it
should not?
Adding LSB_DISTRO_ADJUST directly to lsb.py would be fine I think.
Personally I use LSB_DISTRO_ADJUST to map Linux Mint to Ubuntu. Linux
Mint is binary compatible with Ubuntu (created from Ubuntu package
feeds). The LSB_DISTRO_ADJUST mapping allows native sstate from a
build server running Ubuntu to be reused on a developer laptop running
Linux Mint.

https://github.com/lgirdk/meta-mng/blob/ofw/conf/distro/include/mng-sstate.inc

If the make 4.2.1 sanity check were to include LSB_DISTRO_ADJUST then
(for me at least) it would suppress unnecessary warnings when running
on Linux Mint (ie with the Ubuntu version of make). But in general, if
we give users a method to adjust how their host distro is identified
then we should enable it consistently unless there's a clear reason
not to.

Join {openembedded-core@lists.openembedded.org to automatically receive all group messages.