# WARNING: This package is synced with FC # # WARNING, READ FIRST: # # This is a special package that needs special treatment. Due to the amount of # security updates it needs, it's common to ship new upstream versions instead of patching. # That means this package MUST be BUILDABLE for stable official releases. # This also means only STABLE upstream releases, NO betas. # This is a discussed topic. Please, do not flame it again. # Stay on ESR for stable releases and for cauldron before mageia 8. # /!\ Do not update more than FF 78 for mga8. /!\ # ff 68 -> 78 -> later 88? %ifarch %{ix86} armv7hl %global debug_package %{nil} %endif # Build as a debug package? %global debug_build 0 %global build_with_clang 0 # Place rpm-macros into proper location %global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) %global system_nss 1 %global system_libicu 1 %global hardened_build 1 %global disable_elfhack 1 %global use_bundled_cbindgen 1 %ifarch x86_64 aarch64 %global build_with_clang 0 %endif %global build_with_pgo 0 %global major 78 %global ff_epoch 0 # (tpg) set version HERE !!! %global extra esr %global realver %{version}%extra %global firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\} # (tpg) MOZILLA_FIVE_HOME %global pluginsdir %{_libdir}/mozilla/plugins # libxul.so is provided by libxulrunnner2.0. %global __requires_exclude libxul.so # exclude libnss from provides (eg: when system_nss is disabled) %global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^libnss|^libnspr|^libsmime3|^libssl3|^libsoftokn3|^libfreeblpriv3|^libplc4|^libplds4 # exclude libnss from requires when system_nss is disabled (requires on ourselves): %if !%{?system_nss} %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^libnss|^libnspr|^libsmime3|^libssl3|^libsoftokn3|^libfreeblpriv3|^libplc4|^libplds4 %endif # Minimal required versions %global cairo_version 1.13.1 %global freetype_version 2.1.9 %global libnotify_version 0.7.0 %global libvpx_version 1.5.0 # this seems fragile, so require the exact version or later (#58754) %global nspr_version 4.26 %global nspr_build_version %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo 65536) %global nss_version 3.54 %global nss_build_version %(pkg-config --silence-errors --modversion nss 2>/dev/null || echo 65536) %global sqlite_version 3.31.1 # The actual sqlite version (see #480989): %global sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo 65536) %global mozappdir %{_libdir}/%{name} %global tarballdir firefox-%{version} %global official_branding 1 %global update_channel %{extra}%major Summary: Mozilla Firefox Web browser Name: firefox Version: %{major}.7.0 Epoch: %{ff_epoch} Release: %mkrel 3 License: MPLv1.1 or GPLv2+ or LGPLv2+ Group: Networking/WWW Url: https://www.mozilla.org/firefox/organizations/ Source0: https://ftp.mozilla.org/pub/firefox/releases/%{realver}/source/firefox-%{realver}.source.tar.xz Source2: cbindgen-vendor.tar.xz Source4: %{name}.desktop Source8: %{name}-searchengines-duckduckgo.xml Source9: kde.js # From Fedora: Source10: firefox-mozconfig Source12: firefox-mageia-default-prefs.js Source23: firefox.1 Source24: mozilla-api-key Source26: distribution.ini Source27: google-api-key # Fedora patches: # Build patches Patch3: mozilla-build-arm.patch # Always feel lucky for unsupported platforms: # https://bugzilla.mozilla.org/show_bug.cgi?id=1347128 Patch37: build-jit-atomic-always-lucky.patch Patch40: build-aarch64-skia.patch Patch41: build-disable-elfhack.patch Patch44: build-arm-libopus.patch Patch219: rhbz-1173156.patch Patch48: build-arm-wasm.patch Patch49: build-arm-libaom.patch #ARM run-time patch Patch226: rhbz-1354671.patch # Upstream patches Patch402: mozilla-1196777.patch Patch412: mozilla-1337988.patch Patch415: Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch Patch417: bug1375074-save-restore-x28.patch Patch450: mozilla-1624128.patch # Mageia patches: # (OpenSuse) add patch to make firefox always use /usr/bin/firefox when "make firefox # the default web browser" is used fix mdv bug#58784 Patch1005: firefox-66.0-appname.patch Patch1009: fix-build.diff # Patches for kde integration of FF # (doktor5000) if the patches need updating, grab both from the branch corresponding with the current firefox version at # http://www.rosenauer.org/hg/mozilla Patch1011: http://www.rosenauer.org/hg/mozilla/raw-file/tip/mozilla-kde.patch # (fwang) please modify patch12 with `sed -e 's/MozillaFirefox/firefox/'` to fit our desktop filename Patch1012: http://www.rosenauer.org/hg/mozilla/raw-file/tip/firefox-kde.patch Patch1040: no-MOZ_SIGNAL_TRAMPOLINE.patch Patch1042: typenum-fix-cargo-checksum.patch # Patch by Martin Whitaker to fix building i586 with rust Patch1043: force-i586-host.patch # (martinw) don't check for cmov support when running on older CPUs Patch1044: bypass-cmov-assert-on-i586.patch Patch1045: build-aarch64-user_vfp.patch # (tv) fix checksum b/c of missing files :-( : Patch1046: fix-checksum-for-missing-file.patch # Patch1047: firefox-78.7.0-i586-dav1d-nosse.patch Patch1048: firefox-78.7.0-i586-oldconfigure-in-nosse.patch # BuildRequires: pkgconfig(nspr) >= %{nspr_version} %if %{?system_nss} BuildRequires: pkgconfig(nss) >= %{nss_version} BuildRequires: nss-static-devel >= %{nss_version} %endif BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libjpeg) BuildRequires: zip BuildRequires: bzip2-devel BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(freetype2) >= %{freetype_version} BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(xrender) BuildRequires: pkgconfig(hunspell) BuildRequires: pkgconfig(libstartup-notification-1.0) BuildRequires: pkgconfig(libnotify) >= %{libnotify_version} BuildRequires: pkgconfig(dri) BuildRequires: dbus-glib-devel BuildRequires: pkgconfig(libvpx) >= %{libvpx_version} BuildRequires: autoconf2.1 BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(icu-i18n) >= 58.0 #BuildRequires: valgrind-devel BuildRequires: yasm BuildRequires: libatomic-devel BuildRequires: llvm BuildRequires: llvm-devel BuildRequires: clang BuildRequires: clang-devel %if 0%{?build_with_clang} BuildRequires: lld %endif BuildRequires: nodejs BuildRequires: nasm >= 1.13 %if %{?system_nss} Requires: %{mklibname nss 3} >= 2:%{nss_build_version} Requires: %{mklibname nspr 4} >= 2:%{nspr_build_version} %endif BuildRequires: pkgconfig(libavcodec) BuildRequires: python3-devel BuildRequires: pkgconfig(sqlite3) >= %{sqlite_version} Requires: %{mklibname sqlite3_ 0} >= %{sqlite_build_version} BuildRequires: pkgconfig(libffi) BuildRequires: rootcerts >= 1:20130411.00 BuildRequires: doxygen BuildRequires: libiw-devel BuildRequires: python-setuptools BuildRequires: python-virtualenv BuildRequires: pkgconfig(libproxy-1.0) BuildRequires: rust BuildRequires: cargo Provides: %{name} = %{epoch}:%{version} Provides: mozilla-firefox = %{epoch}:%{version}-%{release} Provides: webclient Requires: indexhtml Requires: xdg-utils # fixes bug #42096 Requires: mailcap Recommends: hunspell-en Requires: %{_lib}notify4 # make sure our default bookmarks are present Requires: desktop-common-data # try to fix mga#1344 (automatic installation of proper -l10n package) # packages requiring locales-XX will be automatically preferred when locales-XX # is already installed Recommends: firefox-l10n Recommends: %{_lib}canberra0 Recommends: %{_lib}cups2 # fixes bug mga#25511 Obsoletes: %{name}-as < 68.0 Obsoletes: %{name}-en_ZA < 68.0 Obsoletes: %{name}-mai < 68.0 Obsoletes: %{name}-ml < 68.0 Obsoletes: %{name}-or < 68.0 # Obsolete Iceape (mga#24300) Obsoletes: iceape < 2.49.4-3 %description Mozilla Firefox is an open-source web browser, designed for standards compliance, performance and portability. %package devel Summary: Development files for %{name} Group: Development/Other %description devel Files and macros mainly for building Firefox extensions. %prep %if 0%{?extra:1} #setup -q -n mozilla-%{update_channel} %setup -q -n firefox-%{version} %else %setup -q -n %{tarballdir} %endif # Fedora patches: #patch37 -p1 -b .jit-atomic-lucky %patch40 -p1 -b .aarch64-skia %if 0%{?disable_elfhack} %patch41 -p1 -b .disable-elfhack %endif %patch3 -p1 -b .arm %patch44 -p1 -b .build-arm-libopus %patch48 -p1 -b .build-arm-wasm %patch49 -p1 -b .build-arm-libaom %patch219 -p1 -b .rhbz-1173156 #ARM run-time patch %ifarch aarch64 #patch226 -p1 -b .1354671 %endif %patch402 -p1 -b .1196777 %ifarch %{arm} %patch415 -p1 -b .1238661 %endif %patch450 -p1 -R -b .1624128 # Mageia patches: %patch1005 -p1 -b .appname %patch1009 -p1 -b .fbts %patch1011 -p1 -b .mozkde %patch1012 -p1 -b .ffkde #patch1042 -p1 -b .typenum %patch1043 -p0 %patch1044 -p1 %patch1045 -p1 %patch1046 -p1 %ifarch %{ix86} %patch1047 -p1 %patch1048 -p1 %endif %{__rm} -f .mozconfig %{__cp} %{SOURCE10} .mozconfig # Mageia specific options: cat << EOF >> .mozconfig ac_add_options --enable-libproxy ac_add_options --with-system-png ac_add_options --with-distribution-id=org.mageia ac_add_options --enable-update-channel=release EOF # Options shared with FC: echo "ac_add_options --enable-default-toolkit=cairo-gtk3" >> .mozconfig %if %{official_branding} echo "ac_add_options --enable-official-branding" >> .mozconfig %endif %{__cp} %{SOURCE24} mozilla-api-key %{__cp} %{SOURCE27} google-api-key echo "ac_add_options --prefix=\"%{_prefix}\"" >> .mozconfig echo "ac_add_options --libdir=\"%{_libdir}\"" >> .mozconfig %if %{?system_nss} echo "ac_add_options --with-system-nspr" >> .mozconfig echo "ac_add_options --with-system-nss" >> .mozconfig %else echo "ac_add_options --without-system-nspr" >> .mozconfig echo "ac_add_options --without-system-nss" >> .mozconfig %endif echo "ac_add_options --enable-system-ffi" >> .mozconfig %ifarch %{arm} echo "ac_add_options --disable-elf-hack" >> .mozconfig %endif %if %{?debug_build} echo "ac_add_options --enable-debug" >> .mozconfig echo "ac_add_options --disable-optimize" >> .mozconfig %else %global optimize_flags "none" %ifarch ppc64le aarch64 %global optimize_flags "-g -O2" %endif %if %{optimize_flags} != "none" echo 'ac_add_options --enable-optimize=%{?optimize_flags}' >> .mozconfig %else echo 'ac_add_options --enable-optimize' >> .mozconfig %endif echo "ac_add_options --disable-debug-symbols" >> .mozconfig %endif # Second arches fail to start with jemalloc enabled %ifnarch %{ix86} x86_64 echo "ac_add_options --disable-jemalloc" >> .mozconfig %endif %ifnarch %{ix86} x86_64 ppc64le echo "ac_add_options --disable-webrtc" >> .mozconfig %endif echo "ac_add_options --disable-crashreporter" >> .mozconfig echo "ac_add_options --disable-tests" >> .mozconfig echo "ac_add_options --with-system-jpeg" >> .mozconfig %ifarch armv7hl # ffvpx fails to build on armv7hl with: # /usr/bin/ld.gold: error: read-only segment has dynamic relocations echo "ac_add_options --with-system-libvpx" >> .mozconfig %else echo "ac_add_options --without-system-libvpx" >> .mozconfig %endif %if %{?system_libicu} echo "ac_add_options --with-system-icu" >> .mozconfig %else echo "ac_add_options --without-system-icu" >> .mozconfig %endif %ifarch i586 # Rust seems to default to i686 otherwise echo "ac_add_options --host=i586-mageia-linux-gnu" >> .mozconfig echo "ac_add_options --target=i586-mageia-linux-gnu" >> .mozconfig %endif # Remove executable bit to make brp-mangle-shebangs happy. chmod -x third_party/rust/itertools/src/lib.rs chmod a-x third_party/rust/gfx-backend-vulkan/src/*.rs chmod a-x third_party/rust/gfx-hal/src/*.rs chmod a-x third_party/rust/ash/src/extensions/ext/debug_utils.rs chmod a-x third_party/rust/ash/src/extensions/ext/*.rs chmod a-x third_party/rust/ash/src/extensions/khr/*.rs chmod a-x third_party/rust/ash/src/extensions/mvk/*.rs chmod a-x third_party/rust/ash/src/extensions/nv/*.rs find -name lib.rs | xargs chmod -x #--------------------------------------------------------------------- %build %if 0%{?use_bundled_cbindgen} mkdir -p my_rust_vendor cd my_rust_vendor %{__tar} xf %{SOURCE2} mkdir -p .cargo cat > .cargo/config < 7 MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fpermissive" %endif %if %{?hardened_build} MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now" %endif %if %{?debug_build} MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//') %endif %ifarch s390 MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/') # If MOZ_DEBUG_FLAGS is empty, firefox's build will default it to "-g" which # overrides the -g1 from line above and breaks building on s390/arm # (OOM when linking, rhbz#1238225) export MOZ_DEBUG_FLAGS=" " %endif %if !0%{?build_with_clang} %ifarch s390 ppc aarch64 %{ix86} MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads" %endif %ifarch %{arm} %{ix86} MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--strip-debug" echo "ac_add_options --enable-linker=gold" >> .mozconfig %endif %endif %ifarch %{arm} %{ix86} export RUSTFLAGS="-Cdebuginfo=0" %endif # We don't wantfirefox to use CK_GCM_PARAMS_V3 in nss MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT" echo "export CFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig echo "export CXXFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig echo "export LDFLAGS=\"$MOZ_LINK_FLAGS\"" >> .mozconfig %if 0%{?build_with_clang} echo "export LLVM_PROFDATA=\"llvm-profdata\"" >> .mozconfig echo "export AR=\"llvm-ar\"" >> .mozconfig echo "export NM=\"llvm-nm\"" >> .mozconfig echo "export RANLIB=\"llvm-ranlib\"" >> .mozconfig echo "ac_add_options --enable-linker=lld" >> .mozconfig %else echo "export CC=gcc" >> .mozconfig echo "export CXX=g++" >> .mozconfig echo "export AR=\"gcc-ar\"" >> .mozconfig echo "export NM=\"gcc-nm\"" >> .mozconfig echo "export RANLIB=\"gcc-ranlib\"" >> .mozconfig %endif %if 0%{?build_with_pgo} echo "ac_add_options MOZ_PGO=1" >> .mozconfig #echo "ac_add_options --enable-lto" >> .mozconfig %endif MOZ_SMP_FLAGS=-j1 # On x86_64 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} [ -z "$RPM_BUILD_NCPUS" ] && \ RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" [ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2 %endif %ifarch x86_64 ppc ppc64 ppc64le aarch64 [ -z "$RPM_BUILD_NCPUS" ] && \ RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" [ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2 [ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4 [ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8 %endif echo "export MOZ_MAKE_FLAGS=\"$MOZ_SMP_FLAGS\"" >> .mozconfig echo "export MOZ_SERVICES_SYNC=1" >> .mozconfig %ifnarch %{ix86} echo "export STRIP=/bin/true" >> .mozconfig %endif AUTOCONF=%{_bindir}/autoconf-2.13 ./mach build %install make -C objdir/browser/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0 # Copy files to buildroot %{__mkdir_p} %{buildroot}%{mozappdir} cp -rf objdir/dist/firefox/* %{buildroot}%{mozappdir} %{__mkdir_p} %{buildroot}%{_bindir} ln -sf %{mozappdir}/firefox %{buildroot}%{_bindir}/firefox pushd %{buildroot}%{_bindir} ln -sf firefox mozilla-firefox popd mkdir -p %{buildroot}%{mozappdir}/browser/defaults/preferences/ install -m 644 %{SOURCE9} %{buildroot}%{mozappdir}/browser/defaults/preferences/kde.js # Create and own %{_libdir}/mozilla/plugins & firefox extensions directories %{__mkdir_p} %{buildroot}%{pluginsdir} %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid} %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid} # (tpg) desktop entry %{__mkdir_p} %{buildroot}%{_datadir}/applications install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop # (tpg) icons #cp %{buildroot}%{mozappdir}/browser/chrome/icons/default/default16.png %{buildroot}/%{mozappdir}/browser/icons/ for i in 16 22 24 32 48 256; do %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ; done %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}} ln -sf %{mozappdir}/browser/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png ln -sf %{mozappdir}/browser/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png ln -sf %{mozappdir}/browser/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png %{__install} -p -D -m 644 %{SOURCE23} %{buildroot}%{_mandir}/man1/firefox.1 # exclusions rm -f %{buildroot}%{mozappdir}/README.txt rm -f %{buildroot}%{mozappdir}/removed-files rm -f %{buildroot}%{mozappdir}/precomplete # Default %{__cp} %{SOURCE12} %{buildroot}%{mozappdir}/browser/defaults/preferences # display icon for Firefox button %{__mkdir_p} %{buildroot}%{mozappdir}/browser/defaults/profile/chrome cat << EOF > %{buildroot}%{mozappdir}/browser/defaults/profile/chrome/userChrome.css #appmenu-toolbar-button { list-style-image: url("chrome://branding/content/icon16.png"); } EOF # files in this directory are read on every startup, and can change/add # preferences for existing profiles # extensions.autoDisableScopes is a new preference added in firefox 8 # it defines "scopes" where newly installed addons are disabled by default # this is an additive bit field, and the value defaults to 15 (1+2+4+8) # we need to remove system scope (8) from it so language packs and other addons # which are installed systemwide won't get marked as 3rd party and disabled # documentation: http://kb.mozillazine.org/About:config_entries#Extensions. # or in toolkit/mozapps/extensions/AddonManager.jsm # we also need to disable the "disable addon selection dialog" %{__mkdir_p} %{buildroot}%{mozappdir}/browser/defaults/preferences cat << EOF > %{buildroot}%{mozappdir}/browser/defaults/preferences/mga.js pref("general.useragent.locale", "chrome://global/locale/intl.properties"); pref("extensions.autoDisableScopes", 0); pref("extensions.shownSelectionUI", true); EOF # FIXME: Add it back in mga.js when this search engine will be used by default. # user_pref("browser.search.selectedEngine","duckduckgo.com"); # Use the system hunspell dictionaries rm -fr %{buildroot}%{mozappdir}/dictionaries ln -s %{_datadir}/hunspell %{buildroot}%{mozappdir}/dictionaries # Copy over run-mozilla.sh %{__cp} build/unix/run-mozilla.sh %{buildroot}%{mozappdir} # Add distribution.ini %{__mkdir_p} %{buildroot}%{mozappdir}/distribution %{__cp} %{SOURCE26} %{buildroot}%{mozappdir}/distribution # (lm) touch and %ghost bookmarks.html to a proper uninstall touch %{buildroot}%{mozappdir}/browser/defaults/profile/bookmarks.html # Add stuff to build a plugin to -devel mkdir -p %{buildroot}%{_includedir} cp -a dom/plugins/base/np*.h %{buildroot}%{_includedir} mkdir -p %{buildroot}/%{_datadir}/pkgconfig cat <%{buildroot}/%{_datadir}/pkgconfig/mozilla-plugin.pc Name: Mozilla Plug-In API Description: Mozilla Plug-In API Version: %{version} Cflags: -I%{_includedir} -DXP_UNIX EOF mkdir -p %{buildroot}%{rpm_macros_dir} cat <%{buildroot}%{rpm_macros_dir}/macros.%{name} # Macros from %{name} package %%firefox_major %{version} %%firefox_epoch %{ff_epoch} %%firefox_version %{version} %%firefox_mozillapath %{mozappdir} %%firefox_pluginsdir %{pluginsdir} %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\} %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi) FIN # temp build fix: mkdir -p %{buildroot}%{mozappdir}/browser/searchplugins cp -f %{SOURCE8} %{buildroot}%{mozappdir}/browser/searchplugins/duckduckgo.xml %post if [ ! -r /etc/sysconfig/oem ]; then case `grep META_CLASS /etc/sysconfig/system` in *powerpack) bookmark="mozilla-powerpack.html" ;; *desktop) bookmark="mozilla-one.html";; *) bookmark="mozilla-download.html";; esac ln -s -f %{_prefix}/share/mga/bookmarks/mozilla/$bookmark %{mozappdir}/browser/defaults/profile/bookmarks.html fi %files %{_bindir}/%{name} %{_bindir}/mozilla-firefox %doc %{_mandir}/man1/* %{_iconsdir}/hicolor/*/apps/*.png %{_miconsdir}/%{name}.png %{_iconsdir}/%{name}.png %{_liconsdir}/%{name}.png %{_datadir}/applications/*.desktop %{mozappdir} %ghost %{mozappdir}/browser/defaults/profile/bookmarks.html %dir %{_libdir}/mozilla %dir %{pluginsdir} %dir %{_libdir}/mozilla/extensions/%{firefox_appid} %dir %{_datadir}/mozilla/extensions/%{firefox_appid} %files devel %{rpm_macros_dir}/macros.%{name} %{_includedir}/np*.h %{_datadir}/pkgconfig/mozilla-plugin.pc