Nice work! Few questions: 1) Why you have changed /etc/makepkg.conf to /etc/makepkg3.conf ? I don't see the point of this. Even when there are two versions of makepkg in system - they should work with one makepkg.conf as there are no confliction options anyway. That is because I have them installed side-by-side, and I just kept everything in my diff. It won't be that way in any release version. This new makepkg (makpkg3) does have a few different settings, and this way also allows me to play with settings without changing my real makepkg settings.
2) what's the difference between msg and msg2 (except colors, I mean whet is the use for both of them) ? msg is the standard message that has always been used. Aaron, I believe, added a msg2, so I thought I'd put it to good use. It is further indented than a message; think of it more as a 'sub-message', just expanding on a more important message above it. I applied it to any of the messages that were formally indented using hardcoded spaces.
And suggestions: 1) it would be nice if makepkg -Sr (-sr) uninstall makedepends after build failure too That is one of the next things I have to look at, and that will likely involve a bit more changes than my other patches have been/will have been.
2) something like --preclean option that would clean directory like --clean but _before_ build - useful for some software that won't build after failure when files not cleaned. You may need to explain this one more to me. The pkg/ directory is always deleted before a build; are you referring to the src/ directory? In any case, I'm not sure if this needs to be an option, as most users would know what 'rm -rf src/' would do, but correct me if I'm mistaken.