From ea078e7823bd396d413a4823c72c9043f1924df5 Mon Sep 17 00:00:00 2001
From: Stepan Blyshchak <38952541+stepanblyschak@users.noreply.github.com>
Date: Thu, 18 Apr 2019 12:25:51 +0300
Subject: [PATCH] [buildsystem] Install debug packages in syncd when
 INSTALL_DEBUG_TOOLS=y (#2702)

* [buildsystem] Install debug packages in syncd when INSTALL_DEBUG_TOOLS=y

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
---
 platform/barefoot/docker-syncd-bfn-rpc.mk             | 6 ++++++
 platform/barefoot/docker-syncd-bfn-rpc/Dockerfile.j2  | 2 +-
 platform/barefoot/docker-syncd-bfn.mk                 | 6 ++++++
 platform/broadcom/docker-syncd-brcm-rpc.mk            | 6 ++++++
 platform/broadcom/docker-syncd-brcm-rpc/Dockerfile.j2 | 2 +-
 platform/broadcom/docker-syncd-brcm.mk                | 6 ++++++
 platform/cavium/docker-syncd-cavm-rpc.mk              | 6 ++++++
 platform/cavium/docker-syncd-cavm-rpc/Dockerfile.j2   | 2 +-
 platform/cavium/docker-syncd-cavm.mk                  | 6 ++++++
 platform/centec/docker-syncd-centec-rpc.mk            | 6 ++++++
 platform/centec/docker-syncd-centec-rpc/Dockerfile.j2 | 2 +-
 platform/centec/docker-syncd-centec.mk                | 6 ++++++
 platform/marvell/docker-syncd-mrvl-rpc.mk             | 6 ++++++
 platform/marvell/docker-syncd-mrvl-rpc/Dockerfile.j2  | 2 +-
 platform/marvell/docker-syncd-mrvl.mk                 | 6 ++++++
 platform/mellanox/docker-syncd-mlnx-rpc.mk            | 7 +++++++
 platform/mellanox/docker-syncd-mlnx-rpc/Dockerfile.j2 | 2 +-
 platform/mellanox/docker-syncd-mlnx.mk                | 6 ++++++
 platform/nephos/docker-syncd-nephos-rpc.mk            | 6 ++++++
 platform/nephos/docker-syncd-nephos-rpc/Dockerfile.j2 | 2 +-
 platform/nephos/docker-syncd-nephos.mk                | 6 ++++++
 platform/vs/docker-syncd-vs.mk                        | 6 ++++++
 22 files changed, 98 insertions(+), 7 deletions(-)

diff --git a/platform/barefoot/docker-syncd-bfn-rpc.mk b/platform/barefoot/docker-syncd-bfn-rpc.mk
index c9eb5418a50e..ba0e6d0bae6a 100644
--- a/platform/barefoot/docker-syncd-bfn-rpc.mk
+++ b/platform/barefoot/docker-syncd-bfn-rpc.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_BFN_RPC = docker-syncd-bfn-rpc.gz
 $(DOCKER_SYNCD_BFN_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-bfn-rpc
 $(DOCKER_SYNCD_BFN_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_BFN_RPC)_DEPENDS += $(SYNCD_RPC_DBG) \
+                                   $(LIBSWSSCOMMON_DBG) \
+                                   $(LIBSAIMETADATA_DBG) \
+                                   $(LIBSAIREDIS_DBG)
+endif
 $(DOCKER_SYNCD_BFN_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_BFN)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_BFN_RPC)
 SONIC_STRETCH_DOCKERS += $(DOCKER_SYNCD_BFN_RPC)
diff --git a/platform/barefoot/docker-syncd-bfn-rpc/Dockerfile.j2 b/platform/barefoot/docker-syncd-bfn-rpc/Dockerfile.j2
index 68604d92f6b5..f10eb7fb5267 100644
--- a/platform/barefoot/docker-syncd-bfn-rpc/Dockerfile.j2
+++ b/platform/barefoot/docker-syncd-bfn-rpc/Dockerfile.j2
@@ -9,7 +9,7 @@ debs/{{ deb }}{{' '}}
 {%- endfor -%}
 debs/
 
-RUN dpkg -P syncd
+RUN apt-get purge -y syncd
 
 RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
 {% for deb in docker_syncd_bfn_rpc_debs.split(' ') -%}
diff --git a/platform/barefoot/docker-syncd-bfn.mk b/platform/barefoot/docker-syncd-bfn.mk
index d015b70bad6a..c0425b05a016 100644
--- a/platform/barefoot/docker-syncd-bfn.mk
+++ b/platform/barefoot/docker-syncd-bfn.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_BFN = docker-syncd-bfn.gz
 $(DOCKER_SYNCD_BFN)_PATH = $(PLATFORM_PATH)/docker-syncd-bfn
 $(DOCKER_SYNCD_BFN)_DEPENDS += $(SYNCD)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_BFN)_DEPENDS += $(SYNCD_DBG) \
