From owner-freebsd-gnome@FreeBSD.ORG Wed Feb 23 23:00:49 2005 Return-Path: Delivered-To: freebsd-gnome@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7503B16A4CE for ; Wed, 23 Feb 2005 23:00:49 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1473343D2D for ; Wed, 23 Feb 2005 23:00:49 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.1/8.13.1) with ESMTP id j1NN0nJt084626 for ; Wed, 23 Feb 2005 23:00:49 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.1/8.13.1/Submit) id j1NN0mBD084625; Wed, 23 Feb 2005 23:00:48 GMT (envelope-from gnats) Date: Wed, 23 Feb 2005 23:00:48 GMT Message-Id: <200502232300.j1NN0mBD084625@freefall.freebsd.org> To: gnome@FreeBSD.org From: Jose M Rodriguez Subject: Re: ports/77744: [PATCH] new mozilla.sh and pkg scripts for mozilla X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Jose M Rodriguez List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Feb 2005 23:00:49 -0000 The following reply was made to PR ports/77744; it has been noted by GNATS. From: Jose M Rodriguez To: freebsd-gnats-submit@freebsd.org, josemi@freebsd.jazztel.es Cc: Subject: Re: ports/77744: [PATCH] new mozilla.sh and pkg scripts for mozilla Date: Wed, 23 Feb 2005 23:40:53 +0100 (CET) Hope this get in clear latest puulup for mozilla-devel ----- patch-mozilla-devel diff -Nru /usr/HEAD/ports/www/mozilla-devel/Makefile www/mozilla-devel/Makefile --- /usr/HEAD/ports/www/mozilla-devel/Makefile Sun Feb 13 14:50:23 2005 +++ www/mozilla-devel/Makefile Wed Feb 23 13:42:17 2005 @@ -7,7 +7,7 @@ PORTNAME?= mozilla PORTVERSION= 1.8.a6 -PORTREVISION?= 0 +PORTREVISION?= 1 PORTEPOCH?= 2 CATEGORIES?= www MASTER_SITES= ${MASTER_SITE_MOZILLA} @@ -22,8 +22,7 @@ LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \ png.5:${PORTSDIR}/graphics/png \ mng.1:${PORTSDIR}/graphics/libmng \ - freetype.9:${PORTSDIR}/print/freetype2 \ - nspr4.1:${PORTSDIR}/devel/nspr + freetype.9:${PORTSDIR}/print/freetype2 WRKSRC= ${WRKDIR}/${PORTNAME} @@ -47,6 +46,7 @@ WANT_GNOME= yes USE_REINPLACE= yes HAS_CONFIGURE= yes +#FIXME, move to mozconfig like firefox/thunderbird CONFIGURE_ARGS= \ --disable-auto-deps \ --enable-chrome-format=jar \ @@ -96,6 +96,7 @@ ${LOCALBASE}/jdk1.4.1/jre/plugin/${ARCH}/ns610/libjavaplugin_oji.so \ ${LOCALBASE}/diablo-jdk1.3.1/jre/plugin/${ARCH}/ns600/libjavaplugin_oji.so \ ${LOCALBASE}/jdk1.3.1/jre/plugin/${ARCH}/ns600/libjavaplugin_oji.so +MOZ_PIS_SCRIPTS= # no default scripts OPTIONS=XFT "Enable Xft font anti-aliasing" on \ CALENDAR "Enable the Calendar module" off \ @@ -107,7 +108,9 @@ XMLTERM "Enable the XMLTerm module" on \ JAVASCRIPT_DEBUGGER "Enable the DTD and JavaScript debuggers" off \ OPTIMIZED_CFLAGS "Enable -O2 optimizations" off \ - SMB "Enable smb:// URI support using gnomevfs" off + SMB "Enable smb:// URI support via gnomevfs" off \ + IDN "Enable International Domain Names" off \ + ARTSDSP "Add support for KDE arts (artsdsp)" on .include @@ -131,6 +134,7 @@ CONFIGURE_ENV+= MOZ_INTERNAL_LIBART_LGPL=1 .endif +# FIXME, take out WITHOUT_XFT knob in a gtk2 world .if !defined(WITHOUT_XFT) LIB_DEPENDS+= Xft.2:${PORTSDIR}/x11-fonts/libXft CONFIGURE_ARGS+=--enable-xft --disable-freetype2 @@ -194,6 +198,9 @@ MOZ_INTERNAL_LIBART_LGPL=1 ALL_TARGET= default FAKEDIR= ${WRKDIR}/fake +SCRIPTS_DIR= ${FAKEDIR}/lib/${MOZILLA} +MOZ_PIS_DIR= ${SCRIPTS_DIR}/init.d +CHROME_REPO= ${SCRIPTS_DIR}/chrome.d .if ${ARCH} == "i386" CONFIGURE_ARGS+= --enable-reorder @@ -206,8 +213,16 @@ .endif .if defined(WITH_OPTIMIZED_CFLAGS) -CFLAGS+= -O2 +CFLAGS:= -O2 -fno-strict-aliasing ${CFLAGS:N-O*} +#FIXME, add -fno-strict-aliasing to --enable-optimize CONFIGURE_ARGS+= --enable-optimize=-O2 +.else +# May need this for 'official builds' +# CFLAGS:= -O ${CFLAGS:N-O*:N-march=*:N-mcpu=*:N-mtune=*} +.endif + +.if !defined(WITHOUT_ARTSDSP) +MOZ_PIS_SCRIPTS+= S90dsp.sh .endif .if ${ARCH} == "alpha" && ${OSVERSION} < 500035 @@ -226,6 +241,13 @@ @${ECHO_MSG} "http://mozilla.org/projects/calendar/" @${ECHO_MSG} "" .endif +.if defined(WITH_IDN) + @${ECHO_MSG} "" + @${ECHO_MSG} "Building with IDN enabled." + @${ECHO_MSG} "This makes homograph spoofing attacks possible." + @${ECHO_MSG} "Use at your own risk." + @${ECHO_MSG} "" +.endif post-patch: @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \ @@ -259,11 +281,29 @@ s|mozilla-nspr|mozilla-nspr${MOZ_SUFX}|g' \ ${WRKSRC}/build/unix/$${pcfile}.pc.in; \ done - @${SED} -e 's|%%MOZDIR%%|${PREFIX}/lib/${MOZILLA}|g ; \ + @${SED} -e 's|%%MOZILLA%%|${MOZILLA}|g ; \ + s|%%JPI_LIST%%|${JPI_LIST}|g ; \ + s|%%X11BASE%%|${X11BASE}|g ; \ s|%%PREFIX%%|${PREFIX}|g' \ < ${MASTERDIR}/pkg-install.in > ${PKGINSTALL} - @${SED} -e 's|%%MOZDIR%%|${PREFIX}/lib/${MOZILLA}|g' \ + @${SED} -e 's|%%MOZILLA%%|${MOZILLA}|g ; \ + s|%%X11BASE%%|${X11BASE}|g ; \ + s|%%PREFIX%%|${PREFIX}|g' \ < ${MASTERDIR}/pkg-deinstall.in > ${PKGDEINSTALL} +.for ii in ${MOZ_PIS_SCRIPTS} + @${SED} -e 's|%%MOZILLA%%|${FIREFOX}|g ; \ + s|%%PREFIX%%|${PREFIX}|g ; \ + s|%%X11BASE%%|${X11BASE}|g' \ + < ${FILESDIR}/moz_pis_${ii} > ${WRKDIR}/moz_pis_${ii} +.endfor + @${SED} -e 's|%%MOZILLA%%|${FIREFOX}|g ; \ + s|%%PREFIX%%|${PREFIX}|g ; \ + s|%%X11BASE%%|${X11BASE}|g' \ + < ${FILESDIR}/register.sh > ${WRKDIR}/register.sh +.if defined(WITH_IDN) + @${REINPLACE_CMD} -e '/network.enableIDN/s/false/true/' \ + ${WRKSRC}/modules/libpref/src/init/all.js +.endif pre-configure: @if [ -n "`${PKG_INFO} -xI '^bind[0-9]*-base-[0-9]'`" ]; then \ @@ -271,34 +311,26 @@ ${FALSE}; \ fi -post-build: - ${SED} -e "s|%%PREFIX%%|${PREFIX}|g" -e "s|%%MOZILLA%%|${MOZILLA}|g" \ - ${FILESDIR}/mozilla.sh >${WRKSRC}/${MOZILLA} - pre-install: ${RM} -rf ${PLIST} ${FAKEDIR} ${TOUCH} -f ${PLIST} cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \ Makefile ${MAKE_ARGS} install + ${MKDIR} ${SCRIPTS_DIR} + ${MKDIR} ${MOZ_PIS_DIR} + ${MKDIR} ${CHROME_REPO} ${REINPLACE_CMD} -e 's|${FAKEDIR}|${PREFIX}|g' \ ${FAKEDIR}/bin/mozilla \ ${FAKEDIR}/bin/mozilla-config - if [ ! -x ${PREFIX}/bin/mozilla -a ! -L ${PREFIX}/bin/mozilla ]; then \ - ${ECHO_CMD} bin/mozilla >> ${PLIST} ; \ - fi - ${ECHO_CMD} bin/${MOZILLA} >> ${PLIST} - if [ ! -L ${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ]; then \ - for jpi in ${JPI_LIST}; do \ - if [ -f $${jpi} ]; then \ - ${ECHO_CMD} lib/browser_plugins/libjavaplugin_oji.so >> ${PLIST} ; \ - break; \ - fi; \ - done; \ - fi - ${ECHO_CMD} lib/browser_plugins/.${PORTNAME}.keep >> ${PLIST} - ${ECHO_CMD} "@unexec ${RMDIR} %D/lib/browser_plugins 2>/dev/null || ${TRUE}" >> ${PLIST} - ${ECHO_CMD} lib/${MOZILLA}/mozilla >> ${PLIST} - ${ECHO_CMD} lib/${MOZILLA}/mozilla-config >> ${PLIST} + ${INSTALL_SCRIPT} ${FAKEDIR}/bin/mozilla ${SCRIPTS_DIR}/${MOZILLA} + ${INSTALL_SCRIPT} ${FAKEDIR}/bin/mozilla ${SCRIPTS_DIR} + ${INSTALL_SCRIPT} ${FAKEDIR}/bin/mozilla-config ${SCRIPTS_DIR} + ${INSTALL_SCRIPT} ${WRKDIR}/register.sh ${SCRIPTS_DIR} +.for ii in ${MOZ_PIS_SCRIPTS} + ${INSTALL_SCRIPT} ${WRKDIR}/moz_pis_${ii} ${MOZ_PIS_DIR}/${ii} +.endfor + ${MV} ${SCRIPTS_DIR}/chrome/installed-chrome.txt \ + ${CHROME_REPO}/dist.chrome .if !defined(WITHOUT_MAILNEWS) @${CP} -RL ${WRKSRC}/dist/bin/defaults/isp ${FAKEDIR}/lib/${MOZILLA}/defaults .endif @@ -319,27 +351,8 @@ do-install: ${MKDIR} ${PREFIX}/lib/${MOZILLA} ${CHMOD} 755 ${PREFIX}/lib/${MOZILLA} - ${INSTALL_SCRIPT} ${FAKEDIR}/bin/mozilla ${PREFIX}/lib/${MOZILLA} - ${INSTALL_SCRIPT} ${FAKEDIR}/bin/mozilla-config ${PREFIX}/lib/${MOZILLA} cd ${FAKEDIR}/lib/${MOZILLA} && ${FIND} . | \ ${CPIO} -pdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/lib/${MOZILLA} - ${INSTALL_SCRIPT} ${WRKSRC}/${MOZILLA} ${PREFIX}/bin - if [ ! -x ${PREFIX}/bin/mozilla -a ! -L ${PREFIX}/bin/mozilla ]; then \ - ${LN} -sf ${PREFIX}/bin/${MOZILLA} ${PREFIX}/bin/mozilla ; \ - fi - if [ ! -d ${PREFIX}/lib/browser_plugins ]; then \ - ${MKDIR} ${PREFIX}/lib/browser_plugins ; \ - fi - ${TOUCH} -f ${PREFIX}/lib/browser_plugins/.${PORTNAME}.keep - if [ ! -L ${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ]; then \ - for jpi in ${JPI_LIST}; do \ - if [ -f $${jpi} ]; then \ - ${LN} -sf $${jpi} \ - ${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ; \ - break; \ - fi; \ - done; \ - fi for pcfile in ${PKGCONFIG_FILES}; do \ ${REINPLACE_CMD} -e 's|${FAKEDIR}|${PREFIX}|g' \ ${WRKSRC}/build/unix/$${pcfile}.pc; \ diff -Nru /usr/HEAD/ports/www/mozilla-devel/files/moz_pis_S90dsp.sh www/mozilla-devel/files/moz_pis_S90dsp.sh --- /usr/HEAD/ports/www/mozilla-devel/files/moz_pis_S90dsp.sh Thu Jan 1 01:00:00 1970 +++ www/mozilla-devel/files/moz_pis_S90dsp.sh Wed Feb 16 09:32:09 2005 @@ -0,0 +1,32 @@ +#!/bin/sh +# + +# S90dsp.sh +# dsp aids for mozilla +# WARN, this is sourced in the main mozilla.sh script. Be carefull + +# esd support seems to be built-in in mozilla now +# support only artsdsp + +if [ ${MOZ_PIS_API} -eq 2 -a "X$1" = "Xstart" -a -x "${run_moz}" ]; then + case "${MOZILLA_DSP}" in + [Aa][Rr][Tt][Ss] | artsdsp) + MOZILLA_DSP="artsdsp" + ;; + [Nn][Oo][Nn][Ee]) + MOZILLA_DSP="" + ;; + *) # auto + if [ -n "${KDE_FULL_SESSION}" ]; then + MOZILLA_DSP="artsdsp" + else + MOZILLA_DSP="" + fi + ;; + esac + [ -n "${MOZILLA_DSP}" ] && MOZILLA_DSP=`which "${MOZILLA_DSP}"` && + run_moz="${MOZILLA_DSP} ${run_moz}" + if [ -n "${debuggin}" ]; then + echo "dsp: ${run_moz}" + fi +fi diff -Nru /usr/HEAD/ports/www/mozilla-devel/files/mozilla.sh www/mozilla-devel/files/mozilla.sh --- /usr/HEAD/ports/www/mozilla-devel/files/mozilla.sh Fri Dec 24 19:25:45 2004 +++ www/mozilla-devel/files/mozilla.sh Thu Jan 1 01:00:00 1970 @@ -1,85 +0,0 @@ -#!/bin/sh - -MOZILLA_DIR="%%PREFIX%%/lib/%%MOZILLA%%" -MOZILLA_EXEC="./mozilla" -MOZILLA_REMOTE_EXEC="${MOZILLA_EXEC} -remote" -APPLICATION_ID="mozilla" - -LOCATION='new-tab' -#MOZILLA_UILOCALE="en-US" -#MOZILLA_UIREGION="US" -#MOZILLA_DSP="auto" - -cd $MOZILLA_DIR || exit 1 - -# LANG, MOZILLA_UILOCALE, MOZILLA_UIREGION -if [ -n "$LANG" -a ! -n "${MOZILLA_UILOCALE}" ]; then - _locale="${LANG%%.*}" - if [ "${_locale}" != "en_US" -a "${_locale}" != "C" ]; then - _region="${_locale##*_}" - _locale="${_locale%_*}" - [ -r chrome/${_locale}-${_region}.jar ] && \ - MOZILLA_EXEC="${MOZILLA_EXEC} -UILocale ${_locale}-${_region}" - fi -elif [ -n "${MOZILLA_UILOCALE}" ]; then - MOZILLA_EXEC="${MOZILLA_EXEC} -UILocale ${MOZILLA_UILOCALE}" - if [ -n "${MOZILLA_UIREGION}" ]; then - MOZILLA_EXEC="${MOZILLA_EXEC} -UIRegion ${MOZILLA_UIREGION}" - fi -fi - -# find a /dev/dsp handler -case "${MOZILLA_DSP}" in -# [Ee][Ss][Dd]|esddsp) # Use the esd dsp wrapper -# MOZILLA_DSP="esddsp" -# ;; - [Aa][Rr][Tt][Ss]|artsdsp) # Use the arts dsp wrapper - MOZILLA_DSP="artsdsp" - ;; - [Nn][Oo][Nn][Ee]) # Direct dsp output - MOZILLA_DSP="" - ;; - *) # Guest one (auto) - if [ -n "${KDE_FULL_SESSION}" ]; then - MOZILLA_DSP="artsdsp" -# elif [ -r ${HOME}/.esd_auth ]; then -# MOZILLA_DSP="esddsp" - else - MOZILLA_DSP="" - fi - ;; -esac - -if [ -n "${MOZILLA_DSP}" ] && type "${MOZILLA_DSP}" > /dev/null 2>&1; then - MOZILLA_EXEC="${MOZILLA_DSP} ${MOZILLA_EXEC}" -fi - -case $1 in - -browser) - REMOTE_COMMAND="xfeDoCommand (openBrowser)" - ;; - -mail) - REMOTE_COMMAND="xfeDoCommand (openInbox)" - ;; - -compose) - REMOTE_COMMAND="xfeDoCommand (composeMessage)" - ;; - -*) - exec ${MOZILLA_EXEC} "$@" - ;; - *) - if [ -n "${LOCATION}" ]; then - REMOTE_COMMAND="openURL($@,$LOCATION)" - else - REMOTE_COMMAND="openURL($@)" - fi - ;; -esac - -# process found -${MOZILLA_REMOTE_EXEC} "ping()" >/dev/null 2>&1 && -${MOZILLA_REMOTE_EXEC} "${REMOTE_COMMAND}" && exit 0 - -# no existing process -exec ${MOZILLA_EXEC} "$@" - diff -Nru /usr/HEAD/ports/www/mozilla-devel/files/patch-modules_libpref_src_init_all.js www/mozilla-devel/files/patch-modules_libpref_src_init_all.js --- /usr/HEAD/ports/www/mozilla-devel/files/patch-modules_libpref_src_init_all.js Thu Jan 1 01:00:00 1970 +++ www/mozilla-devel/files/patch-modules_libpref_src_init_all.js Fri Feb 18 21:32:25 2005 @@ -0,0 +1,13 @@ +--- modules/libpref/src/init/all.js.orig Fri Feb 18 21:27:17 2005 ++++ modules/libpref/src/init/all.js Fri Feb 18 21:30:27 2005 +@@ -552,7 +552,9 @@ + + // This preference controls whether or not internationalized domain names (IDN) + // are handled. IDN requires a nsIIDNService implementation. +-pref("network.enableIDN", true); ++// Due to registar problems to protect against homograph spoofing attacks, ++// This is disable by default. Enable at your own risk. ++pref("network.enableIDN", false); + + // This preference specifies a list of domains for which DNS lookups will be + // IPv4 only. Works around broken DNS servers which can't handle IPv6 lookups diff -Nru /usr/HEAD/ports/www/mozilla-devel/files/patch-xpfe_bootstrap_mozilla.in www/mozilla-devel/files/patch-xpfe_bootstrap_mozilla.in --- /usr/HEAD/ports/www/mozilla-devel/files/patch-xpfe_bootstrap_mozilla.in Thu Jan 1 01:00:00 1970 +++ www/mozilla-devel/files/patch-xpfe_bootstrap_mozilla.in Wed Feb 23 11:10:48 2005 @@ -0,0 +1,427 @@ +--- xpfe/bootstrap/mozilla.in.orig Fri Feb 20 19:13:46 2004 ++++ xpfe/bootstrap/mozilla.in Wed Feb 23 11:09:56 2005 +@@ -29,139 +29,316 @@ + ## 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 + #set -x + +-moz_libdir=%MOZAPPDIR% +-MRE_HOME=%MREDIR% ++# ++# variables ++# ++location="new-tab" ++#MOZILLA_UILOCALE="en-US" ++#MOZILLA_UIREGION="US" + +-# honor MOZILLA_FIVE_HOME if it's there +-if [ -n "$MOZILLA_FIVE_HOME" ] ; then +- dist_bin="$MOZILLA_FIVE_HOME" +-else +- # Use run-mozilla.sh in the current dir if it exists +- # If not, then start resolving symlinks until we find run-mozilla.sh +- found=0 +- progname=$0 +- curdir=`dirname "$progname"` +- run_moz="$curdir/run-mozilla.sh" +- if test -x "$run_moz"; then +- dist_bin=$curdir ++# ++# 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 ++found=0 ++progname="$0" ++curdir=`dirname "$progname"` ++progbase=`basename "$progname"` ++run_moz="$curdir/run-mozilla.sh" ++# mozilla must obey MOZILLA_FIVE_HOME ++if [ -n "$MOZILLA_FIVE_HOME" -a -d "$MOZILLA_FIVE_HOME" -a \ ++ -x "$MOZILLA_FIVE_HOME/run-mozilla.sh" ]; then ++ curdir="$MOZILLA_FIVE_HOME" ++ run_moz="$curdir/run-mozilla.sh" ++ dist_bin="$curdir" ++ found=1 ++elif [ -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` +- found=1 +- break +- fi ++else ++ 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 ++ 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 +- fi ++ 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="%MOZILLA-BIN%" +- ++MOZILLA_BIN="${progbase}-bin" + if [ "$OSTYPE" = "beos" ]; then +- mimeset -F $MOZILLA_BIN ++ mimeset -F "$MOZILLA_BIN" ++fi ++ ++# 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 mozilla ++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 ++ ${run_moz} ${MOZ_CLIENT_PROGRAM} 'ping()' >/dev/null 2>&1 && ++ ALREADY_RUNNING="yes" ++ fi ++elif [ -n "${debugging}" ]; then ++ echo "$0: WARN, no DISPLAY environment" 1>&2 + fi + ++# parse options ++script_args= # null ++moreargs= # null ++target= # null + while [ $# -gt 0 ] + do +- case "$1" in +- -p | -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 ++ 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 ++ ;; ++ *) ++ target="$1" ++ shift ++ ;; ++ esac + done + +-export MRE_HOME +-eval "set -- $moreargs" ++# 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 ++ 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 ++ ++# 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 ++ ${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 ++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 ++ ++# 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=$? + + ## Stop addon scripts diff -Nru /usr/HEAD/ports/www/mozilla-devel/files/register.sh www/mozilla-devel/files/register.sh --- /usr/HEAD/ports/www/mozilla-devel/files/register.sh Thu Jan 1 01:00:00 1970 +++ www/mozilla-devel/files/register.sh Mon Feb 21 09:11:58 2005 @@ -0,0 +1,31 @@ +#!/bin/sh +# + +# register.sh +# basic register procedure for mozilla +# must be invoked from MOZILLA_FIVE_HOME + +MOZDIR=`pwd` +run_moz="./run-mozilla.sh" +REGXPCOM="${MOZDIR}/regxpcom" +REGCHROME="${MOZDIR}/regchrome" +INST_CHROME="${MOZDIR}/chrome/installed-chrome.txt" +CHROME_REPO="${MOZDIR}/chrome.d/" + +echo "===> Building Chrome's registry..." +rm -rf ${MOZDIR}/chrome/overlayinfo +rm -f ${MOZDIR}/chrome/*.rdf +mkdir -p ${MOZDIR}/chrome/overlayinfo +rm -f ${MOZDIR}/component.reg + +if [ -d "${CHROME_REPO}" ]; then + echo -n > ${INST_CHROME} + for i in ${CHROME_REPO}/*.chrome; do + if [ -r "$i" ]; then + cat $i >> ${INST_CHROME} + fi + done +fi + +${run_moz} ${REGXPCOM} || true +${run_moz} ${REGCHROME} || true diff -Nru /usr/HEAD/ports/www/mozilla-devel/pkg-deinstall.in www/mozilla-devel/pkg-deinstall.in --- /usr/HEAD/ports/www/mozilla-devel/pkg-deinstall.in Sun Oct 24 04:35:07 2004 +++ www/mozilla-devel/pkg-deinstall.in Sun Feb 20 23:17:40 2005 @@ -9,14 +9,62 @@ umask 022 PATH=/bin:/usr/bin +prefix="${PKG_PREFIX:-%%PREFIX%%}" + [ "x$1" = "x" ] && exit 1 [ "x$2" != "xDEINSTALL" ] && exit 0 -MOZDIR=%%MOZDIR%% +MOZDIR="${prefix}/lib/%%MOZILLA%%" rm -rf ${MOZDIR}/chrome/overlayinfo rm -f ${MOZDIR}/chrome/*.rdf rm -f ${MOZDIR}/component.reg rm -f ${MOZDIR}/components/*.dat + +# support for outer scripts +for script in %%MOZILLA%% mozilla mozilla-config; do + rm -f "${prefix}/bin/${script}" +done +for mozdir in ${prefix}/lib/mozilla* %%X11BASE%%/lib/mozilla*; do + if [ -d "${mozdir}" -a "${mozdir}" != "${MOZDIR}" -a \ + -x "${mozdir}/run-mozilla.sh" -a -x "${mozdir}/mozilla" ]; then + for prog in %%MOZILLA%% mozilla-config; do + if [ -x "${mozdir}/${prog}" ]; then + install -m 555 ${mozdir}/${prog} ${prefix}/bin + fi + done + install -m 555 ${mozdir}/mozilla ${prefix}/bin + fi +done + +# support for shared browser_plugins directory (X11BASE) +# FIXME: go for a www/browser-hier port +PLUGINDIR="%%X11BASE%%/lib/browser_plugins" +# this is what we do now +# But may be better use MOZLIB after tr / _ +KEEPFILE="${PLUGINDIR}/.%%MOZILLA%%.keep" + +# sure someone can work a clever way to do this +rm -f "${KEEPFILE}" +for file in ${PLUGINDIR}/.*.keep; do + if [ -f "${file}" ]; then + break + fi + rm -rf "${PLUGINDIR}" + break +done + +# alternate way to register browser_plugins +# this makes ${KEEPFILE} usable by moz_pis to age tests +# +# PLUGINDIR="%%X11BASE%%/lib/browser_plugins" +# KEEPFILE="${PLUGINDIR}/.keepme" +# if [ -r "${KEEPFILE}" ]; then +# if grep -hqv "${MOZDIR}" "${KEEPFILE}" > "${KEEPFILE}-%%MOZILLA%%"; then +# mv "${KEEPFILE}-%%MOZILLA%%" "${KEEPFILE}" +# else +# rm -rf "${PLUGINDIR}" +# fi +# fi exit 0 diff -Nru /usr/HEAD/ports/www/mozilla-devel/pkg-install.in www/mozilla-devel/pkg-install.in --- /usr/HEAD/ports/www/mozilla-devel/pkg-install.in Sat Dec 4 10:47:25 2004 +++ www/mozilla-devel/pkg-install.in Mon Feb 21 09:09:33 2005 @@ -9,25 +9,78 @@ umask 022 PATH=/bin:/usr/bin +prefix="${PKG_PERFIX:-%%PREFIX%%}" + [ "x$1" = "x" ] && exit 1 [ "x$2" != "xPOST-INSTALL" ] && exit 0 -MOZDIR=%%MOZDIR%% -REGXPCOM=${MOZDIR}/regxpcom -REGCHROME=${MOZDIR}/regchrome - -echo "===> Building Chrome's registry..." -rm -rf ${MOZDIR}/chrome/overlayinfo -rm -f ${MOZDIR}/chrome/*.rdf -mkdir -p ${MOZDIR}/chrome/overlayinfo -rm -f ${MOZDIR}/component.reg - -cd ${MOZDIR} || exit 1 -./run-mozilla.sh ${REGXPCOM} || true -./run-mozilla.sh ${REGCHROME} || true +MOZDIR="${prefix}/lib/%%MOZILLA%%" +REGXPCOM="${MOZDIR}/regxpcom" +REGCHROME="${MOZDIR}/regchrome" + +# support for shared browser_plugins directory (X11BASE) +PLUGINDIR="%%X11BASE%%/lib/browser_plugins" +# this is what we do now +# But may be better use MOZLIB after tr / _ +KEEPFILE="${PLUGINDIR}/.%%MOZILLA%%.keep" +mkdir -p "${PLUGINDIR}" +touch "${KEEPFILE}" + +# an alternate way to register browser_plugins +# PLUGINDIR="%%X11BASE%%/lib/browser_plugins" +# KEEPFILE="${PLUGINDIR}/.keepme" +# mkdir -p "${PLUGINDIR}" +# touch "${KEEPFILE}" +# grep -hqv "${MOZDIR}" "${KEEPFILE}" > "${KEEPFILE}-%%MOZILLA%%" +# echo "${MOZDIR}" >> "${KEEPFILE}-%%MOZILLA%%" +# mv "${KEEPFILE}-%%MOZILLA%%" "${KEEPFILE}" + +# java plugin +# FIXME, this must be done from plugins pkg_install +jpidst="${PLUGINDIR}/libjavaplugin_oji.so" +if [ ! -L "${jpidst}" ]; then + rm -f "${jpidst}" + jpilist="%%JPI_LIST%%" + for jpi in ${jpilist}; do + if [ -r "${jpi}" ]; then + ln -s "${jpi}" "${jpidst}" + break + fi + done +fi + +# do the register procedure, with safe defaults +if [ -x "${MOZDIR}/register.sh" ]; then + # do registration via register.sh, shareable with extensions + cd ${MOZDIR} || exit 1 + ./register.sh +else + # default fallback + echo "===> Building Chrome's registry..." + rm -rf ${MOZDIR}/chrome/overlayinfo + rm -f ${MOZDIR}/chrome/*.rdf + mkdir -p ${MOZDIR}/chrome/overlayinfo + rm -f ${MOZDIR}/component.reg -if [ ! -d %%PREFIX%%/lib/browser_plugins ]; then - mkdir -p %%PREFIX%%/lib/browser_plugins + cd ${MOZDIR} || exit 1 + + if [ -d chrome.d ]; then + echo -n > chrome/installed-chrome.txt + for i in chrome.d/*.chrome; do + if [ -r "$i" ]; then + cat $i >> chrome/installed-chrome.txt + fi + done + fi + ./run-mozilla.sh ${REGXPCOM} || true + ./run-mozilla.sh ${REGCHROME} || true fi + +# install outer scripts +for script in %%MOZILLA%% mozilla mozilla-config; do + if [ -x "${MOZDIR}/${script}" ]; then + install -m 555 ${MOZDIR}/${script} ${prefix}/bin + fi +done exit 0 ----- patch-mozilla-devel