From 54d6358a91f22be9dba00b04f820cbe56c4bf927 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20R=C4=99korajski?= Date: Sat, 12 Mar 2016 10:56:53 +0100 Subject: [PATCH] - back to Firefox name, obsolete Iceweasel - updated to 45.0, spec based on iceweasel.spec - rationale: follow Debian https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815006 --- ...irefox-Disable-Firefox-Health-Report.patch | 0 ....patch => firefox-middle_click_paste.patch | 0 ...ubshell.patch => firefox-no-subshell.patch | 0 ...nding.patch => firefox-pld-bookmarks.patch | 13 - ...firefox-prefs.patch => firefox-prefs.patch | 0 ...v.patch => firefox-system-virtualenv.patch | 0 mozilla-firefox.desktop => firefox.desktop | 8 +- firefox.sh | 40 ++ mozilla-firefox.spec => firefox.spec | 359 +++++++++++------- freetype.patch | 10 + idl-parser.patch | 56 +++ install-pc-files.patch | 59 +++ mozilla-firefox-packaging.patch | 310 --------------- mozilla-firefox.sh | 47 --- vendor-ac.js | 2 + vendor.js | 2 + xulrunner-new-libxul.patch | 12 + xulrunner-paths.patch | 17 + xulrunner-pc.patch | 40 ++ 19 files changed, 470 insertions(+), 505 deletions(-) rename mozilla-firefox-Disable-Firefox-Health-Report.patch => firefox-Disable-Firefox-Health-Report.patch (100%) rename mozilla-firefox-middle_click_paste.patch => firefox-middle_click_paste.patch (100%) rename mozilla-firefox-no-subshell.patch => firefox-no-subshell.patch (100%) rename mozilla-firefox-branding.patch => firefox-pld-bookmarks.patch (93%) rename mozilla-firefox-prefs.patch => firefox-prefs.patch (100%) rename mozilla-firefox-system-virtualenv.patch => firefox-system-virtualenv.patch (100%) rename mozilla-firefox.desktop => firefox.desktop (96%) create mode 100644 firefox.sh rename mozilla-firefox.spec => firefox.spec (61%) create mode 100644 freetype.patch create mode 100644 idl-parser.patch create mode 100644 install-pc-files.patch delete mode 100644 mozilla-firefox-packaging.patch delete mode 100644 mozilla-firefox.sh create mode 100644 xulrunner-new-libxul.patch create mode 100644 xulrunner-paths.patch create mode 100644 xulrunner-pc.patch diff --git a/mozilla-firefox-Disable-Firefox-Health-Report.patch b/firefox-Disable-Firefox-Health-Report.patch similarity index 100% rename from mozilla-firefox-Disable-Firefox-Health-Report.patch rename to firefox-Disable-Firefox-Health-Report.patch diff --git a/mozilla-firefox-middle_click_paste.patch b/firefox-middle_click_paste.patch similarity index 100% rename from mozilla-firefox-middle_click_paste.patch rename to firefox-middle_click_paste.patch diff --git a/mozilla-firefox-no-subshell.patch b/firefox-no-subshell.patch similarity index 100% rename from mozilla-firefox-no-subshell.patch rename to firefox-no-subshell.patch diff --git a/mozilla-firefox-branding.patch b/firefox-pld-bookmarks.patch similarity index 93% rename from mozilla-firefox-branding.patch rename to firefox-pld-bookmarks.patch index 24833e2..4c5b955 100644 --- a/mozilla-firefox-branding.patch +++ b/firefox-pld-bookmarks.patch @@ -1,16 +1,3 @@ ---- mozilla/build/application.ini.orig 2015-01-30 17:01:10.960362325 +0100 -+++ mozilla/build/application.ini 2015-01-30 17:20:49.073646218 +0100 -@@ -16,8 +16,8 @@ - #endif - #filter substitution - [App] --Vendor=@MOZ_APP_VENDOR@ --Name=@MOZ_APP_BASENAME@ -+Vendor= -+Name=Firefox Community Edition - RemotingName=@MOZ_APP_REMOTINGNAME@ - #ifdef MOZ_APP_DISPLAYNAME - CodeName=@MOZ_APP_DISPLAYNAME@ --- mozilla.orig/browser/locales/generic/profile/bookmarks.html.in 2009-06-24 10:20:29.000000000 +0200 +++ mozilla/browser/locales/generic/profile/bookmarks.html.in 2009-06-28 15:29:30.000000000 +0200 @@ -24,4 +24,12 @@ diff --git a/mozilla-firefox-prefs.patch b/firefox-prefs.patch similarity index 100% rename from mozilla-firefox-prefs.patch rename to firefox-prefs.patch diff --git a/mozilla-firefox-system-virtualenv.patch b/firefox-system-virtualenv.patch similarity index 100% rename from mozilla-firefox-system-virtualenv.patch rename to firefox-system-virtualenv.patch diff --git a/mozilla-firefox.desktop b/firefox.desktop similarity index 96% rename from mozilla-firefox.desktop rename to firefox.desktop index d7a120a..c515b2c 100644 --- a/mozilla-firefox.desktop +++ b/firefox.desktop @@ -1,6 +1,6 @@ [Desktop Entry] -Name=Firefox Community Edition -Name[pl]=Firefox Community Edition +Name=Firefox +Name[pl]=Firefox GenericName=Web Browser GenericName[af]=Web Blaaier GenericName[ar]=متصفح ويب @@ -70,8 +70,8 @@ GenericName[zh_TW]=網頁瀏覽器 GenericName[zu]=Umcingi we-Web Comment=Browse the Web powered by Mozilla technology Comment[pl]=Przeglądarka WWW oparta o technologię Mozilli -Exec=mozilla-firefox %u -Icon=mozilla-firefox +Exec=firefox %u +Icon=firefox Terminal=false MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; Type=Application diff --git a/firefox.sh b/firefox.sh new file mode 100644 index 0000000..e9a11de --- /dev/null +++ b/firefox.sh @@ -0,0 +1,40 @@ +#!/bin/sh +# based on script by (c) vip at linux.pl, wolf at pld-linux.org + +LIBDIR="@LIBDIR@/firefox" + +# copy profile from Iceweasel if its available and if no Firefox +# profile exists +if [ ! -d $HOME/.mozilla/firefox ]; then + if [ -d $HOME/.iceweasel ]; then + echo "Copying profile from Iceweasel" + cp -rf $HOME/.iceweasek $HOME/.mozilla/firefox + fi +fi + +# compreg.dat and/or chrome.rdf will screw things up if it's from an +# older version. http://bugs.gentoo.org/show_bug.cgi?id=63999 +for f in ~/.mozilla/firefox/*/{compreg.dat,chrome.rdf,XUL.mfasl}; do + if [[ -f ${f} && ${f} -ot /usr/bin/firefox ]]; then + echo "Removing ${f} leftover from older firefox" + rm -f "${f}" + fi +done + +FIREFOX="$LIBDIR/firefox" +PWD=${PWD:-$(pwd)} + +if [ -z "$1" ]; then + exec $FIREFOX +else + if [ -f "$PWD/$1" ]; then + URL="file://$PWD/$1" + else + URL="$1" + fi + if ! grep -q browser.tabs.opentabfor.middleclick.*false ~/.firefox/*/prefs.js; then + exec $FIREFOX -new-tab "$URL" + else + exec $FIREFOX -new-window "$URL" + fi +fi diff --git a/mozilla-firefox.spec b/firefox.spec similarity index 61% rename from mozilla-firefox.spec rename to firefox.spec index f58ee95..586174f 100644 --- a/mozilla-firefox.spec +++ b/firefox.spec @@ -1,47 +1,56 @@ -# NOTE: PLD distributes iceweasel instead -# # TODO: -# - (12:22:58) patrys: can you also move _libdir/mozilla-firefox to just _libdir/firefox? -# (12:23:25) patrys: it's not like we ship official firefox -# - fix wrapper script to allow playing with profiles (must not use -remote) +# - consider --enable-libproxy # # Conditional build: %bcond_with tests # enable tests (whatever they check) %bcond_with gtk3 # GTK+ 3.x instead of 2.x %bcond_without kerberos # disable krb5 support -%bcond_with xulrunner # system xulrunner [no longer supported] -%bcond_with shared_js # shared libmozjs library +%bcond_with pgo # PGO-enabled build (requires working $DISPLAY == :100) +# - disabled shared_js - https://bugzilla.mozilla.org/show_bug.cgi?id=1039964 +%bcond_with shared_js # shared libmozjs library [broken] + +# On updating version, grab CVE links from: +# https://www.mozilla.org/security/known-vulnerabilities/firefox.html +# Release Notes: +# https://developer.mozilla.org/en-US/Firefox/Releases -%if %{without xulrunner} # The actual sqlite version (see RHBZ#480989): %define sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo ERROR) -%endif %define nspr_ver 4.10.8 -%define nss_ver 3.18.1 - -Summary: Firefox Community Edition web browser -Summary(pl.UTF-8): Firefox Community Edition - przeglądarka WWW -Name: mozilla-firefox -Version: 38.0.1 -Release: 1 +%define nss_ver 3.19.2 + +Summary: Firefox web browser +Summary(hu.UTF-8): Firefox web böngésző +Summary(pl.UTF-8): Firefox - przeglądarka WWW +Name: firefox +Version: 45.0 +Release: 0.1 License: MPL v2.0 Group: X11/Applications/Networking -Source0: http://releases.mozilla.org/pub/mozilla.org/firefox/releases/%{version}/source/firefox-%{version}.source.tar.bz2 -# Source0-md5: 3c496e4ec072327b1ef2b820f15dff26 +Source0: http://releases.mozilla.org/pub/mozilla.org/firefox/releases/%{version}/source/firefox-%{version}.source.tar.xz +# Source0-md5: 09cbada824841f9e1d77f095e7cd02c1 Source3: %{name}.desktop Source4: %{name}.sh Source5: vendor.js Source6: vendor-ac.js -Patch0: %{name}-branding.patch -Patch7: %{name}-prefs.patch -Patch9: %{name}-no-subshell.patch -Patch11: %{name}-middle_click_paste.patch -Patch12: %{name}-packaging.patch -Patch13: %{name}-system-virtualenv.patch -Patch15: %{name}-Disable-Firefox-Health-Report.patch -URL: http://www.mozilla.org/projects/firefox/ +Patch1: idl-parser.patch +Patch2: xulrunner-new-libxul.patch +Patch3: xulrunner-paths.patch +Patch4: xulrunner-pc.patch +Patch5: install-pc-files.patch +Patch6: %{name}-prefs.patch +Patch7: %{name}-pld-bookmarks.patch +Patch8: %{name}-no-subshell.patch +Patch9: %{name}-middle_click_paste.patch +Patch11: %{name}-system-virtualenv.patch +Patch12: %{name}-Disable-Firefox-Health-Report.patch +Patch14: freetype.patch +URL: https://www.mozilla.org/firefox/ BuildRequires: OpenGL-devel +BuildRequires: ImageMagick +BuildRequires: ImageMagick-coder-png +BuildRequires: ImageMagick-coder-svg BuildRequires: alsa-lib-devel BuildRequires: automake BuildRequires: bzip2-devel @@ -66,10 +75,13 @@ BuildRequires: libicu-devel >= 50.1 # requires libjpeg-turbo implementing at least libjpeg 6b API BuildRequires: libjpeg-devel >= 6b BuildRequires: libjpeg-turbo-devel +# for rsvg-convert +BuildRequires: librsvg BuildRequires: libpng(APNG)-devel >= 0.10 BuildRequires: libpng-devel >= 2:1.6.16 BuildRequires: libstdc++-devel >= 6:4.4 BuildRequires: libvpx-devel >= 1.3.0 +BuildRequires: libxslt-progs >= 1.1.28 BuildRequires: nspr-devel >= 1:%{nspr_ver} BuildRequires: nss-devel >= 1:%{nss_ver} BuildRequires: pango-devel >= 1:1.22.0 @@ -79,86 +91,140 @@ BuildRequires: pkgconfig BuildRequires: pkgconfig(libffi) >= 3.0.9 BuildRequires: pulseaudio-devel BuildRequires: python-modules >= 1:2.5 +%{?with_pgo:BuildRequires: python-modules-sqlite} BuildRequires: python-simplejson BuildRequires: python-virtualenv >= 1.9.1-4 BuildRequires: readline-devel BuildRequires: rpm >= 4.4.9-56 BuildRequires: rpmbuild(macros) >= 1.601 -BuildRequires: sqlite3-devel >= 3.8.9 +BuildRequires: sed >= 4.0 +BuildRequires: sqlite3-devel >= 3.8.11.1-3 BuildRequires: startup-notification-devel >= 0.8 +BuildRequires: virtualenv BuildRequires: xorg-lib-libXScrnSaver-devel BuildRequires: xorg-lib-libXext-devel BuildRequires: xorg-lib-libXinerama-devel BuildRequires: xorg-lib-libXt-devel -%if %{with xulrunner} -BuildRequires: xulrunner-devel >= 2:%{version} -%endif +%{?with_pgo:BuildRequires: xorg-xserver-Xvfb} BuildRequires: zip BuildRequires: zlib-devel >= 1.2.3 +BuildConflicts: %{name}-devel < %{version} Requires(post): mktemp >= 1.5-18 Requires: browser-plugins >= 2.0 Requires: desktop-file-utils Requires: hicolor-icon-theme -%if %{with xulrunner} -%requires_eq_to xulrunner xulrunner-devel -%else -Requires: cairo >= 1.10.2-5 -Requires: dbus-glib >= 0.60 -Requires: glib2 >= 1:2.22 -%{!?with_gtk3:Requires: gtk+2 >= 2:2.18.0} -%{?with_gtk3:Requires: gtk+3 >= 3.4.0} -Requires: libjpeg-turbo -Requires: libpng >= 2:1.6.16 -Requires: libpng(APNG) >= 0.10 -Requires: libvpx >= 1.3.0 Requires: myspell-common Requires: nspr >= 1:%{nspr_ver} Requires: nss >= 1:%{nss_ver} -Requires: pango >= 1:1.22.0 -Requires: sqlite3 >= %{sqlite_build_version} -Requires: startup-notification >= 0.8 -%endif +Requires: %{name}-libs = %{version}-%{release} Provides: wwwbrowser +Obsoletes: iceweasel Obsoletes: mozilla-firebird +Obsoletes: mozilla-firefox Obsoletes: mozilla-firefox-lang-en < 2.0.0.8-3 Obsoletes: mozilla-firefox-libs -Conflicts: mozilla-firefox-lang-resources < %{version} +Obsoletes: xulrunner +Obsoletes: xulrunner-gnome +Conflicts: firefox-lang-resources < %{version} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define filterout_cpp -D_FORTIFY_SOURCE=[0-9]+ -# don't satisfy other packages (don't use %{name} here) -%define _noautoprovfiles %{_libdir}/mozilla-firefox -%if %{without xulrunner} +# don't satisfy other packages +%define _noautoprovfiles %{_libdir}/%{name} + # and as we don't provide them, don't require either -%define _noautoreq libmozalloc.so libmozjs.so libxul.so -%endif +%define _noautoreq libmozjs.so libxul.so %description -Firefox Community Edition is an open-source web browser, designed for -standards compliance, performance and portability. +Firefox is an open-source web browser, designed for standards +compliance, performance and portability. + +%description -l hu.UTF-8 +Firefox egy nyílt forrású webböngésző, hatékonyságra és +hordozhatóságra tervezve. %description -l pl.UTF-8 -Firefox Community Edition jest przeglądarką WWW rozpowszechnianą -zgodnie z ideami ruchu otwartego oprogramowania oraz tworzoną z myślą -o zgodności ze standardami, wydajnością i przenośnością. +Firefox jest przeglądarką WWW rozpowszechnianą zgodnie z ideami +ruchu otwartego oprogramowania oraz tworzoną z myślą o zgodności ze +standardami, wydajnością i przenośnością. + +%package libs +Summary: Firefox shared libraries +Summary(pl.UTF-8): Biblioteki współdzielone Firefoxa +Group: X11/Libraries +Requires: cairo >= 1.10.2-5 +Requires: dbus-glib >= 0.60 +Requires: glib2 >= 1:2.22 +%{!?with_gtk3:Requires: gtk+2 >= 2:2.18.0} +%{?with_gtk3:Requires: gtk+3 >= 3.4.0} +Requires: libjpeg-turbo +Requires: libpng >= 2:1.6.16 +Requires: libpng(APNG) >= 0.10 +Requires: libvpx >= 1.3.0 +Requires: pango >= 1:1.22.0 +Requires: sqlite3 >= %{sqlite_build_version} +Requires: startup-notification >= 0.8 +Provides: xulrunner-libs = 2:%{version}-%{release} +Obsoletes: iceweasel-libs +Obsoletes: xulrunner-libs + +%description libs +XULRunner shared libraries. + +%description libs -l pl.UTF-8 +Biblioteki współdzielone XULRunnera. + +%package devel +Summary: Headers for developing programs that will use Firefox +Summary(pl.UTF-8): Pliki nagłówkowe do tworzenia programów używających Firefox +Group: X11/Development/Libraries +Requires: %{name}-libs = %{version}-%{release} +Requires: nspr-devel >= 1:%{nspr_ver} +Requires: nss-devel >= 1:%{nss_ver} +Requires: python-ply +Provides: xulrunner-devel = 2:%{version}-%{release} +Obsoletes: iceweasel-devel +Obsoletes: mozilla-devel +Obsoletes: mozilla-firefox-devel +Obsoletes: seamonkey-devel +Obsoletes: xulrunner-devel + +%description devel +Firefox development package. + +%description devel -l pl.UTF-8 +Pakiet programistyczny Firefoxa. %prep -%setup -qc -mv -f mozilla-release mozilla -cd mozilla - -%patch0 -p1 +%setup -q + +# avoid using included headers (-I. is before HUNSPELL_CFLAGS) +%{__rm} extensions/spellcheck/hunspell/src/{*.hxx,hunspell.h} +# hunspell needed for factory including mozHunspell.h +echo 'LOCAL_INCLUDES += $(MOZ_HUNSPELL_CFLAGS)' >> extensions/spellcheck/src/Makefile.in + +%patch1 -p2 +%patch2 -p1 +%patch3 -p2 +%patch4 -p1 +%patch5 -p2 +%patch6 -p1 %patch7 -p1 -%patch9 -p2 +%patch8 -p2 +#%patch9 -p2 %patch11 -p2 %patch12 -p1 -%patch13 -p2 -%patch15 -p1 +%patch14 -p2 + +cp -a xulrunner/installer/*.pc.in browser/installer/ + +%if %{with pgo} +sed -i -e 's@__BROWSER_PATH__@"../../dist/bin/firefox-bin"@' build/automation.py.in +%endif %build -cd mozilla -cp -pf %{_datadir}/automake/config.* build/autoconf +cp -p %{_datadir}/automake/config.* build/autoconf cat << 'EOF' > .mozconfig . $topsrcdir/browser/config/mozconfig @@ -190,7 +256,6 @@ ac_add_options --enable-crash-on-assert %else ac_add_options --disable-debug ac_add_options --disable-debug-modules -ac_add_options --disable-logging ac_add_options --enable-optimize="%{rpmcflags} -Os" %endif ac_add_options --disable-strip @@ -200,7 +265,11 @@ ac_add_options --disable-install-strip ac_add_options --enable-tests ac_add_options --enable-mochitest %else +%if %{with pgo} +ac_add_options --enable-tests +%else ac_add_options --disable-tests +%endif ac_add_options --disable-mochitest %endif ac_add_options --disable-cpp-exceptions @@ -236,11 +305,9 @@ ac_add_options --enable-system-hunspell ac_add_options --enable-system-sqlite ac_add_options --enable-url-classifier ac_add_options --enable-xinerama +ac_add_options --enable-official-branding ac_add_options --with-default-mozilla-five-home=%{_libdir}/%{name} ac_add_options --with-distribution-id=org.pld-linux -%if %{with xulrunner} -ac_add_options --with-libxul-sdk=$(pkg-config --variable=sdkdir libxul) -%endif ac_add_options --with-pthreads ac_add_options --with-system-bz2 ac_add_options --with-system-icu @@ -255,66 +322,89 @@ ac_add_options --with-system-zlib ac_add_options --with-x EOF +%if %{with pgo} +D=$(( RANDOM % (200 - 100 + 1 ) + 5 )) +/usr/bin/Xvfb :${D} & +XVFB_PID=$! +[ -n "$XVFB_PID" ] || exit 1 +export DISPLAY=:${D} +%{__make} -j1 -f client.mk profiledbuild \ + DESTDIR=obj-%{_target_cpu}/dist \ + CC="%{__cc}" \ + CXX="%{__cxx}" \ + MOZ_MAKE_FLAGS="%{_smp_mflags}" +kill $XVFB_PID +%else %{__make} -j1 -f client.mk build \ CC="%{__cc}" \ CXX="%{__cxx}" \ MOZ_MAKE_FLAGS="%{_smp_mflags}" +%endif %install rm -rf $RPM_BUILD_ROOT -cd mozilla install -d \ $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}} \ $RPM_BUILD_ROOT%{_desktopdir} \ $RPM_BUILD_ROOT%{_datadir}/%{name}/browser \ - $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/plugins + $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/plugins \ + $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/{lib,bin} \ + $RPM_BUILD_ROOT%{_includedir}/%{name} \ + $RPM_BUILD_ROOT%{_datadir}/idl/%{name} \ + $RPM_BUILD_ROOT%{_pkgconfigdir} %browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/browser/plugins -%{__make} -C obj-%{_target_cpu}/browser/installer stage-package \ +cd obj-%{_target_cpu} +%{__make} -C browser/installer stage-package libxul.pc libxul-embedding.pc mozilla-js.pc mozilla-plugin.pc \ DESTDIR=$RPM_BUILD_ROOT \ installdir=%{_libdir}/%{name} \ + INSTALL_SDK=1 \ PKG_SKIP_STRIP=1 -cp -a obj-%{_target_cpu}/dist/firefox/* $RPM_BUILD_ROOT%{_libdir}/%{name}/ - -%if %{with xulrunner} -# >= 5.0 seems to require this -ln -s ../xulrunner $RPM_BUILD_ROOT%{_libdir}/%{name}/xulrunner -%endif +cp -aL browser/installer/*.pc $RPM_BUILD_ROOT%{_pkgconfigdir} +cp -aL dist/firefox/* $RPM_BUILD_ROOT%{_libdir}/%{name}/ +cp -aL dist/idl/* $RPM_BUILD_ROOT%{_datadir}/idl/%{name} +cp -aL dist/include/* $RPM_BUILD_ROOT%{_includedir}/%{name} +cp -aL dist/include/xpcom-config.h $RPM_BUILD_ROOT%{_libdir}/%{name}-devel +cp -aL dist/sdk/lib/* $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/lib +cp -aL dist/sdk/bin/* $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/bin +find $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk -name "*.pyc" | xargs rm -f + +ln -s %{_libdir}/%{name} $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/bin +ln -s %{_includedir}/%{name} $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/include +ln -s %{_datadir}/idl/%{name} $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/idl +ln -s %{_libdir}/%{name}-devel/sdk/lib $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/lib + +# replace copies with symlinks +%{?with_shared_js:ln -sf %{_libdir}/%{name}/libmozjs.so $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/lib/libmozjs.so} +ln -sf %{_libdir}/%{name}/libxul.so $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/lib/libxul.so +# temp fix for https://bugzilla.mozilla.org/show_bug.cgi?id=63955 +chmod a+rx $RPM_BUILD_ROOT%{_libdir}/%{name}-devel/sdk/bin/xpt.py # move arch independant ones to datadir mv $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/chrome $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/chrome mv $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/extensions $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/extensions mv $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/icons $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/icons -mv $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/searchplugins $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/searchplugins -%if %{without xulrunner} mv $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/defaults mv $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/defaults/{pref,preferences} -%else -mv $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/defaults $RPM_BUILD_ROOT%{_datadir}/%{name}/browser/defaults -%endif ln -s ../../../share/%{name}/browser/chrome $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/chrome ln -s ../../../share/%{name}/browser/defaults $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/defaults ln -s ../../../share/%{name}/browser/extensions $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/extensions ln -s ../../../share/%{name}/browser/icons $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/icons -ln -s ../../../share/%{name}/browser/searchplugins $RPM_BUILD_ROOT%{_libdir}/%{name}/browser/searchplugins -%if %{without xulrunner} %{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries ln -s %{_datadir}/myspell $RPM_BUILD_ROOT%{_libdir}/%{name}/dictionaries -%endif -sed 's,@LIBDIR@,%{_libdir},' %{SOURCE4} > $RPM_BUILD_ROOT%{_bindir}/mozilla-firefox -chmod 755 $RPM_BUILD_ROOT%{_bindir}/mozilla-firefox -ln -s mozilla-firefox $RPM_BUILD_ROOT%{_bindir}/firefox +sed 's,@LIBDIR@,%{_libdir},' %{SOURCE4} > $RPM_BUILD_ROOT%{_bindir}/firefox +chmod 755 $RPM_BUILD_ROOT%{_bindir}/firefox # install icons and desktop file -for i in 48 64; do +for i in 16 22 24 32 48 256; do install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/${i}x${i}/apps - cp -a browser/branding/unofficial/content/icon${i}.png \ - $RPM_BUILD_ROOT%{_iconsdir}/hicolor/${i}x${i}/apps/mozilla-firefox.png + cp -a ../browser/branding/official/default${i}.png \ + $RPM_BUILD_ROOT%{_iconsdir}/hicolor/${i}x${i}/apps/firefox.png done cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop @@ -350,19 +440,6 @@ chmod 755 $RPM_BUILD_ROOT%{_sbindir}/%{name}-chrome+xpcom-generate %clean rm -rf $RPM_BUILD_ROOT -%pretrans -if [ -d %{_libdir}/%{name}/browser/extensions ] && [ ! -L %{_libdir}/%{name}/browser/extensions ]; then - install -d %{_datadir}/%{name}/browser - if [ -e %{_datadir}/%{name}/browser/extensions ]; then - mv %{_datadir}/%{name}/browser/extensions{,.rpmsave} - fi - mv -v %{_libdir}/%{name}/browser/extensions %{_datadir}/%{name}/browser/extensions -fi -if [ -d %{_libdir}/%{name}/dictionaries ] && [ ! -L %{_libdir}/%{name}/dictionaries ]; then - mv -v %{_libdir}/%{name}/dictionaries{,.rpmsave} -fi -exit 0 - %post %{_sbindir}/%{name}-chrome+xpcom-generate %update_browser_plugins @@ -378,20 +455,19 @@ fi %files %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/%{name} -%attr(755,root,root) %{_bindir}/firefox %attr(755,root,root) %{_sbindir}/%{name}-chrome+xpcom-generate -%{_desktopdir}/mozilla-firefox.desktop -%{_iconsdir}/hicolor/*/apps/mozilla-firefox.png +%{_desktopdir}/firefox.desktop +%{_iconsdir}/hicolor/*/apps/firefox.png # browser plugins v2 %{_browserpluginsconfdir}/browsers.d/%{name}.* %config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist -%dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/browser %dir %{_libdir}/%{name}/browser/components %dir %{_libdir}/%{name}/browser/plugins +%dir %{_libdir}/%{name}/browser/features %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/browser @@ -399,16 +475,11 @@ fi %{_datadir}/%{name}/browser/chrome %{_datadir}/%{name}/browser/defaults %{_datadir}/%{name}/browser/icons -%{_datadir}/%{name}/browser/searchplugins # symlinks %{_libdir}/%{name}/browser/extensions %{_libdir}/%{name}/browser/chrome %{_libdir}/%{name}/browser/icons -%{_libdir}/%{name}/browser/searchplugins -%if %{with xulrunner} -%{_libdir}/%{name}/xulrunner -%endif %{_libdir}/%{name}/browser/defaults %attr(755,root,root) %{_libdir}/%{name}/firefox @@ -420,33 +491,59 @@ fi %{_libdir}/%{name}/browser/components/components.manifest %attr(755,root,root) %{_libdir}/%{name}/browser/components/libbrowsercomps.so # the signature of the default theme -%{_datadir}/%{name}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} +%{_datadir}/%{name}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi %{_libdir}/%{name}/browser/omni.ja %{_libdir}/%{name}/webapprt %attr(755,root,root) %{_libdir}/%{name}/webapprt-stub +%{_libdir}/%{name}/browser/features/loop@mozilla.org.xpi + # files created by firefox -register %ghost %{_libdir}/%{name}/browser/components/compreg.dat %ghost %{_libdir}/%{name}/browser/components/xpti.dat -%if %{without xulrunner} -# private xulrunner instance -%{_libdir}/%{name}/dependentlibs.list -%{_libdir}/%{name}/platform.ini -%dir %{_libdir}/%{name}/components -%{_libdir}/%{name}/components/components.manifest -%attr(755,root,root) %{_libdir}/%{name}/components/libdbusservice.so -%attr(755,root,root) %{_libdir}/%{name}/components/libmozgnome.so -%attr(755,root,root) %{_libdir}/%{name}/libmozalloc.so -%{?with_shared_js:%attr(755,root,root) %{_libdir}/%{name}/libmozjs.so} -%attr(755,root,root) %{_libdir}/%{name}/libxul.so %attr(755,root,root) %{_libdir}/%{name}/plugin-container %{_libdir}/%{name}/dictionaries -%{_libdir}/%{name}/chrome.manifest -%{_libdir}/%{name}/omni.ja %dir %{_libdir}/%{name}/gmp-clearkey %dir %{_libdir}/%{name}/gmp-clearkey/0.1 %{_libdir}/%{name}/gmp-clearkey/0.1/clearkey.info %attr(755,root,root) %{_libdir}/%{name}/gmp-clearkey/0.1/libclearkey.so -%endif + +%files libs +%defattr(644,root,root,755) +%dir %{_libdir}/%{name} +%{_libdir}/%{name}/platform.ini +%{?with_shared_js:%attr(755,root,root) %{_libdir}/%{name}/libmozjs.so} +%attr(755,root,root) %{_libdir}/%{name}/liblgpllibs.so +%attr(755,root,root) %{_libdir}/%{name}/libxul.so +%{_libdir}/%{name}/dependentlibs.list +%{_libdir}/%{name}/omni.ja + +%files devel +%defattr(644,root,root,755) +%{_includedir}/%{name} +%{_datadir}/idl/%{name} +%dir %{_libdir}/%{name}-devel +%{_libdir}/%{name}-devel/bin +%{_libdir}/%{name}-devel/idl +%{_libdir}/%{name}-devel/lib +%{_libdir}/%{name}-devel/include +%{_libdir}/%{name}-devel/*.h +%dir %{_libdir}/%{name}-devel/sdk +%{_libdir}/%{name}-devel/sdk/lib +%dir %{_libdir}/%{name}-devel/sdk/bin +%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/header.py +%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/run-mozilla.sh +%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/typelib.py +%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/xpcshell +%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/xpidl.py +%{_libdir}/%{name}-devel/sdk/bin/xpidllex.py +%{_libdir}/%{name}-devel/sdk/bin/xpidlyacc.py +%attr(755,root,root) %{_libdir}/%{name}-devel/sdk/bin/xpt.py +%{_libdir}/%{name}-devel/sdk/bin/ply + +%{_pkgconfigdir}/libxul.pc +%{_pkgconfigdir}/libxul-embedding.pc +%{_pkgconfigdir}/mozilla-js.pc +%{_pkgconfigdir}/mozilla-plugin.pc diff --git a/freetype.patch b/freetype.patch new file mode 100644 index 0000000..b68208e --- /dev/null +++ b/freetype.patch @@ -0,0 +1,10 @@ +--- iceweasel-41.0.1/mozilla/config/system-headers~ 2015-09-29 23:44:56.000000000 +0200 ++++ iceweasel-41.0.1/mozilla/config/system-headers 2015-10-13 22:19:29.758370730 +0200 +@@ -454,6 +454,7 @@ + frame/log.h + frame/req.h + freetype/freetype.h ++freetype/ftfntfmt.h + freetype/ftcache.h + freetype/ftglyph.h + freetype/ftsynth.h diff --git a/idl-parser.patch b/idl-parser.patch new file mode 100644 index 0000000..b5aa30d --- /dev/null +++ b/idl-parser.patch @@ -0,0 +1,56 @@ +--- xulrunner-10.0/mozilla/xpcom/idl-parser/xpidl/header.py.wiget 2012-02-09 16:26:27.074098583 +0100 ++++ xulrunner-10.0/mozilla/xpcom/idl-parser/xpidl/header.py 2012-02-09 16:28:01.250436455 +0100 +@@ -477,7 +477,7 @@ if __name__ == '__main__': + o = OptionParser() + o.add_option('-I', action='append', dest='incdirs', default=['.'], + help="Directory to search for imported files") +- o.add_option('--cachedir', dest='cachedir', default=None, ++ o.add_option('--cachedir', dest='cachedir', default='', + help="Directory in which to cache lex/parse tables.") + o.add_option('-o', dest='outfile', default=None, + help="Output file (default is stdout)") +@@ -488,7 +488,7 @@ if __name__ == '__main__': + options, args = o.parse_args() + file = args[0] if args else None + +- if options.cachedir is not None: ++ if options.cachedir != '': + if not os.path.isdir(options.cachedir): + os.mkdir(options.cachedir) + sys.path.append(options.cachedir) +@@ -498,7 +498,7 @@ if __name__ == '__main__': + + # The only thing special about a regen is that there are no input files. + if options.regen: +- if options.cachedir is None: ++ if options.cachedir == '': + print >>sys.stderr, "--regen useless without --cachedir" + sys.exit(0) + +--- xulrunner-10.0/mozilla/xpcom/idl-parser/xpidl/typelib.py.wiget 2012-02-09 16:31:01.826758036 +0100 ++++ xulrunner-10.0/mozilla/xpcom/idl-parser/xpidl/typelib.py 2012-02-09 16:32:26.473475659 +0100 +@@ -276,7 +276,7 @@ if __name__ == '__main__': + o = OptionParser() + o.add_option('-I', action='append', dest='incdirs', default=['.'], + help="Directory to search for imported files") +- o.add_option('--cachedir', dest='cachedir', default=None, ++ o.add_option('--cachedir', dest='cachedir', default='', + help="Directory in which to cache lex/parse tables.") + o.add_option('-o', dest='outfile', default=None, + help="Output file") +@@ -287,13 +287,13 @@ if __name__ == '__main__': + options, args = o.parse_args() + file = args[0] if args else None + +- if options.cachedir is not None: ++ if options.cachedir != '': + if not os.path.isdir(options.cachedir): + os.mkdir(options.cachedir) + sys.path.append(options.cachedir) + + if options.regen: +- if options.cachedir is None: ++ if options.cachedir == '': + print >>sys.stderr, "--regen requires --cachedir" + sys.exit(1) + diff --git a/install-pc-files.patch b/install-pc-files.patch new file mode 100644 index 0000000..99fb843 --- /dev/null +++ b/install-pc-files.patch @@ -0,0 +1,59 @@ +--- iceweasel-33.1.1/mozilla/browser/installer/Makefile.in.orig 2014-11-13 23:49:48.000000000 +0100 ++++ iceweasel-33.1.1/mozilla/browser/installer/Makefile.in 2014-11-26 21:30:58.839109076 +0100 +@@ -160,6 +160,56 @@ + rm -f $(DIST)/pack-list.txt $(DIST)/bin-list.txt + endif + ++# Add pkg-config files to the install:: target ++pkg_config_files = \ ++ libxul.pc \ ++ libxul-embedding.pc \ ++ mozilla-js.pc \ ++ mozilla-plugin.pc \ ++ $(NULL) ++ ++ifdef MOZ_NATIVE_NSPR ++NSPR_NAME=nspr ++NSPR_VERSION=$(shell $(NSPR_CONFIG) --version) ++else ++pkg_config_files += mozilla-nspr.pc ++NSPR_NAME=mozilla-nspr ++FULL_NSPR_CFLAGS=-I\$${includedir} ++FULL_NSPR_LIBS=$(subst $(prefix),\$${sdkdir},$(shell $(DEPTH)/nsprpub/config/nspr-config --libs)) ++NSPR_VERSION=$(shell $(DEPTH)/nsprpub/config/nspr-config --version) ++endif ++ ++MOZ_XUL_LINK = -lxpcomglue_s -lxul ++ifdef JS_SHARED_LIBRARY ++MOZ_JS_LINK = -lmozjs ++else ++FINDPATH=bin ++MOZ_JS_LINK = $(MOZ_XUL_LINK) ++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|%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)|" \ ++ -e "s|%MOZ_JS_LINK%|$(MOZ_JS_LINK)|" > $@ ++ chmod 644 $@ ++ ++install:: $(pkg_config_files) ++ @echo pkg_config_file: $(pkg_config_files) ++ $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(libdir)/pkgconfig ++ ++GARBAGE += $(pkg_config_files) ++ + installer:: + ifdef INSTALLER_DIR + $(MAKE) -C $(INSTALLER_DIR) diff --git a/mozilla-firefox-packaging.patch b/mozilla-firefox-packaging.patch deleted file mode 100644 index 6d43f06..0000000 --- a/mozilla-firefox-packaging.patch +++ /dev/null @@ -1,310 +0,0 @@ -diff -ruN mozilla-release.orig/browser/installer/package-manifest.in mozilla-release/browser/installer/package-manifest.in ---- mozilla-release.orig/browser/installer/package-manifest.in 2015-04-03 04:30:05.000000000 +0200 -+++ mozilla-release/browser/installer/package-manifest.in 2015-04-12 16:46:15.409547636 +0200 -@@ -44,14 +44,18 @@ - [@AB_CD@] - @RESPATH@/browser/chrome/@AB_CD@@JAREXT@ - @RESPATH@/browser/chrome/@AB_CD@.manifest -+#ifndef LIBXUL_SDK - @RESPATH@/chrome/@AB_CD@@JAREXT@ - @RESPATH@/chrome/@AB_CD@.manifest -+#endif - @RESPATH@/browser/defaults/profile/bookmarks.html - @RESPATH@/browser/defaults/profile/chrome/* - @RESPATH@/browser/defaults/profile/localstore.rdf - @RESPATH@/browser/defaults/profile/mimeTypes.rdf -+#ifndef LIBXUL_SDK - @RESPATH@/dictionaries/* - @RESPATH@/hyphenation/* -+#endif - @RESPATH@/browser/@PREF_DIR@/firefox-l10n.js - @RESPATH@/browser/searchplugins/* - #ifdef XP_WIN32 -@@ -63,7 +67,9 @@ - #endif - - [xpcom] -+#ifndef LIBXUL_SDK - @RESPATH@/dependentlibs.list -+#endif - #ifdef GKMEDIAS_SHARED_LIBRARY - @BINPATH@/@DLL_PREFIX@gkmedias@DLL_SUFFIX@ - #endif -@@ -72,8 +78,10 @@ - @BINPATH@/@DLL_PREFIX@mozglue@DLL_SUFFIX@ - #endif - #ifndef MOZ_STATIC_JS -+#ifndef LIBXUL_SDK - @BINPATH@/@DLL_PREFIX@mozjs@DLL_SUFFIX@ - #endif -+#endif - #ifdef MOZ_DMD - @BINPATH@/@DLL_PREFIX@dmd@DLL_SUFFIX@ - #endif -@@ -84,17 +92,23 @@ - @BINPATH@/@DLL_PREFIX@plds4@DLL_SUFFIX@ - #endif - #endif -+#ifndef LIBXUL_SDK - #ifdef XP_MACOSX - @BINPATH@/XUL - #else -+#ifndef LIBXUL_SDK - @BINPATH@/@DLL_PREFIX@xul@DLL_SUFFIX@ - #endif -+#endif -+#endif - #ifdef XP_MACOSX - @BINPATH@/@MOZ_CHILD_PROCESS_NAME@.app/ - @BINPATH@/@DLL_PREFIX@plugin_child_interpose@DLL_SUFFIX@ - #else -+#ifndef LIBXUL_SDK - @BINPATH@/@MOZ_CHILD_PROCESS_NAME@ - #endif -+#endif - #ifdef XP_WIN32 - @BINPATH@/plugin-hang-ui@BIN_SUFFIX@ - #if MOZ_PACKAGE_MSVC_DLLS -@@ -141,7 +155,9 @@ - #ifdef MOZ_UPDATER - @RESPATH@/update-settings.ini - #endif -+#ifndef LIBXUL_SDK - @RESPATH@/platform.ini -+#endif - #ifndef MOZ_NATIVE_SQLITE - #ifndef MOZ_FOLD_LIBS - @BINPATH@/@DLL_PREFIX@mozsqlite3@DLL_SUFFIX@ -@@ -156,6 +172,7 @@ - - ; [Components] - @RESPATH@/browser/components/components.manifest -+#ifndef LIBXUL_SDK - @RESPATH@/components/alerts.xpt - #ifdef ACCESSIBILITY - #ifdef XP_WIN32 -@@ -167,10 +184,12 @@ - @RESPATH@/components/appstartup.xpt - @RESPATH@/components/autocomplete.xpt - @RESPATH@/components/autoconfig.xpt -+#endif - @RESPATH@/components/browser-element.xpt - @RESPATH@/browser/components/browsercompsbase.xpt - @RESPATH@/browser/components/browser-feeds.xpt - @RESPATH@/browser/components/browsermodules.manifest -+#ifndef LIBXUL_SDK - @RESPATH@/components/caps.xpt - @RESPATH@/components/chrome.xpt - @RESPATH@/components/commandhandler.xpt -@@ -249,7 +268,9 @@ - @RESPATH@/components/filepicker.xpt - #endif - @RESPATH@/components/find.xpt -+#endif - @RESPATH@/browser/components/fuel.xpt -+#ifndef LIBXUL_SDK - @RESPATH@/components/gfx.xpt - @RESPATH@/components/html5.xpt - @RESPATH@/components/htmlparser.xpt -@@ -270,7 +291,9 @@ - @RESPATH@/components/layout_xul.xpt - @RESPATH@/components/locale.xpt - @RESPATH@/components/lwbrk.xpt -+#endif - @RESPATH@/browser/components/migration.xpt -+#ifndef LIBXUL_SDK - @RESPATH@/components/mimetype.xpt - @RESPATH@/components/mozfind.xpt - @RESPATH@/components/necko_about.xpt -@@ -307,12 +330,16 @@ - @RESPATH@/components/rdf.xpt - @RESPATH@/components/satchel.xpt - @RESPATH@/components/saxparser.xpt -+#endif - @RESPATH@/browser/components/sessionstore.xpt -+#ifndef LIBXUL_SDK - @RESPATH@/components/services-crypto-component.xpt - #ifdef MOZ_CAPTIVEDETECT - @RESPATH@/components/captivedetect.xpt - #endif -+#endif - @RESPATH@/browser/components/shellservice.xpt -+#ifndef LIBXUL_SDK - @RESPATH@/components/shistory.xpt - @RESPATH@/components/spellchecker.xpt - @RESPATH@/components/storage.xpt -@@ -354,8 +381,10 @@ - @RESPATH@/components/xultmpl.xpt - @RESPATH@/components/zipwriter.xpt - @RESPATH@/components/telemetry.xpt -+#endif - - ; JavaScript components -+#ifndef LIBXUL_SDK - @RESPATH@/components/ChromeNotifications.js - @RESPATH@/components/ChromeNotifications.manifest - @RESPATH@/components/ConsoleAPI.manifest -@@ -364,6 +393,7 @@ - @RESPATH@/components/BrowserElementParent.js - @RESPATH@/components/FeedProcessor.manifest - @RESPATH@/components/FeedProcessor.js -+#endif - @RESPATH@/browser/components/BrowserFeeds.manifest - @RESPATH@/browser/components/FeedConverter.js - @RESPATH@/browser/components/FeedWriter.js -@@ -385,6 +415,7 @@ - @RESPATH@/browser/components/Experiments.manifest - @RESPATH@/browser/components/ExperimentsService.js - @RESPATH@/browser/components/translation.manifest -+#ifndef LIBXUL_SDK - @RESPATH@/components/Downloads.manifest - @RESPATH@/components/DownloadLegacy.js - @RESPATH@/components/BrowserPageThumbs.manifest -@@ -436,12 +469,16 @@ - @RESPATH@/components/ProcessSingleton.manifest - @RESPATH@/components/MainProcessSingleton.js - @RESPATH@/components/ContentProcessSingleton.js -+#endif - @RESPATH@/browser/components/nsSessionStore.manifest - @RESPATH@/browser/components/nsSessionStartup.js - @RESPATH@/browser/components/nsSessionStore.js -+#ifndef LIBXUL_SDK - @RESPATH@/components/nsURLFormatter.manifest - @RESPATH@/components/nsURLFormatter.js -+#endif - @RESPATH@/browser/components/@DLL_PREFIX@browsercomps@DLL_SUFFIX@ -+#ifndef LIBXUL_SDK - @RESPATH@/components/txEXSLTRegExFunctions.manifest - @RESPATH@/components/txEXSLTRegExFunctions.js - @RESPATH@/components/toolkitplaces.manifest -@@ -476,6 +515,7 @@ - @RESPATH@/components/FormAutofillStartup.js - @RESPATH@/components/contentAreaDropListener.manifest - @RESPATH@/components/contentAreaDropListener.js -+#endif - @RESPATH@/browser/components/BrowserProfileMigrators.manifest - @RESPATH@/browser/components/ProfileMigrator.js - @RESPATH@/browser/components/ChromeProfileMigrator.js -@@ -487,6 +527,7 @@ - #ifdef XP_MACOSX - @RESPATH@/browser/components/SafariProfileMigrator.js - #endif -+#ifndef LIBXUL_SDK - #ifdef MOZ_ENABLE_DBUS - @RESPATH@/components/@DLL_PREFIX@dbusservice@DLL_SUFFIX@ - #endif -@@ -612,19 +653,24 @@ - @RESPATH@/components/TestInterfaceJS.js - @RESPATH@/components/TestInterfaceJS.manifest - #endif -+#endif - - ; Modules - @RESPATH@/browser/modules/* -+#ifndef LIBXUL_SDK - @RESPATH@/modules/* -+#endif - - ; Safe Browsing - #ifdef MOZ_URL_CLASSIFIER -+#ifndef LIBXUL_SDK - @RESPATH@/components/nsURLClassifier.manifest - @RESPATH@/components/nsUrlClassifierHashCompleter.js - @RESPATH@/components/nsUrlClassifierListManager.js - @RESPATH@/components/nsUrlClassifierLib.js - @RESPATH@/components/url-classifier.xpt - #endif -+#endif - - ; ANGLE GLES-on-D3D rendering library - #ifdef MOZ_ANGLE_RENDERER -@@ -652,10 +698,12 @@ - #endif - @RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf - @RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png -+#ifndef LIBXUL_SDK - @RESPATH@/chrome/toolkit@JAREXT@ - @RESPATH@/chrome/toolkit.manifest - @RESPATH@/chrome/recording.manifest - @RESPATH@/chrome/recording/* -+#endif - #ifdef MOZ_GTK - @RESPATH@/browser/chrome/icons/default/default16.png - @RESPATH@/browser/chrome/icons/default/default32.png -@@ -683,9 +731,11 @@ - ; All the pref files must be part of base to prevent migration bugs - @RESPATH@/browser/@PREF_DIR@/firefox.js - @RESPATH@/browser/@PREF_DIR@/firefox-branding.js -+#ifndef LIBXUL_SDK - @RESPATH@/greprefs.js - @RESPATH@/defaults/autoconfig/platform.js - @RESPATH@/defaults/autoconfig/prefcalls.js -+#endif - @RESPATH@/browser/defaults/profile/prefs.js - - #ifndef LIBXUL_SDK -@@ -695,7 +745,7 @@ - @RESPATH@/defaults/pref/channel-prefs.js - #else - ; For Fx-on-xr, channel-prefs lives with the app preferences. (Bug 762588) --@RESPATH@/@PREF_DIR@/channel-prefs.js -+@RESPATH@/browser/@PREF_DIR@/channel-prefs.js - #endif - - ; Services (gre) prefs -@@ -703,11 +753,14 @@ - @RESPATH@/defaults/pref/services-notifications.js - #endif - #ifdef MOZ_SERVICES_SYNC -+#ifndef LIBXUL_SDK - @RESPATH@/defaults/pref/services-sync.js - #endif -+#endif - - ; [Layout Engine Resources] - ; Style Sheets, Graphics and other Resources used by the layout engine. -+#ifndef LIBXUL_SDK - @RESPATH@/res/EditorOverride.css - @RESPATH@/res/contenteditable.css - @RESPATH@/res/designmode.css -@@ -745,11 +798,14 @@ - #ifdef XP_MACOSX - @RESPATH@/res/MainMenu.nib/ - #endif -+#endif - - ; svg -+#ifndef LIBXUL_SDK - @RESPATH@/res/svg.css - @RESPATH@/components/dom_svg.xpt - @RESPATH@/components/dom_smil.xpt -+#endif - - ; [Personal Security Manager] - ; -@@ -770,11 +826,13 @@ - #endif - @BINPATH@/@DLL_PREFIX@softokn3@DLL_SUFFIX@ - #endif -+#ifndef LIBXUL_SDK - @RESPATH@/chrome/pippki@JAREXT@ - @RESPATH@/chrome/pippki.manifest - @RESPATH@/components/pipboot.xpt - @RESPATH@/components/pipnss.xpt - @RESPATH@/components/pippki.xpt -+#endif - - ; For process sandboxing - #if defined(MOZ_SANDBOX) -@@ -887,9 +945,11 @@ - @RESPATH@/metro/modules - #endif - -+#ifndef LIBXUL_SDK - @RESPATH@/components/DataStore.manifest - @RESPATH@/components/DataStoreImpl.js - @RESPATH@/components/dom_datastore.xpt -+#endif - - ; Shutdown Terminator - @RESPATH@/components/nsTerminatorTelemetry.js diff --git a/mozilla-firefox.sh b/mozilla-firefox.sh deleted file mode 100644 index 870f875..0000000 --- a/mozilla-firefox.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# based on script by (c) vip at linux.pl, wolf at pld-linux.org - -LIBDIR="@LIBDIR@/mozilla-firefox" - -# compreg.dat and/or chrome.rdf will screw things up if it's from an -# older version. http://bugs.gentoo.org/show_bug.cgi?id=63999 -for f in ~/{.,.mozilla/}firefox/*/{compreg.dat,chrome.rdf,XUL.mfasl}; do - if [[ -f ${f} && ${f} -ot /usr/bin/mozilla-firefox ]]; then - echo "Removing ${f} leftover from older firefox" - rm -f "${f}" - fi -done - -FIREFOX="$LIBDIR/firefox" -PWD=${PWD:-$(pwd)} - -if [ "$1" = "-remote" ]; then - exec $FIREFOX "$@" -else - if ! $FIREFOX -remote 'ping()' 2>/dev/null; then - if [ -f "$PWD/$1" ]; then - exec $FIREFOX "file://$PWD/$1" - else - exec $FIREFOX "$@" - fi - else - if [ -z "$1" ]; then - exec $FIREFOX -remote 'xfeDoCommand(openBrowser)' - elif [ "$1" = "-mail" ]; then - exec $FIREFOX -remote 'xfeDoCommand(openInbox)' - elif [ "$1" = "-compose" ]; then - exec $FIREFOX -remote 'xfeDoCommand(composeMessage)' - else - if [ -f "$PWD/$1" ]; then - URL="file://$PWD/$1" - else - URL="$1" - fi - if ! grep -q 'browser\.tabs\.opentabfor\.middleclick.*false' ~/.mozilla/firefox/*/prefs.js ; then - exec $FIREFOX -new-tab "$URL" - else - exec $FIREFOX -new-window "$URL" - fi - fi - fi -fi diff --git a/vendor-ac.js b/vendor-ac.js index 2b4cf82..9312cb3 100644 --- a/vendor-ac.js +++ b/vendor-ac.js @@ -6,3 +6,5 @@ pref("general.useragent.compatMode.firefox", true); pref("distribution.searchplugins.defaultLocale", "en-US"); // Forbid application updates lockPref("app.update.enabled", false); +// POODLE protection, CVE-2014-3566 +pref("security.tls.version.min", 1); diff --git a/vendor.js b/vendor.js index 2eabbe1..6bf1b78 100644 --- a/vendor.js +++ b/vendor.js @@ -6,3 +6,5 @@ pref("general.useragent.compatMode.firefox", true); pref("distribution.searchplugins.defaultLocale", "en-US"); // Forbid application updates lockPref("app.update.enabled", false); +// POODLE protection, CVE-2014-3566 +pref("security.tls.version.min", 1); diff --git a/xulrunner-new-libxul.patch b/xulrunner-new-libxul.patch new file mode 100644 index 0000000..f4a527c --- /dev/null +++ b/xulrunner-new-libxul.patch @@ -0,0 +1,12 @@ +diff -ruNp mozilla.orig/toolkit/mozapps/installer/packager.py mozilla/toolkit/mozapps/installer/packager.py +--- mozilla.orig/toolkit/mozapps/installer/packager.py 2015-04-03 04:30:06.000000000 +0200 ++++ mozilla/toolkit/mozapps/installer/packager.py 2015-04-10 14:52:45.133163567 +0200 +@@ -152,7 +152,7 @@ def precompile_cache(formatter, source_p + os.remove(cache) + + try: +- extra_env = {'MOZ_STARTUP_CACHE': cache} ++ extra_env = {'MOZ_STARTUP_CACHE': cache, 'LD_PRELOAD': os.path.join(gre_path, 'libxul.so')} + if buildconfig.substs.get('MOZ_TSAN'): + extra_env['TSAN_OPTIONS'] = 'report_bugs=0' + if launcher.launch(['xpcshell', '-g', gre_path, '-a', app_path, diff --git a/xulrunner-paths.patch b/xulrunner-paths.patch new file mode 100644 index 0000000..8064c68 --- /dev/null +++ b/xulrunner-paths.patch @@ -0,0 +1,17 @@ +--- xulrunner-29.0/mozilla/config/baseconfig.mk~ 2012-10-10 23:42:45.000000000 +0200 ++++ xulrunner-29.0/mozilla/config/baseconfig.mk 2012-10-23 23:56:58.222368136 +0200 +@@ -2,10 +2,10 @@ + # directly in python/mozbuild/mozbuild/base.py for gmake validation. + # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending + # whether a normal build is happening or whether the check is running. +-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) ++includedir := $(includedir)/$(MOZ_APP_NAME) ++idldir = $(datadir)/idl/$(MOZ_APP_NAME) ++installdir = $(libdir)/$(MOZ_APP_NAME) ++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel + ifeq (.,$(DEPTH)) + DIST = dist + else diff --git a/xulrunner-pc.patch b/xulrunner-pc.patch new file mode 100644 index 0000000..0314e66 --- /dev/null +++ b/xulrunner-pc.patch @@ -0,0 +1,40 @@ +diff -urN mozilla-2.0/xulrunner/installer/libxul-embedding.pc.in mozilla-2.0.new/xulrunner/installer/libxul-embedding.pc.in +--- mozilla-2.0/xulrunner/installer/libxul-embedding.pc.in 2011-03-19 00:34:14.000000000 +0100 ++++ mozilla-2.0.new/xulrunner/installer/libxul-embedding.pc.in 2011-03-23 16:24:51.283327032 +0100 +@@ -6,5 +6,6 @@ + Name: libxul-embedding + Description: Static library for version-independent embedding of the Mozilla runtime + Version: %MOZILLA_VERSION% ++Requires: %NSPR_NAME% >= %NSPR_VERSION% + Libs: -L${sdkdir}/lib -lxpcomglue -ldl + Cflags: -DXPCOM_GLUE -I${includedir} %WCHAR_CFLAGS% +diff -urN mozilla-2.0/xulrunner/installer/libxul.pc.in mozilla-2.0.new/xulrunner/installer/libxul.pc.in +--- mozilla-2.0/xulrunner/installer/libxul.pc.in 2011-03-19 00:34:14.000000000 +0100 ++++ mozilla-2.0.new/xulrunner/installer/libxul.pc.in 2011-03-23 16:25:09.856665406 +0100 +@@ -1,5 +1,6 @@ + prefix=%prefix% + sdkdir=%sdkdir% ++libdir=%libdir% + includedir=%includedir% + idldir=%idldir% + +diff -urN mozilla-2.0/xulrunner/installer/Makefile.in mozilla-2.0.new/xulrunner/installer/Makefile.in +--- mozilla-2.0/xulrunner/installer/Makefile.in 2011-03-19 00:34:14.000000000 +0100 ++++ mozilla-2.0.new/xulrunner/installer/Makefile.in 2011-03-23 16:24:31.433331250 +0100 +@@ -121,6 +121,7 @@ + -e "s|%includedir%|$(includedir)|" \ + -e "s|%idldir%|$(idldir)|" \ + -e "s|%sdkdir%|$(sdkdir)|" \ ++ -e "s|%libdir%|$(installdir)|" \ + -e "s|%MOZ_APP_NAME%|$(MOZ_APP_NAME)|" \ + -e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \ + -e "s|%WCHAR_CFLAGS%|$(WCHAR_CFLAGS)|" \ +diff -urN mozilla-2.0/xulrunner/installer/mozilla-js.pc.in mozilla-2.0.new/xulrunner/installer/mozilla-js.pc.in +--- mozilla-2.0/xulrunner/installer/mozilla-js.pc.in 2011-03-19 00:34:14.000000000 +0100 ++++ mozilla-2.0.new/xulrunner/installer/mozilla-js.pc.in 2011-03-23 16:26:25.390008869 +0100 +@@ -7,4 +7,4 @@ + Version: %MOZILLA_VERSION% + Requires: %NSPR_NAME% >= %NSPR_VERSION% + Libs: -L${sdkdir}/lib %MOZ_JS_LINK% +-Cflags: -I${includedir} -DXP_UNIX ++Cflags: -I${includedir} -I${includedir}/js -DXP_UNIX -- 2.44.0