pciutils: Update to version 3.7.0

Message ID 20220128130814.3417558-1-adolf.belka@ipfire.org
State Dropped
Headers
Series pciutils: Update to version 3.7.0 |

Commit Message

Adolf Belka Jan. 28, 2022, 1:08 p.m. UTC
  - Update from 3.5.6 (2017) to 3.7.0 (2020)
- Update of rootfile
- Changelog
    2020-05-31  Martin Mares <mj@ucw.cz>
    * Released as 3.7.0.
	* Added or improved the following capabilities: Designated Vendor-Specific,
	  Compute eXpress Link, Resizable BARs, VF Resizable BARs, Link
	  Capabilities 2, Link Status 2.
	* On Linux, lspci can show IOMMU groups.
	* setpci can be asked to skip bus scan and operate on a device
	  completely specified by its domain/bus/dev/func address. This
	  involved major internal cleanup.
	* The above feature of setpci uses the pci_get_dev() function,
	  which obtains a struct pci_dev without doing a bus scan. This was
	  always possible, but apparently little used, because back-ends
	  frequently choked when operating on such devices. Fixed a lot
	  of minor bugs related to this.
	* Also, back-ends which do not support domains now correctly fail when
	  trying to access devices outside domain 0.
	* Semantics of pci_fill_info() and pci_dev->known_fields was underspecified,
	  which lead to inconsistencies between back-ends. Improved documentation
	  to give a more precise definition and updated all back-ends to conform
	  to it. Most importantly, pci_dev->known_fields shows all fields requested
	  over the lifetime of the pci_dev, but never those which are not supported
	  by the back-end.
	* As usually, updated pci.ids to the current snapshot of the database.
    2020-01-25  Martin Mares <mj@ucw.cz>
    * Released as 3.6.4.
	* A new back-end for the GNU Hurd was contributed by Joan Lledó.
	* When printing VPD item identifiers, non-ASCII characters are escaped.
    2020-01-22  Martin Mares <mj@ucw.cz>
    * Released as 3.6.3.
	* `lspci -t' (tree mode) can be combined with `-s' to show a sub-tree.
	  We also fixed potential buffer overflows in the tree dumper.
	* Cleaned messy code for dumping of I/O, memory, and ROM regions.
	  This helped fixing a bug, which caused some 64-bit regions to be
	  reported as virtual. All flags are now printed after the address
	  (previously, "[virtual]" and "[enhanced]" were before it for no good
	  reason).
	* Added pci_find_cap_nr() to the library, which handles capabilities
	  which occur multiple times in a single device.
	* Minor improvements in printing of PCIe capabilities.
	* We now decode the Multicast and Secondary PCI Express extended
	  capabilities.
	* The list of capability names available to setpci was updated.
	* Minor bugs were fixed in FreeBSD and Solaris ports.
	* We now prefer HTTPS URLs in all documentation
	* The pci.ids file has a man page.
	* As usually, updated pci.ids to the current snapshot of the database.
    2018-08-12  Martin Mares <mj@ucw.cz>
    * Released as 3.6.2.
	* Added "-P" and "-PP" switches to lspci, which display the path
	  through bridges to each device.
	* Fixed a couple of bugs in computation of bus topology. It was
	  previously used only for the tree display, but we re-use it for
	  computing the paths.
	* As usually, updated pci.ids to the current snapshot of the database.
    2018-07-12  Martin Mares <mj@ucw.cz>
    * Released as 3.6.1.
	* Fixed compilation issues on Linux systems with MUSL libc.
    2018-06-30  Martin Mares <mj@ucw.cz>
    * Released as 3.6.0.
	* BARs reported by the OS, but not set on the device itself are
	  reliably marked with "[virtual]".
	* Library: Introduced a generic mechanism of string properties. This
	  avoids lots of special cases and makes ABI compatibility easier.
	* On Linux systems with OpenFirmware, report corresponding device tree nodes
	  as device properties.
	* VPD decoder knows several non-standard extensions.
	* When PCIe link speed is less than the maximum supported by the
	  device, it is explicitly marked as "downgraded".
	* Several new capabilities are not decoded yet, but at least their
	  names are printed.
	* The Null capability is easily decoded.
	* Formatting of several capabilities was cleaned up.
	* The VGA16 bit in the bridge control register is now supported.
	* Added a port to SylixOS. Thanks to YuJian Gong for contribution.
	* Added a port to DOS/DJGPP. Thanks to Rudolf Marek for contribution.
	* The order in which back-ends are probed was decoupled from the
	  internal back-end IDs. This helps, because new back-ends must have
	  their ID allocated at the end to keep the ABI, but they might need
	  to be probed earlier.
	* The fbsd-device back-end should work again.
	* Fixed a couple of bugs. Most notably, DeviceName was not printed.
	* As usually, updated pci.ids to the current snapshot of the database.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/pciutils | 2 +-
 lfs/pciutils                     | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)
  

Comments

Peter Müller Feb. 4, 2022, 12:05 p.m. UTC | #1
Hello Adolf,

I regret to inform you that I worked on the same thing.

