projects
/
platform
/
upstream
/
libsolv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Upstream version 0.7.0
[platform/upstream/libsolv.git]
/
examples
/
solv
/
solv.c
diff --git
a/examples/solv/solv.c
b/examples/solv/solv.c
index
42ab751
..
3deb1a0
100644
(file)
--- a/
examples/solv/solv.c
+++ b/
examples/solv/solv.c
@@
-130,7
+130,7
@@
showdiskusagechanges(Transaction *trans)
duc[3].path = "/etc";
transaction_calc_duchanges(trans, duc, 4);
for (i = 0; i < 4; i++)
duc[3].path = "/etc";
transaction_calc_duchanges(trans, duc, 4);
for (i = 0; i < 4; i++)
- printf("duchanges %s: %
d K %
d inodes\n", duc[i].path, duc[i].kbytes, duc[i].files);
+ printf("duchanges %s: %
lld K %ll
d inodes\n", duc[i].path, duc[i].kbytes, duc[i].files);
}
#endif
}
#endif
@@
-169,7
+169,6
@@
find_repo(const char *name, Pool *pool, struct repoinfo *repoinfos, int nrepoinf
return 0;
}
return 0;
}
-
#define MODE_LIST 0
#define MODE_INSTALL 1
#define MODE_ERASE 2
#define MODE_LIST 0
#define MODE_INSTALL 1
#define MODE_ERASE 2
@@
-227,6
+226,7
@@
main(int argc, char **argv)
char *rootdir = 0;
char *keyname = 0;
int keyname_depstr = 0;
char *rootdir = 0;
char *keyname = 0;
int keyname_depstr = 0;
+ int keyname_alldeps = 0; /* dnf repoquesy --alldeps */
int debuglevel = 0;
int answer, acnt = 0;
char *testcase = 0;
int debuglevel = 0;
int answer, acnt = 0;
char *testcase = 0;
@@
-316,9
+316,15
@@
main(int argc, char **argv)
argc--;
argv++;
}
argc--;
argv++;
}
+ else if (argc > 1 && !strcmp(argv[1], "--alldeps"))
+ {
+ keyname_alldeps = 1; /* dnf repoquesy --alldeps */
+ argc--;
+ argv++;
+ }
else if (argc > 1 && !strcmp(argv[1], "--depstr"))
{
else if (argc > 1 && !strcmp(argv[1], "--depstr"))
{
- keyname_depstr = 1;
+ keyname_depstr = 1;
/* do literal matching instead of dep intersection */
argc--;
argv++;
}
argc--;
argv++;
}
@@
-539,7
+545,7
@@
main(int argc, char **argv)
flags |= SELECTION_FILELIST | (mode == MODE_ERASE ? SELECTION_INSTALLED_ONLY : 0);
if (keyname && keyname_depstr)
flags |= SELECTION_MATCH_DEPSTR;
flags |= SELECTION_FILELIST | (mode == MODE_ERASE ? SELECTION_INSTALLED_ONLY : 0);
if (keyname && keyname_depstr)
flags |= SELECTION_MATCH_DEPSTR;
- if (!keyname)
+ if (!keyname
|| keyname_alldeps
)
rflags = selection_make(pool, &job2, argv[i], flags);
else
rflags = selection_make_matchdeps(pool, &job2, argv[i], flags, pool_str2id(pool, keyname, 1), 0);
rflags = selection_make(pool, &job2, argv[i], flags);
else
rflags = selection_make_matchdeps(pool, &job2, argv[i], flags, pool_str2id(pool, keyname, 1), 0);
@@
-552,7
+558,7
@@
main(int argc, char **argv)
if (!job2.count)
{
flags |= SELECTION_NOCASE;
if (!job2.count)
{
flags |= SELECTION_NOCASE;
- if (!keyname)
+ if (!keyname
|| keyname_alldeps
)
rflags = selection_make(pool, &job2, argv[i], flags);
else
rflags = selection_make_matchdeps(pool, &job2, argv[i], flags, pool_str2id(pool, keyname, 1), 0);
rflags = selection_make(pool, &job2, argv[i], flags);
else
rflags = selection_make_matchdeps(pool, &job2, argv[i], flags, pool_str2id(pool, keyname, 1), 0);
@@
-574,6
+580,14
@@
main(int argc, char **argv)
printf("[using file list match for '%s']\n", argv[i]);
if (rflags & SELECTION_PROVIDES)
printf("[using capability match for '%s']\n", argv[i]);
printf("[using file list match for '%s']\n", argv[i]);
if (rflags & SELECTION_PROVIDES)
printf("[using capability match for '%s']\n", argv[i]);
+ if (keyname && keyname_alldeps)
+ {
+ Queue q;
+ queue_init(&q);
+ selection_solvables(pool, &job2, &q);
+ selection_make_matchsolvablelist(pool, &job2, &q, 0, pool_str2id(pool, keyname, 1), 0);
+ queue_free(&q);
+ }
queue_insertn(&job, job.count, job2.count, job2.elements);
queue_free(&job2);
}
queue_insertn(&job, job.count, job2.count, job2.elements);
queue_free(&job2);
}
@@
-773,7
+787,7
@@
rerunsolver:
#if defined(SUSE)
showdiskusagechanges(trans);
#endif
#if defined(SUSE)
showdiskusagechanges(trans);
#endif
- printf("install size change: %d K\n", transaction_calc_installsizechange(trans));
+ printf("install size change: %
ll
d K\n", transaction_calc_installsizechange(trans));
printf("\n");
acnt = solver_alternatives_count(solv);
printf("\n");
acnt = solver_alternatives_count(solv);