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;
