diff options
Diffstat (limited to 'www/firefox15/files/patch-browser_app_mozilla.in')
-rw-r--r-- | www/firefox15/files/patch-browser_app_mozilla.in | 541 |
1 files changed, 492 insertions, 49 deletions
diff --git a/www/firefox15/files/patch-browser_app_mozilla.in b/www/firefox15/files/patch-browser_app_mozilla.in index 9ad04f41976b..76ff9d655757 100644 --- a/www/firefox15/files/patch-browser_app_mozilla.in +++ b/www/firefox15/files/patch-browser_app_mozilla.in @@ -1,56 +1,499 @@ ---- browser/app/mozilla.in.orig Tue Oct 26 05:26:11 2004 -+++ browser/app/mozilla.in Mon Dec 27 19:15:52 2004 -@@ -110,6 +110,7 @@ - # Check default compile-time libdir - if [ -x "$moz_libdir/run-mozilla.sh" ]; then - dist_bin="$moz_libdir" -+ run_moz="$dist_bin/run-mozilla.sh" - else - echo "Cannot find mozilla runtime directory. Exiting." - exit 1 -@@ -160,11 +161,11 @@ - _optLast="${i}" - done #last arg +--- browser/app/mozilla.in.orig Tue Oct 26 11:26:11 2004 ++++ browser/app/mozilla.in Wed Feb 23 11:09:49 2005 +@@ -28,52 +28,110 @@ + ## The script will setup all the environment voodoo needed to make + ## the mozilla-bin binary to work. + ## +- ++#!/bin/sh ++# ++# The contents of this file are subject to the Netscape Public License ++# Version 1.0 (the "NPL"); you may not use this file except in ++# compliance with the NPL. You may obtain a copy of the NPL at ++# http://www.mozilla.org/NPL/ ++# ++# Software distributed under the NPL is distributed on an "AS IS" basis, ++# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL ++# for the specific language governing rights and limitations under the ++# NPL. ++# ++# The Initial Developer of this code under the NPL is Netscape ++# Communications Corporation. Portions created by Netscape are ++# Copyright (C) 1998 Netscape Communications Corporation. All Rights ++# Reserved. ++# ++ ++# $from: mozilla.in,v 1.3.4.9 2004/10/26 09:26:11 bryner%brianryner.com Exp $ ++# Usage: ++# ++# $ mozilla [args] ++# ++# The script will setup all the environment voodoo needed to make ++# the mozilla-bin binary to work. ++# ++ ++# ++# MOZ_PIS, "Mozilla Plugable Init Scripts" ++# MOZ_PIS_ is the name space used ++# These variables and there meaning are specified in ++# mozilla/xpfe/bootstrap/init.d/README + moz_pis_startstop_scripts() + { +- MOZ_USER_DIR="%MOZ_USER_DIR%" +- # MOZ_PIS_ is the name space for "Mozilla Plugable Init Scripts" +- # These variables and there meaning are specified in +- # mozilla/xpfe/bootstrap/init.d/README +- MOZ_PIS_API=2 +- MOZ_PIS_MOZBINDIR="${dist_bin}" +- MOZ_PIS_SESSION_PID="$$" +- MOZ_PIS_USER_DIR="${MOZ_USER_DIR}" +- export MOZ_PIS_API MOZ_PIS_MOZBINDIR MOZ_PIS_SESSION_PID MOZ_PIS_USER_DIR +- +- case "${1}" in +- "start") +- for curr_pis in "${dist_bin}/init.d"/S* "${HOME}/${MOZ_USER_DIR}/init.d"/S* ; do +- if [ -x "${curr_pis}" ] ; then +- case "${curr_pis}" in +- *.sh) . "${curr_pis}" ;; +- *) "${curr_pis}" "start" ;; +- esac +- fi +- done +- ;; +- "stop") +- for curr_pis in "${HOME}/${MOZ_USER_DIR}/init.d"/K* "${dist_bin}/init.d"/K* ; do +- if [ -x "${curr_pis}" ] ; then +- case "${curr_pis}" in +- *.sh) . "${curr_pis}" ;; +- *) "${curr_pis}" "stop" ;; +- esac +- fi +- done +- ;; +- *) +- echo 1>&2 "$0: Internal error in moz_pis_startstop_scripts." +- exit 1 +- ;; +- esac ++ MOZ_PIS_API=2 ++ MOZ_PIS_MOZBINDIR="${dist_bin}" ++ MOZ_PIS_SESSION_PID="$$" ++ MOZ_PIS_USER_DIR="${MOZ_USER_DIR}" ++ export MOZ_PIS_API MOZ_PIS_MOZBINDIR MOZ_PIS_SESSION_PID MOZ_PIS_USER_DIR ++ ++ case "${1}" in ++ "start") ++ for curr_pis in "${MOZ_PIS_MOZBINDIR}/init.d"/S* \ ++ "${HOME}/${MOZ_PIS_USER_DIR}/init.d"/S*; do ++ if [ -x "${curr_pis}" ]; then ++ case "${curr_pis}" in ++ *.sh) ++ . "${curr_pis}" ++ ;; ++ *) ++ ${curr_pis} "start" ++ ;; ++ esac ++ fi ++ done ++ ;; ++ "stop") ++ for curr_pis in "${MOZ_PIS_MOZBINDIR}/init.d"/K* \ ++ "${HOME}/${MOZ_PIS_USER_DIR}/init.d"/K*; do ++ if [ -x "${curr_pis}" ]; then ++ case "${curr_pis}" in ++ *.sh) ++ . "${curr_pis}" ++ ;; ++ *) ++ ${curr_pis} "stop" ++ ;; ++ esac ++ fi ++ done ++ ;; ++ *) ++ echo "$0: Internal error in moz_pis_startstop_scripts." 1>&2 ++ exit 1 ++ ;; ++ esac + } + +-#uncomment for debugging ++# uncomment for debugging + #set -x + +-moz_libdir=%MOZAPPDIR% +-MRE_HOME=%MREDIR% ++# ++# variables ++# ++#location="new-tab" ++#MOZILLA_UILOCALE="en-US" ++#MOZILLA_UIREGION="US" ++ ++# ++# working definitions ++# ++MOZ_USER_DIR="%MOZ_USER_DIR%" ++moz_libdir="%MOZAPPDIR%" ++MRE_HOME="%MREDIR%" ++ ++debugging= # set the debugging level ++use_openFile="yes" # use openFile() for file/dir ++here=`pwd` ++ ++if [ ! -d "${MRE_HOME}" ]; then ++ # use moz_libdir as MRE_HOME ++ MRE_HOME="${moz_libdir}" ++fi ++export MRE_HOME + + # Use run-mozilla.sh in the current dir if it exists + # If not, then start resolving symlinks until we find run-mozilla.sh +@@ -82,149 +140,224 @@ + curdir=`dirname "$progname"` + progbase=`basename "$progname"` + run_moz="$curdir/run-mozilla.sh" +-if test -x "$run_moz"; then +- dist_bin="$curdir" +- found=1 ++if [ -x "$run_moz" ]; then ++ dist_bin="$curdir" ++ found=1 + else +- here=`/bin/pwd` +- while [ -h "$progname" ]; do +- bn=`basename "$progname"` +- cd `dirname "$progname"` +- progname=`/bin/ls -l "$bn" | sed -e 's/^.* -> //' ` +- if [ ! -x "$progname" ]; then +- break +- fi +- curdir=`dirname "$progname"` +- run_moz="$curdir/run-mozilla.sh" +- if [ -x "$run_moz" ]; then +- cd "$curdir" +- dist_bin=`pwd` +- run_moz="$dist_bin/run-mozilla.sh" +- found=1 +- break +- fi +- done +- cd "$here" ++ while [ -h "${progname}" ]; do ++ bn=`basename "${progname}"` ++ cd `dirname "${progname}"` ++ progname=`ls -l "${bn}" | sed -e 's/^.* -> //'` ++ if [ ! -x "$progname" ]; then ++ break ++ fi ++ curdir=`dirname "${progname}"` ++ run_moz="${curdir}/run-mozilla.sh" ++ if [ -x "${run_moz}" ]; then ++ cd "$curdir" ++ dist_bin=`pwd` ++ run_moz="${dist_bin}/run-mozilla.sh" ++ found=1 ++ break ++ fi ++ done ++ cd "${here}" + fi + if [ $found = 0 ]; then +- # Check default compile-time libdir +- if [ -x "$moz_libdir/run-mozilla.sh" ]; then +- dist_bin="$moz_libdir" +- else +- echo "Cannot find mozilla runtime directory. Exiting." +- exit 1 +- fi ++ # Check default compile-time libdir ++ if [ -x "${moz_libdir}/run-mozilla.sh" ]; then ++ dist_bin="$moz_libdir" ++ run_moz="${dist_bin}/run-mozilla.sh" ++ else ++ echo "$0: Cannot find mozilla runtime directory. Exiting." 1>&2 ++ exit 1 ++ fi + fi + +-script_args="" +-moreargs="" +-debugging=0 + MOZILLA_BIN="${progbase}-bin" ++if [ "$OSTYPE" = "beos" ]; then ++ mimeset -F "$MOZILLA_BIN" ++fi + +-# The following is to check for a currently running instance. +-# This is taken almost verbatim from the Mozilla RPM package's launch script. +-MOZ_CLIENT_PROGRAM="$dist_bin/mozilla-xremote-client" +-check_running() { +- "${run_moz}" "$MOZ_CLIENT_PROGRAM" -a "${progbase}" 'ping()' 2>/dev/null >/dev/null +- RETURN_VAL=$? +- if [ $RETURN_VAL -eq 0 ]; then +- echo 1 +- return 1 ++# test for binary apps in ${dist_bin} ++if [ -x "${dist_bin}/${MOZILLA_BIN}" ]; then ++ MOZILLA_BIN="${dist_bin}/${progbase}-bin" ++else ++ echo "$0: Cannot find mozilla binary executable. Exiting." 1>&2 ++ exit 1 ++fi ++if [ -x "${dist_bin}/mozilla-xremote-client" ]; then ++ MOZ_CLIENT_PROGRAM="${dist_bin}/mozilla-xremote-client -a ${progbase}" ++else ++ MOZ_CLIENT_PROGRAM="${MOZILLA_BIN} -remote -a ${progbase}" ++fi ++ ++# guest a default remote command ++_remote_cmd="xfeDoCommand(openBrowser)" ++ ++# test for a running copy of firefox ++ALREADY_RUNNING= # null ++if [ -n "${DISPLAY}" ]; then ++ if [ -n "${debugging}" ]; then ++ echo "${run_moz} ${MOZ_CLIENT_PROGRAM} ping()" ++ ${run_moz} ${MOZ_CLIENT_PROGRAM} 'ping()' && ALREADY_RUNNING="yes" + else +- echo 0 +- return 0 ++ ${run_moz} ${MOZ_CLIENT_PROGRAM} 'ping()' >/dev/null 2>&1 && ++ ALREADY_RUNNING="yes" + fi +-} +- +-if [ "$OSTYPE" = "beos" ]; then +- mimeset -F "$MOZILLA_BIN" ++elif [ -n "${debugging}" ]; then ++ echo "$0: WARN, no DISPLAY environment" 1>&2 + fi +-ALREADY_RUNNING=`check_running` +- +-################################################################ Parse Arguments +-# If there's a command line argument but it doesn't begin with a - +-# it's probably a url. Try to send it to a running instance. +-_USE_EXIST=0 +-_optOne="$1" +-case "${_optOne}" in +- -*) +- ;; ++# parse options ++script_args= # null ++moreargs= # null ++target= # null ++while [ $# -gt 0 ] ++do ++ if [ -n "${target}" ]; then ++ # well, this can't be the target if not last ++ moreargs="${moreargs} ${target}" ++ target= # null ++ fi ++ case "$1" in ++ -p | --pure | -pure) ++ MOZILLA_BIN="${MOZILLA_BIN}.pure" ++ shift ++ ;; ++ -g | --debug) ++ script_args="${script_args} -g" ++ debugging=1 ++ shift ++ ;; ++ -d | --debugger) ++ if [ -n "$2" ]; then ++ script_args="${script_args} -d $2" ++ shift 2 ++ else ++ "$0: ERROR, -d needs an argument. Exiting" 1>&2 ++ exit 1 ++ fi ++ ;; ++ -UILocale) ++ if [ -n "$2" ]; then ++ uilocale="$2" ++ shift 2 ++ else ++ echo "$0: ERROR, -UILocale needs an argument. Exiting" 1>&2 ++ exit 1 ++ fi ++ ;; ++ -UIRegion) ++ if [ -n "$2" ]; then ++ uiregion="$2" ++ shift 2 ++ else ++ echo "$0: ERROR, -UIRegion needs an argument. Exiting" 1>&2 ++ exit 1 ++ fi ++ ;; ++ -browser) ++ _remote_cmd="xfeDoCommand(openBrowser)" ++ moreargs="${moreargs} $1" ++ shift ++ ;; ++ -mail) ++ _remote_cmd="xfeDoCommand(openInbox)" ++ moreargs="${moreargs} $1" ++ shift ++ ;; ++ -compose) ++ _remote_cmd="xfeDoCommand(composeMessage)" ++ moreargs="${moreargs} $1" ++ shift ++ ;; ++ -chat | -edit | -webcal) ++ # don't use remote for this ++ ALREADY_RUNNING= # null ++ moreargs="${moreargs} $1" ++ shift ++ ;; ++ -*) ++ moreargs="${moreargs} $1" ++ shift ++ ;; + *) +- _USE_EXIST=1 +- ;; +-esac +- +-_optLast= +-for i in "$@"; do +- _optLast="${i}" +-done #last arg +- -if [ `expr "${_optLast}" : '.*:/.*'` -eq 0 -a \( -f "${_optLast}" -o -d "${_optLast}" \) ]; then -+if [ `expr X"${_optLast}" : 'X.*:/.*'` -eq 0 -a \( -f "${_optLast}" -o -d "${_optLast}" \) ]; then - # Last argument seems to be a local file/directory - # Check, if it is absolutely specified (ie. /home/foo/file vs. ./file) - # If it is just "relatively" (./file) specified, make it absolutely +- # Last argument seems to be a local file/directory +- # Check, if it is absolutely specified (ie. /home/foo/file vs. ./file) +- # If it is just "relatively" (./file) specified, make it absolutely - [ `expr "${_optLast}" : '/.*'` -eq 0 ] && _optLast="file://`pwd`/${_optLast}" -+ [ `expr -- "${_optLast}" : '/.*'` -eq 0 ] && _optLast="file://`pwd`/${_optLast}" +-fi +-################################################################ Parse Arguments +- +-########################################################################### Main +-if [ $ALREADY_RUNNING -eq 1 ]; then +- # There's an instance already running. Use it. +- # Any command line args passed in? +- if [ $# -gt 0 ]; then +- # There were "some" command line args. +- if [ ${_USE_EXIST} -eq 1 ]; then +- # We should use an existing instance, as _USE_EXIST=$_USE_EXIST=-1 +- _remote_cmd="openURL(${_optLast})" +- "${run_moz}" "$MOZ_CLIENT_PROGRAM" -a "${progbase}" "${_remote_cmd}" +- unset _remote_cmd +- exit $? +- fi ++ target="$1" ++ shift ++ ;; ++ esac ++done ++ ++# process target ++if [ -n "${target}" ]; then ++ if [ `expr "${target}" : '.*:.*'` -eq 0 ]; then ++ if [ `expr "${target}" : '/.*'` -eq 0 ]; then ++ target="${here}/${target}" ++ fi ++ if [ -r "${target}" -o -d "${target}" ]; then ++ [ -n "${use_openFile}" ] || target="file://${target}" + else +- # No command line args. Open new window/tab +- #exec "${run_moz}" "$MOZ_CLIENT_PROGRAM" -a "${progbase}" "xfeDoCommand(openBrowser)" +- "${run_moz}" "$MOZ_CLIENT_PROGRAM" -a "${progbase}" "xfeDoCommand(openBrowser)" +- exit $? ++ echo "$0: WARN, target: ${target} not an URI/file/dir" 1>&2 ++ ALREADY_RUNNING= # null + fi ++ else ++ # an former URI, don't use openFile ++ use_openFile= # null ++ fi fi - ################################################################ Parse Arguments - -@@ -207,12 +208,31 @@ - script_args="$script_args -d $2" - shift 2 - ;; -+ -UILocale) -+ moreargs="$moreargs -UILocale $2" -+ _done_locale="YES" -+ shift 2 -+ ;; -+ -UIRegion) -+ if [ -n "${_done_locale}" ]; then -+ moreargs="$moreargs -UIRegion $2" -+ fi -+ shift 2 -+ ;; - *) - moreargs="$moreargs \"$1\"" - shift 1 - ;; - esac - done -+ -+if [ ! -n "${_done_locale}" -a -n "${MOZILLA_UILOCALE}" ]; then -+ if [ -n "${MOZILLA_UIREGION}" ]; then -+ moreargs="-UIRegion ${MOZILLA_UIREGION} $moreargs" +-# Default action - no running instance or _USE_EXIST (${_USE_EXIST}) ! -eq 1 +-########################################################################### Main + +-while [ $# -gt 0 ] +-do +- case "$1" in +- -p | --pure | -pure) +- MOZILLA_BIN="${MOZILLA_BIN}.pure" +- shift +- ;; +- -g | --debug) +- script_args="$script_args -g" +- debugging=1 +- shift +- ;; +- -d | --debugger) +- script_args="$script_args -d $2" +- shift 2 +- ;; +- *) +- moreargs="$moreargs \"$1\"" +- shift 1 +- ;; +- esac +-done ++# try remote protocol if running ++if [ -n "${ALREADY_RUNNING}" ]; then ++ if [ -n "${target}" ]; then ++ if [ -n "${use_openFile}" ]; then ++ _remote_cmd="openFile(${target})" ++ elif [ -n "${location}" ]; then ++ _remote_cmd="openURL(${target},${location})" ++ else ++ _remote_cmd="openURL(${target})" ++ fi ++ fi ++ # FIXME problems with freedesktop StartupNotify ++ if [ -n "${debugging}" ]; then ++ echo "${run_moz} ${script_args} ${MOZ_CLIENT_PROGRAM} ${_remote_cmd}" + fi -+ moreargs="-UILocale ${MOZILLA_UILOCALE} $moreargs" ++ ${run_moz} ${script_args} ${MOZ_CLIENT_PROGRAM} ${_remote_cmd} && exit 0 ++fi ++ ++# fallback to direct invocation ++ ++# UILocale, UIRegion ++if [ -z "${uilocale}" -a -n "${MOZILLA_UILOCALE}" ]; then ++ uilocale="${MOZILLA_UILOCALE}" +fi -+unset _done_locale ++if [ -z "${uiregion}" -a -n "${MOZILLA_UIREGION}" ]; then ++ uiregion="${MOZILLA_UIREGION}" ++fi ++if [ -n "${uiregion}" -a -z "${uilocale}" ]; then ++ uilocale="en-US" ++fi ++if [ -n "${uilocale}" ]; then ++ if [ -n "${uiregion}" ]; then ++ moreargs="-UIRegion ${uiregion} ${more_args}" ++ fi ++ moreargs="-UILocale ${uilocale} ${more_args}" ++fi + +-export MRE_HOME +-eval "set -- $moreargs" ++# real invocation ++if [ -n "${target}" ]; then ++ eval "set -- ${moreargs} \"${target}\"" ++else ++ eval "set -- ${moreargs}" ++fi + + ## Start addon scripts + moz_pis_startstop_scripts "start" + +-if [ $debugging = 1 ] +-then +- echo $dist_bin/run-mozilla.sh $script_args $dist_bin/$MOZILLA_BIN "$@" ++if [ -n "${debugging}" ]; then ++ echo "${run_moz} ${script_args} ${MOZILLA_BIN} $@" + fi +-"$dist_bin/run-mozilla.sh" $script_args "$dist_bin/$MOZILLA_BIN" "$@" ++${run_moz} ${script_args} ${MOZILLA_BIN} "$@" + exitcode=$? - export MRE_HOME - eval "set -- $moreargs" + ## Stop addon scripts |