commit: 7559946e31712f46dbaa3959a93a35a2afa257bd
Author: André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Mon Mar 31 18:30:35 2014 +0000
Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Tue Apr 1 16:36:36 2014 +0000
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=7559946e
roverlay-setup: load parser defaults file
---
Makefile | 5 ++++-
files/setup.defaults | 6 ++++++
files/setup.defaults.others | 6 ++++++
roverlay/setupscript/runtime.py | 13 ++++++++++---
4 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile
index 06933f8..d5e21cd 100644
--- a/Makefile
+++ b/Makefile
@@ -207,7 +207,10 @@ install-data:
$(DATADIR)/roverlay/shlib $(DATADIR)/roverlay/hooks \
$(DATADIR)/roverlay/eclass $(DATADIR)/roverlay/mako_templates
-ifneq ($(ROVERLAY_TARGET_TYPE),gentoo)
+ifeq ($(ROVERLAY_TARGET_TYPE),gentoo)
+ install -m 0644 -- files/setup.defaults $(DATADIR)/setup.defaults
+else
+ install -m 0644 -- files/setup.defaults.others $(DATADIR)/setup.defaults
install -m 0644 -- $(LICENSES_FILE) $(DATADIR)/roverlay/licenses
endif
install -m 0644 -t $(DATADIR)/roverlay/hooks files/hooks/*.sh
diff --git a/files/setup.defaults b/files/setup.defaults
new file mode 100644
index 0000000..b9e06d7
--- /dev/null
+++ b/files/setup.defaults
@@ -0,0 +1,6 @@
+# site-specific defaults for roverlay-setup
+# each line lists one "<key> = <value>" pair,
+# where <key> is the dest of a parser option
+# (see roverlay.setupscript.runtime)
+#
+target_type = gentoo
diff --git a/files/setup.defaults.others b/files/setup.defaults.others
new file mode 100644
index 0000000..4e4c173
--- /dev/null
+++ b/files/setup.defaults.others
@@ -0,0 +1,6 @@
+# site-specific defaults for roverlay-setup
+# each line lists one "<key> = <value>" pair,
+# where <key> is the dest of a parser option
+# (see roverlay.setupscript.runtime)
+#
+target_type = foreign
diff --git a/roverlay/setupscript/runtime.py b/roverlay/setupscript/runtime.py
index b9b7ed0..5576f1d 100644
--- a/roverlay/setupscript/runtime.py
+++ b/roverlay/setupscript/runtime.py
@@ -23,6 +23,7 @@ import roverlay.setupscript.initenv
import roverlay.setupscript.hookenv
import roverlay.static.targetenv
+import roverlay.util.mapreader
if sys.hexversion >= 0x3000000:
@@ -389,9 +390,6 @@ class SetupEnvironment (
roverlay.runtime.IndependentRuntimeEnvironment ):
def get_parser_defaults ( self ):
defaults = {}
- if 'ROVERLAY_TARGET_TYPE' in os.environ:
- defaults ['target_type'] = os.environ ['ROVERLAY_TARGET_TYPE']
-
if self.is_installed():
instinfo = self.INSTALLINFO
defaults.update ({
@@ -417,6 +415,15 @@ class SetupEnvironment (
roverlay.runtime.IndependentRuntimeEnvironment ):
})
# -- end if
+ defaults_file = defaults['data_root'] + os.sep + 'setup.defaults'
+ if os.path.isfile ( defaults_file ):
+ dparser = roverlay.util.mapreader.DictFileParser ( r'\s*=\s*' )
+ dparser.read_file ( defaults_file )
+ defaults.update ( dparser.make_result() )
+
+ if 'ROVERLAY_TARGET_TYPE' in os.environ:
+ defaults ['target_type'] = os.environ ['ROVERLAY_TARGET_TYPE']
+
return defaults
# --- end of get_parser_defaults (...) ---