Date: Sun, 24 Jul 2005 12:07:47 +0200 From: Simon 'corecode' Schubert <corecode@fs.ei.tum.de> To: Maxime Henrion <mux@FreeBSD.org> Cc: cvs-src@FreeBSD.org, Doug Barton <dougb@FreeBSD.org>, cvs-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: cvs commit: src ObsoleteFiles.inc Message-ID: <f7e3b7d8af2db993d879ca7e11746f01@fs.ei.tum.de> In-Reply-To: <20050724011629.GK14567@elvis.mu.org> References: <200507231942.j6NJgdks037508@repoman.freebsd.org> <42E2A029.1090404@gmail.com> <42E2DA50.2000205@FreeBSD.org> <20050724011629.GK14567@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On 24.07.2005, at 03:16, Maxime Henrion wrote:
> 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.
I looked into this when I wanted to do this for DragonFly (but I got
sidetracked). There are few methods in the tree (at least in DragonFly,
I don't think it's completely different in FreeBSD) by which files get
installed:
- mtree
- ${INSTALL}
- ln
- zic (needs more work)
there might be some other things as well, but that's the major part by
which about 98% of all files are being covered.
This means, after converting all occurences of `ln' to ${LN} (done in
DragonFly, tho there are some things you can overlook) and `mtree' to
${MTREE}, ${INSTALL}, ${LN} and ${MTREE} can be replaced by wrapper
scripts which parse the parameters and record the created files into
some kind of log.
Storing these logs in, let's say /var/db/basefiles, let's you find out
files which were removed just by looking if a file doesn't appear in
the last log anymore.
I have to agree that wrapping the commands is a bit hackish, but it
basically works. Oh, of course this system also needs a static list of
files that were removed previously, so that it can bootstrap (it can
only catch files that were removed since the last time you ran
install-with-file-logging).
cheers
simon
--
Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\
Work - Mac +++ space for low $$$ NOW!1 +++ Campaign \ /
Party Enjoy Relax | http://dragonflybsd.org Against HTML \
Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)
iD8DBQFC42h2r5S+dk6z85oRApnmAKDGhalJ8mOWWuxsWQ0yneSZZRT32wCfc3cC
vxO17mpHIcOcERJX4BMIGr0=
=dvMw
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f7e3b7d8af2db993d879ca7e11746f01>
