Description of problem: Wrong place is used for lifecycle constants. Version-Release number of selected component (if applicable): perl-Sys-Virt-3.9.0-1.el7.x86_64 How reproducible: 100% Steps to Reproduce: In Virt.xs, below two lines shouldn't be there. And all related constants should be defined under Sys::Virt::Domain. line 1: stash = gv_stashpv( "Sys::Virt::Lifecycle", TRUE ); REGISTER_CONSTANT(VIR_DOMAIN_LIFECYCLE_POWEROFF, LIFECYCLE_POWEROFF); ... line 2: stash = gv_stashpv( "Sys::Virt::LifecycleAction", TRUE ); REGISTER_CONSTANT(VIR_DOMAIN_LIFECYCLE_ACTION_DESTROY, LIFECYCLE_ACTION_DESTROY); ... Actual results: Expected results: Additional info:
already have a patch for this bug in upstream.
Upstream fix is commit c64d98dad1af16b2d8eb5cbfd0ed50d81eb7f4d7 Author: Daniel P. Berrange <berrange> Date: Tue Nov 21 09:25:00 2017 +0000 Fix location of lifecycle constants The lifecycle constants recently added were placed in the wrong namespace. The perl binding doesn't define separate namespaces for each enum, rather they constants are all under the namespace of the object they are associated with ie Sys::Virt::Domain in this case. Signed-off-by: Daniel P. Berrange <berrange>
Test package: perl-Sys-Virt-3.9.0-2.el7.x86_64 libvirt-3.9.0-3.el7.x86_64 Check Virt.xs that those are fixed. And those constants like VIR_DOMAIN_LIFECYCLE_POWEROFF, VIR_DOMAIN_LIFECYCLE_ACTION_DESTROY, can be used now.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:0706