Skip site navigation (1)Skip section navigation (2)
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

--Apple-Mail-7-11062709
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII; format=flowed

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   / \

--Apple-Mail-7-11062709
content-type: application/pgp-signature; x-mac-type=70674453;
	name=PGP.sig
content-description: This is a digitally signed message part
content-disposition: inline; filename=PGP.sig
content-transfer-encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFC42h2r5S+dk6z85oRApnmAKDGhalJ8mOWWuxsWQ0yneSZZRT32wCfc3cC
vxO17mpHIcOcERJX4BMIGr0=
=dvMw
-----END PGP SIGNATURE-----

--Apple-Mail-7-11062709--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f7e3b7d8af2db993d879ca7e11746f01>