pciutils: update to 3.8.0.

2022-04-18  Martin Mares <mj@ucw.cz>

	* Released as 3.8.0.

	* Filters can now match devices based on partially specified
	  class code and also on the programming interface.

	* Reporting of link speeds, power limits, and virtual function tags
	  has been updated to the current PCIe specification.

	* We decode the Data Object Exchange capability.

	* Bus mapping mode works in non-zero domains.

	* pci_fill_info() can fetch more fields: bridge bases, programming
	  interface, revision, subsystem vendor and device ID, OS driver,
	  and also parent bridge. Internally, the implementation was rewritten,
	  significantly reducing the number of corner cases to be handled.

	* The Windows port was revived and greatly improved by Pali Rohár.
	  It requires less magic to compile. More importantly, it runs on both
	  old and recent Windows systems (see README.Windows for details).

	* Added a new Windows back-end using the cfgmgr32 interface.
	  It does not provide direct access to the configuration space,
	  but basic information about the device is reported via pci_fill_info().
	  For back-ends of this type, we now provide an emulated read-only
	  config space.

	* If the configuration space is not readable for some reason
	  (e.g., the cfgmgr32 back-end, but also badly implemented sleep mode
	  of some devices), lspci prints only information provided by the OS.

	* The Hurd back-end was greatly improved thanks to Joan Lledó.

	* Various minor bug fixes and improvements.

	* We officially require a working C99 compiler. Sorry, MSVC.

	* As usually, updated pci.ids to the current snapshot of the database.
This commit is contained in:
wiz 2022-05-13 11:41:56 +00:00
parent 962e963730
commit 8d63b161ab
7 changed files with 88 additions and 36 deletions

View file

@ -1,6 +1,6 @@
pciutils is a set of utilities used to access the PCI
bus. lspci(8) lists devices and information about their
resources, and setpci(8) enables the user to control the
PCI bus by writing to config registers. Additionnally,
PCI bus by writing to config registers. Additionally,
liblspci.a, the library upon which those utilities are
built is provided.

View file

@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.49 2022/01/09 22:31:57 tnn Exp $
# $NetBSD: Makefile,v 1.50 2022/05/13 11:41:56 wiz Exp $
DISTNAME= pciutils-3.7.0
PKGREVISION= 2
DISTNAME= pciutils-3.8.0
CATEGORIES= sysutils
MASTER_SITES+= https://www.kernel.org/pub/software/utils/pciutils/

View file

@ -1,8 +1,8 @@
@comment $NetBSD: PLIST,v 1.7 2021/12/17 20:07:24 maya Exp $
include/pciutils/config.h
include/pciutils/header.h
include/pciutils/pci.h
include/pciutils/types.h
@comment $NetBSD: PLIST,v 1.8 2022/05/13 11:41:56 wiz Exp $
include/pci/config.h
include/pci/header.h
include/pci/pci.h
include/pci/types.h
lib/lib${PCIUTILS_LIBNAME}.so
lib/lib${PCIUTILS_LIBNAME}.so.3
lib/lib${PCIUTILS_LIBNAME}.so.${PKGVERSION}

View file

@ -1,10 +1,11 @@
$NetBSD: distinfo,v 1.39 2022/01/09 22:31:57 tnn Exp $
$NetBSD: distinfo,v 1.40 2022/05/13 11:41:56 wiz Exp $
BLAKE2s (pciutils-3.7.0.tar.gz) = da0286d390bcb46d3cba1665e33edc163a895af428af2b2f1910450839431ac3
SHA512 (pciutils-3.7.0.tar.gz) = 37c01619264d299ac1e367a022637d60ab2bf6e5533fe9d37b2d37fdc5070563b78bfedc200b6bcb9192ce43fdec09ff350080c3e3ba504b90766d004398efc5
Size (pciutils-3.7.0.tar.gz) = 507777 bytes
SHA1 (patch-aa) = 4c5c8950868627c7175a3544dccb6f645fd9c52d
BLAKE2s (pciutils-3.8.0.tar.gz) = ed9638a759d045122ae4b466582fa4a763d930ed8de71e59519e1f7370249d51
SHA512 (pciutils-3.8.0.tar.gz) = 49b8ccc87cc82326744de7f0306c0245a5bb87740d3e96b18378cc07477ca176bd3ffaf699bfe9954d61381c57f65aa703c07fa6406fe2be289917dc1715600d
Size (pciutils-3.8.0.tar.gz) = 564686 bytes
SHA1 (patch-aa) = 9d852153dbad858a68b1f3503a98578d48cbcf4d
SHA1 (patch-ab) = 14786e702cceaea9146f34a5a301650d2092d689
SHA1 (patch-ac) = 4b90e99c051391b9cd3a6c1f5781f41b4a855c29
SHA1 (patch-ac) = 83fd2d79a7a4a05593ccd69b9d1f38e6ec4763c8
SHA1 (patch-lib_filter.c) = 60ab18c9cd4f9850f500f11fe837006bef93ed3a
SHA1 (patch-lib_i386-io-sunos.h) = 4917244d39b48d38b8173cf3031281ad1c7fec24
SHA1 (patch-lib_internal.h) = e608669ead99bb63e3c245046412b8cde5abc31a

View file

