Package Management & Reproducibility
Project ideas related to reproducibility and package management, especially as it relates to store type package managers (NixOS, Guix or Spack).
Lead Mentor: Farid Zakaria mailto:fmzakari@ucsc.edu
Investigate the dynamic linking landscape
- Topics:
Operating Systems
Compilers
Linux
Package Management
NixOS
- Skills: Experience with systems programming and Linux familiarity
- Difficulty: Moderate to Challenging
- Size: Large (350 hours)
- Mentors: Farid Zakaria & Tom Scogland mailto:scogland1@llnl.gov
Dynamic linking as specified in the ELF file format has gone unchallenged since it’s invention. With many new package management models that eschew the filesystem hierarchy standard (i.e. Nix, Guix and Spack), many of the idiosyncrasies that define the way in which libraries are discovered are no longer useful and potentially harmful.
Specific tasks:
- Continue development on Shrinkwrap a tool to make dynamic library loading simpler and more robust.
- Evaluate it’s effectiveness across a wide range of binaries.
- Upstream contributions to NixOS or Guix to leverage the improvement when suitable.
- Investigate alternative improvements to dynamic linking by writing a dynamic linker “loadder wrapper” to explore new ideas.