Comparing both patches (see https://git.ipfire.org/?p=ipfire-2.x.git;a=commit;h=34a98832ee5ec33ef75f4732dfed003e9b76185c
for mine), the MD5 checksum differs: Yours is e6e20482b4f25c5186e6a753c5edc361, while
mine is 51554c538b5a57b61123326e14ea28a1.

I will investigate into this and report back later.

Thanks, and best regards,
Peter Müller


> - Update from 3.5.6 (2017) to 3.7.0 (2020)
> - Update of rootfile
> - Changelog
>     2020-05-31  Martin Mares <mj@ucw.cz>
>     * Released as 3.7.0.
> 	* Added or improved the following capabilities: Designated Vendor-Specific,
> 	  Compute eXpress Link, Resizable BARs, VF Resizable BARs, Link
> 	  Capabilities 2, Link Status 2.
> 	* On Linux, lspci can show IOMMU groups.
> 	* setpci can be asked to skip bus scan and operate on a device
> 	  completely specified by its domain/bus/dev/func address. This
> 	  involved major internal cleanup.
> 	* The above feature of setpci uses the pci_get_dev() function,
> 	  which obtains a struct pci_dev without doing a bus scan. This was
> 	  always possible, but apparently little used, because back-ends
> 	  frequently choked when operating on such devices. Fixed a lot
> 	  of minor bugs related to this.
> 	* Also, back-ends which do not support domains now correctly fail when
> 	  trying to access devices outside domain 0.
> 	* Semantics of pci_fill_info() and pci_dev->known_fields was underspecified,
> 	  which lead to inconsistencies between back-ends. Improved documentation
> 	  to give a more precise definition and updated all back-ends to conform
> 	  to it. Most importantly, pci_dev->known_fields shows all fields requested
> 	  over the lifetime of the pci_dev, but never those which are not supported
> 	  by the back-end.
> 	* As usually, updated pci.ids to the current snapshot of the database.
>     2020-01-25  Martin Mares <mj@ucw.cz>
>     * Released as 3.6.4.
> 	* A new back-end for the GNU Hurd was contributed by Joan Lledó.
> 	* When printing VPD item identifiers, non-ASCII characters are escaped.
>     2020-01-22  Martin Mares <mj@ucw.cz>
>     * Released as 3.6.3.
> 	* `lspci -t' (tree mode) can be combined with `-s' to show a sub-tree.
> 	  We also fixed potential buffer overflows in the tree dumper.
> 	* Cleaned messy code for dumping of I/O, memory, and ROM regions.
> 	  This helped fixing a bug, which caused some 64-bit regions to be
> 	  reported as virtual. All flags are now printed after the address
> 	  (previously, "[virtual]" and "[enhanced]" were before it for no good
> 	  reason).
> 	* Added pci_find_cap_nr() to the library, which handles capabilities
> 	  which occur multiple times in a single device.
> 	* Minor improvements in printing of PCIe capabilities.
> 	* We now decode the Multicast and Secondary PCI Express extended
> 	  capabilities.
> 	* The list of capability names available to setpci was updated.
> 	* Minor bugs were fixed in FreeBSD and Solaris ports.
> 	* We now prefer HTTPS URLs in all documentation
> 	* The pci.ids file has a man page.
> 	* As usually, updated pci.ids to the current snapshot of the database.
>     2018-08-12  Martin Mares <mj@ucw.cz>
>     * Released as 3.6.2.
> 	* Added "-P" and "-PP" switches to lspci, which display the path
> 	  through bridges to each device.
> 	* Fixed a couple of bugs in computation of bus topology. It was
> 	  previously used only for the tree display, but we re-use it for
> 	  computing the paths.
> 	* As usually, updated pci.ids to the current snapshot of the database.
>     2018-07-12  Martin Mares <mj@ucw.cz>
>     * Released as 3.6.1.
> 	* Fixed compilation issues on Linux systems with MUSL libc.
>     2018-06-30  Martin Mares <mj@ucw.cz>
>     * Released as 3.6.0.
> 	* BARs reported by the OS, but not set on the device itself are
> 	  reliably marked with "[virtual]".
> 	* Library: Introduced a generic mechanism of string properties. This
> 	  avoids lots of special cases and makes ABI compatibility easier.
> 	* On Linux systems with OpenFirmware, report corresponding device tree nodes
> 	  as device properties.
> 	* VPD decoder knows several non-standard extensions.
> 	* When PCIe link speed is less than the maximum supported by the
> 	  device, it is explicitly marked as "downgraded".
> 	* Several new capabilities are not decoded yet, but at least their
> 	  names are printed.
> 	* The Null capability is easily decoded.
> 	* Formatting of several capabilities was cleaned up.
> 	* The VGA16 bit in the bridge control register is now supported.
> 	* Added a port to SylixOS. Thanks to YuJian Gong for contribution.
> 	* Added a port to DOS/DJGPP. Thanks to Rudolf Marek for contribution.
> 	* The order in which back-ends are probed was decoupled from the
> 	  internal back-end IDs. This helps, because new back-ends must have
> 	  their ID allocated at the end to keep the ABI, but they might need
> 	  to be probed earlier.
> 	* The fbsd-device back-end should work again.
> 	* Fixed a couple of bugs. Most notably, DeviceName was not printed.
> 	* As usually, updated pci.ids to the current snapshot of the database.
> 
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
>  config/rootfiles/common/pciutils | 2 +-
>  lfs/pciutils                     | 6 +++---
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/config/rootfiles/common/pciutils b/config/rootfiles/common/pciutils
> index da35ef6a1..17a3ede66 100644
> --- a/config/rootfiles/common/pciutils
> +++ b/config/rootfiles/common/pciutils
> @@ -1,7 +1,7 @@
>  bin/lspci
>  bin/setpci
>  lib/libpci.so.3
> -lib/libpci.so.3.5.6
> +lib/libpci.so.3.7.0
>  sbin/update-pciids
>  #usr/include/pci
>  #usr/include/pci/config.h
> diff --git a/lfs/pciutils b/lfs/pciutils
> index 2068c5a0c..2bd5d3c5d 100644
> --- a/lfs/pciutils
> +++ b/lfs/pciutils
> @@ -24,10 +24,10 @@
>  
>  include Config
>  
> -VER        = 3.5.6
> +VER        = 3.7.0
>  
>  THISAPP    = pciutils-$(VER)
> -DL_FILE    = $(THISAPP).tar.gz
> +DL_FILE    = $(THISAPP).tar.xz
>  DL_FROM    = $(URL_IPFIRE)
>  DIR_APP    = $(DIR_SRC)/$(THISAPP)
>  TARGET     = $(DIR_INFO)/$(THISAPP)
> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>  
>  $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>  
> -$(DL_FILE)_MD5 = 63b347d2bb5719b7769c03a1bb72a5b7
> +$(DL_FILE)_MD5 = e6e20482b4f25c5186e6a753c5edc361
>  
>  install : $(TARGET)
>
  
Adolf Belka Feb. 4, 2022, 12:43 p.m. UTC | #2
Hi Peter,

One difference is that I changed from the .gz file to the .xz file

However I had also downloaded from the
https://mirrors.edge.kernel.org/pub/software/utils/pciutils/ site
This has both .gz and .xz files.

I just now checked the md5sum from the .gz from this location and it is 
still different from the one you quoted.

You downloaded from the
https://mj.ucw.cz/download/linux/pci/ site. This only has a .gz file and 
doing an md5sum on that file I get the same as you.

So there is a difference in the md5sum for the supposedly same file 
stored on the mj.ucw.cz location compared to the www.kernel.org location.

The reason I used the www.kernel.org location is that they have a whole 
range of packages on their location covering various core stuff and seem 
to be a common location for that sort of stuff. Many packages only get 
stored on www.kernel.org (or its mirrors). I think this is the first 
that I have found having a local copy as well.

It will be interesting to hear what you find out for the reason for the 
difference.

Just checked and Arch Linux used to download the source from the 
www.kernel.org location but that source line is now commented out and 
the mj.ucw.cz location is now being used in their PKGBUILD.

Regards,
Adolf.


On 04/02/2022 13:05, Peter Müller wrote:
> Hello Adolf,
> 
> I regret to inform you that I worked on the same thing.
> 
> Comparing both patches (see https://git.ipfire.org/?p=ipfire-2.x.git;a=commit;h=34a98832ee5ec33ef75f4732dfed003e9b76185c
> for mine), the MD5 checksum differs: Yours is e6e20482b4f25c5186e6a753c5edc361, while
> mine is 51554c538b5a57b61123326e14ea28a1.
> 
> I will investigate into this and report back later.
> 
> Thanks, and best regards,
> Peter Müller
> 
> 
>> - Update from 3.5.6 (2017) to 3.7.0 (2020)
>> - Update of rootfile
>> - Changelog
>>      2020-05-31  Martin Mares <mj@ucw.cz>
>>      * Released as 3.7.0.
>> 	* Added or improved the following capabilities: Designated Vendor-Specific,
>> 	  Compute eXpress Link, Resizable BARs, VF Resizable BARs, Link
>> 	  Capabilities 2, Link Status 2.
>> 	* On Linux, lspci can show IOMMU groups.
>> 	* setpci can be asked to skip bus scan and operate on a device
>> 	  completely specified by its domain/bus/dev/func address. This
>> 	  involved major internal cleanup.
>> 	* The above feature of setpci uses the pci_get_dev() function,
>> 	  which obtains a struct pci_dev without doing a bus scan. This was
>> 	  always possible, but apparently little used, because back-ends
>> 	  frequently choked when operating on such devices. Fixed a lot
>> 	  of minor bugs related to this.
>> 	* Also, back-ends which do not support domains now correctly fail when
>> 	  trying to access devices outside domain 0.
>> 	* Semantics of pci_fill_info() and pci_dev->known_fields was underspecified,
>> 	  which lead to inconsistencies between back-ends. Improved documentation
>> 	  to give a more precise definition and updated all back-ends to conform
>> 	  to it. Most importantly, pci_dev->known_fields shows all fields requested
>> 	  over the lifetime of the pci_dev, but never those which are not supported
>> 	  by the back-end.
>> 	* As usually, updated pci.ids to the current snapshot of the database.
>>      2020-01-25  Martin Mares <mj@ucw.cz>
>>      * Released as 3.6.4.
>> 	* A new back-end for the GNU Hurd was contributed by Joan Lledó.
>> 	* When printing VPD item identifiers, non-ASCII characters are escaped.
>>      2020-01-22  Martin Mares <mj@ucw.cz>
>>      * Released as 3.6.3.
>> 	* `lspci -t' (tree mode) can be combined with `-s' to show a sub-tree.
>> 	  We also fixed potential buffer overflows in the tree dumper.
>> 	* Cleaned messy code for dumping of I/O, memory, and ROM regions.
>> 	  This helped fixing a bug, which caused some 64-bit regions to be
>> 	  reported as virtual. All flags are now printed after the address
>> 	  (previously, "[virtual]" and "[enhanced]" were before it for no good
>> 	  reason).
>> 	* Added pci_find_cap_nr() to the library, which handles capabilities
>> 	  which occur multiple times in a single device.
>> 	* Minor improvements in printing of PCIe capabilities.
>> 	* We now decode the Multicast and Secondary PCI Express extended
>> 	  capabilities.
>> 	* The list of capability names available to setpci was updated.
>> 	* Minor bugs were fixed in FreeBSD and Solaris ports.
>> 	* We now prefer HTTPS URLs in all documentation
>> 	* The pci.ids file has a man page.
>> 	* As usually, updated pci.ids to the current snapshot of the database.
>>      2018-08-12  Martin Mares <mj@ucw.cz>
>>      * Released as 3.6.2.
>> 	* Added "-P" and "-PP" switches to lspci, which display the path
>> 	  through bridges to each device.
>> 	* Fixed a couple of bugs in computation of bus topology. It was
>> 	  previously used only for the tree display, but we re-use it for
>> 	  computing the paths.
>> 	* As usually, updated pci.ids to the current snapshot of the database.
>>      2018-07-12  Martin Mares <mj@ucw.cz>
>>      * Released as 3.6.1.
>> 	* Fixed compilation issues on Linux systems with MUSL libc.
>>      2018-06-30  Martin Mares <mj@ucw.cz>
>>      * Released as 3.6.0.
>> 	* BARs reported by the OS, but not set on the device itself are
>> 	  reliably marked with "[virtual]".
>> 	* Library: Introduced a generic mechanism of string properties. This
>> 	  avoids lots of special cases and makes ABI compatibility easier.
>> 	* On Linux systems with OpenFirmware, report corresponding device tree nodes
>> 	  as device properties.
>> 	* VPD decoder knows several non-standard extensions.
>> 	* When PCIe link speed is less than the maximum supported by the
>> 	  device, it is explicitly marked as "downgraded".
>> 	* Several new capabilities are not decoded yet, but at least their
>> 	  names are printed.
>> 	* The Null capability is easily decoded.
>> 	* Formatting of several capabilities was cleaned up.
>> 	* The VGA16 bit in the bridge control register is now supported.
>> 	* Added a port to SylixOS. Thanks to YuJian Gong for contribution.
>> 	* Added a port to DOS/DJGPP. Thanks to Rudolf Marek for contribution.
>> 	* The order in which back-ends are probed was decoupled from the
>> 	  internal back-end IDs. This helps, because new back-ends must have
>> 	  their ID allocated at the end to keep the ABI, but they might need
>> 	  to be probed earlier.
>> 	* The fbsd-device back-end should work again.
>> 	* Fixed a couple of bugs. Most notably, DeviceName was not printed.
>> 	* As usually, updated pci.ids to the current snapshot of the database.
>>
>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>> ---
>>   config/rootfiles/common/pciutils | 2 +-
>>   lfs/pciutils                     | 6 +++---
>>   2 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/config/rootfiles/common/pciutils b/config/rootfiles/common/pciutils
>> index da35ef6a1..17a3ede66 100644
>> --- a/config/rootfiles/common/pciutils
>> +++ b/config/rootfiles/common/pciutils
>> @@ -1,7 +1,7 @@
>>   bin/lspci
>>   bin/setpci
>>   lib/libpci.so.3
>> -lib/libpci.so.3.5.6
>> +lib/libpci.so.3.7.0
>>   sbin/update-pciids
>>   #usr/include/pci
>>   #usr/include/pci/config.h
>> diff --git a/lfs/pciutils b/lfs/pciutils
>> index 2068c5a0c..2bd5d3c5d 100644
>> --- a/lfs/pciutils
>> +++ b/lfs/pciutils
>> @@ -24,10 +24,10 @@
>>   
>>   include Config
>>   
>> -VER        = 3.5.6
>> +VER        = 3.7.0
>>   
>>   THISAPP    = pciutils-$(VER)
>> -DL_FILE    = $(THISAPP).tar.gz
>> +DL_FILE    = $(THISAPP).tar.xz
>>   DL_FROM    = $(URL_IPFIRE)
>>   DIR_APP    = $(DIR_SRC)/$(THISAPP)
>>   TARGET     = $(DIR_INFO)/$(THISAPP)
>> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>>   
>>   $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>   
>> -$(DL_FILE)_MD5 = 63b347d2bb5719b7769c03a1bb72a5b7
>> +$(DL_FILE)_MD5 = e6e20482b4f25c5186e6a753c5edc361
>>   
>>   install : $(TARGET)
>>
  
Michael Tremer Feb. 4, 2022, 4:57 p.m. UTC | #3
Hello,

In this context, I have a patch for lfs/pciutils which prevents that all header files are installed as executable.

  https://patchwork.ipfire.org/project/ipfire/patch/20220204164748.315559-17-michael.tremer@ipfire.org/

-Michael

> On 4 Feb 2022, at 12:43, Adolf Belka <adolf.belka@ipfire.org> wrote:
> 
> Hi Peter,
> 
> One difference is that I changed from the .gz file to the .xz file
> 
> However I had also downloaded from the
> https://mirrors.edge.kernel.org/pub/software/utils/pciutils/ site
> This has both .gz and .xz files.
> 
> I just now checked the md5sum from the .gz from this location and it is still different from the one you quoted.
> 
> You downloaded from the
> https://mj.ucw.cz/download/linux/pci/ site. This only has a .gz file and doing an md5sum on that file I get the same as you.
> 
> So there is a difference in the md5sum for the supposedly same file stored on the mj.ucw.cz location compared to the www.kernel.org location.
> 
> The reason I used the www.kernel.org location is that they have a whole range of packages on their location covering various core stuff and seem to be a common location for that sort of stuff. Many packages only get stored on www.kernel.org (or its mirrors). I think this is the first that I have found having a local copy as well.
> 
> It will be interesting to hear what you find out for the reason for the difference.
> 
> Just checked and Arch Linux used to download the source from the www.kernel.org location but that source line is now commented out and the mj.ucw.cz location is now being used in their PKGBUILD.
> 
> Regards,
> Adolf.
> 
> 
> On 04/02/2022 13:05, Peter Müller wrote:
>> Hello Adolf,
>> I regret to inform you that I worked on the same thing.
>> Comparing both patches (see https://git.ipfire.org/?p=ipfire-2.x.git;a=commit;h=34a98832ee5ec33ef75f4732dfed003e9b76185c
>> for mine), the MD5 checksum differs: Yours is e6e20482b4f25c5186e6a753c5edc361, while
>> mine is 51554c538b5a57b61123326e14ea28a1.
>> I will investigate into this and report back later.
>> Thanks, and best regards,
>> Peter Müller
>>> - Update from 3.5.6 (2017) to 3.7.0 (2020)
>>> - Update of rootfile
>>> - Changelog
>>>     2020-05-31  Martin Mares <mj@ucw.cz>
>>>     * Released as 3.7.0.
>>> 	* Added or improved the following capabilities: Designated Vendor-Specific,
>>> 	  Compute eXpress Link, Resizable BARs, VF Resizable BARs, Link
>>> 	  Capabilities 2, Link Status 2.
>>> 	* On Linux, lspci can show IOMMU groups.
>>> 	* setpci can be asked to skip bus scan and operate on a device
>>> 	  completely specified by its domain/bus/dev/func address. This
>>> 	  involved major internal cleanup.
>>> 	* The above feature of setpci uses the pci_get_dev() function,
>>> 	  which obtains a struct pci_dev without doing a bus scan. This was
>>> 	  always possible, but apparently little used, because back-ends
>>> 	  frequently choked when operating on such devices. Fixed a lot
>>> 	  of minor bugs related to this.
>>> 	* Also, back-ends which do not support domains now correctly fail when
>>> 	  trying to access devices outside domain 0.
>>> 	* Semantics of pci_fill_info() and pci_dev->known_fields was underspecified,
>>> 	  which lead to inconsistencies between back-ends. Improved documentation
>>> 	  to give a more precise definition and updated all back-ends to conform
>>> 	  to it. Most importantly, pci_dev->known_fields shows all fields requested
>>> 	  over the lifetime of the pci_dev, but never those which are not supported
>>> 	  by the back-end.
>>> 	* As usually, updated pci.ids to the current snapshot of the database.
>>>     2020-01-25  Martin Mares <mj@ucw.cz>
>>>     * Released as 3.6.4.
>>> 	* A new back-end for the GNU Hurd was contributed by Joan Lledó.
>>> 	* When printing VPD item identifiers, non-ASCII characters are escaped.
>>>     2020-01-22  Martin Mares <mj@ucw.cz>
>>>     * Released as 3.6.3.
>>> 	* `lspci -t' (tree mode) can be combined with `-s' to show a sub-tree.
>>> 	  We also fixed potential buffer overflows in the tree dumper.
>>> 	* Cleaned messy code for dumping of I/O, memory, and ROM regions.
>>> 	  This helped fixing a bug, which caused some 64-bit regions to be
>>> 	  reported as virtual. All flags are now printed after the address
>>> 	  (previously, "[virtual]" and "[enhanced]" were before it for no good
>>> 	  reason).
>>> 	* Added pci_find_cap_nr() to the library, which handles capabilities
>>> 	  which occur multiple times in a single device.
>>> 	* Minor improvements in printing of PCIe capabilities.
>>> 	* We now decode the Multicast and Secondary PCI Express extended
>>> 	  capabilities.
>>> 	* The list of capability names available to setpci was updated.
>>> 	* Minor bugs were fixed in FreeBSD and Solaris ports.
>>> 	* We now prefer HTTPS URLs in all documentation
>>> 	* The pci.ids file has a man page.
>>> 	* As usually, updated pci.ids to the current snapshot of the database.
>>>     2018-08-12  Martin Mares <mj@ucw.cz>
>>>     * Released as 3.6.2.
>>> 	* Added "-P" and "-PP" switches to lspci, which display the path
>>> 	  through bridges to each device.
>>> 	* Fixed a couple of bugs in computation of bus topology. It was
>>> 	  previously used only for the tree display, but we re-use it for
>>> 	  computing the paths.
>>> 	* As usually, updated pci.ids to the current snapshot of the database.
>>>     2018-07-12  Martin Mares <mj@ucw.cz>
>>>     * Released as 3.6.1.
>>> 	* Fixed compilation issues on Linux systems with MUSL libc.
>>>     2018-06-30  Martin Mares <mj@ucw.cz>
>>>     * Released as 3.6.0.
>>> 	* BARs reported by the OS, but not set on the device itself are
>>> 	  reliably marked with "[virtual]".
>>> 	* Library: Introduced a generic mechanism of string properties. This
>>> 	  avoids lots of special cases and makes ABI compatibility easier.
>>> 	* On Linux systems with OpenFirmware, report corresponding device tree nodes
>>> 	  as device properties.
>>> 	* VPD decoder knows several non-standard extensions.
>>> 	* When PCIe link speed is less than the maximum supported by the
>>> 	  device, it is explicitly marked as "downgraded".
>>> 	* Several new capabilities are not decoded yet, but at least their
>>> 	  names are printed.
>>> 	* The Null capability is easily decoded.
>>> 	* Formatting of several capabilities was cleaned up.
>>> 	* The VGA16 bit in the bridge control register is now supported.
>>> 	* Added a port to SylixOS. Thanks to YuJian Gong for contribution.
>>> 	* Added a port to DOS/DJGPP. Thanks to Rudolf Marek for contribution.
>>> 	* The order in which back-ends are probed was decoupled from the
>>> 	  internal back-end IDs. This helps, because new back-ends must have
>>> 	  their ID allocated at the end to keep the ABI, but they might need
>>> 	  to be probed earlier.
>>> 	* The fbsd-device back-end should work again.
>>> 	* Fixed a couple of bugs. Most notably, DeviceName was not printed.
>>> 	* As usually, updated pci.ids to the current snapshot of the database.
>>> 
>>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>>> ---
>>>  config/rootfiles/common/pciutils | 2 +-
>>>  lfs/pciutils                     | 6 +++---
>>>  2 files changed, 4 insertions(+), 4 deletions(-)
>>> 
>>> diff --git a/config/rootfiles/common/pciutils b/config/rootfiles/common/pciutils
>>> index da35ef6a1..17a3ede66 100644
>>> --- a/config/rootfiles/common/pciutils
>>> +++ b/config/rootfiles/common/pciutils
>>> @@ -1,7 +1,7 @@
>>>  bin/lspci
>>>  bin/setpci
>>>  lib/libpci.so.3
>>> -lib/libpci.so.3.5.6
>>> +lib/libpci.so.3.7.0
>>>  sbin/update-pciids
>>>  #usr/include/pci
>>>  #usr/include/pci/config.h
>>> diff --git a/lfs/pciutils b/lfs/pciutils
>>> index 2068c5a0c..2bd5d3c5d 100644
>>> --- a/lfs/pciutils
>>> +++ b/lfs/pciutils
>>> @@ -24,10 +24,10 @@
>>>    include Config
>>>  -VER        = 3.5.6
>>> +VER        = 3.7.0
>>>    THISAPP    = pciutils-$(VER)
>>> -DL_FILE    = $(THISAPP).tar.gz
>>> +DL_FILE    = $(THISAPP).tar.xz
>>>  DL_FROM    = $(URL_IPFIRE)
>>>  DIR_APP    = $(DIR_SRC)/$(THISAPP)
>>>  TARGET     = $(DIR_INFO)/$(THISAPP)
>>> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>>>    $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>>  -$(DL_FILE)_MD5 = 63b347d2bb5719b7769c03a1bb72a5b7
>>> +$(DL_FILE)_MD5 = e6e20482b4f25c5186e6a753c5edc361
>>>    install : $(TARGET)
>>>  
> 
> -- 
> Sent from my laptop
  
