Browse Source

update to 10.0.6 (based on esr release)

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@6575 ec354946-7b23-47d6-9f5a-488ba84defc7
daisuke 11 years ago
parent
commit
8aa0558785
3 changed files with 250 additions and 278 deletions
  1. 9 10
      x/xulrunner/xulrunner-mozconfig
  2. 52 0
      x/xulrunner/xulrunner-mozconfig-vine
  3. 189 268
      x/xulrunner/xulrunner-vl.spec

+ 9 - 10
x/xulrunner/xulrunner-mozconfig

@@ -1,5 +1,6 @@
-
 . $topsrcdir/xulrunner/config/mozconfig
+# --with-system-png is disabled because Mozilla requires APNG support in libpng
+#ac_add_options --with-system-png
 
 ac_add_options --prefix="$PREFIX"
 ac_add_options --libdir="$LIBDIR"
@@ -9,11 +10,8 @@ ac_add_options --with-system-jpeg
 ac_add_options --with-system-zlib
 ac_add_options --with-system-bz2
 ac_add_options --with-system-libvpx
-ac_add_options --enable-system-lcms
+ac_add_options --enable-system-hunspell
 ac_add_options --enable-system-cairo
-ac_add_options --enable-system-sqlite
-#ac_add_options --with-system-png
-ac_add_options --without-mng
 ac_add_options --with-pthreads
 ac_add_options --disable-strip
 ac_add_options --disable-tests
@@ -21,14 +19,15 @@ ac_add_options --disable-mochitest
 ac_add_options --disable-installer
 ac_add_options --disable-debug
 ac_add_options --enable-optimize
+ac_add_options --enable-xinerama
 ac_add_options --enable-default-toolkit=cairo-gtk2
 ac_add_options --enable-pango
-ac_add_options --enable-crypto
 ac_add_options --enable-svg
 ac_add_options --enable-canvas
 ac_add_options --disable-javaxpcom
 ac_add_options --disable-crashreporter
 ac_add_options --enable-safe-browsing
+ac_add_options --enable-extensions=default
 ac_add_options --enable-libnotify
 ac_add_options --disable-necko-wifi
 ac_add_options --enable-startup-notification
@@ -37,13 +36,13 @@ ac_add_options --enable-shared-js
 ac_add_options --enable-url-classifier
 ac_add_options --enable-gio
 ac_add_options --disable-gnomevfs
-ac_add_options --with-distribution-id=org.vinelinux
-
-ac_add_options --with-l10n-base=../l10n
+ac_add_options --disable-updater
+ac_add_options --enable-chrome-format=omni
 
 export BUILD_OFFICIAL=1
 export MOZILLA_OFFICIAL=1
+export MOZ_UA_BUILDID=20100101
+
 mk_add_options BUILD_OFFICIAL=1
 mk_add_options MOZILLA_OFFICIAL=1
 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@
-

+ 52 - 0
x/xulrunner/xulrunner-mozconfig-vine

@@ -0,0 +1,52 @@
+. $topsrcdir/xulrunner/config/mozconfig
+
+ac_add_options --prefix="$PREFIX"
+ac_add_options --libdir="$LIBDIR"
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-nspr
+#ac_add_options --with-system-nss
+#ac_add_options --with-system-libvpx
+ac_add_options --enable-system-cairo
+#ac_add_options --enable-system-sqlite
+ac_add_options --without-mng
+ac_add_options --with-pthreads
+ac_add_options --disable-tests
+ac_add_options --disable-mochitest
+ac_add_options --disable-debug
+ac_add_options --disable-installer
+#ac_add_options --enable-jsd
+ac_add_options --enable-optimize="$RPM_OPT_FLAGS"
+ac_add_options --enable-default-toolkit=cairo-gtk2
+#ac_add_options --enable-xft
+ac_add_options --enable-pango
+ac_add_options --enable-xinerama
+ac_add_options --enable-crypto
+ac_add_options --enable-svg
+ac_add_options --enable-canvas
+ac_add_options --disable-xprint
+ac_add_options --disable-strip
+ac_add_options --enable-single-profile
+ac_add_options --disable-profilesharing
+ac_add_options --disable-crashreporter
+#ac_add_options --disable-dbus
+ac_add_options --enable-safe-browsing
+#ac_add_options --enable-libxul
+ac_add_options --enable-startup-notification
+ac_add_options --enable-libnotify
+ac_add_options --disable-necko-wifi
+ac_add_options --disable-cpp-exceptions
+#ac_add_options --enable-shared-js
+ac_add_options --enable-url-classifier
+ac_add_options --enable-gio
+ac_add_options --disable-gnomevfs
+ac_add_options --enable-chrome-format=omni
+ac_add_options --disable-official-branding
+#ac_add_options --with-branding=browser/branding/unofficial
+ac_add_options --with-distribution-id=org.vinelinux
+
+export BUILD_OFFICIAL=1
+export MOZILLA_OFFICIAL=1
+mk_add_options BUILD_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@

