From owner-freebsd-mozilla@FreeBSD.ORG Mon Jul 21 15:06:56 2008 Return-Path: Delivered-To: freebsd-mozilla@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2572A1065671 for ; Mon, 21 Jul 2008 15:06:55 +0000 (UTC) (envelope-from saper@saper.info) Received: from system.pl (ns356865.ovh.net [91.121.143.223]) by mx1.freebsd.org (Postfix) with ESMTP id 553D28FC1E for ; Mon, 21 Jul 2008 15:06:54 +0000 (UTC) (envelope-from saper@saper.info) Received: (qmail 2868 invoked by uid 10); 21 Jul 2008 16:40:14 +0200 Received: from radziecki.saper.info (localhost [127.0.0.1]) by radziecki.saper.info (8.14.2/8.14.2) with ESMTP id m6LEdrj8044092 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 21 Jul 2008 16:39:53 +0200 (CEST) (envelope-from saper@saper.info) Received: (from saper@localhost) by radziecki.saper.info (8.14.2/8.14.2/Submit) id m6LEdr28044089; Mon, 21 Jul 2008 16:39:53 +0200 (CEST) (envelope-from saper) Date: Mon, 21 Jul 2008 16:39:53 +0200 (CEST) Message-Id: <200807211439.m6LEdr28044089@radziecki.saper.info> To: FreeBSD-gnats-submit@freebsd.org From: Marcin Cieslak X-send-pr-version: 3.113 X-GNATS-Notify: Cc: freebsd-mozilla@freebsd.org, ale@freebsd.org Subject: mail/enigmail-seamonkey: libenigmime.so missing [PATCH] X-BeenThere: freebsd-mozilla@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Marcin Cieslak List-Id: Mozilla browser issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jul 2008 15:06:56 -0000 >Submitter-Id: current-users >Originator: Marcin Cieslak >Organization: >Confidential: no >Synopsis: mail/enigmail-seamonkey: libenigmime.so missing [PATCH] >Severity: serious >Priority: high >Category: ports >Class: change-request >Release: FreeBSD 7.0-STABLE amd64 >Environment: System: FreeBSD radziecki.saper.info 7.0-STABLE FreeBSD 7.0-STABLE #7: Fri Jul 11 17:35:27 CEST 2008 saper@radziecki.saper.info:/usr/obj/usr/src/sys/VAIO amd64 Using Seamonkey 1.1.11, same with older version (at least as old as 1.1.8) >Description: After installing XPI generated via the mail/enigmail-seamonkey (you have to install as root otherwise it does not work) the interface contains OpenPGP menus and preferences. Any attempt to use OpenPGP features results in the message "Enigmail Service Not Available" in the console log. The problem is that libenigmime.so does not get installed. Once you put it per hand in /usr/local/lib/seamonkey/components, everything works. >How-To-Repeat: Make sure /usr/local/lib/seamonkey does not exist. Install clean seamonkey, then install mail/enigmail-seamonkey port. Start the browser as root and open /usr/local/share/enigmail/enigmail-0.95.6-seamonkey-freebsd-amd64.xpi. Install enigmail. Start the browser as root again to have all the components registered. Start the browser as the normal user and try to do any sign/encrypt/key management operation. >Fix: I have posted a more detailed discussion and two possible fixes here: http://saper.info/enigmail_service_not_available One of the possible patches in included below, should be put in the "files/" directory: --- mailnews/extensions/enigmail/genxpi.orig 2007-07-09 10:12:23.000000000 +0200 +++ mailnews/extensions/enigmail/genxpi 2008-07-21 03:15:51.970437845 +0200 @@ -70,12 +70,14 @@ const ABI_PLATFORM_LINUX="Linux_x86-gcc3"; +const ABI_PLATFORM_FREEBSD="FreeBSD"; const ABI_PLATFORM_WIN="WINNT_x86-msvc"; const ABI_PLATFORM_DARWIN_PPC="Darwin_ppc-gcc3"; const ABI_PLATFORM_DARWIN_X86="Darwin_x86-gcc3"; const ABI_PLATFORM_OS2="OS2_x86-gcc3"; const APP_PLATFORM_LINUX="linux"; +const APP_PLATFORM_FREEBSD="FreeBSD"; const APP_PLATFORM_WIN="win"; const APP_PLATFORM_MAC="mac"; const APP_PLATFORM_OS2="os2"; @@ -107,21 +109,21 @@ // which platform? function getPlatform() { var platformStr; - var platformNode = ""; + var platformNode = APP_PLATFORM_OTHER; if('platform' in Install) { platformStr = new String(Install.platform); - if (!platformStr.search(/^Macintosh/)) + if (platformStr.search(/^Macintosh/) >= 0) platformNode = APP_PLATFORM_MAC; - else if (!platformStr.search(/^Win/)) + else if (platformStr.search(/^Win/) >= 0) platformNode = APP_PLATFORM_WIN; - else if (!platformStr.search(/Linux/)) + else if (platformStr.search(/Linux/) >= 0) platformNode = APP_PLATFORM_LINUX; - else if (!platformStr.search(/^OS\/2/)) + else if (platformStr.search(/FreeBSD/) >= 0) + platformNode = APP_PLATFORM_FREEBSD; + else if (platformStr.search(/^OS\/2/) >= 0) platformNode = APP_PLATFORM_OS2; - else - platformNode = APP_PLATFORM_OTHER; } return platformNode; @@ -161,6 +163,9 @@ case APP_PLATFORM_LINUX: addDirectory("", "platform/"+ABI_PLATFORM_LINUX+"/components", fComponents, ""); break; + case APP_PLATFORM_FREEBSD: + addDirectory("", "platform/"+ABI_PLATFORM_FREEBSD+"/components", fComponents, ""); + break; case APP_PLATFORM_WIN: addDirectory("", "platform/"+ABI_PLATFORM_WIN+"/components", fComponents, ""); break; @@ -171,6 +176,9 @@ case APP_PLATFORM_OS2: addDirectory("", "platform/"+ABI_PLATFORM_OS2+"/components", fComponents, ""); break; + case APP_PLATFORM_OTHER: + alert("Unsupported platform, no Enigmail support currently available."); + cancelInstall(ACCESS_DENIED); } err = getLastError();