summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorRobey Pointer <robey@src.gnome.org>2000-07-27 23:06:57 +0000
committerRobey Pointer <robey@src.gnome.org>2000-07-27 23:06:57 +0000
commit5af5d90fcd0be52b08e0876f7cb57646ea2461ac (patch)
tree93d0f09eade2b73cc6613b437bea11608666d6c3 /components
parentb7a541a1dfb5c200ada739ceb3d5c6c394dbd84f (diff)
downloadnautilus-5af5d90fcd0be52b08e0876f7cb57646ea2461ac.tar.gz
fix dumb typo i introduced on the last checkin; finish rpm delete-files implementation to actually traverse the package tree and delete all the rpm files
Diffstat (limited to 'components')
-rw-r--r--components/services/install/command-line/eazel-alt-install-corba.c2
-rw-r--r--components/services/install/lib/eazel-install-object.c39
2 files changed, 29 insertions, 12 deletions
diff --git a/components/services/install/command-line/eazel-alt-install-corba.c b/components/services/install/command-line/eazel-alt-install-corba.c
index f28aaf852..a4f3fd830 100644
--- a/components/services/install/command-line/eazel-alt-install-corba.c
+++ b/components/services/install/command-line/eazel-alt-install-corba.c
@@ -198,7 +198,7 @@ eazel_install_progress_signal (EazelInstallCallback *service,
if (amount==0) {
fprintf (stdout, "%s %s: \"%20.20s\"...\n", title, pack->name, pack->summary);
} else if (amount != total ) {
- fprintf (stdout, "(%d/%d), (%d/%d)b - (%d/%d) %% %f\n",
+ fprintf (stdout, "(%d/%d), (%d/%d)b - (%d/%d) %% %f\r",
package_num, num_packages,
total_size_completed, total_size,
amount, total,
diff --git a/components/services/install/lib/eazel-install-object.c b/components/services/install/lib/eazel-install-object.c
index 52129c7cf..035dd4756 100644
--- a/components/services/install/lib/eazel-install-object.c
+++ b/components/services/install/lib/eazel-install-object.c
@@ -660,18 +660,35 @@ eazel_install_install_packages (EazelInstall *service, GList *categories)
g_warning (_("Install failed"));
}
if (eazel_install_emit_delete_files (service)) {
- GList *item;
- GList *cat;
+ GList *top_item, *sub_item;
CategoryData *cd;
- PackageData *pack;
-
- g_message ("*** deleting the RPM files");
- for (cat = g_list_first (categories); cat; cat = g_list_next (cat)) {
- cd = (CategoryData *)cat->data;
- for (item = g_list_first (cd->packages); item; item = g_list_next (item)) {
- pack = (PackageData *)item->data;
- g_message ("*** package '%s'", (char *)pack->filename);
- unlink ((char *)pack->filename);
+ PackageData *top_pack, *sub_pack;
+
+ g_message ("*** deleting the package files");
+ for (top_item = g_list_first (service->private->transaction); top_item;
+ top_item = g_list_next (top_item)) {
+ top_pack = (PackageData *) top_item->data;
+ g_message ("*** package '%s'", (char *) top_pack->filename);
+ if (unlink ((char *) top_pack->filename) != 0) {
+ g_warning ("unable to delete file %s !", top_pack->filename);
+ }
+
+ for (sub_item = g_list_first (top_pack->soft_depends); sub_item;
+ sub_item = g_list_next (sub_item)) {
+ sub_pack = (PackageData *) sub_item->data;
+ g_message ("*** package '%s'", (char *) sub_pack->filename);
+ if (unlink ((char *) sub_pack->filename) != 0) {
+ g_warning ("unable to delete file %s !", (char *) sub_pack->filename);
+ }
+ }
+
+ for (sub_item = g_list_first (top_pack->hard_depends); sub_item;
+ sub_item = g_list_next (sub_item)) {
+ sub_pack = (PackageData *) sub_item->data;
+ g_message ("*** package '%s'", (char *) sub_pack->filename);
+ if (unlink ((char *) sub_pack->filename) != 0) {
+ g_warning ("unable to delete file %s !", (char *) sub_pack->filename);
+ }
}
}
}