Hi. I've no idea if this has been implemented or not. If it has, sorry for not researching in-depth enough. Anyway, here's my idea. Many people today have desktop systems with an excess of a gigabyte of memory installed. I've seen posts of people using some of this memory with tmpfs to create virtual directories that only use ram space. A lot of gentoo users find that using emerge to build their software directly in the ram tmpfs environment significantly speeds up compilation time (heresay - I have not tested this). The only problem is with software that consumes a tremendous amount of space (openoffice, etc.). Portage should be able to estimate the amount of space a compilation will take, or at least determine the size of the source after unpacking. So the user can specify a different directory in eg. "/etc/make.conf". The specified directory can be for compilations that will take up a small (user defined) amount of space. This can be tmpfs directory, and the max size of the directory can also be specified in make.conf, so that packages that will potentially exceed this size will be built in the default directory on the hard drive. I know that the size of source code has little to do with the size of compiled code, so I can't think how portage would make these determinations on its own. Portage could fall back to the default directory if it runs out of space in the tmpfs directory, but that would increase compilation time for that ebuild. I'd appreciate any feedback on this, Sam Reproducible: Didn't try Steps to Reproduce: Expected Results: Faster ebuild compilations for compilations that will fit in the tmpfs directory.
You can probably accomplish this with bashrc, but I'm not sure. Anyway, I'd think this is slightly beyond portage's scope.
I don't think this can really be handled cleanly in portage. It would probably be much cleaner to use some type of union filesystem, like unionfs, with support for directing writes to whichever underlying filesystem happens to have some space left.
Thanks for the hints. I was just brainstorming things while multitasking, and thought I'd pass this little fractured gem along. Sam
Sounds like fusefs on mmapped blocks. The kernel does the rest (theory and practise differ here).