On Wednesday 25 January 2006 02:26, Brian Harring wrote: > On Tue, Jan 24, 2006 at 08:06:12PM -0500, Mike Frysinger wrote: > > i would be ok with implementing the back end (i.e. FEATURES=debug-build) > > but putting off the front end (i.e. emerge --debug-build) > > Front-end doesn't matter, it's the back-end that's the concern. Clean > up the backend in stable, and it's fine- hence the "shelve it"; fix > the backend instead of tagging it half way in.
what exactly is "half way" about the attached patch ? -mike
Index: pym/portage.py =================================================================== --- pym/portage.py (revision 2604) +++ pym/portage.py (working copy) @@ -1263,6 +1263,23 @@ if "usersandbox" in self.features: self.features.remove("usersandbox") + if "debug-build" in self.features: + # the profile should be setting these, but just in case ... + if not len(self["DEBUG_CFLAGS"]): + self["DEBUG_CFLAGS"] = "-g -O" + self.backup_changes("DEBUG_CFLAGS") + if not len(self["DEBUG_CXXFLAGS"]): + self["DEBUG_CXXFLAGS"] = self["DEBUG_CFLAGS"] + self.backup_changes("DEBUG_CXXFLAGS") + # replace user vars with debug version + for var in ["CFLAGS","CXXFLAGS","LDFLAGS"]: + self[var]=self["DEBUG_"+var] + self.backup_changes(var) + # if user has splitdebug, the debug info will be auto saved for + # gdb, otherwise we want to keep the binaries from being stripped + if not "splitdebug" in self.features: + self.features.append("nostrip") + self.features.sort() self["FEATURES"] = " ".join(["-*"]+self.features) self.backup_changes("FEATURES") Index: pym/portage_const.py =================================================================== --- pym/portage_const.py (revision 2604) +++ pym/portage_const.py (working copy) @@ -40,7 +40,7 @@ CONFIG_MEMORY_FILE = PRIVATE_PATH + "/config" INCREMENTALS=["USE","USE_EXPAND","USE_EXPAND_HIDDEN","FEATURES","ACCEPT_KEYWORDS","ACCEPT_LICENSE","CONFIG_PROTECT_MASK","CONFIG_PROTECT","PRELINK_PATH","PRELINK_PATH_MASK"] -STICKIES=["KEYWORDS_ACCEPT","USE","CFLAGS","CXXFLAGS","MAKEOPTS","EXTRA_ECONF","EXTRA_EINSTALL","EXTRA_EMAKE"] +STICKIES=["KEYWORDS_ACCEPT","USE","CFLAGS","CXXFLAGS","LDFLAGS","DEBUG_CFLAGS","DEBUG_CXXFLAGS","DEBUG_LDFLAGS","MAKEOPTS","EXTRA_ECONF","EXTRA_EINSTALL","EXTRA_EMAKE"] EBUILD_PHASES = ["setup","unpack","compile","test","install","preinst","postinst","prerm","postrm"] EAPI = 0