Numerous times packages don't honour 'debug' flag. portage should in all cases: 1. not strip if USE contains 'debug' (FEATURES=nostrip) 2. append -g to final CFLAGS passed to the package 3. strip flags like -fomit-frame-pointer, -O3/2 If that's not what USE flags are used for, please provide a FEATURE=debug to accomplish this. Reproducible: Always Steps to Reproduce: 1. USE=debug emerge xmms 2. 3. Actual Results: Everything stripped. Expected Results: If xmms doesn't honour 'debug', at least not strip my libs and exes.
*** This bug has been marked as a duplicate of 55708 ***
Do we, at this point, have a FEATURE which 1.) adds -g to cflags for debug symbols, removes fomit-frame-pointer, lowers the optimize flags to -O if greater 2.) turns the nostrip FEATURES on. if not, why is the bug marked as duplicate of 55708 and closed? That bug is not about portage debug support. Why is this functionality not a FEATURE? typical users would want the above two to be applicable to all packages, not just the ones coded with a debug (or variant thereof) USE flag?
Your feature is not available because per-package features are not yet implemented, thus the only per-package method currently is a use flag. This requires discussion on the gentoo-dev ML, which I was planning on starting in a few days. per-package FEATURES should be available in the next major version of portage.
I don't really like the idea of a debug "feature" at all. I think the idea of build profiles would better serve the purpose.
ok, let's elaborate. you mean users will have to switch to a debug profile to get a decent stack from a package, and then revert back? if debug profiles can be a backend to the debug feature, that would be better.
No, I essentially mean "per-package environment", where environment is defined as a set of changes called "build profile" rather than having to specify individual settings for each package.
but the question still is: how do users use it? and what all things does it allow?
The things you mentioned can be done with a simple shell alias: alias debug-merge="USE=debug FEATURES=nostrip CFLAGS='-g'"