+ 189 - 268
x/xulrunner/xulrunner-vl.spec

@@ -1,182 +1,213 @@
-%define nspr_version 4.8.7
-%define nss_version 3.12.9
-%define cairo_version 1.10.2-2
-%define libnotify_version 0.4
-%define tarballdir mozilla-2.0
-%define libjpeg-turbo_version 1.1.0
-
-%define build_vine6 0
-%define build_vine5 0
-%if "%{?_dist_release}" == "vl7"
-%define build_vine6 1
-%define build_vine5 1
+# Minimal required versions
+%global nspr_version 4.8.9
+%global nss_version 3.13.1
+%global cairo_version 1.10.2
+%global freetype_version 2.1.9
+%global libnotify_version 0.7.0
+
+# gecko_dir_ver should be set to the version in our directory names
+# alpha_version should be set to the alpha number if using an alpha, 0 otherwise
+# beta_version  should be set to the beta number if using a beta, 0 otherwise
+# rc_version    should be set to the RC number if using an RC, 0 otherwise
+%global gecko_dir_ver 2
+%global alpha_version 0
+%global beta_version  0
+%global rc_version    0
+
+%global mozappdir         %{_libdir}/%{name}-%{gecko_dir_ver}
+%global tarballdir  mozilla-esr10
+
+%if %{alpha_version} > 0
+%global pre_version a%{alpha_version}
+%global tarballdir  mozilla-beta
 %endif
-%if "%{?_dist_release}" == "vl6"
-%define build_vine6 1
-%define build_vine5 1
+%if %{beta_version} > 0
+%global pre_version b%{beta_version}
+%global tarballdir  mozilla-beta
 %endif
-%if "%{?_dist_release}" == "vl5"
-%define build_vine5 1
+%if %{rc_version} > 0
+%global pre_version rc%{rc_version}
+%global tarballdir  mozilla-release
 %endif
 
-%if %build_vine6
-%define sqlite_version 3.7.5
-%endif
-
-%define version_internal  2.0
-%define mozappdir         %{_libdir}/%{name}-%{version_internal}
-
-# Separated plugins are supported on x86(64) only
-%ifarch %{ix86} x86_64
-%define separated_plugins 1
+%if %{defined pre_version}
+%global gecko_verrel %{expand:%%{version}}-%{pre_version}
+%global pre_tag .%{pre_version}
 %else
-%define separated_plugins 0
+%global gecko_verrel %{expand:%%{version}}
 %endif
 
 Summary:        XUL Runtime for Gecko Applications
 Summary(ja):    Gecko アプリケーションのための XUL ランタイム
 Name:           xulrunner
-Version:        2.0.1
-Release:        3%{?_dist_release}
-URL:            http://www.mozilla.org/projects/xulrunner/
+Version:        10.0.6
+Release:        1%{?_dist_release}
+URL:            http://developer.mozilla.org/En/XULRunner
 License:        MPLv1.1 or GPLv2+ or LGPLv2+
 Group:          Applications/Internet
-Source0:        %{name}-%{version}.source.tar.bz2
-Source10:       %{name}-mozconfig
-Source11:       %{name}-mozconfig-vine5
-Source12:       %{name}-vine-default-prefs.js
+# You can get sources at ftp://ftp.mozilla.org/pub/firefox/releases/%{version}%{?pre_ver}/source
+Source0:        %{name}-%{version}%{?pre_version}.source.tar.bz2
+Source10:       %{name}-mozconfig-vine
+Source12:       %{name}-redhat-default-prefs.js
 Source21:       %{name}.sh.in
