===
Mark Millard
mar...@dsl-only.net

On 2017-Nov-16, at 9:13 AM, Bryan Drewery <bdrew...@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




_______________________________________________
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"

Reply via email to