Should ubus be marked as target-specific "nonshared"? (broken 21.02 rc2 imagebuilder)
Hannu Nyman
hannu.nyman at iki.fi
Sat Jun 5 03:40:21 PDT 2021
I think that it might be wise to mark ubus as target-specific "nonshared"
(PKG_FLAGS:=nonshared)
Based on forum discussion, we have currently a broken 21.02.0-rc2
imagebuilder, as libiwinfo can't find the correct libubus version.
https://forum.openwrt.org/t/21-02-0-rc2-build-error-on-libubus20210215/98373
My reasoning:
* ubus is a normal (shared) package in the packages/ downloads dir
* the nonshared libiwinfo depends on libubus with ABI specification.
* ubus has been updated since rc2, so new ubus and libubus versions are now
offered for download
* The nonshared libiwinfo is located in the target/ download directory of
rc2, and it still depends on the older libubus with the old ABI version. And
that old libubus version has already been replaced by the newer libubus
version in the normal packages download dir.
The libubus dependency difference is visible in the libiwinfo package metadata:
libiwinfo from 21.02-SNAPSHOT:
  Package: libiwinfo20210106
  Version: 2021-01-31-4a32b33e-1
  Depends: libc, libnl-tiny1, libuci20130104, libubus20210603
From rc2:
  Package: libiwinfo20210106
  Version: 2021-01-31-4a32b33e-1
  Depends: libc, libnl-tiny1, libuci20130104, libubus20210215
I propose that ubus is marked to be nonshared, as it is an ABI versioned
dependency of some nonshared packages.
This is not the first time when we have seen the iwinfo/libubus version
syncing problems for users when ubus versions change. The problem usually
hits master, but this time it is visible in the release branch, which
highlights the issue.
We should consider doing the same for other ABI versioned packages that are
dependencies of nonshared packages (like iwinfo).
I haven't investigated what other packages currently have similar nonshared
target package --> shared generic ABI package dependencies, but I am sure
that there are some others. (ubox/libubox and uci/libuci might be two
obvious ABI versioned core packages that might be changed)
More information about the openwrt-devel
mailing list