Build VPU packages with pbuilder

Change-Id: I12eea227f878b967b88a5de65c1480f86f480435
diff --git a/Makefile b/Makefile
index 7079ef6..7c0ce4f 100644
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,6 @@
 
 include $(ROOTDIR)/build/boot.mk
 include $(ROOTDIR)/build/debootstrap.mk
-include $(ROOTDIR)/build/vpu.mk
 include $(ROOTDIR)/build/img2simg.mk
 include $(ROOTDIR)/build/kernel.mk
 include $(ROOTDIR)/build/kernel-modules.mk
diff --git a/gst.mk b/gst.mk
index 156a545..3c3e556 100644
--- a/gst.mk
+++ b/gst.mk
@@ -174,7 +174,7 @@
 	cp $(addprefix $(GST_DIR)/,$(GST_P_BAD_DEBS_DEV)) $(PRODUCT_OUT)/dev
 	cp $(addprefix $(GST_DIR)/,$(GST_P_BAD_DEBS_AUX)) $(PRODUCT_OUT)/aux
 
-$(GST_P_IMX_TARGETS): libdrm-imx $(WRAP_TARGETS) $(HANTRO_TARGETS) $(GST_P_BASE_TARGETS) $(GST_P_BAD_TARGETS) $(KERNEL_DEB) $(ROOTDIR)/cache/arm64-builder.tar
+$(GST_P_IMX_TARGETS): libdrm-imx imx-vpu-hantro imx-vpuwrap $(GST_P_BASE_TARGETS) $(GST_P_BAD_TARGETS) $(KERNEL_DEB) $(ROOTDIR)/cache/arm64-builder.tar
 ifeq ($(call stat_files,$(addprefix $(GST_DIR)/,$(GST_P_IMX_DEBS))),0)
 	$(info $@ already built, not rebuilding)
 else
@@ -192,8 +192,8 @@
 	  /bin/bash -c '\
 		dpkg -i /out/libdrm2_2.4.84+imx-0_arm64.deb /out/libdrm-vivante_2.4.84+imx-0_arm64.deb; \
 		dpkg -i /out/libdrm-dev_2.4.84+imx-0_arm64.deb; \
-		dpkg -i /out/imx-vpu-hantro_1.6.0-0_arm64.deb out/dev/imx-vpu-hantro-dev_1.6.0-0_arm64.deb; \
-		dpkg -i /out/imx-vpuwrap_4.3.4-0_arm64.deb out/dev/imx-vpuwrap-dev_4.3.4-0_arm64.deb; \
+		dpkg -i /out/imx-vpu-hantro_1.6.0-0_arm64.deb out/imx-vpu-hantro-dev_1.6.0-0_arm64.deb; \
+		dpkg -i /out/imx-vpuwrap_4.3.4-0_arm64.deb out/imx-vpuwrap-dev_4.3.4-0_arm64.deb; \
 		dpkg -i /out/linux-headers-4.9.51-aiy_1_arm64.deb; \
 		dpkg -i /out/libgstreamer1.0-0_1.12.2+imx-0_arm64.deb; \
 		dpkg -i /out/aux/gir1.2-gstreamer-1.0_1.12.2+imx-0_arm64.deb; \
diff --git a/packages.mk b/packages.mk
index 1198830..4e0f403 100644
--- a/packages.mk
+++ b/packages.mk
@@ -49,14 +49,16 @@
 
 # $1: package name
 # $2: source location (relative to ROOTDIR)
-# $3: space separated list of dependencies (may be empty)
+# $3: space separated list of package dependencies (may be empty)
+# $4: space separated list of external dependencies (may be empty)
 define make-pbuilder-package-target
 $1: $(PRODUCT_OUT)/.$1-pbuilder
 PBUILDER_TARGETS += $1
 $(PRODUCT_OUT)/.$1-pbuilder: \
 	$(foreach package,$3,$(PRODUCT_OUT)/.$(package)-pbuilder) \
 	$(shell find $(ROOTDIR)/packages/$1 -type f) \
