Skip to content

Commit a165aaa

Browse files
committed
build: deal with debian12 inability to compile bash bpf module
And additional removal of old BPF macros from the build.
1 parent 627e23b commit a165aaa

File tree

5 files changed

+20
-44
lines changed

5 files changed

+20
-44
lines changed

build/rpm/pcp.spec.in

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1484,16 +1484,7 @@ License: Apache-2.0 AND GPL-2.0-or-later
14841484
Summary: Performance Co-Pilot (PCP) metrics from eBPF ELF modules
14851485
URL: https://pcp.io
14861486
Requires: pcp = @package_version@ pcp-libs = @package_version@
1487-
%if 0%{?suse_version} >= 1600
1488-
Requires: libbpf1
1489-
%else
1490-
%if %{defined sle_version} && 0%{?sle_version} >= 150500
1491-
Requires: libbpf1
1492-
%else
1493-
Requires: libbpf
1494-
%endif
1495-
%endif
1496-
BuildRequires: libbpf-devel clang llvm
1487+
BuildRequires: clang llvm
14971488
%description pmda-bpf
14981489
This package contains the PCP Performance Metrics Domain Agent (PMDA) for
14991490
extracting performance metrics from eBPF ELF modules.

configure

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9132,8 +9132,9 @@ fi
91329132
if test "x$do_pmdabpf" = "xcheck"
91339133
then :
91349134

9135-
$have_libbpf && $have_libelf && \
9136-
test $clang_major_version -ge 10 -a -f "$pmdabpf_vmlinuxh" && pmda_bpf=true
9135+
$have_libelf && \
9136+
test $clang_major_version -ge 10 -a -f "$pmdabpf_vmlinuxh" && \
9137+
pmda_bpf=true
91379138

91389139
fi
91399140
PMDA_BPF=$pmda_bpf
@@ -9143,24 +9144,15 @@ printf "%s\n" "yes" >&6; }; else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: r
91439144
printf "%s\n" "no" >&6; }; fi
91449145

91459146
if $pmda_bpf; then
9146-
libbpf_version_major=`echo $libbpf_version | cut -d. -f1`
9147-
libbpf_version_minor=`echo $libbpf_version | cut -d. -f2`
9148-
pmdabpf_modules="biolatency.so runqlat.so"
9149-
9150-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if bpf PMDA modules using bpf_buffer__new should be included" >&5
9151-
printf %s "checking if bpf PMDA modules using bpf_buffer__new should be included... " >&6; }
9152-
if test "$libbpf_version_major" -eq 0; then
9153-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (libbpf version required: 1.0.0, installed: $libbpf_version)" >&5
9154-
printf "%s\n" "no (libbpf version required: 1.0.0, installed: $libbpf_version)" >&6; }
9147+
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which bpf PMDA modules should be included" >&5
9148+
printf %s "checking which bpf PMDA modules should be included... " >&6; }
9149+
if test $clang_major_version -ge 15; then
9150+
pmdabpf_modules="bashreadline.so"
91559151
else
9156-
pmdabpf_modules="${pmdabpf_modules} mountsnoop.so oomkill.so"
9157-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
9158-
printf "%s\n" "yes" >&6; }
9152+
pmdabpf_modules="bashreadline.so"
91599153
fi
9160-
pmdabpf_modules="${pmdabpf_modules} bashreadline.so biolatency.so execsnoop.so exitsnoop.so fsslower.so opensnoop.so runqlat.so statsnoop.so tcpconnect.so tcpconnlat.so vfsstat.so biosnoop.so netatop.so"
9154+
pmdabpf_modules="${pmdabpf_modules} biolatency.so execsnoop.so exitsnoop.so fsslower.so mountsnoop.so oomkill.so opensnoop.so runqlat.so statsnoop.so tcpconnect.so tcpconnlat.so vfsstat.so biosnoop.so netatop.so"
91619155

