Bug#772455: unblock: sogo-connector/24.0.7-1
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package sogo-connector
The sogo-connector package is a plugin for Icedove/Thunderbird which is depending
on the version of the iceowl-extension package. Upstream (Inversa http://www.inverse.ca)
prepares packages only for the ESR versions of Thunderbird. Currently for the
31.x.x releases.
The sogo-connector has no other dependencies as the correct version on iceowl-extension.
The upload of the current version in testing for the sogo-connector package was
depending on the released version by upstream. While packaging the version that's
currently in the testing repository it was 24.0.7, shortly after this upload upstream
was releasing a new version with explicitly increased version for minVersion within
the install.rdf to version 31.x.x for the iceowl-extension (Lightning) to get the
plugin also working with the releases of version 31 for Thunderbird.
The current version of sogo-connector in testing is working with Icedove and
iceowl-extension 31.2.0, but I suspect some incompatibilities in one of the upcomming
versions of Icedove and iceowl-extension. Also Inversa was fixing a bug in version
31.0.0 what makes the sogo-connector automatism working again to autofill adresses
while typing.
http://sogo.nu/bugs/view.php?id=2870
Also a small fix for building the source by make with -j[> 1] was done.
http://sogo.nu/bugs/view.php?id=2922
To keep the sogo-connector in sync with the packages from the Icedove package I would
like to suggest to let enter the current version into testing from sid.
The debdiff looks like this:
$ debdiff xul-ext-sogo-connector_24.0.7-1_all.deb xul-ext-sogo-connector_31.0.0-1_all.deb
File lists identical (after any substitutions)
Control files: lines which differ (wdiff format)
------------------------------------------------
Breaks: icedove (<< [-24.0)-] {+31.0)+}
Depends: icedove (>= [-24.0),-] {+31.0),+} iceowl-extension (>= 31~)
Installed-Size: [-955-] {+956+}
Version: [-24.0.7-1-] {+31.0.0-1+}
The diff between the the upstream version 24.0.7 and 31.0.0 follows here:
$ git show upstream/31.0.0
tag upstream/31.0.0
Tagger: Carsten Schoenert <c.schoenert@t-online.de>
Date: Wed Oct 29 19:48:07 2014 +0100
Upstream version 31.0.0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCAAGBQJUUTZnAAoJEIMBYBQlHR2w/JYP/0v41eUK3iiGNTh4VA4oxRP5
jnZcFtboosA5HTQq35KYzwQsOh86Aw2UsDCE02X7K8+BG4z8BsrKIH8wVjiSHrXI
f+j9827GL28sd4yLzNlJky8LfmRbrU2/xFv7QnYcUUeC1PdVPsvGUirKL2X8X4PV
Lv0LQLXcgcO4fuYKAGGa15V1o9raJ5Gi6lEuk9uU8n9jkStoAqLx90Rx4B2FHl7M
1eM1t7zRU4ElhKXVa7ToP8SMqkwFJpt4EDygVk7oBdas8Yey0QDqV1HpO+zh0HHk
necMJZYWudg8q0TeHDyvmnnGoxjB3B5CyreOrAn5Pd2mTCreDy8/ick1Jx9EUFVe
/2+Yu3j6WArdUvv+X0CuhATjAQBaJsZP0sQEQ8yMpUjZz1t4JpMrrhxO3fvF6gqD
EiZ0Ug/5nykfuwCaw8rCjGqonKcubfd1L1A/vZzrHSLi2Vsyf3JJhdzPp94S7epH
L/N9ufF7Mhw4JyF0vSuIDeZiWXzL8CGbi5byLuov88xbIukLND6+sGu4VgxWlUYY
B1rlG/eRHLALJuk0xNLPiLAF2K37jKzRHO8XOJhb/H2V9GCWg7JBCaHSPQ/ql60w
PKk6/Z6ILSoMYUNpa+1crtCsEm2oQoaJ3NjyIZGkEKIhmCM5QmrHFZlIExU9ICuB
YVqR5F704XCtbmJIHrFH
=PkSH
-----END PGP SIGNATURE-----
commit 61f550d13918c5ee501e861e3dc5701069c4494f
Author: Carsten Schoenert <c.schoenert@t-online.de>
Date: Wed Oct 29 19:48:06 2014 +0100
Imported Upstream version 31.0.0
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 5c293e1..dc5918d 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,8 +1,10 @@
NEWS
====
-24.0.7 Fixed Hungarian translation
-
+31.0.0 Initial import for Thunderbird 31 and applied fix for bug #2870
+ Added patch from bug #2922
+ Fixed Hungarian translation (#2888)
+
24.0.6 We now correctly detect ACL changes on calendar components and
refresh the cache if necessary.
We also no longer require a Thunderbird restart when reloading
diff --git a/chrome/content/sogo-connector/addressbook/categories.js.orig b/chrome/content/sogo-connector/addressbook/categories.js.orig
new file mode 100644
index 0000000..a7fa4db
--- /dev/null
+++ b/chrome/content/sogo-connector/addressbook/categories.js.orig
@@ -0,0 +1,92 @@
+let SCContactCategories = {
+ getCategoriesAsString: function SCCC_getCategoriesAsString() {
+ let cats = null;
+
+ let prefService = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranch);
+ try {
+ cats = prefService.getCharPref("sogo-connector.contacts.categories");
+ }
+ catch(e) {
+ let strService = Components.classes["@mozilla.org/intl/stringbundle;1"]
+ .getService(Components.interfaces.nsIStringBundleService);
+ let bundle = strService.createBundle("chrome://sogo-connector/locale/preferences/categories.properties");
+ cats = bundle.GetStringFromName("contacts.categories");
+ }
+
+ return cats;
+ },
+
+ setCategoriesAsString: function SCCC_setCategoriesAsString(cats) {
+ let prefService = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranch);
+ prefService.setCharPref("sogo-connector.contacts.categories", cats);
+ },
+
+ getCategoriesAsArray: function SCCC_getCategoriesAsArray() {
+ let valuesArray = [];
+
+ let multiValue = this.getCategoriesAsString();
+ let max = multiValue.length;
+ if (multiValue.length > 0) {
+ let escaped = false;
+ let current = "";
+ for (let i = 0; i < max; i++) {
+ if (escaped) {
+ current += multiValue[i];
+ escaped = false;
+ }
+ else {
+ if (multiValue[i] == "\\") {
+ escaped = true;
+ }
+ else if (multiValue[i] == ",") {
+ valuesArray.push(current.replace(/(^[ ]+|[ ]+$)/, "", "g"));
+ current = "";
+ }
+ else {
+ current += multiValue[i];
+ }
+ }
+ }
+ if (current.length > 0) {
+ valuesArray.push(current.replace(/(^[ ]+|[ ]+$)/, "", "g"));
+ }
+ }
+
+ return valuesArray;
+ },
+
+ _sortArray: function SCCC__sortArray(catsArray) {
+ let localeService = Components.classes["@mozilla.org/intl/nslocaleservice;1"]
+ .getService(Components.interfaces.nsILocaleService);
+ let collator = Components.classes["@mozilla.org/intl/collation-factory;1"]
+ .getService(Components.interfaces.nsICollationFactory)
+ .CreateCollation(localeService.getApplicationLocale());
+ function compare(a, b) { return collator.compareString(0, a, b); }
+ catsArray.sort(compare);
+ },
+
+ setCategoriesAsArray: function SCCC_getCategoriesAsArray(catsArray) {
+ this._sortArray(catsArray);
+
+ let initted = false;
+ let cats = "";
+ for (let i = 0; i < catsArray.length; i++) {
+ if (catsArray[i] && catsArray[i].length > 0) {
+ let escaped = catsArray[i].replace(",", "\\,").replace(/(^[ ]+|[ ]+$)/, "", "g");
+ if (escaped.length > 0) {
+ if (initted) {
+ cats += "," + escaped;
+ }
+ else {
+ cats += escaped;
+ initted = true;
+ }
+ }
+ }
+ }
+
+ this.setCategoriesAsString(cats);
+ }
+};
diff --git a/chrome/content/sogo-connector/addressbook/categories.js.rej b/chrome/content/sogo-connector/addressbook/categories.js.rej
new file mode 100644
index 0000000..b717046
--- /dev/null
+++ b/chrome/content/sogo-connector/addressbook/categories.js.rej
@@ -0,0 +1,19 @@
+*** chrome/content/sogo-connector/addressbook/categories.js 2013-04-17 16:54:08.000000000 +0400
+--- chrome/content/sogo-connector/addressbook/categories.js 2013-09-18 15:16:57.971057887 +0400
+***************
+*** 21,27 ****
+ setCategoriesAsString: function SCCC_setCategoriesAsString(cats) {
+ let prefService = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranch);
+! prefService.setCharPref("sogo-connector.contacts.categories", cats);
+ },
+
+ getCategoriesAsArray: function SCCC_getCategoriesAsArray() {
+--- 22,28 ----
+ setCategoriesAsString: function SCCC_setCategoriesAsString(cats) {
+ let prefService = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranch);
+! prefService.setCharPref("sogo-connector.contacts.categories", unescape(encodeURIComponent(cats)));
+ },
+
+ getCategoriesAsArray: function SCCC_getCategoriesAsArray() {
diff --git a/components/SOGoConnectorAutocompleteSearch.js b/components/SOGoConnectorAutocompleteSearch.js
index 8b80673..4747a42 100644
--- a/components/SOGoConnectorAutocompleteSearch.js
+++ b/components/SOGoConnectorAutocompleteSearch.js
@@ -41,6 +41,7 @@
*/
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
+Components.utils.import("resource:///modules/mailServices.js");
Components.utils.import("resource://gre/modules/Services.jsm");
let commentColumn = null;
@@ -71,6 +72,10 @@ SOGoConnectorAutocompleteResult.prototype = {
return this._searchResults[aIndex].value;
},
+ getLabelAt: function getLabelAt(aIndex) {
+ return this.getValueAt(aIndex);
+ },
+
getCommentAt: function getCommentAt(aIndex) {
return this._searchResults[aIndex].comment;
},
@@ -83,6 +88,10 @@ SOGoConnectorAutocompleteResult.prototype = {
return "";
},
+ getFinalCompleteValueAt: function(aIndex) {
+ return this.getValueAt(aIndex);
+ },
+
removeValueAt: function removeValueAt(aRowIndex, aRemoveFromDB) {
},
@@ -98,13 +107,7 @@ SOGoConnectorAutocompleteResult.prototype = {
/* nsISupports */
- QueryInterface: function(aIID) {
- if (!aIID.equals(ACR)
- && !aIID.equals(Components.interfaces.nsIAbAutoCompleteResult)
- && !aIID.equals(Components.interfaces.nsISupports))
- throw Components.results.NS_ERROR_NO_INTERFACE;
- return this;
- }
+ QueryInterface: XPCOMUtils.generateQI([ACR, nsIAbAutoCompleteResult])
};
function SOGoConnectorAutocompleteSearch() {}
@@ -113,10 +116,9 @@ SOGoConnectorAutocompleteSearch.prototype = {
// This is set from a preference,
// 0 = no comment column, 1 = name of address book this card came from
// Other numbers currently unused (hence default to zero)
- _parser: Components.classes["@mozilla.org/messenger/headerparser;1"]
- .getService(Components.interfaces.nsIMsgHeaderParser),
- _abManager: Components.classes["@mozilla.org/abmanager;1"]
- .getService(Components.interfaces.nsIAbManager),
+ _parser: MailServices.headerParser,
+ _abManager: MailServices.ab,
+ applicableHeaders: Set(["addr_to", "addr_cc", "addr_bcc", "addr_reply"]),
// Private methods
@@ -320,10 +322,10 @@ SOGoConnectorAutocompleteSearch.prototype = {
_addToResult: function _addToResult(directory, card, emailToUse,
isPrimaryEmail, result) {
let emailAddress =
- this._parser.makeFullAddress(card.displayName,
- card.isMailList ?
- card.getProperty("Notes", "") || card.displayName :
- emailToUse);
+ this._parser.makeMailboxObject(card.displayName,
+ card.isMailList ?
+ card.getProperty("Notes", "") || card.displayName :
+ emailToUse).toString();
// The old code used to try it manually. I think if the parser can't work
// out the address from what we've supplied, then its busted and we're not
diff --git a/install.rdf b/install.rdf
index d15b2c6..f1d15eb 100644
--- a/install.rdf
+++ b/install.rdf
@@ -5,7 +5,7 @@
<Description about="urn:mozilla:install-manifest"
em:name="Inverse SOGo Connector"
em:id="sogo-connector@inverse.ca"
- em:version="24.0.7"
+ em:version="31.0.0"
em:description="A DAV plugin for keeping addressbooks and events in sync"
em:iconURL="chrome://sogo-connector/skin/addressbook/sogo.png"
em:creator="Inverse <support@inverse.ca>"
@@ -14,8 +14,8 @@
<em:targetApplication>
<Description>
<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
- <em:minVersion>24.0</em:minVersion>
- <em:maxVersion>24.*</em:maxVersion>
+ <em:minVersion>31.0</em:minVersion>
+ <em:maxVersion>31.*</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
The respective Changelog entry for the version 31.0.0 is this:
sogo-connector (31.0.0-1) unstable; urgency=medium
* debian/control: changing Vcs URL's to Alioth
* debian/watch: switch to new upstream version 31
* Imported Upstream version 31.0.0
* rebuild patch queue from patch-queue branch
-- Carsten Schoenert <c.schoenert@t-online.de> Tue, 28 Oct 2014 19:22:22 +0100
I've I done something wrong please forgive me, it's the first time I write
a unblock request. ;)
Regards
Carsten
unblock sogo-connector/24.0.7-1
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Reply to: