diff -u gnome-panel-2.24.1/debian/changelog gnome-panel-2.24.1/debian/changelog --- gnome-panel-2.24.1/debian/changelog +++ gnome-panel-2.24.1/debian/changelog @@ -1,3 +1,15 @@ +gnome-panel (1:2.24.1-0ubuntu2.1) intrepid-proposed; urgency=low + + * debian/patches/25_inode_directory_fixup.patch: + - restore inode/directory association on upgrade from + hardy (LP: #260492) + * debian/gnome-panel.postinst: + - generate the right gconf defaults for the fixup + * debian/gnome-panel.postrm: + - properly cleanup the generated gconf default + + -- Michael Vogt Mon, 03 Nov 2008 10:08:28 +0100 + gnome-panel (1:2.24.1-0ubuntu2) intrepid; urgency=low * debian/fusa-applet.note.in: diff -u gnome-panel-2.24.1/debian/gnome-panel.postinst gnome-panel-2.24.1/debian/gnome-panel.postinst --- gnome-panel-2.24.1/debian/gnome-panel.postinst +++ gnome-panel-2.24.1/debian/gnome-panel.postinst @@ -8,4 +8,11 @@ fi +# gconf default for the directory fixup +if [ "$1" = configure ] && dpkg --compare-versions "$2" le-nl "1:2.24.0-0ubuntu2.1"; +then + echo "/apps/panel/need_directory_fixup true" > /usr/share/gconf/defaults/20_gnome_panel_directory_fixup + update-gconf-defaults +fi + #DEBHELPER# diff -u gnome-panel-2.24.1/debian/patches/series gnome-panel-2.24.1/debian/patches/series --- gnome-panel-2.24.1/debian/patches/series +++ gnome-panel-2.24.1/debian/patches/series @@ -5,6 +5,7 @@ 17_about-ubuntu-translation.patch #18_clock_capplet_use_time_admin.patch 20_fusa_migration_note_i18n.patch +25_inode_directory_fixup.patch 80_disable_movement_option.patch 90_dont-cleanup-calendard-backend-when-not-loaded.patch 99_ltmain_as-needed.patch only in patch2: unchanged: --- gnome-panel-2.24.1.orig/debian/gnome-panel.postrm +++ gnome-panel-2.24.1/debian/gnome-panel.postrm @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +if [ "$1" = "remove" ]; then + rm -f /usr/share/gconf/defaults/20_gnome_panel_directory_fixup +fi only in patch2: unchanged: --- gnome-panel-2.24.1.orig/debian/patches/25_inode_directory_fixup.patch +++ gnome-panel-2.24.1/debian/patches/25_inode_directory_fixup.patch @@ -0,0 +1,45 @@ +=== modified file 'gnome-panel/main.c' +--- a/gnome-panel/main.c 2008-10-31 13:51:37 +0000 ++++ b/gnome-panel/main.c 2008-10-31 20:46:51 +0000 +@@ -97,6 +104,40 @@ + + xstuff_init (); + ++ /* ubuntu specifc cleanup for bug #260492 - this needs to be kept ++ * until the next LTS after hardy (8.04) is released ++ */ ++ GAppInfo *app, *new_app = NULL; ++ GConfClient *gc = gconf_client_get_default(); ++ GList *head, *l; ++ if(gconf_client_get_bool(gc, "/apps/panel/need_directory_fixup", NULL)) ++ { ++ app = g_app_info_get_default_for_type ("inode/directory", FALSE); ++ if(app && strcmp(g_app_info_get_id(app), "nautilus-folder-handler.desktop") != 0) ++ { ++ g_message("inode/directory points to '%s' - fixing", g_app_info_get_id(app)); ++ head = l = g_app_info_get_all_for_type("inode/directory"); ++ while(l != NULL) ++ { ++ if(strcmp(g_app_info_get_id(G_APP_INFO(l->data)), ++ "nautilus-folder-handler.desktop") == 0) ++ new_app = g_app_info_dup(l->data); ++ g_object_unref(G_OBJECT(l->data)); ++ l=g_list_next(l); ++ } ++ if(new_app) ++ { ++ g_app_info_set_as_default_for_type (new_app, "inode/directory", NULL); ++ g_object_unref(new_app); ++ } ++ g_list_free(head); ++ } ++ g_object_unref(app); ++ gconf_client_set_bool(gc, "/apps/panel/need_directory_fixup", FALSE, NULL); ++ } ++ g_object_unref(gc); ++ /* end of ubuntu specific code */ ++ + gtk_main (); + + panel_lockdown_finalize (); +