1 |
commit: 7559946e31712f46dbaa3959a93a35a2afa257bd |
2 |
Author: André Erdmann <dywi <AT> mailerd <DOT> de> |
3 |
AuthorDate: Mon Mar 31 18:30:35 2014 +0000 |
4 |
Commit: André Erdmann <dywi <AT> mailerd <DOT> de> |
5 |
CommitDate: Tue Apr 1 16:36:36 2014 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=7559946e |
7 |
|
8 |
roverlay-setup: load parser defaults file |
9 |
|
10 |
--- |
11 |
Makefile | 5 ++++- |
12 |
files/setup.defaults | 6 ++++++ |
13 |
files/setup.defaults.others | 6 ++++++ |
14 |
roverlay/setupscript/runtime.py | 13 ++++++++++--- |
15 |
4 files changed, 26 insertions(+), 4 deletions(-) |
16 |
|
17 |
diff --git a/Makefile b/Makefile |
18 |
index 06933f8..d5e21cd 100644 |
19 |
--- a/Makefile |
20 |
+++ b/Makefile |
21 |
@@ -207,7 +207,10 @@ install-data: |
22 |
$(DATADIR)/roverlay/shlib $(DATADIR)/roverlay/hooks \ |
23 |
$(DATADIR)/roverlay/eclass $(DATADIR)/roverlay/mako_templates |
24 |
|
25 |
-ifneq ($(ROVERLAY_TARGET_TYPE),gentoo) |
26 |
+ifeq ($(ROVERLAY_TARGET_TYPE),gentoo) |
27 |
+ install -m 0644 -- files/setup.defaults $(DATADIR)/setup.defaults |
28 |
+else |
29 |
+ install -m 0644 -- files/setup.defaults.others $(DATADIR)/setup.defaults |
30 |
install -m 0644 -- $(LICENSES_FILE) $(DATADIR)/roverlay/licenses |
31 |
endif |
32 |
install -m 0644 -t $(DATADIR)/roverlay/hooks files/hooks/*.sh |
33 |
|
34 |
diff --git a/files/setup.defaults b/files/setup.defaults |
35 |
new file mode 100644 |
36 |
index 0000000..b9e06d7 |
37 |
--- /dev/null |
38 |
+++ b/files/setup.defaults |
39 |
@@ -0,0 +1,6 @@ |
40 |
+# site-specific defaults for roverlay-setup |
41 |
+# each line lists one "<key> = <value>" pair, |
42 |
+# where <key> is the dest of a parser option |
43 |
+# (see roverlay.setupscript.runtime) |
44 |
+# |
45 |
+target_type = gentoo |
46 |
|
47 |
diff --git a/files/setup.defaults.others b/files/setup.defaults.others |
48 |
new file mode 100644 |
49 |
index 0000000..4e4c173 |
50 |
--- /dev/null |
51 |
+++ b/files/setup.defaults.others |
52 |
@@ -0,0 +1,6 @@ |
53 |
+# site-specific defaults for roverlay-setup |
54 |
+# each line lists one "<key> = <value>" pair, |
55 |
+# where <key> is the dest of a parser option |
56 |
+# (see roverlay.setupscript.runtime) |
57 |
+# |
58 |
+target_type = foreign |
59 |
|
60 |
diff --git a/roverlay/setupscript/runtime.py b/roverlay/setupscript/runtime.py |
61 |
index b9b7ed0..5576f1d 100644 |
62 |
--- a/roverlay/setupscript/runtime.py |
63 |
+++ b/roverlay/setupscript/runtime.py |
64 |
@@ -23,6 +23,7 @@ import roverlay.setupscript.initenv |
65 |
import roverlay.setupscript.hookenv |
66 |
|
67 |
import roverlay.static.targetenv |
68 |
+import roverlay.util.mapreader |
69 |
|
70 |
|
71 |
if sys.hexversion >= 0x3000000: |
72 |
@@ -389,9 +390,6 @@ class SetupEnvironment ( roverlay.runtime.IndependentRuntimeEnvironment ): |
73 |
def get_parser_defaults ( self ): |
74 |
defaults = {} |
75 |
|
76 |
- if 'ROVERLAY_TARGET_TYPE' in os.environ: |
77 |
- defaults ['target_type'] = os.environ ['ROVERLAY_TARGET_TYPE'] |
78 |
- |
79 |
if self.is_installed(): |
80 |
instinfo = self.INSTALLINFO |
81 |
defaults.update ({ |
82 |
@@ -417,6 +415,15 @@ class SetupEnvironment ( roverlay.runtime.IndependentRuntimeEnvironment ): |
83 |
}) |
84 |
# -- end if |
85 |
|
86 |
+ defaults_file = defaults['data_root'] + os.sep + 'setup.defaults' |
87 |
+ if os.path.isfile ( defaults_file ): |
88 |
+ dparser = roverlay.util.mapreader.DictFileParser ( r'\s*=\s*' ) |
89 |
+ dparser.read_file ( defaults_file ) |
90 |
+ defaults.update ( dparser.make_result() ) |
91 |
+ |
92 |
+ if 'ROVERLAY_TARGET_TYPE' in os.environ: |
93 |
+ defaults ['target_type'] = os.environ ['ROVERLAY_TARGET_TYPE'] |
94 |
+ |
95 |
return defaults |
96 |
# --- end of get_parser_defaults (...) --- |