mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-02 18:58:09 +02:00
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.
105 lines
2 KiB
Bash
Executable file
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[@]}"
|