On 11/11/2017 2:25 PM, Mark Millard wrote: > > On 2017-Nov-11, at 8:47 AM, Bryan Drewery <bdrewery_at_FreeBSD.org> wrote: > >>> On Nov 11, 2017, at 00:51, Mark Millard <markmi_at_dsl-only.net> wrote: >>> >>>> On 2017-Nov-10, at 5:16 PM, Bryan Drewery <bdrewery at FreeBSD.org> 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
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:13 UTC