Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Feb 2023 17:18:45 -0800
From:      "Simon J. Gerraty" <sjg@juniper.net>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        Bryan Drewery <bdrewery@FreeBSD.org>, Current FreeBSD <freebsd-current@FreeBSD.org>, Peter <pmc@citylink.dinoex.sub.org>, <sjg@juniper.net>
Subject:   Re: FYI: Why META_MODE rebuilds so much for building again after installworld (no source changes)
Message-ID:  <29887.1677115125@kaos.jnpr.net>
In-Reply-To: <76FA98EF-6184-4D7E-A01F-0EE8117D0D10@yahoo.com>
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> <76FA98EF-6184-4D7E-A01F-0EE8117D0D10@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Mark Millard <marklmi@yahoo.com> wrote:

> 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?)

That indicates the above IGNOREs are not working.

> 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 eg=
rep env file2c gencat grep gzip jot lex lb ln m4 mkcsmapper mktemp mv patc=
h realpath rm sed sh touch truncate uudecode uuencode
> xargs

Is there anything under ${OBJTOP}/tmp that you don't want to ignore?
Otherwise you could simply use

.MAKE.META.IGNORE_PATHS+=3D ${OBJTOP}/tmp/

You might need ${OBJTOP:tA}/tmp/
or both.

> .MAKE.META.IGNORE_PATHS+=3D ${OBJTOP}/tmp/legacy/usr/sbin/${ignore_legac=
y_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.

Do you have example?
I really need to add some unit-tests for these...




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?29887.1677115125>