Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 290586 - x11-plugins/enigmail-0.96.0 displays huge, incorrect graphic in Thunderbird toolbar
Summary: x11-plugins/enigmail-0.96.0 displays huge, incorrect graphic in Thunderbird t...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2009-10-26 16:28 UTC by Ian Abbott
Modified: 2011-02-19 18:36 UTC (History)
11 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Screenshot of Thunderbird's main view, showing huge decrypt/verify icon. (Screenshot-Inbox.png,31.93 KB, image/png)
2009-10-26 16:30 UTC, Ian Abbott
Details
Screenshot of Thunderbird's Compose view, showing huge OpenPGP icon. (Screenshot-Compose.png,16.61 KB, image/png)
2009-10-26 16:31 UTC, Ian Abbott
Details
Remove sed from ebuild (bug290586.patch,486 bytes, patch)
2009-12-07 10:33 UTC, Martin von Gagern
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Abbott 2009-10-26 16:28:49 UTC
After emerging x11-plugins/enigmail-0.96.0 and opening Thunderbird, the place where the enigmail icon should be is replaced by a large panel containing several icon images, but it behaves like a single icon.  See screenshots of Inbox and Compose windows.  I tried re-emerging mozilla-thunderbird afterwards, but it made no difference.

It's a cosmetic problem, but quite a large cosmetic problem, making it harder to access the icons on the right hand side of Thunderbird's toolbar.

Reproducible: Always

Steps to Reproduce:
1. emerge =x11-plugins/enigmail-0.96.0
2. Open Mozilla Thunderbird
3. Look at toolbar

Actual Results:  
See attached screenshots.

Expected Results:  
Display nice icons.

I'm using mail-client/mozilla-thunderbird-2.0.0.23 with enigmail-0.96.0.

$ emerge --info
Portage 2.1.7.1 (default/linux/amd64/10.0/desktop, gcc-4.4.2, glibc-2.10.1-r0, 2.6.31-gentoo-r3-ija1 x86_64)
=================================================================
System uname: Linux-2.6.31-gentoo-r3-ija1-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_3800+-with-gentoo-2.0.1
Timestamp of tree: Mon, 26 Oct 2009 09:45:03 +0000
app-shells/bash:     4.0_p35
dev-java/java-config: 1.3.7-r1, 2.1.9-r1
dev-lang/python:     2.6.3, 3.1.1-r1
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.2-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=k8 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en en_GB"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/desktop-effects /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi adns alsa amd64 avahi berkdb branding bzip2 cairo cdr cgi cjk cli consolekit cracklib crypt cscope cups curl dbus djvu doc dri dts dv dvd dvdr eds emboss encode esd evo exif expat fam ffmpeg firefox flac flash fortran gdbm gif glut gmp gnome gnome-keyring gnutls gpm graphviz gstreamer gtk gtkhtml guile hal htmlhandbook iconv idn imagemagick imap imlib ipod ipv6 isdnlog java jpeg kde kerberos lcms ldap libnotify mad mikmod mmx mng modules mono motif mozsvg mp3 mp4 mpeg mudflap multilib musicbrainz ncurses nls no-helper nptl nptlonly nsplugin offensive ogg opengl openmp pam pcre pdf perl plotutils png ppds pppd pulseaudio python qt3 qt3support qt4 quicktime rdesktop readline reflection samba sdl session slang snmp spell spl sqlite sse sse2 ssl startup-notification svg sysfs tcl tcltk tcpd tetex threads thunar tiff tk truetype unicode usb vnc vorbis x264 xcb xine xml xorg xulrunner xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB" USERLAND="GNU" VIDEO_CARDS="radeon ati vesa fbdev" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Ian Abbott 2009-10-26 16:30:47 UTC
Created attachment 208324 [details]
Screenshot of Thunderbird's main view, showing huge decrypt/verify icon.
Comment 2 Ian Abbott 2009-10-26 16:31:35 UTC
Created attachment 208325 [details]
Screenshot of Thunderbird's Compose view, showing huge OpenPGP icon.
Comment 3 Leonid Podolny 2009-10-27 07:25:34 UTC
Same here
Comment 4 Martin von Gagern 2009-10-27 09:32:58 UTC
Interesting observation: I installed the DOM Inspector from https://addons.mozilla.org/en-US/thunderbird/addon/1806 and used it to inspect the thunderbird main window using File / Inspect a Window. Then I had it display Stylesheets instead of DOM Nodes. The resulting list gave me two lines mentioning chrome://enigmail/skin/enigmail.css but both gave 0 as the number of rules. So either the named file could not be loaded or there was a problem parsing it.

I guess the file should come from /usr/lib/mozilla-thunderbird/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/chrome/enigmail-skin-seamonkey.jar even though I'm using Thunderbird, not Seamonkey here. http://www.mozdev.org/source/browse/enigmail/src/genxpi.diff?r1=1.21;r2=1.21.2.1;f=h looks like the seamonkey skin was now used unconditionally.

stracing open calls from tb and grepping for interesting ones using 'installed-chrome|chrome.d|enig|006008948af5' gives me this list (abbreviated for readability):

open(".../extensions/{8...5}/defaults/preferences") = 11
open(".../extensions/{8...5}/defaults/preferences/enigmail.js") = 11
open("/usr/lib/mozilla-thunderbird/chrome/installed-chrome.txt") = 15
open(".../extensions/{8...5}/chrome.manifest") = 15
open(".../extensions/{8...5}/components/enigmail.xpt") = 27
open(".../extensions/{8...5}/chrome/enigmail-skin.jar") = -1 ENOENT (No such file or directory)
open(".../extensions/{8...5}/chrome/enigmail-skin.jar") = -1 ENOENT (No such file or directory)
open(".../extensions/{8...5}/platform/Linux_x86-gcc3/components/libenigmime-x86-gcc3.so") = 34
open(".../extensions/{8...5}/components/ipc.xpt") = 34
open(".../extensions/{8...5}/chrome/enigmail.jar") = 40
open(".../extensions/{8...5}/chrome/enigmail.jar") = 41

/usr/lib/mozilla-thunderbird/chrome/installed-chrome.txt didn't contain the file in question. Looking at mozilla-launcher I noticed the chrome registry handling stuff in there. So I tried this as root:

# thunderbird -register
Updating thunderbird chrome registry...
/usr/libexec/mozilla-launcher: line 582: regchrome: command not found
E: regchrome exited with status: 127
E: /usr/lib/mozilla-thunderbird/extensions/installed-extensions.txt still present
E: Registration might have gone wrong

Still no luck: somehow this process broke things in such a way that a repeated strace doesn't even list access to installed-chrome.txt any more. Maybe related to bug #118953.

