[Openembedded-architecture] Default opkg solver backend change to libsolv
Khem Raj
raj.khem at gmail.com
Wed Feb 1 17:05:59 UTC 2017
On 1/30/17 3:17 PM, Alejandro del Castillo wrote:
> Before opkg 0.3.1, dependency solving was performed exclusively by an
> internal recursive ad-hoc solver implementation. On version 0.3.1, an
> alternative external solver backend was introduced, based on libsolv
> [1]. Libsolv is a SAT solver library for package dependencies, faster
> and vastly superior than opkg's internal solver. It's already the solver
> behind Zypper and DMF.
>
> On the current opkg release (0.3.4), I think the backend has had enough
> runtime, and is robust enough to be used as the default on OE. Opkg
> bugzilla tickets overwhelmingly are on the internal solver (internalsolv
> tag) [2] and we can all benefit from moving away from it.
>
> The only feature missing on the libsolv backend is support for "opkg
> list-upgradable". I looked at the OE code and I believe the feature is
> not being used. However, if this is a major issue, please speak up, as
> there is an in-work changeset that implements support, which I could
> make sure is included before the switch (if approved).
>
> The other side-effect would be an increase of the disk footprint, due to
> the dependency on libsolv. The increase amounts to < 200K for a few
> platforms that I profiled:
>
> x64 171K
> qemuarm 141K
> qemux86 184K
>
> I want to put this proposal up for comments to see if everyone is OK
> with the switch.
>
> [1] https://github.com/openSUSE/libsolv
> [2]
> https://bugzilla.yoctoproject.org/buglist.cgi?product=opkg&component=opkg&resolution=---&list_id=591616
>
Static codesize it one aspect, it will also be interesting to know the
runtime memory requirements changes due to this. Since that could also
be a concern for systems using opkg.
More information about the Openembedded-architecture
mailing list