]> git.pld-linux.org Git - packages/appstream-glib.git/blame - appstream-glib-rpm5.patch
- updated to 0.5.16
[packages/appstream-glib.git] / appstream-glib-rpm5.patch
CommitLineData
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
4775b279
JB
31--- appstream-glib-0.3.4/libappstream-builder/asb-package-rpm.c.orig 2014-12-22 17:02:12.000000000 +0100
32+++ appstream-glib-0.3.4/libappstream-builder/asb-package-rpm.c 2015-01-20 18:51:42.939675985 +0100
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
4775b279
JB
123@@ -290,14 +320,18 @@ asb_package_rpm_ensure_url (AsbPackage *
124 static gboolean
125 asb_package_rpm_ensure_vcs (AsbPackage *pkg, GError **error)
126 {
127+#ifdef RPMTAG_VCS
128 AsbPackageRpm *pkg_rpm = ASB_PACKAGE_RPM (pkg);
129 AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
130 rpmtd td;
131
132- td = rpmtdNew ();
133+ td = malloc (sizeof (*td));
134 headerGet (priv->h, RPMTAG_VCS, td, HEADERGET_MINMEM);
135 asb_package_set_vcs (pkg, rpmtdGetString (td));
136 rpmtdFree (td);
137+#else
138+ asb_package_set_vcs (pkg, NULL);
139+#endif
140 return TRUE;
141 }
142
143@@ -311,10 +345,10 @@ asb_package_rpm_ensure_license (AsbPacka
50cd6ceb
JB
144 AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
145 rpmtd td;
146
147- td = rpmtdNew ();
148+ td = malloc (sizeof (*td));
149 headerGet (priv->h, RPMTAG_LICENSE, td, HEADERGET_MINMEM);
150 asb_package_rpm_set_license (pkg, rpmtdGetString (td));
151- rpmtdFree (td);
152+ free (td);
153 return TRUE;
77502258
JB
154 }
155
4775b279 156@@ -387,7 +421,7 @@ asb_package_rpm_ensure_releases (AsbPack
77502258
JB
157
158 /* read out the file list */
159 for (i = 0; i < 3; i++)
160- td[i] = rpmtdNew ();
161+ td[i] = malloc (sizeof (*td[1]));
162 /* get the ChangeLog info */
163 headerGet (priv->h, RPMTAG_CHANGELOGTIME, td[0], HEADERGET_MINMEM);
164 headerGet (priv->h, RPMTAG_CHANGELOGNAME, td[1], HEADERGET_MINMEM);
4775b279 165@@ -402,7 +436,7 @@ asb_package_rpm_ensure_releases (AsbPack
77502258
JB
166 }
167 for (i = 0; i < 3; i++) {
168 rpmtdFreeData (td[i]);
169- rpmtdFree (td[i]);
170+ free (td[i]);
171 }
172 return TRUE;
173 }
4775b279 174@@ -424,7 +458,7 @@ asb_package_rpm_ensure_deps (AsbPackage
77502258
JB
175 _cleanup_strv_free_ gchar **deps = NULL;
176
177 /* read out the dep list */
178- td = rpmtdNew ();
179+ td = malloc (sizeof (*td));
180 rc = headerGet (priv->h, RPMTAG_REQUIRENAME, td, HEADERGET_MINMEM);
181 if (!rc) {
182 ret = FALSE;
4775b279 183@@ -452,7 +486,7 @@ asb_package_rpm_ensure_deps (AsbPackage
77502258
JB
184 asb_package_set_deps (pkg, deps);
185 out:
186 rpmtdFreeData (td);
187- rpmtdFree (td);
188+ free (td);
189 return ret;
190 }
191
4775b279 192@@ -478,7 +512,7 @@ asb_package_rpm_ensure_filelists (AsbPac
77502258
JB
193
194 /* read out the file list */
195 for (i = 0; i < 3; i++)
196- td[i] = rpmtdNew ();
197+ td[i] = malloc (sizeof (*td[i]));
198 rc = headerGet (priv->h, RPMTAG_DIRNAMES, td[0], HEADERGET_MINMEM);
199 if (rc)
200 rc = headerGet (priv->h, RPMTAG_BASENAMES, td[1], HEADERGET_MINMEM);
4775b279 201@@ -513,7 +547,7 @@ asb_package_rpm_ensure_filelists (AsbPac
77502258
JB
202 out:
203 for (i = 0; i < 3; i++) {
204 rpmtdFreeData (td[i]);
205- rpmtdFree (td[i]);
206+ free (td[i]);
207 }
208 return ret;
209 }
This page took 0.072956 seconds and 4 git commands to generate.