On 03/02/2012 04:48 PM, C Anthony Risinger wrote: > IIRC makechrootpkg used to create an overlay/union before starting, > which would keep your original root intact. if you put your builds on > a btrfs filesystem i believe makechrootpkg will snapshot the fs before > starting (i know im mixing mkarchroot and makechrootpkg a bit here > ...) > > imo, the most effective way is to use an overlay. this FUSE based one > work just fine: > > http://podgorny.cz/unionfs-fuse/releases/ > > ... as do many other methods (DM, btrfs, overlayfs, unionfs, etc etc), > though i persoanlly like the FUSE impl because it can cope with stuff > better without less risk of crashing. you can then use --bind mounts > or multiple overlays to do interesting things too. > > make sure you've enabled `ccache` in your /etc/makepkg.conf, and > adjusted your `-jN` makeflag to an appropriate number. i keep a 10GiB > cache around; i can blow away the webkit tree and start completely > fresh, apply my in-progress patchsets, and have a working package in > ~2 minutes (normally a 3+hr build). Thanks C Anthony, It's the alphabet soup on top of the union filesystem and separate rw layer concepts that has my eyes rolling back in my head at the moment :) (re-reading the paragraphs for a 2nd time hoping it will all sink in) OK, so what your are saying is that after I make friends with the snapshot concept (whether DM, btrfs, overlayfs, etc...) I can basically keep snapshots of different build 'points' in cache and switch back and forth relatively easily once I learn how -- right? So if I have one set of Trinity packages based on Qt3 and another set based on TQt3, I can pickup building at the last good point of progress in either set by configuring the snapshot I need to create that environment? Like if I have built the dependencies through the snapshots below: Trinity/Qt3 Trinity/TQt3 Arts Arts Dbus Dbus caldav caldav ... ... tdelibs (cache snapshot A) tdelibs tdebase (cache snapshot B) I could then configure the chroot to switch back to 'cache snapshot A' and continue building on Trinity/Qt3 at that point after I had saved snapshot B and reverted to the A cache? Would you happen to have a favorite link to a page that might help me get a bit smarter on this? :) -- David C. Rankin, J.D.,P.E.