# # $Id: firefox.spec,v 1.0 2004/10/21 15:48:39 legion Exp $ # #set_verify_elf_method relaxed %def_without debug %def_with svg %def_without xprint %def_with branding %def_with nspr %def_with nss %def_without libxul %if_with debug %set_strip_method none %endif # debug Summary: The Mozilla Firefox project is a redesign of Mozilla's browser Name: %firefox_name Version: %firefox_version Release: %firefox_release License: MPL/GPL Group: Networking/WWW URL: http://www.mozilla.org/projects/firefox/ Packager: Alexey Gladkov Source0: %name-source.tar Source1: %name-icons.tar Source3: %name-build-scripts.tar Source7: %name-searchplugins-addon-1.0.tar Source9: %name-0.9-alt-ssl-addon-certs.txt Source10: %name.desktop Source11: %name-midration.sh Source12: fix_headers.sh Patch5: firefox-alt-convas-libs.patch Patch6: firefox-1.5.0.3-alt-plugins-path.patch Patch7: firefox-1.0-alt-url-handler.patch Patch8: firefox-alt-prefs-tuning.patch Patch9: firefox-alt-extensions-dir.patch Patch10: firefox-1.5.0.1-alt-asm-directive.patch Patch11: firefox-alt-install-paths-fix.patch Patch12: thunderbird-1.5-embedding-linker-fix.patch Patch16: firefox-1.5b1-alt-cairo-build-fix.patch Patch17: firefox-alt-system-nspr-flags.patch # https://bugzilla.mozilla.org/show_bug.cgi?id=252033 Patch19: firefox-1.5.0.6-gtk2+xft-xrender-workaround.patch Patch20: firefox-2.0.0.1-pango-printing.patch Patch21: mozilla-alt-default-x11-path.patch Patch31: firefox-nopangoxft.patch Patch32: firefox-2.0-alt-allow-x86_64-host-build.patch # Debian patches Patch40: 01_icons.dpatch Patch43: 01_system_bz2.dpatch Patch46: 80_xpidl.dpatch BuildRequires(pre): rpm-build-firefox # Automatically added by buildreq on Tue Jul 13 2004 BuildRequires: xorg-x11-libs doxygen fontconfig-devel freetype2-devel libXt-devel libXext-devel BuildRequires: gcc-c++ glib2-devel libIDL-devel libatk-devel libgtk+2-devel libjpeg-devel BuildRequires: libpango-devel libpng-devel libstdc++-devel pkgconfig unzip zip zlib-devel BuildRequires: chrpath browser-plugins-npapi-devel BuildRequires: autoconf_2.13 %set_autoconf_version 2.13 %{?_with_nspr:BuildRequires: libnspr-devel} %{?_with_nspr:Requires: libnspr} %{?_with_nss:BuildRequires: libnss-devel libnss-devel-static} %{?_with_nss:Requires: libnss} %{?_with_svg:BuildRequires: cairo-devel} %{?_with_xprint:Requires: xorg-x11-xprt} Requires: gtk+2 >= 2.2.0 url_handler >= 0.2.1-alt2 freetype2 indexhtml browser-plugins-npapi zip Provides: webclient Conflicts: firefox < 1.5 %description The Mozilla Firefox project is a redesign of Mozilla's browser component, written using the XUL user interface language and designed to be cross-platform. %package devel Summary: The Mozilla Firefox development files Group: Development/Other PreReq: rpm-build-firefox = %version-%release Requires: %name = %version-%release %{?_with_nss:Requires: libnss-devel} %{?_with_nspr:Requires: libnspr-devel} %description devel The Mozilla Firefox development files %prep %setup -q -n %name-%version -c %setup -q -n %name-%version/mozilla -T -D -a1 %setup -q -n %name-%version/mozilla -T -D -a3 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 -b .prefs %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch16 -p1 # System NSPR %patch17 -p1 %patch19 -p0 %patch20 -p0 %patch21 -p1 %patch31 -p1 %patch32 -p2 %patch40 -p1 %patch43 -p1 %patch46 -p1 %if_without nss # additional CA certificates cd %_builddir/%name-%version/mozilla/security/nss/lib/ckfw/builtins cat %SOURCE9 >> certdata.txt %make generate cd - %endif %build %add_optflags %optflags_shared %add_findprov_lib_path %firefox_prefix %__subst 's|AC_CONFIG_AUX_DIR(\${srcdir}/build/autoconf)|AC_CONFIG_AUX_DIR(build/autoconf)|' configure.in %__autoconf # Add fake RPATH rpath="/$(printf %%s '%firefox_prefix' |tr '[:print:]' '_')" export LDFLAGS="$LDFLAGS -Wl,-rpath,$rpath" export LIBIDL_CONFIG=/usr/bin/libIDL-config-2 %configure \ --includedir=%_includedir \ --disable-ldap \ --disable-mailnews \ --disable-composer \ --disable-tests \ --disable-freetype2 \ --disable-installer \ --disable-updater \ --disable-gtktest \ --enable-application=browser \ --enable-necko-protocols=default \ --enable-extensions=default \ --enable-safe-browsing \ --enable-url-classifier \ --enable-crypto \ --enable-xft \ --enable-default-toolkit=gtk2 \ --enable-reorder \ --enable-shared \ --enable-canvas \ --enable-optimize="-O2" \ %ifnarch x86_64 --enable-elf-dynstr-gc \ %endif # x86_64 %if_with debug --disable-strip \ --enable-debug \ --enable-debug-modules \ --enable-logrefcnt \ --enable-debugger-info-modules \ --enable-detect-webshell-leaks \ %else --enable-strip \ --disable-debug \ %endif # debug %if_with svg --enable-svg \ --enable-system-cairo \ --enable-svg-renderer=cairo \ %endif # svg %if_with xprint --enable-xprint \ --disable-postscript \ %else --disable-xprint \ %endif # xprint %if_with branding --enable-branding \ --enable-official-branding \ %endif %if_with libxul --enable-libxul \ %endif # libxul \ %if_with nspr --with-system-nspr \ %endif # nspr \ %if_with nss --with-system-nss \ %endif # nss \ --with-system-jpeg \ --with-system-png \ --with-system-zlib \ --with-pthreads \ # %make_build %install %__mkdir_p \ %buildroot/%firefox_arch_extensionsdir \ %buildroot/%firefox_noarch_extensionsdir \ # %makeinstall \ idldir=%buildroot/%firefox_idldir \ includedir=%buildroot/%firefox_includedir \ mozappdir=%buildroot/%firefox_prefix \ # %SOURCE12 %_includedir %buildroot/%firefox_includedir # icons %__install -D -m 644 mozicon48.png %buildroot/%_liconsdir/%name.png %__install -D -m 644 mozicon32.png %buildroot/%_iconsdir/%name.png %__install -D -m 644 mozicon16.png %buildroot/%_miconsdir/%name.png # install menu file %__install -D -m 644 %SOURCE10 %buildroot/%_datadir/applications/%name.desktop %__tar -xC "%buildroot/%firefox_prefix" -f %SOURCE7 %__install -m 755 %SOURCE11 %buildroot/%firefox_initd/S00firefox-midration.sh # update plugins %__subst 's,@PLUGIN_PATH@,%browser_plugins_path,' %buildroot/%firefox_exec %if_without nspr # We must rename some file to remove comflicts between Mozilla, Firefox and Thunderbird pÁckages. find %buildroot/%_datadir/aclocal -type f -execdir %__mv -f \{\} %name-\{\} \; %endif # make devel source packege to build extensions %__mkdir_p %buildroot/%firefox_usrsrc find %buildroot/%firefox_prefix \ %buildroot/%firefox_includedir \ %buildroot/%firefox_idldir \ -follow -xtype f |sed -e 's|^%buildroot||' > ./%name-content-index %__tar -jcf %buildroot/%firefox_usrsrc/sources.tar.bz2 \ ./makemake.sh ./build_dist.sh find_install.sh \ ./%name-content-index \ ./build \ ./config \ ./browser \ ./mozilla-config.h # Add real RPATH rpath="/$(printf %%s '%firefox_prefix' |tr '[:print:]' '_')" find "%buildroot/%firefox_prefix" -type f | while read f; do %__file "$f" | grep -qs ELF || continue if chrpath -l "$f" | fgrep -qs "RPATH=$rpath"; then chrpath -r "%firefox_prefix" "$f" fi done %pre if [ -L "%_libdir/%name" ]; then d="$(readlink -ev "%_libdir/%name" 2>/dev/null)" && rm -rf -- "%_libdir/%name" "$d" ||: fi if [ -L "%_datadir/%name" ]; then d="$(readlink -ev "%_datadir/%name" 2>/dev/null)" && rm -rf -- "%_datadir/%name" "$d" ||: fi %preun if [ "$1" = "0" ]; then [ ! -d "%firefox_noarch_extensionsdir" ] || %__rm -rf "%firefox_noarch_extensionsdir" [ ! -d "%firefox_arch_extensionsdir" ] || %__rm -rf "%firefox_arch_extensionsdir" [ ! -d "%firefox_componentsdir" ] || %__rm -rf "%firefox_componentsdir" [ ! -d "%firefox_updatesdir" ] || %__rm -rf "%firefox_updatesdir" fi %post %update_menus %postun %clean_menus %files %firefox_exec %firefox_libdir %firefox_datadir %defattr(0644,root,root,0755) %_datadir/applications/%name.desktop %_iconsdir/%name.png %_miconsdir/%name.png %_liconsdir/%name.png %doc LEGAL LICENSE # To other package %exclude %firefox_libdir/regxpcom %exclude %firefox_libdir/xpcshell %exclude %firefox_libdir/xpicleanup %exclude %firefox_libdir/xpidl %exclude %firefox_libdir/xpt_dump %exclude %firefox_libdir/xpt_link %files devel %_bindir/%name-config %firefox_libdir/regxpcom %firefox_libdir/xpcshell %firefox_libdir/xpicleanup %firefox_libdir/xpidl %firefox_libdir/xpt_dump %firefox_libdir/xpt_link %firefox_includedir %firefox_idldir %_libdir/pkgconfig/* %firefox_usrsrc %if_with nss %exclude %_libdir/pkgconfig/%name-nss.pc %endif %if_with nspr %exclude %_libdir/pkgconfig/%name-nspr.pc %else %_datadir/aclocal/* %endif %changelog * Sun Feb 25 2007 Michael Shigorin 2.0.0.2-alt1 - New version 2.0.0.2 - Security fixes: + MFSA 2007-08 onUnload + document.write() memory corruption + MFSA 2007-07 Embedded nulls in location.hostname confuse same-domain checks + MFSA 2007-06 Mozilla Network Security Services (NSS) SSLv2 buffer overflow + MFSA 2007-05 XSS and local file access by opening blocked popups + MFSA 2007-04 Spoofing using custom cursor and CSS3 hotspot + MFSA 2007-03 Information disclosure through cache collisions + MFSA 2007-02 Improvements to help protect against Cross-Site Scripting attacks + MFSA 2007-01 Crashes with evidence of memory corruption (rv:1.8.0.10/1.8.1.2) - Updated patch8 (prefs-tuning) * Wed Jan 24 2007 Michael Shigorin 2.0.0.1-alt1 - New version 2.0.0.1 - Security fixes: + MFSA 2006-76 XSS using outer window's Function object + MFSA 2006-75 RSS Feed-preview referrer leak + MFSA 2006-73 Mozilla SVG Processing Remote Code Execution + MFSA 2006-72 XSS by setting img.src to javascript: URI + MFSA 2006-71 LiveConnect crash finalizing JS objects + MFSA 2006-70 Privilege escalation using watch point + MFSA 2006-68 Crashes with evidence of memory corruption (rv:1.8.0.9/1.8.1.1) - Fixed patch20 (pango-printing) * Thu Nov 23 2006 Alexey Gladkov 2.0-alt2 - Add %%pre script. - Remove version specific paths. * Sat Oct 28 2006 Alexey Gladkov 2.0-alt1 - New major version 2.0 . - Don't build libxul. - Add support for printing via Pango. - Change printer paper size at A4. - Check compatibility disabled. - Patch disabling OS_TEST autoguessing for %%ix86 builds on x86_64 host. * Fri Sep 15 2006 Alexey Gladkov 1.5.0.7-alt1 - New version 1.5.0.7 . -Fixed: + MFSA 2006-64 Crashes with evidence of memory corruption (rv:1.8.0.7) + MFSA 2006-62 Popup-blocker cross-site scripting (XSS) + MFSA 2006-61 Frame spoofing using document.open() + MFSA 2006-60 RSA Signature Forgery + MFSA 2006-59 Concurrency-related vulnerability + MFSA 2006-58 Auto-Update compromise through DNS and SSL spoofing + MFSA 2006-57 JavaScript Regular Expression Heap Corruption * Wed Aug 30 2006 Alexey Gladkov 1.5.0.6-alt4 - Add libgtkembedmoz.so, firefox-gtkembedmoz.pc . - Update BuildRequires. * Wed Aug 16 2006 Alexey Gladkov 1.5.0.6-alt3 - bugfix build. - Patch to enable intl.locale.matchOS was removed. - Added default download directory. * Wed Aug 09 2006 Alexey Gladkov 1.5.0.6-alt2 - bugfix build. - Added patch to handle #9863 (history #4352). * Sat Aug 05 2006 Alexey Gladkov 1.5.0.6-alt1 - New version 1.5.0.6 . - Fixed: + Fixed an issue with playing Windows Media content + MFSA 2006-56 chrome: scheme loading remote content + MFSA 2006-55 Crashes with evidence of memory corruption (rv:1.8.0.5) + MFSA 2006-54 XSS with XPCNativeWrapper(window).Function(...) + MFSA 2006-53 UniversalBrowserRead privilege escalation + MFSA 2006-52 PAC privilege escalation using Function.prototype.call + MFSA 2006-51 Privilege escalation using named-functions and redefined "new Object()" + MFSA 2006-50 JavaScript engine vulnerabilities + MFSA 2006-48 JavaScript new Function race condition + MFSA 2006-47 Native DOM methods can be hijacked across domains + MFSA 2006-46 Memory corruption with simultaneous events + MFSA 2006-45 Javascript navigator Object Vulnerability + MFSA 2006-44 Code execution through deleted frame reference * Thu Jun 08 2006 Alexey Gladkov 1.5.0.4-alt1 - New version. - Fixed: + MFSA 2006-43 Privilege escalation using addSelectionListener + MFSA 2006-42 Web site XSS using BOM on UTF-8 pages + MFSA 2006-41 File stealing by changing input type (variant) + MFSA 2006-39 "View Image" local resource linking (Windows) + MFSA 2006-38 Buffer overflow in crypto.signText() + MFSA 2006-37 Remote compromise via content-defined setter on object prototypes + MFSA 2006-36 PLUGINSPAGE privileged JavaScript execution 2 + MFSA 2006-35 Privilege escalation through XUL persist + MFSA 2006-34 XSS viewing javascript: frames or images from context menu + MFSA 2006-33 HTTP response smuggling + MFSA 2006-32 Fixes for crashes with potential memory corruption + MFSA 2006-31 EvalInSandbox escape (Proxy Autoconfig, Greasemonkey) * Fri May 12 2006 Alexey Gladkov 1.5.0.3-alt1 - New version. - Build libxul library. - Fixed: + MFSA 2006-30 Deleted object reference when designMode="on". * Wed Mar 15 2006 Alexey Gladkov 1.5.0.1-alt2 - bugfix build. - include fix - plugins directory fix; * Mon Feb 13 2006 Alexey Gladkov 1.5.0.1-alt1 - New version 1.5.0.1 - Buildrequires updated for xorg-7.0 - run-firefox script bugfix: * usage update * plugins search path (x86_64) * unparseable commands handling - bugfix: #7334, #7682, #8757, #8784, #9017 * Sun Dec 04 2005 Alexey Gladkov 1.5-alt1 - New version 1.5 . - Spec cleanup. - Build with external rpm-build-firefox . - Build with system NSS and NSPR. - Unused libraries removed. - Rpm mascros bugfix. * fix for new rpm. * change extension installation sheme (again). - Default preference tunning. - Startup script rewritten. Now it is single script. * command line shortcut added: altfaq:NUM . - SVG support enabled. - directory /usr/share/firefox-@version@/extensions was added to extensions search path . * this location is controled by the option extensions.dir.extensions . - Bug: #7682, #7801, #7856, #7949 fixed. * Tue Aug 16 2005 Alexey Gladkov 1.0.6-alt4 - major bugfix. - build with official branding. - x86_64 compatibility addon (patch20, patch21). * Sun Aug 07 2005 Alexey Gladkov 1.0.6-alt3 - release version. - firsttime script added. - SVG support disabled. - Patch #2 bugfix (bug: #7682) * Sun Jul 24 2005 LAKostis 1.0.6-alt2.cvs - fix -nox patch. - add gssapi detection and build fixes from mhz@. * Tue Jul 19 2005 LAKostis 1.0.6-alt1.cvs - new version from aviary branch fixing various bugs: + MFSA2005-54 + Restore API compatibility for extensions and web applications that did not work in Firefox 1.0.5. * Mon Jul 11 2005 LAKostis 1.0.5-alt2.cvs - new version from aviary branch; * Wed Jun 22 2005 LAKostis 1.0.5-alt1.cvs - new version from aviary branch fixing various security bugs; - fix: #4846, #5101, #7126 (legion). - if_{with,without} debug - added (legion). - keyword 'altbug:' added, patch2 updated (legion). - postin/postun-scripts scripts bugfixes (legion). - triggers added for trash cleanup (legion). * Mon Jun 20 2005 LAKostis 1.0.5-alt0.cvs - new version from aviary branch; - fix #6595; - add switches for svg/xprint easy builds. - update alt-prefs-tuning.patch (disable annoying default browser dialog). * Sun Jun 12 2005 LAKostis 1.0.4-alt1 - new version; - SA15601 security fix; - BuildRequires cleanup (remove xorg-x11-libs-static). * Thu Apr 21 2005 Alexey Gladkov 1.0.3-alt1 - new version; - requires fix; * Wed Apr 13 2005 Alexey Gladkov 1.0.2-alt1 - new version; - RPATH fix; - NoX patch was rewritten; * Sun Mar 06 2005 Alexey Gladkov 1.0.1-alt2 - rpm macros was updated; * Fri Feb 25 2005 Alexey Gladkov 1.0.1-alt1 - new version; - patch9 was added (mozilla Bug #123315); - patch10, patch11 was added (#6151); * Mon Feb 14 2005 Alexey Gladkov 1.0-alt7 - plugins path bugfix; - svg support added; - x86_64 compatibility added (thx mouse@); * Tue Feb 01 2005 Alexey Gladkov 1.0-alt6 - update patch firefox-1.0-20050201-alt-nox.patch * uninstall-global-theme command-line option was added; * update-register command-line option was added; - firefox-1.0-alt-rpm-scripts.tar.bz2 bugfix; * Thu Jan 27 2005 Alexey Gladkov 1.0-alt5 - disable svg support becouse svg layout lead to segfault when mozilla compile with gcc3.4 . - search plugins was moved into the standalone rpm package. * Wed Jan 19 2005 Alexey Gladkov 1.0-alt4 - Rebuilt with libstdc++.so.6. * Wed Jan 05 2005 Alexey Gladkov 1.0-alt3 - new version; - browser-plugins-npapi support added; - new icons default icons(thx shrek@); - option uninstall-global-extension was fixed; * Wed Nov 03 2004 Alexey Gladkov 1.0-alt2.rc1 - extension sheme changes; - postin/preun scripts chenges; * Mon Oct 18 2004 Alexey Gladkov 1.0-alt2.PR - new default extensions added; - protocol 'mailto' external handler added; - firefox.macro changed; - postun script changed; - icons changed; * Thu Sep 30 2004 Alexey Gladkov 1.0-alt1.PR - New version 1.0PR; - New extension scheme; - Add: * New option 'run-without-x' added (mouse, legion); * SVG support added; * Certificate (ALT Linux CA Root) added; * ALT Linux BTS search plugin added; * RPATH added to all binary files; - bug #4284 fixed; * Fri May 28 2004 Alexey Gladkov 0.8-alt4 - Move back some changes at alt3 build. - Bug #4157 fixed. * Fri Apr 30 2004 Alexey Gladkov 0.8-alt3.1 - viewsource protocol was added. * Thu Apr 29 2004 Alexey Gladkov 0.8-alt3 - Minimize buildin extensions; - Disable debug output; - Disable some options: + disable JavaScript debug library; + disable LDAP support; + disable logging facilities; - Necko protocols cleanup; * Tue Feb 24 2004 Alexey Gladkov 0.8-alt2 - Splash screen added (thx sadist@); - Search plugins added; - Remove devel package Conflicts; - Change rebuild-database.sh script. Script must be run only as root; - Change locale hack. * Wed Feb 11 2004 Alexey Gladkov 0.8-alt1 - Mozilla Firebird becomes Mozilla Firefox. Mozilla's next generation browser has changed names (again); - New version; * Sun Jan 11 2004 Alexey Gladkov 0.7-alt2 - Spec changes. - run-mozilla.sh script patch. * Tue Dec 30 2003 Alexey Gladkov 0.7-alt1 - first build for ALT Linux. - rpm macro created. - new scheme loading extensions added (thx force@)