Re: libostree v2017.2



On Tue, Feb 21, 2017, at 08:45 AM, Leon Woestenberg wrote:

There are a few projects experimenting with OSTree based atomic updates on operator-less remotely-managed, embedded devices, where the hard-inclusion of a Rust dependency would bring a few hurdles. (I am not saying show-stopper.) I know of Automotive Grade Linux (Yocto, Tizen based) and some other OpenEmbedded / Yocto projects. I am personally also trying to use it in real-world embedded projects.

Right, and I definitely don't want to break that.


These project cross-compile (lib)ostree up-front on a development host, and from what I understand, the Rust dependency is mostly host-side,

That's actually an interesting point...that's true currently but only by accident =)  I hadn't thought
about it, but now that you bring it up, that does seem like the most tenable model in the short term.

The static delta compilation code is probably the ugliest in C...and it only needs to run on a
build server.  So if I do more in Rust for ostree, it'd likely in there, then there's far fewer concerns
about cross compilation etc.

(And I really need to do a build-time option for the static delta compilation code so it doesn't
 end up on clients)

But maybe another path is to use a scripting language like Python for that too. 

There are no plans right now to make this a hard requirement in the near future.
What is near future? In projects like Yocto/OpenEmbedded, we have seen full support for new languages (and all their cross-compilation issues) can take one to a few years to completion, sometimes because upstream doesn't care much about it. (For example, Swift, Go, ...)

I guess I was thinking "near future" = a year or so.  But anyways, I think based on feedback so far I'll likely not do too much more Rust for ostree in the near future.  (I may instead try doing more in rpm-ostree where I have more control over the target deployments and build systems).

Anton's feedback about switching to C++ for their updater is useful info.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]