when running portpeek Reproducible: Always Steps to Reproduce: 1. portpeek -s 2. 3. Actual Results: portpeek -s package.use: use flag: colord is invalid for : x11-libs/gtk+-2.24.10-r1 use flag: X is invalid for : x11-libs/gtk+-2.24.10-r1 use flag: libffi is invalid for : dev-python/pygobject-3.2.0 use flag: dbus is invalid for : dev-libs/libunique-3.0.2 use flag: apng is invalid for : media-libs/libpng-1.2.49 use flag: static-libs is invalid for : media-libs/libpng-1.2.49 Done Expected Results: package.use: Done There are 2 different sets of use flags for the same package in different slot [I] media-libs/libpng Available versions: (1.2) 1.2.47 1.2.49 (0) 1.5.8 1.5.9 1.5.10 {{apng neon static-libs}} Installed versions: 1.2.49(1.2)(08:40:23 AM 03/31/2012) 1.5.10(08:40:09 AM 03/31/2012)(apng static-libs -neon) Homepage: http://www.libpng.org/ Description: Portable Network Graphics library for example libpng at 1.2 slot does not have any useflags but 0 slot have apng static-libs and neon. portpeek is checking against version 1.2.49 and those use flags are treated as invalid for that version. It is true but only for that particular slot only
Can you attach the package.use you used for the below example?
Created attachment 309647 [details] package.use
Created attachment 309671 [details] portpeek 2.0.21 Can you test this version, please?
It is better now but still 2 have been reported ./portpeek -s package.use: use flag: dbus is invalid for : dev-libs/libunique-3.0.2 use flag: libffi is invalid for : dev-python/pygobject-3.2.0 Done
You have fixed scenario when higher version has extra use flags but we need also a fix for the opposite.
Example packages?
Nevermind, I see your previous comment
Created attachment 309803 [details] portpeek 2.0.22 Refactor of package.use function for non atom packages Can you test this version? I have refactored the way portpeek handles the package.use packages that have no atom. You seem like a smart guy, and I know I am telling you this late, but you may want to backup your files in /etc/portage when testing. :)
I have run -a with -d. It looks like logic is all correct now. parse_package_use: Line: x11-libs/gtk+ xinerama colord X ENTERED check_useflags_all_versions: x11-libs/gtk+ check_useflags_all_versions: package: x11-libs/gtk+-3.4.1 package_string is x11-libs/gtk+ found valid flag: xinerama found valid flag: colord found valid flag: X check_useflags_all_versions: package: x11-libs/gtk+-2.24.10-r1 package_string is x11-libs/gtk+ found valid flag: xinerama found invalid flag: colord found invalid flag: X end result is package.use: Done
Released in portpeek 2.0.22. Thanks for your help, Daniel.