betelgeuse@pena /mnt/checkouts/gentoo-x86/virtual $ qlist libstdc++-v3 betelgeuse@pena /mnt/checkouts/gentoo-x86/virtual $ equery f libstdc++-v3 [ Searching for packages matching libstdc++-v3... ] * Contents of sys-libs/libstdc++-v3-3.3.6: /etc /etc/env.d /etc/env.d/99libstdc++ /usr /usr/lib /usr/lib/libstdc++-v3 /usr/lib/libstdc++-v3/libstdc++.so.5 -> libstdc++.so.5.0.7 /usr/lib/libstdc++-v3/libstdc++.so.5.0.7
thats because qlist takes regex's
NAME qlist - manual page for qlist compiled on Nov 6 2005 SYNOPSIS qlist <pkgname> : list files owned by pkgname Please improve the manua page to reflect this.
thanks jackass but it isnt a documentation issue :P
It works fine you are just using it wrong. Try. qlist -e libstdc++-v3
(In reply to comment #4) > It works fine you are just using it wrong. > Try. qlist -e libstdc++-v3 > Had I guessed it takes regular expressions I could have used qlist 'libstdc\+\+-v3' too.
ok so can this be closed as invalid/workforsome/other?
no, i'll take care of it
Looks like fixed, so this can be closed, or not?
Fixed in what version? tinderbox hardened-sources # qlist -Uv portage-utils app-portage/portage-utils-0.1.24 tinderbox hardened-sources # qlist -e libstdc++-v3 /usr/lib/libstdc++-v3/libstdc++.so.5 /usr/lib/libstdc++-v3/libstdc++.so.5.0.6 /etc/env.d/99libstdc++ tinderbox hardened-sources # qlist libstdc++-v3 tinderbox hardened-sources # tinderbox hardened-sources # qlist libstdc\\+\\+-v3 /usr/lib/libstdc++-v3/libstdc++.so.5 /usr/lib/libstdc++-v3/libstdc++.so.5.0.6 /etc/env.d/99libstdc++
Not fixed that way, this is imho OK. When SpanKY said "i'll take care of it", I thought he changed something in manpage. My bad. Anyway, just a note (in man qlist) that it takes regex in default would be IMHO good solution. There's no need to change default to behave like with -e option.
(In reply to comment #7) > no, i'll take care of it > I'm say we close this as LATER. The current behavior of -e is suitable.
(In reply to comment #7) > no, i'll take care of it Mike what was the idea? May be I'll help to implement this. I'm thinking about either following variants (in no specific order): 1. escaping + character ( + -> \+ ) 2. escaping + only when ++ encounters 3. document that this is regular expression, not package name 4. Always try exact match before regular expression 5. Before regexp match try match name with buf and then de[x]->d_name symbol by symbol and if all symbols in name match return that So what is the best solution? For me 5 looks like best solution...
Created attachment 170478 [details, diff] portage-utils-libstdc++-v3.patch Suggestion 5 coded. Possibly I missed something at it's too late now, but you've got an idea. What do you think?
Created attachment 170501 [details, diff] portage-utils-libstdc++-v3.patch And this is a better patch.
Discussed with solar in IRC and he allowed me to commit this change. So bug FIXED. Although I agree (bug 112818) that some general solution to this problem is required.