Hello community,

here is the log from the commit of package hyper-v for openSUSE:Factory checked 
in at 2015-10-03 20:29:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hyper-v (Old)
 and      /work/SRC/openSUSE:Factory/.hyper-v.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "hyper-v"

Changes:
--------
--- /work/SRC/openSUSE:Factory/hyper-v/hyper-v.changes  2015-05-10 
10:55:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.hyper-v.new/hyper-v.changes     2015-10-03 
20:29:47.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 18 10:11:01 UTC 2015 - [email protected]
+
+- add a python script lsvmbus to list VMBus devices (fate#315887)
+
+-------------------------------------------------------------------

New:
----
  hyper-v.lsvmbus.py

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ hyper-v.spec ++++++
--- /var/tmp/diff_new_pack.YRnzXk/_old  2015-10-03 20:29:48.000000000 +0200
+++ /var/tmp/diff_new_pack.YRnzXk/_new  2015-10-03 20:29:48.000000000 +0200
@@ -45,6 +45,7 @@
 # Arbitrary version number
 Version:        6
 Release:        0
+Source0:        hyper-v.lsvmbus.py
 Source5:        hyper-v.kvptest.ps1.txt
 Source9:        hyper-v.include.linux.hyperv.h
 Source10:       hyper-v.tools.hv.hv_kvp_daemon.c
@@ -111,13 +112,14 @@
 # It is not a callable app anyway, so move it out of the way
 bindir=%{helper_dir}/bin
 %else
-bindir=/usr/sbin
+bindir=%{_sbindir}
 %endif
 mkdir -p $RPM_BUILD_ROOT${bindir}
 mkdir -p $RPM_BUILD_ROOT%{helper_dir}/bin
 install -m755 %{hv_kvp_daemon} $RPM_BUILD_ROOT${bindir}
 install -m755 %{hv_vss_daemon} $RPM_BUILD_ROOT${bindir}
 install -m755 %{hv_fcopy_daemon} $RPM_BUILD_ROOT${bindir}
+install -D -m755 %{S:0} $RPM_BUILD_ROOT%{_sbindir}/lsvmbus
 cp -avL %{S:20} $RPM_BUILD_ROOT%{helper_dir}/bin/hv_get_dhcp_info
 cp -avL %{S:21} $RPM_BUILD_ROOT%{helper_dir}/bin/hv_get_dns_info
 cp -avL %{S:22} $RPM_BUILD_ROOT%{helper_dir}/bin/hv_set_ifconfig
@@ -241,8 +243,8 @@
 %{_udevrulesdir}
 %else
 /etc/init.d/*
-/usr/sbin/*
 %endif
+%{_sbindir}/*
 %{helper_dir}
 
 %pre

++++++ hyper-v.lsvmbus.py ++++++
#!/usr/bin/env python

import os
from optparse import OptionParser

parser = OptionParser()
parser.add_option("-v", "--verbose", dest="verbose",
                   help="print verbose messages. Try -vv, -vvv for \
                        more verbose messages", action="count")

(options, args) = parser.parse_args()

verbose = 0
if options.verbose is not None:
        verbose = options.verbose

vmbus_sys_path = '/sys/bus/vmbus/devices'
if not os.path.isdir(vmbus_sys_path):
        print "%s doesn't exist: exiting..." % vmbus_sys_path
        exit(-1)

vmbus_dev_dict = {
        '{0e0b6031-5213-4934-818b-38d90ced39db}' : '[Operating system 
shutdown]',
        '{9527e630-d0ae-497b-adce-e80ab0175caf}' : '[Time Synchronization]',
        '{57164f39-9115-4e78-ab55-382f3bd5422d}' : '[Heartbeat]',
        '{a9a0f4e7-5a45-4d96-b827-8a841e8c03e6}' : '[Data Exchange]',
        '{35fa2e29-ea23-4236-96ae-3a6ebacba440}' : '[Backup (volume 
checkpoint)]',
        '{34d14be3-dee4-41c8-9ae7-6b174977c192}' : '[Guest services]',
        '{525074dc-8985-46e2-8057-a307dc18a502}' : '[Dynamic Memory]',
        '{cfa8b69e-5b4a-4cc0-b98b-8ba1a1f3f95a}' : 'Synthetic mouse',
        '{f912ad6d-2b17-48ea-bd65-f927a61c7684}' : 'Synthetic keyboard',
        '{da0a7802-e377-4aac-8e77-0558eb1073f8}' : 'Synthetic framebuffer 
adapter',
        '{f8615163-df3e-46c5-913f-f2d2f965ed0e}' : 'Synthetic network adapter',
        '{32412632-86cb-44a2-9b5c-50d1417354f5}' : 'Synthetic IDE Controller',
        '{ba6163d9-04a1-4d29-b605-72e2ffb1dc7f}' : 'Synthetic SCSI Controller',
        '{2f9bcc4a-0069-4af3-b76b-6fd0be528cda}' : 'Synthetic fiber channel 
adapter',
        '{8c2eaf3d-32a7-4b09-ab99-bd1f1c86b501}' : 'Synthetic RDMA adapter',
        '{276aacf4-ac15-426c-98dd-7521ad3f01fe}' : '[Reserved system device]',
        '{f8e65716-3cb3-4a06-9a60-1889c5cccab5}' : '[Reserved system device]',
        '{3375baf4-9e15-4b30-b765-67acb10d607b}' : '[Reserved system device]',
}

def get_vmbus_dev_attr(dev_name, attr):
        try:
                f = open('%s/%s/%s' % (vmbus_sys_path, dev_name, attr), 'r')
                lines = f.readlines()
                f.close()
        except IOError:
                lines = []

        return lines

class VMBus_Dev:
        pass


vmbus_dev_list = []

for f in os.listdir(vmbus_sys_path):
        vmbus_id = get_vmbus_dev_attr(f, 'id')[0].strip()
        class_id = get_vmbus_dev_attr(f, 'class_id')[0].strip()
        device_id = get_vmbus_dev_attr(f, 'device_id')[0].strip()
        dev_desc = vmbus_dev_dict.get(class_id, 'Unknown')

        chn_vp_mapping = get_vmbus_dev_attr(f, 'channel_vp_mapping')
        chn_vp_mapping = [c.strip() for c in chn_vp_mapping]
        chn_vp_mapping = sorted(chn_vp_mapping,
                key = lambda c : int(c.split(':')[0]))

        chn_vp_mapping = ['\tRel_ID=%s, target_cpu=%s' %
                                (c.split(':')[0], c.split(':')[1])
                                        for c in chn_vp_mapping]
        d = VMBus_Dev()
        d.sysfs_path = '%s/%s' % (vmbus_sys_path, f)
        d.vmbus_id = vmbus_id
        d.class_id = class_id
        d.device_id = device_id
        d.dev_desc = dev_desc
        d.chn_vp_mapping = '\n'.join(chn_vp_mapping)
        if d.chn_vp_mapping:
                d.chn_vp_mapping += '\n'

        vmbus_dev_list.append(d)


vmbus_dev_list  = sorted(vmbus_dev_list, key = lambda d : int(d.vmbus_id))

format0 = '%2s: %s'
format1 = '%2s: Class_ID = %s - %s\n%s'
format2 = '%2s: Class_ID = %s - %s\n\tDevice_ID = %s\n\tSysfs path: %s\n%s'

for d in vmbus_dev_list:
        if verbose == 0:
                print ('VMBUS ID ' + format0) % (d.vmbus_id, d.dev_desc)
        elif verbose == 1:
                print ('VMBUS ID ' + format1) % \
                        (d.vmbus_id, d.class_id, d.dev_desc, d.chn_vp_mapping)
        else:
                print ('VMBUS ID ' + format2) % \
                        (d.vmbus_id, d.class_id, d.dev_desc, \
                        d.device_id, d.sysfs_path, d.chn_vp_mapping)

Reply via email to