Refactor wait-vpd-status from script to executable
This commit implements wait-vpd-status.sh logic as an application
written in C++. Moving the logic to C++ allows better error handling and
more flexibility with respect to future requirements.
Test:
```
1. Ensure vpd-manager CollectionStatus property is in "Completed" state.
2. Run wait-vpd-parser executable
3. Observe executable waits for 2s, then reads vpd-manager
CollectionStatus property and outputs a trace saying VPD collection
is completed, and then exits with return code 0
4. Using busctl change vpd-manager CollectionStatus property to
"InProgress"
5. Run wait-vpd-parser executable
6. Observe executable waits for 2s, and reads vpd-manager
CollectionStatus property for a total of 100 retries. After 100
retries, it outputs a trace saying timeout and exits with return code 1
7. Using busctl change vpd-manager CollectionStatus property to
"InProgress"
8. Run wait-vpd-parser executable
9. Observe executable waits for 2s, and reads vpd-manager with retry
count starting from 100 and counting down.
10. Now change CollectionStatus property to "Completed"
11. Observe executable reads vpd-manager CollectionStatus property and
outputs a trace saying VPD collection is completed, and then exits
with return code 0.
```
Change-Id: Ifa96a1262b73f4eacc6e13d4e05c710d6e693035
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>
diff --git a/meson.build b/meson.build
index e7983ea..3b99744 100644
--- a/meson.build
+++ b/meson.build
@@ -63,6 +63,7 @@
if get_option('ibm_system').allowed()
subdir('vpd-tool')
+ subdir('wait-vpd-parser')
scripts = ['scripts/wait-vpd-status.sh']
install_data(