Sorry about the wrong patches.

-----Original Message-----
From: Ahsan, Noor 
Sent: Wednesday, April 11, 2012 4:48 PM
To: [email protected]
Cc: Ahsan, Noor
Subject: [PATCH] utility-taska.bbclass: Add distclean task for removing sources

From: Noor Ahsan <[email protected]>

* Bring distclean task from openembedded classic.

Signed-off-by: Noor Ahsan <[email protected]>
---
 meta/classes/utility-tasks.bbclass |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/meta/classes/utility-tasks.bbclass 
b/meta/classes/utility-tasks.bbclass
index cbb000a..8379de6 100644
--- a/meta/classes/utility-tasks.bbclass
+++ b/meta/classes/utility-tasks.bbclass
@@ -28,6 +28,36 @@ python do_clean() {
                bb.build.exec_func(f, d)
 }
 
+addtask distclean
+do_distclean[nostamp] = "1"
+python do_distclean() {
+       """clear downloaded sources, build and temp directories"""
+
+       bb.build.exec_func('do_clean', d)
+
+       src_uri = bb.data.getVar('SRC_URI', d, 1)
+       if not src_uri:
+               return
+
+       for uri in src_uri.split():
+               if bb.decodeurl(uri)[0] == "file":
+                       continue
+
+               try:
+                       local = bb.data.expand(bb.fetch.localpath(uri, d), d)
+               except bb.MalformedUrl, e:
+                       bb.debug(1, 'Unable to generate local path for 
malformed uri: %s' % e)
+               else:
+                       bb.note("removing %s" % base_path_out(local, d))
+                       try:
+                               if os.path.exists(local + ".done"):
+                                       os.remove(local + ".done")
+                               if os.path.exists(local):
+                                       os.remove(local)
+                       except OSError, e:
+                               bb.note("Error in removal: %s" % e)
+}
+
 addtask checkuri
 do_checkuri[nostamp] = "1"
 python do_checkuri() {
-- 
1.7.9


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to