@ -1,19 +1,19 @@
$NetBSD: patch-aa,v 1.27 2021/12/17 20:07:24 maya Exp $
$NetBSD: patch-aa,v 1.28 2022/05/13 11:41:57 wiz Exp $
Adapt the Makefile to make it compliant with pkgsrc.
--- Makefile.orig 2020-05-30 22:17:26.000000000 +0000
--- Makefile.orig 2022-04-18 16:47:28.000000000 +0000
+++ Makefile
@@ -1,8 +1,7 @@
# Makefile for The PCI Utilities
# (c) 1998--2020 Martin Mares <mj@ucw.cz>
# (c) 1998--2022 Martin Mares <mj@ucw.cz>
-OPT=-O2
-CFLAGS=$(OPT) -Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes
+CFLAGS=-Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes
VERSION=3.7.0
DATE=2020-05-31
VERSION=3.8.0
DATE=2022-04-18
@@ -13,7 +12,7 @@ RELEASE=
CROSS_COMPILE=
@ -23,20 +23,20 @@ Adapt the Makefile to make it compliant with pkgsrc.
# Support for resolving ID's by DNS (yes/no, default: detect)
DNS=
@@ -32,20 +31,20 @@ HWDB=
@@ -32,25 +31,25 @@ HWDB=
ABI_VERSION=.3
# Installation directories
-PREFIX=/usr/local
+#PREFIX=/usr/local
BINDIR=$(PREFIX)/bin
SBINDIR=$(PREFIX)/sbin
-SHAREDIR=$(PREFIX)/share
+SHAREDIR=$(PREFIX)/share/pciutils
IDSDIR=$(SHAREDIR)
-MANDIR:=$(shell if [ -d $(PREFIX)/share/man ] ; then echo $(PREFIX)/share/man ; else echo $(PREFIX)/man ; fi)
-INCDIR=$(PREFIX)/include
INCDIR=$(PREFIX)/include
+MANDIR=$(PREFIX)/$(PKGMANDIR)
+INCDIR=$(PREFIX)/include/pciutils
LIBDIR=$(PREFIX)/lib
PKGCFDIR=$(LIBDIR)/pkgconfig
@ -44,43 +44,53 @@ Adapt the Makefile to make it compliant with pkgsrc.
-INSTALL=install
-DIRINSTALL=install -d
-STRIP=-s
-ifdef CROSS_COMPILE
-CC=$(CROSS_COMPILE)gcc
-else
-CC=cc
-endif
+#INSTALL=install
+#DIRINSTALL=install -d
+#STRIP=-s
+#ifdef CROSS_COMPILE
+#CC=$(CROSS_COMPILE)gcc
+#else
+#CC=cc
+#endif
AR=$(CROSS_COMPILE)ar
RANLIB=$(CROSS_COMPILE)ranlib
@@ -118,13 +117,20 @@ distclean: clean
@@ -130,14 +129,21 @@ distclean: clean
install: all
# -c is ignored on Linux, but required on FreeBSD
- $(DIRINSTALL) -m 755 $(DESTDIR)$(SBINDIR) $(DESTDIR)$(IDSDIR) $(DESTDIR)$(MANDIR)/man8 $(DESTDIR)$(MANDIR)/man7 $(DESTDIR)/$(MANDIR)/man5
- $(INSTALL) -c -m 755 $(STRIP) lspci setpci $(DESTDIR)$(SBINDIR)
- $(DIRINSTALL) -m 755 $(DESTDIR)$(BINDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(IDSDIR) $(DESTDIR)$(MANDIR)/man8 $(DESTDIR)$(MANDIR)/man7 $(DESTDIR)/$(MANDIR)/man5
- $(INSTALL) -c -m 755 $(STRIP) lspci$(EXEEXT) $(DESTDIR)$(LSPCIDIR)
- $(INSTALL) -c -m 755 $(STRIP) setpci$(EXEEXT) $(DESTDIR)$(SBINDIR)
- $(INSTALL) -c -m 755 update-pciids $(DESTDIR)$(SBINDIR)
- $(INSTALL) -c -m 644 $(PCI_IDS) $(DESTDIR)$(IDSDIR)
- $(INSTALL) -c -m 644 lspci.8 setpci.8 update-pciids.8 $(DESTDIR)$(MANDIR)/man8
- $(INSTALL) -c -m 644 pcilib.7 $(DESTDIR)$(MANDIR)/man7
- $(INSTALL) -c -m 644 pci.ids.5 $(DESTDIR)$(MANDIR)/man5
+ $(BSD_INSTALL_PROGRAM_DIR) $(DESTDIR)$(BINDIR)
+ $(BSD_INSTALL_PROGRAM_DIR) $(DESTDIR)$(SBINDIR)
+ $(BSD_INSTALL_DATA_DIR) $(DESTDIR)$(IDSDIR)
+ $(BSD_INSTALL_MAN_DIR) $(DESTDIR)$(MANDIR)/man8
+ $(BSD_INSTALL_MAN_DIR) $(DESTDIR)$(MANDIR)/man7
+ $(BSD_INSTALL_MAN_DIR) $(DESTDIR)/$(MANDIR)/man5
+ $(BSD_INSTALL_PROGRAM) lspci $(DESTDIR)$(SBINDIR)
+ $(BSD_INSTALL_PROGRAM) lspci $(DESTDIR)$(LSPCIDIR)
+ $(BSD_INSTALL_PROGRAM) setpci $(DESTDIR)$(SBINDIR)
+ $(BSD_INSTALL_SCRIPT) update-pciids $(DESTDIR)$(SBINDIR)
+ $(BSD_INSTALL_DATA) $(PCI_IDS) $(DESTDIR)$(IDSDIR)
+ for fn in lspci.8 setpci.8 update-pciids.8; do \
+ $(BSD_INSTALL_MAN) $$fn $(DESTDIR)$(MANDIR)/man8; \
+ $(BSD_INSTALL_MAN) $$fn $(DESTDIR)$(MANDIR)/man8; \
+ done
+ $(BSD_INSTALL_MAN) pcilib.7 $(DESTDIR)$(MANDIR)/man7
+ $(BSD_INSTALL_MAN) pci.ids.5 $(DESTDIR)$(MANDIR)/man5
ifeq ($(SHARED),yes)
ifeq ($(LIBEXT),dylib)
ln -sf $(PCILIB) $(DESTDIR)$(LIBDIR)/$(LIBNAME)$(ABI_VERSION).$(LIBEXT)
@@ -138,13 +144,14 @@ install: install-pcilib
@@ -151,13 +157,14 @@ install: install-pcilib
endif
install-pcilib: lib/$(PCILIB)
@ -89,14 +99,14 @@ Adapt the Makefile to make it compliant with pkgsrc.
+ $(BSD_INSTALL_LIB_DIR) $(DESTDIR)$(LIBDIR)
+ $(BSD_INSTALL_LIB) lib/$(PCILIB) $(DESTDIR)$(LIBDIR)
install-lib: $(PCIINC_INS) lib/$(PCILIBPC) install-pcilib
install-lib: $(PCIINC_INS) install-pcilib
- $(DIRINSTALL) -m 755 $(DESTDIR)$(INCDIR)/pci $(DESTDIR)$(PKGCFDIR)
- $(INSTALL) -c -m 644 $(PCIINC_INS) $(DESTDIR)$(INCDIR)/pci
- $(INSTALL) -c -m 644 lib/$(PCILIBPC) $(DESTDIR)$(PKGCFDIR)
+ $(BSD_INSTALL_DATA_DIR) $(DESTDIR)$(INCDIR)
+ $(BSD_INSTALL_DATA_DIR) $(DESTDIR)$(INCDIR)/pci
+ $(BSD_INSTALL_DATA_DIR) $(DESTDIR)$(PKGCFDIR)
+ $(BSD_INSTALL_DATA) $(PCIINC_INS) $(DESTDIR)$(INCDIR)
+ $(BSD_INSTALL_DATA) $(PCIINC_INS) $(DESTDIR)$(INCDIR)/pci
+ $(BSD_INSTALL_DATA) lib/$(PCILIBPC) $(DESTDIR)$(PKGCFDIR)
ifeq ($(SHARED),yes)
ifeq ($(LIBEXT),dylib)
ln -sf $(LIBNAME)$(ABI_VERSION).$(LIBEXT) $(DESTDIR)$(LIBDIR)/$(LIBNAME).$(LIBEXT)
ln -sf $(PCILIB) $(DESTDIR)$(LIBDIR)/$(LIBNAME)$(ABI_VERSION).$(LIBEXT)

View file

@ -1,6 +1,6 @@
$NetBSD: patch-ac,v 1.2 2012/04/22 16:00:38 wiz Exp $
$NetBSD: patch-ac,v 1.3 2022/05/13 11:41:57 wiz Exp $
--- lib/libpci.pc.in.orig 2011-10-02 09:52:11.000000000 +0000
--- lib/libpci.pc.in.orig 2020-12-06 18:17:21.000000000 +0000
+++ lib/libpci.pc.in
@@ -6,6 +6,6 @@ idsdir=@IDSDIR@
Name: libpci
@ -8,5 +8,5 @@ $NetBSD: patch-ac,v 1.2 2012/04/22 16:00:38 wiz Exp $
Version: @VERSION@
-Libs: -L${libdir} -lpci
+Libs: -L${libdir} -l@PCIUTILS_LIBNAME@
Libs.private: @LDLIBS@
Libs.private: @LDLIBS@ @WITH_LIBS@
Cflags: -I${includedir}

View file

@ -0,0 +1,42 @@
$NetBSD: patch-lib_filter.c,v 1.1 2022/05/13 11:41:57 wiz Exp $
/tmp//ccMwJMwZ.s: Assembler messages:
/tmp//ccMwJMwZ.s:976: Error: multiple versions [`pci_filter_init@@LIBPCI_3.8'|`pci_filter_init@LIBPCI_3.3'] for symbol `pci_filter_init_v38'
/tmp//ccMwJMwZ.s:978: Error: multiple versions [`pci_filter_parse_slot@@LIBPCI_3.8'|`pci_filter_parse_slot@LIBPCI_3.3'] for symbol `pci_filter_parse_slot_v38'
/tmp//ccMwJMwZ.s:980: Error: multiple versions [`pci_filter_parse_id@@LIBPCI_3.8'|`pci_filter_parse_id@LIBPCI_3.3'] for symbol `pci_filter_parse_id_v38'
/tmp//ccMwJMwZ.s:982: Error: multiple versions [`pci_filter_match@@LIBPCI_3.8'|`pci_filter_match@LIBPCI_3.3'] for symbol `pci_filter_match_v38'
# cc -Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes -c -o filter.o filter.c
/tmp//ccfA72Ke.s: Assembler messages:
/tmp//ccfA72Ke.s:976: Error: multiple versions [`pci_filter_init@@LIBPCI_3.8'|`pci_filter_init@LIBPCI_3.3'] for symbol `pci_filter_init_v38'
/tmp//ccfA72Ke.s:978: Error: multiple versions [`pci_filter_parse_slot@@LIBPCI_3.8'|`pci_filter_parse_slot@LIBPCI_3.3'] for symbol `pci_filter_parse_slot_v38'
/tmp//ccfA72Ke.s:980: Error: multiple versions [`pci_filter_parse_id@@LIBPCI_3.8'|`pci_filter_parse_id@LIBPCI_3.3'] for symbol `pci_filter_parse_id_v38'
/tmp//ccfA72Ke.s:982: Error: multiple versions [`pci_filter_match@@LIBPCI_3.8'|`pci_filter_match@LIBPCI_3.3'] for symbol `pci_filter_match_v38'
--- lib/filter.c.orig 2022-04-18 16:46:38.000000000 +0000
+++ lib/filter.c
@@ -304,20 +304,20 @@ pci_filter_match_v30(struct pci_filter_v
STATIC_ALIAS(void pci_filter_init(struct pci_access *a, struct pci_filter *f), pci_filter_init_v38(a, f));
SYMBOL_VERSION(pci_filter_init_v30, pci_filter_init@LIBPCI_3.0);
-SYMBOL_VERSION(pci_filter_init_v38, pci_filter_init@LIBPCI_3.3);
+//SYMBOL_VERSION(pci_filter_init_v38, pci_filter_init@LIBPCI_3.3);
SYMBOL_VERSION(pci_filter_init_v38, pci_filter_init@@LIBPCI_3.8);
STATIC_ALIAS(char *pci_filter_parse_slot(struct pci_filter *f, char *str), pci_filter_parse_slot_v38(f, str));
SYMBOL_VERSION(pci_filter_parse_slot_v30, pci_filter_parse_slot@LIBPCI_3.0);
-SYMBOL_VERSION(pci_filter_parse_slot_v38, pci_filter_parse_slot@LIBPCI_3.3);
+//SYMBOL_VERSION(pci_filter_parse_slot_v38, pci_filter_parse_slot@LIBPCI_3.3);
SYMBOL_VERSION(pci_filter_parse_slot_v38, pci_filter_parse_slot@@LIBPCI_3.8);
STATIC_ALIAS(char *pci_filter_parse_id(struct pci_filter *f, char *str), pci_filter_parse_id_v38(f, str));
SYMBOL_VERSION(pci_filter_parse_id_v30, pci_filter_parse_id@LIBPCI_3.0);
-SYMBOL_VERSION(pci_filter_parse_id_v38, pci_filter_parse_id@LIBPCI_3.3);
+//SYMBOL_VERSION(pci_filter_parse_id_v38, pci_filter_parse_id@LIBPCI_3.3);
SYMBOL_VERSION(pci_filter_parse_id_v38, pci_filter_parse_id@@LIBPCI_3.8);
STATIC_ALIAS(int pci_filter_match(struct pci_filter *f, struct pci_dev *d), pci_filter_match_v38(f, d));
SYMBOL_VERSION(pci_filter_match_v30, pci_filter_match@LIBPCI_3.0);
-SYMBOL_VERSION(pci_filter_match_v38, pci_filter_match@LIBPCI_3.3);
+//SYMBOL_VERSION(pci_filter_match_v38, pci_filter_match@LIBPCI_3.3);
SYMBOL_VERSION(pci_filter_match_v38, pci_filter_match@@LIBPCI_3.8);