]>
Commit | Line | Data |
---|---|---|
77502258 JB |
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 | } |