]> 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.6.9/libappstream-builder/Makefile.am.orig  2016-08-24 13:20:19.000000000 +0200
2 +++ appstream-glib-0.6.9/libappstream-builder/Makefile.am       2017-03-04 08:00:55.814044416 +0100
3 @@ -90,6 +90,7 @@ libappstream_builder_la_LDFLAGS =                             \
4         -export-symbols-regex '^asb_.*'
5  
6  libappstream_builder_la_CFLAGS =                               \
7 +       $(RPM_CFLAGS)                                           \
8         $(WARN_CFLAGS)
9  
10  check_PROGRAMS =                                               \
11 @@ -133,11 +134,6 @@ AppStreamBuilder_1_0_gir_LIBS =                                    \
12         $(AS_GLIB_LIBS)                                         \
13         libappstream-builder.la                                 \
14         archive
15 -if HAVE_RPM
16 -AppStreamBuilder_1_0_gir_LIBS +=                               \
17 -       rpmio                                                   \
18 -       rpm
19 -endif
20  AppStreamBuilder_1_0_gir_FILES = $(introspection_sources)
21  INTROSPECTION_GIRS += AppStreamBuilder-1.0.gir
22  
23 --- appstream-glib-0.6.9/libappstream-builder/asb-package-rpm.c.orig    2016-11-30 11:07:39.000000000 +0100
24 +++ appstream-glib-0.6.9/libappstream-builder/asb-package-rpm.c 2017-03-04 07:59:10.334045621 +0100
25 @@ -33,7 +33,7 @@
26  #include <archive.h>
27  #include <archive_entry.h>
28  
29 -#include <rpm/rpmlib.h>
30 +#include <rpm/rpm46compat.h>
31  #include <rpm/rpmts.h>
32  
33  #include "asb-package-rpm.h"
34 @@ -132,6 +132,36 @@ asb_package_rpm_set_source (AsbPackage *
35         asb_package_set_source_pkgname (pkg, srcrpm);
36  }
37  
38 +static uint64_t rpmtdGetNumber(rpmtd td)
39 +{
40 +    uint64_t val = 0;
41 +    int ix;
42 +    assert(td != NULL);
43 +    ix = (td->ix >= 0 ? td->ix : 0);
44 +
45 +    switch (td->type) {
46 +    case RPM_INT64_TYPE:
47 +       val = *((uint64_t *) td->data + ix);
48 +       break;
49 +    case RPM_INT32_TYPE:
50 +       val = *((uint32_t *) td->data + ix);
51 +       break;
52 +    case RPM_INT16_TYPE:
53 +       val = *((uint16_t *) td->data + ix);
54 +       break;
55 +    case RPM_INT8_TYPE:
56 +    case RPM_CHAR_TYPE:
57 +       val = *((uint8_t *) td->data + ix);
58 +       break;
59 +    default:
60 +       break;
61 +    }
62 +    return val;
63 +}
64 +
65 +#define _RPMVSF_NOSIGNATURES (RPMVSF_NODSAHEADER | RPMVSF_NORSAHEADER | RPMVSF_NODSA | RPMVSF_NORSA)
66 +#define        _RPMVSF_NODIGESTS (RPMVSF_NOSHA1HEADER | RPMVSF_NOMD5HEADER | RPMVSF_NOSHA1 | RPMVSF_NOMD5)
67 +
68  static gboolean
69  asb_package_rpm_ensure_nevra (AsbPackage *pkg, GError **error)
70  {
71 @@ -139,7 +169,7 @@ asb_package_rpm_ensure_nevra (AsbPackage
72         AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
73         rpmtd td;
74  
75 -       td = rpmtdNew ();
76 +       td = malloc (sizeof (*td));
77         headerGet (priv->h, RPMTAG_NAME, td, HEADERGET_MINMEM);
78         asb_package_set_name (pkg, rpmtdGetString (td));
79         headerGet (priv->h, RPMTAG_VERSION, td, HEADERGET_MINMEM);
80 @@ -150,7 +180,7 @@ asb_package_rpm_ensure_nevra (AsbPackage
81         asb_package_set_arch (pkg, rpmtdGetString (td));
82         headerGet (priv->h, RPMTAG_EPOCH, td, HEADERGET_MINMEM);
83         asb_package_set_epoch (pkg, (guint) rpmtdGetNumber (td));
84 -       rpmtdFree (td);
85 +       free (td);
86         return TRUE;
87  }
88  
89 @@ -161,10 +191,10 @@ asb_package_rpm_ensure_source (AsbPackag
90         AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
91         rpmtd td;
92  
93 -       td = rpmtdNew ();
94 +       td = malloc (sizeof (*td));
95         headerGet (priv->h, RPMTAG_SOURCERPM, td, HEADERGET_MINMEM);
96         asb_package_rpm_set_source (pkg, rpmtdGetString (td));
97 -       rpmtdFree (td);
98 +       free (td);
99         return TRUE;
100  }
101  
102 @@ -175,24 +205,28 @@ asb_package_rpm_ensure_url (AsbPackage *
103         AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
104         rpmtd td;
105  
106 -       td = rpmtdNew ();
107 +       td = malloc (sizeof (*td));
108         headerGet (priv->h, RPMTAG_URL, td, HEADERGET_MINMEM);
109         asb_package_set_url (pkg, rpmtdGetString (td));
110 -       rpmtdFree (td);
111 +       free (td);
112         return TRUE;
113  }
114  
115  static gboolean
116  asb_package_rpm_ensure_vcs (AsbPackage *pkg, GError **error)
117  {
118 +#ifdef RPMTAG_VCS
119         AsbPackageRpm *pkg_rpm = ASB_PACKAGE_RPM (pkg);
120         AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
121         rpmtd td;
122  
123 -       td = rpmtdNew ();
124 +       td = malloc (sizeof (*td));
125         headerGet (priv->h, RPMTAG_VCS, td, HEADERGET_MINMEM);
126         asb_package_set_vcs (pkg, rpmtdGetString (td));
127 -       rpmtdFree (td);
128 +       free (td);
129 +#else
130 +       asb_package_set_vcs (pkg, NULL);
131 +#endif
132         return TRUE;
133  }
134  
135 @@ -203,10 +237,10 @@ asb_package_rpm_ensure_license (AsbPacka
136         AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
137         rpmtd td;
138  
139 -       td = rpmtdNew ();
140 +       td = malloc (sizeof (*td));
141         headerGet (priv->h, RPMTAG_LICENSE, td, HEADERGET_MINMEM);
142         asb_package_rpm_set_license (pkg, rpmtdGetString (td));
143 -       rpmtdFree (td);
144 +       free (td);
145         return TRUE;
146  }
147  
148 @@ -277,7 +311,7 @@ asb_package_rpm_ensure_releases (AsbPack
149  
150         /* read out the file list */
151         for (i = 0; i < 3; i++)
152 -               td[i] = rpmtdNew ();
153 +               td[i] = malloc (sizeof (*td[1]));
154         /* get the ChangeLog info */
155         headerGet (priv->h, RPMTAG_CHANGELOGTIME, td[0], HEADERGET_MINMEM);
156         headerGet (priv->h, RPMTAG_CHANGELOGNAME, td[1], HEADERGET_MINMEM);
157 @@ -292,7 +326,7 @@ asb_package_rpm_ensure_releases (AsbPack
158         }
159         for (i = 0; i < 3; i++) {
160                 rpmtdFreeData (td[i]);
161 -               rpmtdFree (td[i]);
162 +               free (td[i]);
163         }
164         return TRUE;
165  }
166 @@ -309,7 +343,7 @@ asb_package_rpm_ensure_deps (AsbPackage
167         rpmtd td = NULL;
168  
169         /* read out the dep list */
170 -       td = rpmtdNew ();
171 +       td = malloc (sizeof (*td));
172         rc = headerGet (priv->h, RPMTAG_REQUIRENAME, td, HEADERGET_MINMEM);
173         if (!rc) {
174                 ret = FALSE;
175 @@ -339,7 +373,7 @@ asb_package_rpm_ensure_deps (AsbPackage
176          g_free (tmp);
177  out:
178         rpmtdFreeData (td);
179 -       rpmtdFree (td);
180 +       free (td);
181         return ret;
182  }
183  
184 @@ -362,7 +396,7 @@ asb_package_rpm_ensure_filelists (AsbPac
185  
186         /* read out the file list */
187         for (i = 0; i < 3; i++)
188 -               td[i] = rpmtdNew ();
189 +               td[i] = malloc (sizeof (*td[i]));
190         rc = headerGet (priv->h, RPMTAG_DIRNAMES, td[0], HEADERGET_MINMEM);
191         if (rc)
192                 rc = headerGet (priv->h, RPMTAG_BASENAMES, td[1], HEADERGET_MINMEM);
193 @@ -397,7 +431,7 @@ asb_package_rpm_ensure_filelists (AsbPac
194  out:
195         for (i = 0; i < 3; i++) {
196                 rpmtdFreeData (td[i]);
197 -               rpmtdFree (td[i]);
198 +               free (td[i]);
199         }
200         return ret;
201  }
This page took 0.118316 seconds and 3 git commands to generate.