diff options
Diffstat (limited to 'lib')
33 files changed, 288 insertions, 277 deletions
| diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c index bb704ae2..bbf9d532 100644 --- a/lib/libalpm/add.c +++ b/lib/libalpm/add.c @@ -112,7 +112,7 @@ int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)  	pmpkg_t *info = NULL;  	pmpkg_t *dummy;  	char pkgname[PKG_NAME_LEN], pkgver[PKG_VERSION_LEN]; -	PMList *i; +	pmlist_t *i;  	struct stat buf;  	ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1)); @@ -208,10 +208,10 @@ error:  	return(-1);  } -int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, PMList **data) +int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, pmlist_t **data)  { -	PMList *lp; -	PMList *rmlist = NULL; +	pmlist_t *lp; +	pmlist_t *rmlist = NULL;  	char rm_fname[PATH_MAX];  	pmpkg_t *info = NULL; @@ -273,7 +273,7 @@ int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, PMList **data)  	/* Check for file conflicts  	 */  	if(!(trans->flags & PM_TRANS_FLAG_FORCE)) { -		PMList *skiplist = NULL; +		pmlist_t *skiplist = NULL;  		EVENT(trans, PM_TRANS_EVT_FILECONFLICTS_START, NULL, NULL); @@ -314,7 +314,7 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)  	char expath[PATH_MAX], cwd[PATH_MAX] = "", *what;  	unsigned char cb_state;  	time_t t; -	PMList *targ, *lp; +	pmlist_t *targ, *lp;  	ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));  	ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1)); @@ -736,7 +736,7 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)  		 * looking for packages depending on the package to add */  		for(lp = _alpm_db_get_pkgcache(db); lp; lp = lp->next) {  			pmpkg_t *tmpp = lp->data; -			PMList *tmppm = NULL; +			pmlist_t *tmppm = NULL;  			if(tmpp == NULL) {  				continue;  			} @@ -782,7 +782,7 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)  			depinfo = _alpm_db_get_pkgfromcache(db, depend.name);  			if(depinfo == NULL) {  				/* look for a provides package */ -				PMList *provides = _alpm_db_whatprovides(db, depend.name); +				pmlist_t *provides = _alpm_db_whatprovides(db, depend.name);  				if(provides) {  					/* TODO: should check _all_ packages listed in provides, not just  					 *       the first one. diff --git a/lib/libalpm/add.h b/lib/libalpm/add.h index 2b945b22..9b77a2ca 100644 --- a/lib/libalpm/add.h +++ b/lib/libalpm/add.h @@ -26,7 +26,7 @@  #include "trans.h"  int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name); -int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, PMList **data); +int _alpm_add_prepare(pmtrans_t *trans, pmdb_t *db, pmlist_t **data);  int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db);  #endif /* _ALPM_ADD_H */ diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c index 95264831..9702ad95 100644 --- a/lib/libalpm/alpm.c +++ b/lib/libalpm/alpm.c @@ -100,7 +100,7 @@ int alpm_initialize(char *root)   */  int alpm_release()  { -	PMList *i; +	pmlist_t *i;  	ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1)); @@ -166,69 +166,17 @@ int alpm_get_option(unsigned char parm, long *data)  /** Register a package database   * @param treename the name of the repository - * @param callback a function to be called upon new database creation   * @return 0 on success, -1 on error (pm_errno is set accordingly)   */ -pmdb_t *alpm_db_register(char *treename, alpm_cb_db_register callback) +pmdb_t *alpm_db_register(char *treename)  { -	struct stat buf; -	pmdb_t *db; -	char path[PATH_MAX]; -  	/* Sanity checks */  	ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, NULL));  	ASSERT(treename != NULL && strlen(treename) != 0, RET_ERR(PM_ERR_WRONG_ARGS, NULL));  	/* Do not register a database if a transaction is on-going */  	ASSERT(handle->trans == NULL, RET_ERR(PM_ERR_TRANS_NOT_NULL, NULL)); -	if(strcmp(treename, "local") == 0) { -		if(handle->db_local != NULL) { -			_alpm_log(PM_LOG_WARNING, _("attempt to re-register the 'local' DB\n")); -			RET_ERR(PM_ERR_DB_NOT_NULL, NULL); -		} -	} else { -		PMList *i; -		for(i = handle->dbs_sync; i; i = i->next) { -			pmdb_t *sdb = i->data; -			if(strcmp(treename, sdb->treename) == 0) { -				_alpm_log(PM_LOG_DEBUG, _("attempt to re-register the '%s' databse, using existing\n"), sdb->treename); -				return sdb; -			} -		} -	} -	 -	_alpm_log(PM_LOG_FLOW1, _("registering database '%s'"), treename); - -	/* make sure the database directory exists */ -	snprintf(path, PATH_MAX, "%s%s/%s", handle->root, handle->dbpath, treename); -	if(stat(path, &buf) != 0 || !S_ISDIR(buf.st_mode)) { -		_alpm_log(PM_LOG_FLOW1, _("database directory '%s' does not exist -- try creating it"), path); -		if(_alpm_makepath(path) != 0) { -			RET_ERR(PM_ERR_SYSTEM, NULL); -		} -	} - -	db = _alpm_db_new(handle->root, handle->dbpath, treename); -	if(db == NULL) { -		RET_ERR(PM_ERR_DB_CREATE, NULL); -	} - -	_alpm_log(PM_LOG_DEBUG, _("opening database '%s'"), db->treename); -	if(_alpm_db_open(db) == -1) { -		_alpm_db_free(db); -		RET_ERR(PM_ERR_DB_OPEN, NULL); -	} - -	/* Only call callback on NEW registration. */ -	if(callback) callback(treename, db); - -	if(strcmp(treename, "local") == 0) { -		handle->db_local = db; -	} else { -		handle->dbs_sync = _alpm_list_add(handle->dbs_sync, db); -	} - -	return(db); +	return(_alpm_db_register(treename, NULL));  }  /** Unregister a package database @@ -324,7 +272,7 @@ int alpm_db_setserver(pmdb_t *db, char *url)  			found = 1;  		}  	} else { -		PMList *i; +		pmlist_t *i;  		for(i = handle->dbs_sync; i && !found; i = i->next) {  			pmdb_t *sdb = i->data;  			if(strcmp(db->treename, sdb->treename) == 0) { @@ -361,9 +309,9 @@ int alpm_db_setserver(pmdb_t *db, char *url)   */  int alpm_db_update(int force, PM_DB *db)  { -	PMList *lp; +	pmlist_t *lp;  	char path[PATH_MAX]; -	PMList *files = NULL; +	pmlist_t *files = NULL;  	char newmtime[16] = "";  	char lastupdate[16] = "";  	int ret; @@ -456,7 +404,7 @@ pmpkg_t *alpm_db_readpkg(pmdb_t *db, char *name)   * @param db pointer to the package database to get the package from   * @return the list of packages on success, NULL on error   */ -PMList *alpm_db_getpkgcache(pmdb_t *db) +pmlist_t *alpm_db_getpkgcache(pmdb_t *db)  {  	/* Sanity checks */  	ASSERT(handle != NULL, return(NULL)); @@ -470,7 +418,7 @@ PMList *alpm_db_getpkgcache(pmdb_t *db)   * @param name name of the package   * @return the list of packages on success, NULL on error   */ -PMList *alpm_db_whatprovides(pmdb_t *db, char *name) +pmlist_t *alpm_db_whatprovides(pmdb_t *db, char *name)  {  	/* Sanity checks */  	ASSERT(handle != NULL, return(NULL)); @@ -499,7 +447,7 @@ pmgrp_t *alpm_db_readgrp(pmdb_t *db, char *name)   * @param db pointer to the package database to get the group from   * @return the list of groups on success, NULL on error   */ -PMList *alpm_db_getgrpcache(pmdb_t *db) +pmlist_t *alpm_db_getgrpcache(pmdb_t *db)  {  	/* Sanity checks */  	ASSERT(handle != NULL, return(NULL)); @@ -624,6 +572,8 @@ void *alpm_pkg_getinfo(pmpkg_t *pkg, unsigned char parm)   */  int alpm_pkg_load(char *filename, pmpkg_t **pkg)  { +	_alpm_log(PM_LOG_FUNCTION, "enter alpm_pkg_load"); +  	/* Sanity checks */  	ASSERT(filename != NULL && strlen(filename) != 0, RET_ERR(PM_ERR_WRONG_ARGS, -1));  	ASSERT(pkg != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1)); @@ -643,6 +593,8 @@ int alpm_pkg_load(char *filename, pmpkg_t **pkg)   */  int alpm_pkg_free(pmpkg_t *pkg)  { +	_alpm_log(PM_LOG_FUNCTION, "enter alpm_pkg_free"); +  	ASSERT(pkg != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1));  	/* Only free packages loaded in user space */ @@ -822,7 +774,7 @@ void *alpm_sync_getinfo(pmsyncpkg_t *sync, unsigned char parm)   * @param db pointer to the package database to search in   * @return the list of packages on success, NULL on error   */ -PMList *alpm_db_search(pmdb_t *db) +pmlist_t *alpm_db_search(pmdb_t *db)  {  	/* Sanity checks */  	ASSERT(handle != NULL, return(NULL)); @@ -940,7 +892,7 @@ int alpm_trans_addtarget(char *target)   * of an error can be dumped (ie. list of conflicting files)   * @return 0 on success, -1 on error (pm_errno is set accordingly)   */ -int alpm_trans_prepare(PMList **data) +int alpm_trans_prepare(pmlist_t **data)  {  	/* Sanity checks */  	ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1)); @@ -957,7 +909,7 @@ int alpm_trans_prepare(PMList **data)   * of an error can be dumped (ie. list of conflicting files)   * @return 0 on success, -1 on error (pm_errno is set accordingly)   */ -int alpm_trans_commit(PMList **data) +int alpm_trans_commit(pmlist_t **data)  {  	/* Sanity checks */  	ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1)); @@ -1122,7 +1074,7 @@ int alpm_logaction(char *fmt, ...)   * @param list the list   * @return the first element   */ -PMList *alpm_list_first(PMList *list) +pmlist_t *alpm_list_first(pmlist_t *list)  {  	return(list);  } @@ -1131,7 +1083,7 @@ PMList *alpm_list_first(PMList *list)   * @param entry the list entry   * @return the next element on success, NULL on error   */ -PMList *alpm_list_next(PMList *entry) +pmlist_t *alpm_list_next(pmlist_t *entry)  {  	ASSERT(entry != NULL, return(NULL)); @@ -1142,7 +1094,7 @@ PMList *alpm_list_next(PMList *entry)   * @param entry the list entry   * @return the data on success, NULL on error   */ -void *alpm_list_getdata(PMList *entry) +void *alpm_list_getdata(pmlist_t *entry)  {  	ASSERT(entry != NULL, return(NULL)); @@ -1153,7 +1105,7 @@ void *alpm_list_getdata(PMList *entry)   * @param entry list to free   * @return 0 on success, -1 on error   */ -int alpm_list_free(PMList *entry) +int alpm_list_free(pmlist_t *entry)  {  	ASSERT(entry != NULL, return(-1)); @@ -1166,7 +1118,7 @@ int alpm_list_free(PMList *entry)   * @param list the list to count   * @return number of entries on success, NULL on error   */ -int alpm_list_count(PMList *list) +int alpm_list_count(pmlist_t *list)  {  	ASSERT(list != NULL, return(-1)); @@ -1235,7 +1187,7 @@ int alpm_parse_config(char *file, alpm_cb_db_register callback, const char *this  	if(this_section != NULL && strlen(this_section) > 0) {  		strncpy(section, this_section, min(255, strlen(this_section))); -		db = alpm_db_register(section, callback); +		db = _alpm_db_register(section, callback);  	}  	while(fgets(line, PATH_MAX, fp)) { @@ -1258,7 +1210,7 @@ int alpm_parse_config(char *file, alpm_cb_db_register callback, const char *this  				RET_ERR(PM_ERR_CONF_LOCAL, -1);  			}  			if(strcmp(section, "options")) { -				db = alpm_db_register(section, callback); +				db = _alpm_db_register(section, callback);  				if(db == NULL) {  					/* pm_errno is set by alpm_db_register */  					return(-1); diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 3807b11e..638bb57b 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -134,7 +134,7 @@ enum {  /* Database registration callback */  typedef void (*alpm_cb_db_register)(char *, PM_DB *); -PM_DB *alpm_db_register(char *treename, alpm_cb_db_register); +PM_DB *alpm_db_register(char *treename);  int alpm_db_unregister(PM_DB *db);  void *alpm_db_getinfo(PM_DB *db, unsigned char parm); diff --git a/lib/libalpm/backup.c b/lib/libalpm/backup.c index 9c79a141..1c969835 100644 --- a/lib/libalpm/backup.c +++ b/lib/libalpm/backup.c @@ -31,9 +31,9 @@  /* Look for a filename in a pmpkg_t.backup list.  If we find it,   * then we return the md5 or sha1 hash (parsed from the same line)   */ -char *_alpm_needbackup(char *file, PMList *backup) +char *_alpm_needbackup(char *file, pmlist_t *backup)  { -	PMList *lp; +	pmlist_t *lp;  	if(file == NULL || backup == NULL) {  		return(NULL); diff --git a/lib/libalpm/backup.h b/lib/libalpm/backup.h index 90125319..b1aa434c 100644 --- a/lib/libalpm/backup.h +++ b/lib/libalpm/backup.h @@ -23,7 +23,7 @@  #include "list.h" -char *_alpm_needbackup(char *file, PMList *backup); +char *_alpm_needbackup(char *file, pmlist_t *backup);  #endif /* _ALPM_BACKUP_H */ diff --git a/lib/libalpm/be_files.c b/lib/libalpm/be_files.c index 7f273821..128ba77d 100644 --- a/lib/libalpm/be_files.c +++ b/lib/libalpm/be_files.c @@ -165,7 +165,7 @@ int _alpm_db_read(pmdb_t *db, unsigned int inforeq, pmpkg_t *info)  	char path[PATH_MAX];  	char line[512];  	char *lang_tmp; -	PMList *tmplist; +	pmlist_t *tmplist;  	char *foo;  	if(db == NULL || info == NULL || info->name[0] == 0 || info->version[0] == 0) { @@ -410,7 +410,7 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, unsigned int inforeq)  	FILE *fp = NULL;  	char path[PATH_MAX];  	mode_t oldmask; -	PMList *lp = NULL; +	pmlist_t *lp = NULL;  	int retval = 0;  	int local = 0; diff --git a/lib/libalpm/cache.c b/lib/libalpm/cache.c index 3c844b49..1115d111 100644 --- a/lib/libalpm/cache.c +++ b/lib/libalpm/cache.c @@ -82,7 +82,7 @@ void _alpm_db_free_pkgcache(pmdb_t *db)  	}  } -PMList *_alpm_db_get_pkgcache(pmdb_t *db) +pmlist_t *_alpm_db_get_pkgcache(pmdb_t *db)  {  	if(db == NULL) {  		return(NULL); @@ -150,7 +150,7 @@ pmpkg_t *_alpm_db_get_pkgfromcache(pmdb_t *db, char *target)   */  int _alpm_db_load_grpcache(pmdb_t *db)  { -	PMList *lp; +	pmlist_t *lp;  	if(db == NULL) {  		return(-1); @@ -163,7 +163,7 @@ int _alpm_db_load_grpcache(pmdb_t *db)  	_alpm_log(PM_LOG_DEBUG, _("loading group cache for repository '%s'"), db->treename);  	for(lp = db->pkgcache; lp; lp = lp->next) { -		PMList *i; +		pmlist_t *i;  		pmpkg_t *pkg = lp->data;  		if(!(pkg->infolevel & INFRQ_DESC)) { @@ -178,7 +178,7 @@ int _alpm_db_load_grpcache(pmdb_t *db)  				grp->packages = _alpm_list_add_sorted(grp->packages, pkg->name, _alpm_grp_cmp);  				db->grpcache = _alpm_list_add_sorted(db->grpcache, grp, _alpm_grp_cmp);  			} else { -				PMList *j; +				pmlist_t *j;  				for(j = db->grpcache; j; j = j->next) {  					pmgrp_t *grp = j->data; @@ -198,7 +198,7 @@ int _alpm_db_load_grpcache(pmdb_t *db)  void _alpm_db_free_grpcache(pmdb_t *db)  { -	PMList *lg; +	pmlist_t *lg;  	if(db == NULL || db->grpcache == NULL) {  		return; @@ -213,7 +213,7 @@ void _alpm_db_free_grpcache(pmdb_t *db)  	FREELIST(db->grpcache);  } -PMList *_alpm_db_get_grpcache(pmdb_t *db) +pmlist_t *_alpm_db_get_grpcache(pmdb_t *db)  {  	if(db == NULL) {  		return(NULL); @@ -228,7 +228,7 @@ PMList *_alpm_db_get_grpcache(pmdb_t *db)  pmgrp_t *_alpm_db_get_grpfromcache(pmdb_t *db, char *target)  { -	PMList *i; +	pmlist_t *i;  	if(db == NULL || target == NULL || strlen(target) == 0) {  		return(NULL); diff --git a/lib/libalpm/cache.h b/lib/libalpm/cache.h index c1ab844e..e6572970 100644 --- a/lib/libalpm/cache.h +++ b/lib/libalpm/cache.h @@ -31,12 +31,12 @@ int _alpm_db_load_pkgcache(pmdb_t *db);  void _alpm_db_free_pkgcache(pmdb_t *db);  int _alpm_db_add_pkgincache(pmdb_t *db, pmpkg_t *pkg);  int _alpm_db_remove_pkgfromcache(pmdb_t *db, pmpkg_t *pkg); -PMList *_alpm_db_get_pkgcache(pmdb_t *db); +pmlist_t *_alpm_db_get_pkgcache(pmdb_t *db);  pmpkg_t *_alpm_db_get_pkgfromcache(pmdb_t *db, char *target);  /* groups */  int _alpm_db_load_grpcache(pmdb_t *db);  void _alpm_db_free_grpcache(pmdb_t *db); -PMList *_alpm_db_get_grpcache(pmdb_t *db); +pmlist_t *_alpm_db_get_grpcache(pmdb_t *db);  pmgrp_t *_alpm_db_get_grpfromcache(pmdb_t *db, char *target);  #endif /* _ALPM_CACHE_H */ diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c index 9b6e3124..6e7f0126 100644 --- a/lib/libalpm/conflict.c +++ b/lib/libalpm/conflict.c @@ -42,15 +42,15 @@  #include "deps.h"  #include "conflict.h" -/* Returns a PMList* of pmdepmissing_t pointers. +/* Returns a pmlist_t* of pmdepmissing_t pointers.   *   * conflicts are always name only   */ -PMList *_alpm_checkconflicts(pmdb_t *db, PMList *packages) +pmlist_t *_alpm_checkconflicts(pmdb_t *db, pmlist_t *packages)  {  	pmpkg_t *info = NULL; -	PMList *i, *j, *k; -	PMList *baddeps = NULL; +	pmlist_t *i, *j, *k; +	pmlist_t *baddeps = NULL;  	pmdepmissing_t *miss = NULL;  	if(db == NULL) { @@ -88,7 +88,7 @@ PMList *_alpm_checkconflicts(pmdb_t *db, PMList *packages)  					}  				} else {  					/* see if dp provides something in tp's conflict list */ -					PMList *m; +					pmlist_t *m;  					for(m = dp->provides; m; m = m->next) {  						if(!strcmp(m->data, j->data)) {  							/* confict */ @@ -124,7 +124,7 @@ PMList *_alpm_checkconflicts(pmdb_t *db, PMList *packages)  					}  				} else {  					/* see if otp provides something in tp's conflict list */  -					PMList *m; +					pmlist_t *m;  					for(m = otp->provides; m; m = m->next) {  						if(!strcmp(m->data, j->data)) {  							_alpm_log(PM_LOG_DEBUG, _("targs vs targs: found %s as a conflict for %s"), @@ -143,7 +143,7 @@ PMList *_alpm_checkconflicts(pmdb_t *db, PMList *packages)  		/* CHECK 3: check database against targets */  		_alpm_log(PM_LOG_DEBUG, _("checkconflicts: db vs targ '%s'"), tp->name);  		for(k = _alpm_db_get_pkgcache(db); k; k = k->next) { -			PMList *conflicts = NULL; +			pmlist_t *conflicts = NULL;  			int usenewconflicts = 0;  			info = k->data; @@ -151,7 +151,7 @@ PMList *_alpm_checkconflicts(pmdb_t *db, PMList *packages)  				/* a package cannot conflict with itself -- that's just not nice */  				continue;  			} -			/* If this package (*info) is also in our packages PMList, use the +			/* If this package (*info) is also in our packages pmlist_t, use the  			 * conflicts list from the new package, not the old one (*info)  			 */  			for(j = packages; j; j = j->next) { @@ -178,9 +178,9 @@ PMList *_alpm_checkconflicts(pmdb_t *db, PMList *packages)  					}  				} else {  					/* see if the db package conflicts with something we provide */ -					PMList *m; +					pmlist_t *m;  					for(m = conflicts; m; m = m->next) { -						PMList *n; +						pmlist_t *n;  						for(n = tp->provides; n; n = n->next) {  							if(!strcmp(m->data, n->data)) {  								_alpm_log(PM_LOG_DEBUG, _("db vs targs: found %s as a conflict for %s"), @@ -202,14 +202,14 @@ PMList *_alpm_checkconflicts(pmdb_t *db, PMList *packages)  	return(baddeps);  } -PMList *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root, PMList **skip_list) +pmlist_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root, pmlist_t **skip_list)  { -	PMList *i, *j, *k; +	pmlist_t *i, *j, *k;  	char *filestr = NULL;  	char path[PATH_MAX+1];  	struct stat buf, buf2; -	PMList *conflicts = NULL; -	PMList *targets = trans->packages; +	pmlist_t *conflicts = NULL; +	pmlist_t *targets = trans->packages;  	double percent;  	if(db == NULL || targets == NULL || root == NULL) { diff --git a/lib/libalpm/conflict.h b/lib/libalpm/conflict.h index 5c40af27..a47a585e 100644 --- a/lib/libalpm/conflict.h +++ b/lib/libalpm/conflict.h @@ -32,8 +32,8 @@ typedef struct __pmconflict_t {  	char ctarget[PKG_NAME_LEN];  } pmconflict_t; -PMList *_alpm_checkconflicts(pmdb_t *db, PMList *packages); -PMList *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root, PMList **skip_list); +pmlist_t *_alpm_checkconflicts(pmdb_t *db, pmlist_t *packages); +pmlist_t *_alpm_db_find_conflicts(pmdb_t *db, pmtrans_t *trans, char *root, pmlist_t **skip_list);  #endif /* _ALPM_CONFLICT_H */ diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c index 668628b4..2bbc4a4b 100644 --- a/lib/libalpm/db.c +++ b/lib/libalpm/db.c @@ -59,14 +59,14 @@ pmdb_t *_alpm_db_new(char *root, char* dbpath, char *treename)  	db = (pmdb_t *)malloc(sizeof(pmdb_t));  	if(db == NULL) {  		_alpm_log(PM_LOG_ERROR, _("malloc failed: could not allocate %d bytes"), -				sizeof(pmdb_t)); +				  sizeof(pmdb_t));  		RET_ERR(PM_ERR_MEMORY, NULL);  	}  	db->path = (char *)malloc(strlen(root)+strlen(dbpath)+strlen(treename)+2);  	if(db->path == NULL) {  		_alpm_log(PM_LOG_ERROR, _("malloc failed: could not allocate %d bytes"), -				strlen(root)+strlen(dbpath)+strlen(treename)+2); +				  strlen(root)+strlen(dbpath)+strlen(treename)+2);  		FREE(db);  		RET_ERR(PM_ERR_MEMORY, NULL);  	} @@ -97,9 +97,9 @@ int _alpm_db_cmp(const void *db1, const void *db2)  	return(strcmp(((pmdb_t *)db1)->treename, ((pmdb_t *)db2)->treename));  } -PMList *_alpm_db_search(pmdb_t *db, PMList *needles) +pmlist_t *_alpm_db_search(pmdb_t *db, pmlist_t *needles)  { -	PMList *i, *j, *k, *ret = NULL; +	pmlist_t *i, *j, *k, *ret = NULL;  	for(i = needles; i; i = i->next) {  		char *targ; @@ -109,6 +109,7 @@ PMList *_alpm_db_search(pmdb_t *db, PMList *needles)  			continue;  		}  		targ = strdup(i->data); +		_alpm_log(PM_LOG_DEBUG, "searching for target '%s'\n", targ);  		for(j = _alpm_db_get_pkgcache(db); j; j = j->next) {  			pmpkg_t *pkg = j->data; @@ -123,7 +124,9 @@ PMList *_alpm_db_search(pmdb_t *db, PMList *needles)  				FREE(haystack);  				return(NULL);  			} else if(retval) { +				_alpm_log(PM_LOG_DEBUG, "    search target '%s' matched '%s'", targ, haystack);  				match = 1; +			} else {  			}  			FREE(haystack); @@ -167,4 +170,60 @@ PMList *_alpm_db_search(pmdb_t *db, PMList *needles)  	return(ret);  } -/* vim: set ts=2 sw=2 noet: */ + +pmdb_t *_alpm_db_register(char *treename, alpm_cb_db_register callback) +{ +	struct stat buf; +	pmdb_t *db; +	char path[PATH_MAX]; + +	if(strcmp(treename, "local") == 0) { +		if(handle->db_local != NULL) { +			_alpm_log(PM_LOG_WARNING, _("attempt to re-register the 'local' DB\n")); +			RET_ERR(PM_ERR_DB_NOT_NULL, NULL); +		} +	} else { +		pmlist_t *i; +		for(i = handle->dbs_sync; i; i = i->next) { +			pmdb_t *sdb = i->data; +			if(strcmp(treename, sdb->treename) == 0) { +				_alpm_log(PM_LOG_DEBUG, _("attempt to re-register the '%s' databse, using existing\n"), sdb->treename); +				return sdb; +			} +		} +	} +	 +	_alpm_log(PM_LOG_FLOW1, _("registering database '%s'"), treename); + +	/* make sure the database directory exists */ +	snprintf(path, PATH_MAX, "%s%s/%s", handle->root, handle->dbpath, treename); +	if(stat(path, &buf) != 0 || !S_ISDIR(buf.st_mode)) { +		_alpm_log(PM_LOG_FLOW1, _("database directory '%s' does not exist -- try creating it"), path); +		if(_alpm_makepath(path) != 0) { +			RET_ERR(PM_ERR_SYSTEM, NULL); +		} +	} + +	db = _alpm_db_new(handle->root, handle->dbpath, treename); +	if(db == NULL) { +		RET_ERR(PM_ERR_DB_CREATE, NULL); +	} + +	_alpm_log(PM_LOG_DEBUG, _("opening database '%s'"), db->treename); +	if(_alpm_db_open(db) == -1) { +		_alpm_db_free(db); +		RET_ERR(PM_ERR_DB_OPEN, NULL); +	} + +	/* Only call callback on NEW registration. */ +	if(callback) callback(treename, db); + +	if(strcmp(treename, "local") == 0) { +		handle->db_local = db; +	} else { +		handle->dbs_sync = _alpm_list_add(handle->dbs_sync, db); +	} + +	return(db); +} +/* vim: set noet: */ diff --git a/lib/libalpm/db.h b/lib/libalpm/db.h index a374e096..571bf2ee 100644 --- a/lib/libalpm/db.h +++ b/lib/libalpm/db.h @@ -25,6 +25,7 @@  #include <limits.h>  #include "package.h" +#include "alpm.h"  /* Database entries */  #define INFRQ_NONE     0x00 @@ -41,15 +42,15 @@ typedef struct __pmdb_t {  	char *path;  	char treename[PATH_MAX];  	void *handle; -	PMList *pkgcache; -	PMList *grpcache; -	PMList *servers; +	pmlist_t *pkgcache; +	pmlist_t *grpcache; +	pmlist_t *servers;  } pmdb_t;  pmdb_t *_alpm_db_new(char *root, char *dbpath, char *treename);  void _alpm_db_free(void *data);  int _alpm_db_cmp(const void *db1, const void *db2); -PMList *_alpm_db_search(pmdb_t *db, PMList *needles); +pmlist_t *_alpm_db_search(pmdb_t *db, pmlist_t *needles);  /* Prototypes for backends functions */  int _alpm_db_open(pmdb_t *db);  void _alpm_db_close(pmdb_t *db); @@ -60,6 +61,7 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, unsigned int inforeq);  int _alpm_db_remove(pmdb_t *db, pmpkg_t *info);  int _alpm_db_getlastupdate(pmdb_t *db, char *ts);  int _alpm_db_setlastupdate(pmdb_t *db, char *ts); +pmdb_t *_alpm_db_register(char *treename, alpm_cb_db_register callback);  #endif /* _ALPM_DB_H */ diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c index f709096d..8249c651 100644 --- a/lib/libalpm/deps.c +++ b/lib/libalpm/deps.c @@ -68,9 +68,9 @@ pmdepmissing_t *_alpm_depmiss_new(const char *target, unsigned char type, unsign  	return(miss);  } -int _alpm_depmiss_isin(pmdepmissing_t *needle, PMList *haystack) +int _alpm_depmiss_isin(pmdepmissing_t *needle, pmlist_t *haystack)  { -	PMList *i; +	pmlist_t *i;  	for(i = haystack; i; i = i->next) {  		pmdepmissing_t *miss = i->data; @@ -95,13 +95,13 @@ int _alpm_depmiss_isin(pmdepmissing_t *needle, PMList *haystack)   * mode should be either PM_TRANS_TYPE_ADD or PM_TRANS_TYPE_REMOVE.  This   * affects the dependency order sortbydeps() will use.   * - * This function returns the new PMList* target list. + * This function returns the new pmlist_t* target list.   *   */  -PMList *_alpm_sortbydeps(PMList *targets, int mode) +pmlist_t *_alpm_sortbydeps(pmlist_t *targets, int mode)  { -	PMList *newtargs = NULL; -	PMList *i, *j, *k, *l; +	pmlist_t *newtargs = NULL; +	pmlist_t *i, *j, *k, *l;  	int change = 1;  	int numscans = 0;  	int numtargs = 0; @@ -117,7 +117,7 @@ PMList *_alpm_sortbydeps(PMList *targets, int mode)  	_alpm_log(PM_LOG_DEBUG, _("started sorting dependencies"));  	while(change) { -		PMList *tmptargs = NULL; +		pmlist_t *tmptargs = NULL;  		change = 0;  		if(numscans > sqrt(numtargs)) {  			_alpm_log(PM_LOG_DEBUG, _("possible dependency cycle detected")); @@ -167,7 +167,7 @@ PMList *_alpm_sortbydeps(PMList *targets, int mode)  	if(mode == PM_TRANS_TYPE_REMOVE) {  		/* we're removing packages, so reverse the order */ -		PMList *tmptargs = _alpm_list_reverse(newtargs); +		pmlist_t *tmptargs = _alpm_list_reverse(newtargs);  		/* free the old one */  		FREELISTPTR(newtargs);  		newtargs = tmptargs; @@ -176,18 +176,18 @@ PMList *_alpm_sortbydeps(PMList *targets, int mode)  	return(newtargs);  } -/* Returns a PMList* of missing_t pointers. +/* Returns a pmlist_t* of missing_t pointers.   *   * dependencies can include versions with depmod operators.   *   */ -PMList *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, unsigned char op, PMList *packages) +pmlist_t *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, unsigned char op, pmlist_t *packages)  {  	pmdepend_t depend; -	PMList *i, *j, *k; +	pmlist_t *i, *j, *k;  	int cmp;  	int found = 0; -	PMList *baddeps = NULL; +	pmlist_t *baddeps = NULL;  	pmdepmissing_t *miss = NULL;  	if(db == NULL) { @@ -229,7 +229,7 @@ PMList *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, unsigned char op, PMList *  				}  				if(found == 0) {  					/* look for packages that list depend.name as a "provide" */ -					PMList *provides = _alpm_db_whatprovides(db, depend.name); +					pmlist_t *provides = _alpm_db_whatprovides(db, depend.name);  					if(provides == NULL) {  						/* not found */  						continue; @@ -462,15 +462,15 @@ int _alpm_splitdep(char *depstr, pmdepend_t *depend)  	return(0);  } -/* return a new PMList target list containing all packages in the original +/* return a new pmlist_t target list containing all packages in the original   * target list, as well as all their un-needed dependencies.  By un-needed,   * I mean dependencies that are *only* required for packages in the target   * list, so they can be safely removed.  This function is recursive.   */ -PMList *_alpm_removedeps(pmdb_t *db, PMList *targs) +pmlist_t *_alpm_removedeps(pmdb_t *db, pmlist_t *targs)  { -	PMList *i, *j, *k; -	PMList *newtargs = targs; +	pmlist_t *i, *j, *k; +	pmlist_t *newtargs = targs;  	if(db == NULL) {  		return(newtargs); @@ -542,12 +542,12 @@ PMList *_alpm_removedeps(pmdb_t *db, PMList *targs)   *   * make sure *list and *trail are already initialized   */ -int _alpm_resolvedeps(pmdb_t *local, PMList *dbs_sync, pmpkg_t *syncpkg, PMList *list, -                      PMList *trail, pmtrans_t *trans, PMList **data) +int _alpm_resolvedeps(pmdb_t *local, pmlist_t *dbs_sync, pmpkg_t *syncpkg, pmlist_t *list, +                      pmlist_t *trail, pmtrans_t *trans, pmlist_t **data)  { -	PMList *i, *j; -	PMList *targ; -	PMList *deps = NULL; +	pmlist_t *i, *j; +	pmlist_t *targ; +	pmlist_t *deps = NULL;  	if(local == NULL || dbs_sync == NULL || syncpkg == NULL) {  		return(-1); @@ -586,7 +586,7 @@ int _alpm_resolvedeps(pmdb_t *local, PMList *dbs_sync, pmpkg_t *syncpkg, PMList  		}  		/* check provides */  		for(j = dbs_sync; !sync && j; j = j->next) { -			PMList *provides; +			pmlist_t *provides;  			provides = _alpm_db_whatprovides(j->data, miss->depend.name);  			if(provides) {  				sync = provides->data; diff --git a/lib/libalpm/deps.h b/lib/libalpm/deps.h index ffd848ea..030020a9 100644 --- a/lib/libalpm/deps.h +++ b/lib/libalpm/deps.h @@ -40,13 +40,13 @@ typedef struct __pmdepmissing_t {  pmdepmissing_t *_alpm_depmiss_new(const char *target, unsigned char type, unsigned char depmod,                              const char *depname, const char *depversion); -int _alpm_depmiss_isin(pmdepmissing_t *needle, PMList *haystack); -PMList *_alpm_sortbydeps(PMList *targets, int mode); -PMList *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, unsigned char op, PMList *packages); +int _alpm_depmiss_isin(pmdepmissing_t *needle, pmlist_t *haystack); +pmlist_t *_alpm_sortbydeps(pmlist_t *targets, int mode); +pmlist_t *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, unsigned char op, pmlist_t *packages);  int _alpm_splitdep(char *depstr, pmdepend_t *depend); -PMList *_alpm_removedeps(pmdb_t *db, PMList *targs); -int _alpm_resolvedeps(pmdb_t *local, PMList *dbs_sync, pmpkg_t *syncpkg, PMList *list, -                PMList *trail, pmtrans_t *trans, PMList **data); +pmlist_t *_alpm_removedeps(pmdb_t *db, pmlist_t *targs); +int _alpm_resolvedeps(pmdb_t *local, pmlist_t *dbs_sync, pmpkg_t *syncpkg, pmlist_t *list, +                pmlist_t *trail, pmtrans_t *trans, pmlist_t **data);  #endif /* _ALPM_DEPS_H */ diff --git a/lib/libalpm/group.h b/lib/libalpm/group.h index e36d3603..bb3de2a5 100644 --- a/lib/libalpm/group.h +++ b/lib/libalpm/group.h @@ -28,7 +28,7 @@  /* Groups structure */  typedef struct __pmgrp_t {  	char name[GRP_NAME_LEN]; -	PMList *packages; /* List of strings */ +	pmlist_t *packages; /* List of strings */  } pmgrp_t;  #define FREEGRP(p) do { if(p) { _alpm_grp_free(p); p = NULL; } } while(0) diff --git a/lib/libalpm/handle.h b/lib/libalpm/handle.h index b50e5800..0bd37afd 100644 --- a/lib/libalpm/handle.h +++ b/lib/libalpm/handle.h @@ -35,7 +35,7 @@ typedef struct __pmhandle_t {  	pmaccess_t access;  	uid_t uid;  	pmdb_t *db_local; -	PMList *dbs_sync; /* List of (pmdb_t *) */ +	pmlist_t *dbs_sync; /* List of (pmdb_t *) */  	FILE *logfd;  	int lckfd;  	pmtrans_t *trans; @@ -44,10 +44,10 @@ typedef struct __pmhandle_t {  	char *dbpath;  	char *cachedir;  	char *logfile; -	PMList *noupgrade; /* List of strings */ -	PMList *noextract; /* List of strings */ -	PMList *ignorepkg; /* List of strings */ -	PMList *holdpkg; /* List of strings */ +	pmlist_t *noupgrade; /* List of strings */ +	pmlist_t *noextract; /* List of strings */ +	pmlist_t *ignorepkg; /* List of strings */ +	pmlist_t *holdpkg; /* List of strings */  	unsigned char usesyslog;  	time_t upgradedelay;  	/* servers */ @@ -56,7 +56,7 @@ typedef struct __pmhandle_t {  	char *xfercommand;  	unsigned short nopassiveftp;  	unsigned short chomp; /* if eye-candy features should be enabled or not */ -	PMList *needles; /* for searching */ +	pmlist_t *needles; /* for searching */  } pmhandle_t;  #define FREEHANDLE(p) do { if (p) { _alpm_handle_free(p); p = NULL; } } while (0) diff --git a/lib/libalpm/list.c b/lib/libalpm/list.c index 0e1c9426..be41a462 100644 --- a/lib/libalpm/list.c +++ b/lib/libalpm/list.c @@ -27,11 +27,11 @@  /* pacman */  #include "list.h" -PMList *_alpm_list_new() +pmlist_t *_alpm_list_new()  { -	PMList *list = NULL; +	pmlist_t *list = NULL; -	list = (PMList *)malloc(sizeof(PMList)); +	list = (pmlist_t *)malloc(sizeof(pmlist_t));  	if(list == NULL) {  		return(NULL);  	} @@ -42,9 +42,9 @@ PMList *_alpm_list_new()  	return(list);  } -void _alpm_list_free(PMList *list, _alpm_fn_free fn) +void _alpm_list_free(pmlist_t *list, _alpm_fn_free fn)  { -	PMList *ptr, *it = list; +	pmlist_t *ptr, *it = list;  	while(it) {  		ptr = it->next; @@ -56,9 +56,9 @@ void _alpm_list_free(PMList *list, _alpm_fn_free fn)  	}  } -PMList *_alpm_list_add(PMList *list, void *data) +pmlist_t *_alpm_list_add(pmlist_t *list, void *data)  { -	PMList *ptr, *lp; +	pmlist_t *ptr, *lp;  	ptr = list;  	if(ptr == NULL) { @@ -90,11 +90,11 @@ PMList *_alpm_list_add(PMList *list, void *data)  /* Add items to a list in sorted order. Use the given comparision func to    * determine order.   */ -PMList *_alpm_list_add_sorted(PMList *list, void *data, _alpm_fn_cmp fn) +pmlist_t *_alpm_list_add_sorted(pmlist_t *list, void *data, _alpm_fn_cmp fn)  { -	PMList *add; -	PMList *prev = NULL; -	PMList *iter = list; +	pmlist_t *add; +	pmlist_t *prev = NULL; +	pmlist_t *iter = list;  	add = _alpm_list_new();  	add->data = data; @@ -139,9 +139,9 @@ PMList *_alpm_list_add_sorted(PMList *list, void *data, _alpm_fn_cmp fn)   * Otherwise, it is set to NULL.   * Return the new list (without the removed element).   */ -PMList *_alpm_list_remove(PMList *haystack, void *needle, _alpm_fn_cmp fn, void **data) +pmlist_t *_alpm_list_remove(pmlist_t *haystack, void *needle, _alpm_fn_cmp fn, void **data)  { -	PMList *i = haystack; +	pmlist_t *i = haystack;  	if(data) {  		*data = NULL; @@ -186,19 +186,19 @@ PMList *_alpm_list_remove(PMList *haystack, void *needle, _alpm_fn_cmp fn, void  	return(haystack);  } -int _alpm_list_count(PMList *list) +int _alpm_list_count(pmlist_t *list)  {  	int i; -	PMList *lp; +	pmlist_t *lp;  	for(lp = list, i = 0; lp; lp = lp->next, i++);  	return(i);  } -int _alpm_list_is_in(void *needle, PMList *haystack) +int _alpm_list_is_in(void *needle, pmlist_t *haystack)  { -	PMList *lp; +	pmlist_t *lp;  	for(lp = haystack; lp; lp = lp->next) {  		if(lp->data == needle) { @@ -208,11 +208,11 @@ int _alpm_list_is_in(void *needle, PMList *haystack)  	return(0);  } -/* Test for existence of a string in a PMList +/* Test for existence of a string in a pmlist_t   */ -int _alpm_list_is_strin(char *needle, PMList *haystack) +int _alpm_list_is_strin(char *needle, pmlist_t *haystack)  { -	PMList *lp; +	pmlist_t *lp;  	for(lp = haystack; lp; lp = lp->next) {  		if(lp->data && !strcmp(lp->data, needle)) { @@ -222,7 +222,7 @@ int _alpm_list_is_strin(char *needle, PMList *haystack)  	return(0);  } -PMList *_alpm_list_last(PMList *list) +pmlist_t *_alpm_list_last(pmlist_t *list)  {  	if(list == NULL) {  		return(NULL); @@ -239,9 +239,9 @@ PMList *_alpm_list_last(PMList *list)   * a new list, using is_in() to check for dupes at each iteration.   *   */ -PMList *_alpm_list_remove_dupes(PMList *list) +pmlist_t *_alpm_list_remove_dupes(pmlist_t *list)  { -	PMList *i, *newlist = NULL; +	pmlist_t *i, *newlist = NULL;  	for(i = list; i; i = i->next) {  		if(!_alpm_list_is_strin(i->data, newlist)) { @@ -255,13 +255,13 @@ PMList *_alpm_list_remove_dupes(PMList *list)   *   * The caller is responsible for freeing the old list   */ -PMList *_alpm_list_reverse(PMList *list) +pmlist_t *_alpm_list_reverse(pmlist_t *list)  {   	/* simple but functional -- we just build a new list, starting  	 * with the old list's tail  	 */ -	PMList *newlist = NULL; -	PMList *lp; +	pmlist_t *newlist = NULL; +	pmlist_t *lp;  	for(lp = list->last; lp; lp = lp->prev) {  		newlist = _alpm_list_add(newlist, lp->data); @@ -270,10 +270,10 @@ PMList *_alpm_list_reverse(PMList *list)  	return(newlist);  } -PMList *_alpm_list_strdup(PMList *list) +pmlist_t *_alpm_list_strdup(pmlist_t *list)  { -	PMList *newlist = NULL; -	PMList *lp; +	pmlist_t *newlist = NULL; +	pmlist_t *lp;  	for(lp = list; lp; lp = lp->next) {  		newlist = _alpm_list_add(newlist, strdup(lp->data)); diff --git a/lib/libalpm/list.h b/lib/libalpm/list.h index 74da9a00..abff7819 100644 --- a/lib/libalpm/list.h +++ b/lib/libalpm/list.h @@ -29,8 +29,6 @@ typedef struct __pmlist_t {  	struct __pmlist_t *last; /* Quick access to last item in list */  } pmlist_t; -typedef struct __pmlist_t PMList; -  #define _FREELIST(p, f) do { if(p) { _alpm_list_free(p, f); p = NULL; } } while(0)  #define FREELIST(p) _FREELIST(p, free)  #define FREELISTPTR(p) _FREELIST(p, NULL) @@ -39,18 +37,18 @@ typedef void (*_alpm_fn_free)(void *);  /* Sort comparison callback function declaration */  typedef int (*_alpm_fn_cmp)(const void *, const void *); -PMList *_alpm_list_new(void); -void _alpm_list_free(PMList *list, _alpm_fn_free fn); -PMList *_alpm_list_add(PMList *list, void *data); -PMList *_alpm_list_add_sorted(PMList *list, void *data, _alpm_fn_cmp fn); -PMList *_alpm_list_remove(PMList *haystack, void *needle, _alpm_fn_cmp fn, void **data); -int _alpm_list_count(PMList *list); -int _alpm_list_is_in(void *needle, PMList *haystack); -int _alpm_list_is_strin(char *needle, PMList *haystack); -PMList *_alpm_list_last(PMList *list); -PMList *_alpm_list_remove_dupes(PMList *list); -PMList *_alpm_list_reverse(PMList *list); -PMList *_alpm_list_strdup(PMList *list); +pmlist_t *_alpm_list_new(void); +void _alpm_list_free(pmlist_t *list, _alpm_fn_free fn); +pmlist_t *_alpm_list_add(pmlist_t *list, void *data); +pmlist_t *_alpm_list_add_sorted(pmlist_t *list, void *data, _alpm_fn_cmp fn); +pmlist_t *_alpm_list_remove(pmlist_t *haystack, void *needle, _alpm_fn_cmp fn, void **data); +int _alpm_list_count(pmlist_t *list); +int _alpm_list_is_in(void *needle, pmlist_t *haystack); +int _alpm_list_is_strin(char *needle, pmlist_t *haystack); +pmlist_t *_alpm_list_last(pmlist_t *list); +pmlist_t *_alpm_list_remove_dupes(pmlist_t *list); +pmlist_t *_alpm_list_reverse(pmlist_t *list); +pmlist_t *_alpm_list_strdup(pmlist_t *list);  #endif /* _ALPM_LIST_H */ diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c index 77f85ab8..aa035769 100644 --- a/lib/libalpm/package.c +++ b/lib/libalpm/package.c @@ -414,12 +414,12 @@ error:  	return(NULL);  } -/* Test for existence of a package in a PMList* +/* Test for existence of a package in a pmlist_t*   * of pmpkg_t*   */ -pmpkg_t *_alpm_pkg_isin(char *needle, PMList *haystack) +pmpkg_t *_alpm_pkg_isin(char *needle, pmlist_t *haystack)  { -	PMList *lp; +	pmlist_t *lp;  	if(needle == NULL || haystack == NULL) {  		return(NULL); diff --git a/lib/libalpm/package.h b/lib/libalpm/package.h index 31c217e0..62ad7e4a 100644 --- a/lib/libalpm/package.h +++ b/lib/libalpm/package.h @@ -65,17 +65,17 @@ typedef struct __pmpkg_t {  	unsigned char force;  	time_t date;  	unsigned char reason; -	PMList *desc_localized; -	PMList *license; -	PMList *replaces; -	PMList *groups; -	PMList *files; -	PMList *backup; -	PMList *depends; -	PMList *removes; -	PMList *requiredby; -	PMList *conflicts; -	PMList *provides; +	pmlist_t *desc_localized; +	pmlist_t *license; +	pmlist_t *replaces; +	pmlist_t *groups; +	pmlist_t *files; +	pmlist_t *backup; +	pmlist_t *depends; +	pmlist_t *removes; +	pmlist_t *requiredby; +	pmlist_t *conflicts; +	pmlist_t *provides;  	/* internal */  	unsigned char origin;  	void *data; @@ -97,7 +97,7 @@ pmpkg_t *_alpm_pkg_dup(pmpkg_t *pkg);  void _alpm_pkg_free(void *data);  int _alpm_pkg_cmp(const void *p1, const void *p2);  pmpkg_t *_alpm_pkg_load(char *pkgfile); -pmpkg_t *_alpm_pkg_isin(char *needle, PMList *haystack); +pmpkg_t *_alpm_pkg_isin(char *needle, pmlist_t *haystack);  int _alpm_pkg_splitname(char *target, char *name, char *version);  #endif /* _ALPM_PACKAGE_H */ diff --git a/lib/libalpm/provide.c b/lib/libalpm/provide.c index bca6b7da..cd5db3e0 100644 --- a/lib/libalpm/provide.c +++ b/lib/libalpm/provide.c @@ -28,12 +28,12 @@  #include "db.h"  #include "provide.h" -/* return a PMList of packages in "db" that provide "package" +/* return a pmlist_t of packages in "db" that provide "package"   */ -PMList *_alpm_db_whatprovides(pmdb_t *db, char *package) +pmlist_t *_alpm_db_whatprovides(pmdb_t *db, char *package)  { -	PMList *pkgs = NULL; -	PMList *lp; +	pmlist_t *pkgs = NULL; +	pmlist_t *lp;  	if(db == NULL || package == NULL || strlen(package) == 0) {  		return(NULL); diff --git a/lib/libalpm/provide.h b/lib/libalpm/provide.h index 4313f581..7b132200 100644 --- a/lib/libalpm/provide.h +++ b/lib/libalpm/provide.h @@ -26,7 +26,7 @@  #include "list.h"  #include "db.h" -PMList *_alpm_db_whatprovides(pmdb_t *db, char *package); +pmlist_t *_alpm_db_whatprovides(pmdb_t *db, char *package);  #endif /* _ALPM_PROVIDE_H */ diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c index d67807a7..75d01f63 100644 --- a/lib/libalpm/remove.c +++ b/lib/libalpm/remove.c @@ -92,9 +92,9 @@ int _alpm_remove_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)  	return(0);  } -int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, PMList **data) +int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, pmlist_t **data)  { -	PMList *lp; +	pmlist_t *lp;  	ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));  	ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1)); @@ -107,7 +107,7 @@ int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, PMList **data)  		if(lp != NULL) {  			if(trans->flags & PM_TRANS_FLAG_CASCADE) {  				while(lp) { -					PMList *i; +					pmlist_t *i;  					for(i = lp; i; i = i->next) {  						pmdepmissing_t *miss = (pmdepmissing_t *)i->data;  						pmpkg_t *info = _alpm_db_scan(db, miss->depend.name, INFRQ_ALL); @@ -161,7 +161,7 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)  {  	pmpkg_t *info;  	struct stat buf; -	PMList *targ, *lp; +	pmlist_t *targ, *lp;  	char line[PATH_MAX+1];  	ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1)); @@ -230,7 +230,7 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)  					 * see the big comment block in db_find_conflicts() for an  					 * explanation. */  					int skipit = 0; -					PMList *j; +					pmlist_t *j;  					for(j = trans->skiplist; j; j = j->next) {  						if(!strcmp(file, (char*)j->data)) {  							skipit = 1; @@ -310,7 +310,7 @@ int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db)  			depinfo = _alpm_db_get_pkgfromcache(db, depend.name);  			if(depinfo == NULL) {  				/* look for a provides package */ -				PMList *provides = _alpm_db_whatprovides(db, depend.name); +				pmlist_t *provides = _alpm_db_whatprovides(db, depend.name);  				if(provides) {  					/* TODO: should check _all_ packages listed in provides, not just  					 *       the first one. diff --git a/lib/libalpm/remove.h b/lib/libalpm/remove.h index 217f23be..ac6ff1bf 100644 --- a/lib/libalpm/remove.h +++ b/lib/libalpm/remove.h @@ -26,7 +26,7 @@  #include "trans.h"  int _alpm_remove_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name); -int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, PMList **data); +int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, pmlist_t **data);  int _alpm_remove_commit(pmtrans_t *trans, pmdb_t *db);  #endif /* _ALPM_REMOVE_H */ diff --git a/lib/libalpm/server.c b/lib/libalpm/server.c index 86271b57..7b2f037c 100644 --- a/lib/libalpm/server.c +++ b/lib/libalpm/server.c @@ -133,7 +133,7 @@ void _alpm_server_free(void *data)   *   * RETURN:  0 for successful download, 1 on error   */ -int _alpm_downloadfiles(PMList *servers, const char *localpath, PMList *files) +int _alpm_downloadfiles(pmlist_t *servers, const char *localpath, pmlist_t *files)  {  	return(!!_alpm_downloadfiles_forreal(servers, localpath, files, NULL, NULL));  } @@ -151,15 +151,15 @@ int _alpm_downloadfiles(PMList *servers, const char *localpath, PMList *files)   *         -1 if the mtimes are identical   *          1 on error   */ -int _alpm_downloadfiles_forreal(PMList *servers, const char *localpath, -	PMList *files, const char *mtime1, char *mtime2) +int _alpm_downloadfiles_forreal(pmlist_t *servers, const char *localpath, +	pmlist_t *files, const char *mtime1, char *mtime2)  {  	int fsz;  	netbuf *control = NULL; -	PMList *lp; +	pmlist_t *lp;  	int done = 0; -	PMList *complete = NULL; -	PMList *i; +	pmlist_t *complete = NULL; +	pmlist_t *i;  	if(files == NULL) {  		return(0); @@ -545,8 +545,8 @@ char *_alpm_fetch_pkgurl(char *target)  		_alpm_log(PM_LOG_DEBUG, _(" %s is already in the current directory\n"), fn);  	} else {  		pmserver_t *server; -		PMList *servers = NULL; -		PMList *files; +		pmlist_t *servers = NULL; +		pmlist_t *files;  		if((server = (pmserver_t *)malloc(sizeof(pmserver_t))) == NULL) {  			_alpm_log(PM_LOG_ERROR, _("malloc failure: could not allocate %d bytes"), sizeof(pmserver_t)); diff --git a/lib/libalpm/server.h b/lib/libalpm/server.h index c5c57a44..85d390d6 100644 --- a/lib/libalpm/server.h +++ b/lib/libalpm/server.h @@ -42,9 +42,9 @@ typedef struct __pmserver_t {  pmserver_t *_alpm_server_new(char *url);  void _alpm_server_free(void *data); -int _alpm_downloadfiles(PMList *servers, const char *localpath, PMList *files); -int _alpm_downloadfiles_forreal(PMList *servers, const char *localpath, -	PMList *files, const char *mtime1, char *mtime2); +int _alpm_downloadfiles(pmlist_t *servers, const char *localpath, pmlist_t *files); +int _alpm_downloadfiles_forreal(pmlist_t *servers, const char *localpath, +	pmlist_t *files, const char *mtime1, char *mtime2);  char *_alpm_fetch_pkgurl(char *target); diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index 27bb380e..ffc69bf8 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -89,12 +89,12 @@ void _alpm_sync_free(void *data)  	free(sync);  } -/* Test for existence of a package in a PMList* of pmsyncpkg_t* +/* Test for existence of a package in a pmlist_t* of pmsyncpkg_t*   * If found, return a pointer to the respective pmsyncpkg_t*   */ -static pmsyncpkg_t *find_pkginsync(char *needle, PMList *haystack) +static pmsyncpkg_t *find_pkginsync(char *needle, pmlist_t *haystack)  { -	PMList *i; +	pmlist_t *i;  	pmsyncpkg_t *sync = NULL;  	int found = 0; @@ -120,9 +120,9 @@ static int istoonew(pmpkg_t *pkg)  	return((pkg->date + handle->upgradedelay) > t);  } -int _alpm_sync_sysupgrade(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync) +int _alpm_sync_sysupgrade(pmtrans_t *trans, pmdb_t *db_local, pmlist_t *dbs_sync)  { -	PMList *i, *j, *k; +	pmlist_t *i, *j, *k;  	/* check for "recommended" package replacements */  	_alpm_log(PM_LOG_FLOW1, _("checking for package replacements")); @@ -130,7 +130,7 @@ int _alpm_sync_sysupgrade(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync)  		for(j = _alpm_db_get_pkgcache(i->data); j; j = j->next) {  			pmpkg_t *spkg = j->data;  			for(k = spkg->replaces; k; k = k->next) { -				PMList *m; +				pmlist_t *m;  				for(m = _alpm_db_get_pkgcache(db_local); m; m = m->next) {  					pmpkg_t *lpkg = m->data;  					if(!strcmp(k->data, lpkg->name)) { @@ -256,11 +256,11 @@ error:  	return(-1);  } -int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, char *name) +int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, pmlist_t *dbs_sync, char *name)  {  	char targline[PKG_FULLNAME_LEN];  	char *targ; -	PMList *j; +	pmlist_t *j;  	pmpkg_t *local;  	pmpkg_t *spkg = NULL;  	pmsyncpkg_t *sync; @@ -281,7 +281,7 @@ int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, c  				spkg = _alpm_db_get_pkgfromcache(dbs, targ);  				if(spkg == NULL) {  					/* Search provides */ -					PMList *p; +					pmlist_t *p;  					_alpm_log(PM_LOG_FLOW2, _("target '%s' not found -- looking for provisions"), targ);  					p = _alpm_db_whatprovides(dbs, targ);  					if(p == NULL) { @@ -304,7 +304,7 @@ int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, c  			_alpm_log(PM_LOG_FLOW2, _("target '%s' not found -- looking for provisions"), targ);  			for(j = dbs_sync; j && !spkg; j = j->next) {  				pmdb_t *dbs = j->data; -				PMList *p = _alpm_db_whatprovides(dbs, targ); +				pmlist_t *p = _alpm_db_whatprovides(dbs, targ);  				if(p) {  					_alpm_log(PM_LOG_DEBUG, _("found '%s' as a provision for '%s'"), p->data, targ);  					spkg = _alpm_db_get_pkgfromcache(dbs, p->data); @@ -372,13 +372,13 @@ static int pkg_cmp(const void *p1, const void *p2)  	return(strcmp(((pmpkg_t *)p1)->name, ((pmsyncpkg_t *)p2)->pkg->name));  } -int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, PMList **data) +int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, pmlist_t *dbs_sync, pmlist_t **data)  { -	PMList *deps = NULL; -	PMList *list = NULL; /* list allowing checkdeps usage with data from trans->packages */ -	PMList *trail = NULL; /* breadcrum list to avoid running into circles */ -	PMList *asked = NULL;  -	PMList *i, *j, *k, *l; +	pmlist_t *deps = NULL; +	pmlist_t *list = NULL; /* list allowing checkdeps usage with data from trans->packages */ +	pmlist_t *trail = NULL; /* breadcrum list to avoid running into circles */ +	pmlist_t *asked = NULL;  +	pmlist_t *i, *j, *k, *l;  	int ret = 0;  	ASSERT(db_local != NULL, RET_ERR(PM_ERR_DB_NULL, -1)); @@ -672,7 +672,7 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, PML  					pmdepmissing_t *miss = i->data;  					if(!find_pkginsync(miss->depend.name, trans->packages)) {  						int pfound = 0; -						PMList *k; +						pmlist_t *k;  						/* If miss->depend.name depends on something that miss->target and a  						 * package in final both provide, then it's okay...  */  						pmpkg_t *leavingp  = _alpm_db_get_pkgfromcache(db_local, miss->target); @@ -685,13 +685,13 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, PML  						/* Look through the upset package's dependencies and try to match one up  						 * to a provisio from the package we want to remove */  						for(k = conflictp->depends; k && !pfound; k = k->next) { -							PMList *m; +							pmlist_t *m;  							for(m = leavingp->provides; m && !pfound; m = m->next) {  								if(!strcmp(k->data, m->data)) {  									/* Found a match -- now look through final for a package that  									 * provides the same thing.  If none are found, then it truly  									 * is an unresolvable conflict. */ -									PMList *n, *o; +									pmlist_t *n, *o;  									for(n = trans->packages; n && !pfound; n = n->next) {  										pmsyncpkg_t *sp = n->data;  										for(o = sp->pkg->provides; o && !pfound; o = o->next) { @@ -754,9 +754,9 @@ cleanup:  	return(ret);  } -int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, PMList **data) +int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, pmlist_t **data)  { -	PMList *i, *j, *files = NULL; +	pmlist_t *i, *j, *files = NULL;  	pmtrans_t *tr = NULL;  	int replaces = 0, retval = 0;  	char ldir[PATH_MAX]; @@ -916,7 +916,7 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, PMList **data)  	for(i = trans->packages; i; i = i->next) {  		pmsyncpkg_t *sync = i->data;  		if(sync->type == PM_SYNC_TYPE_REPLACE) { -			PMList *j; +			pmlist_t *j;  			for(j = sync->data; j; j = j->next) {  				pmpkg_t *pkg = j->data;  				if(!_alpm_pkg_isin(pkg->name, tr->packages)) { @@ -987,16 +987,16 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, PMList **data)  		for(i = trans->packages; i; i = i->next) {  			pmsyncpkg_t *sync = i->data;  			if(sync->type == PM_SYNC_TYPE_REPLACE) { -				PMList *j; +				pmlist_t *j;  				pmpkg_t *new = _alpm_db_get_pkgfromcache(db_local, sync->pkg->name);  				for(j = sync->data; j; j = j->next) { -					PMList *k; +					pmlist_t *k;  					pmpkg_t *old = j->data;  					/* merge lists */  					for(k = old->requiredby; k; k = k->next) {  						if(!_alpm_list_is_strin(k->data, new->requiredby)) {  							/* replace old's name with new's name in the requiredby's dependency list */ -							PMList *m; +							pmlist_t *m;  							pmpkg_t *depender = _alpm_db_get_pkgfromcache(db_local, k->data);  							if(depender == NULL) {  								/* If the depending package no longer exists in the local db, diff --git a/lib/libalpm/sync.h b/lib/libalpm/sync.h index ffcfb6f6..d23dc6d8 100644 --- a/lib/libalpm/sync.h +++ b/lib/libalpm/sync.h @@ -38,10 +38,10 @@ typedef struct __pmsyncpkg_t {  pmsyncpkg_t *_alpm_sync_new(int type, pmpkg_t *spkg, void *data);  void _alpm_sync_free(void *data); -int _alpm_sync_sysupgrade(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync); -int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, char *name); -int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, PMList **data); -int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, PMList **data); +int _alpm_sync_sysupgrade(pmtrans_t *trans, pmdb_t *db_local, pmlist_t *dbs_sync); +int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, pmlist_t *dbs_sync, char *name); +int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, pmlist_t *dbs_sync, pmlist_t **data); +int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, pmlist_t **data);  #endif /* _ALPM_SYNC_H */ diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c index 69fc69bb..2e34f570 100644 --- a/lib/libalpm/trans.c +++ b/lib/libalpm/trans.c @@ -73,7 +73,7 @@ void _alpm_trans_free(void *data)  	FREELIST(trans->targets);  	if(trans->type == PM_TRANS_TYPE_SYNC) { -		PMList *i; +		pmlist_t *i;  		for(i = trans->packages; i; i = i->next) {  			FREESYNC(i->data);  		} @@ -147,7 +147,7 @@ int _alpm_trans_addtarget(pmtrans_t *trans, char *target)  	return(0);  } -int _alpm_trans_prepare(pmtrans_t *trans, PMList **data) +int _alpm_trans_prepare(pmtrans_t *trans, pmlist_t **data)  {  	*data = NULL; @@ -186,7 +186,7 @@ int _alpm_trans_prepare(pmtrans_t *trans, PMList **data)  	return(0);  } -int _alpm_trans_commit(pmtrans_t *trans, PMList **data) +int _alpm_trans_commit(pmtrans_t *trans, pmlist_t **data)  {  	if(data!=NULL)  		*data = NULL; diff --git a/lib/libalpm/trans.h b/lib/libalpm/trans.h index a0b72127..95e672b6 100644 --- a/lib/libalpm/trans.h +++ b/lib/libalpm/trans.h @@ -40,9 +40,9 @@ typedef struct __pmtrans_t {  	unsigned char type;  	unsigned int flags;  	unsigned char state; -	PMList *targets;     /* PMList of (char *) */ -	PMList *packages;    /* PMList of (pmpkg_t *) or (pmsyncpkg_t *) */ -	PMList *skiplist;    /* PMList of (char *) */ +	pmlist_t *targets;     /* pmlist_t of (char *) */ +	pmlist_t *packages;    /* pmlist_t of (pmpkg_t *) or (pmsyncpkg_t *) */ +	pmlist_t *skiplist;    /* pmlist_t of (char *) */  	alpm_trans_cb_event cb_event;  	alpm_trans_cb_conv cb_conv;  	alpm_trans_cb_progress cb_progress; @@ -79,8 +79,8 @@ void _alpm_trans_free(void *data);  int _alpm_trans_init(pmtrans_t *trans, unsigned char type, unsigned int flags, alpm_trans_cb_event event, alpm_trans_cb_conv conv, alpm_trans_cb_progress progress);  int _alpm_trans_sysupgrade(pmtrans_t *trans);  int _alpm_trans_addtarget(pmtrans_t *trans, char *target); -int _alpm_trans_prepare(pmtrans_t *trans, PMList **data); -int _alpm_trans_commit(pmtrans_t *trans, PMList **data); +int _alpm_trans_prepare(pmtrans_t *trans, pmlist_t **data); +int _alpm_trans_commit(pmtrans_t *trans, pmlist_t **data);  #endif /* _ALPM_TRANS_H */ diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c index c5ad162b..1b7065ec 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -557,9 +557,9 @@ static long long get_freespace()  	return(ret);  } -int _alpm_check_freespace(pmtrans_t *trans, PMList **data) +int _alpm_check_freespace(pmtrans_t *trans, pmlist_t **data)  { -	PMList *i; +	pmlist_t *i;  	long long pkgsize=0, freespace;  	for(i = trans->packages; i; i = i->next) { diff --git a/lib/libalpm/util.h b/lib/libalpm/util.h index 205facae..63ba00c1 100644 --- a/lib/libalpm/util.h +++ b/lib/libalpm/util.h @@ -67,7 +67,7 @@ int _alpm_ldconfig(char *root);  #ifdef _ALPM_TRANS_H  int _alpm_runscriptlet(char *util, char *installfn, char *script, char *ver, char *oldver, pmtrans_t *trans);  #ifndef __sun__ -int _alpm_check_freespace(pmtrans_t *trans, PMList **data); +int _alpm_check_freespace(pmtrans_t *trans, pmlist_t **data);  #endif  #endif  int _alpm_reg_match(char *string, char *pattern); | 
