--- mozilla/mail/app/Makefile.in.fix7 2009-03-03 00:44:12 +0300 +++ mozilla/mail/app/Makefile.in 2009-03-03 01:28:49 +0300 @@ -54,8 +54,11 @@ MAIL_APP_LICENSE_FILE = $(srcdir)/app-li DEFINES += \ -DTHUNDERBIRD_ICO=\"$(DIST)/branding/thunderbird.ico\" \ -DAB_CD=$(AB_CD) \ + -DMOZ_APP_NAME=$(MOZ_APP_NAME) \ + -DMOZ_APP_DISPLAYNAME=$(MOZ_APP_DISPLAYNAME) \ + -DMOZ_APP_VERSION=$(MOZ_APP_VERSION) \ -DGRE_MILESTONE=$(GRE_MILESTONE) \ -DGRE_BUILDID=$(GRE_BUILDID) \ -DAPP_EULA_BLOCK=$(MAIL_APP_LICENSE_FILE) \ $(NULL) --- mozilla/mozilla/toolkit/mozapps/extensions/src/Makefile.in.fix7 2009-03-03 00:44:12 +0300 +++ mozilla/mozilla/toolkit/mozapps/extensions/src/Makefile.in 2009-03-03 01:31:40 +0300 @@ -53,7 +53,11 @@ EXTRA_PP_COMPONENTS = \ GARBAGE += nsExtensionManager.js include $(topsrcdir)/config/rules.mk +DEFINES += -DMOZ_APP_NAME=$(MOZ_APP_NAME) +DEFINES += -DMOZ_APP_DISPLAYNAME=$(MOZ_APP_DISPLAYNAME) +DEFINES += -DMOZ_APP_VERSION=$(MOZ_APP_VERSION) + nsExtensionManager.js: nsExtensionManager.js.in $(PYTHON) $(MOZILLA_DIR)/config/Preprocessor.py $(DEFINES) $(ACDEFINES) $^ > $@ --- mozilla/mozilla/toolkit/mozapps/extensions/src/nsExtensionManager.js.in.fix7 2009-03-03 00:44:12 +0300 +++ mozilla/mozilla/toolkit/mozapps/extensions/src/nsExtensionManager.js.in 2009-03-03 01:30:56 +0300 @@ -72,8 +72,9 @@ const PREF_DSS_SWITCHPENDING = const PREF_DSS_SKIN_TO_SELECT = "extensions.lastSelectedSkin"; const PREF_GENERAL_SKINS_SELECTEDSKIN = "general.skins.selectedSkin"; const PREF_EM_LOGGING_ENABLED = "extensions.logging.enabled"; const PREF_EM_UPDATE_INTERVAL = "extensions.update.interval"; +const PREF_EM_DIR_EXTENSIONS = "extensions.dir.extensions"; const PREF_UPDATE_NOTIFYUSER = "extensions.update.notifyUser"; const PREF_MATCH_OS_LOCALE = "intl.locale.matchOS"; const PREF_SELECTED_LOCALE = "general.useragent.locale"; @@ -97,8 +98,9 @@ const TOOLKIT_ID = const KEY_PROFILEDIR = "ProfD"; const KEY_PROFILEDS = "ProfDS"; const KEY_APPDIR = "XCurProcD"; const KEY_TEMPDIR = "TmpD"; +const KEY_DRIVEDIR = "DrvD"; const EM_ACTION_REQUESTED_TOPIC = "em-action-requested"; const EM_ITEM_INSTALLED = "item-installed"; const EM_ITEM_UPGRADED = "item-upgraded"; @@ -2433,8 +2435,27 @@ function ExtensionManager() { appGlobalExtensions, true, priority, false); InstallLocations.put(globalLocation); + try { + var gDirExtensions = getPref("getCharPref", PREF_EM_DIR_EXTENSIONS, +#expand "/usr/share/__MOZ_APP_NAME__/extensions").split("/"); + + var ds = Components.classes["@mozilla.org/file/directory_service;1"] + .getService(Components.interfaces.nsIProperties); + var dir = ds.get(KEY_DRIVEDIR, Components.interfaces.nsIFile); + + for (var i = 0; i < gDirExtensions.length; ++i) + dir.append(gDirExtensions[i]); + + if (dir && dir.exists() && dir.isDirectory()) { + var shareLocation = new DirectoryInstallLocation("app-altlinux", dir, true, priority); + InstallLocations.put(shareLocation); + } + } catch(e) { + dump("XXXlegion: Something wrong: " + e + "\n"); + } + // Register App-Profile Install Location var appProfileExtensions = getDirNoCreate(KEY_PROFILEDS, [DIR_EXTENSIONS]); var priority = Ci.nsIInstallLocation.PRIORITY_APP_PROFILE; var profileLocation = new DirectoryInstallLocation(KEY_APP_PROFILE,