mirror of
https://github.com/moparisthebest/pacman
synced 2024-11-16 06:15:08 -05:00
added support for the PM_CONFLICT structure to handle file conflicts
This commit is contained in:
parent
325e3b6b98
commit
bcd7ce0dfd
@ -91,7 +91,6 @@ int pacman_add(list_t *targets)
|
|||||||
case PM_ERR_UNSATISFIED_DEPS:
|
case PM_ERR_UNSATISFIED_DEPS:
|
||||||
for(i = alpm_list_first(data); i; i = alpm_list_next(i)) {
|
for(i = alpm_list_first(data); i; i = alpm_list_next(i)) {
|
||||||
PM_DEPMISS *miss = alpm_list_getdata(i);
|
PM_DEPMISS *miss = alpm_list_getdata(i);
|
||||||
|
|
||||||
MSG(NL, ":: %s: requires %s", alpm_dep_getinfo(miss, PM_DEP_TARGET),
|
MSG(NL, ":: %s: requires %s", alpm_dep_getinfo(miss, PM_DEP_TARGET),
|
||||||
alpm_dep_getinfo(miss, PM_DEP_NAME));
|
alpm_dep_getinfo(miss, PM_DEP_NAME));
|
||||||
switch((int)alpm_dep_getinfo(miss, PM_DEP_MOD)) {
|
switch((int)alpm_dep_getinfo(miss, PM_DEP_MOD)) {
|
||||||
@ -106,7 +105,6 @@ int pacman_add(list_t *targets)
|
|||||||
case PM_ERR_CONFLICTING_DEPS:
|
case PM_ERR_CONFLICTING_DEPS:
|
||||||
for(i = alpm_list_first(data); i; i = alpm_list_next(i)) {
|
for(i = alpm_list_first(data); i; i = alpm_list_next(i)) {
|
||||||
PM_DEPMISS *miss = alpm_list_getdata(i);
|
PM_DEPMISS *miss = alpm_list_getdata(i);
|
||||||
|
|
||||||
MSG(NL, ":: %s: conflicts with %s",
|
MSG(NL, ":: %s: conflicts with %s",
|
||||||
alpm_dep_getinfo(miss, PM_DEP_TARGET), alpm_dep_getinfo(miss, PM_DEP_NAME));
|
alpm_dep_getinfo(miss, PM_DEP_TARGET), alpm_dep_getinfo(miss, PM_DEP_NAME));
|
||||||
}
|
}
|
||||||
@ -114,7 +112,20 @@ int pacman_add(list_t *targets)
|
|||||||
break;
|
break;
|
||||||
case PM_ERR_FILE_CONFLICTS:
|
case PM_ERR_FILE_CONFLICTS:
|
||||||
for(i = alpm_list_first(data); i; i = alpm_list_next(i)) {
|
for(i = alpm_list_first(data); i; i = alpm_list_next(i)) {
|
||||||
MSG(NL, ":: %s", (char *)alpm_list_getdata(i));
|
PM_CONFLICT *conflict = alpm_list_getdata(i);
|
||||||
|
switch((int)alpm_conflict_getinfo(conflict, PM_CONFLICT_TYPE)) {
|
||||||
|
case PM_CONFLICT_TYPE_TARGET:
|
||||||
|
MSG(NL, "%s exists in \"%s\" (target) and \"%s\" (target)",
|
||||||
|
(char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_FILE),
|
||||||
|
(char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_TARGET),
|
||||||
|
(char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_CTARGET));
|
||||||
|
break;
|
||||||
|
case PM_CONFLICT_TYPE_FILE:
|
||||||
|
MSG(NL, "%s: %s exists in filesystem",
|
||||||
|
(char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_TARGET),
|
||||||
|
(char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_FILE));
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
alpm_list_free(data);
|
alpm_list_free(data);
|
||||||
MSG(NL, "\nerrors occurred, no packages were upgraded.\n");
|
MSG(NL, "\nerrors occurred, no packages were upgraded.\n");
|
||||||
|
@ -766,7 +766,20 @@ int pacman_sync(list_t *targets)
|
|||||||
switch(pm_errno) {
|
switch(pm_errno) {
|
||||||
case PM_ERR_FILE_CONFLICTS:
|
case PM_ERR_FILE_CONFLICTS:
|
||||||
for(lp = alpm_list_first(data); lp; lp = alpm_list_next(lp)) {
|
for(lp = alpm_list_first(data); lp; lp = alpm_list_next(lp)) {
|
||||||
MSG(NL, ":: %s\n", (char *)alpm_list_getdata(lp));
|
PM_CONFLICT *conflict = alpm_list_getdata(i);
|
||||||
|
switch((int)alpm_conflict_getinfo(conflict, PM_CONFLICT_TYPE)) {
|
||||||
|
case PM_CONFLICT_TYPE_TARGET:
|
||||||
|
MSG(NL, "%s exists in \"%s\" (target) and \"%s\" (target)",
|
||||||
|
(char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_FILE),
|
||||||
|
(char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_TARGET),
|
||||||
|
(char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_CTARGET));
|
||||||
|
break;
|
||||||
|
case PM_CONFLICT_TYPE_FILE:
|
||||||
|
MSG(NL, "%s: %s exists in filesystem",
|
||||||
|
(char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_TARGET),
|
||||||
|
(char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_FILE));
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
alpm_list_free(data);
|
alpm_list_free(data);
|
||||||
MSG(NL, "\nerrors occurred, no packages were upgraded.\n");
|
MSG(NL, "\nerrors occurred, no packages were upgraded.\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user