Summary: | app-portage/gentoolkit-0.3.0.6-r3 - equery b mishandles directory search | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Sergey S. Starikoff <Ikonta> |
Component: | Tools | Assignee: | Portage Tools Team <tools-portage> |
Status: | CONFIRMED --- | ||
Severity: | minor | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Sergey S. Starikoff
2012-10-14 07:06:00 UTC
This is by design since equery using what is recorded by portage for the file name. Since the ebuild is installing the files as /lib/<something>, that is what portage has recorded as the name of the file and is what equery is looking at for file names that belong to a package. I understand your concern and the use case for this to work differently. I will need to think about how to make equery work the way you would like that doesn't cause a significant performance hit. This kind of query is supported by `portageq owners`. It works by using stat to get the (device, inode) pair for each of the relevant parent directories, and compares those instead of doing path comparisons (since path comparison doesn't work in this case). (In reply to comment #2) > This kind of query is supported by `portageq owners`. Thank you. But portageq owners / /lib64/udev/rules.d/ lists the packages, owns directory; not files in a directory belonging to each package (that sometimes is useful). (In reply to comment #1) > I understand your concern and the use case for this to work differently. > > I will need to think about how to make equery work the way you would like > that doesn't cause a significant performance hit. I'm not yes possess reasonable point of view about correct behaviour of equery. This bug first of all is about that equery should not perform queries, with predetermined incorrectness of results, but echo some warning/error message instead of it. (In reply to comment #3) > portageq owners / /lib64/udev/rules.d/ > lists the packages, owns directory; not files in a directory belonging to > each package (that sometimes is useful). Maybe this is what you want: portageq owners / /lib64/udev/rules.d/* (In reply to comment #4) > Maybe this is what you want: > > portageq owners / /lib64/udev/rules.d/* Thank you! It looks very pretty. But this bug is mostly about incorrect output of equery utility. Which should either perform correct search in both cases, or echo some error message in the case, where it doesn't perform correct query. |