Re: -r325627 of head: mergemaster: Creating objdir after objdir after . . .
On 11/16/2017 1:15 PM, Mark Millard wrote: > > === > Mark Millard > mar...@dsl-only.net > > On 2017-Nov-16, at 9:13 AM, Bryan Drewery wrote: > >>> . . . >> >> Can you test this patch please in context of this problem please? >> It resolves read-only objdirs and should avoid more of the objdir >> creations at mergemaster/installworld time. It probably will still >> create the etc/sendmail one. >> >> https://people.freebsd.org/~bdrewery/patches/top-level-objdirs.diff >> > . . . > > I applied the patch. > > The 3 experiments below only showed the sendmail related > "Creating objdir" lines, no other "Creating objdir" lines. > [...] > > (So: None found in the typescript file.) > Thanks! I will commit it in a while. -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
Re: -r325627 of head: mergemaster: Creating objdir after objdir after . . .
=== Mark Millard mar...@dsl-only.net On 2017-Nov-16, at 9:13 AM, Bryan Drewery wrote: >> . . . > > Can you test this patch please in context of this problem please? > It resolves read-only objdirs and should avoid more of the objdir > creations at mergemaster/installworld time. It probably will still > create the etc/sendmail one. > > https://people.freebsd.org/~bdrewery/patches/top-level-objdirs.diff > . . . I applied the patch. The 3 experiments below only showed the sendmail related "Creating objdir" lines, no other "Creating objdir" lines. Based on using ( /tmp/usr/obj/armv7_clang not existing at the time): # more ~/sys_build_scripts.armv7-host/mergemaster_armv7-armv7-host.sh kldload -n filemon && \ script ~/sys_typescripts/typescript_mergemaster_armv7_clang_bootstrap_clang-armv7-host-$(date +%Y-%m-%d:%H:%M:%S) \ env __MAKE_CONF="/root/src.configs/make.conf" SRCCONF="/dev/null" SRC_ENV_CONF="/root/src.configs/src.conf.armv7-clang-bootstrap.armv7-host" \ MAKEOBJDIRPREFIX="/tmp/usr/obj/armv7_clang/arm.armv7" \ mergemaster -A armv7 $* The merge master produced just the 3 objdir lines related to sendmail: # ~/sys_build_scripts.armv7-host/mergemaster_armv7-armv7-host.sh -FUPi Script started, output file is /root/sys_typescripts/typescript_mergemaster_armv7_clang_bootstrap_clang-armv7-host-2017-11-16:12:31:48 *** Creating the temporary root environment in /var/tmp/temproot *** /var/tmp/temproot ready for use *** Creating and populating directory structure in /var/tmp/temproot [Creating objdir /tmp/usr/obj/armv7_clang/arm.armv7/usr/src/arm.armv7...] [Creating objdir /tmp/usr/obj/armv7_clang/arm.armv7/usr/src/arm.armv7/etc...] [Creating objdir /tmp/usr/obj/armv7_clang/arm.armv7/usr/src/arm.armv7/etc/sendmail...] . . . (other stuff) . . . Based on ( /usr/obj/bpim3_clang not existing at the time [renamed]): # more ~/sys_build_scripts.armv7-host/make_bpim3_nodebug_clang_bootstrap-armv7-host.sh kldload -n filemon && \ script ~/sys_typescripts/typescript_make_bpim3_nodebug_clang_bootstrap-armv7-host-$(date +%Y-%m-%d:%H:%M:%S) \ env __MAKE_CONF="/root/src.configs/make.conf" SRCCONF="/dev/null" SRC_ENV_CONF="/root/src.configs/src.conf.armv7-clang-bootstrap.armv7-host" \ WITH_META_MODE=yes \ WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x4200" \ MAKEOBJDIRPREFIX="/usr/obj/bpim3_clang/arm.armv7" \ make $* the check-old did not produce any objdir lines: # ~/sys_build_scripts.armv7-host/make_bpim3_nodebug_clang_bootstrap-armv7-host.sh check-old Script started, output file is /root/sys_typescripts/typescript_make_bpim3_nodebug_clang_bootstrap-armv7-host-2017-11-16:12:44:43 >>> Checking for old files >>> Checking for old libraries >>> Checking for old directories To remove old files and directories run 'make delete-old'. To remove old libraries run 'make delete-old-libs'. Script done, output file is /root/sys_typescripts/typescript_make_bpim3_nodebug_clang_bootstrap-armv7-host-2017-11-16:12:44:43 As for installworld installkernel creating a new directory tree. . . (same .sh file for check-old above but with /usr/obj/bpim3_clang back in place) # ~/sys_build_scripts.armv7-host/make_bpim3_nodebug_clang_bootstrap-armv7-host.sh -j4 installworld installkernel DESTDIR=/usr/obj/DESTDIRs/clang-armv7-installworld-objdir-test Script started, output file is /root/sys_typescripts/typescript_make_bpim3_nodebug_clang_bootstrap-armv7-host-2017-11-16:12:54:04 --- installworld --- make[1]: "/usr/obj/bpim3_clang/arm.armv7/usr/src/arm.armv7/compiler-metadata.mk" line 1: Using cached compiler metadata from build at bpim3 on Tue Nov 14 22:25:57 PST 2017 --- __installcheck_UGID --- --- installworld --- . . . --- _kmodinstall --- install -T release -o root -g wheel -m 555 g_mouse.ko /usr/obj/DESTDIRs/clang-armv7-installworld-objdir-test/boot/kernel/ install -T debug -o root -g wheel -m 555 g_mouse.ko.debug /usr/obj/DESTDIRs/clang-armv7-installworld-objdir-test/usr/lib/debug/boot/kernel/ --- afterinstall --- kldxref /usr/obj/DESTDIRs/clang-armv7-installworld-objdir-test/boot/kernel Script done, output file is /root/sys_typescripts/typescript_make_bpim3_nodebug_clang_bootstrap-armv7-host-2017-11-16:12:54:04 # grep "Creating objdir" /root/sys_typescripts/typescript_make_bpim3_nodebug_clang_bootstrap-armv7-host-2017-11-16:12:54:04 | more # (So: None found in the typescript file.) === Mark Millard markmi at dsl-only.net ___ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"
Re: -r325627 of head: mergemaster: Creating objdir after objdir after . . .
On 11/11/2017 2:25 PM, Mark Millard wrote: > > On 2017-Nov-11, at 8:47 AM, Bryan Drewery wrote: > >>> On Nov 11, 2017, at 00:51, Mark Millard wrote: >>> On 2017-Nov-10, at 5:16 PM, Bryan Drewery wrote: > On 11/10/2017 8:30 AM, Bryan Drewery wrote: > . . . > In fact it's similar to my META_MODE whitelist in the top-level > Makefile. There's quite a few targets we don't care for AUTO_OBJ on, > like distribute*, installworld, installkernel, etc. r325697 should fix it. >>> >>> Most of the messages are gone in -r325700 . But there was: >>> >>> *** Creating the temporary root environment in /var/tmp/temproot >>> *** /var/tmp/temproot ready for use >>> *** Creating and populating directory structure in /var/tmp/temproot >>> >>> [Creating objdir /usr/obj/usr/src/arm64.aarch64...] >>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/etc...] >>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/etc/sendmail...] >>> >>> (No more objdir lines after that.) >> >> Yea this is expected. Mergemaster runs ‘make obj’ in etc/. > > Hmm. I looking I see the: > > ${MM_MAKE} _obj SUBDIR_OVERRIDE=etc >/dev/null && > ${MM_MAKE} everything SUBDIR_OVERRIDE=etc >/dev/null && > > Its too bad that the mergemaster man page makes no reference > to depending on MAKEOBJDIRPREFIX (or its default) and the > tree contents that it points to. If one has more than one > tree around then one should be picking the right one --but > nothing in the man page suggests that. > > It also would not play well with not having that build tree > available at the time of a mergemaster. Can you test this patch please in context of this problem please? It resolves read-only objdirs and should avoid more of the objdir creations at mergemaster/installworld time. It probably will still create the etc/sendmail one. https://people.freebsd.org/~bdrewery/patches/top-level-objdirs.diff > > The 20130425 UPDATING entry does note use of > MAKEOBJDIRPREFIX. It notes that mergemaster makes use of the > specific, bootstrapped mtree and install. Does that mean > that a cross-build needs mergemaster to be executed on > the cross-build host instead of on the target system? I do > not see the man page as well-covering such questions for > the proper usage technique. > > Dependency on /usr/src (by default or an alternate via -m) is > clear from the man page. So, having a proper vintage of such > and having mergemaster use it was clear. But such seems to not > be sufficient, which was not clear. > >> The top-level check-old objdir creation is unavoidable right now... you can >> use -DNO_OBJ if you want to avoid it. >> >>> > >> However from reading mergemaster.sh it seems that _at least_ >> /usr/obj/usr/src/etc/sendmail would be created before my changes. Can >> someone confirm that on stable/ or something? >> >>> >>> (MAKEOBJDIRPREFIX= does control the path-prefix used >>> if specified in the env list before mergemaster.) >>> >>> > > > === > Mark Millard > markmi at dsl-only.net > -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature