On 9 April 2015 at 13:46, Martin Lucina <[email protected]> wrote: > On Thursday, 09.04.2015 at 12:18, Antti Kantee wrote: >> Can't the components just be built like they normally are: as >> libraries? I don't see them being different from the rump kernel, >> which is just libraries too. > > Yes, but the packaging system needs to know about them, in the sense that > "nginx" depends on "openssl". > > There's also the question of what to do about components for other language > runtimes (e.g. NodeJS, Python, Ruby plugins), so that's something to keep > in mind while we're handwaving.
Scripting language modules are fairly easy, they are just files. They might bytecode them and write them back to the filesystem. The harder thing is C plugins for these, which are generally shared libs that are dlopened, so you need a fake module loader, or override the plugin loader. Its quite annoying; I did it for Lua. Justin
