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
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jmmv updated this revision to Diff 9458.Oct 17 2015, 2:01 AM
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.
jmmv updated this revision to Diff 9462.Oct 17 2015, 10:35 AM

Add missing calls to mtree for LIB32TMP.

jmmv updated this revision to Diff 9474.Oct 17 2015, 7:51 PM

Also patch etc/Makefile.

jmmv updated this revision to Diff 9475.Oct 17 2015, 8:00 PM

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.

jmmv added a comment.Oct 17 2015, 8:02 PM

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.

emaste added inline comments.Oct 19 2015, 2:25 PM
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

jmmv updated this revision to Diff 9495.Oct 19 2015, 2:36 PM

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 updated this revision to Diff 9525.Oct 20 2015, 1:20 AM
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.

jmmv added a comment.Oct 20 2015, 1:00 PM

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.