]>
Commit | Line | Data |
---|---|---|
77502258 JB |
1 | --- appstream-glib-0.2.0/libappstream-builder/Makefile.am.orig 2014-06-19 10:09:35.000000000 +0200 |
2 | +++ appstream-glib-0.2.0/libappstream-builder/Makefile.am 2014-06-21 22:26:16.105266525 +0200 | |
3 | @@ -66,6 +66,7 @@ | |
4 | ||
5 | libappstream_builder_la_LIBADD = \ | |
6 | $(AS_GLIB_LIBS) \ | |
7 | + $(LIBARCHIVE_LIBS) \ | |
8 | $(RPM_LIBS) \ | |
9 | $(GLIB_LIBS) | |
10 | ||
11 | @@ -76,6 +77,7 @@ | |
12 | -export-symbols-regex '^asb_.*' | |
13 | ||
14 | libappstream_builder_la_CFLAGS = \ | |
15 | + $(RPM_CFLAGS) \ | |
16 | $(WARNINGFLAGS_C) | |
17 | ||
18 | if HAVE_INTROSPECTION | |
19 | @@ -107,11 +109,6 @@ | |
20 | $(AS_GLIB_LIBS) \ | |
21 | libappstream-builder.la \ | |
22 | archive | |
23 | -if HAVE_RPM | |
24 | -AppStreamBuilder_1_0_gir_LIBS += \ | |
25 | - rpmio \ | |
26 | - rpm | |
27 | -endif | |
28 | AppStreamBuilder_1_0_gir_FILES = $(introspection_sources) | |
29 | INTROSPECTION_GIRS += AppStreamBuilder-1.0.gir | |
30 | ||
50cd6ceb JB |
31 | --- appstream-glib-0.3.0/libappstream-builder/asb-package-rpm.c.orig 2014-08-29 15:35:27.000000000 +0200 |
32 | +++ appstream-glib-0.3.0/libappstream-builder/asb-package-rpm.c 2014-09-04 21:37:12.294741594 +0200 | |
77502258 JB |
33 | @@ -33,7 +33,7 @@ |
34 | #include <archive.h> | |
35 | #include <archive_entry.h> | |
36 | ||
37 | -#include <rpm/rpmlib.h> | |
38 | +#include <rpm/rpm46compat.h> | |
39 | #include <rpm/rpmts.h> | |
40 | ||
41 | #include "as-cleanup.h" | |
50cd6ceb | 42 | @@ -225,6 +225,36 @@ asb_package_rpm_set_source (AsbPackage * |
b715399e | 43 | asb_package_set_source_pkgname (pkg, srcrpm); |
77502258 JB |
44 | } |
45 | ||
46 | +static uint64_t rpmtdGetNumber(rpmtd td) | |
47 | +{ | |
48 | + uint64_t val = 0; | |
49 | + int ix; | |
50 | + assert(td != NULL); | |
51 | + ix = (td->ix >= 0 ? td->ix : 0); | |
52 | + | |
53 | + switch (td->type) { | |
54 | + case RPM_INT64_TYPE: | |
55 | + val = *((uint64_t *) td->data + ix); | |
56 | + break; | |
57 | + case RPM_INT32_TYPE: | |
58 | + val = *((uint32_t *) td->data + ix); | |
59 | + break; | |
60 | + case RPM_INT16_TYPE: | |
61 | + val = *((uint16_t *) td->data + ix); | |
62 | + break; | |
63 | + case RPM_INT8_TYPE: | |
64 | + case RPM_CHAR_TYPE: | |
65 | + val = *((uint8_t *) td->data + ix); | |
66 | + break; | |
67 | + default: | |
68 | + break; | |
69 | + } | |
70 | + return val; | |
71 | +} | |
b715399e JB |
72 | + |
73 | +#define _RPMVSF_NOSIGNATURES (RPMVSF_NODSAHEADER | RPMVSF_NORSAHEADER | RPMVSF_NODSA | RPMVSF_NORSA) | |
74 | +#define _RPMVSF_NODIGESTS (RPMVSF_NOSHA1HEADER | RPMVSF_NOMD5HEADER | RPMVSF_NOSHA1 | RPMVSF_NOMD5) | |
77502258 JB |
75 | + |
76 | /** | |
50cd6ceb | 77 | * asb_package_rpm_ensure_nevra: |
77502258 | 78 | **/ |
50cd6ceb JB |
79 | @@ -235,7 +265,7 @@ asb_package_rpm_ensure_nevra (AsbPackage |
80 | AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm); | |
77502258 JB |
81 | rpmtd td; |
82 | ||
77502258 JB |
83 | - td = rpmtdNew (); |
84 | + td = malloc (sizeof (*td)); | |
85 | headerGet (priv->h, RPMTAG_NAME, td, HEADERGET_MINMEM); | |
86 | asb_package_set_name (pkg, rpmtdGetString (td)); | |
87 | headerGet (priv->h, RPMTAG_VERSION, td, HEADERGET_MINMEM); | |
50cd6ceb JB |
88 | @@ -246,7 +276,7 @@ asb_package_rpm_ensure_nevra (AsbPackage |
89 | asb_package_set_arch (pkg, rpmtdGetString (td)); | |
90 | headerGet (priv->h, RPMTAG_EPOCH, td, HEADERGET_MINMEM); | |
91 | asb_package_set_epoch (pkg, rpmtdGetNumber (td)); | |
92 | - rpmtdFree (td); | |
93 | + free (td); | |
94 | return TRUE; | |
95 | } | |
96 | ||
97 | @@ -260,10 +290,10 @@ asb_package_rpm_ensure_source (AsbPackag | |
98 | AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm); | |
99 | rpmtd td; | |
100 | ||
101 | - td = rpmtdNew (); | |
102 | + td = malloc (sizeof (*td)); | |
77502258 JB |
103 | headerGet (priv->h, RPMTAG_SOURCERPM, td, HEADERGET_MINMEM); |
104 | asb_package_rpm_set_source (pkg, rpmtdGetString (td)); | |
105 | - rpmtdFree (td); | |
106 | + free (td); | |
50cd6ceb JB |
107 | return TRUE; |
108 | } | |
109 | ||
110 | @@ -277,10 +307,10 @@ asb_package_rpm_ensure_url (AsbPackage * | |
111 | AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm); | |
112 | rpmtd td; | |
113 | ||
114 | - td = rpmtdNew (); | |
115 | + td = malloc (sizeof (*td)); | |
116 | headerGet (priv->h, RPMTAG_URL, td, HEADERGET_MINMEM); | |
117 | asb_package_set_url (pkg, rpmtdGetString (td)); | |
118 | - rpmtdFree (td); | |
119 | + free (td); | |
120 | return TRUE; | |
121 | } | |
122 | ||
123 | @@ -294,10 +324,10 @@ asb_package_rpm_ensure_license (AsbPacka | |
124 | AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm); | |
125 | rpmtd td; | |
126 | ||
127 | - td = rpmtdNew (); | |
128 | + td = malloc (sizeof (*td)); | |
129 | headerGet (priv->h, RPMTAG_LICENSE, td, HEADERGET_MINMEM); | |
130 | asb_package_rpm_set_license (pkg, rpmtdGetString (td)); | |
131 | - rpmtdFree (td); | |
132 | + free (td); | |
133 | return TRUE; | |
77502258 JB |
134 | } |
135 | ||
50cd6ceb | 136 | @@ -370,7 +400,7 @@ asb_package_rpm_ensure_releases (AsbPack |
77502258 JB |
137 | |
138 | /* read out the file list */ | |
139 | for (i = 0; i < 3; i++) | |
140 | - td[i] = rpmtdNew (); | |
141 | + td[i] = malloc (sizeof (*td[1])); | |
142 | /* get the ChangeLog info */ | |
143 | headerGet (priv->h, RPMTAG_CHANGELOGTIME, td[0], HEADERGET_MINMEM); | |
144 | headerGet (priv->h, RPMTAG_CHANGELOGNAME, td[1], HEADERGET_MINMEM); | |
50cd6ceb | 145 | @@ -385,7 +415,7 @@ asb_package_rpm_ensure_releases (AsbPack |
77502258 JB |
146 | } |
147 | for (i = 0; i < 3; i++) { | |
148 | rpmtdFreeData (td[i]); | |
149 | - rpmtdFree (td[i]); | |
150 | + free (td[i]); | |
151 | } | |
152 | return TRUE; | |
153 | } | |
50cd6ceb | 154 | @@ -407,7 +437,7 @@ asb_package_rpm_ensure_deps (AsbPackage |
77502258 JB |
155 | _cleanup_strv_free_ gchar **deps = NULL; |
156 | ||
157 | /* read out the dep list */ | |
158 | - td = rpmtdNew (); | |
159 | + td = malloc (sizeof (*td)); | |
160 | rc = headerGet (priv->h, RPMTAG_REQUIRENAME, td, HEADERGET_MINMEM); | |
161 | if (!rc) { | |
162 | ret = FALSE; | |
50cd6ceb | 163 | @@ -435,7 +465,7 @@ asb_package_rpm_ensure_deps (AsbPackage |
77502258 JB |
164 | asb_package_set_deps (pkg, deps); |
165 | out: | |
166 | rpmtdFreeData (td); | |
167 | - rpmtdFree (td); | |
168 | + free (td); | |
169 | return ret; | |
170 | } | |
171 | ||
50cd6ceb | 172 | @@ -461,7 +491,7 @@ asb_package_rpm_ensure_filelists (AsbPac |
77502258 JB |
173 | |
174 | /* read out the file list */ | |
175 | for (i = 0; i < 3; i++) | |
176 | - td[i] = rpmtdNew (); | |
177 | + td[i] = malloc (sizeof (*td[i])); | |
178 | rc = headerGet (priv->h, RPMTAG_DIRNAMES, td[0], HEADERGET_MINMEM); | |
179 | if (rc) | |
180 | rc = headerGet (priv->h, RPMTAG_BASENAMES, td[1], HEADERGET_MINMEM); | |
50cd6ceb | 181 | @@ -496,7 +526,7 @@ asb_package_rpm_ensure_filelists (AsbPac |
77502258 JB |
182 | out: |
183 | for (i = 0; i < 3; i++) { | |
184 | rpmtdFreeData (td[i]); | |
185 | - rpmtdFree (td[i]); | |
186 | + free (td[i]); | |
187 | } | |
188 | return ret; | |
189 | } |