Patchwork eglibc-2.9: allow building with newer GNU make

login
register
mail settings
Submitter Steffen Sledz
Date Sept. 13, 2011, 1:29 p.m.
Message ID <1315920550-3977-1-git-send-email-sledz@dresearch-fe.de>
Download mbox | patch
Permalink /patch/11323/
State Superseded
Headers show

Comments

Steffen Sledz - Sept. 13, 2011, 1:29 p.m.
GNU make >= 3.82 does not allow mixed implicit and normal rules

Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
---
 recipes/eglibc/eglibc-2.9/make-3.82.patch |   16 ++++++++++++++++
 recipes/eglibc/eglibc_2.9.bb              |    3 ++-
 2 files changed, 18 insertions(+), 1 deletions(-)
 create mode 100644 recipes/eglibc/eglibc-2.9/make-3.82.patch
Paul Menzel - Sept. 13, 2011, 2:51 p.m.
Am Dienstag, den 13.09.2011, 15:29 +0200 schrieb Steffen Sledz:
> GNU make >= 3.82 does not allow mixed implicit and normal rules

Did you update your build host?

I think to circumvent such issues `make-native` 3.81 should be used?

> Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
> ---
>  recipes/eglibc/eglibc-2.9/make-3.82.patch |   16 ++++++++++++++++
>  recipes/eglibc/eglibc_2.9.bb              |    3 ++-
>  2 files changed, 18 insertions(+), 1 deletions(-)
>  create mode 100644 recipes/eglibc/eglibc-2.9/make-3.82.patch
> 
> diff --git a/recipes/eglibc/eglibc-2.9/make-3.82.patch b/recipes/eglibc/eglibc-2.9/make-3.82.patch
> new file mode 100644
> index 0000000..b0a45d9
> --- /dev/null
> +++ b/recipes/eglibc/eglibc-2.9/make-3.82.patch
> @@ -0,0 +1,16 @@

The patch header is missing [1].

> +diff -Nurd libc.orig//manual/Makefile libc/manual/Makefile
> +--- libc.orig//manual/Makefile	2011-09-13 14:49:57.428424088 +0200
> ++++ libc/manual/Makefile	2011-09-13 14:50:47.009620484 +0200
> +@@ -242,7 +242,11 @@
> + .PHONY: stubs
> + stubs: $(objpfx)stubs
> + endif
> +-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%:
> ++$(objpfx)stubs ../po/manual.pot:
> ++	$(make-target-directory)
> ++	touch $@
> ++
> ++$(objpfx)stamp%:
> + 	$(make-target-directory)
> + 	touch $@
> + 
> diff --git a/recipes/eglibc/eglibc_2.9.bb b/recipes/eglibc/eglibc_2.9.bb
> index be60ba7..7e0fa55 100644
> --- a/recipes/eglibc/eglibc_2.9.bb
> +++ b/recipes/eglibc/eglibc_2.9.bb
> @@ -3,7 +3,7 @@ require eglibc.inc
>  DEPENDS += "gperf-native"
>  FILESPATHPKG =. "eglibc-svn:"
>  PV = "2.9"
> -PR = "${INC_PR}.10"
> +PR = "${INC_PR}.11"
>  PR_append = "+svnr${SRCPV}"
>  SRCREV="10153"
>  EGLIBC_BRANCH="eglibc-2_9"
> @@ -14,6 +14,7 @@ SRC_URI = "svn://svn.eglibc.org/branches;module=${EGLIBC_BRANCH};proto=svn \
>             file://shorten-build-commands.patch \
>             file://sh4_set_fpscr.patch \
>             file://sh4_local-fpscr_values.patch \
> +           file://make-3.82.patch \
>             file://etc/ld.so.conf \
>             file://generate-supported.mk"
>  S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"


Thanks,

Paul


