Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=87e64133e2b2f17a298dfebcea02064073b58f05
commit 87e64133e2b2f17a298dfebcea02064073b58f05 Author: Michel Hermier <[email protected]> Date: Thu May 8 08:03:28 2014 +0200 libpacman: Remove Database::remove in favour of Package::remove. diff --git a/lib/libpacman/db.cpp b/lib/libpacman/db.cpp index c57db7e..b600996 100644 --- a/lib/libpacman/db.cpp +++ b/lib/libpacman/db.cpp @@ -161,12 +161,6 @@ int Database::write(Package *info, unsigned int inforeq) RET_ERR(PM_ERR_WRONG_ARGS, -1); // Not supported } -int Database::remove(Package *info) -{ - ASSERT(info != NULL, RET_ERR(PM_ERR_PKG_INVALID, -1)); - RET_ERR(PM_ERR_WRONG_ARGS, -1); // Not supported -} - pmlist_t *Database::getowners(const char *filename) { return NULL; diff --git a/lib/libpacman/db.h b/lib/libpacman/db.h index bb8d2d7..31c1c14 100644 --- a/lib/libpacman/db.h +++ b/lib/libpacman/db.h @@ -60,7 +60,6 @@ public: virtual libpacman::Package *scan(const char *target, unsigned int inforeq) = 0; virtual int write(libpacman::Package *info, unsigned int inforeq); - virtual int remove(libpacman::Package *info); // Cache operations pmlist_t *search(pmlist_t *needles); diff --git a/lib/libpacman/db/localdb.cpp b/lib/libpacman/db/localdb.cpp index f145133..ad9f3d0 100644 --- a/lib/libpacman/db/localdb.cpp +++ b/lib/libpacman/db/localdb.cpp @@ -120,6 +120,18 @@ int LocalPackage::read(unsigned int flags) return 0; } +int LocalPackage::remove() +{ + char path[PATH_MAX]; + + snprintf(path, PATH_MAX, "%s/%s-%s", m_database->path, name(), version()); + if(_pacman_rmrf(path) == -1) { + return(-1); + } + + return(0); +} + LocalDatabase::LocalDatabase(libpacman::Handle *handle, const char *treename) : Database(handle, treename) { @@ -425,20 +437,6 @@ cleanup: return(retval); } -int LocalDatabase::remove(Package *info) -{ - char path[PATH_MAX]; - - ASSERT(info != NULL, RET_ERR(PM_ERR_PKG_INVALID, -1)); - - snprintf(path, PATH_MAX, "%s/%s-%s", this->path, info->name(), info->version()); - if(_pacman_rmrf(path) == -1) { - return(-1); - } - - return(0); -} - pmlist_t *LocalDatabase::getowners(const char *filename) { struct stat buf; diff --git a/lib/libpacman/db/localdb.h b/lib/libpacman/db/localdb.h index 53b06f3..3f7e6b9 100644 --- a/lib/libpacman/db/localdb.h +++ b/lib/libpacman/db/localdb.h @@ -41,6 +41,7 @@ public: virtual LocalDatabase *database() const; virtual int read(unsigned int flags); + virtual int remove(); }; class LocalDatabase @@ -59,7 +60,6 @@ public: virtual libpacman::Package *scan(const char *target, unsigned int inforeq); virtual int write(libpacman::Package *info, unsigned int inforeq); - virtual int remove(libpacman::Package *info); virtual pmlist_t *getowners(const char *filename); diff --git a/lib/libpacman/package.cpp b/lib/libpacman/package.cpp index 039cce7..3980ef5 100644 --- a/lib/libpacman/package.cpp +++ b/lib/libpacman/package.cpp @@ -283,9 +283,7 @@ int Package::write(unsigned int flags) int Package::remove() { - ASSERT(m_database != NULL, RET_ERR(PM_ERR_DB_NULL, -1)); - - return m_database->remove(this); + return -1; } int Package::filename(char *str, size_t size) const diff --git a/lib/libpacman/trans.cpp b/lib/libpacman/trans.cpp index aa92bef..0f6bec4 100644 --- a/lib/libpacman/trans.cpp +++ b/lib/libpacman/trans.cpp @@ -1286,7 +1286,7 @@ int _pacman_remove_commit(pmtrans_t *trans, pmlist_t **data) /* remove the package from the database */ _pacman_log(PM_LOG_FLOW1, _("updating database")); _pacman_log(PM_LOG_FLOW2, _("removing database entry '%s'"), pkg_local->name()); - if(db_local->remove(pkg_local) == -1) { + if(pkg_local->remove() == -1) { _pacman_log(PM_LOG_ERROR, _("could not remove database entry %s-%s"), pkg_local->name(), pkg_local->version()); } if(_pacman_db_remove_pkgfromcache(db_local, pkg_local) == -1) { _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