I also tried renaming my ~/.thunderbird/*/chrome/chrome.rdf as it contained some reference to an enigmail-skin-tbird.jar in a non-existing subdirectory of the extensions directory of my user profile, but still the issue persisted. Might have been due to an installation of the binary plugin for thunderbird-bin some day long ago.

On the whole, I get the impression this is an issue with the way the ebuild handles a system-wide installation of the extension. Maybe the maintainers of www-client/mozilla-launcher (version 1.59 for me) should have a look as well.
Comment 5 Ian Abbott 2009-10-27 15:34:20 UTC
Thanks to Martin for the debugging.  Looking at "/usr/lib/mozilla-thunderbird/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/chrome.manifest" we have these lines:

# Skin for TB 2.0 (the OS parameter is unfortunately not supported on TB 2)
skin          enigmail    classic/1.0 jar:chrome/enigmail-skin.jar!/skin/classic/enigmail/ application={3550f703-e582-4d05-9a08-453d09bdfdc6}

But enigmail-skin.jar doesn't exist in the chrome subdirectory, only enigmail-skin-seamonkey.jar.

This workaround seems to do the trick:

cd "/usr/lib/mozilla-thunderbird/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}/chrome"
ln -s enigmail-skin-seamonkey.jar enigmail-skin.jar

(alternatively, use "mv" to rename the file instead of "ln -s" to symlink it).

It should be easy enough to knock up an ebuild patch to rename the skin file.
Comment 6 Martin von Gagern 2009-10-27 15:36:08 UTC
The chrome.manifest from enigmail refers to enigmail-skin.jar, so I guess that's where the open calls come from.

As to why we don't have such a file:
Perhaps taht's is a consequence of bug #64606, in the ChangeLog and ebuild comment incorrectly named after attachment #45609 [details, diff] instead of the bug number.
The original commit mentioned in that bug report can still be seen here:
http://sources.gentoo.org/viewcvs.py/gentoo-x86/mail-client/mozilla-thunderbird/mozilla-thunderbird-1.0.2-r1.ebuild?hideattic=0&r1=1.1&r2=1.2

Indeed, if I remove the following two lines from the ebuild, the icon looks all right for me.

# Use the right theme for thunderbird #45609
sed -i -ne '/^enigmail-skin.jar:$/ { :x; n; /^\t/bx; }; p' mailnews/extensions/enigmail/ui/jar.mn
Comment 7 Ian Abbott 2009-10-27 15:54:01 UTC
After spotting the same bit in the ebuild and working out what the sed command was doing, I come to the same conclusion as Martin (but I haven't rebuilt it yet).
Comment 8 Ian Abbott 2009-10-27 15:59:47 UTC
Perhaps the sed command could be modified to get rid of the unneeded seamonkey skin, but I guess it's harmless apart from the extra file being installed.
Comment 9 Martin von Gagern 2009-10-27 16:12:45 UTC
(In reply to comment #8)
> Perhaps the sed command could be modified to get rid of the unneeded seamonkey
> skin, but I guess it's harmless apart from the extra file being installed.

I'm not sure it's unneeded: when I start the Mail&News component of www-client/seamonkey-1.1.18, there is a decrypt button, and it looks different from the one used in TB. Looking at *decrypt* from the skin jars I find it's the one from the seamonkey skin.

So it would appear that an enigmail plugin compiled against Thunderbird might actually run in Seamonkey as well. My Seamonkey config isn't complete enough to actually test this, though. In any case, I think the SM icons should stay.
Comment 10 Ian Abbott 2009-10-27 16:24:11 UTC
Martin,

Doesn't seamonkey use its own copy of the enigmail plugin?  I don't have it installed, but the ebuild suggests this is the case.  Is there anything installed in "/usr/lib/mozilla-seamonkey/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}"?
Comment 11 Ian Abbott 2009-10-27 16:26:46 UTC
(In reply to comment #10)
> Is there anything installed in
> "/usr/lib/mozilla-seamonkey/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}"?

I mean "/usr/lib/seamonkey/extensions/{847b3a00-7ab1-11d4-8f02-006008948af5}"?
Comment 12 Martin von Gagern 2009-10-27 17:59:54 UTC
(In reply to comment #10)
> Doesn't seamonkey use its own copy of the enigmail plugin?  I don't have it
> installed, but the ebuild suggests this is the case.

You are right: seamonkey installs and uses files in /usr/lib/seamonkey like
/usr/lib/seamonkey/chrome/enigmail-skin-seamonkey.jar . No UUID involved there.
Comment 13 Gunnar Thielebein 2009-10-28 10:43:56 UTC
until this issue is solved the xpi file will work fine http://enigmail.mozdev.org/download/index.php.
Comment 14 Martin von Gagern 2009-12-07 10:33:49 UTC
Created attachment 212318 [details, diff]
Remove sed from ebuild

This patch implements the fix described in comment #6.
Maybe someone can apply it (in a revbump) and close this bug here?
Comment 15 Jory A. Pratt gentoo-dev 2010-02-13 14:09:44 UTC
Thanks for your reports, it has been fixed  in tree.