Andreas Gustafsson <gson%gson.org@localhost> writes: > Hi all, > > When I try to update a package with "make update", more often than not > it fails, complaining that one of the dependencies of the package has > a different version already installed. For example, I just tried to > do a "make update" in /usr/pkgsrc/databases/pgadmin3, and got: > > => Full dependency postgresql84-client>=8.4.8: NOT found > => Verifying package-install for ../../databases/postgresql84-client > => Bootstrap dependency digest>=20010302: found digest-20080510 > ===> Checking for vulnerabilities in postgresql84-client-8.4.8 > ===> Install binary package of postgresql84-client-8.4.8 > pkg_add: A different version of postgresql84-client-8.4.8 is already > installed: postgresql84-client-8.4.2nb1 > pkg_add: 1 package addition failed > *** Error code 1 > > What am I doing wrong? Basically, if you don't update everything to consistent versions (from the same time in pkgsrc), I think you're going to have trouble. There seem to be two camps: A) use pkg_rolling-replace B) do a bulk build of some flavor (with pkg_chk to control it, perhaps) to get a consistent/pure set of binary packages for what you want, and then pkg_delete all the stuff that doesn't fit and install the new ones (perhaps via pkg_chk) A is easier, but you can run into trouble when dependencies get moved around. For administering my own systems, I'm in the pkg_rolling-replace camp. B is harder, but it's basically always sound. I do this when I have 50 systems and need really high reliability. In your case, postgresql84-client was updated in pkgsrc but your system wasn't updated, and there's a dependency on a specific version for some reason. I am not clear on whether this is a bug in make update (that it didn't update postgresql84-client) - because I don't use make update because of how it removes things and then might fail rebuilding them. In your case, you could go into databases/postgresql84-client and 'make replace', but I don't know how that left your 'make update'.
Attachment:
pgpc43zLdC8Zr.pgp
Description: PGP signature