This patch series adds support for guest series and initially introduces the following features: - cpu-hotplug - pci-device-hotplug - numa As "features" is quite similar to the way devices are handled, a bunch of work has been done in order to have an abstraction for OsinfoLink and OsinfoLinkList so OsinfoDeviceLink, OsinfoFeatureLink and OsinfoDeviceLinkList, and OsinfoFeatureLinkList could inherit from the abstract types. Also, due to the similarity of the code, a bunch of code refactoring has been done so we can use pretty much the same code path for both Devices and Features that are part of an OS. This series adds the machinery needed for: https://gitlab.com/libosinfo/osinfo-db/issues/12 - osinfo-db: Fabiano Fidêncio (1): schema: Add support to Guest Features data/schema/osinfo.rng.in | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) - libosinfo: Fabiano Fidêncio (30): osinfo: Introduce OsinfoFeature tests: Add basic test for OsinfoFeature osinfo: Introduce OsinfoFeatureList tests: Add basic test for OsinfoListFeature osinfo: Introduce OsinfoLink tests: Add basic tests for OsinfoLink devicelink: Inherit from OsinfoLink osinfo: Use _link_get_target() instead of _device_link_get_target() osinfo: Use _LINK_PROP_SUPPORTED instead of _DEVICE_LINK_PROP_SUPPORTED devicelink: Remove OSINFO_DEVICELINK_PROP_SUPPORTED devicelink: Deprecate _get_target() osinfo: Introduce FeatureLink tests: Add basic test for FeatureLink tests: Add basic test for DeviceLink osinfo: Introduce OsinfoLinkList tests: Add basic tests for OsinfoLinkList devicelinklist: Inherit from OsinfoLinkList os: Use _linklist_get_targets() test-devicelinklist: Use _linklist_get_targets() devicelinklist: Deprecate _get_devices() osinfo: Introduce OsinfoFeatureLinkList tests: Add basic tests for FeatureLinkList os: Make devices functions more generic 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 | 7 + osinfo/Makefile.am | 12 + osinfo/libosinfo.syms | 24 + osinfo/osinfo.h | 6 + osinfo/osinfo_deployment.c | 4 +- osinfo/osinfo_devicelink.c | 83 +--- osinfo/osinfo_devicelink.h | 8 +- osinfo/osinfo_devicelinkfilter.c | 2 +- osinfo/osinfo_devicelinklist.c | 14 +- osinfo/osinfo_devicelinklist.h | 6 +- osinfo/osinfo_feature.c | 159 +++++++ osinfo/osinfo_feature.h | 81 ++++ osinfo/osinfo_featurelink.c | 95 ++++ osinfo/osinfo_featurelink.h | 77 ++++ osinfo/osinfo_featurelinklist.c | 90 ++++ osinfo/osinfo_featurelinklist.h | 78 ++++ osinfo/osinfo_featurelist.c | 91 ++++ osinfo/osinfo_featurelist.h | 78 ++++ osinfo/osinfo_link.c | 166 +++++++ osinfo/osinfo_link.h | 79 ++++ osinfo/osinfo_linklist.c | 102 ++++ osinfo/osinfo_linklist.h | 78 ++++ osinfo/osinfo_loader.c | 55 ++- osinfo/osinfo_os.c | 436 +++++++++++++----- osinfo/osinfo_os.h | 8 + osinfo/osinfo_platform.c | 2 +- po/POTFILES.in | 2 + tests/Makefile.am | 35 ++ .../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-devicelink.c | 71 +++ tests/test-devicelinklist.c | 6 +- tests/test-feature.c | 58 +++ tests/test-featurelink.c | 71 +++ tests/test-featurelinklist.c | 317 +++++++++++++ tests/test-featurelist.c | 228 +++++++++ tests/test-link.c | 104 +++++ tests/test-linklist.c | 419 +++++++++++++++++ tests/test-os.c | 285 +++++++++++- 46 files changed, 3302 insertions(+), 236 deletions(-) create mode 100644 osinfo/osinfo_feature.c create mode 100644 osinfo/osinfo_feature.h create mode 100644 osinfo/osinfo_featurelink.c create mode 100644 osinfo/osinfo_featurelink.h create mode 100644 osinfo/osinfo_featurelinklist.c create mode 100644 osinfo/osinfo_featurelinklist.h create mode 100644 osinfo/osinfo_featurelist.c create mode 100644 osinfo/osinfo_featurelist.h create mode 100644 osinfo/osinfo_link.c create mode 100644 osinfo/osinfo_link.h create mode 100644 osinfo/osinfo_linklist.c create mode 100644 osinfo/osinfo_linklist.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-devicelink.c create mode 100644 tests/test-feature.c create mode 100644 tests/test-featurelink.c create mode 100644 tests/test-featurelinklist.c create mode 100644 tests/test-featurelist.c create mode 100644 tests/test-link.c create mode 100644 tests/test-linklist.c -- 2.19.1 _______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo