meta-phosphor: generate supported machine list
Add a script to generate a list of supported machines and hook it
into the `run-repotest` to ensure that it is ran as necessary when
new machines are added or removed.
Fixes openbmc/openbmc#3926.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: If33aa08451bb8a789459bf49d8d7ec9044973304
diff --git a/README.md b/README.md
index acd1884..72ce31b 100644
--- a/README.md
+++ b/README.md
@@ -53,28 +53,12 @@
```text
$ . setup <machine> [build_dir]
Target machine must be specified. Use one of:
-
-ahe50dc harma s7106
-bletchley kudo s8036
-daytonax lannister sbp1
-dl360-g11 minerva spc621d8hm3
-dl360poc mori starscream
-dl385-g11 mtjade system1
-e3c246d4i mtmitchell tatlin-archive-x86
-e3c256d4i ncplite tiogapass
-ethanolx nicole transformers
-evb-ast2500 olympus-nuvoton vegman-n110
-evb-ast2600 p10bmc vegman-rx20
-evb-npcm750 palmetto vegman-sx20
-evb-npcm845 qcom-dc-scm-v1 witherspoon
-f0b quanta-q71l witherspoon-tacoma
-fp5280g3 rl300-g11 x11spi
-g220a romed8hm3 yosemite4
-gbs romulus yosemitev2
-genesis3 s2600wf zaius
-greatlakes s6q
+...
```
+A more complete list of supported machines can be found under
+[meta-phosphor/docs](https://github.com/openbmc/openbmc/blob/master/meta-phosphor/docs/supported-machines.md).
+
Once you know the target (e.g. romulus), source the `setup` script as follows:
```sh
@@ -170,6 +154,9 @@
system and get some basic functionality, rough edges (such as your cooling fans
running continuously at full throttle) are likely.
+See also
+["Supported Machines"](https://github.com/openbmc/openbmc/blob/master/meta-phosphor/docs/supported-machines.md).
+
## Features of OpenBMC
### Feature List
diff --git a/meta-phosphor/docs/supported-machines.md b/meta-phosphor/docs/supported-machines.md
new file mode 100644
index 0000000..b2ae21f
--- /dev/null
+++ b/meta-phosphor/docs/supported-machines.md
@@ -0,0 +1,97 @@
+# Supported machines
+
+The following machine product or codenames have some code which has been
+contributed to the project for support. The specific level of functionality
+supported is unknown and has no level of warranty, promise of future
+development, or bug-fix guarantee.
+
+Systems which are actively developed and maintained by vendors are often
+covered by [Jenkins](https://jenkins.openbmc.org/job/ci-openbmc/) CI testing.
+
+## List
+
+* amd
+ * daytonax
+ * ethanolx
+* ampere
+ * mtjade
+ * mtmitchell
+* asrock
+ * e3c246d4i
+ * e3c256d4i
+ * romed8hm3
+ * spc621d8hm3
+ * x570d4u
+* bytedance
+ * g220a
+* delta
+ * ahe50dc
+* evb
+ * evb-ast2500
+ * evb-ast2600
+ * evb-npcm750
+ * evb-npcm845
+ * fvp
+* facebook
+ * bletchley
+ * catalina
+ * greatlakes
+ * harma
+ * minerva
+ * tiogapass
+ * ventura
+ * yosemite4
+ * yosemite4n
+ * yosemitev2
+* fii
+ * kudo
+ * mori
+* hpe
+ * dl360-g11
+ * dl360poc
+ * dl385-g11
+ * rl300-g11
+* ibm
+ * genesis3
+ * huygens
+ * p10bmc
+ * palmetto
+ * pstbmc
+ * romulus
+ * sbp1
+ * system1
+ * witherspoon
+ * witherspoon-tacoma
+* ieisystem
+ * fp5280g3
+ * nf5280m7
+* ingrasys
+ * zaius
+* intel
+ * s2600wf
+* inventec
+ * starscream
+ * transformers
+* qualcomm
+ * qcom-dc-scm-v1
+* quanta
+ * f0b
+ * gbs
+ * olympus-nuvoton
+ * quanta-q71l
+ * s6q
+* supermicro
+ * x11spi
+* tyan
+ * s7106
+ * s8036
+* ufispace
+ * ncplite
+* wistron
+ * lannister
+* yadro
+ * nicole
+ * tatlin-archive-x86
+ * vegman-n110
+ * vegman-rx20
+ * vegman-sx20
diff --git a/meta-phosphor/scripts/generate-machine-list b/meta-phosphor/scripts/generate-machine-list
new file mode 100755
index 0000000..df3a769
--- /dev/null
+++ b/meta-phosphor/scripts/generate-machine-list
@@ -0,0 +1,23 @@
+#!/bin/bash -e
+
+script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
+obmc_dir=${script_dir}/../../
+
+cd "$obmc_dir"
+
+cat > meta-phosphor/docs/supported-machines.md << EOF
+# Supported machines
+
+The following machine product or codenames have some code which has been
+contributed to the project for support. The specific level of functionality
+supported is unknown and has no level of warranty, promise of future
+development, or bug-fix guarantee.
+
+Systems which are actively developed and maintained by vendors are often
+covered by [Jenkins](https://jenkins.openbmc.org/job/ci-openbmc/) CI testing.
+
+## List
+
+EOF
+
+./setup machines >> meta-phosphor/docs/supported-machines.md
diff --git a/meta-phosphor/scripts/run-repotest b/meta-phosphor/scripts/run-repotest
index dee4439..8458236 100755
--- a/meta-phosphor/scripts/run-repotest
+++ b/meta-phosphor/scripts/run-repotest
@@ -164,4 +164,10 @@
done
+# Regenerate supported machines list.
+meta-phosphor/scripts/generate-machine-list
+if ! git --no-pager diff --exit-code ; then
+ echo "Changes to supported-machines.md necessary due to new meta-layer support."
+fi
+
echo "Repo test passed"