Synchronize package with SLE-15-SP3. [PED-8393]

OBS-URL: https://build.opensuse.org/package/show/Base:System/pciutils?expand=0&rev=97
This commit is contained in:
Peter Simons 2024-07-19 14:29:54 +00:00 committed by Git OBS Bridge
commit 617ca5cef5
11 changed files with 1722 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

7
baselibs.conf Normal file
View File

@ -0,0 +1,7 @@
libpci3
obsoletes "pciutils-<targettype> < <version>"
provides "pciutils-<targettype> = <version>"
pciutils-devel
requires -pciutils-<targettype>
requires "libpci3-<targettype> = <version>"

View File

@ -0,0 +1,10 @@
--- pciutils-3.8.0/lib/libpci.pc.in.orig 2022-04-21 09:11:03.305072096 +0200
+++ pciutils-3.8.0/lib/libpci.pc.in 2022-04-21 09:13:06.166040080 +0200
@@ -6,6 +6,5 @@
Name: libpci
Description: libpci
Version: @VERSION@
-Libs: -L${libdir} -lpci
+Libs: -lpci @LDLIBS@
Libs.private: @LDLIBS@ @WITH_LIBS@
-Cflags: -I${includedir}

7
pciutils-3.13.0.tar.sign Normal file
View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQQz3UIWM8X/rMLSHFIVf/JNR+6nIAUCZmSkBQAKCRAVf/JNR+6n
IPf8AP9RrQRHJTk9xvvQamI9oT+ZjXcisz5ibrnWyRu54xp5YQD/aY/X///WijHL
QSGGWBNoIprqjXkE4arsluL+7cICnA4=
=tBLH
-----END PGP SIGNATURE-----

3
pciutils-3.13.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:77f11f78298502634d1af50308f15a5788629f6cf45cba376f5009aea4cb4926
size 479140

121
pciutils-endianh.patch Normal file
View File

@ -0,0 +1,121 @@
Index: pciutils-3.12.0/lib/sysdep.h
===================================================================
--- pciutils-3.12.0.orig/lib/sysdep.h
+++ pciutils-3.12.0/lib/sysdep.h
@@ -22,112 +22,9 @@
typedef u8 byte;
typedef u16 word;
-#ifdef PCI_OS_WINDOWS
-#define strcasecmp _strcmpi
-#define strncasecmp _strnicmp
-#if defined(_MSC_VER) && _MSC_VER < 1800
-#if _MSC_VER < 1300
-#define strtoull strtoul
-#else
-#define strtoull _strtoui64
-#endif
-#endif
-#if defined(_MSC_VER) && _MSC_VER < 1900
-#define snprintf _snprintf
-#define vsnprintf _vsnprintf
-#endif
-#endif
-
-#ifdef PCI_HAVE_LINUX_BYTEORDER_H
-
-#include <asm/byteorder.h>
-#define cpu_to_le16 __cpu_to_le16
-#define cpu_to_le32 __cpu_to_le32
-#define le16_to_cpu __le16_to_cpu
-#define le32_to_cpu __le32_to_cpu
-
-#else
-
-#ifdef PCI_OS_LINUX
-#include <endian.h>
-#define BYTE_ORDER __BYTE_ORDER
-#define BIG_ENDIAN __BIG_ENDIAN
-#endif
-
-#ifdef PCI_OS_SUNOS
-#include <sys/byteorder.h>
-#if defined(__i386) && defined(LITTLE_ENDIAN)
-# define BYTE_ORDER LITTLE_ENDIAN
-#elif defined(__sparc) && defined(BIG_ENDIAN)
-# define BYTE_ORDER BIG_ENDIAN
-#else
-#define BIG_ENDIAN 4321
-#endif
-#ifndef BYTE_ORDER
-#ifdef _LITTLE_ENDIAN
-#define BYTE_ORDER 1234
-#else
-#define BYTE_ORDER 4321
-#endif
-#endif /* BYTE_ORDER */
-#endif /* PCI_OS_SUNOS */
-
-#ifdef PCI_OS_WINDOWS
-#ifdef __MINGW32__
- #include <sys/param.h>
-#else
- #include <io.h>
- #define BIG_ENDIAN 4321
- #define LITTLE_ENDIAN 1234
- #define BYTE_ORDER LITTLE_ENDIAN
-#endif
-#endif
-
-#ifdef PCI_OS_HAIKU
#include <endian.h>
-#endif
-
-#ifdef PCI_OS_SYLIXOS
-#include <endian.h>
-#endif
-
-#ifdef PCI_OS_DJGPP
- #define BIG_ENDIAN 4321
- #define LITTLE_ENDIAN 1234
- #define BYTE_ORDER LITTLE_ENDIAN
-#endif
-
-#ifdef PCI_OS_AMIGAOS
- #include <machine/endian.h>
-#endif
-
-#if !defined(BYTE_ORDER)
-#error "BYTE_ORDER not defined for your platform"
-#endif
-
-#if BYTE_ORDER == BIG_ENDIAN
-#define cpu_to_le16 swab16
-#define cpu_to_le32 swab32
-#define le16_to_cpu swab16
-#define le32_to_cpu swab32
-
-static inline word swab16(word w)
-{
- return (w << 8) | ((w >> 8) & 0xff);
-}
-
-static inline u32 swab32(u32 w)
-{
- return ((w & 0xff000000) >> 24) |
- ((w & 0x00ff0000) >> 8) |
- ((w & 0x0000ff00) << 8) |
- ((w & 0x000000ff) << 24);
-}
-#else
-#define cpu_to_le16(x) (x)
-#define cpu_to_le32(x) (x)
-#define le16_to_cpu(x) (x)
-#define le32_to_cpu(x) (x)
-#endif
+#define cpu_to_le16 htole16
+#define cpu_to_le32 htole32
+#define le16_to_cpu le16toh
+#define le32_to_cpu le32toh
-#endif