9162-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which bpf PMDA modules should be included" >&5
9163-
printf %s "checking which bpf PMDA modules should be included... " >&6; }
91649156
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pmdabpf_modules" >&5
91659157
printf "%s\n" "$pmdabpf_modules" >&6; }
91669158
fi

configure.ac

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1197,28 +1197,23 @@ AC_MSG_CHECKING([if the bpf PMDA should be included])
11971197
pmda_bpf=false
11981198
AS_IF([test "x$do_pmdabpf" = "xyes"], [pmda_bpf=true])
11991199
AS_IF([test "x$do_pmdabpf" = "xcheck"], [
1200-
dnl pmdabpf requires libbpf, libelf, clang 10+ and a bpftool-generated arch-specific vmlinux.h
1201-
$have_libbpf && $have_libelf && \
1202-
test $clang_major_version -ge 10 -a -f "$pmdabpf_vmlinuxh" && pmda_bpf=true
1200+
dnl pmdabpf needs -lelf, clang 10+ and arch-specific vmlinux.h from bpftool
1201+
$have_libelf && \
1202+
test $clang_major_version -ge 10 -a -f "$pmdabpf_vmlinuxh" && \
1203+
pmda_bpf=true
12031204
])
12041205
AC_SUBST(PMDA_BPF, $pmda_bpf)
12051206
if $pmda_bpf; then AC_MSG_RESULT(yes); else AC_MSG_RESULT(no); fi
12061207

12071208
if $pmda_bpf; then
1208-
libbpf_version_major=`echo $libbpf_version | cut -d. -f1`
1209-
libbpf_version_minor=`echo $libbpf_version | cut -d. -f2`
1210-
pmdabpf_modules="biolatency.so runqlat.so"
1211-
1212-
AC_MSG_CHECKING([if bpf PMDA modules using bpf_buffer__new should be included])
1213-
if test "$libbpf_version_major" -eq 0; then
1214-
AC_MSG_RESULT([no (libbpf version required: 1.0.0, installed: $libbpf_version)])
1209+
AC_MSG_CHECKING([which bpf PMDA modules should be included])
1210+
if test $clang_major_version -ge 15; then
1211+
pmdabpf_modules="bashreadline.so"
12151212
else
1216-
pmdabpf_modules="${pmdabpf_modules} mountsnoop.so oomkill.so"
1217-
AC_MSG_RESULT(yes)
1213+
pmdabpf_modules="bashreadline.so"
12181214
fi
1219-
pmdabpf_modules="${pmdabpf_modules} bashreadline.so biolatency.so execsnoop.so exitsnoop.so fsslower.so opensnoop.so runqlat.so statsnoop.so tcpconnect.so tcpconnlat.so vfsstat.so biosnoop.so netatop.so"
1215+
pmdabpf_modules="${pmdabpf_modules} biolatency.so execsnoop.so exitsnoop.so fsslower.so mountsnoop.so oomkill.so opensnoop.so runqlat.so statsnoop.so tcpconnect.so tcpconnlat.so vfsstat.so biosnoop.so netatop.so"
12201216
AC_SUBST(pmdabpf_modules)
1221-
AC_MSG_CHECKING([which bpf PMDA modules should be included])
12221217
AC_MSG_RESULT($pmdabpf_modules)
12231218
fi
12241219

