]> git.pld-linux.org Git - packages/appstream-glib.git/blob - appstream-glib-rpm5.patch
- updated to 0.5.16
[packages/appstream-glib.git] / appstream-glib-rpm5.patch
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  
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
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"
42 @@ -225,6 +225,36 @@ asb_package_rpm_set_source (AsbPackage *
43         asb_package_set_source_pkgname (pkg, srcrpm);
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 +}
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)
75 +
76  /**
77   * asb_package_rpm_ensure_nevra:
78   **/
79 @@ -235,7 +265,7 @@ asb_package_rpm_ensure_nevra (AsbPackage
80         AsbPackageRpmPrivate *priv = GET_PRIVATE (pkg_rpm);
81         rpmtd td;
82  
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);
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));
103         headerGet (priv->h, RPMTAG_SOURCERPM, td, HEADERGET_MINMEM);
104         asb_package_rpm_set_source (pkg, rpmtdGetString (td));
105 -       rpmtdFree (td);
106 +       free (td);
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 @@ -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
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;
154  }
155  
156 @@ -387,7 +421,7 @@ asb_package_rpm_ensure_releases (AsbPack
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);
165 @@ -402,7 +436,7 @@ asb_package_rpm_ensure_releases (AsbPack
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  }
174 @@ -424,7 +458,7 @@ asb_package_rpm_ensure_deps (AsbPackage
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;
183 @@ -452,7 +486,7 @@ asb_package_rpm_ensure_deps (AsbPackage
184         asb_package_set_deps (pkg, deps);
185  out:
186         rpmtdFreeData (td);
187 -       rpmtdFree (td);
188 +       free (td);
189         return ret;
190  }
191  
192 @@ -478,7 +512,7 @@ asb_package_rpm_ensure_filelists (AsbPac
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);
201 @@ -513,7 +547,7 @@ asb_package_rpm_ensure_filelists (AsbPac
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.107965 seconds and 3 git commands to generate.