@warpfork
i need to ship applications on linux
it's weirdly hard
i need to ship applications on linux
i want one answer
not count(distros) answers
shipping on linux: challenges
- shared libraries == fragility, portability fail
- library paths need to be absolute
- above two compound: now nearly unsolvable
These problems are SO BAD that it pushes
everyone into shipping Electron apps, in desperation, because it's the only thing that "works"...
i need to ship applications on linux
zapps unfsck this.
GOALS
- Want one answer.
No "it depends".
- Must work on any host -- no host lib deps; no conflicts
- Work on any install path. Even if unpredictable.
- No "post-install" steps.
Work even on RO mounts.
High level:
... And in
practice:
- Dynamic linking.
Need it for Reasons.
- Want: able to dedup
libraries on disk
(if something else has exact same version.)
Demo Time
<RANT>
How???
- rpath
- $ORIGIN
- XORIGIN
- lib bundling
- ELF-interp-as-lib
- jumploader
</RANT>
(wasn't that fun?)
The simplest thing that works
and nothing more
The simplest thing that works
and nothing more
We produced this solution by focusing on what's
load bearing
and discarding all other illusions.
this is the road to an
un-distro.
you can compose these.
this is the road to an
un-distro.
anyone can make and ship Zapps!
That's all
Please check out the Zapps website for more info:
https://zapps.app/
p.s. i have been ranting about this for a while
https://media.ccc.de/v/ASG2018-204-path-agnostic_binaries_co-installable_libraries_and_how_to_have_nice_things/
(and this older talk does go a bit more in-depth on various options, if you want more)
zapps @ipfscamp2022
By warpfork
zapps @ipfscamp2022
- 206