Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions dockers/docker-sonic-sdk-buildenv/Dockerfile.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{% from "dockers/dockerfile-macros.j2" import install_debian_packages, install_python_wheels, copy_files %}
FROM sonic-sdk

ARG base_os_version
ARG docker_database_version
ARG docker_swss_version
ARG docker_syncd_version
ARG image_version

# Make apt-get non-interactive
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
apt-get install -f -y \
build-essential

{% if docker_sonic_sdk_buildenv_debs.strip() -%}
# Copy locally-built Debian package dependencies
{{ copy_files("debs/", docker_sonic_sdk_buildenv_debs.split(' '), "/debs/") }}

# Install locally-built Debian packages and implicitly install their dependencies
{{ install_debian_packages(docker_sonic_sdk_buildenv_debs.split(' ')) }}
{%- endif %}

{% if docker_sonic_sdk_buildenv_whls.strip() %}
# Copy locally-built Python wheel dependencies
{{ copy_files("python-wheels/", docker_sonic_sdk_buildenv_whls.split(' '), "/python-wheels/") }}

# Install locally-built Python wheel dependencies
{{ install_python_wheels(docker_sonic_sdk_buildenv_whls.split(' ')) }}
{% endif %}

# Clean up
RUN apt-get clean -y && \
apt-get autoclean -y && \
apt-get autoremove -y && \
rm -rf /debs /python-wheels/

LABEL com.azure.sonic.sdk.versions.base-os=$base_os_version
LABEL com.azure.sonic.sdk.versions.database=$docker_database_version
LABEL com.azure.sonic.sdk.versions.swss=$docker_swss_version
LABEL com.azure.sonic.sdk.versions.syncd=$docker_syncd_version
LABEL com.azure.sonic.sdk.version.image_hash=$image_version
29 changes: 29 additions & 0 deletions dockers/docker-sonic-sdk/Dockerfile.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{% from "dockers/dockerfile-macros.j2" import install_debian_packages, install_python_wheels, copy_files %}
FROM docker-config-engine-buster

# Make apt-get non-interactive
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update

{% if docker_sonic_sdk_debs.strip() -%}
# Copy locally-built Debian package dependencies
{{ copy_files("debs/", docker_sonic_sdk_debs.split(' '), "/debs/") }}

# Install locally-built Debian packages and implicitly install their dependencies
{{ install_debian_packages(docker_sonic_sdk_debs.split(' ')) }}
{%- endif %}

{% if docker_sonic_sdk_whls.strip() %}
# Copy locally-built Python wheel dependencies
{{ copy_files("python-wheels/", docker_sonic_sdk_whls.split(' '), "/python-wheels/") }}

# Install locally-built Python wheel dependencies
{{ install_python_wheels(docker_sonic_sdk_whls.split(' ')) }}
{% endif %}

# Clean up
RUN apt-get clean -y && \
apt-get autoclean -y && \
apt-get autoremove -y && \
rm -rf /debs /python-wheels/
4 changes: 3 additions & 1 deletion rules/docker-config-engine-buster.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ $(DOCKER_CONFIG_ENGINE_BUSTER)_LOAD_DOCKERS += $(DOCKER_BASE_BUSTER)
$(DOCKER_CONFIG_ENGINE_BUSTER)_FILES += $(SWSS_VARS_TEMPLATE)
$(DOCKER_CONFIG_ENGINE_BUSTER)_FILES += $($(SONIC_CTRMGRD)_CONTAINER_SCRIPT)

