Git-Url:
http://git.frugalware.org/gitweb/gitweb.cgi?p=gfpm.git;a=commitdiff;h=2ae7f8fe7999b7f83776b623a18a205cee65667e
commit 2ae7f8fe7999b7f83776b623a18a205cee65667e
Author: Priyank <[EMAIL PROTECTED]>
Date: Mon Sep 10 18:33:11 2007 +0530
gfpm-interface: gfpm_trans_prepare(): gfpm now displays a list of packages that
depend on a package that a user is trying to remove. ie. If a user is trying to
remove package A, and if package B and C depend on A, then gfpm will display a
list of entries like: "A : is required by B"
diff --git a/src/gfpm-interface.c b/src/gfpm-interface.c
index 6b101e1..bfba843 100644
--- a/src/gfpm-interface.c
+++ b/src/gfpm-interface.c
@@ -896,6 +896,7 @@ gfpm_trans_prepare (PM_LIST *list)
str = g_strdup_printf (_("Failed to prepare transaction (%s)\n"),
pacman_strerror (pm_errno));
gfpm_error (_("Error"), str);
g_free (str);
+ int t = pacman_trans_getinfo (PM_TRANS_TYPE);
switch ((long)pm_errno)
{
case PM_ERR_UNSATISFIED_DEPS:
@@ -903,29 +904,42 @@ gfpm_trans_prepare (PM_LIST *list)
{
GString *depstring = g_string_new ("");
PM_DEPMISS *m = pacman_list_getdata (i);
- depstring = g_string_append (depstring,
(char*)pacman_dep_getinfo(m,PM_DEP_NAME));
- switch ((long)pacman_dep_getinfo(m,
PM_DEP_MOD))
+ gchar *val = NULL;
+ if (t == PM_TRANS_TYPE_REMOVE)
{
- gchar *val = NULL;
- case PM_DEP_MOD_EQ:
- val = g_strdup_printf
("=%s", (char*)pacman_dep_getinfo(m,PM_DEP_VERSION));
- depstring =
g_string_append (depstring, val);
- break;
- case PM_DEP_MOD_GE:
- val = g_strdup_printf
(">=%s", (char*)pacman_dep_getinfo(m,PM_DEP_VERSION));
- depstring =
g_string_append (depstring, val);
- break;
- case PM_DEP_MOD_LE:
- val = g_strdup_printf
("<=%s", (char*)pacman_dep_getinfo(m,PM_DEP_VERSION));
- depstring =
g_string_append (depstring, val);
- break;
- default: break;
+ g_print ("this is being
executed\n");
+ val = g_strdup_printf ("%s : %s
%s",
+
(char*)pacman_dep_getinfo (m, PM_DEP_TARGET),
+
_("is required by"),
+
(char*)pacman_dep_getinfo (m, PM_DEP_NAME));
+ depstring = g_string_append
(depstring, val);
+ }
+ else
+ {
+ depstring = g_string_append
(depstring, (char*)pacman_dep_getinfo(m,PM_DEP_NAME));
+ switch
((long)pacman_dep_getinfo(m, PM_DEP_MOD))
+ {
+ gchar *val = NULL;
+ case PM_DEP_MOD_EQ:
+ val =
g_strdup_printf ("=%s", (char*)pacman_dep_getinfo(m,PM_DEP_VERSION));
+ depstring =
g_string_append (depstring, val);
+ break;
+ case PM_DEP_MOD_GE:
+ val =
g_strdup_printf (">=%s", (char*)pacman_dep_getinfo(m,PM_DEP_VERSION));
+ depstring =
g_string_append (depstring, val);
+ break;
+ case PM_DEP_MOD_LE:
+ val =
g_strdup_printf ("<=%s", (char*)pacman_dep_getinfo(m,PM_DEP_VERSION));
+ depstring =
g_string_append (depstring, val);
+ break;
+ default: break;
+ }
}
pkgs = g_list_append (pkgs, (char*)g_strdup(depstring->str));
+ g_free (val);
g_string_free (depstring, FALSE);
}
pacman_list_free (list);
- int t = pacman_trans_getinfo (PM_TRANS_TYPE);
if ((t == PM_TRANS_TYPE_ADD) || (t == PM_TRANS_TYPE_UPGRADE))
gfpm_plist_message (_("Missing dependencies"), _("Following dependencies were
not met. Please install these packages first."), GTK_MESSAGE_WARNING, pkgs);
else
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git