Add support for equivs packages

- Add hooks to run equivs-build on files living in packages/equivs. This
gets used to make fake versions of packages to help out with dependency
hell.

Change-Id: I1c43774da6e8e49b122a374e560c3f19124cea44
diff --git a/packages.mk b/packages.mk
index 62c936c..d3c9ddc 100644
--- a/packages.mk
+++ b/packages.mk
@@ -15,7 +15,9 @@
 ARM64_PACKAGE_NAMES := \
 		imx-gpu-viv
 
-ALL_PACKAGE_NAMES := $(ALLARCH_PACKAGE_NAMES) $(ARM64_PACKAGE_NAMES)
+EQUIVS_PACKAGE_NAMES := $(notdir $(shell find $(ROOTDIR)/packages/equivs -maxdepth 1 -type f))
+
+ALL_PACKAGE_NAMES := $(ALLARCH_PACKAGE_NAMES) $(ARM64_PACKAGE_NAMES) $(EQUIVS_PACKAGE_NAMES)
 
 BUILDPACKAGE_CMD := dpkg-buildpackage -b -rfakeroot -us -uc -tc
 
@@ -39,12 +41,21 @@
 $(call make-package-target,$1)
 endef
 
+define make-equivs-package-target
+$(PRODUCT_OUT)/.$1: $(ROOTDIR)/packages/equivs/$1
+	cd $(PRODUCT_OUT); equivs-build $$<
+	touch $$@
+endef
+
 # Generate ARM64 targets
 $(foreach package,$(ARM64_PACKAGE_NAMES),$(eval $(call make-arm64-package-target,$(package))))
 
 # Generate ALL arch targets
 $(foreach package,$(ALLARCH_PACKAGE_NAMES),$(eval $(call make-allarch-package-target,$(package))))
 
+# Generate EQUIVS targets
+$(foreach package,$(EQUIVS_PACKAGE_NAMES),$(eval $(call make-equivs-package-target,$(package))))
+
 packages:: $(foreach package,$(ALL_PACKAGE_NAMES),$(PRODUCT_OUT)/.$(package))
 
 .PHONY:: packages
diff --git a/prereqs.mk b/prereqs.mk
index 63ed3f8..156b758 100644
--- a/prereqs.mk
+++ b/prereqs.mk
@@ -14,6 +14,7 @@
 	debian-archive-keyring \
 	debootstrap \
 	device-tree-compiler \
+	equivs \
 	fakeroot \
 	genext2fs \
 	kpartx \
diff --git a/rootfs.mk b/rootfs.mk
index 16597a3..e78f5cb 100644
--- a/rootfs.mk
+++ b/rootfs.mk
@@ -104,7 +104,7 @@
 
 	sudo mount -t tmpfs none $(ROOTFS_DIR)/tmp
 	sudo cp $(PRODUCT_OUT)/*.deb $(ROOTFS_DIR)/tmp/
-	sudo chroot $(ROOTFS_DIR) bash -c 'apt-get install --no-install-recommends -y /tmp/*.deb'
+	sudo chroot $(ROOTFS_DIR) bash -c 'apt-get install --allow-downgrades --no-install-recommends -y /tmp/*.deb'
 	sudo umount $(ROOTFS_DIR)/tmp
 
 	sudo umount $(ROOTFS_DIR)/boot