Hello community,

here is the log from the commit of package libpciaccess for openSUSE:Factory 
checked in at 2017-10-25 17:45:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libpciaccess (Old)
 and      /work/SRC/openSUSE:Factory/.libpciaccess.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libpciaccess"

Wed Oct 25 17:45:09 2017 rev:13 rq:536262 version:0.14

Changes:
--------
--- /work/SRC/openSUSE:Factory/libpciaccess/libpciaccess.changes        
2017-04-17 10:23:30.821985599 +0200
+++ /work/SRC/openSUSE:Factory/.libpciaccess.new/libpciaccess.changes   
2017-10-25 17:45:11.653968275 +0200
@@ -1,0 +2,9 @@
+Mon Oct 23 18:22:58 UTC 2017 - [email protected]
+
+- Update to version 0.14:
+  This release adds support for 32-bit PCI domain IDs, which are common in
+  virtualized environments. This support has been tested on Linux, and probably
+  also "just works" on FreeBSD and Solaris, to the extent that the underlying
+  OS supports it.
+
+-------------------------------------------------------------------

Old:
----
  libpciaccess-0.13.5.tar.bz2

New:
----
  libpciaccess-0.14.tar.bz2

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

Other differences:
------------------
++++++ libpciaccess.spec ++++++
--- /var/tmp/diff_new_pack.FwjvEy/_old  2017-10-25 17:45:12.717918340 +0200
+++ /var/tmp/diff_new_pack.FwjvEy/_new  2017-10-25 17:45:12.721918152 +0200
@@ -18,7 +18,7 @@
 
 Name:           libpciaccess
 %define lname  libpciaccess0
-Version:        0.13.5
+Version:        0.14
 Release:        0
 Summary:        Generic PCI access library
 License:        MIT

++++++ libpciaccess-0.13.5.tar.bz2 -> libpciaccess-0.14.tar.bz2 ++++++
++++ 1653 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libpciaccess-0.13.5/ChangeLog new/libpciaccess-0.14/ChangeLog
--- old/libpciaccess-0.13.5/ChangeLog   2017-04-04 15:46:50.000000000 +0200
+++ new/libpciaccess-0.14/ChangeLog     2017-10-23 17:48:40.000000000 +0200
@@ -1,3 +1,36 @@
+commit 13854f603f720c45caf51d785a874d3c7e8c5f58
+Author: Adam Jackson <[email protected]>
+Date:   Mon Oct 23 11:44:32 2017 -0400
+
+    libpciaccess 0.14
+    
+    Signed-off-by: Adam Jackson <[email protected]>
+
+commit a167bd6474522a709ff3cbb00476c0e4309cb66f
+Author: Stephen Hemminger <[email protected]>
+Date:   Mon Sep 18 13:17:23 2017 -0400
+
+    linux: support 32 bit PCI domains (v3)
+    
+    The PCI domain may be larger than 16 bits on Microsoft Azure and other
+    virtual environments. PCI busses reported by ACPI are limited to 16
+    bits, but in Azure the domain value for pass through devices is
+    intentionally larger than 16 bits to avoid clashing with local devices.
+    This is needed to support pass through of GPU devices.
+    
+    v3: (ajax)
+    Update FreeBSD and Solaris backends to preserve the full 32-bit domain
+    number, since on those OSes it stands a chance of working already.
+    Update NetBSD and OpenBSD backends to initialize domain_16 compatibly
+    with older libpciaccess; neither backend appears to support more than a
+    handful of domains to begin with though. Trivially update the generic
+    x86 backend for source compatibility, though it still only supports one
+    domain and will never be better.
+    
+    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=101744
+    Signed-off-by: Stephen Hemminger <[email protected]>
+    Reviewed-by: Eric Anholt <[email protected]>
+
 commit 4f1ac52e828eed1c410ee66304fcb7a17f25da40
 Author: Emil Velikov <[email protected]>
 Date:   Tue Apr 4 14:40:41 2017 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libpciaccess-0.13.5/compile new/libpciaccess-0.14/compile
--- old/libpciaccess-0.13.5/compile     2017-04-04 15:46:47.000000000 +0200
+++ new/libpciaccess-0.14/compile       2017-10-23 17:48:36.000000000 +0200
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2012-10-14.11; # UTC
+scriptversion=2016-01-11.22; # UTC
 
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 # Written by Tom Tromey <[email protected]>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -255,7 +255,8 @@
     echo "compile $scriptversion"
     exit $?
     ;;
-  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+  icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
     func_cl_wrapper "$@"      # Doesn't return...
     ;;
 esac
@@ -342,6 +343,6 @@
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libpciaccess-0.13.5/configure.ac new/libpciaccess-0.14/configure.ac
--- old/libpciaccess-0.13.5/configure.ac        2017-04-04 15:46:41.000000000 
+0200
+++ new/libpciaccess-0.14/configure.ac  2017-10-23 17:48:29.000000000 +0200
@@ -23,7 +23,7 @@
 
 # Initialize Autoconf
 AC_PREREQ([2.60])
-AC_INIT([libpciaccess],[0.13.5],
+AC_INIT([libpciaccess],[0.14],
         
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=libpciaccess],[libpciaccess])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_AUX_DIR([.])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libpciaccess-0.13.5/include/pciaccess.h 
new/libpciaccess-0.14/include/pciaccess.h
--- old/libpciaccess-0.13.5/include/pciaccess.h 2017-04-04 15:46:41.000000000 
+0200
+++ new/libpciaccess-0.14/include/pciaccess.h   2017-10-23 17:48:29.000000000 
+0200
@@ -311,6 +311,10 @@
  * PCI device.
  *
  * Contains all of the information about a particular PCI device.
+ *
+ * This structure - like everything else in libpciaccess - is allocated
+ * by the library itself. Do not embed this structure in other structs,
+ * or otherwise allocate them yourself.
  */
 struct pci_device {
     /**
@@ -319,9 +323,12 @@
      * Complete bus identification, including domain, of the device.  On
      * platforms that do not support PCI domains (e.g., 32-bit x86 hardware),
      * the domain will always be zero.
+     *
+     * The domain_16 field is provided for binary compatibility with older
+     * libpciaccess.
      */
     /*@{*/
-    uint16_t    domain;
+    uint16_t    domain_16;
     uint8_t     bus;
     uint8_t     dev;
     uint8_t     func;
@@ -385,6 +392,12 @@
       * Used by the VGA arbiter. Type of resource decoded by the device and
       * the file descriptor (/dev/vga_arbiter). */
     int vgaarb_rsrc;
+
+
+    /**
+     * PCI domain value (full 32 bits)
+     */
+    uint32_t    domain;
 };
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libpciaccess-0.13.5/m4/libtool.m4 new/libpciaccess-0.14/m4/libtool.m4
--- old/libpciaccess-0.13.5/m4/libtool.m4       2017-04-04 15:46:44.000000000 
+0200
+++ new/libpciaccess-0.14/m4/libtool.m4 2017-10-23 17:48:32.000000000 +0200
@@ -2867,6 +2867,9 @@
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
   # Ideally, we could use ldconfig to report *all* directores which are
   # searched for libraries, however this is still not possible.  Aside from not
   # being certain /sbin/ldconfig is available, command
@@ -2875,7 +2878,7 @@
   # appending ld.so.conf contents (and includes) to the search path.
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 
2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < 
/etc/ld.so.conf | $SED -e 's/#.*//;/^[  ]*hwcap[        ]/d;s/[:,      ]/ 
/g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libpciaccess-0.13.5/missing new/libpciaccess-0.14/missing
--- old/libpciaccess-0.13.5/missing     2017-04-04 15:46:47.000000000 +0200
+++ new/libpciaccess-0.14/missing       2017-10-23 17:48:36.000000000 +0200
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2013-10-28.13; # UTC
+scriptversion=2016-01-11.22; # UTC
 
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <[email protected]>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -210,6 +210,6 @@
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libpciaccess-0.13.5/src/linux_sysfs.c 
new/libpciaccess-0.14/src/linux_sysfs.c
--- old/libpciaccess-0.13.5/src/linux_sysfs.c   2017-04-04 15:46:41.000000000 
+0200
+++ new/libpciaccess-0.14/src/linux_sysfs.c     2017-10-23 17:48:29.000000000 
+0200
@@ -118,28 +118,18 @@
 
 
 /**
- * Filter out the names "." and ".." from the scanned sysfs entries, and
- * domains requiring 32-bits.
+ * Filter out the names "." and ".." from the scanned sysfs entries.
  *
  * \param d  Directory entry being processed by \c scandir.
  *
  * \return
- * Zero if the entry name matches either "." or "..", or the domain requires
- * 32 bits, non-zero otherwise.
+ * Zero if the entry name matches either "." or ".."
  *
  * \sa scandir, populate_entries
  */
 static int
 scan_sys_pci_filter( const struct dirent * d )
 {
-    if (d->d_name[0] != '.') {
-        unsigned dom = 0;
-
-        sscanf(d->d_name, "%x:", &dom);
-        if (dom > USHRT_MAX)
-            return 0;
-    }
-
     return !((strcmp( d->d_name, "." ) == 0)
             || (strcmp( d->d_name, ".." ) == 0));
 }
@@ -218,10 +208,19 @@
                        (struct pci_device_private *) &p->devices[i];
 
 
-               sscanf(devices[i]->d_name, "%04x:%02x:%02x.%1u",
+               sscanf(devices[i]->d_name, "%x:%02x:%02x.%1u",
                       & dom, & bus, & dev, & func);
 
                device->base.domain = dom;
+               /*
+                * Applications compiled with older versions  do not expect
+                * 32-bit domain numbers. To keep them working, we keep a 16-bit
+                * version of the domain number at the previous location.
+                */
+               if (dom > 0xffff)
+                    device->base.domain_16 = 0xffff;
+               else
+                    device->base.domain_16 = dom;
                device->base.bus = bus;
                device->base.dev = dev;
                device->base.func = func;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libpciaccess-0.13.5/src/netbsd_pci.c new/libpciaccess-0.14/src/netbsd_pci.c
--- old/libpciaccess-0.13.5/src/netbsd_pci.c    2017-04-04 15:46:41.000000000 
+0200
+++ new/libpciaccess-0.14/src/netbsd_pci.c      2017-10-23 17:48:29.000000000 
+0200
@@ -959,6 +959,10 @@
                                        continue;
 
                                device->base.domain = domain;
+                               if (domain > 0xffff)
+                                   device->base.domain_16 = 0xffff;
+                               else
+                                   device->base.domain_16 = domain & 0xffff;
                                device->base.bus = bus;
                                device->base.dev = dev;
                                device->base.func = func;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libpciaccess-0.13.5/src/openbsd_pci.c 
new/libpciaccess-0.14/src/openbsd_pci.c
--- old/libpciaccess-0.13.5/src/openbsd_pci.c   2017-04-04 15:46:41.000000000 
+0200
+++ new/libpciaccess-0.14/src/openbsd_pci.c     2017-10-23 17:48:29.000000000 
+0200
@@ -656,6 +656,10 @@
                                                continue;
 
                                        device->base.domain = domain;
+                                       if (domain > 0xffff)
+                                           device->base.domain_16 = 0xffff;
+                                       else
+                                           device->base.domain_16 = domain & 
0xffff;
                                        device->base.bus = bus;
                                        device->base.dev = dev;
                                        device->base.func = func;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libpciaccess-0.13.5/src/solx_devfs.c new/libpciaccess-0.14/src/solx_devfs.c
--- old/libpciaccess-0.13.5/src/solx_devfs.c    2017-04-04 15:46:41.000000000 
+0200
+++ new/libpciaccess-0.14/src/solx_devfs.c      2017-10-23 17:48:29.000000000 
+0200
@@ -213,6 +213,11 @@
     pci_base->dev = PCI_REG_DEV_G(retbuf[0]);
     pci_base->func  = PCI_REG_FUNC_G(retbuf[0]);
 
+    if (nexus->domain > 0xffff)
+       pci_base->domain_16 = 0xffff;
+    else
+       pci_base->domain_16 = nexus->domain;
+
     /* Get property values */
     for (i = 0; i < NUM_PROPERTIES; i++) {
        len = di_prop_lookup_ints(DDI_DEV_T_ANY, node,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libpciaccess-0.13.5/src/x86_pci.c new/libpciaccess-0.14/src/x86_pci.c
--- old/libpciaccess-0.13.5/src/x86_pci.c       2017-04-04 15:46:41.000000000 
+0200
+++ new/libpciaccess-0.14/src/x86_pci.c 2017-10-23 17:48:29.000000000 +0200
@@ -915,7 +915,7 @@
                if (PCI_VENDOR(reg) == PCI_VENDOR_INVALID ||
                    PCI_VENDOR(reg) == 0)
                    continue;
-               device->base.domain = 0;
+               device->base.domain = device->base.domain_16 = 0;
                device->base.bus = bus;
                device->base.dev = dev;
                device->base.func = func;


Reply via email to