Hello community,

here is the log from the commit of package xulrunner for openSUSE:Factory
checked in at Mon Sep 19 17:58:10 CEST 2011.



--------
New Changes file:

--- /dev/null   2010-08-26 16:28:41.000000000 +0200
+++ /mounts/work_src_done/STABLE/xulrunner/xulrunner.changes    2011-09-14 
20:54:01.000000000 +0200
@@ -0,0 +1,5 @@
+-------------------------------------------------------------------
+Wed Sep 14 13:07:39 UTC 2011 - w...@rosenauer.org
+
+- initial xulrunner package
+

calling whatdependson for head-i586


New:
----
  add-plugins.sh.in
  baselibs.conf
  compare-locales.tar.bz2
  create-tar.sh
  find-external-requires.sh
  idldir.patch
  l10n-6.0.2.tar.bz2
  mozilla-cairo-lcd.patch
  mozilla-cairo-return.patch
  mozilla-curl.patch
  mozilla-dump_syms-static.patch
  mozilla-language.patch
  mozilla-linux3.patch
  mozilla-nongnome-proxies.patch
  mozilla-ntlm-full-path.patch
  mozilla-pkgconfig.patch
  mozilla-prefer_plugin_pref.patch
  mozilla-sle11.patch
  toolkit-download-folder.patch
  xulrunner-6.0.2-source.tar.bz2
  xulrunner-openSUSE-prefs.js
  xulrunner-rpmlintrc
  xulrunner.changes
  xulrunner.spec

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xulrunner.spec ++++++
#
# spec file for package xulrunner
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#               2006-2011 Wolfgang Rosenauer
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           xulrunner
BuildRequires:  Mesa-devel autoconf213 dbus-1-glib-devel fdupes gcc-c++ 
hunspell-devel libcurl-devel libgnomeui-devel libidl-devel libnotify-devel 
nss-shared-helper-devel pkg-config python startup-notification-devel unzip yasm 
zip
%if %suse_version > 1110
BuildRequires:  libiw-devel
BuildRequires:  libproxy-devel
%else
BuildRequires:  wireless-tools
%endif
BuildRequires:  mozilla-nspr-devel >= 4.8.8
BuildRequires:  mozilla-nss-devel >= 3.12.10
License:        MPLv1.1 or GPLv2+ or LGPLv2+
Version:        6.0.2
Release:        1
%define         releasedate 2011091300
%define         version_internal 6.0.2
%define         apiversion 6
%define         uaweight 600000
Summary:        Mozilla Runtime Environment
Url:            http://www.mozilla.org/
Group:          Productivity/Other
Provides:       gecko
%ifarch %ix86
Provides:       xulrunner-32bit = %{version}-%{release}
%endif
Source:         xulrunner-%{version}-source.tar.bz2
Source1:        l10n-%{version}.tar.bz2
Source2:        find-external-requires.sh
Source3:        %{name}-rpmlintrc
Source4:        xulrunner-openSUSE-prefs.js
Source5:        add-plugins.sh.in
Source6:        create-tar.sh
Source7:        baselibs.conf
Source9:        compare-locales.tar.bz2
Patch1:         toolkit-download-folder.patch
Patch2:         mozilla-pkgconfig.patch
Patch3:         idldir.patch
Patch4:         mozilla-nongnome-proxies.patch
Patch5:         mozilla-prefer_plugin_pref.patch
Patch8:         mozilla-cairo-lcd.patch
Patch9:         mozilla-language.patch
Patch10:        mozilla-cairo-return.patch
Patch11:        mozilla-ntlm-full-path.patch
Patch12:        mozilla-dump_syms-static.patch
Patch13:        mozilla-sle11.patch
Patch14:        mozilla-linux3.patch
Patch15:        mozilla-curl.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Requires:       mozilla-js = %{version}
Requires(post):  update-alternatives coreutils
Requires(preun): update-alternatives coreutils
### build configuration ###
%define has_system_nspr  1
%define has_system_nss   1
%define has_system_cairo 0
%define localize 0
%ifarch ppc ppc64 s390 s390x ia64
%define crashreporter    0
%define plugincontainer  0
%else
%define crashreporter    1
%define plugincontainer  1
%endif
### configuration end ###
%define _use_internal_dependency_generator 0
%define __find_requires sh %{SOURCE2}
%global provfind sh -c "grep -Ev 'mozsqlite3|dbusservice|unixprint' | 
%__find_provides"
%global __find_provides %provfind
%if %has_system_nspr
Requires:       mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' 
mozilla-nspr)
%endif
%if %has_system_nss
Requires:       mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss)
%endif

%description
XULRunner is a single installable package that can be used to bootstrap
multiple XUL+XPCOM applications that are as rich as Firefox and
Thunderbird.


%package -n mozilla-js
License:        MPLv1.1 or GPLv2+ or LGPLv2+
Summary:        Mozilla JS engine
Group:          Productivity/Other

%description -n mozilla-js
JavaScript is the Netscape-developed object scripting language used in millions
of web pages and server applications worldwide. Netscape's JavaScript is a
superset of the ECMA-262 Edition 3 (ECMAScript) standard scripting language,
with only mild differences from the published standard.


%package devel
License:        MPLv1.1 or GPLv2+ or LGPLv2+
Summary:        XULRunner/Gecko SDK
Group:          Development/Libraries/Other
%if %has_system_nspr
Requires:       mozilla-nspr-devel >= %(rpm -q --queryformat '%{VERSION}' 
mozilla-nspr-devel)
%endif
%if %has_system_nss
Requires:       mozilla-nss-devel >= %(rpm -q --queryformat '%{VERSION}' 
mozilla-nss-devel)
%endif
Requires:       %{name} = %{version}

%description devel
Software Development Kit to embed XUL or Gecko into other applications.

%if %localize

%package translations-common

