* [RFC] base.bbclass: add make-native to default dependencies
@ 2010-09-20 18:47 Michael Smith
2010-09-20 20:24 ` Khem Raj
0 siblings, 1 reply; 14+ messages in thread
From: Michael Smith @ 2010-09-20 18:47 UTC (permalink / raw)
To: openembedded-devel
In case the build system is running some ancient make, we can just as
easily build our own make (3.82) to get predictable behaviour. Does
something like this make sense?
diff --git a/classes/base.bbclass b/classes/base.bbclass
index b19eb32..5c6d41d 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -71,7 +71,7 @@ def base_deps(d):
if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d):
if (bb.data.getVar('HOST_SYS', d, 1) !=
bb.data.getVar('BUILD_SYS', d, 1)):
- deps += " virtual/${TARGET_PREFIX}gcc virtual/libc "
+ deps += " make-native
virtual/${TARGET_PREFIX}gcc virtual/libc "
elif bb.data.inherits_class('native', d) and \
bb.data.getVar('PN', d, True) not in \
("linux-libc-headers-native",
"quilt-native",
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [RFC] base.bbclass: add make-native to default dependencies
2010-09-20 18:47 [RFC] base.bbclass: add make-native to default dependencies Michael Smith
@ 2010-09-20 20:24 ` Khem Raj
2010-09-21 13:58 ` Michael Smith
0 siblings, 1 reply; 14+ messages in thread
From: Khem Raj @ 2010-09-20 20:24 UTC (permalink / raw)
To: openembedded-devel
On Mon, Sep 20, 2010 at 11:47 AM, Michael Smith <msmith@cbnco.com> wrote:
> In case the build system is running some ancient make, we can just as easily
> build our own make (3.82) to get predictable behaviour. Does something like
> this make sense?
although it does but make 3.82 is not usable out of box yet.
so people might find surprises. 3.81 would be ok.
>
> diff --git a/classes/base.bbclass b/classes/base.bbclass
> index b19eb32..5c6d41d 100644
> --- a/classes/base.bbclass
> +++ b/classes/base.bbclass
> @@ -71,7 +71,7 @@ def base_deps(d):
> if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d):
> if (bb.data.getVar('HOST_SYS', d, 1) !=
> bb.data.getVar('BUILD_SYS', d, 1)):
> - deps += " virtual/${TARGET_PREFIX}gcc virtual/libc "
> + deps += " make-native virtual/${TARGET_PREFIX}gcc
> virtual/libc "
> elif bb.data.inherits_class('native', d) and \
> bb.data.getVar('PN', d, True) not in \
> ("linux-libc-headers-native", "quilt-native",
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
--
-Khem
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [RFC] base.bbclass: add make-native to default dependencies
2010-09-20 20:24 ` Khem Raj
@ 2010-09-21 13:58 ` Michael Smith
2010-09-21 15:47 ` Khem Raj
2010-09-21 17:33 ` Holger Freyther
0 siblings, 2 replies; 14+ messages in thread
From: Michael Smith @ 2010-09-21 13:58 UTC (permalink / raw)
To: openembedded-devel
Khem Raj wrote:
> although it does but make 3.82 is not usable out of box yet.
> so people might find surprises. 3.81 would be ok.
I could add a DEFAULT_PREFERENCE = "-1" to the 3.82 recipe and mention
the packages that don't build with it in a comment. Do you remember
which packages fail to build with 3.82?
>> diff --git a/classes/base.bbclass b/classes/base.bbclass
>> index b19eb32..5c6d41d 100644
>> --- a/classes/base.bbclass
>> +++ b/classes/base.bbclass
>> @@ -71,7 +71,7 @@ def base_deps(d):
>> if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d):
>> if (bb.data.getVar('HOST_SYS', d, 1) !=
>> bb.data.getVar('BUILD_SYS', d, 1)):
>> - deps += " virtual/${TARGET_PREFIX}gcc virtual/libc "
>> + deps += " make-native virtual/${TARGET_PREFIX}gcc
>> virtual/libc "
>> elif bb.data.inherits_class('native', d) and \
>> bb.data.getVar('PN', d, True) not in \
>> ("linux-libc-headers-native", "quilt-native",
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [RFC] base.bbclass: add make-native to default dependencies
2010-09-21 13:58 ` Michael Smith
@ 2010-09-21 15:47 ` Khem Raj
2010-09-21 16:25 ` Michael Smith
2010-09-21 17:33 ` Holger Freyther
1 sibling, 1 reply; 14+ messages in thread
From: Khem Raj @ 2010-09-21 15:47 UTC (permalink / raw)
To: openembedded-devel
On Tue, Sep 21, 2010 at 6:58 AM, Michael Smith <msmith@cbnco.com> wrote:
> Khem Raj wrote:
>
>> although it does but make 3.82 is not usable out of box yet.
>> so people might find surprises. 3.81 would be ok.
>
I hit eglibc there may be more.
> I could add a DEFAULT_PREFERENCE = "-1" to the 3.82 recipe and mention the
> packages that don't build with it in a comment. Do you remember which
> packages fail to build with 3.82?
>
>>> diff --git a/classes/base.bbclass b/classes/base.bbclass
>>> index b19eb32..5c6d41d 100644
>>> --- a/classes/base.bbclass
>>> +++ b/classes/base.bbclass
>>> @@ -71,7 +71,7 @@ def base_deps(d):
>>> if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d):
>>> if (bb.data.getVar('HOST_SYS', d, 1) !=
>>> bb.data.getVar('BUILD_SYS', d, 1)):
>>> - deps += " virtual/${TARGET_PREFIX}gcc
>>> virtual/libc "
>>> + deps += " make-native virtual/${TARGET_PREFIX}gcc
>>> virtual/libc "
>>> elif bb.data.inherits_class('native', d) and \
>>> bb.data.getVar('PN', d, True) not in \
>>> ("linux-libc-headers-native",
>>> "quilt-native",
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
--
-Khem
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [RFC] base.bbclass: add make-native to default dependencies
2010-09-21 15:47 ` Khem Raj
@ 2010-09-21 16:25 ` Michael Smith
0 siblings, 0 replies; 14+ messages in thread
From: Michael Smith @ 2010-09-21 16:25 UTC (permalink / raw)
To: openembedded-devel
Khem Raj wrote:
> On Tue, Sep 21, 2010 at 6:58 AM, Michael Smith <msmith@cbnco.com> wrote:
>> Khem Raj wrote:
>>
>>> although it does but make 3.82 is not usable out of box yet.
>>> so people might find surprises. 3.81 would be ok.
>
> I hit eglibc there may be more.
Hmm, OK. The patch below wouldn't affect eglibc's dependencies, so we'd
still have to change eglibc.inc and eglibc-initial.inc to depend on
make-native, or people with make 3.82 on their host system will be
unable to build eglibc.
Or, apply a patch to every version of eglibc to fix the build with make
3.82.
Which do you prefer? I can only really test glibc 2.9, but adding
make-native to the DEPENDS in glibc.inc/glibc-initial.inc should work
about the same as doing it in eglibc.
Mike
>>>> diff --git a/classes/base.bbclass b/classes/base.bbclass
>>>> index b19eb32..5c6d41d 100644
>>>> --- a/classes/base.bbclass
>>>> +++ b/classes/base.bbclass
>>>> @@ -71,7 +71,7 @@ def base_deps(d):
>>>> if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d):
>>>> if (bb.data.getVar('HOST_SYS', d, 1) !=
>>>> bb.data.getVar('BUILD_SYS', d, 1)):
>>>> - deps += " virtual/${TARGET_PREFIX}gcc
>>>> virtual/libc "
>>>> + deps += " make-native virtual/${TARGET_PREFIX}gcc
>>>> virtual/libc "
>>>> elif bb.data.inherits_class('native', d) and \
>>>> bb.data.getVar('PN', d, True) not in \
>>>> ("linux-libc-headers-native",
>>>> "quilt-native",
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [RFC] base.bbclass: add make-native to default dependencies
2010-09-21 13:58 ` Michael Smith
2010-09-21 15:47 ` Khem Raj
@ 2010-09-21 17:33 ` Holger Freyther
2010-09-21 20:54 ` Michael Smith
1 sibling, 1 reply; 14+ messages in thread
From: Holger Freyther @ 2010-09-21 17:33 UTC (permalink / raw)
To: openembedded-devel
On 09/21/2010 09:58 PM, Michael Smith wrote:
> Khem Raj wrote:
>
>> although it does but make 3.82 is not usable out of box yet.
>> so people might find surprises. 3.81 would be ok.
>
> I could add a DEFAULT_PREFERENCE = "-1" to the 3.82 recipe and mention the
> packages that don't build with it in a comment. Do you remember which packages
> fail to build with 3.82?
well, busybox, glibc, gst* have failed and were fixed. In general I have hit:
- mixing 'rule %rule:', newer GNU make refuses to match that
(busybox, glibc)
- spaces vs. tab. e.g. using 8 spaces instead of a tab (gst)
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [RFC] base.bbclass: add make-native to default dependencies
2010-09-21 17:33 ` Holger Freyther
@ 2010-09-21 20:54 ` Michael Smith
2010-09-21 23:34 ` Khem Raj
0 siblings, 1 reply; 14+ messages in thread
From: Michael Smith @ 2010-09-21 20:54 UTC (permalink / raw)
To: openembedded-devel
Holger Freyther wrote:
> On 09/21/2010 09:58 PM, Michael Smith wrote:
>> I could add a DEFAULT_PREFERENCE = "-1" to the 3.82 recipe and mention the
>> packages that don't build with it in a comment. Do you remember which packages
>> fail to build with 3.82?
>
> well, busybox, glibc, gst* have failed and were fixed. In general I have hit:
>
> - mixing 'rule %rule:', newer GNU make refuses to match that
> (busybox, glibc)
> - spaces vs. tab. e.g. using 8 spaces instead of a tab (gst)
Maybe it'd be easier to fix the affected packages, then. Would you be
opposed to make-native being a default dep? The next testing cycle would
probably spot any remaining fallout from 3.82.
Mike
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [RFC] base.bbclass: add make-native to default dependencies
2010-09-21 20:54 ` Michael Smith
@ 2010-09-21 23:34 ` Khem Raj
2010-09-24 19:39 ` [PATCH 1/4] make 3.82: set DEFAULT_PREFERENCE = "-1" Michael Smith
0 siblings, 1 reply; 14+ messages in thread
From: Khem Raj @ 2010-09-21 23:34 UTC (permalink / raw)
To: openembedded-devel
On Tue, Sep 21, 2010 at 1:54 PM, Michael Smith <msmith@cbnco.com> wrote:
> Holger Freyther wrote:
>>
>> On 09/21/2010 09:58 PM, Michael Smith wrote:
>>>
>>> I could add a DEFAULT_PREFERENCE = "-1" to the 3.82 recipe and mention
>>> the
>>> packages that don't build with it in a comment. Do you remember which
>>> packages
>>> fail to build with 3.82?
>>
>> well, busybox, glibc, gst* have failed and were fixed. In general I have
>> hit:
>>
>> - mixing 'rule %rule:', newer GNU make refuses to match that
>> (busybox, glibc)
>> - spaces vs. tab. e.g. using 8 spaces instead of a tab (gst)
>
> Maybe it'd be easier to fix the affected packages, then. Would you be
> opposed to make-native being a default dep? The next testing cycle would
> probably spot any remaining fallout from 3.82.
>
make is a core component. We have enough fallout to fix
which is not make related. this will add to it. and make
3.82 native recipe is there. I am just not ready to make
it default yet.
> Mike
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
--
-Khem
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 1/4] make 3.82: set DEFAULT_PREFERENCE = "-1"
2010-09-21 23:34 ` Khem Raj
@ 2010-09-24 19:39 ` Michael Smith
2010-09-24 19:39 ` [PATCH 2/4] base.bbclass: add make-native to default dependencies Michael Smith
0 siblings, 1 reply; 14+ messages in thread
From: Michael Smith @ 2010-09-24 19:39 UTC (permalink / raw)
To: openembedded-devel
This version has introduced several backwards incompatibilities and some
packages are known not to build with 3.82. In particular:
- glibc-initial fails in do_install when prefix="".
- eglibc manual/Makefile has not yet been patched (see 3a06f50f)
Signed-off-by: Michael Smith <msmith@cbnco.com>
---
recipes/make/make_3.82.bb | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/recipes/make/make_3.82.bb b/recipes/make/make_3.82.bb
index 3cdc0a0..86c58d6 100644
--- a/recipes/make/make_3.82.bb
+++ b/recipes/make/make_3.82.bb
@@ -1,5 +1,8 @@
require make.inc
+# Stock eglibc fails to build with make 3.82.
+DEFAULT_PREFERENCE = "-1"
+
BBCLASSEXTEND = "native"
SRC_URI[md5sum] = "1a11100f3c63fcf5753818e59d63088f"
SRC_URI[sha256sum] = "e2c1a73f179c40c71e2fe8abf8a8a0688b8499538512984da4a76958d0402966"
--
1.7.0.4
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/4] base.bbclass: add make-native to default dependencies
2010-09-24 19:39 ` [PATCH 1/4] make 3.82: set DEFAULT_PREFERENCE = "-1" Michael Smith
@ 2010-09-24 19:39 ` Michael Smith
2010-09-24 19:39 ` [PATCH 3/4] glibc, glibc-initial: depend on make-native Michael Smith
2010-09-25 8:41 ` [PATCH 2/4] base.bbclass: add make-native to default dependencies Paul Menzel
0 siblings, 2 replies; 14+ messages in thread
From: Michael Smith @ 2010-09-24 19:39 UTC (permalink / raw)
To: openembedded-devel
This should work around package incompatibilities with whatever version
of make is installed on the build system.
Signed-off-by: Michael Smith <msmith@cbnco.com>
---
classes/base.bbclass | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/classes/base.bbclass b/classes/base.bbclass
index b19eb32..60e6bc8 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -71,7 +71,8 @@ def base_deps(d):
if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d):
if (bb.data.getVar('HOST_SYS', d, 1) !=
bb.data.getVar('BUILD_SYS', d, 1)):
- deps += " virtual/${TARGET_PREFIX}gcc virtual/libc "
+ deps += (" virtual/${TARGET_PREFIX}gcc virtual/libc "
+ "make-native")
elif bb.data.inherits_class('native', d) and \
bb.data.getVar('PN', d, True) not in \
("linux-libc-headers-native", "quilt-native",
--
1.7.0.4
^ permalink raw reply related [flat|nested] 14+ messages in thread* [PATCH 3/4] glibc, glibc-initial: depend on make-native
2010-09-24 19:39 ` [PATCH 2/4] base.bbclass: add make-native to default dependencies Michael Smith
@ 2010-09-24 19:39 ` Michael Smith
2010-09-24 19:39 ` [PATCH 4/4] eglibc, eglibc-initial: " Michael Smith
2010-09-25 8:41 ` [PATCH 2/4] base.bbclass: add make-native to default dependencies Paul Menzel
1 sibling, 1 reply; 14+ messages in thread
From: Michael Smith @ 2010-09-24 19:39 UTC (permalink / raw)
To: openembedded-devel
In case the version of make installed on the build host is incompatible,
we'll use make-native.
Signed-off-by: Michael Smith <msmith@cbnco.com>
---
recipes/glibc/glibc-initial.inc | 2 +-
recipes/glibc/glibc.inc | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/recipes/glibc/glibc-initial.inc b/recipes/glibc/glibc-initial.inc
index effebf1..c95a161 100644
--- a/recipes/glibc/glibc-initial.inc
+++ b/recipes/glibc/glibc-initial.inc
@@ -1,5 +1,5 @@
SECTION = "libs"
-DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers make-native"
PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
PACKAGES = ""
diff --git a/recipes/glibc/glibc.inc b/recipes/glibc/glibc.inc
index 643ebd3..38251bb 100644
--- a/recipes/glibc/glibc.inc
+++ b/recipes/glibc/glibc.inc
@@ -4,7 +4,9 @@ SECTION = "libs"
PRIORITY = "required"
LICENSE = "LGPL"
# nptl needs unwind support in gcc, which can't be built without glibc.
-DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate \
+ linux-libc-headers \
+ make-native"
#this leads to circular deps, so lets not add it yet
#RDEPENDS_ldd += " bash"
PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
--
1.7.0.4
^ permalink raw reply related [flat|nested] 14+ messages in thread* [PATCH 4/4] eglibc, eglibc-initial: depend on make-native
2010-09-24 19:39 ` [PATCH 3/4] glibc, glibc-initial: depend on make-native Michael Smith
@ 2010-09-24 19:39 ` Michael Smith
0 siblings, 0 replies; 14+ messages in thread
From: Michael Smith @ 2010-09-24 19:39 UTC (permalink / raw)
To: openembedded-devel
In case the version of make installed on the build host is incompatible,
we'll use make-native.
Signed-off-by: Michael Smith <msmith@cbnco.com>
---
recipes/eglibc/eglibc-initial.inc | 2 +-
recipes/eglibc/eglibc.inc | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/recipes/eglibc/eglibc-initial.inc b/recipes/eglibc/eglibc-initial.inc
index eb765df..4384ed4 100644
--- a/recipes/eglibc/eglibc-initial.inc
+++ b/recipes/eglibc/eglibc-initial.inc
@@ -1,5 +1,5 @@
SECTION = "libs"
-DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial"
+DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial make-native"
PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
PACKAGES = ""
diff --git a/recipes/eglibc/eglibc.inc b/recipes/eglibc/eglibc.inc
index 66bb90e..78e03c4 100644
--- a/recipes/eglibc/eglibc.inc
+++ b/recipes/eglibc/eglibc.inc
@@ -5,7 +5,9 @@ PRIORITY = "required"
LICENSE = "LGPL"
INC_PR = "r11"
# nptl needs unwind support in gcc, which can't be built without glibc.
-DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate \
+ linux-libc-headers \
+ make-native"
#this leads to circular deps, so lets not add it yet
#RDEPENDS_ldd += " bash"
# nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
--
1.7.0.4
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 2/4] base.bbclass: add make-native to default dependencies
2010-09-24 19:39 ` [PATCH 2/4] base.bbclass: add make-native to default dependencies Michael Smith
2010-09-24 19:39 ` [PATCH 3/4] glibc, glibc-initial: depend on make-native Michael Smith
@ 2010-09-25 8:41 ` Paul Menzel
2010-09-25 13:58 ` Michael Smith
1 sibling, 1 reply; 14+ messages in thread
From: Paul Menzel @ 2010-09-25 8:41 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 1092 bytes --]
Am Freitag, den 24.09.2010, 15:39 -0400 schrieb Michael Smith:
> This should work around package incompatibilities with whatever version
> of make is installed on the build system.
>
> Signed-off-by: Michael Smith <msmith@cbnco.com>
> ---
> classes/base.bbclass | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/classes/base.bbclass b/classes/base.bbclass
> index b19eb32..60e6bc8 100644
> --- a/classes/base.bbclass
> +++ b/classes/base.bbclass
> @@ -71,7 +71,8 @@ def base_deps(d):
> if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d):
> if (bb.data.getVar('HOST_SYS', d, 1) !=
> bb.data.getVar('BUILD_SYS', d, 1)):
> - deps += " virtual/${TARGET_PREFIX}gcc virtual/libc "
> + deps += (" virtual/${TARGET_PREFIX}gcc virtual/libc "
> + "make-native")
Are the parentheses »()« needed? Is it to prevent using »\« for the line
break?
> elif bb.data.inherits_class('native', d) and \
> bb.data.getVar('PN', d, True) not in \
> ("linux-libc-headers-native", "quilt-native",
Thanks,
Paul
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2010-09-25 13:58 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-20 18:47 [RFC] base.bbclass: add make-native to default dependencies Michael Smith
2010-09-20 20:24 ` Khem Raj
2010-09-21 13:58 ` Michael Smith
2010-09-21 15:47 ` Khem Raj
2010-09-21 16:25 ` Michael Smith
2010-09-21 17:33 ` Holger Freyther
2010-09-21 20:54 ` Michael Smith
2010-09-21 23:34 ` Khem Raj
2010-09-24 19:39 ` [PATCH 1/4] make 3.82: set DEFAULT_PREFERENCE = "-1" Michael Smith
2010-09-24 19:39 ` [PATCH 2/4] base.bbclass: add make-native to default dependencies Michael Smith
2010-09-24 19:39 ` [PATCH 3/4] glibc, glibc-initial: depend on make-native Michael Smith
2010-09-24 19:39 ` [PATCH 4/4] eglibc, eglibc-initial: " Michael Smith
2010-09-25 8:41 ` [PATCH 2/4] base.bbclass: add make-native to default dependencies Paul Menzel
2010-09-25 13:58 ` Michael Smith
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.