Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

proposal: sandboxed builds #108

Open
git-bruh opened this issue Sep 17, 2022 · 3 comments
Open

proposal: sandboxed builds #108

git-bruh opened this issue Sep 17, 2022 · 3 comments
Labels

Comments

@git-bruh
Copy link
Member

git-bruh commented Sep 17, 2022

Add an optional mechanism for sandboxed builds which only makes available the listed dependencies in the depends file

Advantages

Disadvantages

  • Breaks the current fragile / hacky system of optionally enabled deps like libglvnd for mesa used by a few packages (Obsoleted by proposal: provides system #88)
  • Only portable to as many platforms as the implementation will be written for

Caveats

* SUID binary vs user namespaces vs landlock vs whatever proot does vs ...

  • Identification of the providers of core packages like the toolchain, libc and coreutils

Landlock POC - https://codeberg.org/kiss-community/kiss-ng/src/branch/sandbox/src/sandbox.c

@sdsddsd1
Copy link

Where do the packages inside the sandbox come from, do the dependencies have to be built each time from scratch?

@git-bruh
Copy link
Member Author

git-bruh commented Sep 17, 2022

Where do the packages inside the sandbox come from, do the dependencies have to be built each time from scratch?

It's just going to bind mount all required files (or restricting access to them in case of landlock) from the host -- not rebuild anything.

Not sure of the performance implications of constructing such a sandboxed rootfs with thousands of bind mounts (can't mount directories as they'll pull in extra libs) but that's what I've come up with till now

@git-bruh
Copy link
Member Author

@kiss-community kiss-community locked and limited conversation to collaborators Sep 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants