Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pciutils for openSUSE:Factory checked in at 2026-10-24 22:03:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pciutils (Old) and /work/SRC/openSUSE:Factory/.pciutils.new.2252680 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pciutils" Sat Oct 24 22:03:55 2026 rev:80 rq:1387228 version:3.15.0 Changes: -------- --- /work/SRC/openSUSE:Factory/pciutils/pciutils.changes 2025-10-24 17:23:24.815358188 +0200 +++ /work/SRC/openSUSE:Factory/.pciutils.new.2252680/pciutils.changes 2026-10-24 22:05:06.148795255 +0200 @@ -1,0 +2,22 @@ +Sun Oct 18 10:55:52 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to version 3.15.0: + * New capabilities are decoded: MMIO Register Block Locator, + Flit Error Injection, Flit Logging. + * Decoding of PCIe capabilities updated to Gen7. + * lspci and setpci warn when the "-s" or "-d" option is given + multiple times. + * Improved display of interrupts in "lspci -vv": routing of + interrupt pins is shown only if the pins are not disabled, + routing of MSI(X) interrupts is shown when available. + * Dump back-end can read the dump from stdin with "-" as file name. + * libpci adds pci_filter_has_slot and pci_filter_has_id + (backward compatible, sover stays 3). + * FreeBSD supports 64-bit addresses; minor Windows back-end + improvements. + * Updated pci.ids. +- Spec cleanup: drop obsolete Group tags. +- Rebase pciutils-ocloexec.patch for the reworked dump and sysfs + back-ends (stdin dump support). + +------------------------------------------------------------------- Old: ---- pciutils-3.14.0.tar.sign pciutils-3.14.0.tar.xz New: ---- pciutils-3.15.0.tar.sign pciutils-3.15.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pciutils.spec ++++++ --- /var/tmp/diff_new_pack.3IWqon/_old 2026-10-24 22:05:07.358845896 +0200 +++ /var/tmp/diff_new_pack.3IWqon/_new 2026-10-24 22:05:07.360845979 +0200 @@ -1,7 +1,7 @@ # # spec file for package pciutils # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 SUSE LLC and contributors # Copyright (c) 2025 Andreas Stieger <[email protected]> # # All modifications and additions to the file contributed by third parties @@ -20,11 +20,10 @@ %define sover 3 %define lname libpci%{sover} Name: pciutils -Version: 3.14.0 +Version: 3.15.0 Release: 0 Summary: PCI utilities for the Linux Kernel License: GPL-2.0-or-later -Group: Hardware/Other URL: https://mj.ucw.cz/sw/pciutils/ Source: https://www.kernel.org/pub/software/utils/%{name}/%{name}-%{version}.tar.xz Source1: https://www.kernel.org/pub/software/utils/%{name}/%{name}-%{version}.tar.sign @@ -37,11 +36,11 @@ BuildRequires: pkgconfig BuildRequires: pkgconfig(libkmod) BuildRequires: pkgconfig(zlib) -Requires: hwdata # pciutils makes use of libpci internals which aren't covered by ABI # versioning, so it is only guaranteed to work with the exact library # it was built with. Requires: %{lname} = %{version}-%{release} +Requires: hwdata %description lspci: This program displays detailed information about all PCI busses @@ -56,14 +55,12 @@ %package -n %{lname} Summary: PCI utility library -Group: System/Libraries %description -n %{lname} libpci offers access to the PCI configuration space. %package devel Summary: Library and Include Files of the PCI utilities -Group: Development/Libraries/C and C++ Requires: %{lname} = %{version} %description devel @@ -106,6 +103,7 @@ %else %post -p /sbin/ldconfig -n %{lname} %end + %postun -p /sbin/ldconfig -n %{lname} %end %endif ++++++ pciutils-3.14.0.tar.xz -> pciutils-3.15.0.tar.xz ++++++ ++++ 7806 lines of diff (skipped) ++++++ pciutils-ocloexec.patch ++++++ --- /var/tmp/diff_new_pack.3IWqon/_old 2026-10-24 22:05:07.817865106 +0200 +++ /var/tmp/diff_new_pack.3IWqon/_new 2026-10-24 22:05:07.822865315 +0200 @@ -1,21 +1,17 @@ -Index: pciutils-3.12.0/lib/dump.c -=================================================================== ---- pciutils-3.12.0.orig/lib/dump.c -+++ pciutils-3.12.0/lib/dump.c -@@ -66,7 +66,7 @@ dump_init(struct pci_access *a) - - if (!name) - a->error("dump: File name not given."); -- if (!(f = fopen(name, "r"))) -+ if (!(f = fopen(name, "re"))) - a->error("dump: Cannot open %s: %s", name, strerror(errno)); - while (fgets(buf, sizeof(buf)-1, f)) +--- pciutils-3.15.0/lib/dump.c ++++ pciutils-3.15.0/lib/dump.c +@@ -131,7 +131,7 @@ + err = dump_parse(a, stdin); + else { -Index: pciutils-3.12.0/lib/names-cache.c -=================================================================== ---- pciutils-3.12.0.orig/lib/names-cache.c -+++ pciutils-3.12.0/lib/names-cache.c -@@ -121,7 +121,7 @@ pci_id_cache_load(struct pci_access *a, +- FILE *f = fopen(name, "r"); ++ FILE *f = fopen(name, "re"); + if (!f) + a->error("dump: Cannot open %s: %s", name, strerror(errno)); + err = dump_parse(a, f); +--- pciutils-3.15.0/lib/names-cache.c ++++ pciutils-3.15.0/lib/names-cache.c +@@ -121,7 +121,7 @@ return 0; } @@ -24,7 +20,7 @@ if (!f) { a->debug("Cache file does not exist\n"); -@@ -196,7 +196,7 @@ pci_id_cache_flush(struct pci_access *a) +@@ -196,7 +196,7 @@ tmpname = pci_malloc(a, strlen(name) + strlen(hostname) + 64); sprintf(tmpname, "%s.tmp-%s-%d", name, hostname, this_pid); @@ -33,11 +29,9 @@ if (!f) { a->warning("Cannot write to %s: %s", name, strerror(errno)); -Index: pciutils-3.12.0/lib/names-parse.c -=================================================================== ---- pciutils-3.12.0.orig/lib/names-parse.c -+++ pciutils-3.12.0/lib/names-parse.c -@@ -54,7 +54,7 @@ static pci_file pci_open(struct pci_acce +--- pciutils-3.15.0/lib/names-parse.c ++++ pciutils-3.15.0/lib/names-parse.c +@@ -54,7 +54,7 @@ typedef FILE * pci_file; #define pci_gets(f, l, s) fgets(l, s, f) #define pci_eof(f) feof(f) @@ -46,11 +40,9 @@ #define pci_close(f) fclose(f) #define PCI_ERROR(f, err) if (!err && ferror(f)) err = "I/O error"; #endif -Index: pciutils-3.12.0/lib/proc.c -=================================================================== ---- pciutils-3.12.0.orig/lib/proc.c -+++ pciutils-3.12.0/lib/proc.c -@@ -64,7 +64,7 @@ proc_scan(struct pci_access *a) +--- pciutils-3.15.0/lib/proc.c ++++ pciutils-3.15.0/lib/proc.c +@@ -64,7 +64,7 @@ if (snprintf(buf, sizeof(buf), "%s/devices", pci_get_param(a, "proc.path")) == sizeof(buf)) a->error("File name too long"); @@ -59,7 +51,7 @@ if (!f) a->error("Cannot open %s", buf); while (fgets(buf, sizeof(buf)-1, f)) -@@ -148,7 +148,7 @@ proc_setup(struct pci_dev *d, int rw) +@@ -148,7 +148,7 @@ if (e < 0 || e >= (int) sizeof(buf)) a->error("File name too long"); a->fd_rw = a->writeable || rw; @@ -68,7 +60,7 @@ if (a->fd < 0) { e = snprintf(buf, sizeof(buf), "%s/%04x:%02x/%02x.%d", -@@ -156,7 +156,7 @@ proc_setup(struct pci_dev *d, int rw) +@@ -156,7 +156,7 @@ d->domain, d->bus, d->dev, d->func); if (e < 0 || e >= (int) sizeof(buf)) a->error("File name too long"); @@ -77,12 +69,10 @@ } if (a->fd < 0) a->warning("Cannot open %s", buf); -Index: pciutils-3.12.0/lib/sysfs.c -=================================================================== ---- pciutils-3.12.0.orig/lib/sysfs.c -+++ pciutils-3.12.0/lib/sysfs.c -@@ -97,7 +97,7 @@ sysfs_get_string(struct pci_dev *d, char - void (*warn)(char *msg, ...) = (mandatory ? a->error : a->warning); +--- pciutils-3.15.0/lib/sysfs.c ++++ pciutils-3.15.0/lib/sysfs.c +@@ -97,7 +97,7 @@ + char namebuf[OBJNAMELEN]; sysfs_obj_name(d, object, namebuf); - fd = open(namebuf, O_RDONLY); @@ -90,16 +80,16 @@ if (fd < 0) { if (mandatory || errno != ENOENT) -@@ -162,7 +162,7 @@ sysfs_get_resources(struct pci_dev *d) +@@ -161,7 +161,7 @@ + int i; - have_bar_bases = have_rom_base = have_bridge_bases = 0; sysfs_obj_name(d, "resource", namebuf); - file = fopen(namebuf, "r"); + file = fopen(namebuf, "re"); if (!file) - a->error("Cannot open %s: %s", namebuf, strerror(errno)); - for (i = 0; i < 7+6+4+1; i++) -@@ -302,7 +302,7 @@ sysfs_fill_slots(struct pci_access *a) + a->warning("Cannot open %s: %s", namebuf, strerror(errno)); + else +@@ -308,8 +308,8 @@ n = snprintf(namebuf, OBJNAMELEN, "%s/%s/%s", dirname, entry->d_name, "address"); if (n < 0 || n >= OBJNAMELEN) a->error("File name too long"); @@ -108,7 +98,8 @@ /* * Old versions of Linux had a fakephp which didn't have an 'address' * file. There's no useful information to be gleaned from these -@@ -511,7 +511,7 @@ sysfs_setup(struct pci_dev *d, int inten + * devices, pretend they're not there. +@@ -567,7 +567,7 @@ if (a->fd_vpd < 0) { sysfs_obj_name(d, "vpd", namebuf); @@ -117,7 +108,7 @@ /* No warning on error; vpd may be absent or accessible only to root */ } return a->fd_vpd; -@@ -521,7 +521,7 @@ sysfs_setup(struct pci_dev *d, int inten +@@ -577,7 +577,7 @@ { sysfs_obj_name(d, "config", namebuf); a->fd_rw = a->writeable || intent == SETUP_WRITE_CONFIG;
