On Sun, Aug 13, 2023 at 02:23:54AM -0700, Mark Millard wrote: > On Aug 13, 2023, at 01:06, Mina Galić <free...@igalic.co> wrote: > > > from IRC, i have learned this is working as designed: > > etcupdate without -B does a build. > > My interpretation of what "build" referred to for > etcupate was way off. I've added the -B's that I > was not using before. > > Thanks for the note! > > > Also, jrtc27 recently made it so bootstrapping, because otherwise > > BUILD_WITH_STRICT_TMPPATH doesn't work: > > https://github.com/freebsd/freebsd-src/commit/d81da4c98328d4ee3fe4c0a85f6874a3c69a1afd > > Yep: that added what leads to the dtc build. > > I still wonder if etcupdate builds more than it needs to > for its specific pruposes when it does do a build: > building dtc in order to complete an etcupdate just seems > time/resource wasting.
It does, but teasing apart what's needed for buildworld/buildkernel and just buildetc is a bunch of work, and better to have something that works inefficiently than something that doesn't work. Patches more than welcome to make it more efficient. However, I will note that 99% of the time -B is what people should be using, so it's not all that important (it's rare that you want to produce an etcupdate tree from sources that haven't just been built). Jess > But, at least I'm using -B in the future. > > > Kind regards, > > Mina Galić > > > > > > > > > > -------- Original Message -------- > > On 13 Aug 2023, 08:32, Mark Millard < mark...@yahoo.com> wrote: > > I'd noticed that the etcupdate part of my build procedure has been taking > > much time. So I looked with a ps -axldww while it was going on. An example > > was: `-- /bin/sh /usr/sbin/etcupdate -D/usr/obj/DESTDIRs/main-CA7-chroot -s > > /usr/main-src -M TARGET_ARCH=armv7 `-- make TARGET_ARCH=armv7 -DNO_FILEMON > > buildetc `-- make -m /usr/main-src/share/mk -f Makefile.inc1 TARGET=arm > > TARGET_ARCH=armv7 buildetc `-- make -f Makefile.inc1 _bootstrap-tools > > MK_CROSS_COMPILER=no MK_TOOLCHAIN=no . . . `-- /bin/sh -e -c echo "===> > > usr.bin/dtc (obj,all,install)"; cd /usr/main-src/usr.bin/dtc;. . . install > > `-- make DIRPRFX=usr.bin/dtc/ all `-- c++ -O2 -pipe -fno-common -DNDEBUG . > > . . -c /usr/main-src/usr.bin/dtc/fdt.cc -o fdt.o More may build. This is > > just what was present when I happened to look. Seems an odd thing to be > > happening for an etcupdate . I'll note that aarch64 targeting aarch64 (self > > hosted build) also spends notable time and is likely doing similarly. === > > Mark Millard marklmi at yahoo.com > > > > > === > Mark Millard > marklmi at yahoo.com