Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Feb 2023 16:40:26 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        "Simon J. Gerraty" <sjg@juniper.net>
Cc:        Bryan Drewery <bdrewery@FreeBSD.org>, Current FreeBSD <freebsd-current@FreeBSD.org>, Peter <pmc@citylink.dinoex.sub.org>
Subject:   Re: FYI: Why META_MODE rebuilds so much for building again after installworld (no source changes)
Message-ID:  <76FA98EF-6184-4D7E-A01F-0EE8117D0D10@yahoo.com>
In-Reply-To: <10819.1677108389@kaos.jnpr.net>
References:  <B74790D9-FBC2-4818-BEAF-34E5B705C460@yahoo.com> <3345EBA5-A09C-4E3F-B94D-39F57F56BDBB@yahoo.com> <DB0C7B41-2101-4C5C-BFC8-3C95CC0B9F6F@yahoo.com> <73088.1611797582@kaos.jnpr.net> <CB7040D0-3BF4-496F-A54F-87E5378016E0@yahoo.com> <F6BF110D-7855-4A10-A53F-52B34282234F@yahoo.com> <10819.1677108389@kaos.jnpr.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Feb 22, 2023, at 15:26, Simon J. Gerraty <sjg@juniper.net> wrote:

>>>>>> The timestamp on . . ./tmp/legacy/usr/sbin/rm is not
>>>>>> actually relevant to if libc++.a needs to be rebuilt.
>>>>=20
>>>> True.
>>>> If there is nothing under .../tmp/legacy that should be counted you =
can
>>>> just:
>>>>=20
>>>> .MAKE.META_IGNORE_PATHS +=3D that path
>>=20
>> Was that supposed to be ("." vs. "_"):
>>=20
>> .MAKE.META.IGNORE_PATHS +=3D that path
>=20
> Yes, sorry.

Thanks for the information.

> strings `which bmake` | grep META.IGNORE
> .MAKE.META.IGNORE_PATHS
> .MAKE.META.IGNORE_PATTERNS
> ${.MAKE.META.IGNORE_PATHS:O:u:tA}

The -dM output's "is newer than the target" lines
show the path from before the above transformation.
(The :tA results possibly could use another
sort/uniq sequence for the realpath results?)

I've been pondering things because, so far, my
attempts to experiment with this has failed to make
the -dM output lines for the paths go away and it
still does the related build activity. I've been
trying the likes of:

.for ignore_legacy_tool in awk cap_mkdb cat cp crunchgen crunchide dd =
egrep env file2c gencat grep gzip jot lex lb ln m4 mkcsmapper mktemp mv =
patch realpath rm sed sh touch truncate uudecode uuencode
xargs
.MAKE.META.IGNORE_PATHS+=3D =
${OBJTOP}/tmp/legacy/usr/sbin/${ignore_legacy_tool}
.endfor
.for ignore_other_tool in ctfconvert objcopy nm
.MAKE.META.IGNORE_PATHS+=3D ${OBJTOP}/tmp/usr/bin/${ignore_other_tool}
.endfor

in what I use for make.conf via:

__MAKE_CONF=3D/usr/home/root/src.configs/make.conf

It is using paths that match the -dM output lines ( sbin
use despite sbin -> ../bin being a symbolic link).

Note: WORLDTMP is not defined that early, thus the ${OBJTOP}/tmp
use.

-V.MAKE.META.IGNORE_PATHS is showing the paths I would
expect, matching the -dM lines.

So I'm still pondering what might be going on.

> .MAKE.META.IGNORE_FILTER
> ${.MAKE.META.IGNORE_PATTERNS:@m@${.p.:M$m}@}


=3D=3D=3D
Mark Millard
marklmi at yahoo.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?76FA98EF-6184-4D7E-A01F-0EE8117D0D10>