Page MenuHomeFreeBSD

Handle lib32 files during delete-old* when MK_LIB32=no.
ClosedPublic

Authored by jmmv on Oct 17 2015, 2:01 AM.

Details

Summary

Extend OptionalObsoleteFiles.inc to delete all lib32 files
when MK_LIB32 is set to no on a system that previously had lib32
libraries installed.

Also, to prevent "make delete-old-dirs" from always deleting lib32
directories after an installworld, move the lib32 subtree to its
own mtree file that only gets applied when MK_LIB32=yes.

Test Plan

Ran "make delete-old" and "make delete-old-libs" on a
system that never had MK_LIB32 enabled, and on a system where
MK_LIB32 was enabled and later disabled. (Test still running.)

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jmmv retitled this revision from to Handle lib32 files during delete-old* when MK_LIB32=no..
jmmv updated this object.
jmmv edited the test plan for this revision. (Show Details)
jmmv added reviewers: brooks, imp.

Add missing calls to mtree for LIB32TMP.

Also patch etc/Makefile.

And now fix a typo to allow deletion of the stale BSD.lib32.dist file.

Test passed now. Upgraded the system to enable lib32 and then downgraded
it. Both processes went fine, and all the garbage was gone afterwards.

Please take a look now. The intermediate revisions were kinda broken, but my tests as described in the test plan have now passed with the last patch snapshot.

I have noticed a bunch of inconsistencies regarding mtree file handling as part of this change, but I'm not going to fix them here. I'll resolve those separately. I.e. mtree files are not marked as obsolete when not needed; the list of mtree files registered in the Makefiles is inconsistent with reality; and BSD.debug.dist not honoring the corresponding MK variable in all cases.

Makefile.inc1
558 ↗(On Diff #9475)

I nested these the other way for the tests debug files (${MK_DEBUG_FILES} inside of ${MK_TESTS}) -- I can see arguments either way, but we should be consistent

Nest MK_DEBUG_FILES inside MK_LIB32 for consistency.

jmmv marked an inline comment as done.Oct 19 2015, 2:38 PM
jmmv added inline comments.
Makefile.inc1
558 ↗(On Diff #9495)

I think that nesting MK_DEBUG_FILES inside MK_TESTS makes more sense, and the consistency argument is strong. Changed.

I've also removed the indentation of the .if statements for consistency as well.

jmmv marked an inline comment as done.

Add missing etc/Makefile to the diff.

My command-line invocation of arc was invalid and I missed to include the
necessary changes to etc/Makefile.

FYI: "make tinderbox" was successful and a bunch of test builds on amd64 and powerpc64 where I enabled/disabled lib32 and ran an update have worked as intended.

I am going to submit this today. Yell quickly if you still want a chance to look at this!

This revision was automatically updated to reflect the committed changes.