Probably some things not removed from src but disabled by my src.conf. ls -tr /usr/lib -r--r--r-- 1 root wheel 145K Oct 5 23:08:18 2017 libprivateatf-c.a -r--r--r-- 1 root wheel 154K Oct 5 23:08:18 2017 libprivateatf-c_p.a -r--r--r-- 1 root wheel 198K Oct 5 23:08:19 2017 libprivateatf-c++.a -r--r--r-- 1 root wheel 207K Oct 5 23:08:19 2017 libprivateatf-c++_p.a -r--r--r-- 1 root wheel 78K Jan 31 13:27:34 2021 libstats.a -r--r--r-- 1 root wheel 79K Jan 31 13:27:34 2021 libstats_p.a ls -tr /usr/lib32/ -r--r--r-- 1 root wheel 8.0K Oct 5 23:09:18 2017 libblacklist.a -r--r--r-- 1 root wheel 8.3K Oct 5 23:09:18 2017 libblacklist_p.a -r--r--r-- 1 root wheel 26K Jan 8 22:31:05 2020 libssp.a -r--r--r-- 1 root wheel 2.9K Jul 25 03:21:38 2020 libalias_cuseeme.a -r--r--r-- 1 root wheel 3.0K Jul 25 03:21:38 2020 libalias_cuseeme_p.a -r--r--r-- 1 root wheel 17K Jul 25 03:21:39 2020 libauditd.a -r--r--r-- 1 root wheel 17K Jul 25 03:21:39 2020 libauditd_p.a -r--r--r-- 1 root wheel 50K Jul 25 03:21:40 2020 libprivateevent.a -r--r--r-- 1 root wheel 51K Jul 25 03:21:40 2020 libprivateevent_p.a -r--r--r-- 3 root wheel 3.2K Jul 25 03:21:53 2020 libln.a -r--r--r-- 3 root wheel 3.2K Jul 25 03:21:53 2020 libl.a -r--r--r-- 3 root wheel 3.2K Jul 25 03:21:53 2020 libfl.a -r--r--r-- 3 root wheel 3.4K Jul 25 03:21:53 2020 libln_p.a -r--r--r-- 3 root wheel 3.4K Jul 25 03:21:53 2020 libl_p.a -r--r--r-- 3 root wheel 3.4K Jul 25 03:21:53 2020 libfl_p.a -r--r--r-- 1 root wheel 105B Dec 27 04:05:07 2020 libc.so -r--r--r-- 1 root wheel 72B Dec 27 04:05:07 2020 libc++.so -r--r--r-- 1 root wheel 78K Jan 31 13:28:38 2021 libstats.a -r--r--r-- 1 root wheel 79K Jan 31 13:28:38 2021 libstats_p.a Also I do not understand why some files does not updated after fresh build install wold: .... -r--r--r-- 1 root wheel 4.6M Jun 18 09:11:59 2022 libc.a -r--r--r-- 1 root wheel 4.8M Jun 18 09:11:59 2022 libc_p.a -r--r--r-- 1 root wheel 146K Jun 18 09:12:07 2022 libkvm.a -r--r--r-- 1 root wheel 151K Jun 18 09:12:07 2022 libkvm_p.a -r--r--r-- 1 root wheel 69K Jun 18 09:12:08 2022 libprocstat.a -r--r--r-- 1 root wheel 72K Jun 18 09:12:08 2022 libprocstat_p.a -r--r--r-- 1 root wheel 340K Jun 18 09:12:08 2022 libsysdecode.a -r--r--r-- 1 root wheel 353K Jun 18 09:12:08 2022 libsysdecode_p.a -r--r--r-- 1 root wheel 4.0K Jun 23 04:37:07 2022 Scrt1.o -r--r--r-- 1 root wheel 4.0K Jun 23 04:37:07 2022 crt1.o -r--r--r-- 1 root wheel 4.3K Jun 23 04:37:07 2022 gcrt1.o -r--r--r-- 1 root wheel 2.2K Jun 23 04:37:07 2022 crtbegin.o -r--r--r-- 1 root wheel 2.5K Jun 23 04:37:07 2022 crtbeginS.o -r--r--r-- 1 root wheel 2.2K Jun 23 04:37:07 2022 crtbeginT.o -r--r--r-- 1 root wheel 1.7K Jun 23 04:37:07 2022 crtend.o -r--r--r-- 1 root wheel 1.7K Jun 23 04:37:07 2022 crtendS.o -r--r--r-- 1 root wheel 1.0K Jun 23 04:37:07 2022 crti.o -r--r--r-- 1 root wheel 608B Jun 23 04:37:07 2022 crtn.o lrwxr-xr-x 1 root wheel 7B Jun 23 04:37:08 2022 libxnet.so@ -> libc.so -r--r--r-- 1 root wheel 4.6M Jun 23 04:37:08 2022 libc_pic.a ... I mean some .a files not updated, but I am 100% sure that /usr/obj files was recreated and find /usr/obj -type f -exec touch {} + was done before installing. Same for /usr/include/ - I do not understand what is really outdated and not used any more/
The third category is because install will not overwrite an existing file if the contents are identical. The reason is to avoid causing unnecessary rebuilds (e.g. if we bumped the mtime on all headers in /usr/include on each install world, then every subsequent make has to rebuild everything even when it isn't needed).
(In reply to John Baldwin from comment #1) The second category is because the mechanism in -CURRENT that automagically removes the 32-bit libraries for corresponding entries in ObsoleteFiles.inc has apparently not been merged to stable/13. The first category seems to be some oversight in OptionalObsoleteFiles.inc.
(In reply to John Baldwin from comment #1) It depend on situation. I do every time rebuild because obj is empty, and set ccache to watch content, not any files attr.
(In reply to Dimitry Andric from comment #2) Can you please show commits to auto remove i386 libs or merge it to 13?
(In reply to Ivan Rozhuk from comment #4) I briefly looked at those, but they cause many conflicts, and are tricky to resolve. So I gave up, due to lack of time.