[1] http://openembedded.org/index.php?title=Commit_Patch_Message_Guidelines
Khem Raj - Sept. 13, 2011, 3:19 p.m.
On Tue, Sep 13, 2011 at 6:29 AM, Steffen Sledz <sledz@dresearch-fe.de> wrote:
> GNU make >= 3.82 does not allow mixed implicit and normal rules
>
> Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
> ---
>  recipes/eglibc/eglibc-2.9/make-3.82.patch |   16 ++++++++++++++++
>  recipes/eglibc/eglibc_2.9.bb              |    3 ++-
>  2 files changed, 18 insertions(+), 1 deletions(-)
>  create mode 100644 recipes/eglibc/eglibc-2.9/make-3.82.patch
>
> diff --git a/recipes/eglibc/eglibc-2.9/make-3.82.patch b/recipes/eglibc/eglibc-2.9/make-3.82.patch
> new file mode 100644
> index 0000000..b0a45d9
> --- /dev/null
> +++ b/recipes/eglibc/eglibc-2.9/make-3.82.patch
> @@ -0,0 +1,16 @@
> +diff -Nurd libc.orig//manual/Makefile libc/manual/Makefile
> +--- libc.orig//manual/Makefile 2011-09-13 14:49:57.428424088 +0200
> ++++ libc/manual/Makefile       2011-09-13 14:50:47.009620484 +0200
> +@@ -242,7 +242,11 @@
> + .PHONY: stubs
> + stubs: $(objpfx)stubs
> + endif
> +-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%:
> ++$(objpfx)stubs ../po/manual.pot:
> ++      $(make-target-directory)
> ++      touch $@
> ++
> ++$(objpfx)stamp%:
> +       $(make-target-directory)
> +       touch $@
> +
> diff --git a/recipes/eglibc/eglibc_2.9.bb b/recipes/eglibc/eglibc_2.9.bb
> index be60ba7..7e0fa55 100644
> --- a/recipes/eglibc/eglibc_2.9.bb
> +++ b/recipes/eglibc/eglibc_2.9.bb
> @@ -3,7 +3,7 @@ require eglibc.inc
>  DEPENDS += "gperf-native"
>  FILESPATHPKG =. "eglibc-svn:"
>  PV = "2.9"
> -PR = "${INC_PR}.10"
> +PR = "${INC_PR}.11"
>  PR_append = "+svnr${SRCPV}"
>  SRCREV="10153"
>  EGLIBC_BRANCH="eglibc-2_9"
> @@ -14,6 +14,7 @@ SRC_URI = "svn://svn.eglibc.org/branches;module=${EGLIBC_BRANCH};proto=svn \
>            file://shorten-build-commands.patch \
>            file://sh4_set_fpscr.patch \
>            file://sh4_local-fpscr_values.patch \
> +           file://make-3.82.patch \
>            file://etc/ld.so.conf \
>            file://generate-supported.mk"
>  S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
> --
> 1.7.3.4
>
>

patch in essence is fine. Address Paul's concern about patch header

Acked-by: Khem Raj <raj.khem@gmail.com>
Steffen Sledz - Sept. 13, 2011, 7:38 p.m.
On 13.09.2011 16:51, Paul Menzel wrote:
> Am Dienstag, den 13.09.2011, 15:29 +0200 schrieb Steffen Sledz:
>> GNU make >= 3.82 does not allow mixed implicit and normal rules
> 
> Did you update your build host?

No. It's a clean setup with oe master and Kaeilos at openSUSE 11.4.

> I think to circumvent such issues `make-native` 3.81 should be used?

So this assumption seems to be wrong.

>> Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de> --- recipes/eglibc/eglibc-2.9/make-3.82.patch |   16 ++++++++++++++++ recipes/eglibc/eglibc_2.9.bb              |    3 ++- 2 files changed, 18 insertions(+), 1 deletions(-) create mode 100644 recipes/eglibc/eglibc-2.9/make-3.82.patch
>> 
>> diff --git a/recipes/eglibc/eglibc-2.9/make-3.82.patch b/recipes/eglibc/eglibc-2.9/make-3.82.patch new file mode 100644 index 0000000..b0a45d9 --- /dev/null +++ b/recipes/eglibc/eglibc-2.9/make-3.82.patch @@ -0,0 +1,16 @@
> 
> The patch header is missing [1].

Hmmm? After reading [1] i could not find what exactly is missing.

