Add support for %env section sandbox/dkson95/env sandbox/vbarinov/pre
authorSlava Barinov <v.barinov@samsung.com>
Wed, 17 Oct 2018 07:11:05 +0000 (10:11 +0300)
committerSlava Barinov <v.barinov@samsung.com>
Wed, 17 Oct 2018 07:11:05 +0000 (10:11 +0300)
Env-scripts support are required for building certain firmware configurations,
e.g. sanitized firmwares and can be used for setting up environment variables
for firmware build.

Signed-off-by: Slava Barinov <v.barinov@samsung.com>
kickstart/kickstart.tmpl
kswriter/KSWriter.py

index e2b9b8e..86e4e55 100644 (file)
@@ -87,6 +87,10 @@ repo --name=${r} --baseurl=${rr.Url} ${options_repo}
 #end for
 #end for
 
+%env
+${metadata.Env}
+%end
+
 %pre
 ${metadata.Pre}
 %end
index bd0f89d..889c34f 100644 (file)
@@ -92,7 +92,7 @@ class KSWriter():
         plat = copy.copy(self.image_meta[img['Platform']])
         conf.update(plat)
         conf.update(img)
-        lval = ['Repos', 'Groups', 'PostScripts', 'NoChrootScripts', 'RemovePackages', 'ExtraPackages', 'RunScripts', 'PreScripts']
+        lval = ['Repos', 'Groups', 'PostScripts', 'NoChrootScripts', 'RemovePackages', 'ExtraPackages', 'RunScripts', 'PreScripts', 'EnvScripts']
         lvald = {}
         for l in lval:
             full = []
@@ -145,6 +145,16 @@ class KSWriter():
             else:
                 raise KSMetaError('%s/scripts/%s.pre not found, aborting.' %(meta_root, scr ))
 
+        envscript = ""
+        for scr in conf['EnvScripts']:
+            if os.path.exists('%s/scripts/%s.env' %(meta_root,scr)):
+                f = open('%s/scripts/%s.env' %(meta_root, scr ), 'r')
+                envscript += f.read()
+                envscript += "\n"
+                f.close()
+            else:
+                raise KSMetaError('%s/scripts/%s.env not found, aborting.' %(meta_root, scr ))
+
         ptab = ""
         for g in [ plat, img ]:
             if g.has_key("Part"):
@@ -167,6 +177,7 @@ class KSWriter():
         conf['NoChroot'] = nochrootscript
         conf['Run'] = runscript
         conf['Pre'] = prescript
+        conf['Env'] = envscript
         return conf
 
     def process_files(self,  meta,  repos):