diff mbox series

[RFC,v2,6/6] packagefeed.bbclass: Add cleanfunc for cleaning feeds.

Message ID 20230731215310.3949441-7-charlie.johnston@ni.com
State New
Headers show
Series Add new packagefeed recipe class. | expand

Commit Message

Charlie Johnston July 31, 2023, 9:43 p.m. UTC
Since the packagefeed build logic does not use sstate,
the deploy directories will not be cleaned by a do_clean
or similar commands. This change adds a function to wipe
all feed deploy directories for the given feed when a
clean command is run. That is, regardless of the value
of PACKAGE_CLASSES, all <tmp>/feeds/<pkg_type>/<pn>
directories will be cleaned.

Signed-off-by: Charlie Johnston <charlie.johnston@ni.com>
---
 meta/classes-recipe/packagefeed.bbclass | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/meta/classes-recipe/packagefeed.bbclass b/meta/classes-recipe/packagefeed.bbclass
index 04b45e7723..1df09b85c2 100644
--- a/meta/classes-recipe/packagefeed.bbclass
+++ b/meta/classes-recipe/packagefeed.bbclass
@@ -24,4 +24,16 @@  addtask packagefeed before do_build
 do_packagefeed[recrdeptask] += "do_package_qa"
 do_packagefeed[nostamp] = "1"
 do_packagefeed[rdepends] += "${@' '.join([x + ':do_packagefeed' for x in d.getVar('FEED_DEPENDS').split()])}"
-do_packagefeed[cleandirs] += "${DEPLOY_DIR_FEED_DEB}/${PN} ${DEPLOY_DIR_FEED_IPK}/${PN} ${DEPLOY_DIR_FEED_RPM}/${PN}"
+
+CLEANFUNCS += "packagefeed_clean"
+
+python packagefeed_clean() {
+    bb.note("Cleaning feed directories for %s" % d.getVar('PN'))
+
+    deploy_dirs = [d.expand("${DEPLOY_DIR_FEED_DEB}/${PN}"),
+                   d.expand("${DEPLOY_DIR_FEED_IPK}/${PN}"),
+                   d.expand("${DEPLOY_DIR_FEED_RPM}/${PN}")]
+
+    for dir in deploy_dirs:
+        oe.path.remove(dir)
+}