1 --- appstream-glib-0.7.15/libappstream-glib/as-utils.c.orig 2019-02-28 13:26:26.000000000 +0100
2 +++ appstream-glib-0.7.15/libappstream-glib/as-utils.c 2019-06-07 21:39:27.631669049 +0200
7 -#include <rpm/rpmlib.h>
8 +#include <rpm/rpmio.h>
9 +#include <rpm/rpmevr.h>
12 #include "as-app-private.h"
13 --- appstream-glib-0.6.9/libappstream-builder/asb-package-rpm.c.orig 2016-11-30 11:07:39.000000000 +0100
14 +++ appstream-glib-0.6.9/libappstream-builder/asb-package-rpm.c 2017-03-04 07:59:10.334045621 +0100
17 #include <archive_entry.h>
19 -#include <rpm/rpmlib.h>
20 +#include <rpm/rpm46compat.h>
21 #include <rpm/rpmts.h>
23 #include "asb-package-rpm.h"
24 @@ -132,6 +132,36 @@ asb_package_rpm_set_source (AsbPackage *
25 asb_package_set_source_pkgname (pkg, srcrpm);
28 +static uint64_t rpmtdGetNumber(rpmtd td)
33 + ix = (td->ix >= 0 ? td->ix : 0);
36 + case RPM_INT64_TYPE:
37 + val = *((uint64_t *) td->data + ix);
39 + case RPM_INT32_TYPE:
40 + val = *((uint32_t *) td->data + ix);
42 + case RPM_INT16_TYPE:
43 + val = *((uint16_t *) td->data + ix);
47 + val = *((uint8_t *) td->data + ix);
55 +#define _RPMVSF_NOSIGNATURES (RPMVSF_NODSAHEADER | RPMVSF_NORSAHEADER | RPMVSF_NODSA | RPMVSF_NORSA)
56 +#define _RPMVSF_NODIGESTS (RPMVSF_NOSHA1HEADER | RPMVSF_NOMD5HEADER | RPMVSF_NOSHA1 | RPMVSF_NOMD5)
59 asb_package_rpm_ensure_nevra (AsbPackage *pkg, GError **error)
61 @@ -139,7 +169,7 @@ asb_package_rpm_ensure_nevra (AsbPackage
62 AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
66 + td = malloc (sizeof (*td));
67 headerGet (priv->h, RPMTAG_NAME, td, HEADERGET_MINMEM);
68 asb_package_set_name (pkg, rpmtdGetString (td));
69 headerGet (priv->h, RPMTAG_VERSION, td, HEADERGET_MINMEM);
70 @@ -150,7 +180,7 @@ asb_package_rpm_ensure_nevra (AsbPackage
71 asb_package_set_arch (pkg, rpmtdGetString (td));
72 headerGet (priv->h, RPMTAG_EPOCH, td, HEADERGET_MINMEM);
73 asb_package_set_epoch (pkg, (guint) rpmtdGetNumber (td));
79 @@ -161,10 +191,10 @@ asb_package_rpm_ensure_source (AsbPackag
80 AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
84 + td = malloc (sizeof (*td));
85 headerGet (priv->h, RPMTAG_SOURCERPM, td, HEADERGET_MINMEM);
86 asb_package_rpm_set_source (pkg, rpmtdGetString (td));
92 @@ -175,24 +205,28 @@ asb_package_rpm_ensure_url (AsbPackage *
93 AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
97 + td = malloc (sizeof (*td));
98 headerGet (priv->h, RPMTAG_URL, td, HEADERGET_MINMEM);
99 asb_package_set_url (pkg, rpmtdGetString (td));
106 asb_package_rpm_ensure_vcs (AsbPackage *pkg, GError **error)
109 AsbPackageRpm *pkg_rpm = ASB_PACKAGE_RPM (pkg);
110 AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
114 + td = malloc (sizeof (*td));
115 headerGet (priv->h, RPMTAG_VCS, td, HEADERGET_MINMEM);
116 asb_package_set_vcs (pkg, rpmtdGetString (td));
120 + asb_package_set_vcs (pkg, NULL);
125 @@ -203,10 +237,10 @@ asb_package_rpm_ensure_license (AsbPacka
126 AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
130 + td = malloc (sizeof (*td));
131 headerGet (priv->h, RPMTAG_LICENSE, td, HEADERGET_MINMEM);
132 asb_package_rpm_set_license (pkg, rpmtdGetString (td));
138 @@ -277,7 +311,7 @@ asb_package_rpm_ensure_releases (AsbPack
140 /* read out the file list */
141 for (i = 0; i < 3; i++)
142 - td[i] = rpmtdNew ();
143 + td[i] = malloc (sizeof (*td[1]));
144 /* get the ChangeLog info */
145 headerGet (priv->h, RPMTAG_CHANGELOGTIME, td[0], HEADERGET_MINMEM);
146 headerGet (priv->h, RPMTAG_CHANGELOGNAME, td[1], HEADERGET_MINMEM);
147 @@ -292,7 +326,7 @@ asb_package_rpm_ensure_releases (AsbPack
149 for (i = 0; i < 3; i++) {
150 rpmtdFreeData (td[i]);
156 @@ -309,7 +343,7 @@ asb_package_rpm_ensure_deps (AsbPackage
159 /* read out the dep list */
161 + td = malloc (sizeof (*td));
162 rc = headerGet (priv->h, RPMTAG_REQUIRENAME, td, HEADERGET_MINMEM);
165 @@ -339,7 +373,7 @@ asb_package_rpm_ensure_deps (AsbPackage
174 @@ -362,7 +396,7 @@ asb_package_rpm_ensure_filelists (AsbPac
176 /* read out the file list */
177 for (i = 0; i < 3; i++)
178 - td[i] = rpmtdNew ();
179 + td[i] = malloc (sizeof (*td[i]));
180 rc = headerGet (priv->h, RPMTAG_DIRNAMES, td[0], HEADERGET_MINMEM);
182 rc = headerGet (priv->h, RPMTAG_BASENAMES, td[1], HEADERGET_MINMEM);
183 @@ -397,7 +431,7 @@ asb_package_rpm_ensure_filelists (AsbPac
185 for (i = 0; i < 3; i++) {
186 rpmtdFreeData (td[i]);
192 --- appstream-glib-0.7.8/libappstream-builder/asb-package-rpm.c~ 2018-04-20 12:37:25.000000000 +0200
193 +++ appstream-glib-0.7.8/libappstream-builder/asb-package-rpm.c 2018-05-03 10:49:28.865283220 +0200
198 +#define _DEFAULT_SOURCE 1
202 #include <archive_entry.h>