-Source23:       %{name}.1
-
-# locale sources
-%define MOZ_BUILD_LOCALES "ja"
-Source1000:     xulrunner-%{version}-ja.tar.bz2
 
 # build patches
-Patch0:		xulrunner-version.patch
+Patch0:         xulrunner-version.patch
 Patch1:         mozilla-build.patch
-Patch7:         xulrunner-1.9.2.1-build.patch
-#Patch8:         mozilla-plugin.patch
-Patch9:         mozilla-build-sbrk.patch
-Patch10:	mozilla-libjpeg-turbo.patch
-
-# patches from Fedora
-Patch100:       mozilla-193-pkgconfig.patch
+Patch14:        xulrunner-2.0-chromium-types.patch
+Patch17:	xulrunner-10.0-gcc47.patch
 
-# Upstream patches
-Patch130:        xulrunner-omnijar.patch
 
+# Fedora specific patches
+Patch20:        mozilla-193-pkgconfig.patch
+Patch23:        wmclass.patch
+Patch24:        crashreporter-remove-static.patch
 
+# Upstream patches
+Patch38:        mozilla-696393.patch
+# https://bugzilla.mozilla.org/show_bug.cgi?id=707993
+Patch39:        xulrunner-8.0-fix-maemo-checks-in-npapi.patch
+Patch40:        mozilla-682832-proxy.patch
+# cherry-picked from 13afcd4c097c
+Patch41:        xulrunner-9.0-secondary-build-fix.patch
+Patch42:        mozilla-706724.patch
+Patch43:        mozilla-file.patch
+# Needed to detect/use libvpx-1.0.0
+# https://bugzilla.mozilla.org/show_bug.cgi?id=722127
+Patch44:	mozilla-722127.patch
+Patch46:	mozilla-724615.patch
+Patch47:	mozilla-691898.patch
 
 # ---------------------------------------------------
 
-BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root
 BuildRequires:  nspr-devel >= %{nspr_version}
 BuildRequires:  nss-devel >= %{nss_version}
 BuildRequires:  cairo-devel >= %{cairo_version}
 BuildRequires:  libpng-devel
-BuildRequires:  libjpeg-turbo-devel >= %{libjpeg-turbo_version}
+BuildRequires:  libjpeg-turbo-devel
+BuildRequires:  zip
 BuildRequires:  bzip2-devel
 BuildRequires:  zlib-devel
-BuildRequires:  lcms-devel
 BuildRequires:  libIDL-devel
 BuildRequires:  gtk2-devel
-BuildRequires:  gnome-vfs2-devel
-BuildRequires:  libgnome-devel
-BuildRequires:  libgnomeui-devel
+BuildRequires:  krb5-devel
 BuildRequires:  pango-devel
-BuildRequires:  freetype2-devel >= 2.1.9
+BuildRequires:  freetype2-devel >= %{freetype_version}
 BuildRequires:  libXt-devel
 BuildRequires:  libXrender-devel
-%if %{build_vine6}
-BuildRequires:  sqlite3-devel >= %{sqlite_version}
-%endif
-BuildRequires:  libnotify-devel >= %{libnotify_version}
 BuildRequires:  startup-notification-devel
 BuildRequires:  alsa-lib-devel
-BuildRequires:  lcms-devel
-BuildRequires:  zip
-# For -sqlite.patch
-BuildRequires:  autoconf213
-BuildRequires:  libvpx-devel
-
-Requires:       nspr >= %{nspr_version}
-Requires:       nss >= %{nss_version}
+BuildRequires:  libnotify-devel >= %{libnotify_version}
+BuildRequires:  mesa-libGL-devel
+BuildRequires:  curl-devel
+BuildRequires:  yasm
 
-Provides:       gecko-libs = %{version}
+Requires:       nspr
+Requires:       nss
+Provides:       gecko-libs = %{gecko_verrel}
+Conflicts:      firefox < 3.6
 
 Vendor: Project Vine
 Distribution: Vine Linux
+Packager: daisuke
 
 %description
