Group :: Networking/Instant messaging
RPM: pidgin
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: pidgin-2.6.1-alt-confdir.patch
Download
Download
--- pidgin-2.6.1/libpurple/core.c.alt 2009-08-20 12:22:09 +0400
+++ pidgin-2.6.1/libpurple/core.c 2009-08-20 13:42:33 +0400
@@ -407,8 +407,8 @@ gboolean
purple_core_migrate(void)
{
const char *user_dir = purple_user_dir();
- char *old_user_dir = g_strconcat(purple_home_dir(),
- G_DIR_SEPARATOR_S ".gaim", NULL);
+ char *old_user_dir = g_strconcat(g_get_home_dir(),
+ G_DIR_SEPARATOR_S ".purple", NULL);
char *status_file;
FILE *fp;
GDir *dir;
@@ -421,9 +421,13 @@ purple_core_migrate(void)
if (!g_file_test(old_user_dir, G_FILE_TEST_EXISTS))
{
- /* ~/.gaim doesn't exist, so there's nothing to migrate. */
- g_free(old_user_dir);
- return TRUE;
+ old_user_dir = g_strconcat(g_get_home_dir(), G_DIR_SEPARATOR_S ".gaim", NULL);
+ if (!g_file_test(old_user_dir, G_FILE_TEST_EXISTS))
+ {
+ /* ~/.gaim doesn't exist, so there's nothing to migrate. */
+ g_free(old_user_dir);
+ return TRUE;
+ }
}
status_file = g_strconcat(user_dir, G_DIR_SEPARATOR_S "migrating", NULL);
@@ -536,8 +540,7 @@ purple_core_migrate(void)
logs_dir = g_build_filename(user_dir, "logs", NULL);
- if (purple_strequal(link, "../.purple/logs") ||
- purple_strequal(link, logs_dir))
+ if (purple_strequal(link, logs_dir))
{
/* If the symlink points to the new directory, we're
* likely just trying again after a failed migration,
@@ -634,7 +637,8 @@ purple_core_migrate(void)
if (g_file_test(icons_name, G_FILE_TEST_IS_DIR))
{
if (!move_and_symlink_dir(icons_name, icons_entry,
- name, new_icons_dir, "../../.purple/icons"))
+ name, new_icons_dir,
+ g_strconcat(user_dir, G_DIR_SEPARATOR_S "icons", NULL)))
{
g_free(icons_name);
g_free(new_icons_dir);
@@ -659,7 +663,7 @@ purple_core_migrate(void)
else
{
/* All other directories are moved and symlinked. */
- if (!move_and_symlink_dir(name, entry, old_user_dir, user_dir, "../.purple"))
+ if (!move_and_symlink_dir(name, entry, old_user_dir, user_dir, user_dir))
{
g_free(name);
g_dir_close(dir);
--- pidgin-2.6.1/libpurple/util.c.alt 2009-08-20 12:24:38 +0400
+++ pidgin-2.6.1/libpurple/util.c 2009-08-20 12:27:35 +0400
@@ -2626,7 +2626,7 @@ const char *
purple_home_dir(void)
{
#ifndef _WIN32
- return g_get_home_dir();
+ return g_get_user_config_dir();
#else
return wpurple_data_dir();
#endif
@@ -2639,7 +2639,7 @@ purple_user_dir(void)
if (custom_user_dir != NULL)
return custom_user_dir;
else if (!user_dir)
- user_dir = g_build_filename(purple_home_dir(), ".purple", NULL);
+ user_dir = g_build_filename(purple_home_dir(), "purple", NULL);
return user_dir;
}