2007/6/18, Dan McGee <dpmcgee@gmail.com>:
This isn't a bad idea, but I'm thinking of changes on a much larger scale. Read here for details: http://isis.poly.edu/kulesh/stuff/src/klist/
I agree- and part of this is me NOT trying to enforce my 'right' way on everyone else. Here is how I see our operations-based thinking being reformed a bit. There are two baseline operations- install (add) and remove. upgrade is a combination of an add and remove, and sync is a combination of install, remove, upgrade, and a little extra sugar on the side. Instead of having duplicated code everywhere, we should be able to build up a set of functions that are used by the base operations, then use these base operations to build an upgrade, then use those to build a sync. By the time we get to a sync operation, we really shouldn't have much left to code at a low level, unlike the current code base.
Both ideas look great, but this will cause major rewrite of pacman, right ? Maybe start a pacman 4 branch :) Anyway, I mostly wondering one thing, is the current codebase so messy that it isn't worth fixing until above things are done ?
From what I've seen so far, I agree that there is a lot of duplicated code, and it's quite annoying indeed. But maybe it's possible to fix it without major rewrite.