License:        MPLv1.1 or GPLv2+ or LGPLv2+
Summary:        Common translations for XULRunner
Group:          System/Localization
Requires:       %{name} = %{version}
Provides:       
locale(%{name}:ar;ca;cs;da;de;en_GB;es_AR;es_CL;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
Obsoletes:      %{name}-translations < %{version}-%{release}

%description translations-common
XULRunner is a single installable package that can be used to bootstrap
multiple XUL+XPCOM applications that are as rich as Firefox and
Thunderbird.

This package contains the most common languages but en-US which is
delivered in the main package.


%package translations-other

License:        MPLv1.1 or GPLv2+ or LGPLv2+
Summary:        Extra translations for XULRunner
Group:          System/Localization
Requires:       %{name} = %{version}
Provides:       
locale(%{name}:af;ak;ast;be;bg;bn_BD;br;bs;cy;el;en_ZA;eo;es_MX;et;eu;fa;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;kn;ku;lg;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;zu)
Obsoletes:      %{name}-translations < %{version}-%{release}

%description translations-other
XULRunner is a single installable package that can be used to bootstrap
multiple XUL+XPCOM applications that are as rich as Firefox and
Thunderbird.

This package contains rarely used languages.
%endif

%if %crashreporter

%package buildsymbols
License:        MPLv1.1 or GPLv2+ or LGPLv2+
Summary:        Breakpad buildsymbols for %{name}
Group:          Development/Debug

%description buildsymbols
This subpackage contains the Breakpad created and compatible debugging
symbols meant for upload to Mozilla's crash collector database.
%endif

%prep
%setup -n mozilla -q -b 1 -b 9
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%if %suse_version < 1120
%patch13 -p1
%endif
%patch14 -p1
%patch15 -p1

%build
# no need to add build time to binaries
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
TIME="\"$(date -d "${modified}" "+%%R")\""
find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i 
"s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
#
MOZ_APP_DIR=%{_libdir}/xulrunner-%{version_internal}
export MOZ_BUILD_DATE=%{releasedate}
export CFLAGS="$RPM_OPT_FLAGS -Os -fno-strict-aliasing"
%ifarch ppc64
export CFLAGS="$CFLAGS -mminimal-toc"
%endif
export CXXFLAGS="$CFLAGS"
export LDFLAGS="-Wl,-rpath -Wl,${MOZ_APP_DIR}"
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
export MOZILLA_OFFICIAL=1
export BUILD_OFFICIAL=1
export MOZ_MILESTONE_RELEASE=1
#
cat << EOF > $MOZCONFIG
mk_add_options MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZ_MILESTONE_RELEASE=1
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
. \$topsrcdir/xulrunner/config/mozconfig
ac_add_options --prefix=%{_prefix}
ac_add_options --libdir=%{_libdir}
ac_add_options --sysconfdir=%{_sysconfdir}
ac_add_options --mandir=%{_mandir}
ac_add_options --includedir=%{_includedir}
ac_add_options --enable-optimize
ac_add_options --enable-extensions=default
#ac_add_options --with-system-jpeg # mozilla uses internal libjpeg-turbo now
#ac_add_options --with-system-png  # no APNG support
ac_add_options --with-system-zlib
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
ac_add_options --disable-tests
ac_add_options --disable-mochitest
ac_add_options --disable-installer
ac_add_options --disable-updater
ac_add_options --disable-javaxpcom
ac_add_options --enable-system-hunspell
ac_add_options --enable-startup-notification
ac_add_options --enable-shared-js
#ac_add_options --enable-debug
EOF
%if %suse_version > 1130
cat << EOF >> $MOZCONFIG
ac_add_options --disable-gnomevfs
ac_add_options --enable-gio
EOF
%endif
%if %has_system_nspr
cat << EOF >> $MOZCONFIG
ac_add_options --with-system-nspr
EOF
%endif
%if %has_system_nss
cat << EOF >> $MOZCONFIG
ac_add_options --with-system-nss
EOF
%endif
%if %has_system_cairo
cat << EOF >> $MOZCONFIG
ac_add_options --enable-system-cairo
EOF
%endif
%if %suse_version > 1110
cat << EOF >> $MOZCONFIG
ac_add_options --enable-libproxy
EOF
%endif
%if ! %crashreporter
cat << EOF >> $MOZCONFIG
ac_add_options --disable-crashreporter
EOF
%endif
%if ! %plugincontainer
cat << EOF >> $MOZCONFIG
# Chromium IPC is not ported to Power,S/390 and Itanium (currently just 
x86,x86_64 and arm)
ac_add_options --disable-ipc
EOF
%endif
make -f client.mk build

%install
cd ../obj
# preferences (to package in omni.jar)
cp %{SOURCE4} dist/bin/defaults/pref/all-openSUSE.js
%makeinstall STRIP=/bin/true
# remove some executable permissions
find $RPM_BUILD_ROOT%{_includedir}/xulrunner-%{version_internal} \
     -type f -perm -111 -exec chmod a-x {} \;
find $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/ \
     -name "*.js" -o -name "*.xpm" -o -name "*.png" | xargs chmod a-x
