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

Introduce a Nix flake for CRIU development #2332

Open
snprajwal opened this issue Jan 15, 2024 · 4 comments
Open

Introduce a Nix flake for CRIU development #2332

snprajwal opened this issue Jan 15, 2024 · 4 comments

Comments

@snprajwal
Copy link
Member

CRIU currently requires a decent number of dependencies in order to build from source. I also suspect that we are dependent on specific versions of certain dependencies in order to build correctly or support some features. Introducing a Nix flake will allow developers to spin up a dev env using nix develop, saving them the trouble of manually dealing with dependency installation across distros. It'll also prevent us from polluting the global package set on the machine in case we need to jump back and fix a regression that needs an older version of a dependency.

This would simply require adding a flake.nix file with the appropriate configuration to successfully build CRIU.

@adrianreber
Copy link
Member

Never used nix. Cannot say anything about it. But CRIU does not really depend on specific versions of its dependencies.

@avagin
Copy link
Member

avagin commented Feb 5, 2024

It is unclear what problem does it solve. We have dockerfile-s to build criu for different linux distributions. I don't see any issues with them. Feel free to reopen this issue.

@avagin avagin closed this as completed Feb 5, 2024
@snprajwal
Copy link
Member Author

CRIU build dependencies: gcc make protobuf protobuf-c protobuf-c-devel protobuf-compiler protobuf-devel protobuf-python
CRIU optional build dependencies: pkg-config python-ipaddress libbsd-devel iproute2 nftables libcap-devel libnet-devel libaio-devel gnutls-devel python3-future libdrm-devel

The second set of packages also vary across package managers (RPM and DEB package names are somewhat different). Having a Nix flake would make it easier to manage this, and also enable us to trivially spin up dev envs with different versions of these packages in case we have regressions, adding some new feature, etc.

We can leave the issue closed, since it's more of a "nice to have" brownie point thing. But I'll get this done, I feel it'll be useful.

@avagin avagin reopened this Feb 8, 2024
Copy link

A friendly reminder that this issue had no activity for 30 days.

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