Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37727008
en ru br
Репозитории ALT
S:118.0-alt1
4.1: 3.0.9-alt0.M41.1
+updates:3.0.4-alt0.M41.2
4.0: 2.0.0.18-alt0.M40.1
3.0: 1.0.7-alt3
+updates:1.0.8-alt0.M30.1
www.altlinux.org/Changes

Группа :: Сети/WWW
Пакет: firefox

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: firefox-alt-extensions-dir.patch
Скачать


--- mozilla/browser/app/profile/firefox.js.extensions-dir	2006-10-28 23:59:07 +0400
+++ mozilla/browser/app/profile/firefox.js	2006-10-29 00:18:28 +0400
@@ -53,16 +53,21 @@ pref("general.startup.browser", true);
 pref("browser.chromeURL","chrome://browser/content/");
 pref("browser.hiddenWindowChromeURL", "chrome://browser/content/hiddenWindow.xul");
 pref("xpinstall.dialog.confirm", "chrome://mozapps/content/xpinstall/xpinstallConfirm.xul");
 pref("xpinstall.dialog.progress.skin", "chrome://mozapps/content/extensions/extensions.xul");
 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
+pref("extensions.dir.extensions", "/usr/share/@MOZ_APP_NAME@/extensions");
+#endif
+
 // Developers can set this to |true| if they are constantly changing files in their 
 // extensions directory so that the extension system does not constantly think that
 // their extensions are being updated and thus reregistered every time the app is
 // started.
 pref("extensions.ignoreMTimeChanges", false);
 // Enables some extra Extension System Logging (can reduce performance)
 pref("extensions.logging.enabled", false);
 // Hides the install button in the add-ons mgr
--- mozilla/browser/app/Makefile.in.extensions-dir	2006-10-28 22:56:48 +0400
+++ mozilla/browser/app/Makefile.in	2006-10-29 00:19:19 +0400
@@ -55,16 +55,17 @@ PREF_JS_EXPORTS = $(srcdir)/profile/fire
 ifndef MOZ_BRANDING_DIRECTORY
 PREF_JS_EXPORTS += $(srcdir)/firefox-branding.js
 endif
 
 # hardcode en-US for the moment
 AB_CD = en-US
 
 DEFINES += -DAB_CD=$(AB_CD)
+DEFINES += -DMOZ_APP_NAME=$(MOZ_APP_NAME) -DMOZ_APP_VERSION=$(MOZ_APP_VERSION)
 
 ifeq ($(USE_SHORT_LIBNAME), 1)
 PROGRAM = firefox$(BIN_SUFFIX)
 else
 PROGRAM = firefox-bin$(BIN_SUFFIX)
 endif
 
 REQUIRES = \
--- mozilla/toolkit/mozapps/extensions/src/nsExtensionManager.js.in.extensions-dir	2006-10-28 22:56:48 +0400
+++ mozilla/toolkit/mozapps/extensions/src/nsExtensionManager.js.in	2006-10-29 00:20:51 +0400
@@ -62,16 +62,17 @@ const PREF_UPDATE_DEFAULT_URL         = 
 const PREF_EM_IGNOREMTIMECHANGES      = "extensions.ignoreMTimeChanges";
 const PREF_EM_DISABLEDOBSOLETE        = "extensions.disabledObsolete";
 const PREF_EM_LAST_SELECTED_SKIN      = "extensions.lastSelectedSkin";
 const PREF_EM_EXTENSION_FORMAT        = "extensions.%UUID%.";
 const PREF_EM_ITEM_UPDATE_ENABLED     = "extensions.%UUID%.update.enabled";
 const PREF_EM_UPDATE_ENABLED          = "extensions.update.enabled";
 const PREF_EM_ITEM_UPDATE_URL         = "extensions.%UUID%.update.url";
 const PREF_EM_DSS_ENABLED             = "extensions.dss.enabled";
+const PREF_EM_DIR_EXTENSIONS          = "extensions.dir.extensions";
 const PREF_DSS_SWITCHPENDING          = "extensions.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_BLOCKLIST_URL              = "extensions.blocklist.url";
 const PREF_BLOCKLIST_DETAILS_URL      = "extensions.blocklist.detailsURL";
 const PREF_BLOCKLIST_ENABLED          = "extensions.blocklist.enabled";
@@ -96,16 +97,17 @@ const FILE_LOGFILE                    = 
 
 const FILE_DEFAULT_THEME_JAR          = "classic.jar";
 const TOOLKIT_ID                      = "toolkit@mozilla.org"
 
 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";
 const EM_ITEM_UNINSTALLED             = "item-uninstalled";
 const EM_ITEM_ENABLED                 = "item-enabled";
 const EM_ITEM_DISABLED                = "item-disabled";
 const EM_ITEM_CANCEL                  = "item-cancel-action";
@@ -2663,16 +2665,35 @@ function ExtensionManager() {
   // Register Global Install Location
   var appGlobalExtensions = getDirNoCreate(KEY_APPDIR, [DIR_EXTENSIONS]);
   var priority = nsIInstallLocation.PRIORITY_APP_SYSTEM_GLOBAL;
   var globalLocation = new DirectoryInstallLocation(KEY_APP_GLOBAL, 
                                                     appGlobalExtensions, true,
                                                     priority);
   InstallLocations.put(globalLocation);
 
+  try {
+	var gDirExtensions = getPref("getCharPref", PREF_EM_DIR_EXTENSIONS, 
+							 "/usr/share/firefox/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, 
                                                      appProfileExtensions, false,
                                                      priority);
   InstallLocations.put(profileLocation);
 
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin