On Mon, Feb 23, 2009 at 1:47 AM, Brendan Hide <brendan@swiftspirit.co.za> wrote:
Again, this will be properly fixed as soon as pacman correctly takes into account the errors given when doing the actual deployment. Personally, I like the idea of adding sanity checks - but only if they're done properly. ;)
I wouldn't say that - we've talked about "proper transactions" for a long time, and are still nowhere near a proper solution. So don't expect this to be fixed soon, unless you're writing the patches :) The problem with errors given during actual file operations is... what do we do when extracting a file fails? How do we return to normalcy? We can't. The best we can do is bail out, perhaps before updating the DB. For instance, if I have foobar-1.0 installed, and upgrading to 1.1 fails due to disk space in the middle of the upgrade, what do we do? Do we leave foobar half upgraded and keep the DB entry at 1.0? This would allow us to reinstall foobar at the next upgrade when disk space is fixed, but leaves foobar in a possibly non-functioning state then. What happens if this is a critical package like, say, glibc. You can't clean up your disk space manually if glibc is borked and you can't even use "rm"