diff options
author | Chris Larson <clarson@kergoth.com> | 2008-11-20 12:30:05 -0700 |
---|---|---|
committer | Chris Larson <clarson@kergoth.com> | 2008-11-20 12:33:05 -0700 |
commit | 190d7875900a18dc31dd695d02ce52b2c82f8326 (patch) | |
tree | 2aeb877fe62513af21aee40a8aa3d9870f6cd37a /classes | |
parent | 4d6fc421371e43f64e77df069369ef0ba3d792df (diff) |
base.bbclass: Add distclean task to clean a package w/ its fetched sources
Diffstat (limited to 'classes')
-rw-r--r-- | classes/base.bbclass | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass index 10648e9885..00bbffd096 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -499,6 +499,32 @@ python base_do_mrproper() { bb.build.exec_func('do_clean', d) } +addtask distclean +do_distclean[dirs] = "${TOPDIR}" +do_distclean[nostamp] = "1" +python base_do_distclean() { + """clear downloaded sources, build and temp directories""" + import os + + 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 type == "file": + continue + + try: + local = bb.data.expand(bb.fetch.localpath(uri, d), d) + bb.note("removing %s" % local) + os.remove(local) + os.remove(local + ".md5") + except bb.MalformedUrl, e: + raise FuncFailed('Unable to generate local path for %s' % e) +} + SCENEFUNCS += "base_scenefunction" python base_do_setscene () { @@ -1145,7 +1171,7 @@ inherit patch # Move to autotools.bbclass? inherit siteinfo -EXPORT_FUNCTIONS do_setscene do_clean do_mrproper do_fetch do_unpack do_configure do_compile do_install do_package do_populate_pkgs do_stage do_rebuild do_fetchall +EXPORT_FUNCTIONS do_setscene do_clean do_mrproper do_distclean do_fetch do_unpack do_configure do_compile do_install do_package do_populate_pkgs do_stage do_rebuild do_fetchall MIRRORS[func] = "0" MIRRORS () { |