Hey nick, this is my size hack for portage. It works like that: Every time you merge a package, portage writes the size for each "obj" into CONTENTS (portage.py - mergeme()). If you run "emerge search", it'll use portage.py getcontents() to get those new values. Thats pretty much it. The tgz.size simply parses ${FILESDIR}/digest-{} and calculates a sum. The proper result looks like this: * media-sound/xmms Latest version available: 1.2.7-r1 Latest version installed: 1.2.7-r1 [...] tgz.size: 2808 kB inst.size: 4155 kB An old db record looks like that (database not updated, size misses): * media-plugins/xmms-crossfade Latest version available: 0.2.9 Latest version installed: 0.2.9 [...] tgz.size: 195 kB inst.size: [ Old Database ] Not installed packages look like that: * media-plugins/xmms-dflowers Latest version available: 1.2 Latest version installed: [ Not Installed ] [...] tgz.size: 46 kB inst.size: [ Not Installed ] Thats all for now. If you like this feature, i'll make it more portage compliant (eg, create methods like gettgzsize() and getinstsize() in portage.py rather than doing that in /usr/bin/emerge). I'll attach a bzipped emerge and portage.py. -phoen][x-
Created attachment 5529 [details] portage-phoenix.tar.bz2 A patched Portage 2.0.43.
Ok... We got part... The other part I think is better for an external script.