]> git.pld-linux.org Git - packages/appstream-glib.git/blob - appstream-glib-rpm5.patch
- updated to 0.2.6
[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.6/libappstream-builder/asb-package-rpm.c.orig    2014-09-01 15:57:32.000000000 +0200
32 +++ appstream-glib-0.2.6/libappstream-builder/asb-package-rpm.c 2014-09-04 16:55:26.028784594 +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 @@ -239,6 +239,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_simple:
78   **/
79 @@ -251,7 +281,7 @@ asb_package_rpm_ensure_simple (AsbPackag
80         rpmtd td;
81  
82         /* get the simple stuff */
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 @@ -268,7 +298,7 @@ asb_package_rpm_ensure_simple (AsbPackag
89         asb_package_rpm_set_license (pkg, rpmtdGetString (td));
90         headerGet (priv->h, RPMTAG_SOURCERPM, td, HEADERGET_MINMEM);
91         asb_package_rpm_set_source (pkg, rpmtdGetString (td));
92 -       rpmtdFree (td);
93 +       free (td);
94         return ret;
95  }
96  
97 @@ -341,7 +371,7 @@ asb_package_rpm_ensure_releases (AsbPack
98  
99         /* read out the file list */
100         for (i = 0; i < 3; i++)
101 -               td[i] = rpmtdNew ();
102 +               td[i] = malloc (sizeof (*td[1]));
103         /* get the ChangeLog info */
104         headerGet (priv->h, RPMTAG_CHANGELOGTIME, td[0], HEADERGET_MINMEM);
105         headerGet (priv->h, RPMTAG_CHANGELOGNAME, td[1], HEADERGET_MINMEM);
106 @@ -356,7 +386,7 @@ asb_package_rpm_ensure_releases (AsbPack
107         }
108         for (i = 0; i < 3; i++) {
109                 rpmtdFreeData (td[i]);
110 -               rpmtdFree (td[i]);
111 +               free (td[i]);
112         }
113         return TRUE;
114  }
115 @@ -378,7 +408,7 @@ asb_package_rpm_ensure_deps (AsbPackage
116         _cleanup_strv_free_ gchar **deps = NULL;
117  
118         /* read out the dep list */
119 -       td = rpmtdNew ();
120 +       td = malloc (sizeof (*td));
121         rc = headerGet (priv->h, RPMTAG_REQUIRENAME, td, HEADERGET_MINMEM);
122         if (!rc) {
123                 ret = FALSE;
124 @@ -406,7 +436,7 @@ asb_package_rpm_ensure_deps (AsbPackage
125         asb_package_set_deps (pkg, deps);
126  out:
127         rpmtdFreeData (td);
128 -       rpmtdFree (td);
129 +       free (td);
130         return ret;
131  }
132  
133 @@ -428,7 +458,7 @@ asb_package_rpm_ensure_filelists (AsbPac
134  
135         /* read out the file list */
136         for (i = 0; i < 3; i++)
137 -               td[i] = rpmtdNew ();
138 +               td[i] = malloc (sizeof (*td[i]));
139         rc = headerGet (priv->h, RPMTAG_DIRNAMES, td[0], HEADERGET_MINMEM);
140         if (rc)
141                 rc = headerGet (priv->h, RPMTAG_BASENAMES, td[1], HEADERGET_MINMEM);
142 @@ -463,7 +493,7 @@ asb_package_rpm_ensure_filelists (AsbPac
143  out:
144         for (i = 0; i < 3; i++) {
145                 rpmtdFreeData (td[i]);
146 -               rpmtdFree (td[i]);
147 +               free (td[i]);
148         }
149         return ret;
150  }
This page took 1.332803 seconds and 3 git commands to generate.