mkdir -p $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/extensions
# fixing SDK dynamic libs (symlink instead of copy)
rm $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/*.so
ln -sf ../../../xulrunner-%{version_internal}/libmozjs.so \
       $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/
ln -sf ../../../xulrunner-%{version_internal}/libxpcom.so \
       $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/
ln -sf ../../../xulrunner-%{version_internal}/libxul.so \
       $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/
# include basic buildenv for xulapps to use
mkdir -p $RPM_BUILD_ROOT%{_datadir}/xulrunner-%{version_internal}
pushd ..
# this list has been compiled by trial and error for prism
tar --exclude=*.cpp --exclude=*.mm \
   -cvjf 
$RPM_BUILD_ROOT%{_datadir}/xulrunner-%{version_internal}/mozilla-src.tar.bz2 \
    mozilla/configure.in mozilla/Makefile.in mozilla/client.py 
mozilla/allmakefiles.sh \
    mozilla/config mozilla/client.mk mozilla/aclocal.m4 mozilla/build 
mozilla/js/src/* \
    mozilla/testing mozilla/toolkit/mozapps/installer mozilla/probes 
mozilla/memory \
    mozilla/toolkit/xre mozilla/nsprpub/config mozilla/tools mozilla/xpcom/build
popd
# install add-plugins.sh
sed "s:%%PROGDIR:%{_libdir}/xulrunner-%{version_internal}:g" \
  %{SOURCE5} > 
$RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/add-plugins.sh
chmod 755 $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/add-plugins.sh
# ghosts
touch $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/global.reginfo
# install additional locales
%if %localize
rm -f %{_tmppath}/translations.*
touch %{_tmppath}/translations.{common,other}
for locale in $(awk '{ print $1; }' 
../mozilla/browser/locales/shipped-locales); do
  case $locale in
   ja-JP-mac|en-US)
      ;;
   *)
      pushd $RPM_BUILD_DIR/compare-locales
      PYTHONPATH=lib \
        scripts/compare-locales -m ../l10n-merged/$locale \
        ../mozilla/toolkit/locales/l10n.ini ../l10n $locale
      popd
      LOCALE_MERGEDIR=$RPM_BUILD_DIR/l10n-merged/$locale \
      make -C toolkit/locales langpack-$locale
      cp dist/xpi-stage/locale-$locale \
         
$RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/extensions/langpack-$loc...@firefox.mozilla.org
      # remove prefs and profile defaults from langpack
      rm -rf 
$RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/extensions/langpack-$loc...@firefox.mozilla.org/defaults
      # check against the fixed common list and sort into the right filelist
      _matched=0
      for _match in ar ca cs da de en-GB es-AR es-CL es-ES fi fr hu it ja ko 
nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do
        [ "$_match" = "$locale" ] && _matched=1
      done
      [ $_matched -eq 1 ] && _l10ntarget=common || _l10ntarget=other
      echo 
%{_libdir}/xulrunner-%{version_internal}/extensions/langpack-$loc...@firefox.mozilla.org
 \ \
         >> %{_tmppath}/translations.$_l10ntarget
  esac
done
%endif
# API symlink
ln -sf xulrunner-%{version_internal} 
$RPM_BUILD_ROOT%{_libdir}/xulrunner-%{apiversion}
# compat links
%if 0%{?ga_version:1}
touch $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{ga_version}
%endif
# excludes
%if %suse_version < 1120
rm -f $RPM_BUILD_ROOT%{_bindir}/xulrunner
%endif
rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/updater
rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/update.locale
rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/LICENSE
rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/README.txt
rm -f 
$RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/dictionaries/en-US*
rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/nspr-config
rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/mozilla-plugin.pc
# fdupes
%fdupes $RPM_BUILD_ROOT%{_includedir}/xulrunner-%{version_internal}/
%fdupes $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/
# create breakpad debugsymbols
%if %crashreporter
SYMBOLS_NAME="xulrunner-%{version}-%{release}.%{_arch}-%{suse_version}-symbols"
make buildsymbols \
  SYMBOL_INDEX_NAME="$SYMBOLS_NAME.txt" \
  SYMBOL_FULL_ARCHIVE_BASENAME="$SYMBOLS_NAME-full" \
  SYMBOL_ARCHIVE_BASENAME="$SYMBOLS_NAME"
if [ -e dist/*symbols.zip ]; then
  mkdir -p $RPM_BUILD_ROOT%{_datadir}/mozilla/
  cp dist/*symbols.zip $RPM_BUILD_ROOT%{_datadir}/mozilla/
fi
%endif

%clean
rm -rf $RPM_BUILD_ROOT
%if %localize
rm -rf %{_tmppath}/translations.*
%endif

%post
/usr/sbin/update-alternatives --install %{_bindir}/xulrunner \
  xulrunner %{_libdir}/xulrunner-%{apiversion}/xulrunner %{uaweight} || :
%{_libdir}/xulrunner-%{apiversion}/add-plugins.sh > /dev/null 2>&1
exit 0

%posttrans
# needed for updates which transition directory to symlink
%if 0%{?ga_version:1}
test -d %{_libdir}/xulrunner-%{ga_version} && rm -rf 
%{_libdir}/xulrunner-%{ga_version}
ln -sf xulrunner-%{version_internal} %{_libdir}/xulrunner-%{ga_version}
%endif
[ -e %{_libdir}/xulrunner-%{version_internal}/add-plugins.sh ] && \
  %{_libdir}/xulrunner-%{version_internal}/add-plugins.sh > /dev/null 2>&1
exit 0

%preun
if [ "$1" = "0" ]; then # deinstallation
  # that's not quite nice since old versions should be removed on update as well
  # but that's problematic for updates w/o raising the version number
  /usr/sbin/update-alternatives --remove xulrunner 
%{_libdir}/xulrunner-%{apiversion}/xulrunner
fi
rm -f %{_libdir}/xulrunner-%{version_internal}/dictionaries/*
exit 0

%triggerin -- myspell-dictionary
%{_libdir}/xulrunner-%{version_internal}/add-plugins.sh > /dev/null 2>&1
exit 0

%triggerpostun -- myspell-dictionary
%{_libdir}/xulrunner-%{version_internal}/add-plugins.sh > /dev/null 2>&1
exit 0

%files
%defattr(-,root,root)
%dir %{_libdir}/xulrunner-%{version_internal}/
%dir %{_libdir}/xulrunner-%{version_internal}/chrome/
%dir %{_libdir}/xulrunner-%{version_internal}/dictionaries/
%dir %{_libdir}/xulrunner-%{version_internal}/extensions/
%{_libdir}/xulrunner-%{version_internal}/chrome/icons/
%{_libdir}/xulrunner-%{version_internal}/components/
%{_libdir}/xulrunner-%{version_internal}/hyphenation/
%{_libdir}/xulrunner-%{version_internal}/icons/
%{_libdir}/xulrunner-%{version_internal}/plugins/
%{_libdir}/xulrunner-%{version_internal}/*.so
%exclude %{_libdir}/xulrunner-%{version_internal}/libmozjs.so
%{_libdir}/xulrunner-%{version_internal}/add-plugins.sh
%{_libdir}/xulrunner-%{version_internal}/chrome.manifest
%{_libdir}/xulrunner-%{version_internal}/dependentlibs.list
%{_libdir}/xulrunner-%{version_internal}/mozilla-xremote-client
%if %plugincontainer
%{_libdir}/xulrunner-%{version_internal}/plugin-container
%endif
%{_libdir}/xulrunner-%{version_internal}/run-mozilla.sh
%{_libdir}/xulrunner-%{version_internal}/xulrunner
%{_libdir}/xulrunner-%{version_internal}/xulrunner-bin
%{_libdir}/xulrunner-%{version_internal}/xulrunner-stub
%{_libdir}/xulrunner-%{version_internal}/platform.ini
%{_libdir}/xulrunner-%{version_internal}/omni.jar
# crashreporter files
%if %crashreporter
%{_libdir}/xulrunner-%{version_internal}/crashreporter
%{_libdir}/xulrunner-%{version_internal}/crashreporter.ini
%{_libdir}/xulrunner-%{version_internal}/Throbber-small.gif
%endif
# ghosts
%ghost %{_libdir}/xulrunner-%{version_internal}/global.reginfo
%if %suse_version >= 1120
%ghost %{_bindir}/xulrunner
%endif
# API symlink
%{_libdir}/xulrunner-%{apiversion}
# compat symlinks
%if 0%{?ga_version:1}
%ghost %{_libdir}/xulrunner-%{ga_version}
%endif

%files -n mozilla-js
%defattr(-,root,root)
%dir %{_libdir}/xulrunner-%{version_internal}/
%{_libdir}/xulrunner-%{apiversion}
%{_libdir}/xulrunner-%{version_internal}/libmozjs.so

%files devel
%defattr(-,root,root)
%{_libdir}/xulrunner-%{version_internal}/xpcshell
%{_libdir}/xulrunner-%{version_internal}/xpidl
%{_libdir}/xulrunner-devel-%{version_internal}/
# FIXME symlink dynamic libs below sdk/lib
%attr(644,root,root) %{_libdir}/pkgconfig/*
%{_includedir}/xulrunner-%{version_internal}/
%{_datadir}/xulrunner-%{version_internal}/

%if %localize

%files translations-common -f %{_tmppath}/translations.common
%defattr(-,root,root)
%dir %{_libdir}/xulrunner-%{version_internal}/
%dir %{_libdir}/xulrunner-%{version_internal}/chrome/

%files translations-other -f %{_tmppath}/translations.other
%defattr(-,root,root)
%dir %{_libdir}/xulrunner-%{version_internal}/
%dir %{_libdir}/xulrunner-%{version_internal}/chrome/
%endif

%if %crashreporter

%files buildsymbols
%defattr(-,root,root)
%{_datadir}/mozilla/
%endif

%changelog
++++++ add-plugins.sh.in ++++++
#! /bin/sh
# Copyright (c) 2008 Wolfgang Rosenauer.  All rights reserved.
#

# check if we are started as root
# only one of UID and USER must be set correctly
if test "$UID" != 0 -a "$USER" != root; then
    echo "You must be root to start $0."
    exit 1
fi

PREFIX="%PROGDIR"

# dictionaries
MYSPELL=/usr/share/myspell
MOZ_SPELL=$PREFIX/dictionaries
if [ -d $MOZ_SPELL ] ; then
  if [ -d $MYSPELL ] ; then
    for dict in $MYSPELL/??[-_]??.aff ; do

      # check is it is really the file or it is a string which contain '??_??'
      if ! [ -e $dict ] ; then
        continue
      fi

      # the dict file name
      dict_file=`echo ${dict##*/}`

      # the dict file has a valid name
      lang=`echo ${dict_file:0:2}`
      country=`echo ${dict_file:3:2}`
      
      # check for .dic file
      if [ ! -r $MYSPELL/${lang}[-_]${country}.dic ] ; then
        continue
      fi

      # create links
      if [ ! -r $MOZ_SPELL/${lang}[-_]${country}.aff ] ; then
        ln -sf $MYSPELL/${lang}[-_]${country}.aff \
               $MOZ_SPELL/${lang}-${country}.aff
      fi      
      if [ ! -r $MOZ_SPELL/${lang}[-_]${country}.dic ] ; then
        ln -sf $MYSPELL/${lang}[-_]${country}.dic \
               $MOZ_SPELL/${lang}-${country}.dic
      fi      
    done
    echo "-> added myspell dictionaries"
  fi

  # remove broken links
  for dict in $MOZ_SPELL/*.{aff,dic} ; do
    if ! [ -r $dict ] ; then
      rm -f $dict
    fi
  done
fi
++++++ baselibs.conf ++++++
xulrunner
 +/usr/lib(64)?/xulrunner-.*
 +/etc/gre.d/.*
 requires "mozilla-js-<targettype>"

mozilla-js

xulrunner-translations-common
 +/usr/lib(64)?/xulrunner-.*
 requires "xulrunner-<targettype> = <version>"
 supplements "packageand(xulrunner-translations-common:xulrunner-<targettype>)"

xulrunner-translations-other
 +/usr/lib(64)?/xulrunner-.*
 requires "xulrunner-<targettype> = <version>"
 supplements "packageand(xulrunner-translations-other:xulrunner-<targettype>)"

++++++ create-tar.sh ++++++
#!/bin/bash

BRANCH="releases/mozilla-release"
RELEASE_TAG="FIREFOX_6_0_2_RELEASE"
VERSION="6.0.2"

# mozilla
hg clone http://hg.mozilla.org/$BRANCH mozilla
pushd mozilla
[ "$RELEASE_TAG" == "default" ] || hg update -r $RELEASE_TAG
# get repo and source stamp
echo -n "REV=" > ../source-stamp.txt
hg -R . parent --template="{node|short}\n" >> ../source-stamp.txt
echo -n "REPO=" >> ../source-stamp.txt
hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" >> 
../source-stamp.txt
popd
tar cjf xulrunner-$VERSION-source.tar.bz2 --exclude=.hgtags --exclude=.hgignore 
--exclude=.hg --exclude=CVS mozilla

# l10n
test ! -d l10n && mkdir l10n
for locale in $(awk '{ print $1; }' mozilla/browser/locales/shipped-locales); do
  case $locale in
    ja-JP-mac|en-US)
      ;;
    *)
      hg clone http://hg.mozilla.org/releases/l10n/mozilla-release/$locale 
l10n/$locale
      [ "$RELEASE_TAG" == "default" ] || hg -R l10n/$locale up -C -r 
$RELEASE_TAG
      ;;
  esac
done
tar cjf l10n-$VERSION.tar.bz2 --exclude=.hgtags --exclude=.hgignore 
--exclude=.hg l10n

# compare-locales
hg clone http://hg.mozilla.org/build/compare-locales
tar cjf compare-locales.tar.bz2 --exclude=.hgtags --exclude=.hgignore 
--exclude=.hg compare-locales

++++++ find-external-requires.sh ++++++
#!/bin/sh
# Finds requirements provided outside of the current file set

filelist=$( sed "s/[]['\"*?{}]/\\\\\&/g" )
provides=$( echo "$filelist" | /usr/lib/rpm/find-provides )
echo "$filelist" \
    | /usr/lib/rpm/find-requires \
    | grep -F -v "$provides" \
    | sort -u
++++++ idldir.patch ++++++
From: Wolfgang Rosenauer <st...@suse.de>
Subject: fix IDL installation dir 
This is only needed to get the correct path in xulrunner-config

Index: config/autoconf.mk.in
===================================================================
RCS file: /cvsroot/mozilla/config/autoconf.mk.in,v
retrieving revision 3.449
diff -u -r3.449 autoconf.mk.in
--- config/autoconf.mk.in       16 Feb 2008 22:23:08 -0000      3.449
+++ b/config/autoconf.mk.in     19 Feb 2008 14:07:13 -0000
@@ -62,7 +62,7 @@
 libdir         = @libdir@
 datadir                = @datadir@
 mandir         = @mandir@
-idldir         = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+idldir         = $(includedir)
 
 installdir     = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
 sdkdir         = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++++++ mozilla-cairo-lcd.patch ++++++
++++ 1333 lines (skipped)

++++++ mozilla-cairo-return.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <w...@rosenauer.org>
# Parent 43cb27a012f2532add0e9791c1b5a7d0c3b03f9b
Bug 631155 - undefined return value in function '_cairo_surface_wrapper_flush'

diff --git a/gfx/cairo/cairo/src/cairo-surface-wrapper.c 
b/gfx/cairo/cairo/src/cairo-surface-wrapper.c
--- a/gfx/cairo/cairo/src/cairo-surface-wrapper.c
+++ b/gfx/cairo/cairo/src/cairo-surface-wrapper.c
@@ -526,9 +526,12 @@ _cairo_surface_wrapper_fini (cairo_surfa
 }
 
 cairo_status_t
 _cairo_surface_wrapper_flush (cairo_surface_wrapper_t *wrapper)
 {
     if (wrapper->target->backend->flush) {
        return wrapper->target->backend->flush(wrapper->target);
     }
+
+    // this is preliminary to cool down gcc and build checks
+    return CAIRO_STATUS_SUCCESS;
 }
++++++ mozilla-curl.patch ++++++
# HG changeset patch
# User Evan Shaw <eds...@gmail.com>
# Parent 891179411e19ab39f95bd7769c0e58db6f22f9e4
bug 673072 - remove deprecated curl header curl/types.h from Breakpad includes. 
r=ted

diff --git a/config/system-headers b/config/system-headers
--- a/config/system-headers
+++ b/config/system-headers
@@ -199,17 +199,16 @@ crypt.h
 cstddef
 cstdio
 cstdlib
 cstring
 ctime
 ctype.h
 curl/curl.h
 curl/easy.h
-curl/types.h
 curses.h
 cxxabi.h
 DateTimeUtils.h
 dbus/dbus.h
 dbus/dbus-glib.h
 dbus/dbus-glib-lowlevel.h
 ddeml.h
 Debug.h
diff --git a/js/src/config/system-headers b/js/src/config/system-headers
--- a/js/src/config/system-headers
+++ b/js/src/config/system-headers
@@ -199,17 +199,16 @@ crypt.h
 cstddef
 cstdio
 cstdlib
 cstring
 ctime
 ctype.h
 curl/curl.h
 curl/easy.h
-curl/types.h
 curses.h
 cxxabi.h
 DateTimeUtils.h
 dbus/dbus.h
 dbus/dbus-glib.h
 dbus/dbus-glib-lowlevel.h
 ddeml.h
 Debug.h
diff --git 
a/toolkit/crashreporter/google-breakpad/src/common/linux/http_upload.cc 
b/toolkit/crashreporter/google-breakpad/src/common/linux/http_upload.cc
--- a/toolkit/crashreporter/google-breakpad/src/common/linux/http_upload.cc
+++ b/toolkit/crashreporter/google-breakpad/src/common/linux/http_upload.cc
@@ -28,17 +28,16 @@
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #include "common/linux/http_upload.h"
 
 #include <assert.h>
 #include <dlfcn.h>
 #include <curl/curl.h>
 #include <curl/easy.h>
-#include <curl/types.h>
 
 namespace {
 
 // Callback to get the response data from server.
 static size_t WriteCallback(void *ptr, size_t size,
                             size_t nmemb, void *userp) {
   if (!userp)
     return 0;
diff --git 
a/toolkit/crashreporter/google-breakpad/src/common/linux/libcurl_wrapper.cc 
b/toolkit/crashreporter/google-breakpad/src/common/linux/libcurl_wrapper.cc
--- a/toolkit/crashreporter/google-breakpad/src/common/linux/libcurl_wrapper.cc
+++ b/toolkit/crashreporter/google-breakpad/src/common/linux/libcurl_wrapper.cc
@@ -24,17 +24,16 @@
 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #include <curl/curl.h>
 #include <curl/easy.h>
-#include <curl/types.h>
 #include <dlfcn.h>
 
 #include <iostream>
 #include <string>
 
 #include "common/linux/libcurl_wrapper.h"
 
 using std::string;
++++++ mozilla-dump_syms-static.patch ++++++
# HG changeset patch
# Parent e589abb2c4d6aaa6083d254416211ac90360dbdd
NO-BUG: Ignore a hack which is not needed in distribution build environments.

diff --git 
a/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in 
b/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
--- 
a/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
+++ 
b/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
@@ -59,11 +59,11 @@ HOST_LIBS += \
   $(NULL)
 
 # force C++ linking
 CPP_PROG_LINK = 1
 FORCE_USE_PIC = 1
 
 #XXX: bug 554854 causes us to be unable to run binaries on the build slaves
 # due to them having an older libstdc++
-HOST_LDFLAGS += -static
+#HOST_LDFLAGS += -static
 
 include $(topsrcdir)/config/rules.mk
++++++ mozilla-language.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <w...@rosenauer.org>
# Parent db620d83124746201970dcf50c661957df979eca
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE

diff --git a/intl/locale/src/nsLocaleService.cpp 
b/intl/locale/src/nsLocaleService.cpp
--- a/intl/locale/src/nsLocaleService.cpp
+++ b/intl/locale/src/nsLocaleService.cpp
@@ -181,16 +181,17 @@ nsLocaleService::nsLocaleService(void)
         }
 
 
 #ifdef MOZ_WIDGET_QT
         const char* lang = QLocale::system().name().toAscii();
 #else
         // Get system configuration
         const char* lang = getenv("LANG");
+        const char* language = getenv("LANGUAGE");
 #endif
 
         for( i = 0; i < LocaleListLength; i++ ) {
             nsresult result;
             // setlocale( , "") evaluates LC_* and LANG
             char* lc_temp = setlocale(posix_locale_category[i], "");
             CopyASCIItoUTF16(LocaleList[i], category);
             category_platform = category;
@@ -206,16 +207,21 @@ nsLocaleService::nsLocaleService(void)
                 else {
                     CopyASCIItoUTF16(lang, platformLocale);
                     result = posixConverter->GetXPLocale(lang, xpLocale);
                 }
             }
             if (NS_FAILED(result)) {
                 return;
             }
+            // LANGUAGE is overriding LC_MESSAGES
+            if (i == LC_MESSAGES && language && *language) {
+                CopyASCIItoUTF16(language, platformLocale);
+                result = posixConverter->GetXPLocale(language, xpLocale);
+            }
             resultLocale->AddCategory(category, xpLocale);
             resultLocale->AddCategory(category_platform, platformLocale);
         }
         mSystemLocale = do_QueryInterface(resultLocale);
         mApplicationLocale = do_QueryInterface(resultLocale);
     }  // if ( NS_SUCCEEDED )...
        
 #endif // XP_UNIX
++++++ mozilla-linux3.patch ++++++
# HG changeset patch
# Parent bf7c3e1c6174630743f9f94808c4dd3a2edc0c6b
diff --git a/toolkit/crashreporter/tools/symbolstore.py 
b/toolkit/crashreporter/tools/symbolstore.py
--- a/toolkit/crashreporter/tools/symbolstore.py
+++ b/toolkit/crashreporter/tools/symbolstore.py
@@ -376,16 +376,17 @@ def GetVCSFilename(file, srcdirs):
     return (file.replace("\\", "/"), root)
 
 def GetPlatformSpecificDumper(**kwargs):
     """This function simply returns a instance of a subclass of Dumper
     that is appropriate for the current platform."""
     return {'win32': Dumper_Win32,
             'cygwin': Dumper_Win32,
             'linux2': Dumper_Linux,
+           'linux3': Dumper_Linux,
             'sunos5': Dumper_Solaris,
             'darwin': Dumper_Mac}[sys.platform](**kwargs)
 
 def SourceIndex(fileStream, outputPath, vcs_root):
     """Takes a list of files, writes info to a data block in a .stream file"""
     # Creates a .pdb.stream file in the mozilla\objdir to be used for source 
indexing
     # Create the srcsrv data block that indexes the pdb file
     result = True
++++++ mozilla-nongnome-proxies.patch ++++++
From: Wolfgang Rosenauer
Subject: Do not use gconf for proxy settings if not running within Gnome

Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
===================================================================
RCS file: 
/cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
retrieving revision 1.1
diff -u -p -6 -r1.1 nsUnixSystemProxySettings.cpp
--- toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp      29 Jan 2008 
15:58:41 -0000      1.1
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp    17 Apr 2008 
19:02:19 -0000
@@ -69,13 +69,19 @@ private:
 
 NS_IMPL_ISUPPORTS1(nsUnixSystemProxySettings, nsISystemProxySettings)
 
 nsresult
 nsUnixSystemProxySettings::Init()
 {
-  mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+  // If this is a GNOME session, load gconf and try to use its preferences.
+  // If gconf is not available (which would be stupid) we'll proceed as if
+  // this was not a GNOME session, using *_PROXY environment variables.
+  const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
+  if (sessionType && !strcmp(sessionType, "gnome")) {
+    mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+  }
   return NS_OK;
 }
 
 PRBool
 nsUnixSystemProxySettings::IsProxyMode(const char* aMode)
 {
++++++ mozilla-ntlm-full-path.patch ++++++
# HG changeset patch
# User Petr Cerny <pce...@novell.com>
# Parent 971259052418fda3b7fc81da75be4557ea5d82bc
Bug 634334 - call to the ntlm_auth helper fails

diff --git a/extensions/auth/nsAuthSambaNTLM.cpp 
b/extensions/auth/nsAuthSambaNTLM.cpp
--- a/extensions/auth/nsAuthSambaNTLM.cpp
+++ b/extensions/auth/nsAuthSambaNTLM.cpp
@@ -200,17 +200,17 @@ static PRUint8* ExtractMessage(const nsA
 nsresult
 nsAuthSambaNTLM::SpawnNTLMAuthHelper()
 {
     const char* username = PR_GetEnv("USER");
     if (!username)
         return NS_ERROR_FAILURE;
 
     char* args[] = {
-        "ntlm_auth",
+        "/usr/bin/ntlm_auth",
         "--helper-protocol", "ntlmssp-client-1",
         "--use-cached-creds",
         "--username", const_cast<char*>(username),
         nsnull
     };
 
     PRBool isOK = SpawnIOChild(args, &mChildPID, &mFromChildFD, &mToChildFD);
     if (!isOK)  
++++++ mozilla-pkgconfig.patch ++++++
From: Wolfgang Rosenauer
Subject: pkgconfig tuning

diff --git a/xulrunner/installer/Makefile.in b/xulrunner/installer/Makefile.in
--- a/xulrunner/installer/Makefile.in
+++ b/xulrunner/installer/Makefile.in
@@ -62,16 +62,19 @@ PKG_DMG_SOURCE = $(STAGEPATH)xulrunner-p
 endif
 
 include $(topsrcdir)/config/rules.mk
 
 INSTALL_SDK = 1
 
 include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
 
+# the apilibdir always ends with 1.9 as every patch update will provide a link
+apilibdir = $(dir $(installdir))xulrunner-2.2
+
 # Add pkg-config files to the install:: target
 
 pkg_config_files = \
        libxul.pc \
        libxul-embedding.pc \
        mozilla-js.pc \
        mozilla-plugin.pc \
        mozilla-gtkmozembed.pc \
@@ -103,16 +106,17 @@ pkg_config_files += mozilla-nss.pc
 endif
 
 %.pc: $(srcdir)/%.pc.in $(GLOBAL_DEPS)
        cat $< | sed \
        -e "s|%prefix%|$(prefix)|" \
        -e "s|%includedir%|$(includedir)|" \
        -e "s|%idldir%|$(idldir)|" \
        -e "s|%sdkdir%|$(sdkdir)|" \
+       -e "s|%libdir%|$(apilibdir)|" \
        -e "s|%MOZ_APP_NAME%|$(MOZ_APP_NAME)|" \
        -e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \
        -e "s|%WCHAR_CFLAGS%|$(WCHAR_CFLAGS)|" \
        -e "s|%FULL_NSPR_LIBS%|$(FULL_NSPR_LIBS)|" \
        -e "s|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|" \
        -e "s|%NSPR_NAME%|$(NSPR_NAME)|" \
        -e "s|%NSPR_VERSION%|$(NSPR_VERSION)|" \
        -e "s|%MOZ_XUL_LINK%|$(MOZ_XUL_LINK)|" \
diff --git a/xulrunner/installer/libxul-embedding.pc.in 
b/xulrunner/installer/libxul-embedding.pc.in
--- a/xulrunner/installer/libxul-embedding.pc.in
+++ b/xulrunner/installer/libxul-embedding.pc.in
@@ -1,10 +1,11 @@
 prefix=%prefix%
 sdkdir=%sdkdir%
 includedir=%includedir%
 idldir=%idldir%
 
 Name: libxul-embedding
 Description: Static library for version-independent embedding of the Mozilla 
runtime
 Version: %MOZILLA_VERSION%
-Libs: -L${sdkdir}/lib -lxpcomglue -ldl
+Requires: %NSPR_NAME% >= %NSPR_VERSION%
+Libs: -L${sdkdir}/sdk/lib -lxpcomglue -ldl
 Cflags: -DXPCOM_GLUE -I${includedir} %WCHAR_CFLAGS%
diff --git a/xulrunner/installer/libxul.pc.in b/xulrunner/installer/libxul.pc.in
--- a/xulrunner/installer/libxul.pc.in
+++ b/xulrunner/installer/libxul.pc.in
@@ -1,10 +1,11 @@
 prefix=%prefix%
 sdkdir=%sdkdir%
+libdir=%libdir%
 includedir=%includedir%
 idldir=%idldir%
 
 Name: libxul
 Description: The Mozilla Runtime and Embedding Engine
 Version: %MOZILLA_VERSION%
 Requires: %NSPR_NAME% >= %NSPR_VERSION%
 Libs: -L${sdkdir}/lib %MOZ_XUL_LINK%
diff --git a/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in 
b/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in
--- a/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in
+++ b/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in
@@ -1,8 +1,9 @@
 prefix=%prefix%
 sdkdir=%sdkdir%
+libdir=%libdir%
 includedir=%includedir%
 
 Name: mozilla-gtkembedmoz
 Description: Static version-independent Mozilla Embedding Widget for Gtk+
 Version: %MOZILLA_VERSION%
 Requires: libxul-embedding = %MOZILLA_VERSION%
diff --git a/xulrunner/installer/mozilla-gtkmozembed.pc.in 
b/xulrunner/installer/mozilla-gtkmozembed.pc.in
--- a/xulrunner/installer/mozilla-gtkmozembed.pc.in
+++ b/xulrunner/installer/mozilla-gtkmozembed.pc.in
@@ -1,8 +1,9 @@
 prefix=%prefix%
 sdkdir=%sdkdir%
+libdir=%libdir%
 includedir=%includedir%
 
 Name: mozilla-gtkembedmoz
 Description: Mozilla Embedding Widget for Gtk+
 Version: %MOZILLA_VERSION%
 Requires: libxul = %MOZILLA_VERSION%
diff --git a/xulrunner/installer/mozilla-js.pc.in 
b/xulrunner/installer/mozilla-js.pc.in
--- a/xulrunner/installer/mozilla-js.pc.in
+++ b/xulrunner/installer/mozilla-js.pc.in
@@ -1,10 +1,11 @@
 prefix=%prefix%
 sdkdir=%sdkdir%
+libdir=%libdir%
 includedir=%includedir%
 
 Name: JavaScript
 Description: The Mozilla JavaScript Library
 Version: %MOZILLA_VERSION%
 Requires: %NSPR_NAME% >= %NSPR_VERSION%
-Libs: -L${sdkdir}/lib %MOZ_JS_LINK%
+Libs: -Wl,-rpath,${libdir} -L${sdkdir}/lib %MOZ_JS_LINK%
 Cflags: -I${includedir} -DXP_UNIX -DJS_THREADSAFE
++++++ mozilla-prefer_plugin_pref.patch ++++++
From: Ubuntu
Subject: introduce a pref to prefer certain plugins for mime-types

diff --git a/dom/plugins/base/nsPluginHost.cpp 
b/dom/plugins/base/nsPluginHost.cpp
--- a/dom/plugins/base/nsPluginHost.cpp
+++ b/dom/plugins/base/nsPluginHost.cpp
@@ -1637,17 +1637,48 @@ nsPluginHost::FindPluginForType(const ch
                                 PRBool aCheckEnabled)
 {
   if (!aMimeType) {
     return nsnull;
   }
 
   LoadPlugins();
 
+  nsresult res;
+  nsCOMPtr<nsIPrefBranch> prefB (do_QueryInterface(mPrefService));
+
+  char *preferredPluginPath = NULL;
+  nsCAutoString mimetypePrefString ("modules.plugins.mimetype.");
+  mimetypePrefString.Append(aMimeType);
+  const char *mimetypePrefChar = mimetypePrefString.get();
+  res = prefB->GetCharPref(mimetypePrefChar, &preferredPluginPath);
+
+  if(!NS_SUCCEEDED(res)) preferredPluginPath = NULL;
+
   nsPluginTag *plugin = mPlugins;
+  if(preferredPluginPath) {
+    while (nsnull != plugin) {
+      if (0 == PL_strcasecmp(plugin->mFileName.get(), preferredPluginPath) ||
+          0 == PL_strcasecmp(plugin->mFullPath.get(), preferredPluginPath)) {
+        return plugin;
+      }
+      plugin = plugin->mNext;
+    }
+
+    // now lets search for substrings
+    plugin = mPlugins;
+    while (nsnull != plugin) {
+      if (nsnull != PL_strstr(plugin->mFileName.get(), preferredPluginPath) ||
+          nsnull != PL_strstr(plugin->mFullPath.get(), preferredPluginPath)) {
+        return plugin;
+      }
+      plugin = plugin->mNext;
+    }
+  }
+
   while (plugin) {
     if (!aCheckEnabled || plugin->IsEnabled()) {
       PRInt32 mimeCount = plugin->mMimeTypes.Length();
       for (PRInt32 i = 0; i < mimeCount; i++) {
         if (0 == PL_strcasecmp(plugin->mMimeTypes[i].get(), aMimeType)) {
           return plugin;
         }
       }
++++++ mozilla-sle11.patch ++++++
Subject: Patches needed to build on SLE11/11.1
References:
https://bugzilla.mozilla.org/show_bug.cgi?id=513422

diff --git a/gfx/cairo/cairo/src/cairo-xlib-surface.c 
b/gfx/cairo/cairo/src/cairo-xlib-surface.c
--- a/gfx/cairo/cairo/src/cairo-xlib-surface.c
+++ b/gfx/cairo/cairo/src/cairo-xlib-surface.c
@@ -4041,17 +4041,19 @@ _cairo_xlib_surface_add_glyph (Display *
            new = malloc (4 * c);
            if (unlikely (new == NULL)) {
                status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
                goto BAIL;
            }
            n = new;
            d = (uint32_t *) data;
            do {
-               *n++ = bswap_32 (*d++);
+               *n = bswap_32 (*d);
+                *n++;
+                *d++;
            } while (--c);
            data = (uint8_t *) new;
        }
        break;
     case CAIRO_FORMAT_RGB24:
     default:
        ASSERT_NOT_REACHED;
        break;
diff --git a/xpcom/glue/SSE.cpp b/xpcom/glue/SSE.cpp
--- a/xpcom/glue/SSE.cpp
+++ b/xpcom/glue/SSE.cpp
@@ -44,26 +44,77 @@ namespace {
 // SSE.h has parallel #ifs which declare MOZILLA_SSE_HAVE_CPUID_DETECTION.
 // We can't declare these functions in the header file, however, because
 // <intrin.h> conflicts with <windows.h> on MSVC 2005, and some files want to
 // include both SSE.h and <windows.h>.
 
 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 
3)) && (defined(__i386__) || defined(__x86_64__))
 
 // cpuid.h is available on gcc 4.3 and higher on i386 and x86_64
-#include <cpuid.h>
+//#include <cpuid.h>
 
 enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 };
 
+#ifdef __i386__
+#define _my_cpuid(level, a, b, c, d)                    \
+  __asm__ ("xchg{l}\t{%%}ebx, %1\n\t"                   \
+           "cpuid\n\t"                                  \
+           "xchg{l}\t{%%}ebx, %1\n\t"                   \
+           : "=a" (a), "=r" (b), "=c" (c), "=d" (d)     \
+           : "0" (level))
+#else
+#define _my_cpuid(level, a, b, c, d)                    \
+  __asm__ ("cpuid\n\t"                                  \
+           : "=a" (a), "=b" (b), "=c" (c), "=d" (d)     \
+           : "0" (level))
+#endif
+
+static __inline unsigned int
+my_cpuid_max (unsigned int __ext, unsigned int *__sig)
+{
+  unsigned int __eax, __ebx, __ecx, __edx;
+
+#ifdef __i386__
+  __asm__ ("pushf{l|d}\n\t"
+           "pushf{l|d}\n\t"
+           "pop{l}\t%0\n\t"
+           "mov{l}\t{%0, %1|%1, %0}\n\t"
+           "xor{l}\t{%2, %0|%0, %2}\n\t"
+           "push{l}\t%0\n\t"
+           "popf{l|d}\n\t"
+           "pushf{l|d}\n\t"
+           "pop{l}\t%0\n\t"
+           "popf{l|d}\n\t"
+           : "=&r" (__eax), "=&r" (__ebx)
+           : "i" (0x00200000));
+
+  if (!((__eax ^ __ebx) & 0x00200000))
+    return 0;
+#endif
+
+  /* Host supports cpuid.  Return highest supported cpuid input value.  */
+  _my_cpuid (__ext, __eax, __ebx, __ecx, __edx);
+
+  if (__sig)
+    *__sig = __ebx;
+
+  return __eax;
+}
+
 static bool
 has_cpuid_bit(unsigned int level, CPUIDRegister reg, unsigned int bit)
 {
   unsigned int regs[4];
-  return __get_cpuid(level, &regs[0], &regs[1], &regs[2], &regs[3]) &&
-         (regs[reg] & bit);
+
+  unsigned int __ext = level & 0x80000000;
+  if (my_cpuid_max(__ext, 0) < level)
+    return false;
+
+  _my_cpuid(level, regs[0], regs[1], regs[2], regs[3]);
+  return !!(unsigned(regs[reg]) & bit);
 }
 
 #elif defined(_MSC_VER) && _MSC_VER >= 1400 && (defined(_M_IX86) || 
defined(_M_AMD64))
 
 // MSVC 2005 or newer on x86-32 or x86-64
 #include <intrin.h>
 
 enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 };
++++++ toolkit-download-folder.patch ++++++
From: Wolfgang Rosenauer
Subject: Don't use localized Downloads unless XDG is set up
References:
https://bugzilla.novell.com/show_bug.cgi?id=501724

diff --git a/browser/components/preferences/main.js 
b/browser/components/preferences/main.js
--- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js
@@ -344,7 +344,7 @@ var gMainPane = {
       // With 3.0, a new desktop folder - 'Downloads' was introduced for
       // platforms and versions that don't support a default system downloads
       // folder. See nsDownloadManager for details. 
-      downloadFolder.label = 
bundlePreferences.getString("downloadsFolderName");
+      downloadFolder.label = "Downloads";
       iconUrlSpec = fph.getURLSpecFromFile(this._indexToFolder(1));
     } else {
       // 'Desktop'
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp 
b/toolkit/components/downloads/nsDownloadManager.cpp
--- a/toolkit/components/downloads/nsDownloadManager.cpp
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
@@ -1269,8 +1269,10 @@ nsDownloadManager::GetDefaultDownloadsDi
   // XDG user dir spec, with a fallback to Home/Downloads
 
   nsXPIDLString folderName;
-  mBundle->GetStringFromName(NS_LITERAL_STRING("downloadsFolder").get(),
-                             getter_Copies(folderName));
+  // We don't want localized "Downloads" unless XDG is used
+  //mBundle->GetStringFromName(NS_LITERAL_STRING("downloadsFolder").get(),
+  //                           getter_Copies(folderName));
+  folderName.AssignLiteral("Downloads");
 
 #if defined (XP_MACOSX)
   rv = dirService->Get(NS_OSX_DEFAULT_DOWNLOAD_DIR,
++++++ xulrunner-openSUSE-prefs.js ++++++
// openSUSE overrides for default settings
pref("layout.word_select.stop_at_punctuation", false);
pref("intl.locale.matchOS", true);
++++++ xulrunner-rpmlintrc ++++++
addFilter("no-jar-manifest")

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to