]> git.pld-linux.org Git - packages/abrt.git/blob - abrt-rpm5.patch
- added fixes for bohdi plugin
[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.0.8/src/daemon/rpm.c.0011~   2011-12-21 13:20:12.000000000 +0100
12 +++ abrt-2.0.8/src/daemon/rpm.c 2012-03-11 21:28:01.051031573 +0100
13 @@ -62,7 +62,6 @@ void rpm_init()
14  void rpm_destroy()
15  {
16      rpmFreeRpmrc();
17 -    rpmFreeCrypto();
18      rpmFreeMacros(NULL);
19  
20      list_free_with_free(list_fingerprints);
21 @@ -97,13 +96,20 @@ int rpm_chk_fingerprint(const char* pkg)
22      const char *errmsg = NULL;
23  
24      rpmts ts = rpmtsCreate();
25 -    rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg, 0);
26 -    Header header = rpmdbNextIterator(iter);
27 +    rpmmi iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg, 0);
28 +    Header header = rpmmiNext(iter);
29  
30      if (!header)
31          goto error;
32  
33 -    pgpsig = headerFormat(header, "%|SIGGPG?{%{SIGGPG:pgpsig}}:{%{SIGPGP:pgpsig}}|", &errmsg);
34 +    pgpsig = headerSprintf(
35 +               header,
36 +               "%|DSAHEADER?{%{DSAHEADER:pgpsig}}:{%|RSAHEADER?{%{RSAHEADER:pgpsig}}:"
37 +               "{%|SIGGPG?{%{SIGGPG:pgpsig}}:{%|SIGPGP?{%{SIGPGP:pgpsig}}:{(none)}|}|}|}|",
38 +               NULL,
39 +               NULL,
40 +               &errmsg);
41 +
42      if (!pgpsig && errmsg)
43      {
44          VERB1 log("cannot get siggpg:pgpsig. reason: %s", errmsg);
45 @@ -121,8 +127,8 @@ int rpm_chk_fingerprint(const char* pkg)
46  
47  error:
48      free(pgpsig);
49 -    rpmdbFreeIterator(iter);
50 -    rpmtsFree(ts);
51 +    iter = rpmmiFree(iter);
52 +    ts = rpmtsFree(ts);
53      return ret;
54  }
55  
56 @@ -160,8 +166,8 @@ bool CheckHash(const char* pPackage, con
57      }
58      rpmfiFree(fi);
59  error:
60 -    rpmdbFreeIterator(iter);
61 -    rpmtsFree(ts);
62 +    iter = rpmmiFree(iter);
63 +    ts = rpmtsFree(ts);
64      return ret;
65  }
66  */
67 @@ -171,15 +177,15 @@ char* rpm_get_component(const char *file
68      char *ret = NULL;
69      char *srpm = NULL;
70      rpmts ts;
71 -    rpmdbMatchIterator iter;
72 -    Header header;
73 +    rpmmi iter = NULL;
74 +    Header header = NULL;
75  
76      ts = rpmtsCreate();
77      /* This loop executes once (normally) or twice (if we detect chroot) */
78      while (1)
79      {
80          iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, filename, 0);
81 -        header = rpmdbNextIterator(iter);
82 +        header = rpmmiNext(iter);
83          //log("%s: header('%s'):%p", __func__, filename, header);
84          if (header)
85              break;
86 @@ -192,17 +198,16 @@ char* rpm_get_component(const char *file
87  
88          /* It is a chroot */
89          //log("%s: skipping '%s' pfx", __func__, rootdir_or_NULL);
90 -        rpmdbFreeIterator(iter);
91 -        rpmtsFree(ts);
92 +        iter = rpmmiFree(iter);
93 +        ts = rpmtsFree(ts);
94          ts = rpmtsCreate();
95 -        if (rpmtsSetRootDir(ts, rootdir_or_NULL) != 0)
96 -            goto error1;
97 +        rpmtsSetRootDir(ts, rootdir_or_NULL);
98          filename += len;
99          rootdir_or_NULL = NULL;
100      }
101  
102      const char *errmsg = NULL;
103 -    srpm = headerFormat(header, "%{SOURCERPM}", &errmsg);
104 +    srpm = headerSprintf(header, "%{SOURCERPM}", NULL, NULL, &errmsg);
105      if (!srpm && errmsg)
106      {
107          error_msg("cannot get srpm. reason: %s", errmsg);
108 @@ -213,9 +218,8 @@ char* rpm_get_component(const char *file
109      free(srpm);
110  
111   error:
112 -    rpmdbFreeIterator(iter);
113 - error1:
114 -    rpmtsFree(ts);
115 +    iter = rpmmiFree(iter);
116 +    ts = rpmtsFree(ts);
117      return ret;
118  }
119  
120 @@ -227,7 +227,7 @@
121      static inline int pkg_add_##name(Header header, struct pkg_envra *p) \
122      {                                                                   \
123          const char *errmsg = NULL;                                      \
124 -        p->p_##name = headerFormat(header, "%{"#name"}", &errmsg);      \
125 +        p->p_##name = headerSprintf(header, "%{"#name"}", NULL, NULL, &errmsg);      \
126          if (p->p_##name || !errmsg)                                     \
127              return 0;                                                   \
128                                                                          \
129 @@ -254,17 +258,17 @@ char* rpm_get_package_nvr(const char *fi
130  struct pkg_envra *rpm_get_package_nvr(const char *filename, const char *rootdir_or_NULL)
131  {
132      rpmts ts;
133 -    rpmdbMatchIterator iter;
134 -    Header header;
135 +    rpmmi iter = NULL;
136 +    Header header = NULL;
137  
138      struct pkg_envra *p = NULL;
139  
140      ts = rpmtsCreate();
141      /* This loop executes once (normally) or twice (if we detect chroot) */
142      while (1)
143      {
144          iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, filename, 0);
145 -        header = rpmdbNextIterator(iter);
146 +        header = rpmmiNext(iter);
147          //log("%s: header('%s'):%p", __func__, filename, header);
148          if (header)
149              break;
150 @@ -285,11 +289,9 @@ char* rpm_get_package_nvr(const char *fi
151  
152          /* It is a chroot */
153          //log("%s: skipping '%s' pfx", __func__, rootdir_or_NULL);
154 -        rpmdbFreeIterator(iter);
155 -        rpmtsFree(ts);
156 +        iter = rpmmiFree(iter);
157 +        ts = rpmtsFree(ts);
158          ts = rpmtsCreate();
159 -        if (rpmtsSetRootDir(ts, rootdir_or_NULL) != 0)
160 -            goto error1;
161          filename += len;
162          rootdir_or_NULL = NULL;
163      }
164 @@ -320,9 +332,8 @@
165   error:
166      free_pkg_envra(p);
167  
168 -    rpmdbFreeIterator(iter);
169 - error1:
170 -    rpmtsFree(ts);
171 +    iter = rpmmiFree(iter);
172 +    ts = rpmtsFree(ts);
173      return NULL;
174  }
175  
176 --- abrt-2.0.8/src/daemon/rpm.h.0011~   2011-12-21 13:20:12.000000000 +0100
177 +++ abrt-2.0.8/src/daemon/rpm.h 2012-03-11 21:28:01.051031573 +0100
178 @@ -22,10 +22,10 @@
179  #ifndef RPM_H_
180  #define RPM_H_
181  
182 -#include <rpm/rpmts.h>
183 -#include <rpm/rpmcli.h>
184 -#include <rpm/rpmdb.h>
185 -#include <rpm/rpmpgp.h>
186 +#include <rpmcli.h>
187 +#include <rpmts.h>
188 +#include <rpmdb.h>
189 +#include <rpmio.h>
190  
191  #ifdef __cplusplus
192  extern "C" {
193 --- abrt-2.0.15/src/plugins/bodhi.c~    2012-10-05 08:30:34.000000000 +0200
194 +++ abrt-2.0.15/src/plugins/bodhi.c     2012-10-15 15:54:12.298943477 +0200
195 @@ -331,24 +331,23 @@
196      char *nvr = NULL;
197  
198      rpmts ts = rpmtsCreate();
199 -    rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg_name, 0);
200 -    Header header = rpmdbNextIterator(iter);
201 +    rpmmi iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg_name, 0);
202 +    Header header = rpmmiNext(iter);
203  
204      if (!header)
205          goto error;
206  
207      const char *errmsg = NULL;
208 -    nvr = headerFormat(header, "%{name}-%{version}-%{release}", &errmsg);
209 +    nvr = headerSprintf(header, "%{name}-%{version}-%{release}", NULL, NULL, &errmsg);
210  
211      if (!nvr && errmsg)
212          error_msg("cannot get nvr. reason: %s", errmsg);
213  
214  error:
215 -    rpmdbFreeIterator(iter);
216 -    rpmtsFree(ts);
217 +    iter = rpmmiFree(iter);
218 +    ts = rpmtsFree(ts);
219  
220      rpmFreeRpmrc();
221 -    rpmFreeCrypto();
222      rpmFreeMacros(NULL);
223  
224      return nvr;
This page took 0.210001 seconds and 3 git commands to generate.