Initial import of xbps-cmpver
--HG-- extra : convert_revision : 57260b5d7bfc45cb2e2c877fad2fdcae155c0a75
This commit is contained in:
parent
b011885995
commit
a4f4fde9cf
2 changed files with 22 additions and 18 deletions
|
@ -3,8 +3,11 @@ PREFIX ?= /usr/local
|
||||||
PKGDB_CFLAGS += -Wall -Werror -I$(PREFIX)/include
|
PKGDB_CFLAGS += -Wall -Werror -I$(PREFIX)/include
|
||||||
PKGDB_LDFLAGS += -lprop
|
PKGDB_LDFLAGS += -lprop
|
||||||
|
|
||||||
all: xbps-digest xbps-pkgdb
|
all: xbps-digest xbps-pkgdb xbps-cmpver
|
||||||
|
|
||||||
|
xbps-cmpver: xbps-cmpver.o
|
||||||
|
$(CC) $(CFLAGS) $< -o $@
|
||||||
|
|
||||||
xbps-digest: xbps-digest.o
|
xbps-digest: xbps-digest.o
|
||||||
$(CC) $(CFLAGS) $< -o $@
|
$(CC) $(CFLAGS) $< -o $@
|
||||||
|
|
||||||
|
@ -15,5 +18,4 @@ clean_objs:
|
||||||
-rm -f *.o
|
-rm -f *.o
|
||||||
|
|
||||||
clean: clean_objs
|
clean: clean_objs
|
||||||
-rm -f xbps-digest xbps-pkgdb
|
-rm -f xbps-digest xbps-pkgdb xbps-cmpver
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
/*
|
/*
|
||||||
* Compare package and version strings
|
* Compare package and version strings
|
||||||
*
|
* @ 2008
|
||||||
* Author: pancake <youterm.com>
|
* Author: pancake <youterm.com>
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
static int chkchr(char *ch)
|
static int chkchr(const char *ch)
|
||||||
{
|
{
|
||||||
if (*ch>='0' && *ch<='9')
|
if (*ch>='0' && *ch<='9')
|
||||||
return *ch-'0';
|
return *ch-'0';
|
||||||
|
@ -54,26 +54,28 @@ int chkpkg(const char *a0, const char *b0)
|
||||||
char *b = strchr(b0, '-');
|
char *b = strchr(b0, '-');
|
||||||
|
|
||||||
if (a == NULL || b== NULL) {
|
if (a == NULL || b== NULL) {
|
||||||
eprintf("Invalid package names\n");
|
fprintf(stderr, "Invalid package names\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return chkver(a+1, b+1);
|
return chkver(a+1, b+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if UNIT_TEST
|
#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
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
if (argc>2) {
|
if (argc<3) {
|
||||||
printf("%s %s = %d\n",
|
printf("Usage: ./xbps-cmpver [old] [new]\n");
|
||||||
argv[1], argv[2],
|
printf(" ./xbpks-cmpver foo-1.2 foo-2.2 # $? = 1\n");
|
||||||
chkver(argv[1], argv[2]));
|
printf(" ./xbpks-cmpver foo-1.2 foo-1.2 # $? = 0\n");
|
||||||
} else {
|
return 1;
|
||||||
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"));
|
|
||||||
}
|
}
|
||||||
|
return (chkpkg(argv[1], argv[2]) > 0)?1:0;
|
||||||
}
|
}
|
||||||
#endif
|
|
Loading…
Add table
Add a link
Reference in a new issue