Sogo Frontends¶
sogo-frontends package contains SOGo Integrator XPI addons for Thunderbird and metadata necessary to direct nethserver-sogo-thunderbird output.
Note
After upgrading to sogo-frontends-1.1.1-1 run the following command:
# signal-event nethserver-sogo-thunderbird-update
The MANIFEST metadata file format¶
nethserver-sogo-thunderbird expects that some files named MANIFEST-<something>.tsv are installed in /usr/share/nethesis/sogo-frontends/ directory. A MANIFEST file must be in Tab Separated Value (TSV) format: fields are separated by a single TAB "\t" character. The following fields must be defined on each line of the file:
fileThe XPI file name in/usr/share/nethesis/sogo-frontends/pluginPlugin identifierversionPlugin versionplatformPlugin platform (for binaries). Valid values are*anything, the plugin is platform-indipendentWINNT_x86-msvcWinDarwin_x86-gccMacLinux_x86-gcc3Linux 32bitLinux_x86_64-gcc3Linux 64bit
appmatchA perl regular expression to match the client version (User-Agent HTTP header)appminverLower client version supportedappmaxverHigher client version supported
| file | plugin | version | platform | appmatch | appminver | appmaxver |
|---|---|---|---|---|---|---|
| lightning-1.2.3_win32.xpi | {e2fda1a4-762b-4020-b5ad-a41df1933103} | 1.2.3 | WINNT_x86-msvc | Thunderbird/10\.0 | 10.0 | 10.0.* |
| lightning-1.2.3_mac.xpi | {e2fda1a4-762b-4020-b5ad-a41df1933103} | 1.2.3 | Darwin_x86-gcc3 | Thunderbird/10\.0 | 10.0 | 10.0.* |
| lightning-1.2.3_linux-i686.xpi | {e2fda1a4-762b-4020-b5ad-a41df1933103} | 1.2.3 | Linux_x86-gcc3 | Thunderbird/10\.0 | 10.0 | 10.0.* |
| sogo-connector-10.0.3.xpi | sogo-connector@inverse.ca | 10.0.3 | * | Thunderbird/10\.0 | 10.0 | 10.0.* |
| sogo-integrator-10.0.3-sogo-demo.xpi | sogo-integrator@inverse.ca | 10.0.3 | * | Thunderbird/10\.0 | 10.0 | 10.0.* |
A line beginning with an hash # character is ignored.
Packing new addons¶
To add a new version of SOGO Integrator and its dependencies to sogo-frontends package follow these steps:
1. XPI checksums¶
- Prepare the package build environment (see Building RPMs)
- clone
sogo-frontendsrepo and move into it$ git clone git://code.nethesis.it/sogo-frontends.git $ cd sogo-frontends/ - Publish XPI files in one of the web URLs listed in Makefile. Type the follwing command to see the current list:
$ grep ^XPIMIRRORS MakefileOutput:XPIMIRRORS += $(shell echo http://`hostname`/nethserver/sogo-frontends) XPIMIRRORS += $(shell echo http://`hostname`/sogo-thunderbird/frontends) XPIMIRRORS += http://dev.nethserver.org/nethserver/sogo-frontends XPIMIRRORS += http://www.sogo.nu/files/downloads/extensions
Note that the first two choices are URLs pointing to your machine. - Copy new XPI files inside
sogo-frontends/directory and add their sha1 checksums toSHA1SUMfile:$ sha1sum *.xpi >> SHA1SUM - Test XPI checksums:
$ make clean download check
2. Edit MANIFEST¶
- Edit
MANIFEST-sogo-frontends.tsv, respecting the MANIFEST metadata file format.
3. Prepare the patch templates¶
According to SOGo Thunderbird Configuration Guide some files must be changed in SOGo Integrator plugin to deploy it in your environment. XPI files can be exploded by unzip command. To change those files automatically, nethserver-sogo-thunderbird expects a patch file for each XPI file.
Before applying the patch, nethserver-sogo-thunderbird processes it as a common e-smith template, so you can create a "dynamic" patch that reads values from ConfigDB as usual. You can use also a specific variable in your template: $updateURL.
Remember to escape curly braces, '{' and '}' characters!
To create the patch:
- Unzip SOGo Integrator XPI into two directories
a/andb/.$ unzip sogo-integrator-<version>.xpi -d a $ unzip sogo-integrator-<version>.xpi -d b
- Edit files under
b/directory:$ vi b/chrome/content/extensions.rdf $ vi b/defaults/preferences/site.js
- Create the patch file:
$ diff -x '*~' -u -r a b > sogo-integrator-<version>.xpi.patch
4. Commit changes¶
Commit changes to SHA1SUM, .patch and MANIFEST-sogo-frontends.tsv. Then re-build sogo-frontends package (see Building rpms).