]>
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 \ | |
61e5ad49 JB |
11 | --- abrt-2.14.4/src/daemon/rpm.c.orig 2020-08-17 16:37:07.000000000 +0200 |
12 | +++ abrt-2.14.4/src/daemon/rpm.c 2020-10-17 08:24:59.359365923 +0200 | |
13 | @@ -20,10 +20,10 @@ | |
b0d9bbce JR |
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 | /** | |
61e5ad49 | 28 | @@ -72,7 +72,6 @@ void rpm_destroy() |
56d713b9 | 29 | { |
61e5ad49 | 30 | #ifdef HAVE_LIBRPM |
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(); |
61e5ad49 JB |
35 | #endif |
36 | @@ -92,7 +91,7 @@ void rpm_load_gpgkey(const char* filenam | |
b0d9bbce JR |
37 | } |
38 | ||
39 | uint8_t keyID[8]; | |
61e5ad49 JB |
40 | - if (pgpPubkeyKeyID(pkt, pklen, keyID) == 0) |
41 | + if (pgpPubkeyFingerprint(pkt, pklen, keyID) == 0) | |
42 | { | |
43 | char *fingerprint = pgpHexStr(keyID, sizeof(keyID)); | |
44 | if (fingerprint != NULL) | |
45 | @@ -125,13 +124,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 | + | |
61e5ad49 | 66 | if (!pgpsig) |
56d713b9 | 67 | { |
61e5ad49 JB |
68 | log_notice("cannot get siggpg:pgpsig. reason: %s", |
69 | @@ -144,8 +150,8 @@ char *rpm_get_fingerprint(const char *pk | |
70 | fingerprint = g_strdup(pgpsig_tmp + sizeof(" Key ID ") - 1); | |
56d713b9 JR |
71 | |
72 | error: | |
56d713b9 JR |
73 | - rpmdbFreeIterator(iter); |
74 | - rpmtsFree(ts); | |
75 | + iter = rpmmiFree(iter); | |
76 | + ts = rpmtsFree(ts); | |
f0252d8d | 77 | return fingerprint; |
61e5ad49 JB |
78 | #else |
79 | return NULL; | |
80 | @@ -165,8 +171,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 | ||
61e5ad49 | 91 | @@ -186,14 +192,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; | |
61e5ad49 | 109 | @@ -201,11 +207,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 */ | |
61e5ad49 | 122 | @@ -214,12 +216,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 | } | |
61e5ad49 | 138 | @@ -234,8 +236,8 @@ char* rpm_get_component(const char *file |
56d713b9 | 139 | char *ret = NULL; |
61e5ad49 | 140 | g_autofree char *srpm = NULL; |
56d713b9 JR |
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; | |
61e5ad49 | 149 | @@ -244,7 +246,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); | |
61e5ad49 JB |
158 | @@ -254,8 +256,8 @@ char* rpm_get_component(const char *file |
159 | ret = get_package_name_from_NVR_or_NULL(srpm); | |
56d713b9 JR |
160 | |
161 | error: | |
162 | - rpmdbFreeIterator(iter); | |
56d713b9 JR |
163 | - rpmtsFree(ts); |
164 | + iter = rpmmiFree(iter); | |
165 | + ts = rpmtsFree(ts); | |
166 | return ret; | |
61e5ad49 JB |
167 | #else |
168 | return NULL; | |
169 | @@ -267,7 +269,7 @@ char* rpm_get_component(const char *file | |
170 | static inline int pkg_add_##name(Header header, struct pkg_nevra *p) \ | |
56d713b9 JR |
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 | \ | |
61e5ad49 | 178 | @@ -289,8 +291,8 @@ struct pkg_nevra *rpm_get_package_nvr(co |
56d713b9 | 179 | { |
61e5ad49 | 180 | #ifdef HAVE_LIBRPM |
56d713b9 JR |
181 | rpmts ts; |
182 | - rpmdbMatchIterator iter; | |
183 | - Header header; | |
184 | + rpmmi iter = NULL; | |
185 | + Header header = NULL; | |
186 | ||
61e5ad49 | 187 | struct pkg_nevra *p = NULL; |
6dee31c3 | 188 | |
61e5ad49 JB |
189 | @@ -341,15 +343,15 @@ struct pkg_nevra *rpm_get_package_nvr(co |
190 | else | |
191 | p->p_nvr = g_strdup_printf("%s:%s-%s-%s", p->p_name, p->p_epoch, p->p_version, p->p_release); | |
6dee31c3 JB |
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 | 199 | error: |
61e5ad49 | 200 | free_pkg_nevra(p); |
56d713b9 JR |
201 | |
202 | - rpmdbFreeIterator(iter); | |
56d713b9 JR |
203 | - rpmtsFree(ts); |
204 | + iter = rpmmiFree(iter); | |
205 | + ts = rpmtsFree(ts); | |
206 | return NULL; | |
61e5ad49 JB |
207 | #else |
208 | return NULL; | |
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; |