Use string version comparator code from FreeBSD.

This fixes all cases that previous code has with no changes...
sorry pancake.

--HG--
extra : convert_revision : 993d0aa060daf36d1b5ffa63725002dda122c091
This commit is contained in:
Juan RP
2009-02-17 03:49:02 +01:00
parent fb998feacf
commit fda3da1543
4 changed files with 295 additions and 70 deletions

View File

@@ -9,21 +9,13 @@
int main(int argc, char **argv)
{
if (argc<3) {
printf("Usage: xbps-cmpver [old] [new]\n");
printf(" xbpks-cmpver foo-1.2 foo-2.2 # $? = 1\n");
printf(" xbpks-cmpver foo-1.2 foo-1.2 # $? = 0\n");
if (argc < 3) {
printf("Usage: xbps-cmpver [installed] [required]\n");
printf(" xbps-cmpver foo-1.2 foo-2.2 # $? = 1\n");
printf(" xbps-cmpver foo-1.2 foo-1.1.0 # $? = 0\n");
printf(" xbps-cmpver foo-1.2 foo-1.2 # $? = 0\n");
return 1;
}
#if UNIT_TEST
printf("1.2 2.2 = %d\n", chkver("1.2", "2.2"));
printf("1.0 10.3 = %d\n", chkver("1.0", "10.3"));
printf("1.0 1.0 = %d\n", chkver("1.0", "1.0"));
printf("1.0 1.2 = %d\n", chkver("1.0", "1.2"));
printf("1.0.1 1.0.2 = %d\n", chkver("1.0.1", "1.0.2"));
printf("1.0beta 1.0rc1 = %d\n", chkver("1.0beta", "1.0rc1"));
#endif
return (xbps_cmpver_packages(argv[1], argv[2]) > 0)?1:0;
return xbps_cmpver_packages(argv[1], argv[2]);
}