Krang does something very similar. It only assumes that you have perl and mysql installed and then it installs everything else in a local subdirectory. We have also ripped that design for at least 3 other projects and it's worked extremely well.
There has been some talk of moving this install/upgrade framework outside of krang into a speparate project (
matchstick) but it seems that everyone has become too busy to really get that sub project started. But I think it's an amazing idea that should be explored.
More people are killed every year by pigs than by sharks, which shows you how good we are at evaluating risk. -- Bruce Schneier