Re: OptionalObsoleteFiles.inc completeness improvement, try 2

From: Garrett Cooper <yaneurabeya_at_gmail.com>
Date: Fri, 23 Jan 2015 17:20:48 -0800
On Jan 23, 2015, at 17:16, Dmitry Marakasov <amdmi3_at_amdmi3.ru> wrote:

> * Garrett Cooper (yaneurabeya_at_gmail.com) wrote:
> 
>>> Some years ago I've started a project of improving
>>> OptionalObsoleteFiles.inc completeness, which allows make delete-old
>>> / delete-old-libs / delete-old-dirs targets completelty remove files
>>> which are normally installed when specific src.conf WITHOUT_* knobs
>>> are set.
>>> 
>>> In other words, if a user has some WITHOUT_* set in src.conf,
>>> specific files are not installed by installworld, but not removed
>>> by remove-old, which I try to fix.
>>> 
>>> In yet other words, I want to make it so `make installworld
>>> -DWITHOUT_foo=yes` and `make installworld && make delete-old
>>> -DWITHOUT_foo=yes` result in the very same file sets.
>>> 
>>> Though the project seems to be useful and have real demand (added
>>> to IdeasPage by netchild_at_, though removed later by brooks_at_ [1])
>>> and interest ([2]), the change was ignored back then and now the
>>> patch is completely rotten. I can redo it, but I need a reviewer.
>>> Here's a first small part of the patch:
>>> 
>>> https://reviews.freebsd.org/D1600
>>> 
>>> The WIP branch with other changes is [3]
>>> 
>>> Also there is a question of delete-old-dirs removing directories
>>> which are created by mtree run by installworld unconditionally.
>>> This seems to be incorrect - either directories should be installed
>>> conditionally or not removed by delete-old-dirs. My patch will
>>> address this issue as well, by not remiving unconditionally installed
>>> dirs.
>>> 
>>> [1] https://wiki.freebsd.org/action/diff/IdeasPage?action=diff&rev1=260&rev2=261
>>> [2] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=168341#c6
>>> [3] https://github.com/AMDmi3/freebsd/compare/obsolete-files
>> 
>> Hi Dmitry,
>> 	Seems like we’ve duplicated work a bit. Have you looked at ^/projects/building-blocks yet ?
> 
> Hm, seems so, partly. How do you gather missing entries? My way is
> pretty dumb, I just do bunch of installworlds + delete-old's and add
> diff to the file, you probably do it more cleverly. Will committing
> my changes interfere with your work? If so, it may be better to direct
> them to your branch instead. Especially if you are more aware of knob
> combinations and their effects.

I wrote this script to track what files get installed by directories: 
https://svnweb.freebsd.org/base/projects/building-blocks/tools/add-optional-obsolete-files-entries.sh?revision=275238&view=markup . It’s not perfect (doesn’t work for “kitchen sink” directories like etc/ and share/…), but it’s a reasonable starting point for grabbing all of the files.

I’m going to hold off on the rc.d deletions/rewrites for dependent services after I do more targeted review/testing, as it might screw up boot order in unexpected ways with services and programs that get run out of order, but I’m reasonably confident that the contents of the branch work.

I was going to start cherry-picking changes from the branch this weekend.

Thanks!

Received on Sat Jan 24 2015 - 00:20:51 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:55 UTC