commit: b409bd9bb4b50f69a555e4e148057ade86a7ed16
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 31 20:26:40 2015 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sat Oct 31 20:26:40 2015 +0000
URL: https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=b409bd9b
stagebase.py: Refactor the *FLAGS handling code in chroot_setup()
*FLAGS settings in spec files are loaded as a list.
Although the config loading code has not changed in quite some time, the code
was still
treating these settings as strings. I don't know why the error was not
triggered long ago.
The code now handle
catalyst/base/stagebase.py | 46 +++++++++++++++++-----------------------------
1 file changed, 17 insertions(+), 29 deletions(-)
diff --git a/catalyst/base/stagebase.py b/catalyst/base/stagebase.py
index 0e4d8c2..5ba9cfc 100644
--- a/catalyst/base/stagebase.py
+++ b/catalyst/base/stagebase.py
@@ -1055,36 +1055,24 @@ class StageBase(TargetBase, ClearBase, GenBase):
myf=open(makepath, "w")
myf.write("# These settings were set by the catalyst
build script that automatically\n# built this stage.\n")
myf.write("# Please consult
/usr/share/portage/config/make.conf.example for a more\n# detailed example.\n")
- if "CFLAGS" in self.settings:
-
myf.write('CFLAGS="'+self.settings["CFLAGS"]+'"\n')
- if "CXXFLAGS" in self.settings:
- if
self.settings["CXXFLAGS"]!=self.settings["CFLAGS"]:
-
myf.write('CXXFLAGS="'+self.settings["CXXFLAGS"]+'"\n')
- else:
- myf.write('CXXFLAGS="${CFLAGS}"\n')
- else:
- myf.write('CXXFLAGS="${CFLAGS}"\n')
- if "FCFLAGS" in self.settings:
- if
self.settings["FCFLAGS"]!=self.settings["CFLAGS"]:
-
myf.write('FCFLAGS="'+self.settings["FCFLAGS"]+'"\n')
- else:
- myf.write('FCFLAGS="${CFLAGS}"\n')
- else:
- myf.write('FCFLAGS="${CFLAGS}"\n')
- if "FFLAGS" in self.settings:
- if
self.settings["FFLAGS"]!=self.settings["CFLAGS"]:
-
myf.write('FFLAGS="'+self.settings["FFLAGS"]+'"\n')
+
+ for flags in ["CFLAGS", "CXXFLAGS", "FCFLAGS",
"FFLAGS", "LDFLAGS",
+ "ASFLAGS"]:
+ if not flags in self.settings:
+ continue
+ if flags in ["LDFLAGS", "ASFLAGS"]:
+ myf.write("# %s is unsupported. USE AT
YOUR OWN RISK!\n"
+ % flags)
+ if (flags is not "CFLAGS" and
+ self.settings[flags] ==
self.settings["CFLAGS"]):
+ myf.write('%s="${CFLAGS}"\n' %
flags)
+ elif isinstance(self.settings[flags], list):
+ myf.write('%s="%s"\n'
+ % (flags, '
'.join(self.settings[flags])))
else:
- myf.write('FFLAGS="${CFLAGS}"\n')
- else:
- myf.write('FFLAGS="${CFLAGS}"\n')
-
- if "LDFLAGS" in self.settings:
- myf.write("# LDFLAGS is unsupported. USE AT
YOUR OWN RISK!\n")
-
myf.write('LDFLAGS="'+self.settings["LDFLAGS"]+'"\n')
- if "ASFLAGS" in self.settings:
- myf.write("# ASFLAGS is unsupported. USE AT
YOUR OWN RISK!\n")
-
myf.write('ASFLAGS="'+self.settings["ASFLAGS"]+'"\n')
+ myf.write('%s="%s"\n'
+ % (flags,
self.settings[flags]))
+
if "CBUILD" in self.settings:
myf.write("# This should not be changed unless
you know exactly what you are doing. You\n# should probably be using a
different stage, instead.\n")
myf.write('CBUILD="'+self.settings["CBUILD"]+'"\n')