Bug 1515722 - Wrong place is used for lifecycle constants.
Summary: Wrong place is used for lifecycle constants.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: perl-Sys-Virt
Version: 7.5
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: rc
: ---
Assignee: Daniel Berrangé
QA Contact: Dan Zheng
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-11-21 09:33 UTC by Dan Zheng
Modified: 2018-04-10 11:07 UTC (History)
6 users (show)

Fixed In Version: perl-Sys-Virt-3.9.0-2.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-04-10 11:06:55 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0706 0 None None None 2018-04-10 11:07:20 UTC

Description Dan Zheng 2017-11-21 09:33:56 UTC
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:

Comment 2 zhe peng 2017-11-22 05:43:06 UTC
already have a patch for this bug in upstream.

Comment 3 Daniel Berrangé 2017-11-30 13:58:52 UTC
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>

Comment 5 Dan Zheng 2017-12-18 06:55:25 UTC
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.

Comment 8 errata-xmlrpc 2018-04-10 11:06:55 UTC
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


Note You need to log in before you can comment on or make changes to this bug.