hs-test: optimize size of docker image
[vpp.git] / Makefile
index 6f5bc9b..743be51 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -70,7 +70,7 @@ DEB_DEPENDS += python3-all python3-setuptools check
 DEB_DEPENDS += libffi-dev python3-ply
 DEB_DEPENDS += cmake ninja-build uuid-dev python3-jsonschema python3-yaml
 DEB_DEPENDS += python3-venv  # ensurepip
-DEB_DEPENDS += python3-dev   # needed for python3 -m pip install psutil
+DEB_DEPENDS += python3-dev python3-pip
 DEB_DEPENDS += libnl-3-dev libnl-route-3-dev libmnl-dev
 # DEB_DEPENDS += enchant  # for docs
 DEB_DEPENDS += python3-virtualenv
@@ -78,10 +78,18 @@ DEB_DEPENDS += libssl-dev
 DEB_DEPENDS += libelf-dev # for libbpf (af_xdp)
 DEB_DEPENDS += iperf3 # for 'make test TEST=vcl'
 DEB_DEPENDS += nasm
+DEB_DEPENDS += iperf ethtool  # for 'make test TEST=vm_vpp_interfaces'
 
 LIBFFI=libffi6 # works on all but 20.04 and debian-testing
 
-ifeq ($(OS_VERSION_ID),20.04)
+ifeq ($(OS_VERSION_ID),22.04)
+       DEB_DEPENDS += python3-virtualenv
+       DEB_DEPENDS += libssl-dev
+       DEB_DEPENDS += libelf-dev # for libbpf (af_xdp)
+       DEB_DEPENDS += clang clang-format-11
+       LIBFFI=libffi7
+       DEB_DEPENDS += enchant-2  # for docs
+else ifeq ($(OS_VERSION_ID),20.04)
        DEB_DEPENDS += python3-virtualenv
        DEB_DEPENDS += libssl-dev
        DEB_DEPENDS += libelf-dev # for libbpf (af_xdp)
@@ -133,6 +141,7 @@ else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
        RPM_DEPENDS += python2-devel python36-devel python3-ply
        RPM_DEPENDS += python3-virtualenv python3-jsonschema
        RPM_DEPENDS += libarchive cmake
+       RPM_DEPENDS += infiniband-diags libibumad
        RPM_DEPENDS_GROUPS = 'Development Tools'
 else
        RPM_DEPENDS += yum-utils
@@ -157,25 +166,18 @@ RPM_DEPENDS_DEBUG += yum-plugin-auto-update-debug-info
 RPM_SUSE_BUILDTOOLS_DEPS = autoconf automake ccache check-devel chrpath
 RPM_SUSE_BUILDTOOLS_DEPS += clang cmake indent libtool make ninja python3-ply
 
-RPM_SUSE_DEVEL_DEPS = glibc-devel-static libnuma-devel libelf-devel nasm
-RPM_SUSE_DEVEL_DEPS += libopenssl-devel openssl-devel libuuid-devel
+RPM_SUSE_DEVEL_DEPS = glibc-devel-static libnuma-devel libelf-devel
+RPM_SUSE_DEVEL_DEPS += libopenssl-devel libuuid-devel lsb-release
+RPM_SUSE_DEVEL_DEPS += curl libstdc++-devel bison gcc-c++ zlib-devel
 
-RPM_SUSE_PYTHON_DEPS = python-devel python3-devel python-pip python3-pip
-RPM_SUSE_PYTHON_DEPS += python-rpm-macros python3-rpm-macros
+RPM_SUSE_PYTHON_DEPS = python3-devel python3-pip python3-rpm-macros
 
-RPM_SUSE_PLATFORM_DEPS = distribution-release shadow rpm-build
+RPM_SUSE_PLATFORM_DEPS = shadow rpm-build
 
 ifeq ($(OS_ID),opensuse-leap)