debian/control.pcp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Homepage: https://pcp.io
55
Maintainer: PCP Development Team <[email protected]>
66
Uploaders: Nathan Scott <[email protected]>, Ken McDonell <[email protected]>
77
Rules-Requires-Root: no
8-
Build-Depends: bison, flex, gawk, procps, pkg-config, debhelper (>= 5), ?{perl (>= 5.6)}, libreadline-dev | libreadline5-dev | libreadline-gplv2-dev, chrpath, libbsd-dev [kfreebsd-any], libkvm-dev [kfreebsd-any], ?{python-all}, ?{python-dev}, python3-dev, python3-setuptools, libsasl2-dev, ?{libuv1-dev}, ?{libssl-dev}, libavahi-common-dev, ?{qt-dev}, autotools-dev, zlib1g-dev, autoconf, ?{libclass-dbi-perl}, ?{libdbd-mysql-perl}, ?{python-psycopg2}, ?{python-openpyxl}, ?{dh-python}, ?{libpfm4-dev}, libncurses5-dev, ?{python-six}, ?{python-requests}, ?{libextutils-autoinstall-perl}, ?{libxml-tokeparser-perl}, ?{librrds-perl}, ?{libjson-perl}, ?{libwww-perl}, ?{libnet-snmp-perl}, ?{liblzma-dev}, ?{systemd-pkgconfig}, ?{libsystemd-dev}, ?{python-bpfcc}, ?{bpftrace}, ?{clang}, ?{llvm}, ?{libbpf-dev}, ?{libibumad-dev}, ?{libibmad-dev}, ?{libibverbs-dev}, ?{libinih-dev}, ?{postfix}, ?{libxml-libxml-perl}, ?{libfile-slurp-perl}, ?{libyaml-libyaml-perl}, ?{python-rtslib-fb}, ?{python-libvirt}, ?{python-lxml}, ?{libdrm-dev}, ?{python-pymongo}, ?{python-urllib3}, ?{libdbi-perl}, ?{python-pyodbc}, manpages
8+
Build-Depends: bison, flex, gawk, procps, pkg-config, debhelper (>= 5), ?{perl (>= 5.6)}, libreadline-dev | libreadline5-dev | libreadline-gplv2-dev, chrpath, libbsd-dev [kfreebsd-any], libkvm-dev [kfreebsd-any], ?{python-all}, ?{python-dev}, python3-dev, python3-setuptools, libsasl2-dev, ?{libuv1-dev}, ?{libssl-dev}, libavahi-common-dev, ?{qt-dev}, autotools-dev, zlib1g-dev, autoconf, ?{libclass-dbi-perl}, ?{libdbd-mysql-perl}, ?{python-psycopg2}, ?{python-openpyxl}, ?{dh-python}, ?{libpfm4-dev}, libncurses5-dev, ?{python-six}, ?{python-requests}, ?{libextutils-autoinstall-perl}, ?{libxml-tokeparser-perl}, ?{librrds-perl}, ?{libjson-perl}, ?{libwww-perl}, ?{libnet-snmp-perl}, ?{liblzma-dev}, ?{systemd-pkgconfig}, ?{libsystemd-dev}, ?{python-bpfcc}, ?{bpftrace}, ?{clang}, ?{llvm}, ?{libibumad-dev}, ?{libibmad-dev}, ?{libibverbs-dev}, ?{libinih-dev}, ?{postfix}, ?{libxml-libxml-perl}, ?{libfile-slurp-perl}, ?{libyaml-libyaml-perl}, ?{python-rtslib-fb}, ?{python-libvirt}, ?{python-lxml}, ?{libdrm-dev}, ?{python-pymongo}, ?{python-urllib3}, ?{libdbi-perl}, ?{python-pyodbc}, manpages
99
Standards-Version: 4.7.2
1010
X-Python3-Version: >= 3.6
1111

debian/fixcontrol

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,9 @@ if $PMDA_BPF
9898
then
9999
echo 's/?{clang}, /clang, /' >>$tmp.sed
100100
echo 's/?{llvm}, /llvm, /' >>$tmp.sed
101-
echo 's/?{libbpf-dev}, /libbpf-dev (>= 0.8.0), /' >>$tmp.sed
102101
else
103102
echo 's/?{clang}, //' >>$tmp.sed
104103
echo 's/?{llvm}, //' >>$tmp.sed
105-
echo 's/?{libbpf-dev}, //' >>$tmp.sed
106104
fi
107105

108106
if $PMDA_POSTGRESQL

0 commit comments

Comments
 (0)