On 03/11/2020 11:11, Frank Wille wrote:
Ah pkg_rolling_replace can leave things in a scrambled state if it doesn't complete successfully. You might be able to use pkg_admin to put the db back together.Mike Pumford wrote:How about pkg_delete -r perl pkg_delete perl Man page suggests that will do exactly what you want.That would be too easy! ;) Seems I have serious problems. I tried it like you said, after experimenting with pkg_rolling-replace first, and most packages were not correctly deleted, because of MD5 checksum errors or simply "Couldn't remove...".
This is probably best. I know how painful that can be if your system is not quick at building pkgsrc. :(.I guess I have to start from scratch. :|
I actually recreate the build sandbox for my binary package builds from scratch for every build. It takes a lot longer but guarantees no mismatches unless I happen to catch the pkgsrc tree in an inconsistent state (Which is rare). This means my build system spends 10 hours a week building packages for 9.1-STABLE-amd64 and 8.2-STABLE-amd64. However it is all automated so all I have to do is check that the builds workd and run pkgin to get the new packages.
I'm mulling working out a way of pulling in unchanged packages from the previous build to speed things up but not spent any time on doing it yet ;)
I switched to this having had to clean up one too many broken systems left by pkg_rolling_replace runs. Only time I've ever had an issue with this approach is when a failing disk was causing the pkgin and pkg dbs not to be written correctly.
Mike