[202211] [Mellanox] Update SAI build procedure (#15728) (#15742)

Backport #15728

Why I did it
To optimize Mellanox platform SAI build

Work item tracking
Microsoft ADO (number only):
How I did it
SAI debs are now downloaded as Spectrum-SDK-Drivers-SONiC-Bins release.

How to verify it
Configure/build for Mellanox platform, check the image and ensure that correct SAI debs are included.
This commit is contained in:
Kebo Liu 2023-07-23 21:12:44 +08:00 committed by GitHub
parent 89e2cddb67
commit 19fd6d5b8d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 34 additions and 9 deletions

3
.gitmodules vendored
View File

@ -72,9 +72,6 @@
[submodule "src/scapy"]
path = src/scapy
url = https://github.com/secdev/scapy.git
[submodule "platform/mellanox/mlnx-sai/SAI-Implementation"]
path = platform/mellanox/mlnx-sai/SAI-Implementation
url = https://github.com/Mellanox/SAI-Implementation
[submodule "src/sonic-mgmt-framework"]
path = src/sonic-mgmt-framework
url = https://github.com/sonic-net/sonic-mgmt-framework

View File

@ -1,6 +1,4 @@
# Subdirectories
mlnx-sai/*
!mlnx-sai/Makefile
hw-management/*
!hw-management/Makefile
!hw-management/*.patch

View File

@ -1,8 +1,21 @@
# Mellanox SAI
MLNX_SAI_VERSION = SAIBuild2211.24.0.21
MLNX_SAI_ASSETS_GITHUB_URL = https://github.com/Mellanox/Spectrum-SDK-Drivers-SONiC-Bins
MLNX_SAI_ASSETS_RELEASE_TAG = sai-$(MLNX_SAI_VERSION)-$(BLDENV)-$(CONFIGURED_ARCH)
MLNX_SAI_ASSETS_URL = $(MLNX_ASSETS_GITHUB_URL)/releases/download/$(MLNX_SAI_ASSETS_RELEASE_TAG)
MLNX_SAI_DEB_VERSION = $(subst -,.,$(subst _,.,$(MLNX_SAI_VERSION)))
export MLNX_SAI_VERSION
# Place here URL where SAI sources exist
MLNX_SAI_SOURCE_BASE_URL =
ifneq ($(MLNX_SAI_SOURCE_BASE_URL), )
SAI_FROM_SRC = y
else
SAI_FROM_SRC = n
endif
export MLNX_SAI_VERSION MLNX_SAI_SOURCE_BASE_URL
MLNX_SAI = mlnx-sai_1.mlnx.$(MLNX_SAI_VERSION)_$(CONFIGURED_ARCH).deb
$(MLNX_SAI)_SRC_PATH = $(PLATFORM_PATH)/mlnx-sai
@ -11,4 +24,16 @@ $(MLNX_SAI)_RDEPENDS += $(MLNX_SDK_RDEBS) $(MLNX_SDK_DEBS)
$(eval $(call add_conflict_package,$(MLNX_SAI),$(LIBSAIVS_DEV)))
MLNX_SAI_DBGSYM = mlnx-sai-dbgsym_1.mlnx.$(MLNX_SAI_VERSION)_$(CONFIGURED_ARCH).deb
$(eval $(call add_derived_package,$(MLNX_SAI),$(MLNX_SAI_DBGSYM)))
define make_url
$(1)_URL = $(MLNX_SAI_ASSETS_URL)/$(1)
endef
$(eval $(foreach deb,$(MLNX_SAI) $(MLNX_SAI_DBGSYM),$(call make_url,$(deb))))
ifeq ($(SAI_FROM_SRC), y)
SONIC_MAKE_DEBS += $(MLNX_SAI)
else
SONIC_ONLINE_DEBS += $(MLNX_SAI)
endif

6
platform/mellanox/mlnx-sai/.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore
!Makefile

View File

@ -6,7 +6,8 @@ MAIN_TARGET = mlnx-sai_1.mlnx.$(MLNX_SAI_VERSION)_$(CONFIGURED_ARCH).deb
DERIVED_TARGETS = mlnx-sai-dbgsym_1.mlnx.$(MLNX_SAI_VERSION)_$(CONFIGURED_ARCH).deb
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
pushd SAI-Implementation
rm -rf mlnx_sai
wget -c $(MLNX_SAI_SOURCE_BASE_URL)/$(MLNX_SAI_VERSION).tar.gz -O - | tar -xz
pushd mlnx_sai
chmod a+x autogen.sh
@ -14,4 +15,3 @@ $(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
popd
mv $(DERIVED_TARGETS) $* $(DEST)/
popd

@ -1 +0,0 @@
Subproject commit 3c07c276a725af0b7aa31b41c176a83c152a3512