Added support for shell (and csh as well) patterns for required

dependencies, as specified in blueprint "improved-version-matching".

It's possible now to require greater, greater or equal than,
less, less or equal than, and equal pkg versions, as well as using
'{}' and '[^!]' csh patterns in dependencies.

Code lifted from FreeBSD, thanks! :-)

Change XBPS_RELVER to 20091107 to match latest additions.

--HG--
extra : convert_revision : xtraeme%40gmail.com-20091107035620-3051wcwrirqn2g14
This commit is contained in:
Juan RP
2009-11-07 04:56:20 +01:00
parent 95b51ae72b
commit adbd3d727c
11 changed files with 280 additions and 31 deletions

View File

@ -62,7 +62,7 @@ xbps_sort_pkg_deps(prop_dictionary_t chaindeps)
prop_object_iterator_t iter, iter2;
struct sorted_dependency *sdep;
size_t ndeps = 0, rundepscnt = 0, cnt = 0;
const char *pkgname;
const char *pkgname, *str;
char *curpkgnamedep;
int rv = 0;
@ -125,8 +125,8 @@ again:
* were already added in the sorted list.
*/
while ((obj2 = prop_object_iterator_next(iter2)) != NULL) {
curpkgnamedep =
xbps_get_pkg_name(prop_string_cstring_nocopy(obj2));
str = prop_string_cstring_nocopy(obj2);
curpkgnamedep = xbps_get_pkgdep_name(str);
/*
* If dependency is already installed or queued,
* pass to the next one.