serpent-os / moss

The safe, fast and sane package manager for Linux
https://serpentos.com
71 stars 9 forks source link

Distinguish between strong and weak dependencies + capture undeclared dlopen()s #259

Open ermo opened 2 weeks ago

ermo commented 2 weeks ago

ermo Ikey Doherty [BST/UTC+1]: I'm wondering if, with the new systemd approach, where some deps are optional and captured as those special ELF notes, we should perhaps introduce strong (buildtime-deps w/"normal" linking) and weak (buildtime-deps w/dopen() linking) dependencies...?

basically "required" vs. "recommended" at install time.

And then become really good at finding and then annotating undeclared dlopen() linking stuff?

And then help upstreams with getting it integrated in their code-bases/build systems...?

knowing about the undeclared stuff and accounting for it will likely help re. being able to synthesize a dep-complete rebuild graph and effectuating it.

Ikey Doherty Well that requires us writing dlopen wrappers for them

Ie typedef the symbols etc

Not entirely convinced it'd be difficult to generate those in C from rust by examining a target .so

(...) i haven't got the bandwidth for it atm

but that could be a pretty slick thing down the future, an auto optional dep wrapper thingy

ermo ok, will capture as an issue right away.