Bug 182821

Summary: devel/gmake strangeness on 10.0 Alpha 4
Product: Ports & Packages Reporter: Edwin Groothuis <edwin>
Component: Individual Port(s)Assignee: autotools
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Edwin Groothuis freebsd_committer freebsd_triage 2013-10-08 03:40:00 UTC
While trying to fix this:
http://pb2.nyi.freebsd.org/bulk/exp-bdrewery-default/2013-08-23_16h05m22s/logs/errors/ngrep-1.45.log

The ports Makefile is attached below, the Makefile in the tar-ball shows:
all:
        echo all/MAKEFLAGS: ${MAKEFLAGS}

That's all. No magic there.


This is how it works on 9.1:
===>  Building for test-1.45
gmake: Warning: File `Makefile' has modification time 39188 s in the future
echo all/MAKEFLAGS:  --jobserver-fds=3,4 -j -- DESTDIR=/usr/home/edwin/port/work/stage SYSTEMVERSION= OSVERSION=901000 OSREL=9.1 OPSYS=FreeBSD ARCH=amd64
all/MAKEFLAGS: --jobserver-fds=3,4 -j -- DESTDIR=/usr/home/edwin/port/work/stage SYSTEMVERSION= OSVERSION=901000 OSREL=9.1 OPSYS=FreeBSD ARCH=amd64

All arguments are sane.


On 10.0 ALPHA 4, it shows:
===>  Building for test-1.45
gmake[1]: Entering directory `/usr/home/edwin/ports/net/test/work/test-1.45'
echo all/MAKEFLAGS: w -- DESTDIR=/usr/home/edwin/ports/net/test/work/stage SYSTEMVERSION= OSVERSION=1000055 OSREL=10.0 OPSYS=FreeBSD ARCH=amd64 .MAKE.LEVEL.ENV=MAKELEVEL
all/MAKEFLAGS: w -- DESTDIR=/usr/home/edwin/ports/net/test/work/stage SYSTEMVERSION= OSVERSION=1000055 OSREL=10.0 OPSYS=FreeBSD ARCH=amd64 .MAKE.LEVEL.ENV=MAKELEVEL
gmake[1]: Leaving directory `/usr/home/edwin/ports/net/test/work/test-1.45'

Now there is a "w" there. And I don't know why....

How-To-Repeat: Use this ports Makefile:

# Created by: David O'Brien (obrien@NUXI.com)
# $FreeBSD: head/net/ngrep/Makefile 327755 2013-09-20 22:10:23Z bapt $

PORTNAME=       test
PORTVERSION=    1.45
CATEGORIES=     net security
MASTER_SITES=   http://www.mavetju.org/~edwin/

MAINTAINER=     edwin@mavetju.org
COMMENT=        Network grep

USES=           gmake

.include <bsd.port.mk>

run make.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-10-21 06:45:00 UTC
Responsible Changed
From-To: freebsd-ports-bugs->autotools

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Tijl Coosemans freebsd_committer freebsd_triage 2013-10-23 15:15:13 UTC
http://www.freebsd.org/cgi/query-pr.cgi?pr=182821

CCing Simon who may know more about this.


If you run "gmake -w" on your Makefile you get the same result for
MAKEFLAGS so I suspect that gmake adds this 'w' to MAKEFLAGS when it
detects it's a submake (or something).  That leaves the question of
why it does that when run from bmake and not from fmake though.
Comment 3 Edwin Groothuis freebsd_committer freebsd_triage 2013-10-24 11:22:35 UTC
State Changed
From-To: open->closed

False alarm.
Comment 4 Simon J. Gerraty 2013-10-25 05:37:00 UTC
On Wed, 23 Oct 2013 16:15:13 +0200, Tijl Coosemans writes:
>http://www.freebsd.org/cgi/query-pr.cgi?pr=182821

>If you run "gmake -w" on your Makefile you get the same result for
>MAKEFLAGS so I suspect that gmake adds this 'w' to MAKEFLAGS when it
>detects it's a submake (or something).  That leaves the question of
>why it does that when run from bmake and not from fmake though.

A number of changes were made to NetBSD's make this year to make it
"interoperate" with gmake in this way (some were prompted by a complaint
from someone in FreeBSD about the variable used to communicate recursion
level). 

So nowwhen gmake runs bmake, or bmake runs gmake they agree on recusion level.
Even -w works the same....

Good or bad? hard to say.