-ifeq ($(OS_VERSION_ID),15.3)
-       RPM_SUSE_DEVEL_DEPS += curl libstdc++-devel bison gcc-c++ zlib-devel xmlto
-       RPM_SUSE_DEVEL_DEPS += lsb-release
-       RPM_SUSE_DEVEL_DEPS += asciidoc git
-       RPM_SUSE_PYTHON_DEPS += python3 python2-ply
-endif
-ifeq ($(OS_VERSION_ID),15.0)
-       RPM_SUSE_DEVEL_DEPS += gcc git curl
-       RPM_SUSE_PYTHON_DEPS += python3-ply python2-virtualenv
-endif
+       RPM_SUSE_DEVEL_DEPS += xmlto openssl-devel asciidoc git nasm
+       RPM_SUSE_PYTHON_DEPS += python3 python3-ply python3-virtualenv
+       RPM_SUSE_PLATFORM_DEPS += distribution-release
 endif
 
 RPM_SUSE_DEPENDS += $(RPM_SUSE_BUILDTOOLS_DEPS) $(RPM_SUSE_DEVEL_DEPS) $(RPM_SUSE_PYTHON_DEPS) $(RPM_SUSE_PLATFORM_DEPS)
@@ -186,7 +188,7 @@ endif
 
 ifeq ($(findstring y,$(UNATTENDED)),y)
 CONFIRM=-y
-FORCE=--force-yes
+FORCE=--allow-downgrades --allow-remove-essential --allow-change-held-packages
 endif
 
 TARGETS = vpp
@@ -333,7 +335,7 @@ else ifeq ($(OS_ID),fedora)
        @sudo -E dnf install $(CONFIRM) $(RPM_DEPENDS)
        @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs zlib
 endif
-else ifeq ($(filter opensuse-leap,$(OS_ID)),$(OS_ID))
+else ifeq ($(filter opensuse-leap-15.3 opensuse-leap-15.4 ,$(OS_ID)-$(OS_VERSION_ID)),$(OS_ID)-$(OS_VERSION_ID))
        @sudo -E zypper refresh
        @sudo -E zypper install  -y $(RPM_SUSE_DEPENDS)
 else
@@ -679,7 +681,7 @@ checkstyle-python:
        @make -C test checkstyle-python-all
 
 .PHONY: checkstyle-all
-checkstyle-all: checkstyle-commit checkstyle checkstyle-python
+checkstyle-all: checkstyle-commit checkstyle checkstyle-python docs-spell
 
 .PHONY: fixstyle
 fixstyle:
@@ -740,7 +742,7 @@ docs:
 
 .PHONY: pkg-verify
 pkg-verify: install-dep $(BR)/.deps.ok install-ext-deps
-       $(call banner,"Building for PLATFORM=vpp using gcc")
+       $(call banner,"Building for PLATFORM=vpp")
        @make -C build-root PLATFORM=vpp TAG=vpp wipe-all install-packages
        $(call banner,"Building sample-plugin")
        @make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install
@@ -749,7 +751,8 @@ pkg-verify: install-dep $(BR)/.deps.ok install-ext-deps
        $(call banner,"Building $(PKG) packages")
        @make pkg-$(PKG)
 
-MAKE_VERIFY_GATE_OS ?= ubuntu-20.04
+# Note: 'make verify' target is not used by ci-management scripts
+MAKE_VERIFY_GATE_OS ?= ubuntu-22.04
 .PHONY: verify
 verify: pkg-verify
 ifeq ($(OS_ID)-$(OS_VERSION_ID),$(MAKE_VERIFY_GATE_OS))
@@ -760,3 +763,7 @@ ifeq ($(OS_ID)-$(OS_VERSION_ID),$(MAKE_VERIFY_GATE_OS))
 else
        $(call banner,"Skipping tests. Tests under 'make verify' supported on $(MAKE_VERIFY_GATE_OS)")
 endif
+
+.PHONY: check-dpdk-mlx
+check-dpdk-mlx:
+       @[ $$(make -sC build/external dpdk-show-DPDK_MLX_DEFAULT) = y ]
\ No newline at end of file