]>
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 | ||
b715399e JB |
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 | |
77502258 JB |
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" | |
b715399e JB |
42 | @@ -239,6 +239,36 @@ asb_package_rpm_set_source (AsbPackage * |
43 | asb_package_set_source_pkgname (pkg, srcrpm); | |
77502258 JB |
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 | +} | |
b715399e JB |
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) | |
77502258 JB |
75 | + |
76 | /** | |
77 | * asb_package_rpm_ensure_simple: | |
78 | **/ | |
b715399e | 79 | @@ -251,7 +281,7 @@ asb_package_rpm_ensure_simple (AsbPackag |
77502258 JB |
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); | |
b715399e | 88 | @@ -268,7 +298,7 @@ asb_package_rpm_ensure_simple (AsbPackag |
77502258 JB |
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 | ||
b715399e | 97 | @@ -341,7 +371,7 @@ asb_package_rpm_ensure_releases (AsbPack |
77502258 JB |
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); | |
b715399e | 106 | @@ -356,7 +386,7 @@ asb_package_rpm_ensure_releases (AsbPack |
77502258 JB |
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 | } | |
b715399e | 115 | @@ -378,7 +408,7 @@ asb_package_rpm_ensure_deps (AsbPackage |
77502258 JB |
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; | |
b715399e | 124 | @@ -406,7 +436,7 @@ asb_package_rpm_ensure_deps (AsbPackage |
77502258 JB |
125 | asb_package_set_deps (pkg, deps); |
126 | out: | |
127 | rpmtdFreeData (td); | |
128 | - rpmtdFree (td); | |
129 | + free (td); | |
130 | return ret; | |
131 | } | |
132 | ||
b715399e | 133 | @@ -428,7 +458,7 @@ asb_package_rpm_ensure_filelists (AsbPac |
77502258 JB |
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); | |
b715399e | 142 | @@ -463,7 +493,7 @@ asb_package_rpm_ensure_filelists (AsbPac |
77502258 JB |
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 | } |