fw update: implement example device
Introduce example-device and example-code-updater, which are used as
examples for how to implement devices and code updaters according to the
design [1]
Tested:
The example code updater allows us to perform manual testing without
a dependency on any specific device.
Running the example code updater results in follow dbus output:
```
busctl --full --no-pager tree xyz.openbmc_project.ExampleCodeUpdater
└─ /xyz
└─ /xyz/openbmc_project
└─ /xyz/openbmc_project/software
└─ /xyz/openbmc_project/software/ExampleSoftware_4081
busctl --full --no-pager introspect xyz.openbmc_project.ExampleCodeUpdater /xyz/openbmc_project/software/ExampleSoftware_4081
CodeUpdater /xyz/openbmc_project/software/ExampleSoftware_4081
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
...
xyz.openbmc_project.Software.Activation interface - - -
.Activation property s "xyz.openbmc_project.Software.Activation.Activations.Active" emits-change writable
.RequestedActivation property s "xyz.openbmc_project.Software.Activation.RequestedActivations.None" emits-change writable
xyz.openbmc_project.Software.Update interface - - -
.StartUpdate method hs o -
.AllowedApplyTimes property as 1 "xyz.openbmc_project.Software.ApplyTime.RequestedApplyTimes.OnReset" emits-change
xyz.openbmc_project.Software.Version interface - - -
.Purpose property s "xyz.openbmc_project.Software.Version.VersionPurpose.Unknown" emits-change writable
.Version property s "v1.0"
```
References:
[1] https://github.com/openbmc/docs/blob/master/designs/code-update.md
Change-Id: I2bad241b3102e58eda5139174791adda82f6ca95
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
diff --git a/test/common/meson.build b/test/common/meson.build
new file mode 100644
index 0000000..964f769
--- /dev/null
+++ b/test/common/meson.build
@@ -0,0 +1 @@
+subdir('exampledevice')