]> git.pld-linux.org Git - packages/appstream-glib.git/blob - appstream-glib-rpm5.patch
- updated to 0.2.0 (now also appstream-builder library is built)
[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.2.0/libappstream-builder/asb-package-rpm.c.orig    2014-06-21 22:53:36.268565676 +0200
32 +++ appstream-glib-0.2.0/libappstream-builder/asb-package-rpm.c 2014-06-21 22:56:36.995228569 +0200
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 @@ -229,6 +229,33 @@
43         asb_package_set_source (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  /**
74   * asb_package_rpm_ensure_simple:
75   **/
76 @@ -241,7 +268,7 @@
77         rpmtd td;
78  
79         /* get the simple stuff */
80 -       td = rpmtdNew ();
81 +       td = malloc (sizeof (*td));
82         headerGet (priv->h, RPMTAG_NAME, td, HEADERGET_MINMEM);
83         asb_package_set_name (pkg, rpmtdGetString (td));
84         headerGet (priv->h, RPMTAG_VERSION, td, HEADERGET_MINMEM);
85 @@ -258,7 +285,7 @@
86         asb_package_rpm_set_license (pkg, rpmtdGetString (td));
87         headerGet (priv->h, RPMTAG_SOURCERPM, td, HEADERGET_MINMEM);
88         asb_package_rpm_set_source (pkg, rpmtdGetString (td));
89 -       rpmtdFree (td);
90 +       free (td);
91         return ret;
92  }
93  
94 @@ -390,7 +417,7 @@
95  
96         /* read out the file list */
97         for (i = 0; i < 3; i++)
98 -               td[i] = rpmtdNew ();
99 +               td[i] = malloc (sizeof (*td[1]));
100         /* get the ChangeLog info */
101         headerGet (priv->h, RPMTAG_CHANGELOGTIME, td[0], HEADERGET_MINMEM);
102         headerGet (priv->h, RPMTAG_CHANGELOGNAME, td[1], HEADERGET_MINMEM);
103 @@ -405,7 +432,7 @@
104         }
105         for (i = 0; i < 3; i++) {
106                 rpmtdFreeData (td[i]);
107 -               rpmtdFree (td[i]);
108 +               free (td[i]);
109         }
110         return TRUE;
111  }
112 @@ -427,7 +454,7 @@
113         _cleanup_strv_free_ gchar **deps = NULL;
114  
115         /* read out the dep list */
116 -       td = rpmtdNew ();
117 +       td = malloc (sizeof (*td));
118         rc = headerGet (priv->h, RPMTAG_REQUIRENAME, td, HEADERGET_MINMEM);
119         if (!rc) {
120                 ret = FALSE;
121 @@ -455,7 +482,7 @@
122         asb_package_set_deps (pkg, deps);
123  out:
124         rpmtdFreeData (td);
125 -       rpmtdFree (td);
126 +       free (td);
127         return ret;
128  }
129  
130 @@ -477,7 +504,7 @@
131  
132         /* read out the file list */
133         for (i = 0; i < 3; i++)
134 -               td[i] = rpmtdNew ();
135 +               td[i] = malloc (sizeof (*td[i]));
136         rc = headerGet (priv->h, RPMTAG_DIRNAMES, td[0], HEADERGET_MINMEM);
137         if (rc)
138                 rc = headerGet (priv->h, RPMTAG_BASENAMES, td[1], HEADERGET_MINMEM);
139 @@ -512,7 +539,7 @@
140  out:
141         for (i = 0; i < 3; i++) {
142                 rpmtdFreeData (td[i]);
143 -               rpmtdFree (td[i]);
144 +               free (td[i]);
145         }
146         return ret;
147  }
This page took 0.120105 seconds and 4 git commands to generate.