On May 12, 2025, at 14:02, Nuno Teixeira <edua...@freebsd.org> wrote:

> Oh, thats nice!

sjg provided something (SB_OBJROOT) that
needs to be put to use for the purpose
--but did not put that thing to any use.

This gets back to my notes illustrating
what I have in my environment now for
adjusting .MAKE.META.IGNORE_PATHS . . .

Use of a:

env __MAKE_CONF="/usr/home/root/src.configs/make.conf"

prefix for each make command and the file content
like shown by the cat below:

# cat ~/src.configs/make.conf
# SB_OBJROOT is an addition to share/mk/src.sys.obj.mk
# provided by Simon J. Gerraty for my experimentation
# with this avoidance of some unnecessary build
# activity in META MODE:
#
# # if we didn't get SB_OBJROOT from env,
# # it is handy to set it now, so we can remember it
# .if empty(SB_OBJROOT)
# SB_OBJROOT:= ${OBJROOT}
# .export SB_OBJROOT
# .endif
#
# TARGET.TARGET_ARCH   for amd64 stays as  amd64.amd64 for obj-lib32 (correct 
for the purpose)
# MACHINE.MACHINE_ARCH for amd64 turns into i386.i386  for obj-lib32 (wrong   
for the purpose)
#
IGNORELEGACY_NOSYMLINKPREFIX= 
${SB_OBJROOT}/${TARGET}.${TARGET_ARCH}/tmp/legacy/usr
IGNOREOTHER_NOSYMLINKPREFIX=  ${SB_OBJROOT}/${TARGET}.${TARGET_ARCH}/tmp/usr/bin
#
.for ignore_legacy_tool in awk basename cap_mkdb cat chmod cmp cp crunchgen 
crunchide cut date dd dirname echo egrep env expr fgrep file2c find gencat grep 
gzip head hostname jot lex lb ln ls m4 make mkcsmapper mkdir mktemp mtree mv 
nawk patch realpath rm sed sh sort touch tr truncate uudecode uuencode wc xargs
.MAKE.META.IGNORE_PATHS+= 
${IGNORELEGACY_NOSYMLINKPREFIX}/sbin/${ignore_legacy_tool}
.endfor
#
.for ignore_other_tool in ctfconvert objcopy nm
.MAKE.META.IGNORE_PATHS+= ${IGNOREOTHER_NOSYMLINKPREFIX}/${ignore_other_tool}
.endfor
#
.MAKE.META.IGNORE_PATHS:= ${.MAKE.META.IGNORE_PATHS}


> I will test it and follow procedure:

You will need to set up something like I reference
above in order to put into use in .MAKE.META.IGNORE_PATHS
the SB_OBJROOT that was added by sjg in order to get the
right file paths involved.

Without such the SB_OBJROOT will not be used for anything
and all those commands will be treated as they were before
the addition.

You may be able to use /etc/make.conf instead of using
__MAKE_CONF :

QUOTE of man make.conf :
     The default location of make.conf is /etc/make.conf, though an
     alternative location can be specified in the make(1) variable
     __MAKE_CONF.  You may need to override the location of make.conf if the
     system-wide settings are not suitable for a particular build.  For
     instance, setting __MAKE_CONF to /dev/null effectively resets all build
     controls to their defaults.
END QUOTE

> - apply patch

Also: your variation of what I report above.

The resulting __MAKE_CONF assignment (if any)
should be in place for each make command.

> 1- make buildworld-jobs buildkernel-jobs
> -- bectl create "${RELEASE}"
> -- bectl mount "${RELEASE}" "${BASEDIR}"
> -- make DESTDIR="${BASEDIR}" installkernel
> -- etcupdate -p -D "${BASEDIR}"
> -- make DESTDIR="${BASEDIR}" installworld
> -- etcupdate -D "${BASEDIR}"
> -- bectl activate "${RELEASE}"
> - reboot to new BE
> 2- make buildworld-jobs buildkernel-jobs
> 
> Curious to see what results will I have in phase 2.
> Do I need to set any config variable?
> 
> Cheers,
> 
> 
> Simon J. Gerraty <s...@juniper.net> escreveu (segunda, 12/05/2025 à(s) 19:01):
> Nuno Teixeira <edua...@freebsd.org> wrote:
> > Is any progress going on?
> > I can do some testing on my side too.
> 
> https://reviews.freebsd.org/D50313
> 
> buildworld is happy.
> 
> > > > I think you could use something like this, which should be safe to
> > > > commit:
> > >
> > > I do not have a commit bit. Should I submit a bugzilla
> > > entry or something for its eventual commit?
> > 
> > That's ok.  Confirm it works for you and I'll see if I can break
> > anything with it



===
Mark Millard
marklmi at yahoo.com


Reply via email to