It also will not delete a directory if it isn't empty. The rest is spot-on though.
John Myers wrote:
NB: I am not an ebuild writer, but I have played with them on occasion, and I have read the docs.
That said, Here's how it works:
The ebuild unpacks the source into ${WORKDIR} (/var/tmp/portage/foo-x.y.z/work)
The ebuild compiles the source in ${WORKDIR}.
Portage creates ${DESTDIR} (/var/tmp/portage/foo-x.y.z/image)
The ebuild installs the compiled package, not into /, but ${DESTDIR} (i.e. /usr/bin/foo would actually be installed into ${DESTDIR}/usr/bin/foo).
Portage then copies the contents of ${DESTDIR} into /, recording the file path, timestamps and an md5sum of each file as it goes.
emerge -C just takes this list, and deletes every file in the list where (1) the timestamps match (2) the md5sum matches (3) the file is not CONFIG_PROTECTed
-- [email protected] mailing list
