]>
Commit | Line | Data |
---|---|---|
56d713b9 JR |
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 \ | |
6dee31c3 JB |
11 | --- abrt-2.1.7/src/daemon/rpm.c.orig 2013-09-10 14:11:13.000000000 +0200 |
12 | +++ abrt-2.1.7/src/daemon/rpm.c 2013-09-27 19:07:08.004722755 +0200 | |
56d713b9 JR |
13 | @@ -62,7 +62,6 @@ void rpm_init() |
14 | void rpm_destroy() | |
15 | { | |
3efd7b40 | 16 | /* Mirroring the order of deinit calls in rpm-4.11.1/lib/poptALL.c::rpmcliFini() */ |
56d713b9 JR |
17 | - rpmFreeCrypto(); |
18 | rpmFreeMacros(NULL); | |
3efd7b40 | 19 | rpmFreeRpmrc(); |
56d713b9 | 20 | |
6dee31c3 | 21 | @@ -104,13 +103,20 @@ int rpm_chk_fingerprint(const char* pkg) |
56d713b9 JR |
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); | |
6dee31c3 | 45 | @@ -128,8 +134,8 @@ int rpm_chk_fingerprint(const char* pkg) |
56d713b9 JR |
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 | ||
6dee31c3 | 56 | @@ -167,8 +173,8 @@ bool CheckHash(const char* pPackage, con |
56d713b9 JR |
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 | */ | |
6dee31c3 | 67 | @@ -178,15 +184,15 @@ char* rpm_get_component(const char *file |
56d713b9 JR |
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; | |
6dee31c3 | 86 | @@ -199,17 +205,16 @@ char* rpm_get_component(const char *file |
56d713b9 JR |
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); | |
6dee31c3 | 108 | @@ -220,9 +225,8 @@ char* rpm_get_component(const char *file |
56d713b9 JR |
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 | ||
6dee31c3 | 120 | @@ -230,7 +234,7 @@ char* rpm_get_component(const char *file |
56d713b9 JR |
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 | \ | |
6dee31c3 | 129 | @@ -249,8 +253,8 @@ pkg_add_id(arch); |
56d713b9 JR |
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 | ||
6dee31c3 | 140 | @@ -259,7 +263,7 @@ struct pkg_envra *rpm_get_package_nvr(co |
56d713b9 JR |
141 | while (1) |
142 | { | |
143 | iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, filename, 0); | |
144 | - header = rpmdbNextIterator(iter); | |
145 | + header = rpmmiNext(iter); | |
146 | //log("%s: header('%s'):%p", __func__, filename, header); | |
147 | if (header) | |
148 | break; | |
6dee31c3 | 149 | @@ -272,11 +276,9 @@ struct pkg_envra *rpm_get_package_nvr(co |
56d713b9 JR |
150 | |
151 | /* It is a chroot */ | |
152 | //log("%s: skipping '%s' pfx", __func__, rootdir_or_NULL); | |
153 | - rpmdbFreeIterator(iter); | |
154 | - rpmtsFree(ts); | |
155 | + iter = rpmmiFree(iter); | |
156 | + ts = rpmtsFree(ts); | |
157 | ts = rpmtsCreate(); | |
158 | - if (rpmtsSetRootDir(ts, rootdir_or_NULL) != 0) | |
159 | - goto error1; | |
160 | filename += len; | |
161 | rootdir_or_NULL = NULL; | |
162 | } | |
6dee31c3 JB |
163 | @@ -316,16 +318,15 @@ struct pkg_envra *rpm_get_package_nvr(co |
164 | ||
165 | p->p_nvr = xasprintf("%s-%s-%s", p->p_name, p->p_version, p->p_release); | |
166 | ||
167 | - rpmdbFreeIterator(iter); | |
168 | + iter = rpmmiFree(iter); | |
169 | rpmtsFree(ts); | |
170 | return p; | |
171 | ||
56d713b9 JR |
172 | error: |
173 | free_pkg_envra(p); | |
174 | ||
175 | - rpmdbFreeIterator(iter); | |
176 | - error1: | |
177 | - rpmtsFree(ts); | |
178 | + iter = rpmmiFree(iter); | |
179 | + ts = rpmtsFree(ts); | |
180 | return NULL; | |
181 | } | |
182 | ||
183 | --- abrt-2.0.8/src/daemon/rpm.h.0011~ 2011-12-21 13:20:12.000000000 +0100 | |
184 | +++ abrt-2.0.8/src/daemon/rpm.h 2012-03-11 21:28:01.051031573 +0100 | |
185 | @@ -22,10 +22,10 @@ | |
186 | #ifndef RPM_H_ | |
187 | #define RPM_H_ | |
188 | ||
189 | -#include <rpm/rpmts.h> | |
190 | -#include <rpm/rpmcli.h> | |
191 | -#include <rpm/rpmdb.h> | |
192 | -#include <rpm/rpmpgp.h> | |
193 | +#include <rpmcli.h> | |
194 | +#include <rpmts.h> | |
195 | +#include <rpmdb.h> | |
196 | +#include <rpmio.h> | |
197 | ||
198 | #ifdef __cplusplus | |
199 | extern "C" { | |
1d2696de JR |
200 | --- abrt-2.0.15/src/plugins/bodhi.c~ 2012-10-05 08:30:34.000000000 +0200 |
201 | +++ abrt-2.0.15/src/plugins/bodhi.c 2012-10-15 15:54:12.298943477 +0200 | |
202 | @@ -331,24 +331,23 @@ | |
203 | char *nvr = NULL; | |
204 | ||
205 | rpmts ts = rpmtsCreate(); | |
206 | - rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg_name, 0); | |
207 | - Header header = rpmdbNextIterator(iter); | |
208 | + rpmmi iter = rpmtsInitIterator(ts, RPMTAG_NAME, pkg_name, 0); | |
209 | + Header header = rpmmiNext(iter); | |
210 | ||
211 | if (!header) | |
212 | goto error; | |
213 | ||
214 | const char *errmsg = NULL; | |
215 | - nvr = headerFormat(header, "%{name}-%{version}-%{release}", &errmsg); | |
216 | + nvr = headerSprintf(header, "%{name}-%{version}-%{release}", NULL, NULL, &errmsg); | |
217 | ||
218 | if (!nvr && errmsg) | |
219 | error_msg("cannot get nvr. reason: %s", errmsg); | |
220 | ||
221 | error: | |
222 | - rpmdbFreeIterator(iter); | |
223 | - rpmtsFree(ts); | |
224 | + iter = rpmmiFree(iter); | |
225 | + ts = rpmtsFree(ts); | |
226 | ||
227 | rpmFreeRpmrc(); | |
228 | - rpmFreeCrypto(); | |
229 | rpmFreeMacros(NULL); | |
230 | ||
231 | return nvr; |