[Mellanox] Update SAI build procedure (#15728)

= Why I did it
To optimize Mellanox platform SAI build

- 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-15 06:03:33 +08:00 committed by mssonicbld
parent b7dfc5b280
commit 8253fd5c07
6 changed files with 34 additions and 9 deletions

3
.gitmodules vendored
View File

@ -72,9 +72,6 @@
[submodule "src/scapy"] [submodule "src/scapy"]
path = src/scapy path = src/scapy
url = https://github.com/secdev/scapy.git 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"] [submodule "src/sonic-mgmt-framework"]
path = src/sonic-mgmt-framework path = src/sonic-mgmt-framework
url = https://github.com/sonic-net/sonic-mgmt-framework url = https://github.com/sonic-net/sonic-mgmt-framework

View File

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

View File

@ -1,8 +1,21 @@
# Mellanox SAI # Mellanox SAI
MLNX_SAI_VERSION = SAIBuild2305.24.0.1 MLNX_SAI_VERSION = SAIBuild2305.24.0.1
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 = mlnx-sai_1.mlnx.$(MLNX_SAI_VERSION)_$(CONFIGURED_ARCH).deb
$(MLNX_SAI)_SRC_PATH = $(PLATFORM_PATH)/mlnx-sai $(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))) $(eval $(call add_conflict_package,$(MLNX_SAI),$(LIBSAIVS_DEV)))
MLNX_SAI_DBGSYM = mlnx-sai-dbgsym_1.mlnx.$(MLNX_SAI_VERSION)_$(CONFIGURED_ARCH).deb MLNX_SAI_DBGSYM = mlnx-sai-dbgsym_1.mlnx.$(MLNX_SAI_VERSION)_$(CONFIGURED_ARCH).deb
$(eval $(call add_derived_package,$(MLNX_SAI),$(MLNX_SAI_DBGSYM))) $(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) 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,11 +6,11 @@ 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 DERIVED_TARGETS = mlnx-sai-dbgsym_1.mlnx.$(MLNX_SAI_VERSION)_$(CONFIGURED_ARCH).deb
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% : $(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 pushd mlnx_sai
debuild -e 'make_extra_flags="DEFS=-DACS_OS -DCONFIG_SYSLOG"' -us -uc -d -b debuild -e 'make_extra_flags="DEFS=-DACS_OS -DCONFIG_SYSLOG"' -us -uc -d -b
popd popd
mv $(DERIVED_TARGETS) $* $(DEST)/ mv $(DERIVED_TARGETS) $* $(DEST)/
popd

@ -1 +0,0 @@
Subproject commit ec7fa674f143809e602a56b6ef5d279ade8b77d2