Rebase to 22.11

Disable more unsupported libraries.
Make use of the new --enable-apps option to only build testpmd.

Resolves: #2129066
This commit is contained in:
David Marchand 2022-11-16 13:29:35 +01:00 committed by Timothy Redaelli
parent 66901848bd
commit 592991cef1
3 changed files with 34 additions and 15 deletions

1
.gitignore vendored
View File

@ -12,3 +12,4 @@
/pyelftools-0.27.tar.gz
/dpdk-21.11.1.tar.xz
/dpdk-21.11.2.tar.xz
/dpdk-22.11.tar.xz

View File

@ -8,7 +8,7 @@
#% define date 20191128
#% define shortcommit0 %(c=%{commit0}; echo ${c:0:7})
%define ver 21.11.2
%define ver 22.11
%define rel 1
%define srcname dpdk%(awk -F. '{ if (NF > 2) print "-stable" }' <<<%{version})
@ -31,8 +31,6 @@ Source: http://fast.dpdk.org/rel/dpdk-%{ver}.tar.xz
# Only needed for creating snapshot tarballs, not used in build itself
Source100: dpdk-snapshot.sh
Patch1: 0001-vhost-fix-virtqueue-use-after-free-on-NUMA-reallocat.patch
Summary: Set of libraries and drivers for fast packet processing
#
@ -125,6 +123,14 @@ as L2 and L3 forwarding.
export PYTHONPATH=$(pwd)/pyelftools-%{pyelftoolsver}
%endif
ENABLED_APPS=(
test-pmd
)
for app in "${ENABLED_APPS[@]}"; do
enable_apps="${enable_apps:+$enable_apps,}"$app
done
ENABLED_DRIVERS=(
bus/pci
bus/vdev
@ -163,13 +169,15 @@ ENABLED_DRIVERS+=(
)
%endif
for driver in ${ENABLED_DRIVERS[@]}; do
for driver in "${ENABLED_DRIVERS[@]}"; do
enable_drivers="${enable_drivers:+$enable_drivers,}"$driver
done
# As of 21.11-rc3, following libraries can be disabled:
# As of 22.11, following libraries can be disabled:
# optional_libs = [
# 'bitratestats',
# 'cfgfile',
# 'flow_classify',
# 'gpudev',
# 'gro',
# 'gso',
@ -177,17 +185,27 @@ done
# 'jobstats',
# 'latencystats',
# 'metrics',
# 'node',
# 'pdump',
# 'pipeline',
# 'port',
# 'power',
# 'table',
# 'vhost',
# ]
# If doing any updates, this must be aligned with:
# https://access.redhat.com/articles/3538141
DISABLED_LIBS=(
cfgfile
flow_classify
gpudev
kni
jobstats
node
pipeline
port
power
table
)
for lib in "${DISABLED_LIBS[@]}"; do
@ -198,6 +216,7 @@ done
--default-library=shared \
-Ddisable_libs="$disable_libs" \
-Ddrivers_install_subdir=dpdk-pmds \
-Denable_apps="$enable_apps" \
-Denable_docs=true \
-Denable_drivers="$enable_drivers" \
-Dplatform=generic \
@ -207,14 +226,14 @@ done
# Check drivers and libraries
for driver in "${ENABLED_DRIVERS[@]}"; do
config_token=RTE_$(echo $driver | tr [a-z/] [A-Z_])
! grep -q $config_token */rte_build_config.h || continue
config_token="RTE_$(echo "$driver" | tr [a-z/] [A-Z_])"
! grep -Fqw "$config_token" */rte_build_config.h || continue
echo "!!! Could not find $driver in rte_build_config.h, please check dependencies. !!!"
false
done
for lib in "${DISABLED_LIBS[@]}"; do
config_token=RTE_LIB_$(echo $lib | tr [a-z/] [A-Z_])
grep -q $config_token */rte_build_config.h || continue
config_token="RTE_LIB_$(echo "$lib" | tr [a-z/] [A-Z_])"
grep -Fqw "$config_token" */rte_build_config.h || continue
echo "!!! Found $lib in rte_build_config.h. !!!"
false
done
@ -223,12 +242,8 @@ done
%install
%meson_install
rm -f %{buildroot}%{_bindir}/dpdk-dumpcap
rm -f %{buildroot}%{_bindir}/dpdk-pdump
rm -f %{buildroot}%{_bindir}/dpdk-proc-info
rm -f %{buildroot}%{_bindir}/dpdk-test{,-acl,-bbdev,-cmdline,-compress-perf,-crypto-perf,-eventdev,-pipeline,-sad,-fib,-flow-perf,-regex}
rm -f %{buildroot}%{_libdir}/*.a
# Taked from debian/rules
# Taken from debian/rules
rm -f %{docdir}/html/.buildinfo
rm -f %{docdir}/html/objects.inv
rm -rf %{docdir}/html/.doctrees
@ -273,6 +288,9 @@ rm -rf %{docdir}/html/.doctrees
%endif
%changelog
* Mon Jan 23 2023 Timothy Redaelli <tredaelli@redhat.com> - 22.11-1
- Rebase to 22.11 (#2129066)
* Mon Sep 12 2022 Timothy Redaelli <tredaelli@redhat.com> - 21.11.2-1
- Rebase to 21.11.2 (#2126159)
- Includes fixes for CVE-2022-2132 (#2107173) and CVE-2022-28199 (#2123616)

View File

@ -1,2 +1,2 @@
SHA512 (dpdk-21.11.2.tar.xz) = bd33501c309d3285f5dcb44631f759d85e2c25980cd70644259c97ab86f4b2d59402c3b214c220f872ba0c7da02f1e3f0693b6c638b99e92773e2fb286e26c8e
SHA512 (dpdk-22.11.tar.xz) = 69dff391bf619c6fa206d856fe85450629046554c7759707b20a862ac66ab40f2c22e485dc41160886be2cdfc0f779c16796235639817dadc3c0844ae9565f59
SHA512 (pyelftools-0.27.tar.gz) = bb0a00e5500016e3d4f64be0a728e190f84b11a805f78d668b5a74716a30400e6794946f198ef4a3f3b8f64a63deb1b5a96180b09e56b7357b988b28e25fad0a