NetworkManager/contrib/fedora/REQUIRED_PACKAGES
Beniamino Galvani 183d68dcbe bpf: clat: rework to avoid pointer arithmetic
Avoid using pointer arithmetic in the BPF program, so that it requires
only CAP_BPF and not CAP_PERFMON. In this context "pointer arithmetic"
means adding a variable value to a packet pointer. This means that the
program no longer tries to parse variable-size headers (IPv4 options,
IPv6 extension headers). Those were already not supported before. It
also doesn't parse VLAN tags, but there should be no need for that. If
we use fixed offset, we can avoid using the parsing helpers from
libxdp.
2026-01-24 09:42:33 +01:00

105 lines
2 KiB
Bash
Executable file

#!/bin/bash
# A list of packages useful/needed to build and develop
# NetworkManager on Fedora and RHEL.
#
# Not all of these packages are available, depending
# on your distribution/release. But yum will happily
# skip them.
#
# Not all of these packages are strictly speaking necessary.
# This is a generous list of related packages.
set -xe
DNF="$(command -v dnf &>/dev/null && echo dnf || echo yum)"
SUDO=
[ "$EUID" -eq 0 ] || SUDO=sudo
install() {
if [ "$NM_INSTALL" != "" ]; then
$NM_INSTALL "$@"
else
$SUDO "$DNF" install -y "$@"
fi
}
install_ignore_missing() {
for p; do
install "$p" || :
done
}
if test "$NM_NO_EXTRA" != 1; then
# these packages are convenient for developing, but not necessary
# for CI testing.
EXTRA_PACKAGES=(
bash-completion \
cscope \
)
else
EXTRA_PACKAGES=()
fi
install \
/usr/bin/clang-format \
/usr/bin/xargs \
ModemManager-devel \
ModemManager-glib-devel \
audit-libs-devel \
bluez-libs-devel \
bpftool \
clang \
dbus-devel \
dbus-x11 \
ethtool \
firewalld-filesystem \
gcc-c++ \
gettext-devel \
git \
glib2-doc \
gnutls-devel \
gobject-introspection-devel \
gtk-doc \
iptables \
jansson-devel \
jq \
libbpf-devel \
libcurl-devel \
libndp-devel \
libnvme-devel \
libselinux-devel \
libuuid-devel \
meson \
mobile-broadband-provider-info-devel \
newt-devel \
nss-devel \
polkit-devel \
ppp \
ppp-devel \
python3-dbus \
python3-gobject \
python3-pexpect \
readline-devel \
rpm-build \
systemd-devel \
util-linux \
vala \
valgrind \
which \
#end
# some packages don't exist in certain distributions. Install them one-by-one, and ignore errors.
install_ignore_missing \
black \
dhclient \
iproute-tc \
libasan \
libpsl-devel \
libubsan \
libvala-devel \
qt-devel \
teamd-devel \
vala-devel \
"${EXTRA_PACKAGES[@]}"