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 (...) ---