createrepo_c library 1.2.3
C library for metadata manipulation
Loading...
Searching...
No Matches
deltarpms.h
1/* createrepo_c - Library of routines for manipulation with repodata
2 * Copyright (C) 2014 Tomas Mlcoch
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version 2
7 * of the License, or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
17 * USA.
18 */
19
20#ifndef __C_CREATEREPOLIB_DELTARPMS_H__
21#define __C_CREATEREPOLIB_DELTARPMS_H__
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27#include <glib.h>
28#include "package.h"
29#include "parsehdr.h"
30#include "xml_file.h"
31
36
37#ifndef CR_DELTA_RPM_SUPPORT
38/* #undef CR_DELTA_RPM_SUPPORT */
39#endif
40#define CR_DEFAULT_MAX_DELTA_RPM_SIZE 100000000
41
42typedef struct {
43 cr_Package *package;
44 char *nevr;
45 char *sequence;
46 GStringChunk *chunk;
48
49typedef struct {
50 char *name;
51 char *arch;
52 char *epoch;
53 char *version;
54 char *release;
55 char *location_href;
56 gint64 size_installed;
57
58 char *path;
59 GStringChunk *chunk;
61
62gboolean cr_drpm_support(void);
63
64#ifdef CR_DELTA_RPM_SUPPORT
65char *
66cr_drpm_create(cr_DeltaTargetPackage *old,
68 const char *destdir,
69 GError **err);
70
72cr_deltapackage_from_drpm_base(const char *filename,
73 int changelog_limit,
75 GError **err);
76
77void
78cr_deltapackage_free(cr_DeltaPackage *deltapackage);
79
80GHashTable *
81cr_deltarpms_scan_oldpackagedirs(GSList *oldpackagedirs,
82 gint64 max_delta_rpm_size,
83 GError **err);
84
86cr_deltatargetpackage_from_package(cr_Package *pkg,
87 const char *path,
88 GError **err);
89
91cr_deltatargetpackage_from_rpm(const char *path, GError **err);
92
93void
94cr_deltatargetpackage_free(cr_DeltaTargetPackage *tpkg);
95
96gboolean
97cr_deltarpms_parallel_deltas(GSList *targetpackages,
98 GHashTable *oldpackages,
99 const char *outdeltadir,
100 gint num_deltas,
101 gint workers,
102 gint64 max_delta_rpm_size,
103 gint64 max_work_size,
104 GError **err);
105
106GSList *
107cr_deltarpms_scan_targetdir(const char *path,
108 gint64 max_delta_rpm_size,
109 GError **err);
110
111gboolean
112cr_deltarpms_generate_prestodelta_file(const gchar *drpmdir,
113 cr_XmlFile *f,
114 cr_XmlFile *zck_f,
115 cr_ChecksumType checksum_type,
116 gint workers,
117 const gchar *prefix_to_strip,
118 GError **err);
119#endif
120
121
123
124#ifdef __cplusplus
125}
126#endif
127
128#endif /* __C_CREATEREPOLIB_DELTARPMS_H__ */
cr_ChecksumType
Definition checksum.h:43
cr_HeaderReadingFlags
Definition parsehdr.h:38