$(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_DEPENDS = $($(DOCKER_BASE_BUSTER)_DBG_DEPENDS)
$(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_DEPENDS = $($(DOCKER_BASE_BUSTER)_DBG_DEPENDS) \
$(LIBSWSSCOMMON_DBG) \
$(LIBHIREDIS_DBG)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@stepanblyschak why do we need this?

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hiredis library debug

$(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES = $($(DOCKER_BASE_BUSTER)_DBG_IMAGE_PACKAGES)

SONIC_DOCKER_IMAGES += $(DOCKER_CONFIG_ENGINE_BUSTER)
12 changes: 12 additions & 0 deletions rules/docker-sonic-sdk-buildenv.dep
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

DPATH := $($(DOCKER_SONIC_SDK_BUILDENV)_PATH)
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/docker-sonic-sdk-buildenv.mk rules/docker-sonic-sdk-buildenv.dep
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
DEP_FILES += $(shell git ls-files $(DPATH))

$(DOCKER_SONIC_SDK_BUILDENV)_CACHE_MODE := GIT_CONTENT_SHA
$(DOCKER_SONIC_SDK_BUILDENV)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
$(DOCKER_SONIC_SDK_BUILDENV)_DEP_FILES := $(DEP_FILES)

$(eval $(call add_dbg_docker,$(DOCKER_SONIC_SDK_BUILDENV),$(DOCKER_SONIC_SDK_BUILDENV_DBG)))

29 changes: 29 additions & 0 deletions rules/docker-sonic-sdk-buildenv.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# SONiC SDK Docker Image

DOCKER_SONIC_SDK_BUILDENV_STEM = sonic-sdk-buildenv
DOCKER_SONIC_SDK_BUILDENV = $(DOCKER_SONIC_SDK_BUILDENV_STEM).gz
DOCKER_SONIC_SDK_BUILDENV_DBG = $(DOCKER_SONIC_SDK_BUILDENV_STEM)-$(DBG_IMAGE_MARK).gz

$(DOCKER_SONIC_SDK_BUILDENV)_PATH = $(DOCKERS_PATH)/docker-sonic-sdk-buildenv

$(DOCKER_SONIC_SDK_BUILDENV)_DEPENDS += $(LIBSAIVS) \
$(LIBSAIVS_DEV) \
$(LIBSAIREDIS_DEV) \
$(LIBSAIMETADATA_DEV) \
$(LIBSWSSCOMMON_DEV) \
$(LIBHIREDIS_DEV) \
$(LIBNL3_DEV) \
$(LIBNL_GENL3_DEV) \
$(LIBNL_ROUTE3_DEV) \
$(LIBNL_NF3_DEV) \
$(LIBNL_CLI_DEV)

$(DOCKER_SONIC_SDK_BUILDENV)_DBG_DEPENDS = $($(DOCKER_SONIC_SDK)_DBG_DEPENDS) \
$(LIBSAIVS_DBG)
$(DOCKER_SONIC_SDK_BUILDENV)_DBG_IMAGE_PACKAGES = $($(DOCKER_SONIC_SDK)_DBG_IMAGE_PACKAGES)


$(DOCKER_SONIC_SDK_BUILDENV)_LOAD_DOCKERS += $(DOCKER_SONIC_SDK)

SONIC_DOCKER_IMAGES += $(DOCKER_SONIC_SDK_BUILDENV)
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_SONIC_SDK_BUILDENV_DBG)
12 changes: 12 additions & 0 deletions rules/docker-sonic-sdk.dep
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

DPATH := $($(DOCKER_SONIC_SDK)_PATH)
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/docker-sonic-sdk.mk rules/docker-sonic-sdk.dep
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
DEP_FILES += $(shell git ls-files $(DPATH))

$(DOCKER_SONIC_SDK)_CACHE_MODE := GIT_CONTENT_SHA
$(DOCKER_SONIC_SDK)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
$(DOCKER_SONIC_SDK)_DEP_FILES := $(DEP_FILES)

$(eval $(call add_dbg_docker,$(DOCKER_SONIC_SDK),$(DOCKER_SONIC_SDK_DBG)))

21 changes: 21 additions & 0 deletions rules/docker-sonic-sdk.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# SONiC SDK Docker Image

DOCKER_SONIC_SDK_STEM = sonic-sdk
DOCKER_SONIC_SDK = $(DOCKER_SONIC_SDK_STEM).gz
DOCKER_SONIC_SDK_DBG = $(DOCKER_SONIC_SDK_STEM)-$(DBG_IMAGE_MARK).gz

$(DOCKER_SONIC_SDK)_PATH = $(DOCKERS_PATH)/docker-sonic-sdk

$(DOCKER_SONIC_SDK)_DEPENDS += $(LIBSAIREDIS) \
$(LIBSAIMETADATA)
$(DOCKER_SONIC_SDK)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)

$(DOCKER_SONIC_SDK)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_DEPENDS) \
$(LIBSAIREDIS_DBG) \
$(LIBSAIMETADATA_DBG)
$(DOCKER_SONIC_SDK)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES)

SONIC_DOCKER_IMAGES += $(DOCKER_SONIC_SDK)
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_SONIC_SDK_DBG)

$(DOCKER_SONIC_SDK)_FILES += $(SUPERVISOR_PROC_EXIT_LISTENER_SCRIPT)
7 changes: 6 additions & 1 deletion slave.mk
Original file line number Diff line number Diff line change
Expand Up @@ -754,6 +754,10 @@ $(addprefix $(TARGET_PATH)/, $(DOCKER_IMAGES)) : $(TARGET_PATH)/%.gz : .platform
--build-arg frr_user_uid=$(FRR_USER_UID) \
--build-arg frr_user_gid=$(FRR_USER_GID) \
--build-arg image_version=$(SONIC_IMAGE_VERSION) \
--build-arg base_os_ver=$(BASE_OS_COMPATIBILITY_VERSION) \
--build-arg docker_database_version=$($(DOCKER_DATABASE)_VERSION) \
--build-arg docker_swss_version=$($(DOCKER_ORCHAGENT)_VERSION) \
--build-arg docker_syncd_version=$($(DOCKER_SYNCD_BASE)_VERSION) \
--label Tag=$(SONIC_IMAGE_VERSION) \
-t $* $($*.gz_PATH) $(LOG)
scripts/collect_docker_version_files.sh $* $(TARGET_PATH)
Expand Down Expand Up @@ -818,7 +822,8 @@ SONIC_TARGET_LIST += $(addprefix $(TARGET_PATH)/, $(DOCKER_DBG_IMAGES))

DOCKER_LOAD_TARGETS = $(addsuffix -load,$(addprefix $(TARGET_PATH)/, \
$(SONIC_SIMPLE_DOCKER_IMAGES) \
$(DOCKER_IMAGES)))
$(DOCKER_IMAGES) \
$(DOCKER_DBG_IMAGES)))

$(DOCKER_LOAD_TARGETS) : $(TARGET_PATH)/%.gz-load : .platform docker-start $$(TARGET_PATH)/$$*.gz
$(HEADER)
Expand Down