Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Jan 2012 16:01:36 GMT
From:      Igor Ostapenko <igor.ostapenko@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/163781: [patch] mail/enigmail: extension ID change is not complete
Message-ID:  <201201021601.q02G1a6X010717@red.freebsd.org>
Resent-Message-ID: <201201021610.q02GA5P6087937@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         163781
>Category:       ports
>Synopsis:       [patch] mail/enigmail: extension ID change is not complete
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 02 16:10:05 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Igor Ostapenko
>Release:        FreeBSD 8.1-RELEASE i386
>Organization:
>Environment:
FreeBSD 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:55:53 UTC 2010 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>Description:
Enigmail launches gpg-agent via "wrappers/gpg-agent-wrapper.sh" script, and this script is expected to be beneath user's profile directory. But our port installs enigmail into /usr/local/lib/xpi/ which ends up with the error when enigmail cannot launch gpg-agent.
>How-To-Repeat:
1. Make sure you have enigmail installed not into your thunderbird profile directly, probably file system needs additional manual checking to make sure there are no any non-deleted old files in your profile.
2. Check that gpg-agent is not running or stop it.
3. Run thunderbird and try to use enigmail, e.g. "Main menu > OpenPGP > Key Management". As a result you should get similar error message:
  "Could not start the gpg-agent program which is needed for your GnuPG version 2.0.18."

As long as it's not related to particular MUA, the same steps seem to be correct for enigmail-seamonkey and enigmail-thunderbird3.

>Fix:
Enigmail was changed not to look into user profile directory only, it's going to be released with the next version ( > 1.3.4 ):
http://www.mozdev.org/source/browse/enigmail/src/package/enigmail.js?rev=1.311

Enigmail looks for its directory by its extension ID, the latter one is changed by our port from "{847b3a00-7ab1-11d4-8f02-006008948af5}" to "${GECKO}@mozilla-enigmail.org", but such change is done only in install.rdf file while other constants in enigmail's code still refer to original ID.

So, the question is just ID changing in all other files. Patch example is attached.

Patch attached with submission follows:

--- Makefile.orig	2011-12-04 14:27:08.000000000 +0200
+++ Makefile	2012-01-02 15:40:55.000000000 +0200
@@ -93,7 +93,10 @@
 	@${MKDIR} ${XPI_LIBDIR}/${XPI_ID} ${XPI_LIBDIR}/symlinks/${GECKO}
 	@(cd ${XPI_LIBDIR}/${XPI_ID}; ${TAR} -xf ${XPI_FILE})
 	@${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${XPI_LIBDIR}/${XPI_ID}
-	@${REINPLACE_CMD} -i "" "s/${XPI_ORIG_ID}/${XPI_ID}/" ${XPI_LIBDIR}/${XPI_ID}/install.rdf
+	@${REINPLACE_CMD} -i "" "s/${XPI_ORIG_ID}/${XPI_ID}/" \
+		${XPI_LIBDIR}/${XPI_ID}/install.rdf \
+		${XPI_LIBDIR}/${XPI_ID}/components/enigmail.js \
+		${XPI_LIBDIR}/${XPI_ID}/modules/enigmailCommon.jsm
 	@${CHMOD} -R a+rX,go-w ${XPI_LIBDIR}/${XPI_ID}
 	@${LN} -sf ${XPI_LIBDIR}/${XPI_ID} ${LOCALBASE}/lib/${GECKO}/extensions 2>/dev/null || true
 	@${LN} -sf ${XPI_LIBDIR}/${XPI_ID} ${XPI_LIBDIR}/symlinks/${GECKO} 2>/dev/null || true


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201021601.q02G1a6X010717>