[yocto] [PATCH 2/2] PublishArtifacts: enable publishing of sstate

Joshua Lock joshua.lock at collabora.co.uk
Fri Mar 20 07:14:54 PDT 2015


The PUBLISH_SSTATE variable in config/autobuilder.conf didnt' appear to be
wired up anywhere so I've forced it into PublishArtifacts here.

I consider this patch an RFC because a) it required both the PUBLISH_SSTATE
variable to be set and b) an sstate parameter to be passed to the
PublishArtifacts step. Having to turn things on twice is "not good".

Signed-off-by: Joshua Lock <joshua.lock at collabora.co.uk>
---
 .../site-packages/autobuilder/buildsteps/PublishArtifacts.py | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/lib/python2.7/site-packages/autobuilder/buildsteps/PublishArtifacts.py b/lib/python2.7/site-packages/autobuilder/buildsteps/PublishArtifacts.py
index aee3d1f..58add14 100644
--- a/lib/python2.7/site-packages/autobuilder/buildsteps/PublishArtifacts.py
+++ b/lib/python2.7/site-packages/autobuilder/buildsteps/PublishArtifacts.py
@@ -127,6 +127,18 @@ class PublishArtifacts(ShellCommand):
                     command=command+"cp -R --no-dereference --preserve=links " + \
                                     os.path.join(self.tmpdir, "deploy/ipk/* ") + \
                                     os.path.join(DEST, IPK_PUBLISH_DIR) + ";"
+                elif artifact == "sstate":
+                    if str(os.environ.get("PUBLISH_SSTATE")) == "True":
+                        sstate_dir = os.environ.get("SSTATE_DIR")
+                        pub_dir = os.environ.get("SSTATE_PUBLISH_DIR")
+                        if sstate_dir is not None and pub_dir is not None:
+                            command=command+"mkdir -p " + pub_dir + ";"
+                            command=command+"cp -R --no-dereference --preserve=links " + \
+                                     sstate_dir + "/* " + pub_dir + ";"
+                        else:
+                            command=command+"echo 'Skipping copy of sstate, directories not configured.';"
+                    else:
+                        command=command+"echo 'Skipping copy of sstate, PUBLISH_SSTATE not set.';"
                 elif artifact == "toolchain":
                     command=command+"mkdir -p " + os.path.join(DEST, X86TC_PUBLISH_DIR) + ";"
                     command=command+"cp -R --no-dereference --preserve=links " + \
-- 
2.1.0




More information about the yocto mailing list