From 12fa107645bd2f357ab5a3c60c273a7f394976d7 Mon Sep 17 00:00:00 2001
From: Joe LeVeque <jleveque@users.noreply.github.com>
Date: Mon, 6 Feb 2017 08:40:57 -0800
Subject: [PATCH] Revert "Revert "Conform with new Docker build method"" (#264)

---
 dockers/docker-dhcp-relay/Dockerfile    | 25 -----------------
 dockers/docker-dhcp-relay/Dockerfile.j2 | 37 +++++++++++++++++++++++++
 rules/docker-dhcp-relay.mk              | 10 +++++--
 3 files changed, 45 insertions(+), 27 deletions(-)
 delete mode 100644 dockers/docker-dhcp-relay/Dockerfile
 create mode 100644 dockers/docker-dhcp-relay/Dockerfile.j2

diff --git a/dockers/docker-dhcp-relay/Dockerfile b/dockers/docker-dhcp-relay/Dockerfile
deleted file mode 100644
index f664d89a4a..0000000000
--- a/dockers/docker-dhcp-relay/Dockerfile
+++ /dev/null
@@ -1,25 +0,0 @@
-FROM docker-base
-
-## Make apt-get non-interactive
-ENV DEBIAN_FRONTEND=noninteractive
-
-# Update APT package lists
-RUN apt-get update
-
-# Dependencies for sonic-cfggen
-RUN apt-get -y install python-lxml python-jinja2 python-netaddr python-ipaddr python-yaml
-
-## Install isc-dhcp-relay and clean up afterward
-RUN apt-get -y install isc-dhcp-relay   \
-    && apt-get clean -y                 \
-    && apt-get autoclean -y             \
-    && apt-get autoremove -y
-
-COPY ["isc-dhcp-relay.j2", "/usr/share/dhcp-relay/"]
-COPY ["config.sh", "/usr/bin/"]
-
-ENTRYPOINT /usr/bin/config.sh       \
-    && service rsyslog start        \
-    && service isc-dhcp-relay start \
-    && /bin/bash
-
diff --git a/dockers/docker-dhcp-relay/Dockerfile.j2 b/dockers/docker-dhcp-relay/Dockerfile.j2
new file mode 100644
index 0000000000..85ea74a4b1
--- /dev/null
+++ b/dockers/docker-dhcp-relay/Dockerfile.j2
@@ -0,0 +1,37 @@
+FROM docker-base
+
+## Make apt-get non-interactive
+ENV DEBIAN_FRONTEND=noninteractive
+
+## Update APT package lists
+RUN apt-get update
+
+## Dependencies for sonic-cfggen
+RUN apt-get -y install python-lxml python-jinja2 python-netaddr python-ipaddr python-yaml
+
+
+COPY \
+{% for deb in docker_dhcp_relay_debs.split(' ') -%}
+debs/{{ deb }}{{' '}}
+{%- endfor -%}
+debs/
+
+RUN dpkg -i \
+{% for deb in docker_dhcp_relay_debs.split(' ') -%}
+debs/{{ deb }}{{' '}}
+{%- endfor %}
+
+## Install isc-dhcp-relay Debian package
+RUN apt-get -y install isc-dhcp-relay
+
+## Clean up
+RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
+RUN rm -rf /debs
+
+COPY ["isc-dhcp-relay.j2", "/usr/share/dhcp-relay/"]
+COPY ["config.sh", "/usr/bin/"]
+
+ENTRYPOINT /usr/bin/config.sh       \
+    && service rsyslog start        \
+    && service isc-dhcp-relay start \
+    && /bin/bash
diff --git a/rules/docker-dhcp-relay.mk b/rules/docker-dhcp-relay.mk
index 1c68e8468a..c0d88e595f 100644
--- a/rules/docker-dhcp-relay.mk
+++ b/rules/docker-dhcp-relay.mk
@@ -1,7 +1,13 @@
-# docker dhcp relay image
+# Docker image for DHCP relay
 
 DOCKER_DHCP_RELAY = docker-dhcp-relay.gz
 $(DOCKER_DHCP_RELAY)_PATH = $(DOCKERS_PATH)/docker-dhcp-relay
+$(DOCKER_DHCP_RELAY)_DEPENDS += $(SONIC_CONFIG_ENGINE)
 $(DOCKER_DHCP_RELAY)_LOAD_DOCKERS = $(DOCKER_BASE)
+SONIC_DOCKER_IMAGES += $(DOCKER_DHCP_RELAY)
+SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_DHCP_RELAY)
 
-SONIC_SIMPLE_DOCKER_IMAGES += $(DOCKER_DHCP_RELAY)
+
+$(DOCKER_DHCP_RELAY)_CONTAINER_NAME = dhcp_relay
+$(DOCKER_DHCP_RELAY)_RUN_OPT += --net=host --privileged -t
+$(DOCKER_DHCP_RELAY)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro