[LEDE-DEV] Release 17.01.0 binary packages have changed and SDK inconsistency

Matthias Schiffer mschiffer at universe-factory.net
Wed Mar 29 18:27:22 PDT 2017


On 03/29/2017 08:57 PM, Jo-Philipp Wich wrote:
> Hi Pau,
> 
> I will not reiterate the arguments made elsewhere in this thread but
> merely describe why the version tagged 17.01.0 SDK uses fixed feed sources.
> 
> The main objective here was to make the build reproducible in a way that
> you can use the 17.01.0 SDK to build artifacts resembling the released
> 17.01.0 images. Note that I specifically mean images here and not the
> package feed universe. No effort was made to freeze binary package
> repositories on the server.
> 
> Only a tiny subset of all binary packages is frozen and tied to a
> specific release, this subset consists of a) source packages marked as
> "nonshared" in the source trees and b) of kmod packages.
> 
> All other packages are rebuilt incrementally from the latest HEAD of the
> "lede-17.01" branch in each feed repository.
> 
> The reasoning behind rebuilding non-"nonshared" and non-kmod packages is:
> 
>  - by definition any commit made to a release maintenance branch is
>    either a bug fix or important update (e.g. to address security issue)
> 
>  - it is expected that commits made to release maintenance branches
>    are backwards, abi and config compatible (e.g. no libfoo 1.x -> 2.x
>    bump)
> 

Note that we aren't exactly good at keeping ABI compatiblity, especially in
our own core libraries that don't even have versioned SONAMEs. We broke the
libubus ABI in lede-17.01 literally 5 days after the 17.01.0 release:

https://git.lede-project.org/?p=source.git;a=commit;h=fdc22b616cdedea6d68e36ae464551607c51d2a7

"libubus: do not modify uloop_cancelled" changes the layout of struct
ubus_context, which is directly accessed via static functions in libubus.h
and thus ABI. I'm not sure if the situation has been resolved, as I was
busy at the time this happened. As I understand it, the result is that some
package updates are more or less impossible in lede-17.01 now, as both
shared and non-shared packages depend on libubus? Also, I'm not sure if
dependent packages are rebuilt correctly, as we've never set something like
ABI_VERSION for libubus.

My explanation could be wrong, as I didn't find time to check myself that
these issues exist in the way I described, but I heard that people were
complaining in IRC about crashing services after opkg updates on LEDE 17.01.1.

Matthias

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/lede-dev/attachments/20170330/e9f55dc1/attachment.sig>


More information about the Lede-dev mailing list