Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 134070 - glastree makefile broken by GNU make 3.81
Summary: glastree makefile broken by GNU make 3.81
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-22 16:31 UTC by Ole Craig
Modified: 2006-05-23 23:20 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
patch to glastree's makefile (glastree-gmake381.diff,847 bytes, patch)
2006-05-22 16:32 UTC, Ole Craig
Details | Diff
ebuild that uses the patch (glastree-1.04.ebuild,745 bytes, text/plain)
2006-05-22 16:33 UTC, Ole Craig
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ole Craig 2006-05-22 16:31:41 UTC
backslash-newlines within shell commands are handled differently in make 3.81, which breaks the glastree makefile since it uses a perl command to figure out whether Date::Calc is installed and that perl command is spread out over several lines for readability.

workaround 1: use make 3.80-rX

workaround 2: edit the glastree makefile to remove the backslash-newlines, or encapsulate the perl within a makefile variable. See attached ebuild and patchfile.
Comment 1 Ole Craig 2006-05-22 16:32:49 UTC
Created attachment 87291 [details, diff]
patch to glastree's makefile
Comment 2 Ole Craig 2006-05-22 16:33:44 UTC
Created attachment 87292 [details]
ebuild that uses the patch
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-05-23 02:24:47 UTC
No metadata.xml
Comment 4 Ole Craig 2006-05-23 09:02:02 UTC
metadata.xml was missing from the ebuild I modified. I can certainly create one, but I'm not trying to steal Terje Kvernes's package...
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2006-05-23 11:37:11 UTC
(In reply to comment #4)
> metadata.xml was missing from the ebuild I modified. I can certainly create
> one, but I'm not trying to steal Terje Kvernes's package...

Heh, the comment was not aimed at you, please ignore it... :)

Comment 6 Harald van Dijk (RETIRED) gentoo-dev 2006-05-23 22:49:13 UTC
> # backslash-newline splitting of singlequoted commandlines is broken by GNU make 3.81

Actually, it's broken in gmake 3.80, and fixed in 3.81. The current behaviour is what POSIX requires.

Thanks for the patch. A slightly simpler approach though is to move the code so that both with and without the backslashes, the perl code is valid and does the same thing. I did this for 1.04, which is in portage now.
Comment 7 Ole Craig 2006-05-23 23:20:56 UTC
(In reply to comment #6)
> > # backslash-newline splitting of singlequoted commandlines is broken by GNU make 3.81
> 
> Actually, it's broken in gmake 3.80, and fixed in 3.81. The current behaviour
> is what POSIX requires.

Perhaps "broken" is unwarranted (or at least misplaced) verbiage in both our comments. The upstream makefile implicitly expected the previous behaviour (exhibited in every GNU make I've ever had to build a makefile for, which is admittedly far from a canonical list) and as you say POSIX specs different (IMO more confusing) behaviour. When something works for a very long time and then suddenly stops working without internal changes, colloquial usage would hold that something else has broken it. I suppose I should have said something more like "GNU make 3.81 changed the way backslash-newlines are interpreted within singlequoted commandlines, which breaks the upstream makefile." But I was in a hurry and slightly vexed that the damn thing built on one of my gentoo boxes but not the other. 

and, hey, I think the bugreport subject line got it more or less right... so go grind your POSIX axe (POSaxe?) on somebody else. :-)

[...]
> I did this for 1.04, which is in portage now.

Ah, curse my slow mirrors! They prevent me from inspecting this elegant improvement in a timely fashion!

All tongue-in-cheek aside, thanks for updating the ebuild. I'll check it out after I've gotten some sleep.