Re: OptionalObsoleteFiles.inc completeness improvement, try 2

From: Garrett Cooper <yaneurabeya_at_gmail.com>
Date: Fri, 23 Jan 2015 17:23:22 -0800
On Jan 23, 2015, at 17:20, Garrett Cooper <yaneurabeya_at_gmail.com> wrote:

> 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.

Forgot to respond on one important point: reviewing and committing the higher-level changes (make remove-old) shouldn’t be a problem, and I’ll be sure to commit the overlapping changes with OptionalObsoleteFiles.inc first to reduce the diff between our branches.
Thanks!

Received on Sat Jan 24 2015 - 00:23:25 UTC

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