>> +diff -Nurd libc.orig//manual/Makefile libc/manual/Makefile +--- libc.orig//manual/Makefile	2011-09-13 14:49:57.428424088 +0200 ++++ libc/manual/Makefile	2011-09-13 14:50:47.009620484 +0200 +@@ -242,7 +242,11 @@ + .PHONY: stubs + stubs: $(objpfx)stubs + endif +-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%: ++$(objpfx)stubs ../po/manual.pot: ++	$(make-target-directory) ++	touch $@ ++ ++$(objpfx)stamp%: + 	$(make-target-directory) + 	touch $@ + diff --git a/recipes/eglibc/eglibc_2.9.bb b/recipes/eglibc/eglibc_2.9.bb index be60ba7..7e0fa55 100644 --- a/recipes/eglibc/eglibc_2.9.bb +++ b/recipes/eglibc/eglibc_2.9.bb @@ -3,7 +3,7 @@ require eglibc.inc DEPENDS += "gperf-native" FILESPATHPKG =. "eglibc-svn:" PV = "2.9" -PR = "${INC_PR}.10" +PR = "${INC_PR}.11" PR_append = "+svnr${SRCPV}" SRCREV="10153" EGLIBC_BRANCH="eglibc-2_9" @@ -14,6 +14,7 @@ SRC_URI = "svn://svn.eglibc.org/branches;module=${EGLIBC_BRANCH};proto=svn \ file://shorten-build-commands.patch \ 
>> file://sh4_set_fpscr.patch \ file://sh4_local-fpscr_values.patch \ +           file://make-3.82.patch \ file://etc/ld.so.conf \ file://generate-supported.mk" S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
> 
> 
> Thanks,
> 
> Paul
> 
> 
> [1] http://openembedded.org/index.php?title=Commit_Patch_Message_Guidelines
> 
> 
> 
> _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Steffen Sledz - Sept. 14, 2011, 2:30 p.m.
On 13.09.2011 21:38, Steffen Sledz wrote:
> On 13.09.2011 16:51, Paul Menzel wrote:
>> Am Dienstag, den 13.09.2011, 15:29 +0200 schrieb Steffen Sledz:
>>> GNU make >= 3.82 does not allow mixed implicit and normal rules
>>
>> Did you update your build host?
> 
> No. It's a clean setup with oe master and Kaeilos at openSUSE 11.4.
> 
>> I think to circumvent such issues `make-native` 3.81 should be used?
> 
> So this assumption seems to be wrong.
> 
>>> Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de> --- recipes/eglibc/eglibc-2.9/make-3.82.patch |   16 ++++++++++++++++ recipes/eglibc/eglibc_2.9.bb              |    3 ++- 2 files changed, 18 insertions(+), 1 deletions(-) create mode 100644 recipes/eglibc/eglibc-2.9/make-3.82.patch
>>>
>>> diff --git a/recipes/eglibc/eglibc-2.9/make-3.82.patch b/recipes/eglibc/eglibc-2.9/make-3.82.patch new file mode 100644 index 0000000..b0a45d9 --- /dev/null +++ b/recipes/eglibc/eglibc-2.9/make-3.82.patch @@ -0,0 +1,16 @@
>>
>> The patch header is missing [1].
> 
> Hmmm? After reading [1] i could not find what exactly is missing.

Does the guidelines require that the patch files itself (make-3.82.patch in this case) need a header (in addition to the commit comment)?

If yes, how do i create such a header? Normally i create the patch with "diff -Nurd".

If no, please enlighten me what is required?