+                               $(LIBSWSSCOMMON_DBG) \
+                               $(LIBSAIMETADATA_DBG) \
+                               $(LIBSAIREDIS_DBG)
+endif
 $(DOCKER_SYNCD_BFN)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_STRETCH)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_BFN)
 SONIC_STRETCH_DOCKERS += $(DOCKER_SYNCD_BFN)
diff --git a/platform/broadcom/docker-syncd-brcm-rpc.mk b/platform/broadcom/docker-syncd-brcm-rpc.mk
index fa7c0fb797c7..f875dcfb80be 100644
--- a/platform/broadcom/docker-syncd-brcm-rpc.mk
+++ b/platform/broadcom/docker-syncd-brcm-rpc.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_BRCM_RPC = docker-syncd-brcm-rpc.gz
 $(DOCKER_SYNCD_BRCM_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-brcm-rpc
 $(DOCKER_SYNCD_BRCM_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_BRCM_RPC)_DEPENDS += $(SYNCD_RPC_DBG) \
+                                    $(LIBSWSSCOMMON_DBG) \
+                                    $(LIBSAIMETADATA_DBG) \
+                                    $(LIBSAIREDIS_DBG)
+endif
 $(DOCKER_SYNCD_BRCM_RPC)_FILES += $(DSSERVE) $(BCMCMD)
 $(DOCKER_SYNCD_BRCM_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_BRCM)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_BRCM_RPC)
diff --git a/platform/broadcom/docker-syncd-brcm-rpc/Dockerfile.j2 b/platform/broadcom/docker-syncd-brcm-rpc/Dockerfile.j2
index c8f0590023ed..5b4f71144c2f 100644
--- a/platform/broadcom/docker-syncd-brcm-rpc/Dockerfile.j2
+++ b/platform/broadcom/docker-syncd-brcm-rpc/Dockerfile.j2
@@ -9,7 +9,7 @@ debs/{{ deb }}{{' '}}
 {%- endfor -%}
 debs/
 
-RUN dpkg -P syncd
+RUN apt-get purge -y syncd
 
 RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
 {% for deb in docker_syncd_brcm_rpc_debs.split(' ') -%}
diff --git a/platform/broadcom/docker-syncd-brcm.mk b/platform/broadcom/docker-syncd-brcm.mk
index 088437060964..ab2bed9f5b77 100644
--- a/platform/broadcom/docker-syncd-brcm.mk
+++ b/platform/broadcom/docker-syncd-brcm.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_BRCM = docker-syncd-brcm.gz
 $(DOCKER_SYNCD_BRCM)_PATH = $(PLATFORM_PATH)/docker-syncd-brcm
 $(DOCKER_SYNCD_BRCM)_DEPENDS += $(SYNCD)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_BRCM)_DEPENDS += $(SYNCD_DBG) \