-XULRunner provides the XUL Runtime environment for Gecko applications.
+XULRunner is a Mozilla runtime package that can be used to bootstrap XUL+XPCOM
+applications that are as rich as Firefox and Thunderbird. It provides mechanisms
+for installing, upgrading, and uninstalling these applications. XULRunner also
+provides libxul, a solution which allows the embedding of Mozilla technologies
+in other projects and products.
 
 %package devel
 Summary: Development files for Gecko
+Summary(ja):  Geckoの開発ファイル
 Group: Development/Libraries
-
-Obsoletes: mozilla-devel
+Obsoletes: mozilla-devel < 1.9
 Obsoletes: firefox-devel < 2.1
 Obsoletes: xulrunner-devel-unstable
-
-Provides: gecko-devel = %{version}
-Provides: gecko-devel-unstable = %{version}
+Provides: gecko-devel = %{gecko_verrel}
+Provides: gecko-devel-unstable = %{gecko_verrel}
 
 Requires: xulrunner = %{version}-%{release}
-Requires: nspr-devel >= %{nspr_version}
-Requires: nss-devel >= %{nss_version}
-Requires: cairo-devel >= %{cairo_version}
-Requires: libjpeg-turbo-devel >= %{libjpeg-turbo_version}
+Requires: nspr-devel
+Requires: nss-devel
+Requires: cairo-devel
+Requires: libjpeg-devel
 Requires: zip
 Requires: bzip2-devel
 Requires: zlib-devel
-Requires: lcms-devel
 Requires: libIDL-devel
 Requires: gtk2-devel
-Requires: gnome-vfs2-devel
-Requires: libgnome-devel
-Requires: libgnomeui-devel
+Requires: krb5-devel
 Requires: pango-devel
-Requires: freetype2-devel >= 2.1.9
+Requires: freetype-devel
 Requires: libXt-devel
 Requires: libXrender-devel
-%if %{build_vine6}
-Requires: sqlite3-devel >= %{sqlite_version}
-%endif
 Requires: startup-notification-devel
 Requires: alsa-lib-devel
+Requires: libnotify-devel
+Requires: mesa-libGL-devel
 
 %description devel
-Gecko development files.
+This package contains the libraries amd header files that are needed
+for writing XUL+XPCOM applications with Mozilla XULRunner and Gecko.
 
 #---------------------------------------------------------------------
 
 %prep
-%setup -q -c -b 1000
+%setup -q -c
 cd %{tarballdir}
 
-sed -e 's/__RPM_VERSION_INTERNAL__/%{version_internal}/' \
-    %{P:%%PATCH0} > version.patch
-%{__patch} -p1 -b --suffix .version < version.patch
+sed -e 's/__RPM_VERSION_INTERNAL__/%{gecko_dir_ver}/' %{P:%%PATCH0} \
+    > version.patch
+%{__patch} -p1 -b --suffix .version --fuzz=0 < version.patch
 
 %patch1  -p2 -b .build
-%patch7  -p2 -b .del
-%patch9  -p2 -b .sbrk
-%patch10 -p2 -b .libjpeg-turbo
-
-%patch100 -p2 -b .pkgconfig
-%patch130 -p1 -b .omnijar
-
+%patch14 -p1 -b .chromium-types
+%patch17 -p1 -b .gcc47
+
+%patch20 -p2 -b .pk
+%patch23 -p1 -b .wmclass
+%patch24 -p1 -b .static
+
+%patch38 -p2 -b .696393
+%patch39 -p1 -b .707993
+%patch40 -p2 -b .682832
+%patch41 -p2 -b .secondary-build
+%patch42 -p1 -b .706724
+%patch43 -p1 -b .file
+%patch44 -p2 -b .vpx1.0.0
+%patch46 -p1 -b .724615
+%patch47 -p1 -b .691898
 
 %{__rm} -f .mozconfig
-%if %{build_vine6}
 %{__cp} %{SOURCE10} .mozconfig
