--- trunk/core/include/mozilla.sminc 2008/10/10 13:29:42 2 +++ trunk/core/include/mozilla.sminc 2009/07/12 16:33:09 2861 @@ -1,4 +1,4 @@ -# $Header: /magellan-cvs/smage/include/mozilla.sminc,v 1.2 2006/06/12 21:16:04 niro Exp $ +# $Id$ # mozilla global smage2 functions mozconf_add() @@ -19,7 +19,7 @@ mozilla_remove_cflags() { - # This removes extraneous CFLAGS from the Makefiles to reduce RAM + # this removes extraneous CFLAGS from the Makefiles to reduce RAM # requirements while compiling (gentoo) export CFLAGS="${CFLAGS} -Wno-return-type -w" export CXXFLAGS="${CXXFLAGS} -Wno-return-type -w" @@ -35,7 +35,7 @@ -e 's:-pedantic::g' ${MAKEFILE}.old > ${MAKEFILE} rm -f ${MAKEFILE}.old done - # Mozilla use .mk includes + # mozilla use .mk includes find . -name '*.mk' | while read MAKEFILE do cp ${MAKEFILE} ${MAKEFILE}.old @@ -47,7 +47,8 @@ } # simulate the csh makemake script (gentoo) -makemake() { +makemake() +{ typeset m topdir for m in $(find . -name Makefile.in); do topdir=$(echo "$m" | sed -r 's:[^/]+:..:g') @@ -56,7 +57,8 @@ done } -makemake2() { +makemake2() +{ typeset m topdir for m in $(find ../ -name Makefile.in); do topdir=$(echo "$m" | sed -r 's:[^/]+:..:g') @@ -64,3 +66,41 @@ < ${m} > ${m%.in} || die "sed ${m} failed" done } + +msetpref() +{ + : ${MOZILLA_PREF_CONFIG="magellan.js"} + : ${MOZILLA_PREF_PATH="/usr/$(mlibdir)/mozilla-firefox/defaults/pref"} + local pref + local value + + [[ -z ${pref} ]] && die "msetpref(): no \$pref given" + + if [[ ${pref} = --init ]] + then + # only create an empty config + :> ${BINDIR}/${MOZILLA_PREF_PATH}/${MOZILLA_PREF_CONFIG} || die + else + # write a pref value + [[ -z ${value} ]] && die "msetpref(): no \$value given" + + # handle escaped strings: + # check if value is an integer -> no escaping + if printf "%d" ${value} > /dev/null 2>&1 + then + value="${value}" + + # check for "false" or "true" -> no escaping + elif [[ ${value} = false ]] || [[ ${value} = true ]] + value="${value}" + + # all other values needs escaping + else + value="\"${value}\"" + fi + + # eg: + # pref("general.useragent.vendor","Magellan-Linux"); + echo "pref(\"${pref}\",${value});" >> ${BINDIR}/${MOZILLA_PREF_PATH}/${MOZILLA_PREF_CONFIG} || die + fi +}