>>> +diff -Nurd libc.orig//manual/Makefile libc/manual/Makefile +--- libc.orig//manual/Makefile	2011-09-13 14:49:57.428424088 +0200 ++++ libc/manual/Makefile	2011-09-13 14:50:47.009620484 +0200 +@@ -242,7 +242,11 @@ + .PHONY: stubs + stubs: $(objpfx)stubs + endif +-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%: ++$(objpfx)stubs ../po/manual.pot: ++	$(make-target-directory) ++	touch $@ ++ ++$(objpfx)stamp%: + 	$(make-target-directory) + 	touch $@ + diff --git a/recipes/eglibc/eglibc_2.9.bb b/recipes/eglibc/eglibc_2.9.bb index be60ba7..7e0fa55 100644 --- a/recipes/eglibc/eglibc_2.9.bb +++ b/recipes/eglibc/eglibc_2.9.bb @@ -3,7 +3,7 @@ require eglibc.inc DEPENDS += "gperf-native" FILESPATHPKG =. "eglibc-svn:" PV = "2.9" -PR = "${INC_PR}.10" +PR = "${INC_PR}.11" PR_append = "+svnr${SRCPV}" SRCREV="10153" EGLIBC_BRANCH="eglibc-2_9" @@ -14,6 +14,7 @@ SRC_URI = "svn://svn.eglibc.org/branches;module=${EGLIBC_BRANCH};proto=svn \ file://shorten-build-commands.patch \ 
>>> file://sh4_set_fpscr.patch \ file://sh4_local-fpscr_values.patch \ +           file://make-3.82.patch \ file://etc/ld.so.conf \ file://generate-supported.mk" S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
>>
>>
>> Thanks,
>>
>> Paul
>>
>>
>> [1] http://openembedded.org/index.php?title=Commit_Patch_Message_Guidelines
>>
>>
>>
>> _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
> 
>
Paul Menzel - Sept. 14, 2011, 2:36 p.m.
Am Mittwoch, den 14.09.2011, 16:30 +0200 schrieb Steffen Sledz:
> On 13.09.2011 21:38, Steffen Sledz wrote:
> > On 13.09.2011 16:51, Paul Menzel wrote:
> >> Am Dienstag, den 13.09.2011, 15:29 +0200 schrieb Steffen Sledz:
> >>> GNU make >= 3.82 does not allow mixed implicit and normal rules
> >>
> >> Did you update your build host?
> > 
> > No. It's a clean setup with oe master and Kaeilos at openSUSE 11.4.
> > 
> >> I think to circumvent such issues `make-native` 3.81 should be used?
> > 
> > So this assumption seems to be wrong.
> > 
> >>> Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de> --- recipes/eglibc/eglibc-2.9/make-3.82.patch |   16 ++++++++++++++++ recipes/eglibc/eglibc_2.9.bb              |    3 ++- 2 files changed, 18 insertions(+), 1 deletions(-) create mode 100644 recipes/eglibc/eglibc-2.9/make-3.82.patch
> >>>
> >>> diff --git a/recipes/eglibc/eglibc-2.9/make-3.82.patch b/recipes/eglibc/eglibc-2.9/make-3.82.patch new file mode 100644 index 0000000..b0a45d9 --- /dev/null +++ b/recipes/eglibc/eglibc-2.9/make-3.82.patch @@ -0,0 +1,16 @@

Thunderbird also messes with the line breaks. Koen had the same problem
and fixed it somehow by manually setting the line width I think.

> >> The patch header is missing [1].
> > 
> > Hmmm? After reading [1] i could not find what exactly is missing.
> 
> Does the guidelines require that the patch files itself (make-3.82.patch in this case) need a header (in addition to the commit comment)?

Yes, that is correct.

> If yes, how do i create such a header? Normally i create the patch with "diff -Nurd".
> 
> If no, please enlighten me what is required?

You can add any text to a diff file above a `---` I think. `patch` can
handle that. But there should be some example in the repositories.

> >>> +diff -Nurd libc.orig//manual/Makefile libc/manual/Makefile +--- libc.orig//manual/Makefile	2011-09-13 14:49:57.428424088 +0200 ++++ libc/manual/Makefile	2011-09-13 14:50:47.009620484 +0200 +@@ -242,7 +242,11 @@ + .PHONY: stubs + stubs: $(objpfx)stubs + endif +-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%: ++$(objpfx)stubs ../po/manual.pot: ++	$(make-target-directory) ++	touch $@ ++ ++$(objpfx)stamp%: + 	$(make-target-directory) + 	touch $@ + diff --git a/recipes/eglibc/eglibc_2.9.bb b/recipes/eglibc/eglibc_2.9.bb index be60ba7..7e0fa55 100644 --- a/recipes/eglibc/eglibc_2.9.bb +++ b/recipes/eglibc/eglibc_2.9.bb @@ -3,7 +3,7 @@ require eglibc.inc DEPENDS += "gperf-native" FILESPATHPKG =. "eglibc-svn:" PV = "2.9" -PR = "${INC_PR}.10" +PR = "${INC_PR}.11" PR_append = "+svnr${SRCPV}" SRCREV="10153" EGLIBC_BRANCH="eglibc-2_9" @@ -14,6 +14,7 @@ SRC_URI = "svn://svn.eglibc.org/branches;module=${EGLIBC_BRANCH};proto=svn \ file://shorten-build-commands.patch \ 
> >>> file://sh4_set_fpscr.patch \ file://sh4_local-fpscr_values.patch \ +           file://make-3.82.patch \ file://etc/ld.so.conf \ file://generate-supported.mk" S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"


Thanks,

Paul


> >> [1] http://openembedded.org/index.php?title=Commit_Patch_Message_Guidelines
Steffen Sledz - Sept. 14, 2011, 2:43 p.m.
On 14.09.2011 16:36, Paul Menzel wrote:
>>>> The patch header is missing [1].
>>>
>>> Hmmm? After reading [1] i could not find what exactly is missing.
>>
>> Does the guidelines require that the patch files itself (make-3.82.patch in this case) need a header (in addition to the commit comment)?
> 
> Yes, that is correct.

