libxbps: match required pkgdep by virtual pkg in a transaction.
This commit is contained in:
		| @@ -56,8 +56,8 @@ | ||||
|  */ | ||||
| #define XBPS_PKGINDEX_VERSION	"1.4" | ||||
|  | ||||
| #define XBPS_API_VERSION	"20120220" | ||||
| #define XBPS_VERSION		"0.13" | ||||
| #define XBPS_API_VERSION	"20120228" | ||||
| #define XBPS_VERSION		"0.14" | ||||
|  | ||||
| /** | ||||
|  * @def XBPS_RELVER | ||||
|   | ||||
| @@ -326,19 +326,27 @@ find_repo_deps(prop_dictionary_t transd, 	/* transaction dictionary */ | ||||
| 			} | ||||
| 		} | ||||
| 		/* | ||||
| 		 * Pass 2: check if required dependency was already added in | ||||
| 		 * the array of unsorted dependencies, and check if the pattern | ||||
| 		 * was matched. | ||||
| 		 * Pass 2: | ||||
| 		 * check if required dependency was already added | ||||
| 		 * in the transaction. | ||||
| 		 * | ||||
| 		 * 1/3: match any virtual pkg in configuration file. | ||||
| 		 */ | ||||
| 		curpkgd = xbps_find_virtualpkg_conf_in_dict_by_pattern( | ||||
| 		    transd, "unsorted_deps", reqpkg); | ||||
| 		if (curpkgd == NULL) { | ||||
| 			/* | ||||
| 			 * Look for a real package matching pattern | ||||
| 			 * if no match. | ||||
| 			 * 2/3: match any virtual pkg in transaction. | ||||
| 			 */ | ||||
| 			curpkgd = xbps_find_pkg_in_dict_by_pattern( | ||||
| 			curpkgd = xbps_find_virtualpkg_in_dict_by_pattern( | ||||
| 			    transd, "unsorted_deps", reqpkg); | ||||
| 			if (curpkgd == NULL) { | ||||
| 				/* | ||||
| 				 * 3/3: match a real pkg in transaction. | ||||
| 				 */ | ||||
| 				curpkgd = xbps_find_pkg_in_dict_by_pattern( | ||||
| 				    transd, "unsorted_deps", reqpkg); | ||||
| 			} | ||||
| 		} | ||||
| 		if (curpkgd != NULL) { | ||||
| 			prop_dictionary_get_cstring_nocopy(curpkgd, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user