Bug 264839

Summary: ObsoleteFiles.inc miss few things
Product: Base System Reporter: Ivan Rozhuk <rozhuk.im>
Component: binAssignee: freebsd-bugs (Nobody) <bugs>
Status: Open ---    
Severity: Affects Some People CC: dim, emaste, grahamperrin, jhb, kevans, rozhuk.im
Priority: ---    
Version: 13.1-STABLE   
Hardware: Any   
OS: Any   

Description Ivan Rozhuk 2022-06-23 02:00:49 UTC
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/
Comment 1 John Baldwin freebsd_committer freebsd_triage 2022-06-23 17:56:00 UTC
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).
Comment 2 Dimitry Andric freebsd_committer freebsd_triage 2022-06-23 18:16:53 UTC
(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.
Comment 3 Ivan Rozhuk 2022-06-23 22:16:55 UTC
(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.
Comment 4 Ivan Rozhuk 2022-06-23 22:19:17 UTC
(In reply to Dimitry Andric from comment #2)

Can you please show commits to auto remove i386 libs or merge it to 13?
Comment 5 Dimitry Andric freebsd_committer freebsd_triage 2022-06-24 10:24:27 UTC
(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.
Comment 6 John Baldwin freebsd_committer freebsd_triage 2022-07-13 16:49:09 UTC
I've merged the lib32 ObsoleteFiles.inc changes back to stable/13 today.
Comment 7 Ivan Rozhuk 2022-07-13 21:20:30 UTC
(In reply to John Baldwin from comment #6)
>>> Removing old files (only deletes safe to delete libs)
/etc/regdomain.xml
/usr/lib32/libalias_cuseeme_p.a
/usr/lib32/libalias_cuseeme.a
/usr/lib32/libauditd_p.a
/usr/lib32/libauditd.a
/usr/lib32/libblacklist_p.a
/usr/lib32/libblacklist.a
/usr/lib32/libfl.a
/usr/lib32/libl.a
/usr/lib32/libln.a
/usr/lib32/libprivateevent_p.a
/usr/lib32/libprivateevent.a
/usr/lib32/libssp.a


ls -tr /usr/lib32/
total 73780
-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