Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=366bae8374ae30fb841e9bb1a4136dd052850322
commit 366bae8374ae30fb841e9bb1a4136dd052850322 Author: Michel Hermier <[email protected]> Date: Thu May 9 12:32:06 2013 +0200 libpacman: Add new PM_PKG_DATABASE. diff --git a/doc/libpacman-changes.txt b/doc/libpacman-changes.txt index 747cfd1..3267a44 100644 --- a/doc/libpacman-changes.txt +++ b/doc/libpacman-changes.txt @@ -24,11 +24,12 @@ PM_LIST is now a flib FList meaning that pacman_list(3) API will be deprecated w ==== Symbols added: +PM_PKG_DATABASE: New package data accessor. PM_TRANS_FLAG_EXPLICIT: (internal) Specify the user added the package on purpose. ==== Symbols removed: -PM_PKG_DATA, PM_SYNC_DATA: Provided ambiguity in the API, returned value type was not consistant and was depending on other returned values. +PM_PKG_DATA, PM_SYNC_DATA: These data accessors provided ambiguity in the API, returning value type was not consistant and was depending on other returned values. PM_SYNC_TYPE_REPLACE, PM_SYNC_TYPE_UPGRADE, PM_SYNC_TYPE_DEPEND: One should use the PM_TRANS_TYPE_* equivalent instead. @@ -36,7 +37,7 @@ pacman_pkg_checkmd5sum, pacman_pkg_checksha1sum: Unused and broken since a while === Behaviour changes -None known. +PM_TRANS_CONV_REPLACE_PKG data3 third argument is now allways NULL, you can get the database and its name using PM_PKG_DATABASE. == AUTHORS diff --git a/lib/libpacman/package.c b/lib/libpacman/package.c index acc226e..0c0f4ec 100644 --- a/lib/libpacman/package.c +++ b/lib/libpacman/package.c @@ -558,6 +558,7 @@ void *_pacman_pkg_getinfo(pmpkg_t *pkg, unsigned char parm) } switch(parm) { + case PM_PKG_DATABASE: data = pkg->db; break; case PM_PKG_NAME: data = pkg->name; break; case PM_PKG_VERSION: data = pkg->version; break; case PM_PKG_DESC: data = pkg->desc; break; diff --git a/lib/libpacman/pacman.h b/lib/libpacman/pacman.h index 01aa58e..05372a8 100644 --- a/lib/libpacman/pacman.h +++ b/lib/libpacman/pacman.h @@ -167,7 +167,8 @@ PM_LIST *pacman_db_test(PM_DB *db); /* Info parameters */ enum { /* Desc entry */ - PM_PKG_NAME = 1, + PM_PKG_DATABASE, + PM_PKG_NAME, PM_PKG_VERSION, PM_PKG_DESC, PM_PKG_GROUPS, diff --git a/lib/libpacman/trans_sysupgrade.c b/lib/libpacman/trans_sysupgrade.c index b8b8cd7..10a786d 100644 --- a/lib/libpacman/trans_sysupgrade.c +++ b/lib/libpacman/trans_sysupgrade.c @@ -96,7 +96,7 @@ int _pacman_sync_sysupgrade(pmtrans_t *trans) } else { /* get confirmation for the replacement */ int doreplace = 0; - QUESTION(trans, PM_TRANS_CONV_REPLACE_PKG, lpkg, spkg, ((pmdb_t *)i->data)->treename, &doreplace); + QUESTION(trans, PM_TRANS_CONV_REPLACE_PKG, lpkg, spkg, NULL, &doreplace); if(doreplace) { /* if confirmed, add this to the 'final' list, designating 'lpkg' as diff --git a/src/pacman-g2/trans.c b/src/pacman-g2/trans.c index 8d15fde..1f28ea5 100644 --- a/src/pacman-g2/trans.c +++ b/src/pacman-g2/trans.c @@ -214,7 +214,7 @@ void cb_trans_conv(unsigned char event, void *data1, void *data2, void *data3, i } else { snprintf(str, LOG_STR_LEN, _(":: Replace %s with %s/%s? [Y/n] "), (char *)pacman_pkg_getinfo(data1, PM_PKG_NAME), - (char *)data3, + (char *)pacman_db_getinfo (pacman_pkg_getinfo (data2, PM_PKG_DATABASE), PM_DB_TREENAME), (char *)pacman_pkg_getinfo(data2, PM_PKG_NAME)); *response = yesno(str); } _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
