]> code.ossystems Code Review - openembedded-core.git/commitdiff
scripts/combo-layer: a simple way to script the combo-layer conf
authorLeandro Dorileo <ldorileo@gmail.com>
Wed, 10 Aug 2011 05:09:05 +0000 (01:09 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 11 Aug 2011 18:13:37 +0000 (19:13 +0100)
This small patch introduces a a very simple and basic way to script
the combo-layer conf file. With that a combo can be shared with no
need to change its config - associated to the use of environment
variables for example.

*Similar* to bitbake it considers every value starting with @ to be
a python script. So local_repo could be easily configured as:

[bitbake]
local_repo = @os.getenv("LOCAL_REPO_DIR") + "/bitbake"

or any more sophisticated python syntax.

This version updates the config file description so users can be
aware of.

Signed-off-by: Leandro Dorileo <ldorileo@gmail.com>
scripts/combo-layer

index d1291751fa868d5bcf84fdeb5cbd4901e66b0fe8..07b3382f0a4b45703360edecb21e10b0f15e41e6 100755 (executable)
@@ -79,6 +79,14 @@ local_repo_dir = ~/src/oecore
 dest_dir = .
 last_revision =
 
+# it's also possible to embed python code in the config values. Similar
+# to bitbake it considers every value starting with @ to be a python script. 
+# So local_repo could be easily configured using an environment variable as:
+#
+# [bitbake]
+# local_repo = @os.getenv("LOCAL_REPO_DIR") + "/bitbake"
+#
+
 # more components ...
 
     """
@@ -91,7 +99,10 @@ last_revision =
         for repo in self.parser.sections():
             self.repos[repo] = {}
             for (name, value) in self.parser.items(repo):
-                self.repos[repo][name] = value
+                if value.startswith("@"):
+                    self.repos[repo][name] = eval(value.strip("@"))
+                else:
+                    self.repos[repo][name] = value
 
     def update(self, repo, option, value):
         self.parser.set(repo, option, value)