]> git.pld-linux.org Git - packages/appstream-glib.git/blob - appstream-glib-rpm5.patch
- updated to 0.8.2
[packages/appstream-glib.git] / appstream-glib-rpm5.patch
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
3 @@ -27,7 +27,8 @@
4  #include <uuid.h>
5  
6  #ifdef HAVE_RPM
7 -#include <rpm/rpmlib.h>
8 +#include <rpm/rpmio.h>
9 +#include <rpm/rpmevr.h>
10  #endif
11  
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
15 @@ -33,7 +33,7 @@
16  #include <archive.h>
17  #include <archive_entry.h>
18  
19 -#include <rpm/rpmlib.h>
20 +#include <rpm/rpm46compat.h>
21  #include <rpm/rpmts.h>
22  
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);
26  }
27  
28 +static uint64_t rpmtdGetNumber(rpmtd td)
29 +{
30 +    uint64_t val = 0;
31 +    int ix;
32 +    assert(td != NULL);
33 +    ix = (td->ix >= 0 ? td->ix : 0);
34 +
35 +    switch (td->type) {
36 +    case RPM_INT64_TYPE:
37 +       val = *((uint64_t *) td->data + ix);
38 +       break;
39 +    case RPM_INT32_TYPE:
40 +       val = *((uint32_t *) td->data + ix);
41 +       break;
42 +    case RPM_INT16_TYPE:
43 +       val = *((uint16_t *) td->data + ix);
44 +       break;
45 +    case RPM_INT8_TYPE:
46 +    case RPM_CHAR_TYPE:
47 +       val = *((uint8_t *) td->data + ix);
48 +       break;
49 +    default:
50 +       break;
51 +    }
52 +    return val;
53 +}
54 +
55 +#define _RPMVSF_NOSIGNATURES (RPMVSF_NODSAHEADER | RPMVSF_NORSAHEADER | RPMVSF_NODSA | RPMVSF_NORSA)
56 +#define        _RPMVSF_NODIGESTS (RPMVSF_NOSHA1HEADER | RPMVSF_NOMD5HEADER | RPMVSF_NOSHA1 | RPMVSF_NOMD5)
57 +
58  static gboolean
59  asb_package_rpm_ensure_nevra (AsbPackage *pkg, GError **error)
60  {
61 @@ -139,7 +169,7 @@ asb_package_rpm_ensure_nevra (AsbPackage
62         AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
63         rpmtd td;
64  
65 -       td = rpmtdNew ();
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));
74 -       rpmtdFree (td);
75 +       free (td);
76         return TRUE;
77  }
78  
79 @@ -161,10 +191,10 @@ asb_package_rpm_ensure_source (AsbPackag
80         AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
81         rpmtd td;
82  
83 -       td = rpmtdNew ();
84 +       td = malloc (sizeof (*td));
85         headerGet (priv->h, RPMTAG_SOURCERPM, td, HEADERGET_MINMEM);
86         asb_package_rpm_set_source (pkg, rpmtdGetString (td));
87 -       rpmtdFree (td);
88 +       free (td);
89         return TRUE;
90  }
91  
92 @@ -175,24 +205,28 @@ asb_package_rpm_ensure_url (AsbPackage *
93         AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
94         rpmtd td;
95  
96 -       td = rpmtdNew ();
97 +       td = malloc (sizeof (*td));
98         headerGet (priv->h, RPMTAG_URL, td, HEADERGET_MINMEM);
99         asb_package_set_url (pkg, rpmtdGetString (td));
100 -       rpmtdFree (td);
101 +       free (td);
102         return TRUE;
103  }
104  
105  static gboolean
106  asb_package_rpm_ensure_vcs (AsbPackage *pkg, GError **error)
107  {
108 +#ifdef RPMTAG_VCS
109         AsbPackageRpm *pkg_rpm = ASB_PACKAGE_RPM (pkg);
110         AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
111         rpmtd td;
112  
113 -       td = rpmtdNew ();
114 +       td = malloc (sizeof (*td));
115         headerGet (priv->h, RPMTAG_VCS, td, HEADERGET_MINMEM);
116         asb_package_set_vcs (pkg, rpmtdGetString (td));
117 -       rpmtdFree (td);
118 +       free (td);
119 +#else
120 +       asb_package_set_vcs (pkg, NULL);
121 +#endif
122         return TRUE;
123  }
124  
125 @@ -203,10 +237,10 @@ asb_package_rpm_ensure_license (AsbPacka
126         AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
127         rpmtd td;
128  
129 -       td = rpmtdNew ();
130 +       td = malloc (sizeof (*td));
131         headerGet (priv->h, RPMTAG_LICENSE, td, HEADERGET_MINMEM);
132         asb_package_rpm_set_license (pkg, rpmtdGetString (td));
133 -       rpmtdFree (td);
134 +       free (td);
135         return TRUE;
136  }
137  
138 @@ -277,7 +311,7 @@ asb_package_rpm_ensure_releases (AsbPack
139  
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
148         }
149         for (i = 0; i < 3; i++) {
150                 rpmtdFreeData (td[i]);
151 -               rpmtdFree (td[i]);
152 +               free (td[i]);
153         }
154         return TRUE;
155  }
156 @@ -309,7 +343,7 @@ asb_package_rpm_ensure_deps (AsbPackage
157         rpmtd td = NULL;
158  
159         /* read out the dep list */
160 -       td = rpmtdNew ();
161 +       td = malloc (sizeof (*td));
162         rc = headerGet (priv->h, RPMTAG_REQUIRENAME, td, HEADERGET_MINMEM);
163         if (!rc) {
164                 ret = FALSE;
165 @@ -339,7 +373,7 @@ asb_package_rpm_ensure_deps (AsbPackage
166          g_free (tmp);
167  out:
168         rpmtdFreeData (td);
169 -       rpmtdFree (td);
170 +       free (td);
171         return ret;
172  }
173  
174 @@ -362,7 +396,7 @@ asb_package_rpm_ensure_filelists (AsbPac
175  
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);
181         if (rc)
182                 rc = headerGet (priv->h, RPMTAG_BASENAMES, td[1], HEADERGET_MINMEM);
183 @@ -397,7 +431,7 @@ asb_package_rpm_ensure_filelists (AsbPac
184  out:
185         for (i = 0; i < 3; i++) {
186                 rpmtdFreeData (td[i]);
187 -               rpmtdFree (td[i]);
188 +               free (td[i]);
189         }
190         return ret;
191  }
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
194 @@ -29,6 +29,8 @@
195  
196  #include "config.h"
197  
198 +#define _DEFAULT_SOURCE 1
199 +
200  #include <limits.h>
201  #include <archive.h>
202  #include <archive_entry.h>
203
This page took 0.180116 seconds and 3 git commands to generate.