Yeah, I've been doing archeology on that, too, as I'm a "root cause" kind of guy.
I think the biggest pro from the devs' perspective is maintenance. opkg
is unmaintained because no one (but OpenWrt) used it, whereas apk
is very actively maintained due to it being the center of the universe for Alpine Linux.
From a functional perspective, opkg
is really lacking in modern features, the most prominent being version constraints. This is probably why (speculation on my part) we have wacky ABI-versioned package names like libucode20230711
instead of just plain libucode
. With opkg
, you could trivially install the wrong version of one of these packages and brick your router. With apk
, you add build info to dependent packages that say "depends: libucode>=2023.07.11" or something like that, then apk
verifies that it's A-OK! to install the specific version based on those constraints and bails if it's not.
So, we will no longer have to say, "Hey! Don't do opkg upgrade
! That might break things!" Instead, we'll say, "Sure, just do apk upgrade
, that should put you on all the latest and greatest packages."