--- mozilla/mail/app/profile/all-thunderbird.js.fix7 2007-02-27 19:16:55 +0300 +++ mozilla/mail/app/profile/all-thunderbird.js 2007-02-27 19:20:27 +0300 @@ -284,8 +284,13 @@ pref("xpinstall.dialog.progress.skin", " pref("xpinstall.dialog.progress.chrome", "chrome://mozapps/content/extensions/extensions.xul"); pref("xpinstall.dialog.progress.type.skin", "Extension:Manager"); pref("xpinstall.dialog.progress.type.chrome", "Extension:Manager"); +#ifdef XP_UNIX +// XXXlegion: ALTLinux specific option +#expand pref("extensions.dir.extensions", "/usr/share/__MOZ_APP_NAME__/extensions"); +#endif + ///////////////////////////////////////////////////////////////// // End seamonkey suite all.js pref overrides ///////////////////////////////////////////////////////////////// --- mozilla/mail/app/Makefile.in.fix7 2007-02-27 19:15:00 +0300 +++ mozilla/mail/app/Makefile.in 2007-02-27 19:16:55 +0300 @@ -46,8 +46,11 @@ MOZILLA_INTERNAL_API = 1 AB_CD = $(MOZ_UI_LOCALE) DEFINES += -DTHUNDERBIRD_ICO=\"$(DIST)/branding/thunderbird.ico\" -DAB_CD=$(AB_CD) +DEFINES += -DMOZ_APP_NAME=$(MOZ_APP_NAME) +DEFINES += -DMOZ_APP_DISPLAYNAME=$(MOZ_APP_DISPLAYNAME) +DEFINES += -DMOZ_APP_VERSION=$(MOZ_APP_VERSION) DIRS = profile PREF_JS_EXPORTS = \ --- mozilla/toolkit/mozapps/extensions/src/nsExtensionManager.js.in.fix7 2007-02-27 19:15:00 +0300 +++ mozilla/toolkit/mozapps/extensions/src/nsExtensionManager.js.in 2007-02-27 19:22:55 +0300 @@ -71,8 +71,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_BLOCKLIST_URL = "extensions.blocklist.url"; const PREF_BLOCKLIST_DETAILS_URL = "extensions.blocklist.detailsURL"; const PREF_BLOCKLIST_ENABLED = "extensions.blocklist.enabled"; const PREF_BLOCKLIST_INTERVAL = "extensions.blocklist.interval"; @@ -100,8 +101,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"; @@ -2667,8 +2669,27 @@ function ExtensionManager() { appGlobalExtensions, true, priority); 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 = nsIInstallLocation.PRIORITY_APP_PROFILE; var profileLocation = new DirectoryInstallLocation(KEY_APP_PROFILE, --- mozilla/toolkit/mozapps/extensions/src/Makefile.in.fix7 2007-02-27 19:15:00 +0300 +++ mozilla/toolkit/mozapps/extensions/src/Makefile.in 2007-02-27 19:16:55 +0300 @@ -47,7 +47,11 @@ MODULE = extensions EXTRA_COMPONENTS = 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 $(PERL) $(MOZILLA_DIR)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) $^ > $@