I find opkg is going to be replaced by apk

When will opkg replaced with apk

Neither of these are used by OpenWrt, so never within Openwrt.

EDIT: As mentioned below, apk integration is a work in progress (I actually did not know about this previously... the more you know :slight_smile: ), but dpkg is not part of OpenWrt.

If you mean opkg, then yeah, there are a couple of devs thinking about apk as an alternative. This has been going on in the background for several years, and I would not be surprised if it took a couple more. Here's the latest: https://github.com/openwrt/packages/issues/23706

For background, this initiative is to allow for a better package upgrade experience. opkg is missing the ability to discern ABI changes in packages, and if used blindly without deep knowledge about the current installation and targeted package version, can result in broken installations or even a bricked router. apk solves these problems, but at a cost in size (binaries alone, opkg is a svelte 155k, but apk and its libs are about 500k).

5 Likes

I would say that it is likely that opkg will be replaced by apk in main/master in near future, as there has been a major effort in tweaking package versioning to be apk-compliant. The replacement might be possible once the versioning changes have proven to be stabile.

Ps. Our really old opkg fork is based on opkg from year 2011...

I sort of got that impression, but am reluctant to set expectations. You know how kids get, "Are we there yet? Are we there yet? Are we there yet?" :grinning:

1 Like

Well, the possible change is still unsure, and the change wouldn't even bring any immediate changes/benefits to most users. Better ABI versioning etc. would help in the long run, but for a casual users the change is small. Similarly, if we compile our own images from sources, there is no change when you include packages in the build.

We actually have had three really ancient pieces of software in use:

  • opkg from 2011 is one
  • libtool 2.4.0 from 2010 was one for a long time, but that has recently been modernized to 2.4.7.
  • LuCI stats charts rrdtool is the third. It dates from 2003, but is small and still works ok. I have crafted a modernization, discussed in https://github.com/openwrt/luci/issues/6139 , but that increases firmware size by 3 MB, so that is still on hold. (But we are using hacks like https://github.com/openwrt/packages/pull/16835 to keep the ancient code compatible to current C libs, musl etc.)

I'm tracking it closely, as I've written an auc alternative in ucode and I'm parsing the opkg database for dependencies. It's not much code, and pretty nicely isolated, but it will require some work. I'd rather switch to a "sanctioned" source, like ubus call rpc-sys packagelist, but that lacks dependency info, so...

My mistake*opkg.

Subject corrected.