forked from ariadne/pkgconf
main: --simulate: enhancements
parent
74c33b9f61
commit
f9d93a1f81
33
main.c
33
main.c
|
@ -412,12 +412,10 @@ print_graph_node(pkg_t *pkg, void *data, unsigned int flags)
|
||||||
(void) data;
|
(void) data;
|
||||||
(void) flags;
|
(void) flags;
|
||||||
|
|
||||||
printf("node '%s'", pkg->id);
|
printf("node '%s' {\n", pkg->id);
|
||||||
|
|
||||||
if (pkg->requires.head != NULL)
|
if (pkg->version != NULL)
|
||||||
printf(" {\n");
|
printf(" version = '%s';\n", pkg->version);
|
||||||
else
|
|
||||||
printf(";\n");
|
|
||||||
|
|
||||||
PKG_FOREACH_LIST_ENTRY(pkg->requires.head, n)
|
PKG_FOREACH_LIST_ENTRY(pkg->requires.head, n)
|
||||||
{
|
{
|
||||||
|
@ -434,8 +432,7 @@ print_graph_node(pkg_t *pkg, void *data, unsigned int flags)
|
||||||
printf(";\n");
|
printf(";\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pkg->requires.head != NULL)
|
printf("};\n");
|
||||||
printf("};\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
|
@ -823,6 +820,17 @@ main(int argc, char *argv[])
|
||||||
|
|
||||||
ret = EXIT_SUCCESS;
|
ret = EXIT_SUCCESS;
|
||||||
|
|
||||||
|
if ((want_flags & PKG_SIMULATE) == PKG_SIMULATE)
|
||||||
|
{
|
||||||
|
want_flags &= ~(PKG_CFLAGS|PKG_LIBS);
|
||||||
|
|
||||||
|
if (!pkg_queue_apply(&pkgq, apply_simulate, -1, global_traverse_flags | PKGF_SKIP_ERRORS, NULL))
|
||||||
|
{
|
||||||
|
ret = EXIT_FAILURE;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!pkg_queue_validate(&pkgq, maximum_traverse_depth, global_traverse_flags))
|
if (!pkg_queue_validate(&pkgq, maximum_traverse_depth, global_traverse_flags))
|
||||||
{
|
{
|
||||||
ret = EXIT_FAILURE;
|
ret = EXIT_FAILURE;
|
||||||
|
@ -847,17 +855,6 @@ main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((want_flags & PKG_SIMULATE) == PKG_SIMULATE)
|
|
||||||
{
|
|
||||||
want_flags &= ~(PKG_CFLAGS|PKG_LIBS);
|
|
||||||
|
|
||||||
if (!pkg_queue_apply(&pkgq, apply_simulate, -1, global_traverse_flags, NULL))
|
|
||||||
{
|
|
||||||
ret = EXIT_FAILURE;
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((want_flags & PKG_MODVERSION) == PKG_MODVERSION)
|
if ((want_flags & PKG_MODVERSION) == PKG_MODVERSION)
|
||||||
{
|
{
|
||||||
want_flags &= ~(PKG_CFLAGS|PKG_LIBS);
|
want_flags &= ~(PKG_CFLAGS|PKG_LIBS);
|
||||||
|
|
2
pkg.c
2
pkg.c
|
@ -865,7 +865,7 @@ pkg_walk_list(pkg_t *parent,
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
pkgdep = pkg_verify_dependency(depnode, flags, &eflags);
|
pkgdep = pkg_verify_dependency(depnode, flags, &eflags);
|
||||||
if (eflags != PKG_ERRF_OK)
|
if (eflags != PKG_ERRF_OK && !(flags & PKGF_SKIP_ERRORS))
|
||||||
return pkg_report_graph_error(parent, pkgdep, depnode, eflags);
|
return pkg_report_graph_error(parent, pkgdep, depnode, eflags);
|
||||||
if (pkgdep->flags & PKG_PROPF_SEEN)
|
if (pkgdep->flags & PKG_PROPF_SEEN)
|
||||||
{
|
{
|
||||||
|
|
19
pkg.h
19
pkg.h
|
@ -108,15 +108,16 @@ struct pkg_ {
|
||||||
#define PKG_MODULE_SEPARATOR(c) ((c) == ',' || isspace ((c)))
|
#define PKG_MODULE_SEPARATOR(c) ((c) == ',' || isspace ((c)))
|
||||||
#define PKG_OPERATOR_CHAR(c) ((c) == '<' || (c) == '>' || (c) == '!' || (c) == '=')
|
#define PKG_OPERATOR_CHAR(c) ((c) == '<' || (c) == '>' || (c) == '!' || (c) == '=')
|
||||||
|
|
||||||
#define PKGF_NONE 0x00
|
#define PKGF_NONE 0x000
|
||||||
#define PKGF_SEARCH_PRIVATE 0x01
|
#define PKGF_SEARCH_PRIVATE 0x001
|
||||||
#define PKGF_ENV_ONLY 0x02
|
#define PKGF_ENV_ONLY 0x002
|
||||||
#define PKGF_NO_UNINSTALLED 0x04
|
#define PKGF_NO_UNINSTALLED 0x004
|
||||||
#define PKGF_SKIP_ROOT_VIRTUAL 0x08
|
#define PKGF_SKIP_ROOT_VIRTUAL 0x008
|
||||||
#define PKGF_MERGE_PRIVATE_FRAGMENTS 0x10
|
#define PKGF_MERGE_PRIVATE_FRAGMENTS 0x010
|
||||||
#define PKGF_SKIP_CONFLICTS 0x20
|
#define PKGF_SKIP_CONFLICTS 0x020
|
||||||
#define PKGF_NO_CACHE 0x40
|
#define PKGF_NO_CACHE 0x040
|
||||||
#define PKGF_MUNGE_SYSROOT_PREFIX 0x80
|
#define PKGF_MUNGE_SYSROOT_PREFIX 0x080
|
||||||
|
#define PKGF_SKIP_ERRORS 0x100
|
||||||
|
|
||||||
#define PKG_ERRF_OK 0x0
|
#define PKG_ERRF_OK 0x0
|
||||||
#define PKG_ERRF_PACKAGE_NOT_FOUND 0x1
|
#define PKG_ERRF_PACKAGE_NOT_FOUND 0x1
|
||||||
|
|
Loading…
Reference in New Issue