pwru
pwru copied to clipboard
Package pwru for major distros
Each pwru release published in https://github.com/cilium/pwru/releases is statically linked, and it doesn't have any runtime dependencies. So, it should be trivial to package for major distros (Archlinux, Ubuntu, Debian, Fedora, etc).
I would like to work on this. Any advice on how to begin? Thanks
Let me ping some maintainers first. Mind pinging me (martynas
) on Slack? We can coordinate there.
sure!
Hey @brb Is this still up for grabs? Let me know if I can try tacking this
Yep, just that I still didn't manage to coordinate all efforts with pkg maintainers. Which distro would you target first?
I use Arch Linux so I would prefer that as a good starting point.
Also, if possible, can you share some articles/docs I can refer to with respect to packaging such an app
Great! I'm not familiar with distro packaging. Perhaphs you could reach out to the Arch community? @Foxboron mentioned that he might help with Arch.
Sorry for the delay. I've been busy with other Arch projects and haven't had time to package new things into the repositories for a couple of months.
I've uploaded cilium-cli
and pwru
to the Arch repos today. Debug packages are also available from https://debuginfod.archlinux.org
as well.
https://archlinux.org/packages/community/x86_64/pwru/ https://archlinux.org/packages/community/x86_64/cilium-cli/
Package files can be found here. https://github.com/Foxboron/archlinux-pkgbuilds/tree/master/pwru https://github.com/Foxboron/archlinux-pkgbuilds/tree/master/cilium-cli
@Foxboron Thanks a lot!
@ShubhamPalriwala Maybe let's continue with Debian/Ubuntu?
~~bfp2go
looks at /sys/devices/system/cpu/possible
on the building machine to determine the number of cores to add hooks for, and pwru seems to fail if the number does not match what is observed at runtime. This makes it pretty difficult to build any distribution packages, even for internal corporate distribution.~~
I can help for Fedora
@terinjokes Do you have an output of such a failure?
@tao12345666333 Great! Will you ping Fedora pkg maintainers?
yes.
~~@brb If the machine that compiled pwru has more CPUs than the machine that runs it I get the following error, along with an exit code 1:~~
Creating perf event reader: failed to create perf ring for CPU 1: can't create perf event: Invalid argument
~~If the machine that compiled pwru has less CPUs than the target machine (eg, was built in a CI environment) it runs without any error messages, but I don't see packets scheduled onto the higher CPU cores.~~
~~I can create a separate issue, but seems like the current implementation will have issues with distribution packages.~~
@terinjokes Could you create a separate issue, and include strace output? Thanks. My colleague said that the CPU detection should happen during the runtime.