Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Mar 2017 12:24:14 -0800
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        "Simon J. Gerraty" <sjg@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r314808 - in head: contrib/bmake contrib/bmake/PSD.doc contrib/bmake/mk contrib/bmake/unit-tests usr.bin/bmake
Message-ID:  <796c4d4e-db18-d50d-0811-4a8a15f569e1@FreeBSD.org>
In-Reply-To: <201703062302.v26N2Xt6009979@repo.freebsd.org>
References:  <201703062302.v26N2Xt6009979@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--eKjju3IAj3dcJhI85bNfFslTAGThwSesq
Content-Type: multipart/mixed; boundary="1qPsnRGRruhs51H01jasOWHN6gnXXg3Hw";
 protected-headers="v1"
From: Bryan Drewery <bdrewery@FreeBSD.org>
To: "Simon J. Gerraty" <sjg@FreeBSD.org>, src-committers@freebsd.org,
 svn-src-all@freebsd.org, svn-src-head@freebsd.org
Message-ID: <796c4d4e-db18-d50d-0811-4a8a15f569e1@FreeBSD.org>
Subject: Re: svn commit: r314808 - in head: contrib/bmake
 contrib/bmake/PSD.doc contrib/bmake/mk contrib/bmake/unit-tests usr.bin/bmake
References: <201703062302.v26N2Xt6009979@repo.freebsd.org>
In-Reply-To: <201703062302.v26N2Xt6009979@repo.freebsd.org>

--1qPsnRGRruhs51H01jasOWHN6gnXXg3Hw
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 3/6/17 3:02 PM, Simon J. Gerraty wrote:
> Author: sjg
> Date: Mon Mar  6 23:02:33 2017
> New Revision: 314808
> URL: https://svnweb.freebsd.org/changeset/base/314808
>=20
> Log:
>   Merge bmake-20170301
>=20
> Modified:
>   head/contrib/bmake/ChangeLog
>   head/contrib/bmake/Makefile
>   head/contrib/bmake/PSD.doc/tutorial.ms
>   head/contrib/bmake/bmake.1
>   head/contrib/bmake/bmake.cat1
>   head/contrib/bmake/dir.c
>   head/contrib/bmake/main.c
>   head/contrib/bmake/make.1
>   head/contrib/bmake/meta.c
>   head/contrib/bmake/mk/ChangeLog
>   head/contrib/bmake/mk/dirdeps.mk
>   head/contrib/bmake/mk/dpadd.mk
>   head/contrib/bmake/mk/install-mk
>   head/contrib/bmake/mk/meta.stage.mk
>   head/contrib/bmake/mk/meta2deps.py
>   head/contrib/bmake/mk/prog.mk
>   head/contrib/bmake/mk/subdir.mk
>   head/contrib/bmake/mk/sys.mk
>   head/contrib/bmake/mk/sys.vars.mk
>   head/contrib/bmake/os.sh
>   head/contrib/bmake/parse.c
>   head/contrib/bmake/unit-tests/varmisc.exp
>   head/contrib/bmake/unit-tests/varmisc.mk
>   head/contrib/bmake/var.c
>   head/usr.bin/bmake/Makefile
> Directory Properties:
>   head/contrib/bmake/   (props changed)
>=20
> Modified: head/contrib/bmake/ChangeLog
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/contrib/bmake/ChangeLog	Mon Mar  6 22:46:49 2017	(r314807)
> +++ head/contrib/bmake/ChangeLog	Mon Mar  6 23:02:33 2017	(r314808)
> @@ -1,3 +1,32 @@
> +2017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
> +
> +	* Makefile (_MAKE_VERSION): 20170301
> +	  Merge with NetBSD make, pick up
> +	  o main.c: use -C arg as is rather than getcwd()
> +	    if they identify the same directory.
> +

This change is broken for relative paths specified to -C.  I had just
convinced someone that -C was flawless last week and now it's actually
broken!

