pkg does bad things after upgrade from 8.4 to 9.3

Rainer Duffner rainer at
Wed Sep 9 18:03:56 UTC 2015

> Am 09.09.2015 um 17:45 schrieb Michael R. Wayne <freebsd07 at>:
> On Tue, Sep 08, 2015 at 11:06:02PM +0200, Rainer Duffner wrote:
>>> Am 08.09.2015 um 22:55 schrieb Michael B. Eichorn <ike at>:
>>> But you must reinstall everything. You upgraded your ABI going 8->9 so
>>> everything needs rebuilt/reinstalled. See next.
>> Exactly.
>> Or unpack the compat8x package by hand.
> Explain this please?

If you don’t delete the old libraries, you don’t need that.
You can untar any package (it’s just a tar.xz).

>> Or don???t delete the old libraries upon upgrading???
> We never delete the old libraries. So the old binaries function.
> But, the goal is to migrate to 9.X executables over time. The
> motivation for this is that upgrading something almost always breaks
> things and it is MUCH easier to deal with these breakages incrementally
> over several days, rather than having everything broken at once.

How about a test-system?

> Note that NONE of this explains why pkg would delete ANYTHING. I
> can (sorta) see that upgrading bash says I have to upgrade mutt
> (but, really, it should just install a new library for bash and let mutt
> run on the old one) but can not think of a reason it would remove
> it!

It deletes the old packages, usually.
Unless it can’t find a replacement. Then (IIRC), it just leaves the package as is.

This is really just a case of „you’re holding it wrong“ IMO.

pkg has a few problems, still - but most of them are inherent to the way and the speed that the ports-tree evolves (IMO) and you can’t catch every corner case.

That’s why you build your own packages, run your own repository and install all the same packages on every host so that your upgrades always work the same and you test it on a few test-servers, then the "guinea-pig“ servers and then the rest.

I’ve got a hundred (more or less) FreeBSD servers and jails with pkg - and there’s been maybe a handful of structural problems since I started using it.
At some point (maybe during a rename) mysql-server was deleted but not upgraded. Big deal, you install it again, start it, run mysql-upgrade and all is peachy again.

Compared to the nightmare of upgrading more than a handful of servers with the old pkg_ tools, this is like a walk on the beach.

More information about the freebsd-stable mailing list