]> git.pld-linux.org Git - packages/poldek.git/blame - rpm4-rpmvercmp.patch
Release 19 (by relup.sh)
[packages/poldek.git] / rpm4-rpmvercmp.patch
CommitLineData
c905c5f8
JP
1From 70940292e321f1b7f4af217425810ed4110f6333 Mon Sep 17 00:00:00 2001
2From: Jan Palus <atler@pld-linux.org>
3Date: Sat, 31 Oct 2020 00:32:04 +0100
4Subject: [PATCH] implement rpmvercmp for rpm.org
5
6---
7 pm/rpmorg/rpmvercmp.c | 24 ++++++++++++++++--------
8 1 file changed, 16 insertions(+), 8 deletions(-)
9
10diff --git a/pm/rpmorg/rpmvercmp.c b/pm/rpmorg/rpmvercmp.c
11index 7e40e15..36bf9e5 100644
12--- a/pm/rpmorg/rpmvercmp.c
13+++ b/pm/rpmorg/rpmvercmp.c
14@@ -49,18 +49,15 @@ static void parse(const char *evrstr, EVR_t evr)
15 #endif
16 #endif
17
18-#ifdef HAVE_RPMORG
19-int main(void)
20-{
21- printf("not implemented");
22- exit(EXIT_SUCCESS);
23-}
24-#else
25 int main(int argc, char *argv[])
26 {
27 int cmprc;
28 const char *v1, *v2;
29+#ifdef HAVE_RPMORG
30+ rpmver evr1, evr2;
31+#else
32 EVR_t evr1, evr2;
33+#endif
34
35 if (argc < 3) {
36 printf("Usage: rpmvercmp VERSION1 VERSION2\n");
37@@ -81,6 +78,12 @@ int main(int argc, char *argv[])
38 exit(2);
39 }
40
41+#ifdef HAVE_RPMORG
42+ evr1 = rpmverParse(v1);
43+ evr2 = rpmverParse(v2);
44+
45+ cmprc = rpmverCmp(evr1, evr2);
46+#else
47 evr1 = malloc(sizeof(struct EVR_s));
48 evr2 = malloc(sizeof(struct EVR_s));
49
50@@ -93,17 +96,22 @@ int main(int argc, char *argv[])
51 #endif
52
53 cmprc = rpmEVRcompare(evr1, evr2);
54+#endif
55
56 printf("%s %s %s\n", v1, cmprc == 0 ? "==" : cmprc > 0 ? ">" : "<", v2);
57
58 if (cmprc < 0)
59 cmprc = 2;
60
61+#ifdef HAVE_RPMORG
62+ rpmverFree(evr1);
63+ rpmverFree(evr2);
64+#else
65 free((char *)evr1->str);
66 free((char *)evr2->str);
67 free(evr1);
68 free(evr2);
69+#endif
70
71 exit(cmprc);
72 }
73-#endif
This page took 0.0795169999999999 seconds and 4 git commands to generate.