-%else
-%{__cp} %{SOURCE11} .mozconfig
+
+echo "ac_add_options --disable-system-sqlite" >> .mozconfig
+
+%ifarch armv7hl
+echo "ac_add_options --with-arch=armv7-a" >> .mozconfig
+echo "ac_add_options --with-float-abi=hard" >> .mozconfig
+echo "ac_add_options --with-fpu=vfpv3-d16" >> .mozconfig
+echo "ac_add_options --disable-elf-hack" >> .mozconfig
+%endif
+%ifarch armv7hnl
+echo "ac_add_options --with-arch=armv7-a" >> .mozconfig
+echo "ac_add_options --with-float-abi=hard" >> .mozconfig
+echo "ac_add_options --with-fpu=neon" >> .mozconfig
+echo "ac_add_options --disable-elf-hack" >> .mozconfig
+%endif
+%ifarch armv5tel
+echo "ac_add_options --with-arch=armv5te" >> .mozconfig
+echo "ac_add_options --with-float-abi=soft" >> .mozconfig
+echo "ac_add_options --disable-elf-hack" >> .mozconfig
 %endif
 
-%if !%{?separated_plugins}
-echo "ac_add_options --disable-ipc" >> .mozconfig
+%ifnarch %{ix86} x86_64
+echo "ac_add_options --disable-methodjit" >> .mozconfig
+echo "ac_add_options --disable-monoic" >> .mozconfig
+echo "ac_add_options --disable-polyic" >> .mozconfig
+echo "ac_add_options --disable-tracejit" >> .mozconfig
 %endif
 
 #---------------------------------------------------------------------
@@ -184,12 +215,15 @@ echo "ac_add_options --disable-ipc" >> .mozconfig
 %build
 cd %{tarballdir}
 
-INTERNAL_GECKO=%{version_internal}
-MOZ_APP_DIR=%{_libdir}/%{name}-${INTERNAL_GECKO}
-
+# -fpermissive is needed to build with gcc 4.6+ which has become stricter
+# 
 # Mozilla builds with -Wall with exception of a few warnings which show up
 # everywhere in the code; so, don't override that.
-MOZ_OPT_FLAGS=$(echo $RPM_OPT_FLAGS | %{__sed} -e 's/-Wall//')
+#
+# Disable C++ exceptions since Mozilla code is not exception-safe
+#
+MOZ_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS -fpermissive" | \
+                      %{__sed} -e 's/-Wall//' -e 's/-fexceptions/-fno-exceptions/g')
 export CFLAGS=$MOZ_OPT_FLAGS
 export CXXFLAGS=$MOZ_OPT_FLAGS
 
@@ -197,77 +231,34 @@ export PREFIX='%{_prefix}'
 export LIBDIR='%{_libdir}'
 
 MOZ_SMP_FLAGS=-j1
-%ifnarch ppc ppc64 s390 s390x
+# On x86 architectures, Mozilla can build up to 4 jobs at once in parallel,
+# however builds tend to fail on other arches when building in parallel.
+%ifarch %{ix86} x86_64
 [ -z "$RPM_BUILD_NCPUS" ] && \
      RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
-[ "$RPM_BUILD_NCPUS" -gt 1 ] && MOZ_SMP_FLAGS=-j2
+[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
+[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4
 %endif
 
-export LDFLAGS="-Wl,-rpath,${MOZ_APP_DIR}"
-make -f client.mk configure STRIP="/bin/true" MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
-make -f client.mk build STRIP="/bin/true" MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
-
-# build locales
-LOCALEDIRS=`find . -print | grep 'locales/Makefile$' | \
-            sed -e 's|\./\(.*\)/locales/.*|\1|g'`
-for dir in $LOCALEDIRS
-do
-  for lang in %{MOZ_BUILD_LOCALES} ; do
-    make -C $dir/locales AB_CD=$lang
-  done
-done
+make -f client.mk build STRIP="/bin/true" MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS" MOZ_SERVICES_SYNC="1"
 
 #---------------------------------------------------------------------
 
 %install
 cd %{tarballdir}
-%{__rm} -rf $RPM_BUILD_ROOT
-
-INTERNAL_GECKO=%{version_internal}
 
-INTERNAL_APP_NAME=%{name}-${INTERNAL_GECKO}
-MOZ_APP_DIR=%{_libdir}/${INTERNAL_APP_NAME}
-
-INTERNAL_APP_SDK_NAME=%{name}-sdk-${INTERNAL_GECKO}
-MOZ_APP_SDK_DIR=%{_libdir}/${INTERNAL_APP_SDK_NAME}
-
-# set up our default preferences
-%{__cat} %{SOURCE12} | %{__sed} -e 's,RPM_VERREL,%{version}-%{release},g' > vl-default-prefs
-%{__install} -p -D -m 644 vl-default-prefs $RPM_BUILD_ROOT/${MOZ_APP_DIR}/defaults/pref/all-vine.js
-%{__rm} vl-default-prefs
+# set up our prefs before install, so it gets pulled in to omni.jar
+%{__cp} -p %{SOURCE12} dist/bin/defaults/pref/all-redhat.js
 
 DESTDIR=$RPM_BUILD_ROOT make install
 
-%{__mkdir_p} $RPM_BUILD_ROOT/${MOZ_APP_DIR} \
-             $RPM_BUILD_ROOT%{_datadir}/idl/${INTERNAL_APP_SDK_NAME} \
-             $RPM_BUILD_ROOT%{_includedir}/${INTERNAL_APP_SDK_NAME}
-
-%{__mkdir_p} $RPM_BUILD_ROOT{%{_libdir},%{_bindir},%{_datadir}/applications}
-
 # Start script install
 %{__rm} -rf $RPM_BUILD_ROOT%{_bindir}/%{name}
-%{__cat} %{SOURCE21} | %{__sed} -e 's,XULRUNNER_VERSION,%{version_internal},g' > \
+%{__cat} %{SOURCE21} | %{__sed} -e 's,XULRUNNER_VERSION,%{gecko_dir_ver},g' > \
   $RPM_BUILD_ROOT%{_bindir}/%{name}
 %{__chmod} 755 $RPM_BUILD_ROOT%{_bindir}/%{name}
 
-%{__rm} -f $RPM_BUILD_ROOT${MOZ_APP_DIR}/%{name}-config
-
-cd $RPM_BUILD_ROOT${MOZ_APP_DIR}/chrome
-find . -name "*" -type d -maxdepth 1 -exec %{__rm} -rf {} \;
-cd -
-
-# install locales
-#for lang in %{MOZ_BUILD_LOCALES} ; do
-#  %{__install} -p -D -m 664 dist/bin/chrome/$lang.{jar,manifest} $RPM_BUILD_ROOT/${MOZ_APP_DIR}/chrome/
-#done
-
-# Prepare our devel package
-%{__mkdir_p} $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_SDK_NAME}
-%{__mkdir_p} $RPM_BUILD_ROOT/%{_datadir}/idl/${INTERNAL_APP_SDK_NAME}
-%{__mkdir_p} $RPM_BUILD_ROOT/%{_libdir}/pkgconfig
-
-%{__cp} -rL dist/include/* \
-  $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_SDK_NAME}
+%{__rm} -f $RPM_BUILD_ROOT%{mozappdir}/%{name}-config
 
 # Copy pc files (for compatibility with 1.9.1)
 %{__cp} $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/libxul.pc \
@@ -276,18 +267,12 @@ cd -
         $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/libxul-embedding-unstable.pc
 
 # Fix multilib devel conflicts...
-%ifarch x86_64 ia64 s390x ppc64
-%define mozbits 64
-%else
-%define mozbits 32
-%endif
-
 function install_file() {
 genheader=$*
-mv ${genheader}.h ${genheader}%{mozbits}.h
+mv ${genheader}.h ${genheader}%{__isa_bits}.h
 cat > ${genheader}.h << EOF
-// This file exists to fix multilib conflicts
-#if defined(__x86_64__) || defined(__ia64__) || defined(__s390x__) || defined(__powerpc64__)
+/* This file exists to fix multilib conflicts */
+#if defined(__x86_64__) || defined(__ia64__) || defined(__s390x__) || defined(__powerpc64__) || (defined(__sparc__) && defined(__arch64__))
 #include "${genheader}64.h"
 #else
 #include "${genheader}32.h"
@@ -295,108 +280,53 @@ cat > ${genheader}.h << EOF
 EOF
 }
 
-pushd $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_SDK_NAME}
+INTERNAL_APP_NAME=%{name}-%{gecko_dir_ver}
+
+pushd $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_NAME}
 install_file "mozilla-config"
