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