]>
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 \ | |
f0252d8d JB |
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 | |
b0d9bbce JR |
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 | /** | |
56d713b9 JR |
28 | @@ -62,7 +62,6 @@ void rpm_init() |
29 | void rpm_destroy() | |
30 | { | |
3efd7b40 | 31 | /* Mirroring the order of deinit calls in rpm-4.11.1/lib/poptALL.c::rpmcliFini() */ |
56d713b9 JR |
32 | - rpmFreeCrypto(); |
33 | rpmFreeMacros(NULL); | |
3efd7b40 | 34 | rpmFreeRpmrc(); |
56d713b9 | 35 | |
b0d9bbce JR |
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) | |
f0252d8d | 45 | @@ -119,13 +118,20 @@ char *rpm_get_fingerprint(const char *pk |
56d713b9 JR |
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 | { | |
adb4721f | 68 | log_notice("cannot get siggpg:pgpsig. reason: %s", errmsg); |
f0252d8d | 69 | @@ -138,8 +144,8 @@ char *rpm_get_fingerprint(const char *pk |
56d713b9 JR |
70 | |
71 | error: | |
72 | free(pgpsig); | |
73 | - rpmdbFreeIterator(iter); | |
74 | - rpmtsFree(ts); | |
75 | + iter = rpmmiFree(iter); | |
76 | + ts = rpmtsFree(ts); | |
f0252d8d | 77 | return fingerprint; |
56d713b9 JR |
78 | } |
79 | ||
f0252d8d | 80 | @@ -156,8 +162,8 @@ bool CheckHash(const char* pPackage, con |
adb4721f JB |
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 | ||
b0d9bbce | 91 | @@ -177,14 +183,14 @@ bool CheckHash(const char* pPackage, con |
56d713b9 JR |
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 | */ | |
adb4721f | 102 | |
b0d9bbce | 103 | #ifdef HAVE_LIBRPM |
adb4721f JB |
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; | |
f0252d8d | 109 | @@ -191,11 +197,7 @@ static int rpm_query_file(rpmts *ts, rpm |
adb4721f JB |
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 */ | |
f0252d8d | 122 | @@ -204,12 +206,12 @@ static int rpm_query_file(rpmts *ts, rpm |
adb4721f JB |
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 | } | |
f0252d8d | 138 | @@ -222,8 +224,8 @@ char* rpm_get_component(const char *file |
56d713b9 JR |
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 | ||
adb4721f JB |
147 | if (rpm_query_file(&ts, &iter, &header, filename, rootdir_or_NULL) < 0) |
148 | return NULL; | |
f0252d8d | 149 | @@ -232,7 +234,7 @@ char* rpm_get_component(const char *file |
adb4721f | 150 | goto error; |
56d713b9 JR |
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); | |
f0252d8d | 158 | @@ -243,8 +245,8 @@ char* rpm_get_component(const char *file |
56d713b9 JR |
159 | free(srpm); |
160 | ||
161 | error: | |
162 | - rpmdbFreeIterator(iter); | |
56d713b9 JR |
163 | - rpmtsFree(ts); |
164 | + iter = rpmmiFree(iter); | |
165 | + ts = rpmtsFree(ts); | |
166 | return ret; | |
167 | } | |
168 | ||
f0252d8d | 169 | @@ -252,7 +254,7 @@ char* rpm_get_component(const char *file |
56d713b9 JR |
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 | \ | |
f0252d8d | 178 | @@ -272,8 +274,8 @@ pkg_add_id(vendor); |
56d713b9 JR |
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 | ||
f0252d8d | 189 | @@ -320,15 +322,15 @@ struct pkg_envra *rpm_get_package_nvr(co |
6dee31c3 JB |
190 | |
191 | p->p_nvr = xasprintf("%s-%s-%s", p->p_name, p->p_version, p->p_release); | |
192 | ||
193 | - rpmdbFreeIterator(iter); | |
adb4721f | 194 | - rpmtsFree(ts); |
6dee31c3 | 195 | + iter = rpmmiFree(iter); |
adb4721f | 196 | + ts = rpmtsFree(ts); |
6dee31c3 JB |
197 | return p; |
198 | ||
56d713b9 JR |
199 | error: |
200 | free_pkg_envra(p); | |
201 | ||
202 | - rpmdbFreeIterator(iter); | |
56d713b9 JR |
203 | - rpmtsFree(ts); |
204 | + iter = rpmmiFree(iter); | |
205 | + ts = rpmtsFree(ts); | |
206 | return NULL; | |
207 | } | |
208 | ||
1d2696de JR |
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; |