[Bug 1915923] Re: update-pciids in pciutils fails to create hard link
Erich Eickmeyer
1915923 at bugs.launchpad.net
Wed Mar 31 23:32:28 UTC 2021
** Description changed:
[Impact]
- * People who use update-pciids more than once are unable to run it a
+ * People who use update-pciids more than once are unable to run it a
second time without errors due to a missing "-f" in the "ln" line being
called as the symlink already exists. This was identified upstream and
fixed in later versions, but was not implemented in Focal. The patch in
question is fixed in a new upload and attached patch.
[Test Plan]
- * Install pciutils
- * Run 'sudo update-pciids'
- * Run 'sudo update-pciids' a second time.
- * "ln" will return an error explaining the hardlink already exists.
+ * Install pciutils
+ * Run 'sudo update-pciids'
+ * Run 'sudo update-pciids' a second time.
+ * "ln" will return an error explaining the hardlink already exists.
[Where problems could occur]
- * If this patch is in error, then the entire command will cause the
+ * If this patch is in error, then the entire command will cause the
same problem or the link of the '.old' file will be erased entirely.
This is highly unlikely.
[Other Info]
-
- * Corrected patch is attached to this bug, also part of the new upload.
+
+ * Corrected patch is attached to this bug.
------
Original bug report:
-
- Running on Ubuntu 20.04 LTS, the `.old` file does not seem to be cleaned up properly.
+ Running on Ubuntu 20.04 LTS, the `.old` file does not seem to be cleaned
+ up properly.
It seems someone forgot to add the "-f" from the respective upstream
commit:
https://github.com/pciutils/pciutils/commit/b6a0091e4a17dcc01c84dfe233e861fe6e82b1c4
First run:
```
$ sudo sh -x /usr/sbin/update-pciids
+ set -e
+ SRC=https://pci-ids.ucw.cz/v2.2/pci.ids
+ DEST=/usr/share/misc/pci.ids
+ PCI_COMPRESSED_IDS=
+ GREP=grep
+ [ = -q ]
+ quiet=false
+ touch /usr/share/misc/pci.ids
+ [ = 1 ]
+ which bzip2
+ DECOMP=bzip2 -d
+ SRC=https://pci-ids.ucw.cz/v2.2/pci.ids.bz2
+ which curl
+ DL=curl -o /usr/share/misc/pci.ids.new https://pci-ids.ucw.cz/v2.2/pci.ids.bz2
+ false
+ curl -o /usr/share/misc/pci.ids.new https://pci-ids.ucw.cz/v2.2/pci.ids.bz2
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 265k 100 265k 0 0 634k 0 --:--:-- --:--:-- --:--:-- 635k
+ bzip2 -d
+ grep ^C /usr/share/misc/pci.ids.neww
+ [ -f /usr/share/misc/pci.ids ]
+ ln /usr/share/misc/pci.ids /usr/share/misc/pci.ids.old
+ chmod -f --reference=/usr/share/misc/pci.ids.old /usr/share/misc/pci.ids.neww
+ mv /usr/share/misc/pci.ids.neww /usr/share/misc/pci.ids
+ rm /usr/share/misc/pci.ids.new
+ [ /usr/share/misc/pci.ids != /usr/share/misc/pci.ids ]
+ false
+ echo Done.
Done.
```
Second run:
```
$ sudo sh -x /usr/sbin/update-pciids
+ set -e
+ SRC=https://pci-ids.ucw.cz/v2.2/pci.ids
+ DEST=/usr/share/misc/pci.ids
+ PCI_COMPRESSED_IDS=
+ GREP=grep
+ [ = -q ]
+ quiet=false
+ touch /usr/share/misc/pci.ids
+ [ = 1 ]
+ which bzip2
+ DECOMP=bzip2 -d
+ SRC=https://pci-ids.ucw.cz/v2.2/pci.ids.bz2
+ which curl
+ DL=curl -o /usr/share/misc/pci.ids.new https://pci-ids.ucw.cz/v2.2/pci.ids.bz2
+ false
+ curl -o /usr/share/misc/pci.ids.new https://pci-ids.ucw.cz/v2.2/pci.ids.bz2
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 265k 100 265k 0 0 420k 0 --:--:-- --:--:-- --:--:-- 419k
+ bzip2 -d
+ grep ^C /usr/share/misc/pci.ids.neww
+ [ -f /usr/share/misc/pci.ids ]
+ ln /usr/share/misc/pci.ids /usr/share/misc/pci.ids.old
ln: failed to create hard link '/usr/share/misc/pci.ids.old': File exists
```
** Summary changed:
- update-pciids in pciutils fails to create hard link
+ [SRU] update-pciids in pciutils fails to create hard link
** Changed in: pciutils (Ubuntu Focal)
Status: Triaged => In Progress
** Changed in: pciutils (Ubuntu Focal)
Assignee: (unassigned) => Erich Eickmeyer (eeickmeyer)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to pciutils in Ubuntu.
https://bugs.launchpad.net/bugs/1915923
Title:
[SRU] update-pciids in pciutils fails to create hard link
Status in pciutils package in Ubuntu:
New
Status in pciutils source package in Focal:
In Progress
Bug description:
[Impact]
* People who use update-pciids more than once are unable to run it a
second time without errors due to a missing "-f" in the "ln" line
being called as the symlink already exists. This was identified
upstream and fixed in later versions, but was not implemented in
Focal. The patch in question is fixed in a new upload and attached
patch.
[Test Plan]
* Install pciutils
* Run 'sudo update-pciids'
* Run 'sudo update-pciids' a second time.
* "ln" will return an error explaining the hardlink already exists.
[Where problems could occur]
* If this patch is in error, then the entire command will cause the
same problem or the link of the '.old' file will be erased entirely.
This is highly unlikely.
[Other Info]
* Corrected patch is attached to this bug.
------
Original bug report:
Running on Ubuntu 20.04 LTS, the `.old` file does not seem to be
cleaned up properly.
It seems someone forgot to add the "-f" from the respective upstream
commit:
https://github.com/pciutils/pciutils/commit/b6a0091e4a17dcc01c84dfe233e861fe6e82b1c4
First run:
```
$ sudo sh -x /usr/sbin/update-pciids
+ set -e
+ SRC=https://pci-ids.ucw.cz/v2.2/pci.ids
+ DEST=/usr/share/misc/pci.ids
+ PCI_COMPRESSED_IDS=
+ GREP=grep
+ [ = -q ]
+ quiet=false
+ touch /usr/share/misc/pci.ids
+ [ = 1 ]
+ which bzip2
+ DECOMP=bzip2 -d
+ SRC=https://pci-ids.ucw.cz/v2.2/pci.ids.bz2
+ which curl
+ DL=curl -o /usr/share/misc/pci.ids.new https://pci-ids.ucw.cz/v2.2/pci.ids.bz2
+ false
+ curl -o /usr/share/misc/pci.ids.new https://pci-ids.ucw.cz/v2.2/pci.ids.bz2
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 265k 100 265k 0 0 634k 0 --:--:-- --:--:-- --:--:-- 635k
+ bzip2 -d
+ grep ^C /usr/share/misc/pci.ids.neww
+ [ -f /usr/share/misc/pci.ids ]
+ ln /usr/share/misc/pci.ids /usr/share/misc/pci.ids.old
+ chmod -f --reference=/usr/share/misc/pci.ids.old /usr/share/misc/pci.ids.neww
+ mv /usr/share/misc/pci.ids.neww /usr/share/misc/pci.ids
+ rm /usr/share/misc/pci.ids.new
+ [ /usr/share/misc/pci.ids != /usr/share/misc/pci.ids ]
+ false
+ echo Done.
Done.
```
Second run:
```
$ sudo sh -x /usr/sbin/update-pciids
+ set -e
+ SRC=https://pci-ids.ucw.cz/v2.2/pci.ids
+ DEST=/usr/share/misc/pci.ids
+ PCI_COMPRESSED_IDS=
+ GREP=grep
+ [ = -q ]
+ quiet=false
+ touch /usr/share/misc/pci.ids
+ [ = 1 ]
+ which bzip2
+ DECOMP=bzip2 -d
+ SRC=https://pci-ids.ucw.cz/v2.2/pci.ids.bz2
+ which curl
+ DL=curl -o /usr/share/misc/pci.ids.new https://pci-ids.ucw.cz/v2.2/pci.ids.bz2
+ false
+ curl -o /usr/share/misc/pci.ids.new https://pci-ids.ucw.cz/v2.2/pci.ids.bz2
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 265k 100 265k 0 0 420k 0 --:--:-- --:--:-- --:--:-- 419k
+ bzip2 -d
+ grep ^C /usr/share/misc/pci.ids.neww
+ [ -f /usr/share/misc/pci.ids ]
+ ln /usr/share/misc/pci.ids /usr/share/misc/pci.ids.old
ln: failed to create hard link '/usr/share/misc/pci.ids.old': File exists
```
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pciutils/+bug/1915923/+subscriptions
More information about the foundations-bugs
mailing list