1 |
commit: dbd1e3e95fcff251b6232544a313873a24a3de9b |
2 |
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Aug 11 19:57:22 2017 +0000 |
4 |
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Aug 11 19:57:41 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbd1e3e9 |
7 |
|
8 |
mail-client/claws-mail: Revbump to fix segfault (bug #618376). |
9 |
|
10 |
Package-Manager: Portage-2.3.6, Repoman-2.3.3 |
11 |
|
12 |
...l-3.15.0.ebuild => claws-mail-3.15.0-r1.ebuild} | 8 ++- |
13 |
.../claws-mail-3.15.0-old_profile_segfault.patch | 80 ++++++++++++++++++++++ |
14 |
2 files changed, 86 insertions(+), 2 deletions(-) |
15 |
|
16 |
diff --git a/mail-client/claws-mail/claws-mail-3.15.0.ebuild b/mail-client/claws-mail/claws-mail-3.15.0-r1.ebuild |
17 |
similarity index 97% |
18 |
rename from mail-client/claws-mail/claws-mail-3.15.0.ebuild |
19 |
rename to mail-client/claws-mail/claws-mail-3.15.0-r1.ebuild |
20 |
index 190562439d1..c92913afd86 100644 |
21 |
--- a/mail-client/claws-mail/claws-mail-3.15.0.ebuild |
22 |
+++ b/mail-client/claws-mail/claws-mail-3.15.0-r1.ebuild |
23 |
@@ -85,6 +85,10 @@ RDEPEND="${COMMONDEPEND} |
24 |
net-misc/curl |
25 |
)" |
26 |
|
27 |
+PATCHES=( |
28 |
+ "${FILESDIR}/${P}-old_profile_segfault.patch" |
29 |
+) |
30 |
+ |
31 |
pkg_setup() { |
32 |
use python && python-single-r1_pkg_setup |
33 |
} |
34 |
@@ -148,7 +152,7 @@ src_configure() { |
35 |
) |
36 |
|
37 |
# libetpan is needed if user wants nntp or imap functionality |
38 |
- if use imap || use nntp; then |
39 |
+ if use imap || use nntp ; then |
40 |
myeconfargs+=( --enable-libetpan ) |
41 |
else |
42 |
myeconfargs+=( --disable-libetpan ) |
43 |
@@ -183,7 +187,7 @@ src_install() { |
44 |
doexe tb2claws-mail update-po uudec uuooffice |
45 |
|
46 |
# kill useless files |
47 |
- rm -f "${D}"/usr/lib*/claws-mail/plugins/*.{a,la} |
48 |
+ rm -f "${ED%/}"/usr/lib*/claws-mail/plugins/*.{a,la} |
49 |
} |
50 |
|
51 |
pkg_preinst() { |
52 |
|
53 |
diff --git a/mail-client/claws-mail/files/claws-mail-3.15.0-old_profile_segfault.patch b/mail-client/claws-mail/files/claws-mail-3.15.0-old_profile_segfault.patch |
54 |
new file mode 100644 |
55 |
index 00000000000..b19bf8f39d6 |
56 |
--- /dev/null |
57 |
+++ b/mail-client/claws-mail/files/claws-mail-3.15.0-old_profile_segfault.patch |
58 |
@@ -0,0 +1,80 @@ |
59 |
+From: Ricardo Mones <ricardo@×××××.org> |
60 |
+Date: Wed, 9 Aug 2017 14:48:38 +0000 (+0200) |
61 |
+Subject: Fix bug #3855: segfault at startup with old profile and IMAP account |
62 |
+X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=667c9d3eaf0487193cc7873e6d3a63959a03d7f9;hp=63677adb68c57479f6bc7534cfbf2f234b1f4fb1 |
63 |
+ |
64 |
+Fix bug #3855: segfault at startup with old profile and IMAP account |
65 |
+ |
66 |
+Revert "Remove duplicated code and include". |
67 |
+ |
68 |
+This reverts commit 300f811f3bbf10455ca55d9b01da6705dd1e07bb. |
69 |
+--- |
70 |
+ |
71 |
+diff --git a/src/imap.c b/src/imap.c |
72 |
+index 0e1e777..25bb283 100644 |
73 |
+--- a/src/imap.c |
74 |
++++ b/src/imap.c |
75 |
+@@ -77,6 +77,8 @@ typedef struct _IMAPSession IMAPSession; |
76 |
+ typedef struct _IMAPNameSpace IMAPNameSpace; |
77 |
+ typedef struct _IMAPFolderItem IMAPFolderItem; |
78 |
+ |
79 |
++#include "prefs_account.h" |
80 |
++ |
81 |
+ #define IMAP_FOLDER(obj) ((IMAPFolder *)obj) |
82 |
+ #define IMAP_FOLDER_ITEM(obj) ((IMAPFolderItem *)obj) |
83 |
+ #define IMAP_SESSION(obj) ((IMAPSession *)obj) |
84 |
+@@ -425,6 +427,7 @@ static gint imap_get_flags (Folder *folder, |
85 |
+ FolderItem *item, |
86 |
+ MsgInfoList *msglist, |
87 |
+ GHashTable *msgflags); |
88 |
++static gchar *imap_folder_get_path (Folder *folder); |
89 |
+ static gchar *imap_item_get_path (Folder *folder, |
90 |
+ FolderItem *item); |
91 |
+ static MsgInfo *imap_parse_msg(const gchar *file, FolderItem *item); |
92 |
+@@ -3042,6 +3045,35 @@ static FolderItem *imap_create_special_folder(Folder *folder, |
93 |
+ return new_item; |
94 |
+ } |
95 |
+ |
96 |
++static gchar *imap_folder_get_path(Folder *folder) |
97 |
++{ |
98 |
++ gchar *folder_path; |
99 |
++ |
100 |
++ g_return_val_if_fail(folder != NULL, NULL); |
101 |
++ g_return_val_if_fail(folder->account != NULL, NULL); |
102 |
++ |
103 |
++#ifdef G_OS_WIN32 |
104 |
++ gchar *sanitized_dirname = g_strdup(folder->account->recv_server); |
105 |
++ g_strdelimit(sanitized_dirname, ":", ','); |
106 |
++#endif |
107 |
++ |
108 |
++ folder_path = g_strconcat(get_imap_cache_dir(), |
109 |
++ G_DIR_SEPARATOR_S, |
110 |
++#ifdef G_OS_WIN32 |
111 |
++ sanitized_dirname, |
112 |
++#else |
113 |
++ folder->account->recv_server, |
114 |
++#endif |
115 |
++ G_DIR_SEPARATOR_S, |
116 |
++ folder->account->userid, |
117 |
++ NULL); |
118 |
++ |
119 |
++#ifdef G_OS_WIN32 |
120 |
++ g_free(sanitized_dirname); |
121 |
++#endif |
122 |
++ return folder_path; |
123 |
++} |
124 |
++ |
125 |
+ #ifdef G_OS_WIN32 |
126 |
+ static gchar *imap_encode_unsafe_chars(const gchar *str) |
127 |
+ { |
128 |
+@@ -3078,9 +3110,8 @@ static gchar *imap_item_get_path(Folder *folder, FolderItem *item) |
129 |
+ gchar *item_path = NULL; |
130 |
+ |
131 |
+ g_return_val_if_fail(folder != NULL, NULL); |
132 |
+- g_return_val_if_fail(folder->account != NULL, NULL); |
133 |
+ g_return_val_if_fail(item != NULL, NULL); |
134 |
+- folder_path = prefs_account_cache_dir(folder->account, FALSE); |
135 |
++ folder_path = imap_folder_get_path(folder); |
136 |
+ |
137 |
+ g_return_val_if_fail(folder_path != NULL, NULL); |
138 |
+ |