+                                $(LIBSWSSCOMMON_DBG) \
+                                $(LIBSAIMETADATA_DBG) \
+                                $(LIBSAIREDIS_DBG)
+endif
 $(DOCKER_SYNCD_BRCM)_FILES += $(DSSERVE) $(BCMCMD)
 $(DOCKER_SYNCD_BRCM)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_BRCM)
diff --git a/platform/cavium/docker-syncd-cavm-rpc.mk b/platform/cavium/docker-syncd-cavm-rpc.mk
index e0136f5324b6..cb1077c5a391 100644
--- a/platform/cavium/docker-syncd-cavm-rpc.mk
+++ b/platform/cavium/docker-syncd-cavm-rpc.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_CAVM_RPC = docker-syncd-cavm-rpc.gz
 $(DOCKER_SYNCD_CAVM_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-cavm-rpc
 $(DOCKER_SYNCD_CAVM_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT) $(CAVM_LIBSAI) $(XP_TOOLS) $(REDIS_TOOLS)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_CAVM_RPC)_DEPENDS += $(SYNCD_RPC_DBG) \
+                                    $(LIBSWSSCOMMON_DBG) \
+                                    $(LIBSAIMETADATA_DBG) \
+                                    $(LIBSAIREDIS_DBG)
+endif
 $(DOCKER_SYNCD_CAVM_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_CAVM)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_CAVM_RPC)
 ifeq ($(ENABLE_SYNCD_RPC),y)
diff --git a/platform/cavium/docker-syncd-cavm-rpc/Dockerfile.j2 b/platform/cavium/docker-syncd-cavm-rpc/Dockerfile.j2
index 0c70dcd8e845..984855434807 100644
--- a/platform/cavium/docker-syncd-cavm-rpc/Dockerfile.j2
+++ b/platform/cavium/docker-syncd-cavm-rpc/Dockerfile.j2
@@ -9,7 +9,7 @@ debs/{{ deb }}{{' '}}
 {%- endfor -%}
 debs/
 
-RUN dpkg -P syncd
+RUN apt-get purge -y syncd
 
 RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
 {% for deb in docker_syncd_cavm_rpc_debs.split(' ') -%}
diff --git a/platform/cavium/docker-syncd-cavm.mk b/platform/cavium/docker-syncd-cavm.mk
index 8a3b0857dadf..5cec8390593f 100644
--- a/platform/cavium/docker-syncd-cavm.mk
+++ b/platform/cavium/docker-syncd-cavm.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_CAVM = docker-syncd-cavm.gz
 $(DOCKER_SYNCD_CAVM)_PATH = $(PLATFORM_PATH)/docker-syncd-cavm
 $(DOCKER_SYNCD_CAVM)_DEPENDS += $(SYNCD) $(CAVM_LIBSAI) $(XP_TOOLS) $(REDIS_TOOLS)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_CAVM)_DEPENDS += $(SYNCD_DBG) \
+                                $(LIBSWSSCOMMON_DBG) \
+                                $(LIBSAIMETADATA_DBG) \
+                                $(LIBSAIREDIS_DBG)
+endif
 $(DOCKER_SYNCD_CAVM)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_CAVM)
 ifneq ($(ENABLE_SYNCD_RPC),y)
diff --git a/platform/centec/docker-syncd-centec-rpc.mk b/platform/centec/docker-syncd-centec-rpc.mk
index 1798a034980d..744f60a71ff1 100644
--- a/platform/centec/docker-syncd-centec-rpc.mk
+++ b/platform/centec/docker-syncd-centec-rpc.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_CENTEC_RPC = docker-syncd-centec-rpc.gz
 $(DOCKER_SYNCD_CENTEC_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-centec-rpc
 $(DOCKER_SYNCD_CENTEC_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_CENTEC_RPC)_DEPENDS += $(SYNCD_RPC_DBG) \
+                                      $(LIBSWSSCOMMON_DBG) \
+                                      $(LIBSAIMETADATA_DBG) \
+                                      $(LIBSAIREDIS_DBG)
+endif
 $(DOCKER_SYNCD_CENTEC_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_CENTEC)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_CENTEC_RPC)
 ifeq ($(ENABLE_SYNCD_RPC),y)
diff --git a/platform/centec/docker-syncd-centec-rpc/Dockerfile.j2 b/platform/centec/docker-syncd-centec-rpc/Dockerfile.j2
index db58e7731be8..2174fd91f919 100644
--- a/platform/centec/docker-syncd-centec-rpc/Dockerfile.j2
+++ b/platform/centec/docker-syncd-centec-rpc/Dockerfile.j2
@@ -9,7 +9,7 @@ debs/{{ deb }}{{' '}}
 {%- endfor -%}
 debs/
 
-RUN dpkg -P syncd
+RUN apt-get purge -y syncd
 
 RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
 {% for deb in docker_syncd_centec_rpc_debs.split(' ') -%}
diff --git a/platform/centec/docker-syncd-centec.mk b/platform/centec/docker-syncd-centec.mk
index c4335ab356ac..7447dd54717b 100644
--- a/platform/centec/docker-syncd-centec.mk
+++ b/platform/centec/docker-syncd-centec.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_CENTEC = docker-syncd-centec.gz
 $(DOCKER_SYNCD_CENTEC)_PATH = $(PLATFORM_PATH)/docker-syncd-centec
 $(DOCKER_SYNCD_CENTEC)_DEPENDS += $(SYNCD)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_CENTEC)_DEPENDS += $(SYNCD_DBG) \
+                                  $(LIBSWSSCOMMON_DBG) \
+                                  $(LIBSAIMETADATA_DBG) \
+                                  $(LIBSAIREDIS_DBG)
+endif
 $(DOCKER_SYNCD_CENTEC)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_CENTEC)
 ifneq ($(ENABLE_SYNCD_RPC),y)
diff --git a/platform/marvell/docker-syncd-mrvl-rpc.mk b/platform/marvell/docker-syncd-mrvl-rpc.mk
index d4002a3d645f..375c6ba91cd1 100644
--- a/platform/marvell/docker-syncd-mrvl-rpc.mk
+++ b/platform/marvell/docker-syncd-mrvl-rpc.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_MRVL_RPC = docker-syncd-mrvl-rpc.gz
 $(DOCKER_SYNCD_MRVL_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-mrvl-rpc
 $(DOCKER_SYNCD_MRVL_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_MRVL_RPC)_DEPENDS += $(SYNCD_RPC_DBG) \
+                                    $(LIBSWSSCOMMON_DBG) \
+                                    $(LIBSAIMETADATA_DBG) \
+                                    $(LIBSAIREDIS_DBG)
+endif
 $(DOCKER_SYNCD_MRVL_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_MRVL)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL_RPC)
 ifeq ($(ENABLE_SYNCD_RPC),y)
diff --git a/platform/marvell/docker-syncd-mrvl-rpc/Dockerfile.j2 b/platform/marvell/docker-syncd-mrvl-rpc/Dockerfile.j2
index 14a4698702f5..cea067d2abf6 100644
--- a/platform/marvell/docker-syncd-mrvl-rpc/Dockerfile.j2
+++ b/platform/marvell/docker-syncd-mrvl-rpc/Dockerfile.j2
@@ -9,7 +9,7 @@ debs/{{ deb }}{{' '}}
 {%- endfor -%}
 debs/
 
-RUN dpkg -P syncd
+RUN apt-get purge -y syncd
 
 RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
 {% for deb in docker_syncd_mrvl_rpc_debs.split(' ') -%}
diff --git a/platform/marvell/docker-syncd-mrvl.mk b/platform/marvell/docker-syncd-mrvl.mk
index 4ee42e9cb904..85c1bf108f69 100644
--- a/platform/marvell/docker-syncd-mrvl.mk
+++ b/platform/marvell/docker-syncd-mrvl.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_MRVL = docker-syncd-mrvl.gz
 $(DOCKER_SYNCD_MRVL)_PATH = $(PLATFORM_PATH)/docker-syncd-mrvl
 $(DOCKER_SYNCD_MRVL)_DEPENDS += $(SYNCD) $(MRVL_FPA) $(REDIS_TOOLS)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_MRVL)_DEPENDS += $(SYNCD_DBG) \
+                                $(LIBSWSSCOMMON_DBG) \
+                                $(LIBSAIMETADATA_DBG) \
+                                $(LIBSAIREDIS_DBG)
+endif
 $(DOCKER_SYNCD_MRVL)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL)
 ifneq ($(ENABLE_SYNCD_RPC),y)
diff --git a/platform/mellanox/docker-syncd-mlnx-rpc.mk b/platform/mellanox/docker-syncd-mlnx-rpc.mk
index 9266c7fcfa38..e5b50404b31f 100644
--- a/platform/mellanox/docker-syncd-mlnx-rpc.mk
+++ b/platform/mellanox/docker-syncd-mlnx-rpc.mk
@@ -3,6 +3,13 @@
 DOCKER_SYNCD_MLNX_RPC = docker-syncd-mlnx-rpc.gz
 $(DOCKER_SYNCD_MLNX_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-mlnx-rpc
 $(DOCKER_SYNCD_MLNX_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_MLNX_RPC)_DEPENDS += $(SYNCD_RPC_DBG) \
+                                    $(LIBSWSSCOMMON_DBG) \
+                                    $(LIBSAIMETADATA_DBG) \
+                                    $(LIBSAIREDIS_DBG)
+endif
+
 $(DOCKER_SYNCD_MLNX_RPC)_PYTHON_DEBS += $(MLNX_SFPD)
 $(DOCKER_SYNCD_MLNX_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_MLNX)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MLNX_RPC)
diff --git a/platform/mellanox/docker-syncd-mlnx-rpc/Dockerfile.j2 b/platform/mellanox/docker-syncd-mlnx-rpc/Dockerfile.j2
index 8c14a100a197..addfa62cd4f4 100644
--- a/platform/mellanox/docker-syncd-mlnx-rpc/Dockerfile.j2
+++ b/platform/mellanox/docker-syncd-mlnx-rpc/Dockerfile.j2
@@ -15,7 +15,7 @@ python-debs/{{ deb }}{{' '}}
 {%- endfor -%}
 debs/
 
-RUN dpkg -P syncd
+RUN apt-get purge -y syncd
 
 RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
 {% for deb in docker_syncd_mlnx_rpc_debs.split(' ') -%}
diff --git a/platform/mellanox/docker-syncd-mlnx.mk b/platform/mellanox/docker-syncd-mlnx.mk
index e229b822bf2a..cbc1ca424afb 100644
--- a/platform/mellanox/docker-syncd-mlnx.mk
+++ b/platform/mellanox/docker-syncd-mlnx.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_MLNX = docker-syncd-mlnx.gz
 $(DOCKER_SYNCD_MLNX)_PATH = $(PLATFORM_PATH)/docker-syncd-mlnx
 $(DOCKER_SYNCD_MLNX)_DEPENDS += $(SYNCD) $(PYTHON_SDK_API)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_MLNX)_DEPENDS += $(SYNCD_DBG) \
+                                $(LIBSWSSCOMMON_DBG) \
+                                $(LIBSAIMETADATA_DBG) \
+                                $(LIBSAIREDIS_DBG)
+endif
 $(DOCKER_SYNCD_MLNX)_PYTHON_DEBS += $(MLNX_SFPD)
 $(DOCKER_SYNCD_MLNX)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_STRETCH)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MLNX)
diff --git a/platform/nephos/docker-syncd-nephos-rpc.mk b/platform/nephos/docker-syncd-nephos-rpc.mk
index e891d0b1a68d..9ee1aeab090c 100644
--- a/platform/nephos/docker-syncd-nephos-rpc.mk
+++ b/platform/nephos/docker-syncd-nephos-rpc.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_NEPHOS_RPC = docker-syncd-nephos-rpc.gz
 $(DOCKER_SYNCD_NEPHOS_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-nephos-rpc
 $(DOCKER_SYNCD_NEPHOS_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_NEPHOS_RPC)_DEPENDS += $(SYNCD_RPC_DBG) \
+                                      $(LIBSWSSCOMMON_DBG) \
+                                      $(LIBSAIMETADATA_DBG) \
+                                      $(LIBSAIREDIS_DBG)
+endif
 $(DOCKER_SYNCD_NEPHOS_RPC)_FILES += $(DSSERVE) $(NPX_DIAG)
 $(DOCKER_SYNCD_NEPHOS_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_NEPHOS)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_NEPHOS_RPC)
diff --git a/platform/nephos/docker-syncd-nephos-rpc/Dockerfile.j2 b/platform/nephos/docker-syncd-nephos-rpc/Dockerfile.j2
index 9a01d4e1e001..b4b4724e47ff 100644
--- a/platform/nephos/docker-syncd-nephos-rpc/Dockerfile.j2
+++ b/platform/nephos/docker-syncd-nephos-rpc/Dockerfile.j2
@@ -9,7 +9,7 @@ debs/{{ deb }}{{' '}}
 {%- endfor -%}
 debs/
 
-RUN dpkg -P syncd
+RUN apt-get purge -y syncd
 
 RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
 {% for deb in docker_syncd_nephos_rpc_debs.split(' ') -%}
diff --git a/platform/nephos/docker-syncd-nephos.mk b/platform/nephos/docker-syncd-nephos.mk
index a79c8524b890..86174506121e 100644
--- a/platform/nephos/docker-syncd-nephos.mk
+++ b/platform/nephos/docker-syncd-nephos.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_NEPHOS = docker-syncd-nephos.gz
 $(DOCKER_SYNCD_NEPHOS)_PATH = $(PLATFORM_PATH)/docker-syncd-nephos
 $(DOCKER_SYNCD_NEPHOS)_DEPENDS += $(SYNCD)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_NEPHOS)_DEPENDS += $(SYNCD_DBG) \
+                                  $(LIBSWSSCOMMON_DBG) \
+                                  $(LIBSAIMETADATA_DBG) \
+                                  $(LIBSAIREDIS_DBG)
+endif
 $(DOCKER_SYNCD_NEPHOS)_FILES += $(DSSERVE) $(NPX_DIAG)
 $(DOCKER_SYNCD_NEPHOS)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_NEPHOS)
diff --git a/platform/vs/docker-syncd-vs.mk b/platform/vs/docker-syncd-vs.mk
index 12fbf65468a9..66d2aa9faed5 100644
--- a/platform/vs/docker-syncd-vs.mk
+++ b/platform/vs/docker-syncd-vs.mk
@@ -3,6 +3,12 @@
 DOCKER_SYNCD_VS = docker-syncd-vs.gz
 $(DOCKER_SYNCD_VS)_PATH = $(PLATFORM_PATH)/docker-syncd-vs
 $(DOCKER_SYNCD_VS)_DEPENDS += $(SYNCD_VS)
+ifeq ($(INSTALL_DEBUG_TOOLS), y)
+$(DOCKER_SYNCD_VS)_DEPENDS += $(SYNCD_VS_DBG) \
+                              $(LIBSWSSCOMMON_DBG) \
+                              $(LIBSAIREDIS_DBG) \
+                              $(LIBSAIVS_DBG)
+endif
 $(DOCKER_SYNCD_VS)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE)
 SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_VS)
 SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_VS)