Import manibuilder from flashrom master

References to the upstream repository have been changed to
`flashrom-stable.git`. The directory `flashrom` is kept,
though, so existing containers can be used for both projects.

Change-Id: I8ba148e30602e8e03e3858f7c1eb6789230654d6
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/70906
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/util/manibuilder/Makefile.targets b/util/manibuilder/Makefile.targets
new file mode 100644
index 0000000..dff3879
--- /dev/null
+++ b/util/manibuilder/Makefile.targets
@@ -0,0 +1,223 @@
+ANITA_TAGS := \
+	anita\:9.1-amd64 anita\:9.1-i386 anita\:9.1-sparc64 \
+	anita\:8.2-amd64 anita\:8.2-i386 \
+	anita\:7.1-amd64 anita\:7.1-i386 \
+
+MULTIARCH_TAGS := \
+	centos\:7.6-armhfp-clean centos\:7.6-amd64-clean \
+	centos\:7.3-aarch64-clean centos\:7.3-amd64-clean \
+	centos\:7.2-amd64-clean \
+	$(foreach a,x86_64 aarch64, \
+	  $(foreach v,34 33 32 31 30 29 25 24, \
+	    fedora\:$(v)-$(a))) \
+	$(foreach a,ppc64le, \
+	  $(foreach v,34 33 29 25 24, \
+	    fedora\:$(v)-$(a))) \
+	$(foreach a,s390x, \
+	  $(foreach v,34 33 32 31 30 29, \
+	    fedora\:$(v)-$(a))) \
+	fedora\:28-armhfp \
+	$(foreach a,ppc64el armhf mipsel amd64 i386, \
+	  $(foreach v,bullseye buster stretch, \
+	    debian-debootstrap\:$(a)-$(v))) \
+	$(foreach a,arm64 mips, \
+	  $(foreach v,buster stretch, \
+	    debian-debootstrap\:$(a)-$(v))) \
+	$(foreach a,ppc64el arm64 armhf amd64, \
+	  $(foreach v,jammy focal bionic xenial, \
+	    ubuntu-debootstrap\:$(a)-$(v))) \
+	$(foreach a,i386, \
+	  $(foreach v,bionic xenial, \
+	    ubuntu-debootstrap\:$(a)-$(v))) \
+	ubuntu-debootstrap\:powerpc-xenial \
+	$(foreach a,aarch64 armhf amd64 i386, \
+	  $(foreach v,v3.14 v3.13 v3.12 v3.11 v3.10 v3.9 v3.8 v3.7 v3.6, \
+	    alpine\:$(a)-$(v))) \
+
+OTHER_TAGS := djgpp\:6.1.0
+
+ALL_TAGS := $(ANITA_TAGS) $(MULTIARCH_TAGS) $(OTHER_TAGS)
+
+BROKEN_TAGS := anita\:7.1-amd64 anita\:7.1-i386 \
+	       centos\:7.6-armhfp-clean \
+	       fedora\:30-s390x fedora\:28-armhfp \
+
+WORKING_TAGS := $(filter-out $(BROKEN_TAGS),$(ALL_TAGS))
+
+arch_filter = $(sort \
+	$(foreach arch,$(1), \
+	  $(filter-out $(subst $(arch),,$(MULTIARCH_TAGS)),$(MULTIARCH_TAGS))))
+
+machine_map = \
+	$(if $(filter i386 i686 x86,$(1)),i386 x86, \
+	$(if $(filter x86_64,$(1)),amd64 i386 x86, \
+	$(if $(filter armv7l armv6l,$(1)),armhf, \
+	$(if $(filter aarch64,$(1)),aarch64 arm64, \
+	$(if $(filter ppc64le,$(1)),ppc64le ppc64el, \
+	$(if $(filter ppc,$(1)),powerpc, \
+	$(if $(filter mips,$(1)),mips mipsel, \
+	$(1))))))))
+
+NATIVE_TAGS := $(call arch_filter,$(call machine_map,$(shell uname -m)))
+
+# rather arbitrary selection of images that seem to work (focus on amd64)
+DEFAULT_TAGS := \
+	anita\:9.1-sparc64 \
+	anita\:9.1-amd64 \
+	anita\:9.1-i386 \
+	anita\:8.2-amd64 \
+	djgpp\:6.1.0 \
+	fedora\:30-aarch64 \
+	fedora\:25-x86_64 \
+	fedora\:25-ppc64le \
+	fedora\:25-aarch64 \
+	fedora\:24-x86_64 \
+	centos\:7.3-aarch64-clean \
+	centos\:7.3-amd64-clean \
+	centos\:7.2-amd64-clean \
+	debian-debootstrap\:ppc64el-stretch \
+	debian-debootstrap\:armhf-stretch \
+	debian-debootstrap\:mips-stretch \
+	debian-debootstrap\:mipsel-stretch \
+	debian-debootstrap\:amd64-stretch \
+	debian-debootstrap\:i386-stretch \
+	ubuntu-debootstrap\:arm64-xenial \
+	ubuntu-debootstrap\:amd64-xenial \
+	ubuntu-debootstrap\:powerpc-xenial \
+	ubuntu-debootstrap\:amd64-bionic \
+	alpine\:aarch64-v3.9 \
+	alpine\:amd64-v3.8 \
+	alpine\:amd64-v3.7 \
+
+# also run all native tests by default
+DEFAULT_TAGS += $(filter-out $(DEFAULT_TAGS),$(NATIVE_TAGS))
+
+# original 1.0.x tags
+10X_TAGS := \
+	anita\:7.1-amd64 \
+	anita\:7.1-i386 \
+	djgpp\:6.1.0 \
+	alpine\:amd64-v3.6 \
+	alpine\:amd64-v3.7 \
+	alpine\:i386-v3.6 \
+	alpine\:i386-v3.7 \
+	centos\:7.2-amd64-clean \
+	centos\:7.3-aarch64-clean \
+	centos\:7.3-amd64-clean \
+	debian-debootstrap\:amd64-sid \
+	debian-debootstrap\:amd64-stretch \
+	debian-debootstrap\:armhf-stretch \
+	debian-debootstrap\:i386-sid \
+	debian-debootstrap\:i386-stretch \
+	debian-debootstrap\:mips-stretch \
+	debian-debootstrap\:mipsel-stretch \
+	debian-debootstrap\:powerpc-sid \
+	debian-debootstrap\:ppc64el-stretch \
+	fedora\:24-x86_64 \
+	fedora\:25-aarch64 \
+	fedora\:25-ppc64le \
+	fedora\:25-x86_64 \
+	ubuntu-debootstrap\:amd64-xenial \
+	ubuntu-debootstrap\:amd64-zesty \
+	ubuntu-debootstrap\:arm64-xenial \
+	ubuntu-debootstrap\:i386-xenial \
+	ubuntu-debootstrap\:i386-zesty \
+
+# additional tags added after initial release
+10X_TAGS += \
+	alpine\:aarch64-v3.8 \
+	alpine\:armhf-v3.8 \
+	alpine\:amd64-v3.8 \
+	alpine\:i386-v3.8 \
+	debian-debootstrap\:amd64-buster \
+	debian-debootstrap\:arm64-buster \
+	debian-debootstrap\:i386-buster \
+	ubuntu-debootstrap\:amd64-bionic \
+	ubuntu-debootstrap\:arm64-bionic \
+	ubuntu-debootstrap\:i386-bionic \
+
+# can only run what is still maintained
+10X_TAGS := $(filter $(10X_TAGS),$(ALL_TAGS))
+
+# original 1.1.x tags
+11X_TAGS := \
+	anita\:7.1-amd64 \
+	djgpp\:6.1.0 \
+	fedora\:30-x86_64 \
+	fedora\:30-aarch64 \
+	fedora\:29-x86_64 \
+	fedora\:25-x86_64 \
+	fedora\:25-ppc64le \
+	fedora\:25-aarch64 \
+	fedora\:24-x86_64 \
+	centos\:7.6-amd64-clean \
+	centos\:7.3-aarch64-clean \
+	centos\:7.3-amd64-clean \
+	centos\:7.2-amd64-clean \
+	debian-debootstrap\:ppc64el-stretch \
+	debian-debootstrap\:armhf-stretch \
+	debian-debootstrap\:mips-stretch \
+	debian-debootstrap\:mipsel-stretch \
+	debian-debootstrap\:amd64-stretch \
+	debian-debootstrap\:i386-stretch \
+	debian-debootstrap\:amd64-sid \
+	ubuntu-debootstrap\:arm64-xenial \
+	ubuntu-debootstrap\:amd64-xenial \
+	ubuntu-debootstrap\:powerpc-xenial \
+	ubuntu-debootstrap\:amd64-bionic \
+	alpine\:aarch64-v3.9 \
+	alpine\:amd64-v3.9 \
+	alpine\:amd64-v3.8 \
+	alpine\:amd64-v3.7 \
+	alpine\:amd64-v3.6 \
+	alpine\:armhf-v3.8 \
+	alpine\:i386-v3.9 \
+	alpine\:i386-v3.8 \
+	alpine\:i386-v3.7 \
+	alpine\:i386-v3.6 \
+	debian-debootstrap\:amd64-buster \
+	debian-debootstrap\:i386-buster \
+	debian-debootstrap\:i386-sid \
+	ubuntu-debootstrap\:armhf-xenial \
+	ubuntu-debootstrap\:i386-bionic \
+	ubuntu-debootstrap\:i386-xenial \
+	ubuntu-debootstrap\:ppc64el-xenial \
+
+# can only run what is still maintained
+11X_TAGS := $(filter $(11X_TAGS),$(ALL_TAGS))
+
+default: $(DEFAULT_TAGS)
+
+native: $(NATIVE_TAGS)
+
+working: $(WORKING_TAGS)
+
+all: $(ALL_TAGS)
+
+1.0.x: export TEST_REVISION=refs/heads/1.0.x
+1.0.x: $(10X_TAGS)
+
+1.1.x: export TEST_REVISION=refs/heads/1.1.x
+1.1.x: $(11X_TAGS)
+
+show-default:
+	@printf "%s\n" $(DEFAULT_TAGS)
+
+show-native:
+	@printf "%s\n" $(NATIVE_TAGS)
+
+show-working:
+	@printf "%s\n" $(WORKING_TAGS)
+
+show-all:
+	@printf "%s\n" $(ALL_TAGS)
+
+show-1.0.x:
+	@printf "%s\n" $(10X_TAGS)
+
+show-1.1.x:
+	@printf "%s\n" $(11X_TAGS)
+
+.PHONY: default native all 1.0.x 1.1.x
+.PHONY: show-default show-native show-all show-1.0.x show-1.1.x
+.PHONY: $(ALL_TAGS)