diff options
author | Robey Pointer <robey@src.gnome.org> | 2000-07-27 23:06:57 +0000 |
---|---|---|
committer | Robey Pointer <robey@src.gnome.org> | 2000-07-27 23:06:57 +0000 |
commit | 5af5d90fcd0be52b08e0876f7cb57646ea2461ac (patch) | |
tree | 93d0f09eade2b73cc6613b437bea11608666d6c3 /components | |
parent | b7a541a1dfb5c200ada739ceb3d5c6c394dbd84f (diff) | |
download | nautilus-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.c | 2 | ||||
-rw-r--r-- | components/services/install/lib/eazel-install-object.c | 39 |
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); + } } } } |