34 #include <archive_entry.h>
35 #include <prop/proplib.h>
39 # ifndef __BEGIN_DECLS
40 # define __BEGIN_DECLS extern "C" {
43 # define __END_DECLS }
46 # ifndef __BEGIN_DECLS
47 # define __BEGIN_DECLS
65 #define XBPS_PKGINDEX_VERSION "1.6"
67 #define XBPS_API_VERSION "20121215"
70 #define XBPS_VERSION "UNSET"
73 #define XBPS_GIT "UNSET"
79 #define XBPS_RELVER "XBPS: " XBPS_VERSION \
80 " API: " XBPS_API_VERSION \
81 " INDEX: " XBPS_PKGINDEX_VERSION \
88 #define XBPS_META_PATH "var/db/xbps"
94 #define XBPS_CACHE_PATH "var/cache/xbps"
100 #define XBPS_PKGDB "pkgdb.plist"
106 #define XBPS_PKGPROPS "props.plist"
112 #define XBPS_PKGFILES "files.plist"
118 #define XBPS_PKGINDEX "index.plist"
124 #define XBPS_PKGINDEX_FILES "index-files.plist"
130 #define XBPS_SYSDIR "/xbps"
131 #ifndef XBPS_SYSCONF_PATH
132 #define XBPS_SYSCONF_PATH "/etc" XBPS_SYSDIR
139 #define XBPS_CONF_DEF XBPS_SYSCONF_PATH "/xbps.conf"
146 #define XBPS_FLAG_VERBOSE 0x00000001
154 #define XBPS_FLAG_FORCE_CONFIGURE 0x00000002
162 #define XBPS_FLAG_FORCE_REMOVE_FILES 0x00000004
169 #define XBPS_FLAG_SYSLOG 0x00000008
176 #define XBPS_FLAG_INSTALL_AUTO 0x00000010
183 #define XBPS_FLAG_INSTALL_MANUAL 0x00000020
189 #define XBPS_FLAG_DEBUG 0x00000040
197 #define XBPS_FLAG_FORCE_INSTALL 0x00000080
203 #define XBPS_FETCH_CACHECONN 6
209 #define XBPS_FETCH_CACHECONN_HOST 2
215 #define XBPS_FETCH_TIMEOUT 30
269 typedef enum xbps_state {
270 XBPS_STATE_UNKNOWN = 0,
271 XBPS_STATE_TRANS_DOWNLOAD,
272 XBPS_STATE_TRANS_VERIFY,
273 XBPS_STATE_TRANS_RUN,
274 XBPS_STATE_TRANS_CONFIGURE,
278 XBPS_STATE_REMOVE_DONE,
279 XBPS_STATE_REMOVE_FILE,
280 XBPS_STATE_REMOVE_FILE_OBSOLETE,
282 XBPS_STATE_PURGE_DONE,
285 XBPS_STATE_INSTALL_DONE,
287 XBPS_STATE_UPDATE_DONE,
289 XBPS_STATE_CONFIGURE,
290 XBPS_STATE_CONFIG_FILE,
292 XBPS_STATE_UNREGISTER,
294 XBPS_STATE_VERIFY_FAIL,
295 XBPS_STATE_DOWNLOAD_FAIL,
296 XBPS_STATE_REMOVE_FAIL,
297 XBPS_STATE_REMOVE_FILE_FAIL,
298 XBPS_STATE_REMOVE_FILE_HASH_FAIL,
299 XBPS_STATE_REMOVE_FILE_OBSOLETE_FAIL,
300 XBPS_STATE_PURGE_FAIL,
301 XBPS_STATE_CONFIGURE_FAIL,
302 XBPS_STATE_CONFIG_FILE_FAIL,
303 XBPS_STATE_UPDATE_FAIL,
304 XBPS_STATE_UNPACK_FAIL,
305 XBPS_STATE_REGISTER_FAIL,
306 XBPS_STATE_UNREGISTER_FAIL,
307 XBPS_STATE_REPOSYNC_FAIL
493 prop_array_t repo_pool;
506 prop_dictionary_t pkg_metad;
512 prop_dictionary_t pkgdb_revdeps;
586 const char *repository;
620 void xbps_dbg_printf(
struct xbps_handle *,
const char *, ...);
621 void xbps_dbg_printf_append(
struct xbps_handle *,
const char *, ...);
622 void xbps_error_printf(
const char *, ...);
623 void xbps_warn_printf(
const char *, ...);
733 prop_dictionary_t instd,
734 prop_dictionary_t newd);
751 int (*fn)(
struct xbps_handle *, prop_object_t,
void *,
bool *),
767 int (*fn)(
struct xbps_handle *, prop_object_t,
void *,
bool *),
845 prop_dictionary_t pkgd,
876 const size_t blobsiz,
920 int (*fn)(
struct xbps_handle *, prop_object_t,
void *,
bool *),
939 int (*fn)(
struct xbps_handle *, prop_object_t,
void *,
bool *),
959 prop_dictionary_t dict,
961 int (*fn)(
struct xbps_handle *, prop_object_t,
void *,
bool *),
981 prop_dictionary_t dict,
983 int (*fn)(
struct xbps_handle *, prop_object_t,
void *,
bool *),
1013 prop_array_t provides);
1087 prop_dictionary_t pkg_dict,
1141 prop_dictionary_t dict,
1143 const char *pkgver);
1211 const char *pkgname,
1273 const char *plistf);
1392 const char *pattern,
1393 const char *plistf);
1445 typedef enum pkg_state {
1446 XBPS_PKG_STATE_UNPACKED = 1,
1447 XBPS_PKG_STATE_INSTALLED,
1448 XBPS_PKG_STATE_BROKEN,
1449 XBPS_PKG_STATE_HALF_REMOVED,
1450 XBPS_PKG_STATE_NOT_INSTALLED,
1464 const char *pkgname,
1489 const char *pkgname,
1490 const char *version,
1693 const char *target);
1719 int xbps_cmpver(
const char *pkg1,
const char *pkg2);