Date: Sun, 24 Jul 2005 03:16:29 +0200 From: Maxime Henrion <mux@FreeBSD.org> To: Doug Barton <dougb@FreeBSD.org> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src ObsoleteFiles.inc Message-ID: <20050724011629.GK14567@elvis.mu.org> In-Reply-To: <42E2DA50.2000205@FreeBSD.org> References: <200507231942.j6NJgdks037508@repoman.freebsd.org> <42E2A029.1090404@gmail.com> <42E2DA50.2000205@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Doug Barton wrote: > Pawel Worach wrote: > > >While you are at it can you add this one too. > > Done. Please note for next time that you need to add a comment indicating > why the file was removed. This can easily be found from the CVS logs. > > BTW, this is exactly why I don't like this mechanism for cleaning stale > files. This list was, as I predicted it would be, quite literally out of > date when it was committed. This is with all due respect to the effort that > went into producing it. It's the methodology that I'm opposed to here. > > I much prefer the dynamic method suggested by myself, mezz, and others > which scans the directories and compares the ages of the files to a known > value. This not only has the benefit of not needing a static list to > support it, but it also has the benefit of alerting you to pieces left > behind when you (for example) add a NO_FOO knob to your make.conf file to > avoid building part of the world. > > I would really like to see us reexamine the thought process behind this > before we invest a lot more time into the static method. I think that the > dynamic method will buy us more down the road. For what it's worth, I'd love to see a mechanism similar to the following: - We ensure every file installed when doing an installworld gets installed through bsd.*.mk. I thought this was already the case but ru@ told me it's not. - We can then add some kind of special make target, for instance build-files-list that generates a file with all the files going to be installed by installworld. - At installworld time we install this special file somewhere. Then we can easily deduce the obsoloted files by doing a diff. The nice thing is that such a system doesn't depend on people keeping a file up-to-date, and it's safer than the find(1) method because IIRC, there are corner cases where it doesn't work. Unless I'm missing something, a find(1)-based mechanism couldn't handle directories either. Another cool thing is that if you know you installed a system some day, but you don't have the file containing the installed files anymore, you can just do a cvs co -D'thedate' and run make build-files-list. A downside of all this is that it's probably quite computationally expensive. Cheers, Maxime
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050724011629.GK14567>