From db4de134589a7e598164ddfd6da1c8d231cacbda Mon Sep 17 00:00:00 2001 From: Qi Luo Date: Wed, 9 Nov 2016 14:14:22 -0800 Subject: [PATCH 1/3] Fix Makefile: libnl and libteam dependencies --- Makefile | 8 ++++++-- src/Makefile | 18 +++++++++++------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 87465c04562a..3d7a3bc9b90a 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ MLNX-SDK-DEBS=$(notdir $(wildcard src/mlnx-sdk/*.deb)) BRCM-SDK-DEBS=$(notdir $(wildcard src/brcm-sdk/*.deb)) CAVM-SDK-DEBS=$(notdir $(wildcard src/cavm-sdk/*.deb)) -LIBNL-DEBS=libnl-3-200_3.2.27-1_amd64.deb libnl-genl-3-200_3.2.27-1_amd64.deb libnl-route-3-200_3.2.27-1_amd64.deb libnl-cli-3-200_3.2.27-1_amd64.deb libnl-nf-3-200_3.2.27-1_amd64.deb +LIBNL-DEBS=libnl-3-200_3.2.27-1_amd64.deb libnl-3-dev_3.2.27-1_amd64.deb libnl-genl-3-200_3.2.27-1_amd64.deb libnl-genl-3-dev_3.2.27-1_amd64.deb libnl-route-3-200_3.2.27-1_amd64.deb libnl-route-3-dev_3.2.27-1_amd64.deb libnl-nf-3-200_3.2.27-1_amd64.deb libnl-nf-3-dev_3.2.27-1_amd64.deb libnl-cli-3-200_3.2.27-1_amd64.deb libnl-cli-3-dev_3.2.27-1_amd64.deb LIBTEAM-DEBS=libteam5_1.26-1_amd64.deb libteam-dev_1.26-1_amd64.deb libteam-utils_1.26-1_amd64.deb libteamdctl0_1.26-1_amd64.deb ## Function: build_docker, image_name save_file @@ -31,7 +31,11 @@ endef ## Rules: redirect to sub directory src/%: - $(MAKE) REDIS_VERSION=$(REDIS_VERSION) -C src $(subst src/,,$@) + $(MAKE) \ + REDIS_VERSION=$(REDIS_VERSION) \ + LIBNL-DEBS="$(LIBNL-DEBS)" \ + LIBTEAM-DEBS="$(LIBTEAM-DEBS)" \ + -C src $(subst src/,,$@) ## Rules: docker-fpm dockers/docker-fpm/deps/fpmsyncd: src/fpmsyncd diff --git a/src/Makefile b/src/Makefile index 1f277fbaeb36..18d1a6481e73 100644 --- a/src/Makefile +++ b/src/Makefile @@ -4,6 +4,8 @@ SHELL := /bin/bash REDIS_VERSION=3.2.4-1~bpo8+1_amd64 +LIBNL-DEBS=libnl-3-200_3.2.27-1_amd64.deb libnl-3-dev_3.2.27-1_amd64.deb libnl-genl-3-200_3.2.27-1_amd64.deb libnl-genl-3-dev_3.2.27-1_amd64.deb libnl-route-3-200_3.2.27-1_amd64.deb libnl-route-3-dev_3.2.27-1_amd64.deb libnl-nf-3-200_3.2.27-1_amd64.deb libnl-nf-3-dev_3.2.27-1_amd64.deb libnl-cli-3-200_3.2.27-1_amd64.deb libnl-cli-3-dev_3.2.27-1_amd64.deb +LIBTEAM-DEBS=libteam5_1.26-1_amd64.deb libteam-dev_1.26-1_amd64.deb libteam-utils_1.26-1_amd64.deb libteamdctl0_1.26-1_amd64.deb ## Function: build_project, directory ## Build the project and save the .deb target in the same directory @@ -21,16 +23,18 @@ install_deb = \ [ -f $(1) ] && { sudo dpkg -i $(1) || sudo apt-get -y install -f; } || return 1; ## Rules -libnl-%.deb: +$(LIBNL-DEBS): pushd libnl3; ./build.sh; popd -libteam5_1.26-1_amd64.deb libteam-dev_1.26-1_amd64.deb libteam-utils_1.26-1_amd64.deb libteamdctl0_1.26-1_amd64.deb: libnl-%.deb +$(LIBTEAM-DEBS): $(LIBNL-DEBS) + $(foreach dep, $^, $(call install_deb, $(dep))) pushd libteam; ./build.sh; popd redis-sentinel_$(REDIS_VERSION).deb redis-server_$(REDIS_VERSION).deb redis-tools_$(REDIS_VERSION).deb: pushd redis; ./build.sh; popd libhiredis0.13_0.13.3-2_amd64.deb libhiredis-dbg_0.13.3-2_amd64.deb libhiredis-dev_0.13.3-2_amd64.deb: redis-server_$(REDIS_VERSION).deb redis-tools_$(REDIS_VERSION).deb redis-sentinel_$(REDIS_VERSION).deb + $(foreach dep, $^, $(call install_deb, $(dep))) pushd hiredis; ./build.sh; popd libthrift-0.9.3_0.9.3-2_amd64.deb libthrift-dev_0.9.3-2_amd64.deb python-thrift_0.9.3-2_amd64.deb thrift-compiler_0.9.3-2_amd64.deb: @@ -60,7 +64,7 @@ p4-switch_1.0.0_amd64.deb: thrift-compiler_0.9.3-2_amd64.deb python-thrift_0.9.3 quagga_0.99.24.1-2.1_amd64.deb: $(call build_project, sonic-quagga) -libswsscommon_1.0.0_amd64.deb libswsscommon-dev_1.0.0_amd64.deb: redis-server_$(REDIS_VERSION).deb redis-tools_$(REDIS_VERSION).deb libhiredis0.13_0.13.3-2_amd64.deb libhiredis-dev_0.13.3-2_amd64.deb +libswsscommon_1.0.0_amd64.deb libswsscommon-dev_1.0.0_amd64.deb: redis-server_$(REDIS_VERSION).deb redis-tools_$(REDIS_VERSION).deb libhiredis0.13_0.13.3-2_amd64.deb libhiredis-dev_0.13.3-2_amd64.deb $(LIBNL-DEBS) $(foreach dep, $^, $(call install_deb, $(dep))) $(call build_project, sonic-swss-common) @@ -89,7 +93,7 @@ p4/syncd_1.0.0_amd64.deb p4/libsairedis_1.0.0_amd64.deb p4/libsairedis-dev_1.0.0 cp syncd_1.0.0_amd64.deb libsairedis_1.0.0_amd64.deb libsairedis-dev_1.0.0_amd64.deb libsaimetadata_1.0.0_amd64.deb libsaimetadata-dev_1.0.0_amd64.deb p4/ ## Note: fpmsyncd and teamsyncd are two implicit targets -brcm/swss_1.0.0_amd64.deb: brcm/syncd_1.0.0_amd64.deb brcm/libsairedis_1.0.0_amd64.deb brcm/libsairedis-dev_1.0.0_amd64.deb brcm/libsaimetadata_1.0.0_amd64.deb brcm/libsaimetadata-dev_1.0.0_amd64.deb libteam5_1.26-1_amd64.deb libteamdctl0_1.26-1_amd64.deb libteam-dev_1.26-1_amd64.deb +brcm/swss_1.0.0_amd64.deb: brcm/syncd_1.0.0_amd64.deb brcm/libsairedis_1.0.0_amd64.deb brcm/libsairedis-dev_1.0.0_amd64.deb brcm/libsaimetadata_1.0.0_amd64.deb brcm/libsaimetadata-dev_1.0.0_amd64.deb $(LIBTEAM-DEBS) $(LIBNL-DEBS) $(foreach dep, $^, $(call install_deb, $(dep))) $(call build_project, sonic-swss) cp swss_1.0.0_amd64.deb brcm/ @@ -97,7 +101,7 @@ brcm/swss_1.0.0_amd64.deb: brcm/syncd_1.0.0_amd64.deb brcm/libsairedis_1.0.0_amd cp sonic-swss/debian/swss/usr/bin/teamsyncd . ## Note: fpmsyncd and teamsyncd are two implicit targets -mlnx/swss_1.0.0_amd64.deb: mlnx/syncd_1.0.0_amd64.deb mlnx/libsairedis_1.0.0_amd64.deb mlnx/libsairedis-dev_1.0.0_amd64.deb mlnx/libsaimetadata_1.0.0_amd64.deb mlnx/libsaimetadata-dev_1.0.0_amd64.deb libteam5_1.26-1_amd64.deb libteamdctl0_1.26-1_amd64.deb libteam-dev_1.26-1_amd64.deb +mlnx/swss_1.0.0_amd64.deb: mlnx/syncd_1.0.0_amd64.deb mlnx/libsairedis_1.0.0_amd64.deb mlnx/libsairedis-dev_1.0.0_amd64.deb mlnx/libsaimetadata_1.0.0_amd64.deb mlnx/libsaimetadata-dev_1.0.0_amd64.deb $(LIBTEAM-DEBS) $(LIBNL-DEBS) $(foreach dep, $^, $(call install_deb, $(dep))) $(call build_project, sonic-swss) cp swss_1.0.0_amd64.deb mlnx/ @@ -105,14 +109,14 @@ mlnx/swss_1.0.0_amd64.deb: mlnx/syncd_1.0.0_amd64.deb mlnx/libsairedis_1.0.0_amd cp sonic-swss/debian/swss/usr/bin/teamsyncd . ## Note: fpmsyncd and teamsyncd are two implicit targets -cavm/swss_1.0.0_amd64.deb: cavm/syncd_1.0.0_amd64.deb cavm/libsairedis_1.0.0_amd64.deb cavm/libsairedis-dev_1.0.0_amd64.deb cavm/libsaimetadata_1.0.0_amd64.deb cavm/libsaimetadata-dev_1.0.0_amd64.deb libteam5_1.26-1_amd64.deb libteamdctl0_1.26-1_amd64.deb libteam-dev_1.26-1_amd64.deb +cavm/swss_1.0.0_amd64.deb: cavm/syncd_1.0.0_amd64.deb cavm/libsairedis_1.0.0_amd64.deb cavm/libsairedis-dev_1.0.0_amd64.deb cavm/libsaimetadata_1.0.0_amd64.deb cavm/libsaimetadata-dev_1.0.0_amd64.deb $(LIBTEAM-DEBS) $(LIBNL-DEBS) $(foreach dep, $^, $(call install_deb, $(dep))) $(call build_project, sonic-swss) cp swss_1.0.0_amd64.deb cavm/ cp sonic-swss/debian/swss/usr/bin/fpmsyncd . cp sonic-swss/debian/swss/usr/bin/teamsyncd . -p4/swss_1.0.0_amd64.deb: p4/syncd_1.0.0_amd64.deb p4/libsairedis_1.0.0_amd64.deb p4/libsairedis-dev_1.0.0_amd64.deb p4/libsaimetadata_1.0.0_amd64.deb p4/libsaimetadata-dev_1.0.0_amd64.deb libteam5_1.26-1_amd64.deb libteamdctl0_1.26-1_amd64.deb libteam-dev_1.26-1_amd64.deb +p4/swss_1.0.0_amd64.deb: p4/syncd_1.0.0_amd64.deb p4/libsairedis_1.0.0_amd64.deb p4/libsairedis-dev_1.0.0_amd64.deb p4/libsaimetadata_1.0.0_amd64.deb p4/libsaimetadata-dev_1.0.0_amd64.deb $(LIBTEAM-DEBS) $(LIBNL-DEBS) $(foreach dep, $^, $(call install_deb, $(dep))) $(call build_project, sonic-swss) cp swss_1.0.0_amd64.deb p4/ From 73695d32da323998f01abaa0b12b537dfd82b55a Mon Sep 17 00:00:00 2001 From: Qi Luo Date: Wed, 9 Nov 2016 18:46:49 -0800 Subject: [PATCH 2/3] Fix rule for docker-orchagent deps (brcm) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 3d7a3bc9b90a..c68788bb7444 100644 --- a/Makefile +++ b/Makefile @@ -62,7 +62,7 @@ dockers/docker-orchagent-cavm/deps/%.deb: src/%.deb mkdir -p `dirname $@` && cp $< $(dir $@) ## Rules: docker-orchagent (brcm) -$(addprefix dockers/docker-orchagent/deps/,libsairedis_1.0.0_amd64.deb libsaimetadata_1.0.0_amd64.deb swss_1.0.0_amd64.deb) : dockers/docker-orchagent/deps/%.deb : src/%.deb +$(addprefix dockers/docker-orchagent/deps/,libsairedis_1.0.0_amd64.deb libsaimetadata_1.0.0_amd64.deb swss_1.0.0_amd64.deb) : dockers/docker-orchagent/deps/%.deb : src/brcm/%.deb mkdir -p `dirname $@` && cp $< $(dir $@) dockers/docker-orchagent/deps/%.deb: src/%.deb mkdir -p `dirname $@` && cp $< $(dir $@) From 023c979246cad32c4bdf9fe105309cd95b5f0212 Mon Sep 17 00:00:00 2001 From: Qi Luo Date: Thu, 10 Nov 2016 06:48:44 +0000 Subject: [PATCH 3/3] Install libteam libs by the right order --- Makefile | 2 +- src/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index c68788bb7444..528d483ddc35 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ BRCM-SDK-DEBS=$(notdir $(wildcard src/brcm-sdk/*.deb)) CAVM-SDK-DEBS=$(notdir $(wildcard src/cavm-sdk/*.deb)) LIBNL-DEBS=libnl-3-200_3.2.27-1_amd64.deb libnl-3-dev_3.2.27-1_amd64.deb libnl-genl-3-200_3.2.27-1_amd64.deb libnl-genl-3-dev_3.2.27-1_amd64.deb libnl-route-3-200_3.2.27-1_amd64.deb libnl-route-3-dev_3.2.27-1_amd64.deb libnl-nf-3-200_3.2.27-1_amd64.deb libnl-nf-3-dev_3.2.27-1_amd64.deb libnl-cli-3-200_3.2.27-1_amd64.deb libnl-cli-3-dev_3.2.27-1_amd64.deb -LIBTEAM-DEBS=libteam5_1.26-1_amd64.deb libteam-dev_1.26-1_amd64.deb libteam-utils_1.26-1_amd64.deb libteamdctl0_1.26-1_amd64.deb +LIBTEAM-DEBS=libteam5_1.26-1_amd64.deb libteamdctl0_1.26-1_amd64.deb libteam-dev_1.26-1_amd64.deb libteam-utils_1.26-1_amd64.deb ## Function: build_docker, image_name save_file ## build a docker image and save to a file diff --git a/src/Makefile b/src/Makefile index 18d1a6481e73..0dabdfcf617d 100644 --- a/src/Makefile +++ b/src/Makefile @@ -5,7 +5,7 @@ SHELL := /bin/bash REDIS_VERSION=3.2.4-1~bpo8+1_amd64 LIBNL-DEBS=libnl-3-200_3.2.27-1_amd64.deb libnl-3-dev_3.2.27-1_amd64.deb libnl-genl-3-200_3.2.27-1_amd64.deb libnl-genl-3-dev_3.2.27-1_amd64.deb libnl-route-3-200_3.2.27-1_amd64.deb libnl-route-3-dev_3.2.27-1_amd64.deb libnl-nf-3-200_3.2.27-1_amd64.deb libnl-nf-3-dev_3.2.27-1_amd64.deb libnl-cli-3-200_3.2.27-1_amd64.deb libnl-cli-3-dev_3.2.27-1_amd64.deb -LIBTEAM-DEBS=libteam5_1.26-1_amd64.deb libteam-dev_1.26-1_amd64.deb libteam-utils_1.26-1_amd64.deb libteamdctl0_1.26-1_amd64.deb +LIBTEAM-DEBS=libteam5_1.26-1_amd64.deb libteamdctl0_1.26-1_amd64.deb libteam-dev_1.26-1_amd64.deb libteam-utils_1.26-1_amd64.deb ## Function: build_project, directory ## Build the project and save the .deb target in the same directory