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

From: Mark Millard <markmi_at_dsl-only.net>
Date: Thu, 16 Nov 2017 13:15:50 -0800
===
Mark Millard
markmi_at_dsl-only.net

On 2017-Nov-16, at 9:13 AM, Bryan Drewery <bdrewery_at_FreeBSD.org> 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=0x42000000" \
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
Received on Thu Nov 16 2017 - 20:22:38 UTC

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