[build]: put stretch debian packages under target/debs/stretch/ (#2519)
* [build]: put stretch debian packages under target/debs/stretch/ * in stretch build phase, all debian packages built in that stage are placed under target/debs/stretch directory. * for python-based debian packages, since they are really the same for jessie and stretch, they are placed under target/python-debs directory. Signed-off-by: Guohan Lu <gulv@microsoft.com>
This commit is contained in:
parent
3d0d0077d7
commit
f20665008c
@ -103,6 +103,7 @@ DOCKER_BUILD = docker build --no-cache \
|
|||||||
|
|
||||||
SONIC_BUILD_INSTRUCTION := make \
|
SONIC_BUILD_INSTRUCTION := make \
|
||||||
-f slave.mk \
|
-f slave.mk \
|
||||||
|
BLDENV=$(BLDENV) \
|
||||||
PLATFORM=$(PLATFORM) \
|
PLATFORM=$(PLATFORM) \
|
||||||
BUILD_NUMBER=$(BUILD_NUMBER) \
|
BUILD_NUMBER=$(BUILD_NUMBER) \
|
||||||
BUILD_TIMESTAMP=$(BUILD_TIMESTAMP) \
|
BUILD_TIMESTAMP=$(BUILD_TIMESTAMP) \
|
||||||
|
@ -114,11 +114,11 @@ sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c 'cd /dev && MAKEDEV generic'
|
|||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install busybox
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install busybox
|
||||||
echo '[INFO] Install SONiC linux kernel image'
|
echo '[INFO] Install SONiC linux kernel image'
|
||||||
## Note: duplicate apt-get command to ensure every line return zero
|
## Note: duplicate apt-get command to ensure every line return zero
|
||||||
sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/initramfs-tools-core_*.deb || \
|
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/initramfs-tools-core_*.deb || \
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||||
sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/initramfs-tools_*.deb || \
|
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/initramfs-tools_*.deb || \
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||||
sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/linux-image-${LINUX_KERNEL_VERSION}-amd64_*.deb || \
|
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/linux-image-${LINUX_KERNEL_VERSION}-amd64_*.deb || \
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install acl
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install acl
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/union-fsck
|
|||||||
pushd $FILESYSTEM_ROOT/usr/share/initramfs-tools/scripts/init-bottom && sudo patch -p1 < $OLDPWD/files/initramfs-tools/udev.patch; popd
|
pushd $FILESYSTEM_ROOT/usr/share/initramfs-tools/scripts/init-bottom && sudo patch -p1 < $OLDPWD/files/initramfs-tools/udev.patch; popd
|
||||||
|
|
||||||
## Install latest intel ixgbe driver
|
## Install latest intel ixgbe driver
|
||||||
sudo cp target/files/ixgbe.ko $FILESYSTEM_ROOT/lib/modules/${LINUX_KERNEL_VERSION}-amd64/kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko
|
sudo cp target/files/stretch/ixgbe.ko $FILESYSTEM_ROOT/lib/modules/${LINUX_KERNEL_VERSION}-amd64/kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko
|
||||||
|
|
||||||
## Install docker
|
## Install docker
|
||||||
echo '[INFO] Install docker'
|
echo '[INFO] Install docker'
|
||||||
|
@ -24,6 +24,18 @@ RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return
|
|||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
|
{% if docker_platform_monitor_pydebs.strip() -%}
|
||||||
|
# Copy locally-built Debian package dependencies
|
||||||
|
{%- for deb in docker_platform_monitor_pydebs.split(' ') %}
|
||||||
|
COPY python-debs/{{ deb }} /debs/
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
# Install locally-built Debian packages and implicitly install their dependencies
|
||||||
|
{%- for deb in docker_platform_monitor_pydebs.split(' ') %}
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /debs/{{ deb }}
|
||||||
|
{%- endfor %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
{% if docker_platform_monitor_whls.strip() -%}
|
{% if docker_platform_monitor_whls.strip() -%}
|
||||||
# Copy locally-built Python wheel dependencies
|
# Copy locally-built Python wheel dependencies
|
||||||
{%- for whl in docker_platform_monitor_whls.split(' ') %}
|
{%- for whl in docker_platform_monitor_whls.split(' ') %}
|
||||||
|
@ -102,7 +102,7 @@ sudo rm -rf $FILESYSTEM_ROOT/$PLATFORM_COMMON_PY2_WHEEL_NAME
|
|||||||
# Install built Python Click package (and its dependencies via 'apt-get -y install -f')
|
# Install built Python Click package (and its dependencies via 'apt-get -y install -f')
|
||||||
# Do this before installing sonic-utilities so that it doesn't attempt to install
|
# Do this before installing sonic-utilities so that it doesn't attempt to install
|
||||||
# an older version as part of its dependencies
|
# an older version as part of its dependencies
|
||||||
sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/python-click*_all.deb || \
|
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/python-click*_all.deb || \
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||||
|
|
||||||
# Install python pexpect used by sonic-utilities consutil
|
# Install python pexpect used by sonic-utilities consutil
|
||||||
@ -113,7 +113,7 @@ sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install pexpect
|
|||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install tabulate==0.8.2
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install tabulate==0.8.2
|
||||||
|
|
||||||
# Install SONiC Utilities (and its dependencies via 'apt-get -y install -f')
|
# Install SONiC Utilities (and its dependencies via 'apt-get -y install -f')
|
||||||
sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/python-sonic-utilities_*.deb || \
|
sudo dpkg --root=$FILESYSTEM_ROOT -i $python_debs_path/python-sonic-utilities_*.deb || \
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||||
|
|
||||||
# SONiC utilities installs bash-completion as a dependency. However, it is disabled by default
|
# SONiC utilities installs bash-completion as a dependency. However, it is disabled by default
|
||||||
@ -121,15 +121,15 @@ sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/python-sonic-utilities_*.deb ||
|
|||||||
sudo cp -f $IMAGE_CONFIGS/bash/bash.bashrc $FILESYSTEM_ROOT/etc/
|
sudo cp -f $IMAGE_CONFIGS/bash/bash.bashrc $FILESYSTEM_ROOT/etc/
|
||||||
|
|
||||||
# Install SONiC Device Data (and its dependencies via 'apt-get -y install -f')
|
# Install SONiC Device Data (and its dependencies via 'apt-get -y install -f')
|
||||||
sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/sonic-device-data_*.deb || \
|
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/sonic-device-data_*.deb || \
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||||
|
|
||||||
# Install pam-tacplus and nss-tacplus
|
# Install pam-tacplus and nss-tacplus
|
||||||
sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/libtac2_*.deb || \
|
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/libtac2_*.deb || \
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||||
sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/libpam-tacplus_*.deb || \
|
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/libpam-tacplus_*.deb || \
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||||
sudo dpkg --root=$FILESYSTEM_ROOT -i target/debs/libnss-tacplus_*.deb || \
|
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/libnss-tacplus_*.deb || \
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
|
||||||
# Disable tacplus by default
|
# Disable tacplus by default
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT pam-auth-update --remove tacplus
|
sudo LANG=C chroot $FILESYSTEM_ROOT pam-auth-update --remove tacplus
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
CAVM_PLATFORM_DEB = cavm_platform_modules.deb
|
CAVM_PLATFORM_DEB = cavm_platform_modules.deb
|
||||||
$(CAVM_PLATFORM_DEB)_SRC_PATH = $(PLATFORM_PATH)/cavm_platform_modules
|
$(CAVM_PLATFORM_DEB)_SRC_PATH = $(PLATFORM_PATH)/cavm_platform_modules
|
||||||
SONIC_MAKE_DEBS += $(CAVM_PLATFORM_DEB)
|
SONIC_MAKE_DEBS += $(CAVM_PLATFORM_DEB)
|
||||||
|
SONIC_STRETCH_DEBS += $(CAVM_PLATFORM_DEB)
|
||||||
|
@ -4,3 +4,4 @@ CAVM_XPNET_DEB = xp80-Pcie-Endpoint.deb
|
|||||||
$(CAVM_XPNET_DEB)_URL = $(CAVM_SAI_URL)/netdev/$(CAVM_XPNET_DEB)
|
$(CAVM_XPNET_DEB)_URL = $(CAVM_SAI_URL)/netdev/$(CAVM_XPNET_DEB)
|
||||||
|
|
||||||
SONIC_ONLINE_DEBS += $(CAVM_XPNET_DEB)
|
SONIC_ONLINE_DEBS += $(CAVM_XPNET_DEB)
|
||||||
|
SONIC_STRETCH_DEBS += $(CAVM_XPNET_DEB)
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
DOCKER_SAISERVER_MLNX = docker-saiserver-mlnx.gz
|
DOCKER_SAISERVER_MLNX = docker-saiserver-mlnx.gz
|
||||||
$(DOCKER_SAISERVER_MLNX)_PATH = $(PLATFORM_PATH)/docker-saiserver-mlnx
|
$(DOCKER_SAISERVER_MLNX)_PATH = $(PLATFORM_PATH)/docker-saiserver-mlnx
|
||||||
$(DOCKER_SAISERVER_MLNX)_DEPENDS += $(SAISERVER) $(PYTHON_SDK_API) $(MLNX_SFPD) $(CRIU)
|
$(DOCKER_SAISERVER_MLNX)_DEPENDS += $(SAISERVER) $(PYTHON_SDK_API)
|
||||||
|
$(DOCKER_SAISERVER_MLNX)_PYTHON_DEBS += $(MLNX_SFPD)
|
||||||
$(DOCKER_SAISERVER_MLNX)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE)
|
$(DOCKER_SAISERVER_MLNX)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE)
|
||||||
SONIC_DOCKER_IMAGES += $(DOCKER_SAISERVER_MLNX)
|
SONIC_DOCKER_IMAGES += $(DOCKER_SAISERVER_MLNX)
|
||||||
|
|
||||||
|
@ -14,6 +14,12 @@ debs/{{ deb }}{{' '}}
|
|||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
debs/
|
debs/
|
||||||
|
|
||||||
|
COPY \
|
||||||
|
{% for deb in docker_saiserver_mlnx_pydebs.split(' ') -%}
|
||||||
|
python-debs/{{ deb }}{{' '}}
|
||||||
|
{%- endfor -%}
|
||||||
|
debs/
|
||||||
|
|
||||||
RUN apt-get install -y --no-install-recommends libxml2 iptables libbsd0 protobuf-c-compiler protobuf-compiler python-protobuf libprotobuf-c1 python-future python-ipaddr libnet1 pkg-config asciidoc xmlto
|
RUN apt-get install -y --no-install-recommends libxml2 iptables libbsd0 protobuf-c-compiler protobuf-compiler python-protobuf libprotobuf-c1 python-future python-ipaddr libnet1 pkg-config asciidoc xmlto
|
||||||
|
|
||||||
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
|
||||||
@ -21,6 +27,11 @@ RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return
|
|||||||
dpkg_apt debs/{{ deb }}{{'; '}}
|
dpkg_apt debs/{{ deb }}{{'; '}}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
|
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
|
||||||
|
{% for deb in docker_saiserver_mlnx_pydebs.split(' ') -%}
|
||||||
|
dpkg_apt debs/{{ deb }}{{'; '}}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
COPY ["start.sh", "/usr/bin/"]
|
COPY ["start.sh", "/usr/bin/"]
|
||||||
|
|
||||||
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
|
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
DOCKER_SYNCD_MLNX_RPC = docker-syncd-mlnx-rpc.gz
|
DOCKER_SYNCD_MLNX_RPC = docker-syncd-mlnx-rpc.gz
|
||||||
$(DOCKER_SYNCD_MLNX_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-mlnx-rpc
|
$(DOCKER_SYNCD_MLNX_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-mlnx-rpc
|
||||||
$(DOCKER_SYNCD_MLNX_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT) $(MLNX_SFPD)
|
$(DOCKER_SYNCD_MLNX_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT)
|
||||||
|
$(DOCKER_SYNCD_MLNX_RPC)_PYTHON_DEBS += $(MLNX_SFPD)
|
||||||
$(DOCKER_SYNCD_MLNX_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_MLNX)
|
$(DOCKER_SYNCD_MLNX_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_MLNX)
|
||||||
SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MLNX_RPC)
|
SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MLNX_RPC)
|
||||||
ifeq ($(ENABLE_SYNCD_RPC),y)
|
ifeq ($(ENABLE_SYNCD_RPC),y)
|
||||||
|
@ -9,6 +9,12 @@ debs/{{ deb }}{{' '}}
|
|||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
debs/
|
debs/
|
||||||
|
|
||||||
|
COPY \
|
||||||
|
{% for deb in docker_syncd_mlnx_rpc_pydebs.split(' ') -%}
|
||||||
|
python-debs/{{ deb }}{{' '}}
|
||||||
|
{%- endfor -%}
|
||||||
|
debs/
|
||||||
|
|
||||||
RUN dpkg -P syncd
|
RUN dpkg -P syncd
|
||||||
|
|
||||||
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
|
||||||
@ -16,6 +22,10 @@ RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return
|
|||||||
dpkg_apt debs/{{ deb }}{{'; '}}
|
dpkg_apt debs/{{ deb }}{{'; '}}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
|
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
|
||||||
|
{% for deb in docker_syncd_mlnx_rpc_pydebs.split(' ') -%}
|
||||||
|
dpkg_apt debs/{{ deb }}{{'; '}}
|
||||||
|
|
||||||
## Pre-install the fundamental packages
|
## Pre-install the fundamental packages
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get -y install \
|
&& apt-get -y install \
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
DOCKER_SYNCD_MLNX = docker-syncd-mlnx.gz
|
DOCKER_SYNCD_MLNX = docker-syncd-mlnx.gz
|
||||||
$(DOCKER_SYNCD_MLNX)_PATH = $(PLATFORM_PATH)/docker-syncd-mlnx
|
$(DOCKER_SYNCD_MLNX)_PATH = $(PLATFORM_PATH)/docker-syncd-mlnx
|
||||||
$(DOCKER_SYNCD_MLNX)_DEPENDS += $(SYNCD) $(PYTHON_SDK_API) $(MLNX_SFPD)
|
$(DOCKER_SYNCD_MLNX)_DEPENDS += $(SYNCD) $(PYTHON_SDK_API)
|
||||||
|
$(DOCKER_SYNCD_MLNX)_PYTHON_DEBS += $(MLNX_SFPD)
|
||||||
$(DOCKER_SYNCD_MLNX)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE)
|
$(DOCKER_SYNCD_MLNX)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE)
|
||||||
SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MLNX)
|
SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MLNX)
|
||||||
ifneq ($(ENABLE_SYNCD_RPC),y)
|
ifneq ($(ENABLE_SYNCD_RPC),y)
|
||||||
|
@ -14,6 +14,12 @@ debs/{{ deb }}{{' '}}
|
|||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
debs/
|
debs/
|
||||||
|
|
||||||
|
COPY \
|
||||||
|
{% for deb in docker_syncd_mlnx_pydebs.split(' ') -%}
|
||||||
|
python-debs/{{ deb }}{{' '}}
|
||||||
|
{%- endfor -%}
|
||||||
|
debs/
|
||||||
|
|
||||||
RUN apt-get install -y libxml2
|
RUN apt-get install -y libxml2
|
||||||
|
|
||||||
RUN dpkg -i \
|
RUN dpkg -i \
|
||||||
@ -21,6 +27,11 @@ RUN dpkg -i \
|
|||||||
debs/{{ deb }}{{' '}}
|
debs/{{ deb }}{{' '}}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
|
|
||||||
|
RUN dpkg -i \
|
||||||
|
{% for deb in docker_syncd_mlnx_pydebs.split(' ') -%}
|
||||||
|
debs/{{ deb }}{{' '}}
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
COPY ["start.sh", "/usr/bin/"]
|
COPY ["start.sh", "/usr/bin/"]
|
||||||
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
|
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
|
||||||
|
|
||||||
|
@ -55,4 +55,4 @@ $(eval $(foreach deb,$(MLNX_SDK_RDEBS),$(call make_url,$(deb))))
|
|||||||
$(eval $(foreach deb,$(PYTHON_SDK_API) $(SX_KERNEL) $(SX_KERNEL_DEV),$(call make_url,$(deb))))
|
$(eval $(foreach deb,$(PYTHON_SDK_API) $(SX_KERNEL) $(SX_KERNEL_DEV),$(call make_url,$(deb))))
|
||||||
|
|
||||||
SONIC_ONLINE_DEBS += $(MLNX_SDK_RDEBS) $(PYTHON_SDK_API) $(SX_KERNEL)
|
SONIC_ONLINE_DEBS += $(MLNX_SDK_RDEBS) $(PYTHON_SDK_API) $(SX_KERNEL)
|
||||||
|
SONIC_STRETCH_DEBS += $(SX_KERNEL)
|
||||||
|
@ -10,9 +10,10 @@ $(DOCKER_SONIC_VS)_DEPENDS += $(SWSS) \
|
|||||||
$(LIBTEAMDCT) \
|
$(LIBTEAMDCT) \
|
||||||
$(LIBTEAM_UTILS) \
|
$(LIBTEAM_UTILS) \
|
||||||
$(SONIC_DEVICE_DATA) \
|
$(SONIC_DEVICE_DATA) \
|
||||||
$(SONIC_UTILS) \
|
|
||||||
$(IPROUTE2)
|
$(IPROUTE2)
|
||||||
|
|
||||||
|
$(DOCKER_SONIC_VS)_PYTHON_DEBS += $(SONIC_UTILS)
|
||||||
|
|
||||||
ifeq ($(INSTALL_DEBUG_TOOLS), y)
|
ifeq ($(INSTALL_DEBUG_TOOLS), y)
|
||||||
$(DOCKER_SONIC_VS)_DEPENDS += $(SWSS_DBG) \
|
$(DOCKER_SONIC_VS)_DEPENDS += $(SWSS_DBG) \
|
||||||
$(LIBSWSSCOMMON_DBG) \
|
$(LIBSWSSCOMMON_DBG) \
|
||||||
|
@ -67,6 +67,18 @@ RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return
|
|||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
|
{% if docker_sonic_vs_pydebs.strip() -%}
|
||||||
|
# Copy locally-built Debian package dependencies
|
||||||
|
{%- for deb in docker_sonic_vs_pydebs.split(' ') %}
|
||||||
|
COPY python-debs/{{ deb }} /debs/
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
|
# Install locally-built Debian packages and implicitly install their dependencies
|
||||||
|
{%- for deb in docker_sonic_vs_pydebs.split(' ') %}
|
||||||
|
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /debs/{{ deb }}
|
||||||
|
{%- endfor %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
RUN apt-get clean -y
|
RUN apt-get clean -y
|
||||||
RUN apt-get autoclean -y
|
RUN apt-get autoclean -y
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
DOCKER_PLATFORM_MONITOR = docker-platform-monitor.gz
|
DOCKER_PLATFORM_MONITOR = docker-platform-monitor.gz
|
||||||
$(DOCKER_PLATFORM_MONITOR)_PATH = $(DOCKERS_PATH)/docker-platform-monitor
|
$(DOCKER_PLATFORM_MONITOR)_PATH = $(DOCKERS_PATH)/docker-platform-monitor
|
||||||
$(DOCKER_PLATFORM_MONITOR)_DEPENDS += $(LIBSWSSCOMMON) $(PYTHON_SWSSCOMMON) $(SONIC_LEDD) $(SONIC_XCVRD) $(SONIC_PSUD)
|
$(DOCKER_PLATFORM_MONITOR)_DEPENDS += $(LIBSWSSCOMMON) $(PYTHON_SWSSCOMMON)
|
||||||
|
$(DOCKER_PLATFORM_MONITOR)_PYTHON_DEBS += $(SONIC_LEDD) $(SONIC_XCVRD) $(SONIC_PSUD)
|
||||||
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_PLATFORM_COMMON_PY2)
|
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_PLATFORM_COMMON_PY2)
|
||||||
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SWSSSDK_PY2)
|
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SWSSSDK_PY2)
|
||||||
$(DOCKER_PLATFORM_MONITOR)_LOAD_DOCKERS = $(DOCKER_CONFIG_ENGINE)
|
$(DOCKER_PLATFORM_MONITOR)_LOAD_DOCKERS = $(DOCKER_CONFIG_ENGINE)
|
||||||
|
@ -14,3 +14,4 @@ export PYTHON_CLICK_VERSION
|
|||||||
PYTHON_CLICK = python-click_$(PYTHON_CLICK_VERSION)_all.deb
|
PYTHON_CLICK = python-click_$(PYTHON_CLICK_VERSION)_all.deb
|
||||||
$(PYTHON_CLICK)_SRC_PATH = $(SRC_PATH)/python-click
|
$(PYTHON_CLICK)_SRC_PATH = $(SRC_PATH)/python-click
|
||||||
SONIC_MAKE_DEBS += $(PYTHON_CLICK)
|
SONIC_MAKE_DEBS += $(PYTHON_CLICK)
|
||||||
|
SONIC_STRETCH_DEBS += $(PYTHON_CLICK)
|
||||||
|
@ -8,3 +8,4 @@ export SONIC_DEVICE_DATA_VERSION SONIC_DEVICE_DATA_VERSION_FULL
|
|||||||
SONIC_DEVICE_DATA = sonic-device-data_$(SONIC_DEVICE_DATA_VERSION_FULL)_all.deb
|
SONIC_DEVICE_DATA = sonic-device-data_$(SONIC_DEVICE_DATA_VERSION_FULL)_all.deb
|
||||||
$(SONIC_DEVICE_DATA)_SRC_PATH = $(SRC_PATH)/sonic-device-data
|
$(SONIC_DEVICE_DATA)_SRC_PATH = $(SRC_PATH)/sonic-device-data
|
||||||
SONIC_MAKE_DEBS += $(SONIC_DEVICE_DATA)
|
SONIC_MAKE_DEBS += $(SONIC_DEVICE_DATA)
|
||||||
|
SONIC_STRETCH_DEBS += $(SONIC_DEVICE_DATA)
|
||||||
|
103
slave.mk
103
slave.mk
@ -24,10 +24,18 @@ SRC_PATH = src
|
|||||||
RULES_PATH = rules
|
RULES_PATH = rules
|
||||||
TARGET_PATH = target
|
TARGET_PATH = target
|
||||||
DOCKERS_PATH = dockers
|
DOCKERS_PATH = dockers
|
||||||
|
ifdef BLDENV
|
||||||
|
DEBS_PATH = $(TARGET_PATH)/debs/$(BLDENV)
|
||||||
|
FILES_PATH = $(TARGET_PATH)/files/$(BLDENV)
|
||||||
|
else
|
||||||
DEBS_PATH = $(TARGET_PATH)/debs
|
DEBS_PATH = $(TARGET_PATH)/debs
|
||||||
FILES_PATH = $(TARGET_PATH)/files
|
FILES_PATH = $(TARGET_PATH)/files
|
||||||
|
endif
|
||||||
|
PYTHON_DEBS_PATH = $(TARGET_PATH)/python-debs
|
||||||
PYTHON_WHEELS_PATH = $(TARGET_PATH)/python-wheels
|
PYTHON_WHEELS_PATH = $(TARGET_PATH)/python-wheels
|
||||||
PROJECT_ROOT = $(shell pwd)
|
PROJECT_ROOT = $(shell pwd)
|
||||||
|
STRETCH_DEBS_PATH = $(TARGET_PATH)/debs/stretch
|
||||||
|
STRETCH_FILES_PATH = $(TARGET_PATH)/files/stretch
|
||||||
|
|
||||||
CONFIGURED_PLATFORM := $(shell [ -f .platform ] && cat .platform || echo generic)
|
CONFIGURED_PLATFORM := $(shell [ -f .platform ] && cat .platform || echo generic)
|
||||||
PLATFORM_PATH = platform/$(CONFIGURED_PLATFORM)
|
PLATFORM_PATH = platform/$(CONFIGURED_PLATFORM)
|
||||||
@ -48,7 +56,10 @@ endif
|
|||||||
|
|
||||||
configure :
|
configure :
|
||||||
@mkdir -p target/debs
|
@mkdir -p target/debs
|
||||||
|
@mkdir -p target/debs/stretch
|
||||||
@mkdir -p target/files
|
@mkdir -p target/files
|
||||||
|
@mkdir -p target/files/stretch
|
||||||
|
@mkdir -p target/python-debs
|
||||||
@mkdir -p target/python-wheels
|
@mkdir -p target/python-wheels
|
||||||
@echo $(PLATFORM) > .platform
|
@echo $(PLATFORM) > .platform
|
||||||
|
|
||||||
@ -155,6 +166,7 @@ $(info "SONIC_DEBUGGING_ON" : "$(SONIC_DEBUGGING_ON)")
|
|||||||
$(info "SONIC_PROFILING_ON" : "$(SONIC_PROFILING_ON)")
|
$(info "SONIC_PROFILING_ON" : "$(SONIC_PROFILING_ON)")
|
||||||
$(info "KERNEL_PROCURE_METHOD" : "$(KERNEL_PROCURE_METHOD)")
|
$(info "KERNEL_PROCURE_METHOD" : "$(KERNEL_PROCURE_METHOD)")
|
||||||
$(info "BUILD_TIMESTAMP" : "$(BUILD_TIMESTAMP)")
|
$(info "BUILD_TIMESTAMP" : "$(BUILD_TIMESTAMP)")
|
||||||
|
$(info "BLDENV" : "$(BLDENV)")
|
||||||
$(info )
|
$(info )
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -304,30 +316,6 @@ $(addprefix $(DEBS_PATH)/, $(SONIC_DPKG_DEBS)) : $(DEBS_PATH)/% : .platform $$(a
|
|||||||
|
|
||||||
SONIC_TARGET_LIST += $(addprefix $(DEBS_PATH)/, $(SONIC_DPKG_DEBS))
|
SONIC_TARGET_LIST += $(addprefix $(DEBS_PATH)/, $(SONIC_DPKG_DEBS))
|
||||||
|
|
||||||
# Build project with python setup.py --command-packages=stdeb.command
|
|
||||||
# Add new package for build:
|
|
||||||
# SOME_NEW_DEB = some_new_deb.deb
|
|
||||||
# $(SOME_NEW_DEB)_SRC_PATH = $(SRC_PATH)/project_name
|
|
||||||
# $(SOME_NEW_DEB)_DEPENDS = $(SOME_OTHER_DEB1) $(SOME_OTHER_DEB2) ...
|
|
||||||
# SONIC_PYTHON_STDEB_DEBS += $(SOME_NEW_DEB)
|
|
||||||
$(addprefix $(DEBS_PATH)/, $(SONIC_PYTHON_STDEB_DEBS)) : $(DEBS_PATH)/% : .platform $$(addsuffix -install,$$(addprefix $(DEBS_PATH)/,$$($$*_DEPENDS))) \
|
|
||||||
$$(addsuffix -install,$$(addprefix $(PYTHON_WHEELS_PATH)/,$$($$*_WHEEL_DEPENDS)))
|
|
||||||
$(HEADER)
|
|
||||||
# Apply series of patches if exist
|
|
||||||
if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && QUILT_PATCHES=../$(notdir $($*_SRC_PATH)).patch quilt push -a; popd; fi
|
|
||||||
# Build project
|
|
||||||
pushd $($*_SRC_PATH) $(LOG)
|
|
||||||
rm -rf deb_dist/* $(LOG)
|
|
||||||
python setup.py --command-packages=stdeb.command bdist_deb $(LOG)
|
|
||||||
popd $(LOG)
|
|
||||||
# Clean up
|
|
||||||
if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt pop -a -f; popd; fi
|
|
||||||
# Take built package(s)
|
|
||||||
mv $(addprefix $($*_SRC_PATH)/deb_dist/, $* $($*_DERIVED_DEBS)) $(DEBS_PATH) $(LOG)
|
|
||||||
$(FOOTER)
|
|
||||||
|
|
||||||
SONIC_TARGET_LIST += $(addprefix $(DEBS_PATH)/, $(SONIC_PYTHON_STDEB_DEBS))
|
|
||||||
|
|
||||||
# Rules for derived debian packages (dev, dbg, etc.)
|
# Rules for derived debian packages (dev, dbg, etc.)
|
||||||
# All noise takes place in main deb recipe, so we are just telling that
|
# All noise takes place in main deb recipe, so we are just telling that
|
||||||
# we depend on it and move our deb to other targets
|
# we depend on it and move our deb to other targets
|
||||||
@ -382,6 +370,31 @@ $(SONIC_INSTALL_TARGETS) : $(DEBS_PATH)/%-install : .platform $$(addsuffix -inst
|
|||||||
## Python packages
|
## Python packages
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
|
# Build project with python setup.py --command-packages=stdeb.command
|
||||||
|
# Add new package for build:
|
||||||
|
# SOME_NEW_DEB = some_new_deb.deb
|
||||||
|
# $(SOME_NEW_DEB)_SRC_PATH = $(SRC_PATH)/project_name
|
||||||
|
# $(SOME_NEW_DEB)_DEPENDS = $(SOME_OTHER_DEB1) $(SOME_OTHER_DEB2) ...
|
||||||
|
# SONIC_PYTHON_STDEB_DEBS += $(SOME_NEW_DEB)
|
||||||
|
$(addprefix $(PYTHON_DEBS_PATH)/, $(SONIC_PYTHON_STDEB_DEBS)) : $(PYTHON_DEBS_PATH)/% : .platform \
|
||||||
|
$$(addsuffix -install,$$(addprefix $(PYTHON_DEBS_PATH)/,$$($$*_DEPENDS))) \
|
||||||
|
$$(addsuffix -install,$$(addprefix $(PYTHON_WHEELS_PATH)/,$$($$*_WHEEL_DEPENDS)))
|
||||||
|
$(HEADER)
|
||||||
|
# Apply series of patches if exist
|
||||||
|
if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && QUILT_PATCHES=../$(notdir $($*_SRC_PATH)).patch quilt push -a; popd; fi
|
||||||
|
# Build project
|
||||||
|
pushd $($*_SRC_PATH) $(LOG)
|
||||||
|
rm -rf deb_dist/* $(LOG)
|
||||||
|
python setup.py --command-packages=stdeb.command bdist_deb $(LOG)
|
||||||
|
popd $(LOG)
|
||||||
|
# Clean up
|
||||||
|
if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt pop -a -f; popd; fi
|
||||||
|
# Take built package(s)
|
||||||
|
mv $(addprefix $($*_SRC_PATH)/deb_dist/, $* $($*_DERIVED_DEBS)) $(PYTHON_DEBS_PATH) $(LOG)
|
||||||
|
$(FOOTER)
|
||||||
|
|
||||||
|
SONIC_TARGET_LIST += $(addprefix $(PYTHON_DEBS_PATH)/, $(SONIC_PYTHON_STDEB_DEBS))
|
||||||
|
|
||||||
# Build project using python setup.py bdist_wheel
|
# Build project using python setup.py bdist_wheel
|
||||||
# Projects that generate python wheels
|
# Projects that generate python wheels
|
||||||
# Add new package for build:
|
# Add new package for build:
|
||||||
@ -452,18 +465,27 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_SIMPLE_DOCKER_IMAGES)) : $(TARGET_PATH)/%.g
|
|||||||
SONIC_TARGET_LIST += $(addprefix $(TARGET_PATH)/, $(SONIC_SIMPLE_DOCKER_IMAGES))
|
SONIC_TARGET_LIST += $(addprefix $(TARGET_PATH)/, $(SONIC_SIMPLE_DOCKER_IMAGES))
|
||||||
|
|
||||||
# Targets for building docker images
|
# Targets for building docker images
|
||||||
$(addprefix $(TARGET_PATH)/, $(SONIC_DOCKER_IMAGES)) : $(TARGET_PATH)/%.gz : .platform docker-start $$(addprefix $(DEBS_PATH)/,$$($$*.gz_DEPENDS)) $$(addprefix $(FILES_PATH)/,$$($$*.gz_FILES)) $$(addprefix $(PYTHON_WHEELS_PATH)/,$$($$*.gz_PYTHON_WHEELS)) $$(addsuffix -load,$$(addprefix $(TARGET_PATH)/,$$($$*.gz_LOAD_DOCKERS))) $$($$*.gz_PATH)/Dockerfile.j2
|
$(addprefix $(TARGET_PATH)/, $(SONIC_DOCKER_IMAGES)) : $(TARGET_PATH)/%.gz : .platform docker-start \
|
||||||
|
$$(addprefix $(DEBS_PATH)/,$$($$*.gz_DEPENDS)) \
|
||||||
|
$$(addprefix $(FILES_PATH)/,$$($$*.gz_FILES)) \
|
||||||
|
$$(addprefix $(PYTHON_DEBS_PATH)/,$$($$*.gz_PYTHON_DEBS)) \
|
||||||
|
$$(addprefix $(PYTHON_WHEELS_PATH)/,$$($$*.gz_PYTHON_WHEELS)) \
|
||||||
|
$$(addsuffix -load,$$(addprefix $(TARGET_PATH)/,$$($$*.gz_LOAD_DOCKERS))) \
|
||||||
|
$$($$*.gz_PATH)/Dockerfile.j2
|
||||||
$(HEADER)
|
$(HEADER)
|
||||||
# Apply series of patches if exist
|
# Apply series of patches if exist
|
||||||
if [ -f $($*.gz_PATH).patch/series ]; then pushd $($*.gz_PATH) && QUILT_PATCHES=../$(notdir $($*.gz_PATH)).patch quilt push -a; popd; fi
|
if [ -f $($*.gz_PATH).patch/series ]; then pushd $($*.gz_PATH) && QUILT_PATCHES=../$(notdir $($*.gz_PATH)).patch quilt push -a; popd; fi
|
||||||
mkdir -p $($*.gz_PATH)/debs $(LOG)
|
mkdir -p $($*.gz_PATH)/debs $(LOG)
|
||||||
mkdir -p $($*.gz_PATH)/files $(LOG)
|
mkdir -p $($*.gz_PATH)/files $(LOG)
|
||||||
|
mkdir -p $($*.gz_PATH)/python-debs $(LOG)
|
||||||
mkdir -p $($*.gz_PATH)/python-wheels $(LOG)
|
mkdir -p $($*.gz_PATH)/python-wheels $(LOG)
|
||||||
sudo mount --bind $(DEBS_PATH) $($*.gz_PATH)/debs $(LOG)
|
sudo mount --bind $(DEBS_PATH) $($*.gz_PATH)/debs $(LOG)
|
||||||
sudo mount --bind $(FILES_PATH) $($*.gz_PATH)/files $(LOG)
|
sudo mount --bind $(FILES_PATH) $($*.gz_PATH)/files $(LOG)
|
||||||
|
sudo mount --bind $(PYTHON_DEBS_PATH) $($*.gz_PATH)/python-debs $(LOG)
|
||||||
sudo mount --bind $(PYTHON_WHEELS_PATH) $($*.gz_PATH)/python-wheels $(LOG)
|
sudo mount --bind $(PYTHON_WHEELS_PATH) $($*.gz_PATH)/python-wheels $(LOG)
|
||||||
# Export variables for j2. Use path for unique variable names, e.g. docker_orchagent_debs
|
# Export variables for j2. Use path for unique variable names, e.g. docker_orchagent_debs
|
||||||
$(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_debs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_DEPENDS),RDEPENDS))\n" | awk '!a[$$0]++'))
|
$(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_debs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_DEPENDS),RDEPENDS))\n" | awk '!a[$$0]++'))
|
||||||
|
$(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_pydebs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_PYTHON_DEBS)))\n" | awk '!a[$$0]++'))
|
||||||
$(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_whls=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_PYTHON_WHEELS)))\n" | awk '!a[$$0]++'))
|
$(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_whls=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_PYTHON_WHEELS)))\n" | awk '!a[$$0]++'))
|
||||||
$(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_dbgs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_DBG_PACKAGES)))\n" | awk '!a[$$0]++'))
|
$(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_dbgs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_DBG_PACKAGES)))\n" | awk '!a[$$0]++'))
|
||||||
j2 $($*.gz_PATH)/Dockerfile.j2 > $($*.gz_PATH)/Dockerfile
|
j2 $($*.gz_PATH)/Dockerfile.j2 > $($*.gz_PATH)/Dockerfile
|
||||||
@ -504,27 +526,28 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : \
|
|||||||
onie-image.conf \
|
onie-image.conf \
|
||||||
build_debian.sh \
|
build_debian.sh \
|
||||||
build_image.sh \
|
build_image.sh \
|
||||||
$$(addsuffix -install,$$(addprefix $(DEBS_PATH)/,$$($$*_DEPENDS))) \
|
$$(addsuffix -install,$$(addprefix $(STRETCH_DEBS_PATH)/,$$($$*_DEPENDS))) \
|
||||||
$$(addprefix $(DEBS_PATH)/,$$($$*_INSTALLS)) \
|
$$(addprefix $(STRETCH_DEBS_PATH)/,$$($$*_INSTALLS)) \
|
||||||
$$(addprefix $(DEBS_PATH)/,$$($$*_LAZY_INSTALLS)) \
|
$$(addprefix $(STRETCH_DEBS_PATH)/,$$($$*_LAZY_INSTALLS)) \
|
||||||
$$(addprefix $(FILES_PATH)/,$$($$*_FILES)) \
|
$(addprefix $(STRETCH_DEBS_PATH)/,$(INITRAMFS_TOOLS) \
|
||||||
$(addprefix $(FILES_PATH)/,$(IXGBE_DRIVER)) \
|
|
||||||
$(addprefix $(DEBS_PATH)/,$(INITRAMFS_TOOLS) \
|
|
||||||
$(LINUX_KERNEL) \
|
$(LINUX_KERNEL) \
|
||||||
$(SONIC_DEVICE_DATA) \
|
$(SONIC_DEVICE_DATA) \
|
||||||
$(PYTHON_CLICK) \
|
$(PYTHON_CLICK) \
|
||||||
$(SONIC_UTILS) \
|
|
||||||
$(BASH) \
|
|
||||||
$(LIBPAM_TACPLUS) \
|
$(LIBPAM_TACPLUS) \
|
||||||
$(LIBNSS_TACPLUS)) \
|
$(LIBNSS_TACPLUS)) \
|
||||||
$$(addprefix $(TARGET_PATH)/,$$($$*_DOCKERS)) \
|
$$(addprefix $(TARGET_PATH)/,$$($$*_DOCKERS)) \
|
||||||
$$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_CONFIG_ENGINE)) \
|
$$(addprefix $(FILES_PATH)/,$$($$*_FILES)) \
|
||||||
$$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_PLATFORM_COMMON_PY2)) \
|
$(addprefix $(STRETCH_FILES_PATH)/,$(IXGBE_DRIVER)) \
|
||||||
$$(addprefix $(PYTHON_WHEELS_PATH)/,$(REDIS_DUMP_LOAD_PY2))
|
$(addprefix $(PYTHON_DEBS_PATH)/,$(SONIC_UTILS)) \
|
||||||
|
$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_CONFIG_ENGINE)) \
|
||||||
|
$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_PLATFORM_COMMON_PY2)) \
|
||||||
|
$(addprefix $(PYTHON_WHEELS_PATH)/,$(REDIS_DUMP_LOAD_PY2))
|
||||||
$(HEADER)
|
$(HEADER)
|
||||||
# Pass initramfs and linux kernel explicitly. They are used for all platforms
|
# Pass initramfs and linux kernel explicitly. They are used for all platforms
|
||||||
export initramfs_tools="$(DEBS_PATH)/$(INITRAMFS_TOOLS)"
|
export debs_path="$(STRETCH_DEBS_PATH)"
|
||||||
export linux_kernel="$(DEBS_PATH)/$(LINUX_KERNEL)"
|
export python_debs_path="$(PYTHON_DEBS_PATH)"
|
||||||
|
export initramfs_tools="$(STRETCH_DEBS_PATH)/$(INITRAMFS_TOOLS)"
|
||||||
|
export linux_kernel="$(STRTCH_DEBS_PATH)/$(LINUX_KERNEL)"
|
||||||
export onie_recovery_image="$(FILES_PATH)/$(ONIE_RECOVERY_IMAGE)"
|
export onie_recovery_image="$(FILES_PATH)/$(ONIE_RECOVERY_IMAGE)"
|
||||||
export kversion="$(KVERSION)"
|
export kversion="$(KVERSION)"
|
||||||
export image_type="$($*_IMAGE_TYPE)"
|
export image_type="$($*_IMAGE_TYPE)"
|
||||||
@ -534,8 +557,8 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : \
|
|||||||
export enable_dhcp_graph_service="$(ENABLE_DHCP_GRAPH_SERVICE)"
|
export enable_dhcp_graph_service="$(ENABLE_DHCP_GRAPH_SERVICE)"
|
||||||
export shutdown_bgp_on_start="$(SHUTDOWN_BGP_ON_START)"
|
export shutdown_bgp_on_start="$(SHUTDOWN_BGP_ON_START)"
|
||||||
export enable_pfcwd_on_start="$(ENABLE_PFCWD_ON_START)"
|
export enable_pfcwd_on_start="$(ENABLE_PFCWD_ON_START)"
|
||||||
export installer_debs="$(addprefix $(DEBS_PATH)/,$($*_INSTALLS))"
|
export installer_debs="$(addprefix $(STRETCH_DEBS_PATH)/,$($*_INSTALLS))"
|
||||||
export lazy_installer_debs="$(foreach deb, $($*_LAZY_INSTALLS),$(foreach device, $($(deb)_PLATFORM),$(addprefix $(device)@, $(DEBS_PATH)/$(deb))))"
|
export lazy_installer_debs="$(foreach deb, $($*_LAZY_INSTALLS),$(foreach device, $($(deb)_PLATFORM),$(addprefix $(device)@, $(STRETCH_DEBS_PATH)/$(deb))))"
|
||||||
export installer_images="$(addprefix $(TARGET_PATH)/,$($*_DOCKERS))"
|
export installer_images="$(addprefix $(TARGET_PATH)/,$($*_DOCKERS))"
|
||||||
export config_engine_wheel_path="$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_CONFIG_ENGINE))"
|
export config_engine_wheel_path="$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_CONFIG_ENGINE))"
|
||||||
export swsssdk_py2_wheel_path="$(addprefix $(PYTHON_WHEELS_PATH)/,$(SWSSSDK_PY2))"
|
export swsssdk_py2_wheel_path="$(addprefix $(PYTHON_WHEELS_PATH)/,$(SWSSSDK_PY2))"
|
||||||
|
@ -201,6 +201,16 @@ RUN apt-get update && apt-get install -y \
|
|||||||
cmake \
|
cmake \
|
||||||
# For pam_tacplus build
|
# For pam_tacplus build
|
||||||
autoconf-archive \
|
autoconf-archive \
|
||||||
|
# For python-click build
|
||||||
|
python-sphinx \
|
||||||
|
python-docutils \
|
||||||
|
python3-all \
|
||||||
|
python3-setuptools \
|
||||||
|
python3-sphinx \
|
||||||
|
python3-docutils \
|
||||||
|
python3-requests \
|
||||||
|
python3-pytest \
|
||||||
|
python3-colorama \
|
||||||
# For initramfs
|
# For initramfs
|
||||||
bash-completion
|
bash-completion
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user