Opened 10 years ago
Closed 10 years ago
#5724 closed task (wontfix)
Add package hwids-20141022
Reported by: | Fernando de Oliveira | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 7.7 |
Component: | BOOK | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description ¶
Needed by usbutils-008.
version=`date +%Y%m%d` git clone git://github.com/gentoo/hwids.git hwids-$version && rm -rf hwids-$version/.git* && tar cJf hwids-$version.tar.xz hwids-$version && rm -rf hwids-$version
$ du -sh hwids-20141022.tar.xz 1,2M hwids-20141022.tar.xz
I will upload to my account later
Change History (30)
comment:1 by , 10 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:2 by , 10 years ago
comment:3 by , 10 years ago
I've already added the page.
Please, verify if you still prefer the script, and if so, remove the package, or tell me to do it
In this case, we will need to also modify usbutils.
I will dfer uploading the package to anduin, until you reply.
Thanks for the interest. Sorry for this trouble.
Almost fixed at r14706.
Leaving open until we finish the discussion.
comment:4 by , 10 years ago
Here is one strategy. Do a git clone and leave it populated.
Daily:
cd hwids git pull cd .. rm hwids.tar.xz tar -cJf hwids.tar.xz --exclude .git* hwids
This would be similar to the certificates that we now have as certdata.txt. What do you think? Note that the uncompressed database is 12M.
comment:5 by , 10 years ago
I like it. Do i need to do anything, or you will do the necessary modifications? I think e.g. that the version entitity would be removed. And then you can close both tickets? The hwids get both pci and usb. I believe in the probability sonn pciutils will suffer the same modification.
Whatever you decide is good for me. If you want me to take any action, please, just say. If you want to do them and close both tickets, it is good for me.
comment:7 by , 10 years ago
It is not needed for usbutils. usbutils-008 uses hwdb from UDev for the USB database.
I see no mention of usb.ids anywhere in "strace lsusb". It may be needed for lsusb.py, but it only prints a warning about failing to read usb.ids and still displays the correct usb device names.
comment:8 by , 10 years ago
From usbutils-008 NEWS:
Tom Gundersen (2): lsusb: port to hwdb drop dependency on usb.ids
comment:9 by , 10 years ago
Thanks, Armin. I was already going to write to remove, then, decided to test, and the problem is not only a warning. To work correctly, it needs hwids.
lsusb has now very not reasonable output, and most users will go for lususb.py. That is whye your strace didn't get usb.ids.
I repeated with lsusb.py:
$ strace lsusb.py 2>&1 | grep ids open("/usr/share/hwdata/usb.ids", O_RDONLY|O_LARGEFILE) = 3
Thus, it is definitely needed.
Furthermore, I have, without usb.ids:
$ sudo mv -vi /usr/share/hwdata/ /usr/share/hwdata-save “/usr/share/hwdata/” -> “/usr/share/hwdata-save” $ lsusb.py -ciu WARNING: Failure to read usb.ids (<type 'exceptions.IOError'>, IOError(2, 'No such file or directory'), <traceback object at 0xb6fffb44>) usb1 1d6b:0001 09 1.10 12MBit/s 0mA 1IF (uhci_hcd 0000:02:00.0) hub 1-1 0e0f:0003 00 1.10 12MBit/s 0mA 1IF (VMware VMware Virtual USB Mouse) 1-1:1.0 (IF) 03:01:02 1EP () usbhid
With usb.ids:
$ sudo mv -vi /usr/share/hwdata-save /usr/share/hwdata/ “/usr/share/hwdata-save” -> “/usr/share/hwdata/” $ lsusb.py -ciu usb1 1d6b:0001 09 1.10 12MBit/s 0mA 1IF (uhci_hcd 0000:02:00.0) hub 1-1 0e0f:0003 00 1.10 12MBit/s 0mA 1IF (VMware VMware Virtual USB Mouse) 1-1:1.0 (IF) 03:01:02 1EP (Human Interface Device:Boot Interface Subclass:Mouse) usbhid
follow-ups: 11 17 comment:10 by , 10 years ago
I have yet to see someone actually using lsusb.py. Every support request or guide I have stumbled upon until today was using plain lsusb. Untill today I didn't know that lsusb.py even existed.
If it were for me, I'd add an optional external dep - beats adding a fast moving git package as 3/4 of the package works fine and we never go and make everything work out of the box - we leave something to the user. That's just my POV.
Bye.
follow-up: 13 comment:11 by , 10 years ago
Replying to Krejzi:
I have yet to see someone actually using lsusb.py.
You do have seen: Fernando de Oliveira.
You still don't understand what you wrote, it is now completely different: lsusb did it until version 007. Now lsusb.py is the only option doing it, and lsusb is going to be unsused by regular distro users, when they discover what they want.
It is surprising seeing you, who does not instal inetutils, liking a package working 3/4 of the perfection. It is a grade of 75. And everybody remembers you telling in many posts: "that will make it lose some functionality, I don't recommend".
comment:12 by , 10 years ago
Owner: | changed from | to
---|---|
Status: | assigned → new |
I'm going to take this ticket and investigate.
comment:13 by , 10 years ago
Replying to fo:
You still don't understand what you wrote, it is now completely different: lsusb did it until version 007.
Did what? Are you implying it doesn't "do it" now (whatever you have been thinking)? lsusb (without .py suffix) from 008 works just as fine to me as did one from version 007.
Now lsusb.py is the only option doing it, and lsusb is going to be unsused by regular distro users, when they discover what they want.
comment:14 by , 10 years ago
Well, lsusb doesn't work without udev as of this release but it shouldn't matter for LFS. It's just a shame they introduced this hard dependency and completely ripped out support for usb.ids.
comment:15 by , 10 years ago
Indeed. But, given that both udev and lsusb (at least from usbutils from kernel.org) are Linux specific, it doesn't matter to most of the people using Linux, including main LFS given that udev is installed by default.
comment:16 by , 10 years ago
Yeah but some people using Linux prefer mdev or smdev over udev so it matters to them.
follow-up: 19 comment:17 by , 10 years ago
Replying to Krejzi:
I have yet to see someone actually using lsusb.py. Every support request or guide I have stumbled upon until today was using plain lsusb. Untill today I didn't know that lsusb.py even existed.
I did an strace on lsusb. It is looking for /etc/udev/hwdb.bin even though eudev does not have that. eudev has ascii files in /etc/udev/hwdb.d/. The lsusb binary doesn't use the usb.ids file at all. Right now I'm inclined to do:
mv /usr/bin/lsusb{,bin} ln -sv lsusb.py /usr/bin/lsusb
At least the python version uses the usb.ids file. I'll also note that the python version gives more information than the binary version. The -c (color) option is nice too. That does not seem to be in the binary version.
Also looking at the old update-usbids.sh script, I think we should just use that. It boils down to a simple wget of http://www.linux-usb.org/usb.ids. It appears that it is being kept up to date.
follow-up: 20 comment:18 by , 10 years ago
Upon investigation, I think we need to update LFS. The last part of eudev needs the command "udevadm hwdb --update" to create /etc/udev/hwdb.bin
After that, the binary lsusb gives the text desired. Still no color though.
Although updating the usb database is probably not something we would want to do a lot, I don't know how to do that for udev. Doing a wget of usb.ids for lsusb.py is pretty simple though.
comment:19 by , 10 years ago
Replying to bdubbs@…:
mv /usr/bin/lsusb{,bin} ln -sv lsusb.py /usr/bin/lsusb
I thought about that, but had not capacity of doing it seriously, to purpose. Also, man lsusb would be different.
At least the python version uses the usb.ids file. I'll also note that the python version gives more information than the binary version. The -c (color) option is nice too. That does not seem to be in the binary version.
Yes, that facilitates reading.
Also looking at the old update-usbids.sh script, I think we should just use that. It boils down to a simple wget of http://www.linux-usb.org/usb.ids. It appears that it is being kept up to date.
This would be good, also.
comment:20 by , 10 years ago
Replying to bdubbs@…:
udevadm hwdb --update" to create /etc/udev/hwdb.bin
After that, the binary lsusb gives the text desired. Still no color though.
Although updating the usb database is probably not something we would want to do a lot, I don't know how to do that for udev. Doing a wget of usb.ids for lsusb.py is pretty simple though.
Just did it "udevadm hwdb --update". Solved the problem for me.
I would drop the hwids package, if it is possible to include the script in lsusb, together with the instruction to update hwdb.
Now, the text for lsusb is more traditional than the one for lsusb.py, although I prefer the latter and wil use the former just if any doubt appears.
comment:22 by , 10 years ago
Ah, so the reason is rather political than techical, as always. Still, it has no systemd contamination. It can use eudev just fine.
comment:23 by , 10 years ago
"It's been over a year since the 007 release, and a bunch of small bugfixes have piled up, along with a much larger change of now using the hwdb instead of the old usb.ids file (a patch which almost all distros using systemd have been shipping for a while), so it's time for a new release." -- Greg KH
All I see here is resistance in establishing any sort of compatibility even though one can technically exist.
follow-up: 28 comment:24 by , 10 years ago
Yes, Igor. And notice that after analyzing the comments, systemd users seem to have good output, whereas sysV need multiple extra steps fixing it to work as before. Thanks Bruce for finding that.
Bruce, including the script update-usbids.sh in the page, the sed could fix to point back to ls /usr/share/misc/.
And Igor, did lsusb worked properly when you issued udevadm hwdb --update?
comment:25 by , 10 years ago
systemd does that during the make install stage. Eudev folks didn't merge it for some reason.
http://cgit.freedesktop.org/systemd/systemd/tree/Makefile.am#n3475
Guess it belongs to the LFS Eudev instructions. A note on usbutils page would be needed for current LFS stable + BLFS svn combination.
follow-up: 29 comment:26 by , 10 years ago
Still, this package is not needed. Even if usb.ids are desired for lsusb.py, you can link directly to them as an (Optional) Additional Download and install them from usbutils install instructions.
comment:27 by , 10 years ago
Don't mix up udev and systemd. The lsusb binary now has a udev dependency, but that's available via eudev or systemd.
comment:28 by , 10 years ago
Replying to fo:
And Igor, did lsusb worked properly when you issued udevadm hwdb --update?
I don't use udev. I switched to mdev. I guess I'll finally have to find some time to hack on support for usb.ids in busybox lsusb.
comment:29 by , 10 years ago
Replying to Krejzi:
Still, this package is not needed.
we are not discussing that anymore. It is going to be removed from the book.
Even if usb.ids are desired for lsusb.py
Of course it us desired.
I think we have also reached agreement that the old script will be included. Not optional.
comment:30 by , 10 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Removed the temporary page at revision 14722.
We can use a simple wget to get usb.ids and I put that in the usbutils page.
Sigh. We can create a script to update the db daily on anduin if needed. We already do that for ssl certificates.