> ~/git/freebsd/lib/libthr # make -C ../libnetbsd obj
> /usr/obj../libnetbsd created for ../libnetbsd
> ~/git/freebsd/lib/libthr # rm -rf /usr/obj../libnetbsd
> ~/git/freebsd/lib/libthr # make -C ../libthr -V .OBJDIR
> make: "../libthr/../libthr/Makefile" line 14: Could not find src.opts.m=
k
> make: "../libthr/../libthr/Makefile" line 55: Malformed conditional (${=
MK_INSTALLLIB} !=3D "no")
> make: "../libthr/../libthr/Makefile" line 61: Malformed conditional (${=
MK_PROFILE} !=3D "no")
> make: "../libthr/../libthr/Makefile" line 65: Malformed conditional (${=
MK_TESTS} !=3D "no")
> make: Fatal errors encountered -- cannot continue
> make: stopped in ../libthr
> ~/git/freebsd/lib/libthr # make -C ../libnetbsd  -V .OBJDIR
> make: "/usr/share/mk/bsd.obj.mk" line 1: here
> ../libnetbsd/../libnetbsd
> ~/git/freebsd/lib/libthr # make -m .../share/mk -C ../libnetbsd  -V .OB=
JDIR
> make: "/root/git/freebsd/share/mk/bsd.obj.mk" line 45: OBJDIR: ../libne=
tbsd/../libnetbsd
> make: "/root/git/freebsd/share/mk/bsd.obj.mk" line 46: CURDIR: ../libne=
tbsd
> ../libnetbsd/../libnetbsd

2 problems:
1. .OBJDIR is somehow duplicate ${.CURDIR}${.CURDIR}
2. The default MAKESYSPATH of .../share/mk doesn't work with -C .., it
ends up reaching out to /usr/share/mk.  An explicit -m works though.

Reverting it:

> ~/git/freebsd/lib/libthr # make -C ../libnetbsd  -V .OBJDIR
> make: "/root/git/freebsd/share/mk/bsd.obj.mk" line 45: OBJDIR: /root/gi=
t/freebsd/lib/libnetbsd
> make: "/root/git/freebsd/share/mk/bsd.obj.mk" line 46: CURDIR: /root/gi=
t/freebsd/lib/libnetbsd
> /root/git/freebsd/lib/libnetbsd


Can this piece please be reverted for now while relative paths get more
testing?

> diff --git contrib/bmake/main.c contrib/bmake/main.c
> index 087438927355..870eefd6e591 100644
> --- contrib/bmake/main.c
> +++ contrib/bmake/main.c
> @@ -389,6 +389,7 @@ MainParseArgs(int argc, char **argv)
>         int arginc;
>         char *argvalue;
>         const char *getopt_def;
> +       struct stat sa, sb;
>         char *optscan;
>         Boolean inOption, dashDash =3D FALSE;
>         char found_path[MAXPATHLEN + 1];        /* for searching for sy=
s.mk */
> @@ -457,6 +458,11 @@ rearg:
>                                 (void)fprintf(stderr, "%s: %s.\n", prog=
name, strerror(errno));
>                                 exit(2);
>                         }
> +                       if (stat(argvalue, &sa) !=3D -1 &&
> +                           stat(curdir, &sb) !=3D -1 &&
> +                           sa.st_ino =3D=3D sb.st_ino &&
> +                           sa.st_dev =3D=3D sb.st_dev)
> +                               strncpy(curdir, argvalue, MAXPATHLEN);
>                         ignorePWD =3D TRUE;
>                         break;
>                 case 'D':



--=20
Regards,
Bryan Drewery


--1qPsnRGRruhs51H01jasOWHN6gnXXg3Hw--

--eKjju3IAj3dcJhI85bNfFslTAGThwSesq
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQEcBAEBCgAGBQJYwwtvAAoJEDXXcbtuRpfPzJYIAK4zFFzhdyPtYKcxe7yzjl+X
ba0zNhZKIyOlf5Z73jNPeZASAlwTN8cPcawnG3w53smsWuLkykEqKcmNyc+fwrCf
pnyTkMVt8+cJDavD5B15ARpI17mr956taKuEC2OXPuDqBFHxjz+5ajjY10nKvTxL
v8Hq1Sbk5U/0IXzRKI3gSO5KKlcQ7fr5zI355Ih5YF27PfwmlhmYQBD1j+GVxXxK
EA0xbudvJVDqRwT2oeb0zWmzAg+dE6z+NH+VEpjUBo1I4pKDvS/2fnrUiSFvXpTp
n7M6lS65IfWYOBqMF3Sn2r2mYdwQAC+gIEvbE7yz5vBRzirW+6ytg1VyQxPpCMM=
=aMJi
-----END PGP SIGNATURE-----

--eKjju3IAj3dcJhI85bNfFslTAGThwSesq--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?796c4d4e-db18-d50d-0811-4a8a15f569e1>