Peter Müller Feb. 6, 2022, 10:47 a.m. UTC | #4
Hello Adolf,

thanks for your reply.

> Hi Peter,
> 
> One difference is that I changed from the .gz file to the .xz file

*sigh* I overlooked that one due to lack of coffee. Sorry.

> However I had also downloaded from the
> https://mirrors.edge.kernel.org/pub/software/utils/pciutils/ site
> This has both .gz and .xz files.

In generally, xz provides a better compression rate than gz, so it is better to use
such a file if available. However, pciutils will not be the straw that breaks the
camel's neck here. :-)

> I just now checked the md5sum from the .gz from this location and it is still different from the one you quoted.
> 
> You downloaded from the
> https://mj.ucw.cz/download/linux/pci/ site. This only has a .gz file and doing an md5sum on that file I get the same as you.

Yes, I downloaded it from there, since this the project's homepage.

> So there is a difference in the md5sum for the supposedly same file stored on the mj.ucw.cz location compared to the www.kernel.org location.

Again... :-/

> The reason I used the www.kernel.org location is that they have a whole range of packages on their location covering various core stuff and seem to be a common location for that sort of stuff. Many packages only get stored on www.kernel.org (or its mirrors). I think this is the first that I have found having a local copy as well.

Oh, that's good to know. I sometimes had trouble finding a download source for the
tarball. Usually, I searched on https://www.debian.org/distrib/packages and tried to
make my way from there...

> It will be interesting to hear what you find out for the reason for the difference.

Indeed. I will have a look at this later.

Thanks, and best regards,
Peter Müller

> 
> Just checked and Arch Linux used to download the source from the www.kernel.org location but that source line is now commented out and the mj.ucw.cz location is now being used in their PKGBUILD.
> 
> Regards,
> Adolf.
> 
> 
> On 04/02/2022 13:05, Peter Müller wrote:
>> Hello Adolf,
>>
>> I regret to inform you that I worked on the same thing.
>>
>> Comparing both patches (see https://git.ipfire.org/?p=ipfire-2.x.git;a=commit;h=34a98832ee5ec33ef75f4732dfed003e9b76185c
>> for mine), the MD5 checksum differs: Yours is e6e20482b4f25c5186e6a753c5edc361, while
>> mine is 51554c538b5a57b61123326e14ea28a1.
>>
>> I will investigate into this and report back later.
>>
>> Thanks, and best regards,
>> Peter Müller
>>
>>
>>> - Update from 3.5.6 (2017) to 3.7.0 (2020)
>>> - Update of rootfile
>>> - Changelog
>>>      2020-05-31  Martin Mares <mj@ucw.cz>
>>>      * Released as 3.7.0.
>>>     * Added or improved the following capabilities: Designated Vendor-Specific,
>>>       Compute eXpress Link, Resizable BARs, VF Resizable BARs, Link
>>>       Capabilities 2, Link Status 2.
>>>     * On Linux, lspci can show IOMMU groups.
>>>     * setpci can be asked to skip bus scan and operate on a device
>>>       completely specified by its domain/bus/dev/func address. This
>>>       involved major internal cleanup.
>>>     * The above feature of setpci uses the pci_get_dev() function,
>>>       which obtains a struct pci_dev without doing a bus scan. This was
>>>       always possible, but apparently little used, because back-ends
>>>       frequently choked when operating on such devices. Fixed a lot
>>>       of minor bugs related to this.
>>>     * Also, back-ends which do not support domains now correctly fail when
>>>       trying to access devices outside domain 0.
>>>     * Semantics of pci_fill_info() and pci_dev->known_fields was underspecified,
>>>       which lead to inconsistencies between back-ends. Improved documentation
>>>       to give a more precise definition and updated all back-ends to conform
>>>       to it. Most importantly, pci_dev->known_fields shows all fields requested
>>>       over the lifetime of the pci_dev, but never those which are not supported
>>>       by the back-end.
>>>     * As usually, updated pci.ids to the current snapshot of the database.
>>>      2020-01-25  Martin Mares <mj@ucw.cz>
>>>      * Released as 3.6.4.
>>>     * A new back-end for the GNU Hurd was contributed by Joan Lledó.
>>>     * When printing VPD item identifiers, non-ASCII characters are escaped.
>>>      2020-01-22  Martin Mares <mj@ucw.cz>
>>>      * Released as 3.6.3.
>>>     * `lspci -t' (tree mode) can be combined with `-s' to show a sub-tree.
>>>       We also fixed potential buffer overflows in the tree dumper.
>>>     * Cleaned messy code for dumping of I/O, memory, and ROM regions.
>>>       This helped fixing a bug, which caused some 64-bit regions to be
>>>       reported as virtual. All flags are now printed after the address
>>>       (previously, "[virtual]" and "[enhanced]" were before it for no good
>>>       reason).
>>>     * Added pci_find_cap_nr() to the library, which handles capabilities
>>>       which occur multiple times in a single device.
>>>     * Minor improvements in printing of PCIe capabilities.
>>>     * We now decode the Multicast and Secondary PCI Express extended
>>>       capabilities.
>>>     * The list of capability names available to setpci was updated.
>>>     * Minor bugs were fixed in FreeBSD and Solaris ports.
>>>     * We now prefer HTTPS URLs in all documentation
>>>     * The pci.ids file has a man page.
>>>     * As usually, updated pci.ids to the current snapshot of the database.
>>>      2018-08-12  Martin Mares <mj@ucw.cz>
>>>      * Released as 3.6.2.
>>>     * Added "-P" and "-PP" switches to lspci, which display the path
>>>       through bridges to each device.
>>>     * Fixed a couple of bugs in computation of bus topology. It was
>>>       previously used only for the tree display, but we re-use it for
>>>       computing the paths.
>>>     * As usually, updated pci.ids to the current snapshot of the database.
>>>      2018-07-12  Martin Mares <mj@ucw.cz>
>>>      * Released as 3.6.1.
>>>     * Fixed compilation issues on Linux systems with MUSL libc.
>>>      2018-06-30  Martin Mares <mj@ucw.cz>
>>>      * Released as 3.6.0.
>>>     * BARs reported by the OS, but not set on the device itself are
>>>       reliably marked with "[virtual]".
>>>     * Library: Introduced a generic mechanism of string properties. This
>>>       avoids lots of special cases and makes ABI compatibility easier.
>>>     * On Linux systems with OpenFirmware, report corresponding device tree nodes
>>>       as device properties.
>>>     * VPD decoder knows several non-standard extensions.
>>>     * When PCIe link speed is less than the maximum supported by the
>>>       device, it is explicitly marked as "downgraded".
>>>     * Several new capabilities are not decoded yet, but at least their
>>>       names are printed.
>>>     * The Null capability is easily decoded.
>>>     * Formatting of several capabilities was cleaned up.
>>>     * The VGA16 bit in the bridge control register is now supported.
>>>     * Added a port to SylixOS. Thanks to YuJian Gong for contribution.
>>>     * Added a port to DOS/DJGPP. Thanks to Rudolf Marek for contribution.
>>>     * The order in which back-ends are probed was decoupled from the
>>>       internal back-end IDs. This helps, because new back-ends must have
>>>       their ID allocated at the end to keep the ABI, but they might need
>>>       to be probed earlier.
>>>     * The fbsd-device back-end should work again.
>>>     * Fixed a couple of bugs. Most notably, DeviceName was not printed.
>>>     * As usually, updated pci.ids to the current snapshot of the database.
>>>
>>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>>> ---
>>>   config/rootfiles/common/pciutils | 2 +-
>>>   lfs/pciutils                     | 6 +++---
>>>   2 files changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/config/rootfiles/common/pciutils b/config/rootfiles/common/pciutils
>>> index da35ef6a1..17a3ede66 100644
>>> --- a/config/rootfiles/common/pciutils
>>> +++ b/config/rootfiles/common/pciutils
>>> @@ -1,7 +1,7 @@
>>>   bin/lspci
>>>   bin/setpci
>>>   lib/libpci.so.3
>>> -lib/libpci.so.3.5.6
>>> +lib/libpci.so.3.7.0
>>>   sbin/update-pciids
>>>   #usr/include/pci
>>>   #usr/include/pci/config.h
>>> diff --git a/lfs/pciutils b/lfs/pciutils
>>> index 2068c5a0c..2bd5d3c5d 100644
>>> --- a/lfs/pciutils
>>> +++ b/lfs/pciutils
>>> @@ -24,10 +24,10 @@
>>>     include Config
>>>   -VER        = 3.5.6
>>> +VER        = 3.7.0
>>>     THISAPP    = pciutils-$(VER)
>>> -DL_FILE    = $(THISAPP).tar.gz
>>> +DL_FILE    = $(THISAPP).tar.xz
>>>   DL_FROM    = $(URL_IPFIRE)
>>>   DIR_APP    = $(DIR_SRC)/$(THISAPP)
>>>   TARGET     = $(DIR_INFO)/$(THISAPP)
>>> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>>>     $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>>   -$(DL_FILE)_MD5 = 63b347d2bb5719b7769c03a1bb72a5b7
>>> +$(DL_FILE)_MD5 = e6e20482b4f25c5186e6a753c5edc361
>>>     install : $(TARGET)
>>>   
>
  

Patch

diff --git a/config/rootfiles/common/pciutils b/config/rootfiles/common/pciutils
index da35ef6a1..17a3ede66 100644
--- a/config/rootfiles/common/pciutils
+++ b/config/rootfiles/common/pciutils
@@ -1,7 +1,7 @@ 
 bin/lspci
 bin/setpci
 lib/libpci.so.3
-lib/libpci.so.3.5.6
+lib/libpci.so.3.7.0
 sbin/update-pciids
 #usr/include/pci
 #usr/include/pci/config.h
diff --git a/lfs/pciutils b/lfs/pciutils
index 2068c5a0c..2bd5d3c5d 100644
--- a/lfs/pciutils
+++ b/lfs/pciutils
@@ -24,10 +24,10 @@ 
 
 include Config
 
-VER        = 3.5.6
+VER        = 3.7.0
 
 THISAPP    = pciutils-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
@@ -40,7 +40,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 63b347d2bb5719b7769c03a1bb72a5b7
+$(DL_FILE)_MD5 = e6e20482b4f25c5186e6a753c5edc361
 
 install : $(TARGET)