It would be very helpful if [1] could be modified in a way that makes clear that it talk about to separate things: the commit message *and* the patch header.

This was totally unclear for me after reading it.

>> If yes, how do i create such a header? Normally i create the patch with "diff -Nurd".
>>
>> If no, please enlighten me what is required?
> 
> You can add any text to a diff file above a `---` I think. `patch` can
> handle that. But there should be some example in the repositories.

OK, i'll create a new version of the commit.

Steffen

[1] http://openembedded.org/index.php?title=Commit_Patch_Message_Guidelines
Paul Menzel - Sept. 14, 2011, 2:58 p.m.
Am Mittwoch, den 14.09.2011, 16:43 +0200 schrieb Steffen Sledz:
> On 14.09.2011 16:36, Paul Menzel wrote:
> >>>> The patch header is missing [1].
> >>>
> >>> Hmmm? After reading [1] i could not find what exactly is missing.
> >>
> >> Does the guidelines require that the patch files itself (make-3.82.patch in this case) need a header (in addition to the commit comment)?
> > 
> > Yes, that is correct.
> 
> It would be very helpful if [1] could be modified in a way that makes clear that it talk about to separate things: the commit message *and* the patch header.
> 
> This was totally unclear for me after reading it.

I remarked that too when the guide lines were reviewed. And it is
explained in the second paragraph in the guideline [1].

        This policy refers both to patches that are being applied by
        recipes as well as commit messages that are part of the source
        control system, usually git. A patch file needs a header in
        order to describe the specific changes that are made within that
        patch, while a commit message describes one or more changes to
        the overall project or system. Both the patch headers and commit
        messages require the same attention and basic details, however
        the purposes of the messages are slightly different. A commit
        message documents all of the changes made as part of a commit,
        while a patch header documents items specific to a single patch.
        In many cases the patch header can also be used as the commit
        message.

Any suggestions are welcome though. And (the lame response) it is a Wiki
so everybody can improve the document.


Thanks,

Paul


> [1] http://openembedded.org/index.php?title=Commit_Patch_Message_Guidelines

Patch

diff --git a/recipes/eglibc/eglibc-2.9/make-3.82.patch b/recipes/eglibc/eglibc-2.9/make-3.82.patch
new file mode 100644
index 0000000..b0a45d9
--- /dev/null
+++ b/recipes/eglibc/eglibc-2.9/make-3.82.patch
@@ -0,0 +1,16 @@ 
+diff -Nurd libc.orig//manual/Makefile libc/manual/Makefile
+--- libc.orig//manual/Makefile	2011-09-13 14:49:57.428424088 +0200
++++ libc/manual/Makefile	2011-09-13 14:50:47.009620484 +0200
+@@ -242,7 +242,11 @@
+ .PHONY: stubs
+ stubs: $(objpfx)stubs
+ endif
+-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%:
++$(objpfx)stubs ../po/manual.pot:
++	$(make-target-directory)
++	touch $@
++
++$(objpfx)stamp%:
+ 	$(make-target-directory)
+ 	touch $@
+ 
diff --git a/recipes/eglibc/eglibc_2.9.bb b/recipes/eglibc/eglibc_2.9.bb
index be60ba7..7e0fa55 100644
--- a/recipes/eglibc/eglibc_2.9.bb
+++ b/recipes/eglibc/eglibc_2.9.bb
@@ -3,7 +3,7 @@  require eglibc.inc
 DEPENDS += "gperf-native"
 FILESPATHPKG =. "eglibc-svn:"
 PV = "2.9"
-PR = "${INC_PR}.10"
+PR = "${INC_PR}.11"
 PR_append = "+svnr${SRCPV}"
 SRCREV="10153"
 EGLIBC_BRANCH="eglibc-2_9"
@@ -14,6 +14,7 @@  SRC_URI = "svn://svn.eglibc.org/branches;module=${EGLIBC_BRANCH};proto=svn \
            file://shorten-build-commands.patch \
            file://sh4_set_fpscr.patch \
            file://sh4_local-fpscr_values.patch \
+           file://make-3.82.patch \
            file://etc/ld.so.conf \
            file://generate-supported.mk"
 S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"