A flag which's not in make.conf but in use means the user is not aware of it unless he's looked into each and every USE flag which each package ever got compiled with. Thus, there should be a way to list all such USE flags, it will reduce the user's load to review each USE flag (all local and global ones). Then he'll add the USE flag to make.conf to make it vanish form this list and marked as read. Reproducible: Always Steps to Reproduce:
Can you give an example of some expected input/output?
For e.g. there's a package called bar/foo with USE a, b, c, d, e. Larry has specified USE b, e in make.conf and/or package.use, however the package is also compiled with USE d, a... it might be that he does not want these USE flags set, however he does wants b, e (we're sure about that since he explicitly specified that). There are many package like this, thus it'll be great to have a euse feature to list package which are compiled with USE flags like d, a (or flags which are not explicitly specified by the user) with their description e.g. - euse --automatically --info Flag Used by Description a foo/bar Turn the SSL feature on. bar/tar Communicate to client using SSL app-arch/ark app-text/gedit b app-text/recoll xxdfeerw www-client/lynx sadfgasfrhasert hello/world
hmm, I think this is starting to ask too much of euse. There are other apps already that list pkgs with use flags, etc.. There are 2 in fact in gentoolkit. equery hasuse Note analyse is in the process of being renamed to enalyze analyse analyse use (reports on how use flags are used in your system) analyse rebuild use (will produce a replacement package.use file) analyse analyse packages (produces an installed file list with the flags they were built with) Both of these are in python and use the portage api as well as custom functions for info. They also provide api's of their own that can be used in other aplications for embedded functionality without having to parse terminal output. I just committed a patch to euse which embeds several small python scripts to obtain some of it's info (python compatibility fixes). I believe euse would have to be re-written in python to make proper use of the available python api's in gentoolkit and portage to do the job properly. Not to mention what I believe would be a tremendous speed improvement. Further to this, I intend to add more python library functions to gentoolkit for checking and verifying entries in package.* files. That too should make an euse python re-write easier if the powers that be and volunteer so desire. Perhaps another enalyze or equery module would be better for this type of feature. Enalyze is an installed packages db reporting tool still early in it's development. If I'm reading your above example correct. It would not be too much different than one of the enalyze reports.
Apparently equery doesn't have this ability. The analyse module which is closest to this functionality is pkguse but it does something opposite to what I want. I want it to specify use flags which are not explicitly specified by me.
Ok, I understand your request better now. Thank you I was talking this over with the primary gentoolkit maintainer. He agrees that this feature should go into euse, but also agrees it would be a lot easier to do if it was re-written in python. To that end, what we will do is keep working on extending the capabilities of the enalyze modules. Once they are complete enough for use by euse, we can then look at creating an new euse script that uses those python modules. Give me some time and I'll get this type of report in enalyze for you. This is the start of another GSOC season. I have a new student project I need to mentor as well as some other coding to do that he will require soon in his project. I'll post here when I have it in git.