128
pciutils-ocloexec.patch Normal file
View File

@ -0,0 +1,128 @@
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))
{
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,
return 0;
}
- f = fopen(name, "rb");
+ f = fopen(name, "rbe");
if (!f)
{
a->debug("Cache file does not exist\n");
@@ -196,7 +196,7 @@ pci_id_cache_flush(struct pci_access *a)
tmpname = pci_malloc(a, strlen(name) + strlen(hostname) + 64);
sprintf(tmpname, "%s.tmp-%s-%d", name, hostname, this_pid);
- f = fopen(tmpname, "wb");
+ f = fopen(tmpname, "wbe");
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
typedef FILE * pci_file;
#define pci_gets(f, l, s) fgets(l, s, f)
#define pci_eof(f) feof(f)
-#define pci_open(a) fopen(a->id_file_name, "r")
+#define pci_open(a) fopen(a->id_file_name, "re")
#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)
if (snprintf(buf, sizeof(buf), "%s/devices", pci_get_param(a, "proc.path")) == sizeof(buf))
a->error("File name too long");
- f = fopen(buf, "r");
+ f = fopen(buf, "re");
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)
if (e < 0 || e >= (int) sizeof(buf))
a->error("File name too long");
a->fd_rw = a->writeable || rw;
- a->fd = open(buf, a->fd_rw ? O_RDWR : O_RDONLY);
+ a->fd = open(buf, (a->fd_rw ? O_RDWR : O_RDONLY) | O_CLOEXEC);
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)
d->domain, d->bus, d->dev, d->func);
if (e < 0 || e >= (int) sizeof(buf))
a->error("File name too long");
- a->fd = open(buf, a->fd_rw ? O_RDWR : O_RDONLY);
+ a->fd = open(buf, (a->fd_rw ? O_RDWR : O_RDONLY) | O_CLOEXEC);
}
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);
sysfs_obj_name(d, object, namebuf);
- fd = open(namebuf, O_RDONLY);
+ fd = open(namebuf, O_RDONLY|O_CLOEXEC);
if (fd < 0)
{
if (mandatory || errno != ENOENT)
@@ -162,7 +162,7 @@ sysfs_get_resources(struct pci_dev *d)
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)
n = snprintf(namebuf, OBJNAMELEN, "%s/%s/%s", dirname, entry->d_name, "address");
if (n < 0 || n >= OBJNAMELEN)
a->error("File name too long");
- file = fopen(namebuf, "r");
+ file = fopen(namebuf, "re");
/*
* 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
if (a->fd_vpd < 0)
{
sysfs_obj_name(d, "vpd", namebuf);
- a->fd_vpd = open(namebuf, O_RDONLY);
+ a->fd_vpd = open(namebuf, O_RDONLY|O_CLOEXEC);
/* 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
{
sysfs_obj_name(d, "config", namebuf);
a->fd_rw = a->writeable || intent == SETUP_WRITE_CONFIG;
- a->fd = open(namebuf, a->fd_rw ? O_RDWR : O_RDONLY);
+ a->fd = open(namebuf, (a->fd_rw ? O_RDWR : O_RDONLY) | O_CLOEXEC);
if (a->fd < 0)
a->warning("Cannot open %s", namebuf);
}

1148
pciutils.changes Normal file

File diff suppressed because it is too large Load Diff

141
pciutils.keyring Normal file
View File

@ -0,0 +1,141 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=FiMe
-----END PGP PUBLIC KEY BLOCK-----

133
pciutils.spec Normal file
View File

@ -0,0 +1,133 @@
#
# spec file for package pciutils
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define sover 3
%define lname libpci%{sover}
Name: pciutils
Version: 3.13.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
Source2: baselibs.conf
# https://mj.ucw.cz/pgp.html
Source3: https://mj.ucw.cz/pgpkey.txt#/%{name}.keyring
Patch0: pciutils-3.1.9_pkgconfig.patch
Patch1: pciutils-endianh.patch
Patch2: pciutils-ocloexec.patch
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libkmod)
BuildRequires: pkgconfig(zlib)
Requires: hwdata
%description
lspci: This program displays detailed information about all PCI busses
and devices in the system, replacing the original /proc/pci interface.
setpci: This program allows reading from and writing to PCI device
configuration registers. For example, you can adjust the latency timers
with it.
update-pciids: This program downloads the current version of the
pci.ids file.
%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
This package contains the files that are necessary for software
development using the PCI utilities.
%prep
%autosetup -p1
%build
%make_build OPT="%{optflags}" PREFIX=%{_prefix} LIBDIR=%{_libdir} SBINDIR=%{_bindir} STRIP="" SHARED="yes"
%install
make install PREFIX=%{buildroot}%{_prefix} SBINDIR=%{buildroot}%{_bindir} \
ROOT=%{buildroot} MANDIR=%{buildroot}%{_mandir} STRIP="" \
SHARED="yes" LIBDIR=%{buildroot}%{_libdir}
chmod 0755 %{buildroot}%{_libdir}/libpci.so.%{sover}
mkdir -p %{buildroot}%{_includedir}/pci
cp -p lib/{pci,header,config,types}.h %{buildroot}%{_includedir}/pci
rm -rf %{buildroot}%{_datadir}/pci.ids*
install -D -m 0644 lib/libpci.pc %{buildroot}%{_libdir}/pkgconfig/libpci.pc
ln -sf %{_libdir}/libpci.so.3 %{buildroot}%{_libdir}/libpci.so
%if 0%{?suse_version} < 1550
mkdir %{buildroot}/sbin
ln -s %{_bindir}/{lspci,setpci,pcilmr} %{buildroot}/sbin
%endif
mkdir %{buildroot}%{_sbindir}
ln -s %{_bindir}/{lspci,setpci,pcilmr} %{buildroot}%{_sbindir}
rm %{buildroot}%{_bindir}/update-pciids
rm %{buildroot}%{_mandir}/man8/update-pciids.8
%check
%make_build tests
%ldconfig_scriptlets -n %{lname}
%files
%license COPYING
%doc README
%if 0%{?suse_version} < 1550
/sbin/lspci
/sbin/pcilmr
/sbin/setpci
%endif
%{_bindir}/lspci
%{_bindir}/pcilmr
%{_bindir}/setpci
%{_sbindir}/lspci
%{_sbindir}/pcilmr
%{_sbindir}/setpci
%{_mandir}/man7/pcilib.7%{?ext_man}
%{_mandir}/man8/lspci.8%{?ext_man}
%{_mandir}/man8/pcilmr.8%{?ext_man}
%{_mandir}/man8/setpci.8%{?ext_man}
%{_mandir}/man5/pci.ids.5%{?ext_man}
%files -n %{lname}
%license COPYING
%{_libdir}/libpci.so.%{sover}
%{_libdir}/libpci.so.%{sover}.*
%files devel
%license COPYING
%{_includedir}/pci
%{_libdir}/libpci.so
%{_libdir}/pkgconfig/libpci.pc
%changelog