]> git.pld-linux.org Git - packages/abrt.git/blob - abrt-rpm5.patch
889d11414f2886c6bca1abf65dc0a332605fa693
[packages/abrt.git] / abrt-rpm5.patch
1 --- abrt-2.0.8/src/daemon/Makefile.am.0011~     2011-12-15 13:39:13.000000000 +0100
2 +++ abrt-2.0.8/src/daemon/Makefile.am   2012-03-11 21:28:24.900043460 +0100
3 @@ -84,6 +84,7 @@ abrt_action_save_package_data_CPPFLAGS =
4      -I$(srcdir)/../include \
5      -I$(srcdir)/../lib \
6      -DCONF_DIR=\"$(CONF_DIR)\" \
7 +    $(RPM_CFLAGS) \
8      $(GLIB_CFLAGS) \
9      $(LIBREPORT_CFLAGS) \
10      -D_GNU_SOURCE \
11 --- abrt-2.8.2/src/daemon/rpm.c.orig    2016-07-08 09:49:44.000000000 +0200
12 +++ abrt-2.8.2/src/daemon/rpm.c 2016-08-03 20:51:03.649708165 +0200
13 @@ -22,10 +22,10 @@
14  #include "rpm.h"
15  
16  #ifdef HAVE_LIBRPM
17 -#include <rpm/rpmts.h>
18 -#include <rpm/rpmcli.h>
19 -#include <rpm/rpmdb.h>
20 -#include <rpm/rpmpgp.h>
21 +#include <rpmcli.h>
22 +#include <rpmts.h>
23 +#include <rpmdb.h>
24 +#include <rpmio.h>
25  #endif
26  
27  /**
28 @@ -62,7 +62,6 @@ void rpm_init()
29  void rpm_destroy()
30  {
31      /* Mirroring the order of deinit calls in rpm-4.11.1/lib/poptALL.c::rpmcliFini() */
32 -    rpmFreeCrypto();
33      rpmFreeMacros(NULL);
34      rpmFreeRpmrc();
35  
36 @@ -102,7 +102,7 @@
37      }
38  
39      uint8_t keyID[8];
40 -#if 0
41 +#if 1
42      if (pgpPubkeyFingerprint(pkt, pklen, keyID) == 0)
43  #else
44      if (pgpPubkeyKeyID(pkt, pklen, keyID) == 0)
45 @@ -119,13 +118,20 @@ char *rpm_get_fingerprint(const char *pk
46      const char *errmsg = NULL;
47  
48      rpmts ts = rpmtsCreate();
49 -    rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg, 0);
50 -    Header header = rpmdbNextIterator(iter);
51 +    rpmmi iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg, 0);
52 +    Header header = rpmmiNext(iter);
53  
54      if (!header)
55          goto error;
56  
57 -    pgpsig = headerFormat(header, "%|SIGGPG?{%{SIGGPG:pgpsig}}:{%{SIGPGP:pgpsig}}|", &errmsg);
58 +    pgpsig = headerSprintf(
59 +               header,
60 +               "%|DSAHEADER?{%{DSAHEADER:pgpsig}}:{%|RSAHEADER?{%{RSAHEADER:pgpsig}}:"
61 +               "{%|SIGGPG?{%{SIGGPG:pgpsig}}:{%|SIGPGP?{%{SIGPGP:pgpsig}}:{(none)}|}|}|}|",
62 +               NULL,
63 +               NULL,
64 +               &errmsg);
65 +
66      if (!pgpsig && errmsg)
67      {
68          log_notice("cannot get siggpg:pgpsig. reason: %s", errmsg);
69 @@ -138,8 +144,8 @@ char *rpm_get_fingerprint(const char *pk
70  
71  error:
72      free(pgpsig);
73 -    rpmdbFreeIterator(iter);
74 -    rpmtsFree(ts);
75 +    iter = rpmmiFree(iter);
76 +    ts = rpmtsFree(ts);
77      return fingerprint;
78  }
79  
80 @@ -156,8 +162,8 @@ bool CheckHash(const char* pPackage, con
81  {
82      bool ret = true;
83      rpmts ts = rpmtsCreate();
84 -    rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage, 0);
85 -    Header header = rpmdbNextIterator(iter);
86 +    rpmmi iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage, 0);
87 +    Header header = rpmmiNext(iter);
88      if (header == NULL)
89          goto error;
90  
91 @@ -177,14 +183,14 @@ bool CheckHash(const char* pPackage, con
92      }
93      rpmfiFree(fi);
94  error:
95 -    rpmdbFreeIterator(iter);
96 -    rpmtsFree(ts);
97 +    iter = rpmmiFree(iter);
98 +    ts = rpmtsFree(ts);
99      return ret;
100  }
101  */
102  
103  #ifdef HAVE_LIBRPM
104 -static int rpm_query_file(rpmts *ts, rpmdbMatchIterator *iter, Header *header,
105 +static int rpm_query_file(rpmts *ts, rpmmi *iter, Header *header,
106          const char *filename, const char *rootdir_or_NULL)
107  {
108      const char *queryname = filename;
109 @@ -191,11 +197,7 @@ static int rpm_query_file(rpmts *ts, rpm
110      *ts = rpmtsCreate();
111      if (rootdir_or_NULL)
112      {
113 -        if (rpmtsSetRootDir(*ts, rootdir_or_NULL) != 0)
114 -        {
115 -            rpmtsFree(*ts);
116 -            return -1;
117 -        }
118 +        rpmtsSetRootDir(*ts, rootdir_or_NULL);
119  
120          unsigned len = strlen(rootdir_or_NULL);
121          /* remove 'chroot' prefix */
122 @@ -204,12 +206,12 @@ static int rpm_query_file(rpmts *ts, rpm
123      }
124  
125      *iter = rpmtsInitIterator(*ts, RPMTAG_BASENAMES, queryname, 0);
126 -    *header = rpmdbNextIterator(*iter);
127 +    *header = rpmmiNext(*iter);
128  
129      if (!(*header) && rootdir_or_NULL)
130      {
131 -        rpmdbFreeIterator(*iter);
132 -        rpmtsFree(*ts);
133 +        *iter = rpmmiFree(*iter);
134 +        *ts = rpmtsFree(*ts);
135  
136          return rpm_query_file(ts, iter, header, filename, NULL);
137      }
138 @@ -222,8 +224,8 @@ char* rpm_get_component(const char *file
139      char *ret = NULL;
140      char *srpm = NULL;
141      rpmts ts;
142 -    rpmdbMatchIterator iter;
143 -    Header header;
144 +    rpmmi iter = NULL;
145 +    Header header = NULL;
146  
147      if (rpm_query_file(&ts, &iter, &header, filename, rootdir_or_NULL) < 0)
148          return NULL;
149 @@ -232,7 +234,7 @@ char* rpm_get_component(const char *file
150          goto error;
151  
152      const char *errmsg = NULL;
153 -    srpm = headerFormat(header, "%{SOURCERPM}", &errmsg);
154 +    srpm = headerSprintf(header, "%{SOURCERPM}", NULL, NULL, &errmsg);
155      if (!srpm && errmsg)
156      {
157          error_msg("cannot get srpm. reason: %s", errmsg);
158 @@ -243,8 +245,8 @@ char* rpm_get_component(const char *file
159      free(srpm);
160  
161   error:
162 -    rpmdbFreeIterator(iter);
163 -    rpmtsFree(ts);
164 +    iter = rpmmiFree(iter);
165 +    ts = rpmtsFree(ts);
166      return ret;
167  }
168  
169 @@ -252,7 +254,7 @@ char* rpm_get_component(const char *file
170      static inline int pkg_add_##name(Header header, struct pkg_envra *p) \
171      {                                                                   \
172          const char *errmsg = NULL;                                      \
173 -        p->p_##name = headerFormat(header, "%{"#name"}", &errmsg);      \
174 +        p->p_##name = headerSprintf(header, "%{"#name"}", NULL, NULL, &errmsg);      \
175          if (p->p_##name || !errmsg)                                     \
176              return 0;                                                   \
177                                                                          \
178 @@ -272,8 +274,8 @@ pkg_add_id(vendor);
179  struct pkg_envra *rpm_get_package_nvr(const char *filename, const char *rootdir_or_NULL)
180  {
181      rpmts ts;
182 -    rpmdbMatchIterator iter;
183 -    Header header;
184 +    rpmmi iter = NULL;
185 +    Header header = NULL;
186  
187      struct pkg_envra *p = NULL;
188  
189 @@ -320,15 +322,15 @@ struct pkg_envra *rpm_get_package_nvr(co
190  
191      p->p_nvr = xasprintf("%s-%s-%s", p->p_name, p->p_version, p->p_release);
192  
193 -    rpmdbFreeIterator(iter);
194 -    rpmtsFree(ts);
195 +    iter = rpmmiFree(iter);
196 +    ts = rpmtsFree(ts);
197      return p;
198  
199   error:
200      free_pkg_envra(p);
201  
202 -    rpmdbFreeIterator(iter);
203 -    rpmtsFree(ts);
204 +    iter = rpmmiFree(iter);
205 +    ts = rpmtsFree(ts);
206      return NULL;
207  }
208  
209 --- abrt-2.0.15/src/plugins/bodhi.c~    2012-10-05 08:30:34.000000000 +0200
210 +++ abrt-2.0.15/src/plugins/bodhi.c     2012-10-15 15:54:12.298943477 +0200
211 @@ -331,24 +331,23 @@
212      char *nvr = NULL;
213  
214      rpmts ts = rpmtsCreate();
215 -    rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg_name, 0);
216 -    Header header = rpmdbNextIterator(iter);
217 +    rpmmi iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg_name, 0);
218 +    Header header = rpmmiNext(iter);
219  
220      if (!header)
221          goto error;
222  
223      const char *errmsg = NULL;
224 -    nvr = headerFormat(header, "%{name}-%{version}-%{release}", &errmsg);
225 +    nvr = headerSprintf(header, "%{name}-%{version}-%{release}", NULL, NULL, &errmsg);
226  
227      if (!nvr && errmsg)
228          error_msg("cannot get nvr. reason: %s", errmsg);
229  
230  error:
231 -    rpmdbFreeIterator(iter);
232 -    rpmtsFree(ts);
233 +    iter = rpmmiFree(iter);
234 +    ts = rpmtsFree(ts);
235  
236      rpmFreeRpmrc();
237 -    rpmFreeCrypto();
238      rpmFreeMacros(NULL);
239  
240      return nvr;
This page took 0.117219 seconds and 3 git commands to generate.