diff --git a/.cvsignore b/.cvsignore index 75bacf3..3e03e2f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -pciutils-2.1.10.tar.gz +pciutils-2.1.11.tar.bz2 diff --git a/pciutils-havepread.patch b/pciutils-havepread.patch new file mode 100644 index 0000000..2147fbf --- /dev/null +++ b/pciutils-havepread.patch @@ -0,0 +1,126 @@ +--- pciutils-2.1.11/lib/sysfs.c.pread 2003-11-21 18:27:17.547950935 -0500 ++++ pciutils-2.1.11/lib/sysfs.c 2003-11-21 18:27:56.021002787 -0500 +@@ -24,60 +24,6 @@ + + #define SYSFS_PATH "/sys/bus/pci/devices" + +-/* +- * We'd like to use pread/pwrite for configuration space accesses, but +- * unfortunately it isn't simple at all since all libc's until glibc 2.1 +- * don't define it. +- */ +- +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ > 0 +-/* glibc 2.1 or newer -> pread/pwrite supported automatically */ +- +-#elif defined(i386) && defined(__GLIBC__) +-/* glibc 2.0 on i386 -> call syscalls directly */ +-#include +-#include +-#ifndef SYS_pread +-#define SYS_pread 180 +-#endif +-static int pread(unsigned int fd, void *buf, size_t size, loff_t where) +-{ return syscall(SYS_pread, fd, buf, size, where); } +-#ifndef SYS_pwrite +-#define SYS_pwrite 181 +-#endif +-static int pwrite(unsigned int fd, void *buf, size_t size, loff_t where) +-{ return syscall(SYS_pwrite, fd, buf, size, where); } +- +-#elif defined(i386) +-/* old libc on i386 -> call syscalls directly the old way */ +-#include +-static _syscall5(int, pread, unsigned int, fd, void *, buf, size_t, size, u32, where_lo, u32, where_hi); +-static _syscall5(int, pwrite, unsigned int, fd, void *, buf, size_t, size, u32, where_lo, u32, where_hi); +-static int do_read(struct pci_dev *d UNUSED, int fd, void *buf, size_t size, int where) { return pread(fd, buf, size, where, 0); } +-static int do_write(struct pci_dev *d UNUSED, int fd, void *buf, size_t size, int where) { return pwrite(fd, buf, size, where, 0); } +-#define HAVE_DO_READ +- +-#else +-/* In all other cases we use lseek/read/write instead to be safe */ +-#define make_rw_glue(op) \ +- static int do_##op(struct pci_dev *d, int fd, void *buf, size_t size, int where) \ +- { \ +- struct pci_access *a = d->access; \ +- int r; \ +- if (a->fd_pos != where && lseek(fd, where, SEEK_SET) < 0) \ +- return -1; \ +- r = op(fd, buf, size); \ +- if (r < 0) \ +- a->fd_pos = -1; \ +- else \ +- a->fd_pos = where + r; \ +- return r; \ +- } +-make_rw_glue(read) +-make_rw_glue(write) +-#define HAVE_DO_READ +-#endif +- + #ifndef HAVE_DO_READ + #define do_read(d,f,b,l,p) pread(f,b,l,p) + #define do_write(d,f,b,l,p) pwrite(f,b,l,p) +--- pciutils-2.1.11/lib/proc.c.pread 2003-11-21 18:27:23.749508565 -0500 ++++ pciutils-2.1.11/lib/proc.c 2003-11-21 18:27:43.341951711 -0500 +@@ -19,60 +19,6 @@ + + #include "internal.h" + +-/* +- * We'd like to use pread/pwrite for configuration space accesses, but +- * unfortunately it isn't simple at all since all libc's until glibc 2.1 +- * don't define it. +- */ +- +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ > 0 +-/* glibc 2.1 or newer -> pread/pwrite supported automatically */ +- +-#elif defined(i386) && defined(__GLIBC__) +-/* glibc 2.0 on i386 -> call syscalls directly */ +-#include +-#include +-#ifndef SYS_pread +-#define SYS_pread 180 +-#endif +-static int pread(unsigned int fd, void *buf, size_t size, loff_t where) +-{ return syscall(SYS_pread, fd, buf, size, where); } +-#ifndef SYS_pwrite +-#define SYS_pwrite 181 +-#endif +-static int pwrite(unsigned int fd, void *buf, size_t size, loff_t where) +-{ return syscall(SYS_pwrite, fd, buf, size, where); } +- +-#elif defined(i386) +-/* old libc on i386 -> call syscalls directly the old way */ +-#include +-static _syscall5(int, pread, unsigned int, fd, void *, buf, size_t, size, u32, where_lo, u32, where_hi); +-static _syscall5(int, pwrite, unsigned int, fd, void *, buf, size_t, size, u32, where_lo, u32, where_hi); +-static int do_read(struct pci_dev *d UNUSED, int fd, void *buf, size_t size, int where) { return pread(fd, buf, size, where, 0); } +-static int do_write(struct pci_dev *d UNUSED, int fd, void *buf, size_t size, int where) { return pwrite(fd, buf, size, where, 0); } +-#define HAVE_DO_READ +- +-#else +-/* In all other cases we use lseek/read/write instead to be safe */ +-#define make_rw_glue(op) \ +- static int do_##op(struct pci_dev *d, int fd, void *buf, size_t size, int where) \ +- { \ +- struct pci_access *a = d->access; \ +- int r; \ +- if (a->fd_pos != where && lseek(fd, where, SEEK_SET) < 0) \ +- return -1; \ +- r = op(fd, buf, size); \ +- if (r < 0) \ +- a->fd_pos = -1; \ +- else \ +- a->fd_pos = where + r; \ +- return r; \ +- } +-make_rw_glue(read) +-make_rw_glue(write) +-#define HAVE_DO_READ +-#endif +- + #ifndef HAVE_DO_READ + #define do_read(d,f,b,l,p) pread(f,b,l,p) + #define do_write(d,f,b,l,p) pwrite(f,b,l,p) diff --git a/pciutils-strip.patch b/pciutils-strip.patch index 2bbbc7e..759e01f 100644 --- a/pciutils-strip.patch +++ b/pciutils-strip.patch @@ -12,12 +12,12 @@ @@ -59,7 +59,7 @@ install: all # -c is ignored on Linux, but required on FreeBSD - $(DIRINSTALL) -m 755 $(ROOT)/sbin $(PREFIX)/share $(MANDIR)/man8 -- $(INSTALL) -c -m 755 -s lspci setpci $(ROOT)/sbin -+ $(INSTALL) -c -m 755 lspci setpci $(ROOT)/sbin - if [ ! -f $(PREFIX)/share/pci.ids -o pci.ids -nt $(PREFIX)/share/pci.ids ] ; then \ - $(INSTALL) -c -m 644 pci.ids $(PREFIX)/share ; \ - elif [ -f $(PREFIX)/share/pci.ids ] ; then \ + $(DIRINSTALL) -m 755 $(SBINDIR) $(SHAREDIR) $(MANDIR)/man8 +- $(INSTALL) -c -m 755 -s lspci setpci $(SBINDIR) ++ $(INSTALL) -c -m 755 lspci setpci $(SBINDIR) + $(INSTALL) -c -m 755 update-pciids $(SBINDIR) + $(INSTALL) -c -m 644 pci.ids $(SHAREDIR) + $(INSTALL) -c -m 644 lspci.8 setpci.8 update-pciids.8 $(MANDIR)/man8 --- pciutils-2.1.9/lspci.c.old Tue May 28 23:54:03 2002 +++ pciutils-2.1.9/lspci.c Wed May 29 00:29:39 2002 @@ -1506,7 +1506,7 @@ diff --git a/pciutils.spec b/pciutils.spec index e644b82..15d5cc2 100644 --- a/pciutils.spec +++ b/pciutils.spec @@ -1,19 +1,24 @@ Name: pciutils -Version: 2.1.10 -Release: 8 -Source: ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/%{name}-%{version}.tar.gz +Version: 2.1.11 +Release: 4 +Source: ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/%{name}-%{version}.tar.bz2 Patch0: pciutils-strip.patch Patch1: pciutils-bufsiz.patch Patch3: pciutils-pciids.patch Patch4: pciutils-ppc64.patch Patch5: pciutils-2.1.10-scan.patch +Patch6: pciutils-sysfs.diff +Patch7: pciutils-havepread.patch +Patch8: pciutils-sysfs-err.patch License: GPL Buildroot: %{_tmppath}/%{name}-%{version}-root ExclusiveOS: Linux -ExcludeArch: armv4l Requires: kernel >= 2.2 hwdata Summary: PCI bus related utilities. Group: Applications/System +%ifarch i386 +BuildRequires: dietlibc +%endif %description The pciutils package contains various utilities for inspecting and @@ -36,9 +41,18 @@ devices connected to the PCI bus. %patch3 -p1 -b .pciids %patch4 -p1 -b .ppc64 %patch5 -p1 -b .scan +%patch6 -p1 -b .sysfs +%patch7 -p1 -b .pread +%patch8 -p1 -b .err %build -make OPT="$RPM_OPT_FLAGS" +%ifarch i386 +make OPT="$RPM_OPT_FLAGS" CC="diet gcc" PREFIX="/usr" +mv lib/libpci.a lib/libpci_loader_a +make clean +%endif + +make OPT="$RPM_OPT_FLAGS" PREFIX="/usr" %install rm -rf $RPM_BUILD_ROOT @@ -51,6 +65,10 @@ install lib/pci.h $RPM_BUILD_ROOT%{_includedir}/pci install lib/header.h $RPM_BUILD_ROOT%{_includedir}/pci install lib/config.h $RPM_BUILD_ROOT%{_includedir}/pci +%ifarch i386 +install lib/libpci_loader_a $RPM_BUILD_ROOT%{_libdir}/libpci_loader.a +%endif + %files %defattr(0644, root, root, 0755) %{_mandir}/man8/* @@ -60,12 +78,29 @@ install lib/config.h $RPM_BUILD_ROOT%{_includedir}/pci %files devel %defattr(0644, root, root, 0755) %{_libdir}/libpci.a +%ifarch i386 +%{_libdir}/libpci_loader.a +%endif %{_includedir}/pci %clean rm -rf $RPM_BUILD_ROOT %changelog +* Mon Dec 8 2003 Bill Nottingham 2.1.11-4 +- fix paths for pci.ids, etc. (#111665) + +* Tue Nov 25 2003 Bill Nottingham 2.1.11-3 +- remove a few calls to ->error() in the sysfs code + +* Fri Nov 21 2003 Jeremy Katz 2.1.11-2 +- build a diet libpci_loader.a on i386 +- always assume pread exists, it does with diet and all vaguely recent glibc + +* Fri Nov 21 2003 Bill Nottingham 2.1.11-1 +- update to 2.1.11 +- add patch for sysfs & pci domains support () + * Wed Jun 04 2003 Elliot Lee - rebuilt diff --git a/sources b/sources index 3f7f7be..c6b92b2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b589225945b445b0e4c5801a15b16b79 pciutils-2.1.10.tar.gz +2b3b2147b7bc91f362be55cb49fa1c4e pciutils-2.1.11.tar.bz2