}
static PyObject* Pakfire_clean(PakfireObject* self) {
- int r = pakfire_clean(self->pakfire);
+ int r = pakfire_clean(self->pakfire, 0);
if (r) {
PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
static PyObject* Repo_clean(RepoObject* self, PyObject* args) {
- int r = pakfire_repo_clean(self->repo);
+ int r = pakfire_repo_clean(self->repo, 0);
if (r) {
PyErr_SetFromErrno(PyExc_OSError);
// Automatically cleanup the repository
if (self->clean) {
- int r = pakfire_repo_clean(self->repo);
+ int r = pakfire_repo_clean(self->repo, 0);
if (r) {
PyErr_SetFromErrno(PyExc_OSError);
const char* pakfire_get_path(Pakfire pakfire);
-int pakfire_clean(Pakfire pakfire);
+int pakfire_clean(Pakfire pakfire, int flags);
int pakfire_bind(Pakfire pakfire, const char* src, const char* dst, int flags);
// Cache
-int pakfire_repo_clean(PakfireRepo repo);
+int pakfire_repo_clean(PakfireRepo repo, int flags);
// Scan
return __mount(pakfire, src, mountpoint, NULL, flags|MS_BIND, NULL);
}
-static int pakfire_foreach_repo(Pakfire pakfire, int (*func)(PakfireRepo repo)) {
+static int pakfire_foreach_repo(Pakfire pakfire,
+ int (*func)(PakfireRepo repo, int flags), int flags) {
PakfireRepo repo;
Repo* solv_repo;
return 1;
// Run callback
- r = func(repo);
+ r = func(repo, flags);
pakfire_repo_unref(repo);
// Raise any errors
return 0;
}
-PAKFIRE_EXPORT int pakfire_clean(Pakfire pakfire) {
- return pakfire_foreach_repo(pakfire, pakfire_repo_clean);
+PAKFIRE_EXPORT int pakfire_clean(Pakfire pakfire, int flags) {
+ return pakfire_foreach_repo(pakfire, pakfire_repo_clean, flags);
}
static int pakfire_copy(Pakfire pakfire, const char* src, const char* dst) {
return pakfire_archive_make_package(archive, repo);
}
-PAKFIRE_EXPORT int pakfire_repo_clean(PakfireRepo repo) {
+PAKFIRE_EXPORT int pakfire_repo_clean(PakfireRepo repo, int flags) {
char cache_path[PATH_MAX];
// Drop all meta-data from memory