]> git.ipfire.org Git - pakfire.git/commitdiff
Fix cleaning repositories
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 16 Feb 2018 13:39:41 +0000 (14:39 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 16 Feb 2018 13:39:41 +0000 (14:39 +0100)
It is okay if the file does not exist.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/pakfire.c
src/pakfire/base.py
src/pakfire/cli.py

index 8deb26e2f4d072ef414316a063d9e9f4b411d608..9859bb251205d0c42cf34a04aac048cd73c93ea8 100644 (file)
@@ -18,6 +18,7 @@
 #                                                                             #
 #############################################################################*/
 
+#include <errno.h>
 #include <ftw.h>
 #include <stddef.h>
 #include <stdio.h>
@@ -340,6 +341,10 @@ PAKFIRE_EXPORT int pakfire_cache_destroy(Pakfire pakfire, const char* path) {
        int r = nftw(cache_path, _unlink, 64, FTW_DEPTH|FTW_PHYS);
        pakfire_free(cache_path);
 
+       // It is okay if the path doesn't exist
+       if (r < 0 && errno == ENOENT)
+               r = 0;
+
        return r;
 }
 
index f0b6b824e0c4eb05a7de8cc487b1b08effacd9f2..b87520e59a9f2742e62d358bcb59a7f34e979acd 100644 (file)
@@ -125,10 +125,9 @@ class Pakfire(_pakfire.Pakfire):
                        raise NotAnIPFireSystemError("You can run pakfire only on an IPFire system")
 
        def clean(self):
-               log.debug("Cleaning up everything...")
-
-               # Clean up repository caches.
-               self.repos.clean()
+               # Clean up repository caches
+               for repo in self.repos:
+                       repo.clean()
 
        def build(self, makefile, resultdir, stages=None, **kwargs):
                b = builder.Builder(self, makefile, resultdir, **kwargs)
index 4b76d27796eefe40e04fb5f4a62628969b6e05b3..388774ec24d0e924ca5f96a6317200f38f14bd41 100644 (file)
@@ -361,10 +361,10 @@ class Cli(object):
                                print(FORMAT % (repo.name, repo.enabled, repo.priority, len(repo)))
 
        def handle_clean(self, ns):
-               print(_("Cleaning up everything..."))
+               self.ui.message(_("Cleaning up everything..."))
 
-               with self.pakfire(ns) as p:
-                       p.clean()
+               p = self.pakfire(ns)
+               p.clean()
 
        def handle_check(self, ns):
                with self.pakfire(ns) as p: