Re: -r325627 of head: mergemaster: Creating objdir after objdir after . . .

From: Bryan Drewery <bdrewery_at_FreeBSD.org>
Date: Sat, 11 Nov 2017 08:47:01 -0800
> 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:
>>>> On 11/10/17 7:52 AM, Bryan Drewery wrote:
>>>>> On 11/10/2017 12:46 AM, Mark Millard wrote:
>>>>> When I use the command:
>>>>> 
>>>>> ~/sys_build_scripts.aarch64-host/mergemaster_cortexA53-aarch64-host.sh -FUPi -D/mnt
>>>>> 
>>>>> based on:
>>>>> 
>>>>> # more ~/sys_build_scripts.aarch64-host/mergemaster_cortexA53-aarch64-host.sh
>>>>> kldload -n filemon && \
>>>>> script ~/sys_typescripts/typescript_mergemaster_cortexA53_clang_bootstrap_clang-aarch64-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.cortexA53-clang-bootstrap.aarch64-host" \
>>>>> mergemaster -A aarch64 $*
>>>>> 
>>>>> in a context where /usr/obj/usr does not exist
>>>>> (no local build tree present at the time), I get:
>>>>> 
>>>>> Script started, output file is /root/sys_typescripts/typescript_mergemaster_cortexA53_clang_bootstrap_clang-aarch64-host-2017-11-09:23:57:04
>>>>> 
>>>>> *** 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/share/termcap...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/etc/syslog.d...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/usr.sbin/rmt...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/etc/pam.d...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib/csu...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib/csu/aarch64...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib/libc...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib/libc_nonshared...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib/libcompiler_rt...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib/libclang_rt...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib/libc++...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib/libc++experimental...]
>>>>> [Creating nested objdir /usr/obj/usr/src/arm64.aarch64/lib/libc++experimental/filesystem...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib/libcxxrt...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib/libelf...]
>>>>> [Creating nested objdir /usr/obj/usr/src/arm64.aarch64/lib/libelf/sys...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib/msun...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib/libalias...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/lib/libalias/libalias...]
>>>>> . . . (long list) . . .
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/usr.sbin/wpa/hostapd...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/usr.sbin/wpa/hostapd_cli...]
>>>>> [Creating objdir /usr/obj/usr/src/arm64.aarch64/usr.sbin/wpa/ndis_events...]
>>>>> 
>>>>> 
>>>>> 
>>>>> So a /usr/obj/usr/src/arm64.aarch64/ directory tree
>>>>> ends up being created.
>>>> 
>>>> Hah, not what we want. I'll fix that.
>>>> 
>>> 
>>> 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/.

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
> 
Received on Sat Nov 11 2017 - 15:47:11 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:13 UTC