-	| $(ROOTDIR)/cache/base.tgz
+	| $(ROOTDIR)/cache/base.tgz \
+	$4
 
 	mkdir -p $(PRODUCT_OUT)/obj/$1
 	rsync -rl --exclude .git/ $(ROOTDIR)/$2/* $(PRODUCT_OUT)/obj/$1
@@ -90,6 +92,8 @@
 
 $(eval $(call make-pbuilder-package-target,imx-gpu-viv,packages/imx-gpu-viv))
 $(eval $(call make-pbuilder-package-target,libdrm-imx,libdrm-imx))
+$(eval $(call make-pbuilder-package-target,imx-vpu-hantro,imx-vpu-hantro,,kernel-deb))
+$(eval $(call make-pbuilder-package-target,imx-vpuwrap,imx-vpuwrap,imx-vpu-hantro))
 
 $(eval $(call make-pbuilder-package-target,aiy-board-audio,packages/aiy-board-audio))
 $(eval $(call make-pbuilder-package-target,aiy-board-gadget,packages/aiy-board-gadget))
diff --git a/vpu.mk b/vpu.mk
deleted file mode 100644
index efdea04..0000000
--- a/vpu.mk
+++ /dev/null
@@ -1,55 +0,0 @@
-ifeq ($(ROOTDIR),)
-$(error $$ROOTDIR IS NOT DEFINED -- don\'t forget to source setup.sh)
-endif
-
-include $(ROOTDIR)/build/preamble.mk
-
-# kernel-deb in kernel.mk is phony so redefine it here.
-KERNEL_DEB := $(PRODUCT_OUT)/linux-image-4.9.51-aiy_1_arm64.deb
-
-HANTRO_DIR := $(PRODUCT_OUT)/obj/IMX-VPU-HANTRO
-HANTRO_DEBS := imx-vpu-hantro_1.6.0-0_arm64.deb
-HANTRO_DEBS_DEV := imx-vpu-hantro-dev_1.6.0-0_arm64.deb
-HANTRO_TARGETS := $(addprefix $(PRODUCT_OUT)/, $(HANTRO_DEBS)) $(addprefix $(PRODUCT_OUT)/dev/, $(HANTRO_DEBS_DEV))
-
-WRAP_DIR := $(PRODUCT_OUT)/obj/IMX-VPUWRAP
-WRAP_DEBS := imx-vpuwrap_4.3.4-0_arm64.deb
-WRAP_DEBS_DEV := imx-vpuwrap-dev_4.3.4-0_arm64.deb
-WRAP_TARGETS := $(addprefix $(PRODUCT_OUT)/, $(WRAP_DEBS)) $(addprefix $(PRODUCT_OUT)/dev/, $(WRAP_DEBS_DEV))
-
-vpu-packages: imx-vpu-hantro imx-vpuwrap
-imx-vpu-hantro: $(HANTRO_TARGETS)
-imx-vpuwrap: $(WRAP_TARGETS)
-
-$(HANTRO_TARGETS): $(KERNEL_DEB) $(ROOTDIR)/cache/arm64-builder.tar
-	mkdir -p $(HANTRO_DIR)
-	mkdir -p $(PRODUCT_OUT)/dev
-	cp $(ROOTDIR)/imx-vpu-hantro/imx-vpu-hantro-1.6.0.bin $(HANTRO_DIR)
-	cd $(HANTRO_DIR); ./imx-vpu-hantro-1.6.0.bin --auto-accept --force
-	rsync -r $(ROOTDIR)/imx-vpu-hantro/debian/ $(HANTRO_DIR)/imx-vpu-hantro-1.6.0/debian/
-	docker load -i $(ROOTDIR)/cache/arm64-builder.tar
-	docker run --rm --privileged --tty \
-	  -v $(PRODUCT_OUT):/out \
-	  -v $(HANTRO_DIR):/imx-vpu-hantro arm64-builder \
-	  /bin/bash -c 'dpkg -i /out/linux-headers-4.9.51-aiy_1_arm64.deb; \
-	  cd /imx-vpu-hantro/imx-vpu-hantro-1.6.0; dpkg-buildpackage -uc -us -nc;'
-	cp $(HANTRO_DIR)/$(HANTRO_DEBS) $(PRODUCT_OUT)
-	cp $(HANTRO_DIR)/$(HANTRO_DEBS_DEV) $(PRODUCT_OUT)/dev
-
-$(WRAP_TARGETS): $(HANTRO_TARGETS) $(KERNEL_DEB) $(ROOTDIR)/cache/arm64-builder.tar
-	mkdir -p $(WRAP_DIR)
-	mkdir -p $(PRODUCT_OUT)/dev
-	cp $(ROOTDIR)/imx-vpuwrap/imx-vpuwrap-4.3.4.bin $(WRAP_DIR)
-	cd $(WRAP_DIR); ./imx-vpuwrap-4.3.4.bin --auto-accept --force
-	rsync -r $(ROOTDIR)/imx-vpuwrap/debian/ $(WRAP_DIR)/imx-vpuwrap-4.3.4/debian/
-	docker load -i $(ROOTDIR)/cache/arm64-builder.tar
-	docker run --rm --privileged --tty \
-	  -v $(PRODUCT_OUT):/out \
-	  -v $(WRAP_DIR):/imx-vpuwrap arm64-builder \
-	  /bin/bash -c '\
-	  dpkg -i /out/linux-headers-4.9.51-aiy_1_arm64.deb; \
-	  dpkg -i /out/imx-vpu-hantro_1.6.0-0_arm64.deb; \
-	  dpkg -i /out/dev/imx-vpu-hantro-dev_1.6.0-0_arm64.deb; \
-	  cd /imx-vpuwrap/imx-vpuwrap-4.3.4; dpkg-buildpackage -uc -us -tc;'
-	cp $(WRAP_DIR)/$(WRAP_DEBS) $(PRODUCT_OUT)
-	cp $(WRAP_DIR)/$(WRAP_DEBS_DEV) $(PRODUCT_OUT)/dev