SNAPSHOT+apk blocker list (for easy reference)
24.10 should be fully working as of 2024-11-27.
SNAPSHOT should be "working" as of 2024-12-10.
Transitions from opkg-based versions (24.10-or-earlier, and older SNAPSHOTs) to apk-based SNAPSHOT are still an issue. They will remain so, as there's no way to fix the older versions without actually updating them. If you are in this situation, please post below and we'll walk you through it.
If you see things like these, continue reading...
libubus20230605 ... missing to-version
or
libuci20130104:
conflicts: libuci20250117
The ABI-versioned names currently used in SNAPSHOT builds are going to cause issues as soon as any of the underlying packages changes. This will continue to be an issue until the packaging tools are fixed (follow progress at https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/11066).
-
The
ubus call rpc-sys packagelist
call produces ABI-versioned names onapk
-based builds (so, only main snapshot). See https://github.com/openwrt/openwrt/commit/40b8fbaa9754c86480eefc3692c9116a51a64718#commitcomment-149041733 -
The auto-generated
index.json
files frompackage/Makefile
contain ABI-versioned names, but no ABI version info. The ASU server has traditionally used thePackages
file fromdownloads...
to collect package names, and that file does contain ABI version info which is used to strip off the versioning before returning the "pkg":"version" pairs. Since apk-based snapshots no longer havePackages
files, we need some mechanism in snapshot builds to deal with this (strip them before writing index?).
The above means that main snapshots will appear to work fine, until such time as an ABI-versioned package is updated. At that point you'll see libxyz10 ... missing to-version
appear in the package checks.
I've been pursuing the holy grail of seamless upgrades for some time now, and the results are embodied in a ucode
script I've named owut
.
owut = OpenWrt Ugrade Tool
SNAPSHOT only at this point, no port available for 23.05 or earlier due to dependency on ucode-mod-uclient
.
Your best starting point is the wiki page: https://openwrt.org/docs/guide-user/installation/sysupgrade.owut
$ opkg update && opkg install owut
$ owut -h
owut - OpenWrt Upgrade Tool version 2024.06.04-r1 (/usr/bin/owut)
...
- Code: https://github.com/efahl/owut/
- Issues: here or https://github.com/efahl/owut/issues
Example
A typical check, run just now on my x86 testing box, which was upgraded yesterday using owut upgrade
, hence the recent version numbers:
$ owut check
Board-name generic
Target x86/64
Root-FS-type squashfs
Sys-type combined-efi
Package-arch x86_64
Version-from SNAPSHOT r26504-d4acd05218 (kernel 6.6.32)
Version-to SNAPSHOT r26515-6e51b363e9 (kernel 6.6.32)
Build-FS-type squashfs
Build-at 2024-06-04T08:19:41Z
Image-prefix openwrt-x86-64-generic
Image-file openwrt-x86-64-generic-squashfs-combined-efi.img.gz
Image-URL https://downloads.openwrt.org/snapshots/targets/x86/64/openwrt-x86-64-generic-squashfs-combined-efi.img.gz
Installed 273 packages
Top-level 81 packages
Default 46 packages
User-installed 50 packages (top-level only)
Package version changes:
base-files 1596~d4acd05218 1596~6e51b363e9
owut 2024.06.04-r1 missing to-version
1 packages missing in target version, DO NOT UPGRADE!
2 packages are out-of-date.
Default package analysis:
Default Provided-by
dnsmasq dnsmasq-full
kmod-dwmac-intel not-installed
nftables nftables-json
There are currently package build failures for SNAPSHOT x86_64:
Feed: base
kexec-tools Mon Jun 3 13:06:48 2024 - Package not installed locally
Feed: packages
basicstation Mon Jun 3 14:10:58 2024 - Package not installed locally
elektra Mon Jun 3 15:05:33 2024 - Package not installed locally
gatling Mon Jun 3 14:30:01 2024 - Package not installed locally
gcc Mon Jun 3 13:18:49 2024 - Package not installed locally
kadnode Mon Jun 3 13:22:19 2024 - Package not installed locally
libuhttpd Mon Jun 3 14:37:34 2024 - Package not installed locally
micropython Mon Jun 3 13:27:21 2024 - Package not installed locally
shadowsocks-libev Mon Jun 3 14:24:44 2024 - Package not installed locally
umurmur Mon Jun 3 14:48:24 2024 - Package not installed locally
xtables-addons Mon Jun 3 15:40:03 2024 - Package not installed locally
Feed: telephony
baresip Mon Jun 3 16:46:12 2024 - Package not installed locally
freeswitch Mon Jun 3 16:46:14 2024 - Package not installed locally
freeswitch-mod-bcg729 Mon Jun 3 16:48:53 2024 - Package not installed locally
freetdm Mon Jun 3 16:48:57 2024 - Package not installed locally
Failures don't affect this device, details at
https://downloads.openwrt.org/snapshots/faillogs/x86_64/
Pings:
@spence got me interested in the code side of things with Detecting user installed pkgs - #8 by spence
@aparcar has been looking for ways to reduce the number of posts about broken builds against the existing upgrade tools (auc
, LuCI Attended Sysupgrade, Firmware Selector), so I added checks for that sort of thing.
A few months back, @daniel mentioned something about rewriting auc
in ucode
in a PR against auc
, so I incorporated auc
's basic build-with-installed-packages and added many options. When the ucode-mod-uclient
package was published shortly thereafter, I had no excuses.