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

RFC: In guix compile the GUI sequentially from everything else? #29914

Open
maflcko opened this issue Apr 19, 2024 · 4 comments
Open

RFC: In guix compile the GUI sequentially from everything else? #29914

maflcko opened this issue Apr 19, 2024 · 4 comments

Comments

@maflcko
Copy link
Member

maflcko commented Apr 19, 2024

Compiling the GUI pulls in quite a few dependencies, which could theoretically include backdoors that are leaked into bitcoind (or other non-GUI utils) as well.

A possible mitigation would be to compile the GUI in a separate guix container from the rest of the binaries. The downside would be that the node library, and the depends dependencies of the node library would have to be compiled twice, but the overhead may be worth it?

(I won't be working on this, but I wanted to keep track of this in a brainstorming issue, as the topic has repeatedly come up)

@laanwj
Copy link
Member

laanwj commented Apr 22, 2024

FWIW in #29923 i've removed all the GUI specific build-time dependencies except for Qt itself.

@maflcko
Copy link
Member Author

maflcko commented Apr 23, 2024

FWIW in #29923 i've removed all the GUI specific build-time dependencies except for Qt itself.

Nice!

qt is still a massive blob (and possibly a large attack surface for backdoors), so I guess sequential builds could still be considered, but the priority would be less urgent after 29923.

@laanwj
Copy link
Member

laanwj commented Apr 23, 2024

Sure, and there may still be other reasons to have seperate build step; the idea of fully static binaries for the non-GUI utilities was raised again at CoreDev. This is not possible with the GUI as it necessarily needs access to the dynamic linker. And as this might require different compile and linker flags, this would also effectively need two seperate builds.

@fanquake
Copy link
Member

fully static binaries

Yea. I think I'm just going to start PR'ing related changes, so we can move forward with static builds separately from the GUI, and keep all it's deps / build tools out of the env.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants