Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Nov 2017 18:36:09 -0700
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Cc:        peter@freebsd.org
Subject:   Re: svn commit: r325416 - head/share/mk
Message-ID:  <2264A0FB-9B5B-4E38-88D7-D0F7B3C0C3CC@FreeBSD.org>
In-Reply-To: <2AE40414-7976-4B43-90B2-41C32026A2B7@FreeBSD.org>
References:  <201711050012.vA50C6m8042948@repo.freebsd.org> <2AE40414-7976-4B43-90B2-41C32026A2B7@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help


> On Nov 4, 2017, at 18:27, Bryan Drewery <bdrewery@FreeBSD.org> wrote:
>=20
> Pretty sure this fixes /etc host files being used in =E2=80=98make distrib=
ution=E2=80=99 (without AUTO_OBJ) as the source files to install to DESTDIR s=
ince many of the etc dirs use NO_OBJ.
> I am away from computer for a while so cannot confirm but some basic tests=
 before I left showed it was possible and Peter has run into such a case.
> I=E2=80=99ll look more when I get home and mail current@ if it did fix it.=
 It would have regressed since the src.sys.obj.mk commit the other day.
>=20

If it wasn=E2=80=99t clear, any such case is definitely fixed by this commit=
 and=20
r325405 would assert it doesn=E2=80=99t happen again.
I=E2=80=99m just not sure if the above is a possible failure case yet.

>=20
> Regards,
> Bryan Drewery
>=20
>> On Nov 4, 2017, at 17:12, Bryan Drewery <bdrewery@FreeBSD.org> wrote:
>>=20
>> Author: bdrewery
>> Date: Sun Nov  5 00:12:05 2017
>> New Revision: 325416
>> URL: https://svnweb.freebsd.org/changeset/base/325416
>>=20
>> Log:
>> Always try to set .OBJDIR, even if AUTO_OBJ is enabled, and fallback to .=
CURDIR.
>>=20
>> When AUTO_OBJ is enabled this change becomes redundant with the auto.obj.=
mk
>> check added in r325404.  However, it is possible that new code is added
>> at some point between src.sys.obj.mk and auto.obj.mk that disables AUTO_O=
BJ.
>> That could leave make with a bogus and unsafe .OBJDIR in some cases.
>>=20
>> Sponsored by:    Dell EMC Isilon
>>=20
>> Modified:
>> head/share/mk/src.sys.obj.mk
>>=20
>> Modified: head/share/mk/src.sys.obj.mk
>> =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/share/mk/src.sys.obj.mk    Sun Nov  5 00:12:02 2017    (r325415)=

>> +++ head/share/mk/src.sys.obj.mk    Sun Nov  5 00:12:05 2017    (r325416)=

>> @@ -154,9 +154,8 @@ MK_AUTO_OBJ:=3D    ${OBJDIR_WRITABLE}
>> .export MK_AUTO_OBJ
>> .endif    # ${MK_AUTO_OBJ} =3D=3D "no" && ...
>>=20
>> -# Assign this directory as .OBJDIR if possible after determining if AUTO=
_OBJ
>> -# can be enabled by default.
>> -.if ${MK_AUTO_OBJ} =3D=3D "no"
>> +# Assign this directory as .OBJDIR if possible.
>> +#
>> # The expected OBJDIR already exists, set it as .OBJDIR.
>> .if !empty(MAKEOBJDIRPREFIX) && exists(${MAKEOBJDIRPREFIX}${.CURDIR})
>> .OBJDIR: ${MAKEOBJDIRPREFIX}${.CURDIR}
>> @@ -169,5 +168,10 @@ MK_AUTO_OBJ:=3D    ${OBJDIR_WRITABLE}
>> .elif ${MAKE_VERSION} <=3D 20170720 && \
>>    ${.CURDIR} =3D=3D ${SRCTOP} && ${.OBJDIR} =3D=3D ${SRCTOP}/
>> .OBJDIR: ${.CURDIR}
>> +.else
>> +# The OBJDIR we wanted does not yet exist, ensure we default to safe .CU=
RDIR
>> +# in case make started with a bogus MAKEOBJDIR, that expanded before OBJ=
TOP
>> +# was set, that happened to match some unexpected directory.  Either
>> +# auto.obj.mk or bsd.obj.mk will create the directory and fix .OBJDIR la=
ter.
>> +.OBJDIR: ${.CURDIR}
>> .endif
>> -.endif    # ${MK_AUTO_OBJ} =3D=3D "no"
>>=20
>=20
>=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2264A0FB-9B5B-4E38-88D7-D0F7B3C0C3CC>