-install_file "jsautocfg"
 install_file "js-config"
 popd
 
-%{__install} -p -c -m 755 dist/bin/xpcshell \
-  dist/bin/xpidl \
-  dist/bin/xpt_dump \
-  dist/bin/xpt_link \
-  $RPM_BUILD_ROOT/${MOZ_APP_DIR}
-
-%{__rm} -rf $RPM_BUILD_ROOT/%{_includedir}/${INTERNAL_APP_NAME}
-%{__rm} -rf $RPM_BUILD_ROOT/%{_datadir}/idl/${INTERNAL_APP_NAME}
-
-%{__rm} -rf $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/include
-ln -s  %{_includedir}/${INTERNAL_APP_SDK_NAME} \
-       $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/include
-
-%{__rm} -rf $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/idl
-ln -s  %{_datadir}/idl/${INTERNAL_APP_SDK_NAME} \
-       $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/idl
-
-%{__rm} -rf $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/sdk/include
-ln -s  %{_includedir}/${INTERNAL_APP_SDK_NAME} \
-       $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/sdk/include
-
-%{__rm} -rf $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/sdk/idl
-ln -s  %{_datadir}/idl/${INTERNAL_APP_SDK_NAME} \
-       $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/sdk/idl
-
-find $RPM_BUILD_ROOT/%{_includedir} -type f -name "*.h" | xargs chmod 644
-find $RPM_BUILD_ROOT/%{_datadir}/idl -type f -name "*.idl" | xargs chmod 644
-
-%{__rm} -rf $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/sdk/lib/*.so
-pushd $RPM_BUILD_ROOT${MOZ_APP_DIR}
+# Link libraries in sdk directory instead of copying them:
+pushd $RPM_BUILD_ROOT%{_libdir}/%{name}-devel-%{gecko_dir_ver}/sdk/lib
 for i in *.so; do
-    ln -s ${MOZ_APP_DIR}/$i $RPM_BUILD_ROOT${MOZ_APP_SDK_DIR}/sdk/lib/$i
+     rm $i
+     ln -s %{mozappdir}/$i $i
 done
 popd
 
-# GRE stuff
-%ifarch x86_64 ia64 ppc64 s390x
-%define gre_conf_file gre64.conf
-%else
-%define gre_conf_file gre.conf
-%endif
-
-MOZILLA_GECKO_VERSION=`./config/milestone.pl --topsrcdir=.`
-%{__mv} $RPM_BUILD_ROOT/etc/gre.d/$MOZILLA_GECKO_VERSION".system.conf" \
-        $RPM_BUILD_ROOT/etc/gre.d/%{gre_conf_file}
-sed -i -e "s/\[%{version}\]/\[$INTERNAL_GECKO\]/g" $RPM_BUILD_ROOT/etc/gre.d/%{gre_conf_file}
-chmod 644 $RPM_BUILD_ROOT/etc/gre.d/%{gre_conf_file}
-
 # Library path
-%ifarch x86_64 ia64 ppc64 s390x
-%define ld_conf_file xulrunner-64.conf
-%else
-%define ld_conf_file xulrunner-32.conf
-%endif
+LD_SO_CONF_D=%{_sysconfdir}/ld.so.conf.d
+LD_CONF_FILE=xulrunner-%{__isa_bits}.conf
 
-%{__mkdir_p} $RPM_BUILD_ROOT/etc/ld.so.conf.d
-%{__cat} > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{ld_conf_file} << EOF
-${MOZ_APP_DIR}
+%{__mkdir_p} ${RPM_BUILD_ROOT}${LD_SO_CONF_D}
+%{__cat} > ${RPM_BUILD_ROOT}${LD_SO_CONF_D}/${LD_CONF_FILE} << EOF
+%{mozappdir}
 EOF
-                        
-# Copy over the LICENSE
-%{__install} -p -c -m 644 LICENSE $RPM_BUILD_ROOT${MOZ_APP_DIR}
 
-# Use the system hunspell dictionaries
-%{__rm} -rf ${RPM_BUILD_ROOT}${MOZ_APP_DIR}/dictionaries
-ln -s %{_datadir}/myspell ${RPM_BUILD_ROOT}${MOZ_APP_DIR}/dictionaries
+# Copy over the LICENSE
+%{__install} -p -c -m 644 LICENSE $RPM_BUILD_ROOT%{mozappdir}
 
 # ghost files
-%{__mkdir_p} $RPM_BUILD_ROOT${MOZ_APP_DIR}/components
-touch $RPM_BUILD_ROOT${MOZ_APP_DIR}/components/compreg.dat
-touch $RPM_BUILD_ROOT${MOZ_APP_DIR}/components/xpti.dat
-
-#---------------------------------------------------------------------
-
-%clean
-%{__rm} -rf $RPM_BUILD_ROOT
+%{__mkdir_p} $RPM_BUILD_ROOT%{mozappdir}/components
+touch $RPM_BUILD_ROOT%{mozappdir}/components/compreg.dat
+touch $RPM_BUILD_ROOT%{mozappdir}/components/xpti.dat
 
 #---------------------------------------------------------------------
 
-%post
-/sbin/ldconfig
+%post -p /sbin/ldconfig
 
-%postun
-/sbin/ldconfig
+%postun -p /sbin/ldconfig
 
 %preun
 # is it a final removal?
 if [ $1 -eq 0 ]; then
-  %{__rm} -rf ${MOZ_APP_DIR}/components
+  %{__rm} -rf %{mozappdir}/components
 fi
 
 %files
 %defattr(-,root,root,-)
 %{_bindir}/xulrunner
-%dir /etc/gre.d
-/etc/gre.d/%{gre_conf_file}
 %dir %{mozappdir}
 %doc %attr(644, root, root) %{mozappdir}/LICENSE
 %doc %attr(644, root, root) %{mozappdir}/README.txt
@@ -407,48 +337,39 @@ fi
 %ghost %{mozappdir}/components/compreg.dat
 %ghost %{mozappdir}/components/xpti.dat
 %{mozappdir}/components/*.so
-#%{mozappdir}/components/*.xpt
 %{mozappdir}/components/*.manifest
-#%attr(644, root, root) %{mozappdir}/components/*.js
-%{mozappdir}/defaults
-%dir %{mozappdir}/icons
-%attr(644, root, root) %{mozappdir}/icons/*
-%{mozappdir}/omni.jar
-#%{mozappdir}/modules
+%{mozappdir}/omni.ja
 %{mozappdir}/plugins
-#%{mozappdir}/res
 %{mozappdir}/*.so
 %{mozappdir}/mozilla-xremote-client
 %{mozappdir}/run-mozilla.sh
 %{mozappdir}/xulrunner
 %{mozappdir}/xulrunner-bin
 %{mozappdir}/xulrunner-stub
-%if %{?separated_plugins}
-%{mozappdir}/plugin-container
-%endif
 %{mozappdir}/platform.ini
 %{mozappdir}/dependentlibs.list
-#%{mozappdir}/greprefs.js
 %{_sysconfdir}/ld.so.conf.d/xulrunner*.conf
-
-# XXX See if these are needed still
-%{mozappdir}/updater*
-%exclude %{mozappdir}/update.locale
+%{mozappdir}/plugin-container
 
 %files devel
 %defattr(-,root,root,-)
-%{_datadir}/idl/%{name}*%{version_internal}
-%{_includedir}/%{name}*%{version_internal}
-%{_libdir}/%{name}-sdk-*/
+%dir %{_libdir}/%{name}-devel-*
+%{_datadir}/idl/%{name}*%{gecko_dir_ver}
+%{_includedir}/%{name}*%{gecko_dir_ver}
+%{_libdir}/%{name}-devel-*/*
 %{_libdir}/pkgconfig/*.pc
 %{mozappdir}/xpcshell
-%{mozappdir}/xpidl
-%{mozappdir}/xpt_dump
-%{mozappdir}/xpt_link
 
 #---------------------------------------------------------------------
 
 %changelog
+* Sat Jul 14 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 10.0.6-1
+- update to 10.0.6 (based on firefox-10.0.6esr source)
+
+* Wed Mar 14 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 10.0.3-1
+- update to 10.0.3 (based on firefox-10.0.3esr source)
+- clean up spec
+
 * Sun Aug 14 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.0.1-3
 - rebuild with libnotify-0.7