Martin Husemann <martin%duskware.de@localhost> writes: > "make replace" never seems to work for me and it does a lot more than What specifically doesn't work? I use it almost exclusively for updating packages. (If you replace a package, then the packages that depend on it might not work due to ABI changes; hence pkgtools/pkg_rolling-replace.) > I want (i.e. pkg_tarup). And pkg_add -u/-U can cause lots of updates I don't > want to handle right now. Given what you are doing, it seems that running pkg_tarup should be quite fast and easy to ignore. What does pkg_add -U do in terms of updates? Is it trying to install an updated version of some dependency? If so, how did the build to get the binary package work? > I somehow feel like you all are only using pkgsrc on blindingly fast machines > with SSDs ;-) I use it on a 6 year old single core i386 with normal spinning disks. In your perl example, doing make replace of perl with the debug options will flip perl to debug. And you can save the packages that are tarred up and name them non-confusingly and then pkg_add -U to flip back and forth. If you are in situation where 5.14.2nb3 is installed, and you do a make replace to also get 5.14.2nb3, then there should be no cascading issues. If on the other hand 5.12.x is installed, then you're running into the partial-update probem with pkgsrc, which is that updating random subsets is not necessarily ok. So before trying all of this, you should have a situation where pkg_chk reports that there are no mismatched packages. You can get to this state with pkg_rolling-replace, where all of your packages that are mismatched, and all that are dirty, will get replaced in tsorted dependency order. make update aims to do the same thing, but I find that it can fail (because of an underlying package build failure) leaving you with non-installed packages. pkg_rolling-replace can similarly fail, but it will leave you with possibly-inconsistent (and thus possibly-non-working) packages, which is a devil I prefer, on average.
Attachment:
pgp1MwO6bAwBf.pgp
Description: PGP signature