diff --git a/esc-1.1.0-fix10.patch b/esc-1.1.0-fix10.patch new file mode 100644 index 0000000..f6eda05 --- /dev/null +++ b/esc-1.1.0-fix10.patch @@ -0,0 +1,29 @@ +diff -up ./esc/src/app/xpcom/rhCoolKey.cpp.fix10 ./esc/src/app/xpcom/rhCoolKey.cpp +--- ./esc/src/app/xpcom/rhCoolKey.cpp.fix10 2011-07-19 03:47:15.264254844 -0700 ++++ ./esc/src/app/xpcom/rhCoolKey.cpp 2011-07-19 03:47:30.224254842 -0700 +@@ -542,7 +542,7 @@ PRBool rhCoolKey::InitInstance() + static const GREVersionRange greVersion = + { + "1.9", PR_TRUE, +- "2", PR_TRUE ++ "9.9", PR_TRUE + }; + + nsresult rv = GRE_GetGREPathWithProperties(&greVersion, 1, nsnull, 0, xpcom_path, 4096); +diff -up ./esc/src/app/xul/esc/application.ini.fix10 ./esc/src/app/xul/esc/application.ini +--- ./esc/src/app/xul/esc/application.ini.fix10 2011-07-19 03:42:23.368254822 -0700 ++++ ./esc/src/app/xul/esc/application.ini 2011-07-19 03:42:40.531254827 -0700 +@@ -25,11 +25,11 @@ Vendor=RedHat + Name=ESC + ; + ; This field specifies your application's version. This field is optional. +-Version=1.1.0-13 ++Version=1.1.0-15 + ; + ; This field specifies your application's build ID (timestamp). This field is + ; required. +-BuildID=0000001013 ++BuildID=0000001015 + ; + ; This ID is just an example. Every XUL app ought to have it's own unique ID. + ; You can use the microsoft "guidgen" or "uuidgen" tools, or go on diff --git a/esc-1.1.0-fix11.patch b/esc-1.1.0-fix11.patch new file mode 100644 index 0000000..bd6110e --- /dev/null +++ b/esc-1.1.0-fix11.patch @@ -0,0 +1,93 @@ +diff -up ./esc/src/app/xpcom/Makefile.sdk.fix11 ./esc/src/app/xpcom/Makefile.sdk +--- ./esc/src/app/xpcom/Makefile.sdk.fix11 2011-09-16 11:28:43.413286053 -0700 ++++ ./esc/src/app/xpcom/Makefile.sdk 2011-09-16 11:28:43.529286053 -0700 +@@ -108,7 +108,7 @@ endif + ifeq ($(OS_ARCH),Linux) + CPPFLAGS += -fno-rtti \ + -fno-exceptions \ +- -fshort-wchar -fPIC ++ -fshort-wchar -fPIC -std=gnu++0x + GECKO_LD_LIBS=-L$(GECKO_SDK_PATH)/lib $(GECKO_SDK_PATH)/lib/libxpcomglue.a -lnssutil3 -lnss3 -lcrmf -lssl3 -lsmime3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl + endif + +@@ -129,6 +129,10 @@ ifdef ESC_VERSION + GECKO_DEFINES += -DESC_VERSION=$(ESC_VERSION) + endif + ++ifdef GECKO_BIN_PATH ++GECKO_DEFINES += -DGECKO_BIN_PATH=$(GECKO_BIN_PATH) ++endif ++ + NSS_INCLUDE = /usr/include/nss3 + NSPR_INCLUDE = /usr/include/nspr4 + +diff -up ./esc/src/app/xpcom/rhCoolKey.cpp.fix11 ./esc/src/app/xpcom/rhCoolKey.cpp +--- ./esc/src/app/xpcom/rhCoolKey.cpp.fix11 2011-09-16 11:28:43.510286053 -0700 ++++ ./esc/src/app/xpcom/rhCoolKey.cpp 2011-09-16 11:28:43.530286053 -0700 +@@ -538,7 +538,7 @@ PRBool rhCoolKey::InitInstance() + + char xpcom_path[4096]; + xpcom_path[0] = 0; +- ++/* + static const GREVersionRange greVersion = + { + "1.9", PR_TRUE, +@@ -550,6 +550,13 @@ PRBool rhCoolKey::InitInstance() + return PR_FALSE; + } + ++*/ ++ ++ char *grePath = (char *) GETSTRING(GECKO_BIN_PATH); ++ ++ ++ snprintf(xpcom_path,4096,grePath); ++ + char *lib_name =(char *) XPCOM_LIB_NAME ; + + +diff -up ./esc/src/app/xpcom/tray/Makefile.sdk.fix11 ./esc/src/app/xpcom/tray/Makefile.sdk +--- ./esc/src/app/xpcom/tray/Makefile.sdk.fix11 2011-09-16 11:31:59.645286087 -0700 ++++ ./esc/src/app/xpcom/tray/Makefile.sdk 2011-09-16 11:32:10.859286088 -0700 +@@ -23,7 +23,7 @@ include $(CORE_DEPTH)/coreconf/config.mk + include $(CORE_DEPTH)/coreconf/rules.mk + + ifeq ($(OS_ARCH),Linux) +-CXXFLAGS += $(MOZ_GTK_CFLAGS) $(MOZ_GTK2_CFLAGS) $(NOTIFY_CXX_FLAGS) -fPIC ++CXXFLAGS += $(MOZ_GTK_CFLAGS) $(MOZ_GTK2_CFLAGS) $(NOTIFY_CXX_FLAGS) -fPIC -std=gnu++0x + endif + + +diff -up ./esc/src/app/xul/esc/application.ini.fix11 ./esc/src/app/xul/esc/application.ini +--- ./esc/src/app/xul/esc/application.ini.fix11 2011-09-16 11:28:43.511286053 -0700 ++++ ./esc/src/app/xul/esc/application.ini 2011-09-16 11:28:43.532286053 -0700 +@@ -25,11 +25,11 @@ Vendor=RedHat + Name=ESC + ; + ; This field specifies your application's version. This field is optional. +-Version=1.1.0-15 ++Version=1.1.0-16 + ; + ; This field specifies your application's build ID (timestamp). This field is + ; required. +-BuildID=0000001015 ++BuildID=0000001016 + ; + ; This ID is just an example. Every XUL app ought to have it's own unique ID. + ; You can use the microsoft "guidgen" or "uuidgen" tools, or go on +@@ -41,12 +41,12 @@ ID={6380471b-1924-4b48-b652-49f42951af86 + ; This field is required. It specifies the minimum Gecko version that this + ; application requires. Specifying 1.8 matches all releases with a version + ; prefixed by 1.8 (e.g., 1.8a4, 1.8b, 1.8.2). +-MinVersion=1.99 ++MinVersion=6.0.0 + ; + ; This field is optional. It specifies the maximum Gecko version that this + ; application requires. It should be specified if your application uses + ; unfrozen interfaces. Specifying 1.8 matches all releases with a version + ; prefixed by 1.8 (e.g., 1.8a4, 1.8b, 1.8.2). +-MaxVersion=2.99 ++MaxVersion=20.0.0 + + [Shell] diff --git a/esc-1.1.0-fix12.patch b/esc-1.1.0-fix12.patch new file mode 100644 index 0000000..d40be5f --- /dev/null +++ b/esc-1.1.0-fix12.patch @@ -0,0 +1,50 @@ +diff -up ./esc/coreconf/Linux3.1.mk.fix12 ./esc/coreconf/Linux3.1.mk +--- ./esc/coreconf/Linux3.1.mk.fix12 2011-11-28 13:55:27.623816205 -0800 ++++ ./esc/coreconf/Linux3.1.mk 2011-11-28 13:56:11.119536737 -0800 +@@ -0,0 +1,35 @@ ++# BEGIN COPYRIGHT BLOCK ++# This Program is free software; you can redistribute it and/or modify it under ++# the terms of the GNU General Public License as published by the Free Software ++# Foundation; version 2 of the License. ++# ++# This Program is distributed in the hope that it will be useful, but WITHOUT ++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along with ++# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple ++# Place, Suite 330, Boston, MA 02111-1307 USA. ++# ++# Copyright (C) 2005 Red Hat, Inc. ++# All rights reserved. ++# END COPYRIGHT BLOCK ++ ++# ++# Config stuff for Linux 3.1 (ELF) ++# ++ ++include $(CORE_DEPTH)/coreconf/Linux.mk ++ ++OS_REL_CFLAGS += -DLINUX2_1 ++MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so) ++ifdef BUILD_OPT ++ OPTIMIZER = -O2 ++endif ++ ++ifdef MAPFILE ++ MKSHLIB += -Wl,--version-script,$(MAPFILE) ++endif ++PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \ ++ sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@ ++ +diff -up ./esc/src/app/xpcom/rhCoolKey.cpp.fix12 ./esc/src/app/xpcom/rhCoolKey.cpp +--- ./esc/src/app/xpcom/rhCoolKey.cpp.fix12 2011-11-28 19:29:53.894102752 -0800 ++++ ./esc/src/app/xpcom/rhCoolKey.cpp 2011-11-28 19:30:46.003028405 -0800 +@@ -41,7 +41,6 @@ + #include "prlink.h" + #include "prthread.h" + #include "nscore.h" +-#include "nsCopySupport.h" + #include + #include + #include diff --git a/esc-1.1.0-fix13.patch b/esc-1.1.0-fix13.patch new file mode 100644 index 0000000..94f9728 --- /dev/null +++ b/esc-1.1.0-fix13.patch @@ -0,0 +1,273 @@ +diff -up ./esc/coreconf/Linux3.2.mk.fix13 ./esc/coreconf/Linux3.2.mk +--- ./esc/coreconf/Linux3.2.mk.fix13 2012-02-20 18:08:55.637187190 -0800 ++++ ./esc/coreconf/Linux3.2.mk 2012-02-20 18:09:16.296139174 -0800 +@@ -0,0 +1,35 @@ ++# BEGIN COPYRIGHT BLOCK ++# This Program is free software; you can redistribute it and/or modify it under ++# the terms of the GNU General Public License as published by the Free Software ++# Foundation; version 2 of the License. ++# ++# This Program is distributed in the hope that it will be useful, but WITHOUT ++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along with ++# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple ++# Place, Suite 330, Boston, MA 02111-1307 USA. ++# ++# Copyright (C) 2005 Red Hat, Inc. ++# All rights reserved. ++# END COPYRIGHT BLOCK ++ ++# ++# Config stuff for Linux 3.2 (ELF) ++# ++ ++include $(CORE_DEPTH)/coreconf/Linux.mk ++ ++OS_REL_CFLAGS += -DLINUX2_1 ++MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so) ++ifdef BUILD_OPT ++ OPTIMIZER = -O2 ++endif ++ ++ifdef MAPFILE ++ MKSHLIB += -Wl,--version-script,$(MAPFILE) ++endif ++PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \ ++ sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@ ++ +diff -up ./esc/src/app/xpcom/Makefile.sdk.fix13 ./esc/src/app/xpcom/Makefile.sdk +--- ./esc/src/app/xpcom/Makefile.sdk.fix13 2012-02-20 18:01:49.522177961 -0800 ++++ ./esc/src/app/xpcom/Makefile.sdk 2012-02-20 18:01:49.526177952 -0800 +@@ -35,7 +35,12 @@ ifndef GECKO_BIN_PATH + GECKO_BIN_PATH=/usr/lib/xulrunner-1.9pre + endif + XUL_FRAMEWORK_BIN_PATH=$(GECKO_BIN_PATH) +- ++ifndef GECKO_IDL_PATH ++GECKO_IDL_PATH=/usr/share/idl/xulrunner-2 ++endif ++ifndef PYTHON_BIN_PATH ++PYTHON_BIN=python ++endif + + ifeq ($(OS_ARCH),Darwin) + ifndef GECKO_SDK_PATH +@@ -190,13 +195,14 @@ endif + all:: export libs + + libs:: +- $(GECKO_BIN_PATH)/xpidl -v -I $(GECKO_SDK_PATH)/idl -I $(NSPR_INCLUDE) -m header rhIKeyNotify.idl + +- $(GECKO_BIN_PATH)/xpidl -v -I $(GECKO_SDK_PATH)/idl -I $(NSPR_INCLUDE) -m typelib rhIKeyNotify.idl ++ $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/header.py --cachedir /tmp -o rhIKeyNotify.h -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhIKeyNotify.idl ++ ++ $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/typelib.py --cachedir /tmp -o rhIKeyNotify.xpt -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhIKeyNotify.idl + +- $(GECKO_BIN_PATH)/xpidl -v -I $(GECKO_SDK_PATH)/idl -I $(NSPR_INCLUDE) -m header rhICoolKey.idl ++ $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/header.py --cachedir /tmp -o rhICoolKey.h -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhICoolKey.idl + +- $(GECKO_BIN_PATH)/xpidl -v -I $(GECKO_SDK_PATH)/idl -I $(NSPR_INCLUDE) -m typelib rhICoolKey.idl ++ $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/typelib.py --cachedir /tmp -o rhICoolKey.xpt -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhICoolKey.idl + + ifeq ($(OS_ARCH),Darwin) + $(CXX) $(CPPFLAGS) -c -o $(OBJECT) $(GECKO_CONFIG_INCLUDE) $(GECKO_DEFINES) $(GECKO_INCLUDES) $(COOL_INCLUDES) $(CXXFLAGS) $(FILES) +diff -up ./esc/src/app/xpcom/rhCoolKey.cpp.fix13 ./esc/src/app/xpcom/rhCoolKey.cpp +--- ./esc/src/app/xpcom/rhCoolKey.cpp.fix13 2012-02-20 18:01:49.524177956 -0800 ++++ ./esc/src/app/xpcom/rhCoolKey.cpp 2012-02-20 18:01:49.526177952 -0800 +@@ -98,6 +98,7 @@ static PRLogModuleInfo *coolKeyLog = PR_ + + rhCoolKey *single = NULL; + ++ + class CoolKeyShutdownObserver : public nsIObserver + { + public: +@@ -364,9 +365,9 @@ SECStatus rhCoolKey::badCertHandler(void + GetTStamp(tBuff,56),err,host,port) + ); + +- PRBool isTemporaryOverride = PR_FALSE; ++ bool isTemporaryOverride = PR_FALSE; + PRUint32 overrideBits = 0; +- PRBool overrideResult = PR_FALSE; ++ bool overrideResult = PR_FALSE; + + // Use the nsICertOverrideService to see if we have + // previously trusted this certificate. +@@ -554,14 +555,14 @@ PRBool rhCoolKey::InitInstance() + char *grePath = (char *) GETSTRING(GECKO_BIN_PATH); + + +- snprintf(xpcom_path,4096,grePath); ++ snprintf(xpcom_path,4096,"%s%s",grePath,"libxpcom.so"); + + char *lib_name =(char *) XPCOM_LIB_NAME ; + + + PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKey::xpcom_path %s \n",GetTStamp(tBuff,56),xpcom_path)); + +- XPCOMGlueStartup(xpcom_path); ++ XPCOMGlueStartup("/usr/lib/xulrunner-2/libxpcom.so"); + + nssComponent + = do_GetService(PSM_COMPONENT_CONTRACTID); +@@ -1309,7 +1310,7 @@ NS_IMETHODIMP rhCoolKey::GetCoolKeyStatu + /* boolean GetCoolKeyIsReallyCoolKey (in unsigned long aKeyType, in string aKeyID); */ + + +-NS_IMETHODIMP rhCoolKey::GetCoolKeyIsReallyCoolKey(PRUint32 aKeyType, const char *aKeyID, PRBool *_retval) ++NS_IMETHODIMP rhCoolKey::GetCoolKeyIsReallyCoolKey(PRUint32 aKeyType, const char *aKeyID, bool *_retval) + { + char tBuff[56]; + PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKey::GetCoolKeyIsReallyCoolKey thread: %p \n",GetTStamp(tBuff,56),PR_GetCurrentThread())); +@@ -1328,7 +1329,7 @@ NS_IMETHODIMP rhCoolKey::GetCoolKeyIsRea + } + + /* long GetCoolKeyGetAppletVer (in unsigned long aKeyType, in string aKeyID, in boolean aIsMajor); */ +-NS_IMETHODIMP rhCoolKey::GetCoolKeyGetAppletVer(PRUint32 aKeyType, const char *aKeyID, PRBool aIsMajor, PRInt32 *_retval) ++NS_IMETHODIMP rhCoolKey::GetCoolKeyGetAppletVer(PRUint32 aKeyType, const char *aKeyID, bool aIsMajor, PRInt32 *_retval) + { + char tBuff[56]; + PR_LOG(coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKey::GetCoolKeyAppletVer thread: %p \n",GetTStamp(tBuff,56),PR_GetCurrentThread())); +@@ -1344,7 +1345,7 @@ NS_IMETHODIMP rhCoolKey::GetCoolKeyGetAp + + /* boolean rhCoolKeyIsEnrolled (in unsigned long aKeyType, in string aKeyID); */ + +-NS_IMETHODIMP rhCoolKey::GetCoolKeyIsEnrolled(PRUint32 aKeyType, const char *aKeyID, PRBool *_retval) ++NS_IMETHODIMP rhCoolKey::GetCoolKeyIsEnrolled(PRUint32 aKeyType, const char *aKeyID, bool *_retval) + { + char tBuff[56]; + PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKey::RhCoolKeyIsEnrolled thread: %p \n",GetTStamp(tBuff,56),PR_GetCurrentThread())); +@@ -1586,7 +1587,7 @@ NS_IMETHODIMP rhCoolKey::GetCoolKeyIssue + } + + /* boolean SetCoolKeyConfigValue (in string aName, in string aValue); */ +-NS_IMETHODIMP rhCoolKey::SetCoolKeyConfigValue(const char *aName, const char *aValue, PRBool *_retval) ++NS_IMETHODIMP rhCoolKey::SetCoolKeyConfigValue(const char *aName, const char *aValue, bool *_retval) + { + char tBuff[56]; + PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("rhCoolKey::SetCoolKeyConfigValue thread: %p \n",GetTStamp(tBuff,56),PR_GetCurrentThread())); +@@ -1620,7 +1621,7 @@ NS_IMETHODIMP rhCoolKey::GetCoolKeyConfi + + /* boolean rhCoolKeyRequiresAuthentication (in unsigned long aKeyType, in string aKeyID); */ + +-NS_IMETHODIMP rhCoolKey::GetCoolKeyRequiresAuthentication(PRUint32 aKeyType, const char *aKeyID, PRBool *_retval) ++NS_IMETHODIMP rhCoolKey::GetCoolKeyRequiresAuthentication(PRUint32 aKeyType, const char *aKeyID, bool *_retval) + { + char tBuff[56]; + PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKey::RhCoolKeyRequiresAuthentication thread: %p \n",GetTStamp(tBuff,56),PR_GetCurrentThread())); +@@ -1640,7 +1641,7 @@ NS_IMETHODIMP rhCoolKey::GetCoolKeyRequi + + /* boolean rhGetCoolKeyIsAuthenticated (in unsigned long aKeyType, in string aKeyID); */ + +-NS_IMETHODIMP rhCoolKey::GetCoolKeyIsAuthenticated(PRUint32 aKeyType, const char *aKeyID, PRBool *_retval) ++NS_IMETHODIMP rhCoolKey::GetCoolKeyIsAuthenticated(PRUint32 aKeyType, const char *aKeyID, bool *_retval) + { + char tBuff[56]; + PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKey::RhGetCoolKeyIsAuthenticated thread: %p \n",GetTStamp(tBuff,56),PR_GetCurrentThread())); +@@ -1660,7 +1661,7 @@ NS_IMETHODIMP rhCoolKey::GetCoolKeyIsAut + + /* boolean rhAuthenticateCoolKey (in unsigned long aKeyType, in string aKeyID, in string aPIN); */ + +-NS_IMETHODIMP rhCoolKey::AuthenticateCoolKey(PRUint32 aKeyType, const char *aKeyID, const char *aPIN, PRBool *_retval) ++NS_IMETHODIMP rhCoolKey::AuthenticateCoolKey(PRUint32 aKeyType, const char *aKeyID, const char *aPIN, bool *_retval) + { + char tBuff[56]; + PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKey::RhAuthenticateCoolKey thread: %p \n",GetTStamp(tBuff,56),PR_GetCurrentThread())); +diff -up ./esc/src/app/xpcom/tray/Makefile.sdk.fix13 ./esc/src/app/xpcom/tray/Makefile.sdk +--- ./esc/src/app/xpcom/tray/Makefile.sdk.fix13 2012-02-20 18:01:49.522177961 -0800 ++++ ./esc/src/app/xpcom/tray/Makefile.sdk 2012-02-20 18:01:49.526177952 -0800 +@@ -39,6 +39,15 @@ ifndef GECKO_BIN_PATH + GECKO_BIN_PATH=/usr/lib/xulrunner-1.9 + endif + ++ifndef GECKO_IDL_PATH ++GECKO_IDL_PATH=/usr/share/idl/xulrunner-2 ++endif ++ ++ifndef PYTHON_BIN_PATH ++PYTHON_BIN=python ++endif ++ ++ + ifeq ($(OS_ARCH),Darwin) + ifndef GECKO_SDK_PATH + GECKO_SDK_PATH =/Users/jmagne/Desktop/gecko-sdk-mac-universal +@@ -220,13 +229,14 @@ all:: export libs + + libs:: + echo "PPC_BUILD $(PPC_BUILD)" +- $(GECKO_BIN_PATH)/xpidl -I $(GECKO_SDK_PATH)/idl -I $(NSPR_INCLUDE) -m header rhITray.idl + +- $(GECKO_BIN_PATH)/xpidl -I $(GECKO_SDK_PATH)/idl -I $(NSPR_INCLUDE) -m typelib rhITray.idl ++ $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/header.py --cachedir=/tmp -o rhITray.h -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhITray.idl ++ ++ $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/typelib.py --cachedir=/tmp -o rhITray.xpt -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhITray.idl + +- $(GECKO_BIN_PATH)/xpidl -I $(GECKO_SDK_PATH)/idl -I $(NSPR_INCLUDE) -m header rhITrayWindNotify.idl ++ $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/header.py --cachedir=/tmp -o rhITrayWindNotify.h -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhITrayWindNotify.idl + +- $(GECKO_BIN_PATH)/xpidl -I $(GECKO_SDK_PATH)/idl -I $(NSPR_INCLUDE) -m typelib rhITrayWindNotify.idl ++ $(PYTHON_BIN) $(GECKO_SDK_PATH)/bin/typelib.py --cachedir=/tmp -o rhITrayWindNotify.xpt -I $(GECKO_IDL_PATH) -I $(NSPR_INCLUDE) rhITrayWindNotify.idl + + ifeq ($(OS_ARCH),Darwin) + $(CXX) $(CPPFLAGS) -c -o $(OBJECT) $(GECKO_CONFIG_INCLUDE) $(GECKO_DEFINES) $(GECKO_INCLUDES) $(COOL_INCLUDES) $(CXXFLAGS) $(FILES) +diff -up ./esc/src/app/xpcom/tray/rhLinuxTray.cpp.fix13 ./esc/src/app/xpcom/tray/rhLinuxTray.cpp +--- ./esc/src/app/xpcom/tray/rhLinuxTray.cpp.fix13 2012-02-20 18:01:49.512177984 -0800 ++++ ./esc/src/app/xpcom/tray/rhLinuxTray.cpp 2012-02-20 18:01:49.526177952 -0800 +@@ -215,7 +215,7 @@ NS_IMETHODIMP rhTray::Show(nsIBaseWindow + return NS_OK; + } + +-NS_IMETHODIMP rhTray::IsInitializedAlready(PRBool *_retval) ++NS_IMETHODIMP rhTray::IsInitializedAlready(bool *_retval) + { + *_retval = 0; + +@@ -749,7 +749,7 @@ void rhTray::NotifyTrayWindListeners(PRU + std::list< nsCOMPtr >::const_iterator it; + for(it=gTrayWindNotifyListeners.begin(); it!=gTrayWindNotifyListeners.end(); ++it) { + +- PRBool claimed = 0; ++ bool claimed = 0; + + PR_LOG( trayLog, PR_LOG_DEBUG, ("%s NotifyTrayWindListeners about to notify \n",GetTStamp(tBuff,56))); + ((rhITrayWindNotify *) (*it))->RhTrayWindEventNotify(aEvent,aEventData, aKeyData, aData1, aData2, &claimed); +diff -up ./esc/src/app/xul/esc/application.ini.fix13 ./esc/src/app/xul/esc/application.ini +--- ./esc/src/app/xul/esc/application.ini.fix13 2012-02-20 18:01:49.523177958 -0800 ++++ ./esc/src/app/xul/esc/application.ini 2012-02-20 18:01:49.527177950 -0800 +@@ -25,7 +25,7 @@ Vendor=RedHat + Name=ESC + ; + ; This field specifies your application's version. This field is optional. +-Version=1.1.0-16 ++Version=1.1.0-15 + ; + ; This field specifies your application's build ID (timestamp). This field is + ; required. +diff -up ./esc/src/app/xul/esc/chrome/content/esc/ESC.js.fix13 ./esc/src/app/xul/esc/chrome/content/esc/ESC.js +--- ./esc/src/app/xul/esc/chrome/content/esc/ESC.js.fix13 2012-02-20 18:01:49.514177980 -0800 ++++ ./esc/src/app/xul/esc/chrome/content/esc/ESC.js 2012-02-20 18:01:49.527177950 -0800 +@@ -118,7 +118,7 @@ jsNotify.prototype = { + if(!iid.equals(Components.interfaces.rhIKeyNotify) && + !iid.equals(Components.interfaces.nsISupports)) + { +- MyAlert(getBundleString("errorJsNotifyInterface")); ++ //MyAlert(getBundleString("errorJsNotifyInterface")); + throw Components.results.NS_ERROR_NO_INTERFACE; + } + return this; +diff -up ./esc/src/app/xul/esc/chrome/content/esc/TRAY.js.fix13 ./esc/src/app/xul/esc/chrome/content/esc/TRAY.js +--- ./esc/src/app/xul/esc/chrome/content/esc/TRAY.js.fix13 2012-02-20 18:01:49.515177978 -0800 ++++ ./esc/src/app/xul/esc/chrome/content/esc/TRAY.js 2012-02-20 18:01:49.528177948 -0800 +@@ -49,7 +49,7 @@ jsWindNotify.prototype = { + if(!iid.equals(Components.interfaces.rhITrayWindNotify) && + !iid.equals(Components.interfaces.nsISupports)) + { +- MyAlert(getBundleString("errorJsNotifyInterface")); ++ //MyAlert(getBundleString("errorJsNotifyInterface")); + throw Components.results.NS_ERROR_NO_INTERFACE; + } + return this; diff --git a/esc-1.1.0-fix9.patch b/esc-1.1.0-fix9.patch new file mode 100644 index 0000000..90cd339 --- /dev/null +++ b/esc-1.1.0-fix9.patch @@ -0,0 +1,772 @@ +diff -up ./esc/src/app/daemon/manifest.mn.fix9 ./esc/src/app/daemon/manifest.mn +--- ./esc/src/app/daemon/manifest.mn.fix9 2011-03-24 12:35:31.481712082 -0700 ++++ ./esc/src/app/daemon/manifest.mn 2011-03-24 12:35:39.758712086 -0700 +@@ -37,7 +37,7 @@ DEFINES += $(shell pkg-config --cflags x + CPPFLAGS += $(DEFINES) -g + + LDFLAGS += -lstdc++ -L$(CORE_DIST)/$(OBJDIR)/lib -L$(XULRUNNER_LIBS_LDFLAGS) -lnss3 -lnspr4 -lssl3 -lckyapplet $(shell pkg-config --libs xft) +-LDFLAGS += -lckymanager -lhttpchunked -lm -lnss3 -lplc4 -lplds4 ++LDFLAGS += -lckymanager -lhttpchunked -lm -lnss3 -lplc4 -lplds4 -lX11 + # MODULE public and private header directories are implicitly REQUIRED. + + CPPSRCS = \ +diff -up ./esc/src/app/xpcom/rhCoolKey.cpp.fix9 ./esc/src/app/xpcom/rhCoolKey.cpp +--- ./esc/src/app/xpcom/rhCoolKey.cpp.fix9 2011-03-24 12:37:10.273712093 -0700 ++++ ./esc/src/app/xpcom/rhCoolKey.cpp 2011-03-24 12:37:18.813712092 -0700 +@@ -70,6 +70,7 @@ + + #define PSM_COMPONENT_CONTRACTID "@mozilla.org/psm;1" + #define NS_CERTOVERRIDE_CONTRACTID "@mozilla.org/security/certoverride;1" ++#define RH_COOLKEY_CONTRACTID "@redhat.com/rhCoolKey;1" + + static const nsIID kIModuleIID = NS_IMODULE_IID; + static const nsIID kIFactoryIID = NS_IFACTORY_IID; +@@ -1711,297 +1712,36 @@ NS_IMETHODIMP rhCoolKey::GetCoolKeyVersi + + NS_GENERIC_FACTORY_CONSTRUCTOR(rhCoolKey) + +-NS_IMPL_ISUPPORTS1(rhCoolKey,rhICoolKey) +- +-// Implement full module and factory dance so we can see what is going on +- +-class rhCoolKeyFactory: public nsIFactory{ +-private: +-nsrefcnt mRefCnt; +-public: +-rhCoolKeyFactory(); +-virtual ~rhCoolKeyFactory(); +- +-NS_IMETHOD QueryInterface(const nsIID &aIID, void **aResult); +-NS_IMETHOD_(nsrefcnt) AddRef(void); +-NS_IMETHOD_(nsrefcnt) Release(void); +- +-NS_IMETHOD CreateInstance(nsISupports *aOuter, const nsIID & iid, void * *result); +-NS_IMETHOD LockFactory(PRBool lock); +- ++// Build a table of ClassIDs (CIDs) which are implemented by this module. CIDs ++// // should be completely unique UUIDs. ++// // each entry has the form { CID, service, factoryproc, constructorproc } ++// // where factoryproc is usually NULL. ++static const mozilla::Module::CIDEntry kCoolKeyCIDs[] = { ++ { &kCoolKeyCID, false, NULL, rhCoolKeyConstructor }, ++ { NULL } ++ }; ++ ++// Build a table which maps contract IDs to CIDs. ++// // A contract is a string which identifies a particular set of functionality. In some ++// // cases an extension component may override the contract ID of a builtin gecko component ++// // to modify or extend functionality. ++// ++static const mozilla::Module::ContractIDEntry kCoolKeyContracts[] = { ++ { RH_COOLKEY_CONTRACTID, &kCoolKeyCID }, ++ { NULL } + }; + +-rhCoolKeyFactory::rhCoolKeyFactory() +-{ +-mRefCnt = 0; +-} +-rhCoolKeyFactory::~rhCoolKeyFactory() +-{ +-} +- +-NS_IMETHODIMP rhCoolKeyFactory::QueryInterface(const nsIID &aIID, +-void **aResult) +-{ +-if (aResult == NULL) { +-return NS_ERROR_NULL_POINTER; +-} +-*aResult = NULL; +-if (aIID.Equals(kISupportsIID)) { +-*aResult = (void *) this; +-} +-else +-if (aIID.Equals(kIFactoryIID)) { +-*aResult = (void *) this; +-} +- +-if (*aResult == NULL) { +-return NS_ERROR_NO_INTERFACE; +-} +- +-AddRef(); +-return NS_OK; +-} +- +-NS_IMETHODIMP_(nsrefcnt) rhCoolKeyFactory::AddRef() +-{ +-return ++mRefCnt; +-} +- +- +-NS_IMETHODIMP_(nsrefcnt) rhCoolKeyFactory::Release() +-{ +-if (--mRefCnt == 0) { +-delete this; +-return 0; +-} +-return mRefCnt; +-} +- +- +-NS_IMETHODIMP +-rhCoolKeyFactory::CreateInstance(nsISupports *aOuter, const nsIID & iid, void * *result) +-{ +-if (!result) +-return NS_ERROR_INVALID_ARG; +- +-rhCoolKey* sample = new rhCoolKey(); +-if (!sample) +-return NS_ERROR_OUT_OF_MEMORY; +- +-nsresult rv = sample->QueryInterface(iid, result); +- +-if (NS_FAILED(rv)) { +-*result = nsnull; +-delete sample; +-} +- +-return rv; +-} +- +- +-NS_IMETHODIMP +-rhCoolKeyFactory::LockFactory(PRBool lock) +-{ +-return NS_ERROR_NOT_IMPLEMENTED; +-} +- +-// Module implementation +-class rhCoolKeyModule : public nsIModule +-{ +-public: +-rhCoolKeyModule(); +-virtual ~rhCoolKeyModule(); +- +-// nsISupports methods: +-NS_IMETHOD QueryInterface(const nsIID & uuid, void * *result); +-NS_IMETHOD_(nsrefcnt) AddRef(void); +-NS_IMETHOD_(nsrefcnt) Release(void); +- +-// nsIModule methods: +-NS_IMETHOD GetClassObject(nsIComponentManager *aCompMgr, const nsCID & aClass, const nsIID & aIID, void * *aResult); +-NS_IMETHOD RegisterSelf(nsIComponentManager *aCompMgr, nsIFile *aLocation, const char *aLoaderStr, const char *aType); +-NS_IMETHOD UnregisterSelf(nsIComponentManager *aCompMgr, nsIFile *aLocation, const char *aLoaderStr); +-NS_IMETHOD CanUnload(nsIComponentManager *aCompMgr, PRBool *_retval); +- +-private: +-nsrefcnt mRefCnt; ++static const mozilla::Module kCoolKeyModule = { ++ mozilla::Module::kVersion, ++ kCoolKeyCIDs, ++ kCoolKeyContracts, ++ NULL + }; + ++// The following line implements the one-and-only "NSModule" symbol exported from this ++// // shared library. ++ NSMODULE_DEFN(rhCoolKeyModule) = &kCoolKeyModule; ++// + +-//---------------------------------------------------------------------- +- +-rhCoolKeyModule::rhCoolKeyModule() +-{ +-mRefCnt = 0; +-} +- +-rhCoolKeyModule::~rhCoolKeyModule() +-{ +-} +- +-// nsISupports implemention +-NS_IMETHODIMP_(nsrefcnt) +-rhCoolKeyModule::AddRef(void) +-{ +-char tBuff[56]; +-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::AddRef \n",GetTStamp(tBuff,56))); +-++mRefCnt; +-return mRefCnt; +-} +- +- +-NS_IMETHODIMP_(nsrefcnt) +-rhCoolKeyModule::Release(void) +-{ +-char tBuff[56]; +-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::Release : mRefCnt %d \n",GetTStamp(tBuff,56),mRefCnt - 1)); +---mRefCnt; +-if (mRefCnt == 0) { +-mRefCnt = 1; /* stabilize */ +-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::Release deleting Module \n",GetTStamp(tBuff,56))); +-delete this; +-return 0; +-} +-return mRefCnt; +-} +- +- +-NS_IMETHODIMP +-rhCoolKeyModule::QueryInterface(REFNSIID aIID, void** aInstancePtr) +-{ +-char tBuff[56]; +-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::QueryInterface \n",GetTStamp(tBuff,56))); +-if ( !aInstancePtr ) +-return NS_ERROR_NULL_POINTER; +- +-nsISupports* foundInterface; +- +-if ( aIID.Equals(kIModuleIID) ) +-foundInterface = (nsIModule*) this; +- +-else if ( aIID.Equals(kISupportsIID) ) +-foundInterface = (nsISupports*) this; +- +-else +-foundInterface = 0; +- +-if (foundInterface) { +-foundInterface->AddRef(); +-*aInstancePtr = foundInterface; +-return NS_OK; +-} +- +-*aInstancePtr = foundInterface; +-return NS_NOINTERFACE; +-} +- +- +-// Create a factory object for creating instances of aClass. +-NS_IMETHODIMP +-rhCoolKeyModule::GetClassObject(nsIComponentManager *aCompMgr, +-const nsCID& aClass, +-const nsIID& aIID, +-void** result) +-{ +-char tBuff[56]; +-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::GetClassObject \n",GetTStamp(tBuff,56))); +-if (!kCoolKeyCID.Equals(aClass)) +-return NS_ERROR_FACTORY_NOT_REGISTERED; +- +-if (!result) +-return NS_ERROR_INVALID_ARG; +- +-rhCoolKeyFactory* factory = new rhCoolKeyFactory(); +-if (!factory) +-return NS_ERROR_OUT_OF_MEMORY; +- +-nsresult rv = factory->QueryInterface(aIID, result); +- +-if (NS_FAILED(rv)) { +-*result = nsnull; +-delete factory; +-} +- +-return rv; +-} +- +- +-NS_IMETHODIMP +-rhCoolKeyModule::RegisterSelf(nsIComponentManager *aCompMgr, +-nsIFile* aPath, +-const char* registryLocation, +-const char* componentType) +-{ +- +-char tBuff[54]; +-nsIComponentRegistrar* compReg = nsnull; +- +-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::RegisterSelf \n",GetTStamp(tBuff,56))); +-nsresult rv = aCompMgr->QueryInterface(kIComponentRegistrarIID, (void**)&compReg); +-if (NS_FAILED(rv)) +-return rv; +- +-rv = compReg->RegisterFactoryLocation(kCoolKeyCID, +-"CoolKey", +-"@redhat.com/rhCoolKey", +-aPath, +-registryLocation, +-componentType); +- +-compReg->Release(); +- +-return rv; +-} +- +-NS_IMETHODIMP +-rhCoolKeyModule::UnregisterSelf(nsIComponentManager* aCompMgr, +-nsIFile* aPath, +-const char* registryLocation) +-{ +-char tBuff[56]; +-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::UnregisterSelf \n",GetTStamp(tBuff,56))); +-nsIComponentRegistrar* compReg = nsnull; +- +-nsresult rv = aCompMgr->QueryInterface(kIComponentRegistrarIID, (void**)&compReg); +-if (NS_FAILED(rv)) +-return rv; +- +-rv = compReg->UnregisterFactoryLocation(kCoolKeyCID, aPath); +- +-compReg->Release(); +- +-return rv; +-} +- +-NS_IMETHODIMP +-rhCoolKeyModule::CanUnload(nsIComponentManager *aCompMgr, PRBool *okToUnload) +-{ +-*okToUnload = PR_FALSE; // we do not know how to unload. +-return NS_OK; +-} +- +- +-//---------------------------------------------------------------------- +- +-extern "C" NS_EXPORT nsresult NSGetModule(nsIComponentManager *servMgr, +-nsIFile* location, +-nsIModule** return_cobj) +-{ +-nsresult rv = NS_OK; +- +-char tBuff[56]; +-PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s rhCoolKeyModule::NSGetModule \n",GetTStamp(tBuff,56))); +- +-// Create and initialize the module instance +-rhCoolKeyModule *m = new rhCoolKeyModule(); +-if (!m) { +-return NS_ERROR_OUT_OF_MEMORY; +-} ++NS_IMPL_ISUPPORTS1(rhCoolKey,rhICoolKey) + +-// Increase refcnt and store away nsIModule interface to m in return_cobj +-rv = m->QueryInterface(kIModuleIID, (void**)return_cobj); +-if (NS_FAILED(rv)) { +-delete m; +-} +-return rv; +-} +diff -up ./esc/src/app/xpcom/rhCoolKey.h.fix9 ./esc/src/app/xpcom/rhCoolKey.h +--- ./esc/src/app/xpcom/rhCoolKey.h.fix9 2011-03-24 12:40:07.291712102 -0700 ++++ ./esc/src/app/xpcom/rhCoolKey.h 2011-03-24 12:40:15.644712108 -0700 +@@ -19,7 +19,9 @@ + #define RH_COOLKEY_H + + #include "rhICoolKey.h" +-#include "nsIGenericFactory.h" ++/*#include "nsIGenericFactory.h" */ ++#include "mozilla/ModuleUtils.h" ++#include "nsIClassInfoImpl.h" + #include "nsEmbedString.h" + #include + #include "nspr.h" +diff -up ./esc/src/app/xpcom/rhICoolKey.idl.fix9 ./esc/src/app/xpcom/rhICoolKey.idl +--- ./esc/src/app/xpcom/rhICoolKey.idl.fix9 2011-03-24 12:42:27.595712113 -0700 ++++ ./esc/src/app/xpcom/rhICoolKey.idl 2011-03-24 12:42:39.069712124 -0700 +@@ -17,12 +17,11 @@ + + #include "nsISupports.idl" + #include "rhIKeyNotify.idl" +-#include "nsIObserver.idl" ++//#include "nsIObserver.idl" + +-interface nsIDOMHTMLDocument; + [scriptable,uuid(ea54eee4-9548-4b63-b94d-c519ffc91d09)] + +-interface rhICoolKey: nsISupports ++interface rhICoolKey:nsISupports + { + + void rhNotifyKeyStateChange(in unsigned long aKeyType, in string aKeyID, in unsigned long aKeyState, in unsigned long aData, in string strData); +diff -up ./esc/src/app/xpcom/tray/rhLinuxTray.cpp.fix9 ./esc/src/app/xpcom/tray/rhLinuxTray.cpp +--- ./esc/src/app/xpcom/tray/rhLinuxTray.cpp.fix9 2011-03-24 12:43:20.262712118 -0700 ++++ ./esc/src/app/xpcom/tray/rhLinuxTray.cpp 2011-03-24 12:43:34.767712121 -0700 +@@ -18,14 +18,17 @@ + #define FORCE_PR_LOG 1 + + #include "rhTray.h" +-#include "nsIGenericFactory.h" ++#include "mozilla/ModuleUtils.h" + #include + #include "notifytray.h" + #include "nsIStringBundle.h" + #include + #include + +-NS_IMPL_ISUPPORTS1(rhTray, rhITray) ++#define RH_COOLKEY_TRAY_CONTRACTID "@redhat.com/rhTray;1" ++ ++static const nsCID kCoolKeyTrayCID = RH_TRAY_CID; ++ + + GtkWidget* rhTray::mWnd = NULL; + GtkWidget* rhTray::mIconMenu = NULL; +@@ -861,15 +864,36 @@ gboolean rhTrayWindowListener::WndDelete + NS_GENERIC_FACTORY_CONSTRUCTOR(rhTray) + + +-//rhTray Module Implementation ++// Build a table of ClassIDs (CIDs) which are implemented by this module. CIDs ++// // // should be completely unique UUIDs. ++// // // each entry has the form { CID, service, factoryproc, constructorproc } ++// // // where factoryproc is usually NULL. ++ ++static const mozilla::Module::CIDEntry kCoolKeyTrayCIDs[] = { ++ { &kCoolKeyTrayCID, false, NULL, rhTrayConstructor }, ++ { NULL } ++}; + +-static const nsModuleComponentInfo components[] = +-{ +- { "rhTray", +- RH_TRAY_CID, +- "@redhat.com/rhTray", +- rhTrayConstructor +- } ++// Build a table which maps contract IDs to CIDs. ++// A contract is a string which identifies a particular set of functionality. In some ++// cases an extension component may override the contract ID of a builtin gecko component ++// to modify or extend functionality. ++ ++static const mozilla::Module::ContractIDEntry kCoolKeyTrayContracts[] = { ++ { RH_COOLKEY_TRAY_CONTRACTID, &kCoolKeyTrayCID }, ++ { NULL } + }; + +-NS_IMPL_NSGETMODULE(rhTrayModule, components) ++static const mozilla::Module kCoolKeyTrayModule = { ++ mozilla::Module::kVersion, ++ kCoolKeyTrayCIDs, ++ kCoolKeyTrayContracts, ++ NULL ++}; ++ ++// The following line implements the one-and-only "NSModule" symbol exported from this ++// shared library. ++NSMODULE_DEFN(rhCoolKeyTrayModule) = &kCoolKeyTrayModule; ++ ++NS_IMPL_ISUPPORTS1(rhTray,rhITray) ++ +diff -up ./esc/src/app/xpcom/tray/rhTray.h.fix9 ./esc/src/app/xpcom/tray/rhTray.h +--- ./esc/src/app/xpcom/tray/rhTray.h.fix9 2011-03-24 12:44:10.035712119 -0700 ++++ ./esc/src/app/xpcom/tray/rhTray.h 2011-03-24 12:44:19.059712129 -0700 +@@ -19,7 +19,8 @@ + #define RH_TRAY_H + + #include "rhITray.h" +-#include "nsIGenericFactory.h" ++//#include "nsIGenericFactory.h" ++//#include mozilla/ModuleUtils.h + #include "nsEmbedString.h" + #include + #include "nsCOMPtr.h" +diff -up ./esc/src/app/xul/esc/application.ini.fix9 ./esc/src/app/xul/esc/application.ini +--- ./esc/src/app/xul/esc/application.ini.fix9 2011-03-24 12:45:51.087712126 -0700 ++++ ./esc/src/app/xul/esc/application.ini 2011-03-24 12:46:01.780712129 -0700 +@@ -25,11 +25,11 @@ Vendor=RedHat + Name=ESC + ; + ; This field specifies your application's version. This field is optional. +-Version=1.1.0-12 ++Version=1.1.0-13 + ; + ; This field specifies your application's build ID (timestamp). This field is + ; required. +-BuildID=0000001012 ++BuildID=0000001013 + ; + ; This ID is just an example. Every XUL app ought to have it's own unique ID. + ; You can use the microsoft "guidgen" or "uuidgen" tools, or go on +@@ -41,12 +41,12 @@ ID={6380471b-1924-4b48-b652-49f42951af86 + ; This field is required. It specifies the minimum Gecko version that this + ; application requires. Specifying 1.8 matches all releases with a version + ; prefixed by 1.8 (e.g., 1.8a4, 1.8b, 1.8.2). +-MinVersion=1.9 ++MinVersion=1.99 + ; + ; This field is optional. It specifies the maximum Gecko version that this + ; application requires. It should be specified if your application uses + ; unfrozen interfaces. Specifying 1.8 matches all releases with a version + ; prefixed by 1.8 (e.g., 1.8a4, 1.8b, 1.8.2). +-MaxVersion=1.99 ++MaxVersion=2.99 + + [Shell] +diff -up ./esc/src/app/xul/esc/chrome/chrome.manifest.fix9 ./esc/src/app/xul/esc/chrome/chrome.manifest +--- ./esc/src/app/xul/esc/chrome/chrome.manifest.fix9 2011-03-24 12:52:14.601712157 -0700 ++++ ./esc/src/app/xul/esc/chrome/chrome.manifest 2011-03-24 12:52:23.723712155 -0700 +@@ -1,19 +0,0 @@ +-# BEGIN COPYRIGHT BLOCK +-# This Program is free software; you can redistribute it and/or modify it under +-# the terms of the GNU General Public License as published by the Free Software +-# Foundation; version 2 of the License. +-# +-# This Program is distributed in the hope that it will be useful, but WITHOUT +-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +-# +-# You should have received a copy of the GNU General Public License along with +-# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple +-# Place, Suite 330, Boston, MA 02111-1307 USA. +-# +-# Copyright (C) 2005 Red Hat, Inc. +-# All rights reserved. +-# END COPYRIGHT BLOCK +- +-content esc content/esc/ +-locale esc en-US locale/en-US/ +diff -up ./esc/src/app/xul/esc/chrome/content/esc/ESC.js.fix9 ./esc/src/app/xul/esc/chrome/content/esc/ESC.js +--- ./esc/src/app/xul/esc/chrome/content/esc/ESC.js.fix9 2011-03-24 12:52:49.995712156 -0700 ++++ ./esc/src/app/xul/esc/chrome/content/esc/ESC.js 2011-03-24 12:52:59.829712160 -0700 +@@ -132,7 +132,7 @@ jsNotify.prototype = { + + try { + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); +- netkey = Components.classes["@redhat.com/rhCoolKey"].getService(); ++ netkey = Components.classes["@redhat.com/rhCoolKey;1"].getService(); + netkey = netkey.QueryInterface(Components.interfaces.rhICoolKey); + gNotify = new jsNotify; + netkey.rhCoolKeySetNotifyCallback(gNotify); +diff -up ./esc/src/app/xul/esc/chrome/content/esc/TRAY.js.fix9 ./esc/src/app/xul/esc/chrome/content/esc/TRAY.js +--- ./esc/src/app/xul/esc/chrome/content/esc/TRAY.js.fix9 2011-03-24 12:53:21.344712157 -0700 ++++ ./esc/src/app/xul/esc/chrome/content/esc/TRAY.js 2011-03-24 12:53:28.456712159 -0700 +@@ -63,7 +63,7 @@ jsWindNotify.prototype = { + // GECKO ONLY initialization + try { + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); +- gTray = Components.classes["@redhat.com/rhTray"].getService(); ++ gTray = Components.classes["@redhat.com/rhTray;1"].getService(); + + + gTray = gTray.QueryInterface(Components.interfaces.rhITray); +diff -up ./esc/src/app/xul/esc/chrome.manifest.fix9 ./esc/src/app/xul/esc/chrome.manifest +--- ./esc/src/app/xul/esc/chrome.manifest.fix9 2011-03-24 12:49:14.983712140 -0700 ++++ ./esc/src/app/xul/esc/chrome.manifest 2011-03-24 12:49:47.350712147 -0700 +@@ -0,0 +1,33 @@ ++# BEGIN COPYRIGHT BLOCK ++# This Program is free software; you can redistribute it and/or modify it under ++# the terms of the GNU General Public License as published by the Free Software ++# Foundation; version 2 of the License. ++# ++# This Program is distributed in the hope that it will be useful, but WITHOUT ++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along with ++# this Program; if not, write to the Free Software Foundation, Inc., 59 Temple ++# Place, Suite 330, Boston, MA 02111-1307 USA. ++# ++# Copyright (C) 2005 Red Hat, Inc. ++# All rights reserved. ++# END COPYRIGHT BLOCK ++ ++content esc chrome/content/esc/ ++locale esc en-US chrome/locale/en-US/ ++ ++interfaces components/rhICoolKey.xpt ++interfaces components/rhIKeyNotify.xpt ++interfaces components/rhITray.xpt ++interfaces components/rhITrayWindNotify.xpt ++ ++ ++binary-component components/librhCoolKey.so ++binary-component components/librhTray.so ++ ++ ++component {36c65861-52a8-4ce9-aa3b-235b88216ed4} components/escCLH.js ++contract @redhat.com/esc-clh;1 {36c65861-52a8-4ce9-aa3b-235b88216ed4} ++category command-line-handler escCLH @redhat.com/esc-clh;1 +diff -up ./esc/src/app/xul/esc/components/escCLH.js.fix9 ./esc/src/app/xul/esc/components/escCLH.js +--- ./esc/src/app/xul/esc/components/escCLH.js.fix9 2011-03-24 12:54:15.072712160 -0700 ++++ ./esc/src/app/xul/esc/components/escCLH.js 2011-03-24 12:54:53.868712165 -0700 +@@ -2,6 +2,8 @@ + * -myapp commandline handler; starts up My App. + */ + ++ Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); ++ + const nsIAppShellService = Components.interfaces.nsIAppShellService; + const nsISupports = Components.interfaces.nsISupports; + const nsICategoryManager = Components.interfaces.nsICategoryManager; +@@ -20,20 +22,26 @@ + consoleService.logStringMessage("esc: " + message + "\n"); + } + ++Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); ++ + /* + * Classes + */ ++ ++function escCLH() {} + +- const escCLH = { ++ escCLH.prototype = { ++ ++ ++ contractID: "@redhat.com/esc-clh;1", ++ classID: Components.ID("{36c65861-52a8-4ce9-aa3b-235b88216ed4}"), ++ // const clh_category = "c-esc"; ++ ++ + /* nsISupports */ +- QueryInterface : function clh_QI(iid) { +- if (iid.equals(nsICommandLineHandler) || +- iid.equals(nsIFactory) || +- iid.equals(nsISupports)) +- return this; + +- throw Components.results.NS_ERROR_NO_INTERFACE; +- }, ++ QueryInterface : XPCOMUtils.generateQI([nsICommandLineHandler]), ++ + + /* nsICommandLineHandler */ + +@@ -91,76 +99,8 @@ + + helpInfo : " -myapp Open the My App.\n", + +- /* nsIFactory */ +- +- createInstance : function clh_CI(outer, iid) { +- if (outer != null) +- throw Components.results.NS_ERROR_NO_AGGREGATION; +- +- return this.QueryInterface(iid); +- }, +- +- lockFactory : function clh_lock(lock) { +- /* no-op */ +- } +- }; +- +- const clh_contractID = "@redhat.com/esc-clh;1"; +- const clh_CID = Components.ID("{36c65861-52a8-4ce9-aa3b-235b88216ed4}"); +- const clh_category = "c-esc"; +- +- const escCLHModule = { +- /* nsISupports */ +- +- QueryInterface : function mod_QI(iid) { +- if (iid.equals(nsIModule) || +- iid.equals(nsISupports)) +- return this; +- +- throw Components.results.NS_ERROR_NO_INTERFACE; +- }, +- +- /* nsIModule */ +- getClassObject : function mod_gch(compMgr, cid, iid) { +- if (cid.equals(clh_CID)) +- return escCLH.QueryInterface(iid); +- +- throw Components.results.NS_ERROR_NOT_REGISTERED; +- }, +- +- registerSelf : function mod_regself(compMgr, fileSpec, location, type) { +- compMgr.QueryInterface(nsIComponentRegistrar); +- +- compMgr.registerFactoryLocation(clh_CID, +- "escCLH", +- clh_contractID, +- fileSpec, +- location, +- type); +- +- var catMan = Components.classes["@mozilla.org/categorymanager;1"] +- .getService(nsICategoryManager); +- catMan.addCategoryEntry("command-line-handler", +- clh_category, +- clh_contractID, true, true); +- }, +- +- unregisterSelf : function mod_unreg(compMgr, location, type) { +- compMgr.QueryInterface(nsIComponentRegistrar); +- +- compMgr.unregisterFactoryLocation(clh_CID, location); +- +- var catMan = Components.classes["@mozilla.org/categorymanager;1"] +- .getService(nsICategoryManager); +- catMan.deleteCategoryEntry("command-line-handler", clh_category); +- }, +- +- canUnload : function (compMgr) { +- return true; +- } + }; + + /* Module initialisation */ +- function NSGetModule(comMgr, fileSpec) { +- return escCLHModule; +- } ++ ++var NSGetFactory = XPCOMUtils.generateNSGetFactory([escCLH]); +diff -up ./esc/src/lib/notifytray/notifyareaicon.c.fix9 ./esc/src/lib/notifytray/notifyareaicon.c +--- ./esc/src/lib/notifytray/notifyareaicon.c.fix9 2011-03-24 12:57:00.410712173 -0700 ++++ ./esc/src/lib/notifytray/notifyareaicon.c 2011-03-24 12:57:21.501712174 -0700 +@@ -90,19 +90,7 @@ notify_area_icon_class_init (NotifyAreaI + static void + notify_area_icon_unrealize (GtkWidget *widget) + { +- NotifyAreaIcon *icon = (NotifyAreaIcon *) widget; +- +- GdkWindow *root_window; +- + g_print("notify_area_icon_unrealize \n"); +- if (icon->manager_wnd != None) +- { +- GdkWindow *gdkwin; +- gdkwin = gdk_window_lookup (icon->manager_wnd); +- +- } +- +- root_window = gdk_window_lookup (gdk_x11_get_default_root_xwindow ()); + + if (GTK_WIDGET_CLASS (plug_parent_class)->unrealize) + (* GTK_WIDGET_CLASS (plug_parent_class)->unrealize) (widget); +@@ -159,14 +147,6 @@ notify_area_icon_update_manager_wnd(Noti + + xdisplay = gdk_display; + +- if (icon->manager_wnd != None) +- { +- GdkWindow *gdkwin; +- +- gdkwin = gdk_window_lookup (icon->manager_wnd); +- +- } +- + XGrabServer (xdisplay); + + icon->manager_wnd = XGetSelectionOwner (xdisplay, icon->selection_atom); +@@ -235,7 +215,7 @@ notify_area_icon_new(const gchar *name) + { + NotifyAreaIcon *icon; + char buff[256]; +- GdkWindow *root; ++ /* GdkWindow *root; */ + + Screen *xscreen = DefaultScreenOfDisplay (gdk_display); + +@@ -275,8 +255,6 @@ notify_area_icon_new(const gchar *name) + notify_area_icon_update_manager_wnd(icon); + + g_print ("attempted to update_manager_wnd: %p",(void *)icon->manager_wnd); +- +- root = gdk_window_lookup (gdk_x11_get_default_root_xwindow ()); + + icon->tooltips = gtk_tooltips_new (); + +diff -up ./esc/src/lib/notifytray/notifytray.c.fix9 ./esc/src/lib/notifytray/notifytray.c +--- ./esc/src/lib/notifytray/notifytray.c.fix9 2011-03-24 12:57:57.680712175 -0700 ++++ ./esc/src/lib/notifytray/notifytray.c 2011-03-24 12:58:07.243712165 -0700 +@@ -239,7 +239,7 @@ void notify_icon_send_tooltip_msg(const + } + + g_print("icon %s", icon); +- NotifyNotification *not = notify_notification_new(msg_title, message,icon, GTK_WIDGET(notify)); ++ NotifyNotification *not = notify_notification_new(msg_title, message,icon); /*, GTK_WIDGET(notify));*/ + + if(not) + { diff --git a/esc.spec b/esc.spec index 201c898..cd47694 100644 --- a/esc.spec +++ b/esc.spec @@ -1,6 +1,6 @@ Name: esc Version: 1.1.0 -Release: 14%{?dist} +Release: 15%{?dist} Summary: Enterprise Security Client Smart Card Client License: GPL URL: http://directory.fedora.redhat.com/wiki/CoolKey @@ -16,6 +16,11 @@ Patch5: esc-1.1.0-fix5.patch Patch6: esc-1.1.0-fix6.patch Patch7: esc-1.1.0-fix7.patch Patch8: esc-1.1.0-fix8.patch +Patch9: esc-1.1.0-fix9.patch +Patch10: esc-1.1.0-fix10.patch +Patch11: esc-1.1.0-fix11.patch +Patch12: esc-1.1.0-fix12.patch +Patch13: esc-1.1.0-fix13.patch BuildRequires: doxygen fontconfig-devel freetype-devel >= 2.1 BuildRequires: glib2-devel libIDL-devel atk-devel gtk2-devel libjpeg-devel @@ -78,12 +83,17 @@ cryptographic smartcards. %patch6 -p1 -b .fix6 %patch7 -p1 -b .fix7 %patch8 -p1 -b .fix8 +%patch9 -p1 -b .fix9 +%patch10 -p1 -b .fix10 +%patch11 -p1 -b .fix11 +%patch12 -p1 -b .fix12 +%patch13 -p1 -b .fix13 %build -GECKO_SDK_PATH=%{_libdir}/xulrunner-sdk-1.9.2/sdk -GECKO_BIN_PATH=%{_libdir}/xulrunner-1.9.2 -GECKO_INCLUDE_PATH=%{_includedir}/xulrunner-sdk-1.9.2 +GECKO_SDK_PATH=%{_libdir}/xulrunner-devel-2/sdk +GECKO_BIN_PATH=%{_libdir}/xulrunner-2 +GECKO_INCLUDE_PATH=%{_includedir}/xulrunner-2 %ifarch x86_64 ppc64 ia64 USE_64=1 @@ -144,6 +154,11 @@ cp %{SOURCE2} $RPM_BUILD_ROOT/%{autostartdir} cd %{_builddir} cp %{escname}/esc/LICENSE $RPM_BUILD_ROOT/%{docdir} +rm -f $RPM_BUILD_ROOT/%{escdir}/esc + +echo "xulrunner ./application.ini \$* &" > $RPM_BUILD_ROOT/%{escdir}/esc + +chmod 755 $RPM_BUILD_ROOT/%{escdir}/esc chmod 755 -R $RPM_BUILD_ROOT/%{escdir}/chrome chmod 755 -R $RPM_BUILD_ROOT/%{escdir}/defaults chmod 755 $RPM_BUILD_ROOT/%{escdir}/application.ini @@ -161,6 +176,7 @@ rm -rf $RPM_BUILD_ROOT %{escbindir}/esc %{escdir}/application.ini +%{escdir}/chrome.manifest %{escdir}/chrome/chrome.manifest %{escdir}/chrome/content @@ -195,12 +211,10 @@ if [ -x %{_bindir}/gtk-update-icon-cache ]; then fi %changelog -* Fri Jan 13 2012 Fedora Release Engineering - 1.1.0-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Tue Feb 08 2011 Fedora Release Engineering - 1.1.0-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - +* Mon Feb 20 2012 Jack Magne = 1.1.0-15 +- Related #688361 - Get ESC to run on Gecko 2.0. +* Tue Nov 19 2011 Jack Magne = 1.1.0-14 +- Related #688361 - Get ESC to run on Gecko 2.0. * Thu Apr 15 2010 Jack Magne = 1.1.0-11 - Adjust for new linking rules. * Tue Sep 15 2009 Jack Magne = 1.1.0-10