pkg and pkg-static

If you upgrade DragonFly and one of the shared libraries used by pkg gets updated, you can’t run pkg until you get files, but pkg is the program you use to bring in new files.  This chicken-and-egg problem is solved with pkg-static, a version of pkg built without shared libraries.

You may have noticed some format flip-flopping between pkg and pkg-static if you had to run it after the most recent DragonFly upgrade; that is fixed.  There’s a larger issue of certificate installation identified there; I don’t know a solution to it, but I do want to mention this for next time pkg breaks for someone – pkg-static will work as backup, including to bring in a new version of pkg.

DragonFly, mysql, ipv6, and defaults

I am posting this so it can help someone else, someday.

I have a DragonFly-5.4 system.  I installed mysql56-server, and started it up.  By default, it listens on “*”, which meant it listens on a local socket and IPv6 ::1 – not 127.0.0.1.

2019-06-04 13:35:03 15833 [Note] IPv6 is available.
2019-06-04 13:35:03 15833 [Warning] Failed to reset IPV6_V6ONLY flag (error: 45). The server will listen to IPv6 addresses only.

I put bind_address=127.0.0.1 into my.cnf to get IPv4 loopback to work.   Local socket connections still worked either way.  I’m not using IPv6 on this machine, so this solution works in this situation.  I’m not sure my mysql decides to go only IPv6 based on a strange flag, but mysql is reliably unreliable.

part-by-label: an additional benefit

Remember the commit that autocreates human-readable disk device names under /dev?  (Here’s a reminder.)  It’s now in 5.4 – technically, since 5.4.2.  Anyway, it will automatically identify the root USB disk when you boot from a USB .img file, so you no longer have to guess which /dev/daX file it was – usually da8 but sometimes you got a surprise instead.

Lazy Reading for 2019/04/21

It’s bizarre links week this week.  Well, more than usual, I mean.