Add basic support for Guest Features such as: - acpi - apic - cpu-hotplug - numa - pci-device-hotplug The Guest Features are, by default, inherited by systems which either clone or derive-from another systems. This series adds the machinery needed for: https://gitlab.com/libosinfo/osinfo-db/issues/12 - Changes since v1: https://www.redhat.com/archives/libosinfo/2018-November/msg00250.html This is a totally *new* implementation as the v1 as *really* *overcomplicated* and was adding pieces that were not needed at all (as FeatureLinks and all the code refactoring done to accomodate that). osinfo-db: Fabiano Fidêncio (1): schema: Add support to Guest Features data/schema/osinfo.rng.in | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) libosinfo: Fabiano Fidêncio (11): osinfo: Introduce OsinfoFeature tests: Add basic test for OsinfoFeature osinfo: Introduce OsinfoFeatureList tests: Add basic test for OsinfoListFeature os: Make os aware of Guest Features loader: Make loader aware of Guest Features test-os: Add basic tests for Guest Features test-os: Add test_duplication_helper() test-os: Add test_features_duplication() test-os: Add test_features_inheritance_basic() test-os: Add test_features_inheritance_removal() .gitignore | 2 + osinfo/Makefile.am | 4 + osinfo/libosinfo.syms | 9 + osinfo/osinfo.h | 2 + osinfo/osinfo_feature.c | 202 +++++++++++++ osinfo/osinfo_feature.h | 81 ++++++ osinfo/osinfo_feature_private.h | 36 +++ osinfo/osinfo_featurelist.c | 91 ++++++ osinfo/osinfo_featurelist.h | 78 +++++ osinfo/osinfo_loader.c | 47 +++ osinfo/osinfo_os.c | 107 +++++++ osinfo/osinfo_os.h | 6 +- po/POTFILES.in | 1 + tests/Makefile.am | 10 + .../test-os-features-basic-1.xml | 13 + .../test-os-features-basic-2-clone.xml | 10 + .../test-os-features-basic-2.xml | 10 + .../test-os-features-removed-1.xml | 14 + .../test-os-features-removed-2-clone.xml | 10 + .../test-os-features-removed-2.xml | 10 + .../test-os-features-removed-3.xml | 14 + .../test-os-features-removed-4-clone.xml | 10 + .../test-os-features-removed-4.xml | 10 + tests/test-feature.c | 62 ++++ tests/test-featurelist.c | 221 +++++++++++++++ tests/test-os.c | 267 +++++++++++++++++- 26 files changed, 1318 insertions(+), 9 deletions(-) create mode 100644 osinfo/osinfo_feature.c create mode 100644 osinfo/osinfo_feature.h create mode 100644 osinfo/osinfo_feature_private.h create mode 100644 osinfo/osinfo_featurelist.c create mode 100644 osinfo/osinfo_featurelist.h create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-basic-1.xml create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-basic-2-clone.xml create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-basic-2.xml create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-removed-1.xml create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-removed-2-clone.xml create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-removed-2.xml create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-removed-3.xml create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-removed-4-clone.xml create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-removed-4.xml create mode 100644 tests/test-feature.c create mode 100644 tests/test-featurelist.c -- 2.19.2 _______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo