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

update(build): relax dkms dependencies to suggestions in DEB and RPM packages #3450

Merged
merged 1 commit into from
Jan 16, 2025

Conversation

jthiltges
Copy link
Contributor

Using Falco with the modern_ebpf driver does not require kernel build dependencies. This PR updates the cmake configuration to make the dkms and kernel-devel package requirements into suggestions.

What type of PR is this?

/kind cleanup

Any specific area of the project related to this PR?

/area build

What this PR does / why we need it:

This makes the kernel-devel and dkms dependencies optional when installing the falco package, significantly reducing the number of packages installed when running in modern_ebpf mode.

On Alma 8, installing Falco 0.39.2 from RPM requires dkms and kernel-devel, which adds many dependencies for a total of 76 packages on my minimal test VM. After converting the dkms and kernel-devel requirements to suggestions with rpmrebuild, no additional dependencies beyond falco itself were required, and Falco appears to run fine with modern_ebpf. This PR should have the same effect on packages generated by cmake.

Does this PR introduce a user-facing change?:

YES

update(build): DEB and RPM package requirements for dkms and kernel-devel are now suggestions

Running in modern_ebpf mode does not require kernel build dependencies

Signed-off-by: John Thiltges <[email protected]>
@poiana
Copy link
Contributor

poiana commented Jan 16, 2025

Welcome @jthiltges! It looks like this is your first PR to falcosecurity/falco 🎉

@poiana poiana added the size/XS label Jan 16, 2025
@FedeDP
Copy link
Contributor

FedeDP commented Jan 16, 2025

Hi! Thanks for this PR!
Indeed, we would love to improve Falco packages by splitting them for-driver, so that one can install falco-kmod that would install a Falco configured to run with the kernel module driver and with all kmod deps, a falco-ebpf and normal falco that would just drop all unneeded deps since it runs with modern ebpf driver.

This is something on our mind since ~1yr, but we couldn't find the time to work on it.
IMHO for now, this can be a good solution since the default Falco use case does not need any additional dep.

/cc @leogr @LucaGuerra

@poiana poiana requested a review from LucaGuerra January 16, 2025 07:42
Copy link
Member

@leogr leogr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi! Thanks for this PR! Indeed, we would love to improve Falco packages by splitting them for-driver, so that one can install falco-kmod that would install a Falco configured to run with the kernel module driver and with all kmod deps, a falco-ebpf and normal falco that would just drop all unneeded deps since it runs with modern ebpf driver.

This is something on our mind since ~1yr, but we couldn't find the time to work on it. IMHO for now, this can be a good solution since the default Falco use case does not need any additional dep.

/cc @leogr @LucaGuerra

I totally agree with Fede, and I'm ok with merging this PR now, so approved! and
/milestone 0.40.0

Then the only possible issue I see is the documentation. I can then work to update the docs.

@jthiltges thank you for contribution! 🙏

@poiana poiana added this to the 0.40.0 milestone Jan 16, 2025
@poiana poiana added the lgtm label Jan 16, 2025
@poiana
Copy link
Contributor

poiana commented Jan 16, 2025

LGTM label has been added.

Git tree hash: 57c7e171e831387d5aa0b8c03999d1c5a71cca33

Copy link
Contributor

@FedeDP FedeDP left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve

@poiana
Copy link
Contributor

poiana commented Jan 16, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: FedeDP, jthiltges

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@poiana poiana merged commit 6235e05 into falcosecurity:master Jan 16, 2025
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants