]>
Commit | Line | Data |
---|---|---|
1 | --- pym/portage.py (revision 2565) | |
2 | +++ pym/portage.py (working copy) | |
3 | @@ -1266,10 +1266,6 @@ | |
4 | if "usersandbox" in self.features: | |
5 | self.features.remove("usersandbox") | |
6 | ||
7 | - self.features.sort() | |
8 | - self["FEATURES"] = " ".join(["-*"]+self.features) | |
9 | - self.backup_changes("FEATURES") | |
10 | - | |
11 | if not len(self["CBUILD"]) and len(self["CHOST"]): | |
12 | self["CBUILD"] = self["CHOST"] | |
13 | self.backup_changes("CBUILD") | |
14 | @@ -1277,6 +1273,32 @@ | |
15 | if mycpv: | |
16 | self.setcpv(mycpv) | |
17 | ||
18 | + self.mutate_env | |
19 | + | |
20 | + def mutate_env(self): | |
21 | + "emerge may have mutated the env slightly, so we may have to rebuild some things" | |
22 | + | |
23 | + if "debug-build" in self.features: | |
24 | + # the profile should be setting these, but just in case ... | |
25 | + if not len(self["DEBUG_CFLAGS"]): | |
26 | + self["DEBUG_CFLAGS"] = "-g -O" | |
27 | + self.backup_changes("DEBUG_CFLAGS") | |
28 | + if not len(self["DEBUG_CXXFLAGS"]): | |
29 | + self["DEBUG_CXXFLAGS"] = self["DEBUG_CFLAGS"] | |
30 | + self.backup_changes("DEBUG_CXXFLAGS") | |
31 | + # replace user vars with debug version | |
32 | + for var in ["CFLAGS","CXXFLAGS","LDFLAGS"]: | |
33 | + self[var]=self["DEBUG_"+var] | |
34 | + self.backup_changes(var) | |
35 | + # if user has splitdebug, the debug info will be auto saved for | |
36 | + # gdb, otherwise we want to keep the binaries from being stripped | |
37 | + if not "splitdebug" in self.features: | |
38 | + self.features.append("nostrip") | |
39 | + | |
40 | + self.features.sort() | |
41 | + self["FEATURES"] = " ".join(["-*"]+self.features) | |
42 | + self.backup_changes("FEATURES") | |
43 | + | |
44 | def loadVirtuals(self,root): | |
45 | self.virtuals = self.getvirtuals(root) | |
46 | ||
47 | --- pym/portage_const.py (revision 2565) | |
48 | +++ pym/portage_const.py (working copy) | |
49 | @@ -40,7 +40,7 @@ | |
50 | CONFIG_MEMORY_FILE = PRIVATE_PATH + "/config" | |
51 | ||
52 | INCREMENTALS=["USE","USE_EXPAND","USE_EXPAND_HIDDEN","FEATURES","ACCEPT_KEYWORDS","ACCEPT_LICENSE","CONFIG_PROTECT_MASK","CONFIG_PROTECT","PRELINK_PATH","PRELINK_PATH_MASK"] | |
53 | -STICKIES=["KEYWORDS_ACCEPT","USE","CFLAGS","CXXFLAGS","MAKEOPTS","EXTRA_ECONF","EXTRA_EINSTALL","EXTRA_EMAKE"] | |
54 | +STICKIES=["KEYWORDS_ACCEPT","USE","CFLAGS","CXXFLAGS","LDFLAGS","DEBUG_CFLAGS","DEBUG_CXXFLAGS","DEBUG_LDFLAGS","MAKEOPTS","EXTRA_ECONF","EXTRA_EINSTALL","EXTRA_EMAKE"] | |
55 | EBUILD_PHASES = ["setup","unpack","compile","test","install","preinst","postinst","prerm","postrm"] | |
56 | ||
57 | EAPI = 0 | |
58 | --- bin/emerge (revision 2565) | |
59 | +++ bin/emerge (working copy) | |
60 | @@ -173,6 +173,7 @@ | |
61 | "--ask", | |
62 | "--buildpkg", "--buildpkgonly", | |
63 | "--changelog", "--columns", "--cols", | |
64 | +"--debug-build", "--debugbuild" | |
65 | "--debug", "--deep", | |
66 | "--digest", | |
67 | "--emptytree", | |
68 | @@ -429,6 +430,13 @@ | |
69 | if ("--nocolor" in myopts) and (sys.stdout.isatty()): | |
70 | nocolor() | |
71 | ||
72 | +# Now mutate portage env based upon options user gave us | |
73 | +if ("--debug-build" in myopts): | |
74 | + portage.settings.unlock() | |
75 | + portage.settings.features.append("debug-build") | |
76 | + portage.settings.mutate_env() | |
77 | + portage.settings.lock() | |
78 | + | |
79 | CLEAN_DELAY = 5 | |
80 | EMERGE_WARNING_DELAY = 10 | |
81 | if portage.settings["CLEAN_DELAY"]: |