severity 581807 wishlist
quit

Hi again,

A few small points.

Brandon wrote:

> The flawed rationale was to have up-to-date plugins for home-folder
> installations of firefox

As far as I can tell from the source, firefox 3.5.9 looks at
/usr/lib/mozilla/plugins, too[1].  For your task, it seems there is no
need of symlink at all.

Still, I do faintly remember the symlink (from years ago now), so it
could make sense to tolerate old systems that include it for old
reasons.

> To be
> clear, adobe-flashplugin creates the folder, which I replaced with a symlink,
> but gecko-mediaplayer also creates that folder.

dpkg will never replace a symlink with a directory or vice-versa[2].

The problems here come because /usr/lib/mozilla/plugins/foo and
/usr/lib/firefox/plugins/foo are the same.  dpkg is happy to replace
files from one package when unpacking a later one, and until recently,
it would also replace files unpacked earlier by files unpacked later
within a package.

Hope that helps,
Jonathan

[1] In modules/plugin/base/src/nsPluginHostImpl.cpp, we find the
nsPluginHostImpl::FindPlugins() function.  It scans the directories
specified by NS_APP_PLUGINS_DIR_LIST, any plugin location IDs
specified through the Windows registry if plugin.scan.plid.all is
true, and the components/ folder, for Real Player 8 (sigh).

In xpcom/io/nsAppFileLocationProvider.cpp, we find
nsAppFileLocationProvider::GetFiles().  It informs us that on Unix,
the app-defined plugin directories are

  $MOZ_PLUGIN_PATH
  NS_USER_PLUGINS_DIR
  NS_APP_PLUGINS_DIR
  NS_SYSTEM_PLUGINS_DIR

where (from nsAppFileLocationProvider::GetFile())

  NS_USER_PLUGINS_DIR is $HOME/DEFAULT_PRODUCT_DIR/PLUGINS_DIR_NAME
  NS_APP_PLUGINS_DIR is moz_bin_dir/PLUGINS_DIR_NAME
  NS_SYSTEM_PLUGINS_DIR is /usr/lib/mozilla/plugins

where (from xpcom/io/nsDirectoryService.cpp) moz_bin_dir is
$MOZILLA_FIVE_HOME, as set by the /usr/bin/firefox wrapper.

Summary: the search path is

  $MOZ_PLUGIN_PATH
  ~/.mozilla/plugins
  /usr/lib/firefox/plugins
  /usr/lib/mozilla/plugins

.mozilla is the value of the --user-appdir ./configure option,
/usr/lib/firefox is the location of the firefox binary, and
/usr/lib/mozilla is hardcoded.

[2] This knowledge is well hidden.  See item 4 in the documentation
for the package unpack procedure:
http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#s-unpackphase



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to