/[packages]/updates/1/firefox/current/SPECS/firefox.spec
ViewVC logotype

Contents of /updates/1/firefox/current/SPECS/firefox.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 170215 - (show annotations) (download)
Mon Nov 21 01:21:03 2011 UTC (12 years, 5 months ago) by doktor5000
File size: 15058 byte(s)
- really prevent firefox 8 default preference (extensions.autoDisableScopes)
  from automatically disabling systemwide installed addons
- hide addons selection dialog permanently
- added comments about purpose of the .js preferences files we use
1 #
2 # WARNING, READ FIRST:
3 #
4 # PLEASE svn cp SOURCES FROM xulrunner SOURCES INSTEAD
5 # OF COMMITING AGAIN THE TARBALL
6 #
7 # This is a special package that needs special treatment. Due to the amount of
8 # security updates it needs, it's common to ship new upstream versions instead of patching.
9 # That means this package MUST be BUILDABLE for stable official releases.
10 # This also means only STABLE upstream releases, NO betas.
11 # This is a discussed topic. Please, do not flame it again.
12
13 %define major 8.0.1
14 %define ff_epoch 0
15 # (tpg) set version HERE !!!
16 %define realver %{major}
17 %define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
18
19 # (tpg) MOZILLA_FIVE_HOME
20 %define mozillalibdir %{_libdir}/%{name}-%{realver}
21 %define pluginsdir %{_libdir}/mozilla/plugins
22
23 # libxul.so is provided by libxulrunnner2.0.
24 %define _requires_exceptions libxul.so
25
26 # this seems fragile, so require the exact version or later (#58754)
27 %define sqlite3_version %(pkg-config --modversion sqlite3 &>/dev/null && pkg-config --modversion sqlite3 2>/dev/null || echo 0)
28 %define nss_version %(pkg-config --modversion nss &>/dev/null && pkg-config --modversion nss 2>/dev/null || echo 0)
29 %define nspr_version %(pkg-config --modversion nspr &>/dev/null && pkg-config --modversion nspr 2>/dev/null || echo 0)
30
31 %define _use_syshunspell 1
32 %define subrel 4
33
34 Summary: Next generation web browser
35 Name: firefox
36 Version: %{realver}
37 Epoch: %{ff_epoch}
38 Release: %mkrel 0
39 License: MPLv1+
40 Group: Networking/WWW
41 Url: http://www.mozilla.com/firefox/
42 %if 0%{?prel}
43 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}%prel.source.tar.bz2
44 %else
45 Source0: ftp://ftp.mozilla.org/pub/mozilla.org/%{name}/releases/%{realver}/source/%{name}-%{realver}.source.tar.bz2
46 %endif
47 Source4: %{name}.desktop
48 Source9: kde.js
49
50 Patch1: firefox-6.0-lang.patch
51 Patch2: firefox-vendor.patch
52 Patch3: mozilla-firefox-1.5.0.6-systemproxy.patch
53 # (OpenSuse) add patch to make firefox always use /usr/bin/firefox when "make firefox
54 # the default web browser" is used fix mdv bug#58784
55 Patch5: firefox-6.0-appname.patch
56 Patch6: firefox-7.0-fix-str-fmt.patch
57 Patch7: mozilla-firefox-run-mozilla.patch
58 Patch8: firefox-disable-check-default-browser.patch
59 Patch10: firefox-3.5.3-default-mail-handler.patch
60 # Patches for kde integration of FF
61 Patch11: firefox-kde.patch
62 Patch12: mozilla-kde.patch
63
64 # patch from https://bugzilla.mozilla.org/show_bug.cgi?id=551138
65 # we'll have to use system libffi on arm because moz folks are using
66 # vfp asm which doesn't exist on non-cortex platforms
67 # src/arm/sysv.S: Assembler messages:
68 # src/arm/sysv.S:266: Error: selected processor does not support ARM mode `flddle d0,[ip]'
69 # src/arm/sysv.S:267: Error: selected processor does not support ARM mode `fldmiadgt ip,{d0-d7}'
70 # src/arm/sysv.S:307: Error: selected processor does not support ARM mode `fstseq s0,[r2]'
71 # src/arm/sysv.S:311: Error: selected processor does not support ARM mode `fstdeq d0,[r2]'
72 # src/arm/sysv.S:316: Error: selected processor does not support ARM mode `fstmiadeq r2,{d0-d3}'
73 # src/arm/sysv.S:400: Error: selected processor does not support ARM mode `fstmfdd sp!,{d0-d7}'
74 # src/arm/sysv.S:438: Error: selected processor does not support ARM mode `flds s0,[sp]'
75 # src/arm/sysv.S:441: Error: selected processor does not support ARM mode `fldd d0,[sp]'
76 # src/arm/sysv.S:450: Error: selected processor does not support ARM mode `fldmiad sp,{d0-d1}'
77 # src/arm/sysv.S:453: Error: selected processor does not support ARM mode `fldmiad sp,{d0-d3}'
78 Patch34: xulrunner_nojit.patch
79 Patch35: firefox-5.0-asciidel.patch
80
81 BuildRequires: gtk+2-devel
82 BuildRequires: unzip
83 BuildRequires: zip
84 BuildRequires: libxinerama-devel
85 BuildRequires: libjpeg-devel
86 BuildRequires: zlib-devel
87 BuildRequires: glib2-devel
88 BuildRequires: libIDL2-devel
89 BuildRequires: makedepend
90 BuildRequires: nss-devel >= 2:3.13.1
91 BuildRequires: nss-static-devel
92 BuildRequires: nspr-devel >= 2:4.8.7
93 BuildRequires: startup-notification-devel
94 BuildRequires: dbus-glib-devel
95 BuildRequires: python
96 BuildRequires: libsqlite3-devel >= 3.7.0.1-2
97 %ifnarch %arm %mips
98 BuildRequires: valgrind
99 BuildRequires: java-rpmbuild
100 BuildRequires: yasm >= 1.0.1
101 %endif
102 %ifarch %arm
103 BuildRequires: libffi-devel
104 %endif
105 BuildRequires: rootcerts >= 1:20110902.00
106 BuildRequires: libxt-devel
107 %if %_use_syshunspell
108 BuildRequires: hunspell-devel
109 %endif
110 BuildRequires: doxygen
111 # BuildRequires: xulrunner-devel >= %xulrunner_version%{?prel:-0.%prel}
112 BuildRequires: pkgconfig(libproxy-1.0)
113 BuildRequires: pkgconfig(alsa)
114 BuildRequires: wget
115 BuildRequires: libnotify-devel
116 BuildRequires: cairo-devel >= 1.10
117 BuildRequires: mesagl-devel
118 BuildRequires: libvpx-devel
119 BuildRequires: autoconf2.1
120 BuildRequires: libiw-devel
121
122 %if 0%{?prel}
123 Provides: %{name} = %{epoch}:%{realver}-0.%{prel}
124 %else
125 Provides: %{name} = %{epoch}:%{realver}
126 %endif
127 Provides: mozilla-firefox = %{epoch}:%{version}-%{release}
128 Provides: webclient
129
130 Requires: %{mklibname sqlite3_ 0} >= %{sqlite3_version}
131 Requires: %{mklibname nss 3} >= 2:%{nss_version}
132 Requires: %{mklibname nspr 4} >= 2:%{nspr_version}
133 Requires: indexhtml
134 Requires: xdg-utils
135 # fixes bug #42096
136 Requires: mailcap
137 Suggests: myspell-en_US
138 %ifarch x86_64
139 Suggests: nspluginwrapper
140 %endif
141
142 Obsoletes: firefox-ext-weave-sync
143
144 %description
145 The award-winning Web browser is now faster, more secure, and fully customizable
146 to your online life. With Firefox(R), we've added powerful new features that
147 make your online experience even better. It is an 'open source' product which is
148 freely available, and is acquiring a growing proportion of international web
149 browser usage.
150
151 Firefox claims to offer a more secure web browsing experience than other products,
152 with better protection against spyware and other Internet-based security threats.
153 It includes all the standard features of a modern web browser, like Internet
154 searching, tracking recently visited sites, setting up shortcuts to favourite
155 sites, customising the software behaviour and so on. Firefox also includes
156 features like 'tabbed browsing' (opening several web sites as sections within the
157 same window) and methods for controlling pop-up windows, cookies and downloaded
158 files.
159
160 %package devel
161 Summary: Development files for %{name}
162 Group: Development/Other
163
164 %description devel
165 Files and macros mainly for building Firefox extensions.
166
167 %prep
168 %setup -qn mozilla-release
169 %patch1 -p1 -b .lang
170 %patch2 -p1 -b .vendor
171 #patch3 -p1 -b .systemproxy
172 %patch5 -p1 -b .appname
173 %patch6 -p0 -b .str
174 # It was disabled because firefox3 hangs when using soundwrapper
175 #patch7 -p1
176 %patch8 -p1 -b .disable-software-update
177 %patch10 -p1 -b .default-mail-handler
178 ## KDE INTEGRATION
179 # copy current files and patch them later to keep them in sync
180 %patch11 -p1 -b .kde
181 %patch12 -p1 -b .kdemoz
182 # install kde.js
183 install -m 644 %{SOURCE9} browser/app/profile/kde.js
184
185 %ifarch %arm
186 %if "%{_target_cpu}" != "armv7l"
187 %patch34 -p1
188 %endif
189 %endif
190 %patch35 -p1
191 pushd js/src
192 autoconf-2.13
193 popd
194 autoconf-2.13
195
196 # needed to regenerate certdata.c
197 pushd security/nss/lib/ckfw/builtins
198 perl ./certdata.perl < /etc/pki/tls/mozilla/certdata.txt
199 popd
200
201 %build
202 export MOZCONFIG=`pwd`/mozconfig
203 cat << EOF > $MOZCONFIG
204 mk_add_options MOZILLA_OFFICIAL=1
205 mk_add_options BUILD_OFFICIAL=1
206 mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
207 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
208 ac_add_options --host=%{_host}
209 ac_add_options --target=%{_target_platform}
210 ac_add_options --enable-optimize="%{optflags}"
211 ac_add_options --prefix="%{_prefix}"
212 ac_add_options --libdir="%{_libdir}"
213 ac_add_options --sysconfdir="%{_sysconfdir}"
214 ac_add_options --mandir="%{_mandir}"
215 ac_add_options --includedir="%{_includedir}"
216 ac_add_options --datadir="%{_datadir}"
217 ac_add_options --with-system-nspr
218 ac_add_options --with-system-nss
219 ac_add_options --with-system-zlib
220 ac_add_options --with-system-libvpx
221 ac_add_options --enable-webm
222 ac_add_options --enable-gio
223 ac_add_options --disable-gnomevfs
224 ac_add_options --disable-installer
225 ac_add_options --disable-updater
226 ac_add_options --disable-tests
227 ac_add_options --disable-debug
228 #ac_add_options --enable-chrome-format=jar
229 #ac_add_options --enable-update-channel=beta
230 ac_add_options --enable-official-branding
231 ac_add_options --enable-libproxy
232 ac_add_options --without-system-png
233 ac_add_options --with-system-jpeg
234 ac_add_options --enable-system-cairo
235 ac_add_options --enable-system-sqlite
236 ac_add_options --enable-startup-notification
237 ac_add_options --enable-xinerama
238 ac_add_options --with-distribution-id=org.mageia
239 ac_add_options --disable-crashreporter
240 %ifarch %arm
241 %if "%{_target_cpu}" != "armv7l"
242 ac_add_options --disable-methodjit
243 ac_add_options --disable-tracejit
244 %endif
245 ac_add_options --enable-system-ffi
246 %endif
247 %ifnarch %arm %mips
248 ac_add_options --with-valgrind
249 ac_add_options --with-java-include-path=%{java_home}/include
250 ac_add_options --with-java-bin-path=%{java_home}/bin
251 %endif
252
253 EOF
254
255 %__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl
256
257 export LDFLAGS="%ldflags"
258 make -f client.mk build
259
260 %install
261 rm -rf %{buildroot}
262
263 make -C %{_builddir}/obj/browser/installer STRIP=/bin/true
264
265 # Copy files to buildroot
266 %{__mkdir_p} %{buildroot}%{mozillalibdir}
267 cp -rf %{_builddir}/obj/dist/firefox/* %{buildroot}%{mozillalibdir}
268
269 %{__mkdir_p} %{buildroot}%{_bindir}
270 ln -sf %{mozillalibdir}/firefox %{buildroot}%{_bindir}/firefox
271 pushd %{buildroot}%{_bindir}
272 ln -sf firefox mozilla-firefox
273 popd
274
275 # Create and own %_libdir/mozilla/plugins & firefox extensions directories
276 %{__mkdir_p} %{buildroot}%{pluginsdir}
277 %{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
278 %{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
279
280 # (tpg) desktop entry
281 %{__mkdir_p} %{buildroot}%{_datadir}/applications
282 install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/%{name}.desktop
283
284 # (tpg) icons
285 %{__cp} %{buildroot}%{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}/%{mozillalibdir}/icons/
286 for i in 16 22 24 32 48 256; do
287 # (cg) Not all icon sizes are installed with make install, so just redo it here.
288 %{__install} -m 644 browser/branding/official/default$i.png %{buildroot}%{mozillalibdir}/chrome/icons/default/default$i.png
289 %{__mkdir_p} %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps
290 ln -sf %{mozillalibdir}/chrome/icons/default/default$i.png %{buildroot}%{_iconsdir}/hicolor/"$i"x"$i"/apps/%{name}.png ;
291 done
292 %{__mkdir_p} %{buildroot}{%{_liconsdir},%{_iconsdir},%{_miconsdir}}
293 ln -sf %{mozillalibdir}/chrome/icons/default/default48.png %{buildroot}%{_liconsdir}/%{name}.png
294 ln -sf %{mozillalibdir}/chrome/icons/default/default32.png %{buildroot}%{_iconsdir}/%{name}.png
295 ln -sf %{mozillalibdir}/chrome/icons/default/default16.png %{buildroot}%{_miconsdir}/%{name}.png
296
297 # exclusions
298 rm -f %{buildroot}%{mozillalibdir}/README.txt
299 rm -f %{buildroot}%{mozillalibdir}/removed-files
300 rm -f %{buildroot}%{mozillalibdir}/precomplete
301
302 # this file is only used when creating a new user profile
303 install -D -m644 browser/app/profile/prefs.js %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
304 cat << EOF >> %{buildroot}%{mozillalibdir}/defaults/profile/prefs.js
305 user_pref("browser.EULA.override", true);
306 user_pref("browser.shell.checkDefaultBrowser", false);
307 user_pref("browser.startup.homepage", "file:///usr/share/indexhtml/index.html");
308 user_pref("app.update.auto", false);
309 user_pref("app.update.enabled", false);
310 user_pref("app.update.autoInstallEnabled", false);
311 user_pref("browser.showQuitWarning", true);
312 EOF
313
314 # files in this directory are read on every startup, and can change/add
315 # preferences for existing profiles
316 # extensions.autoDisableScopes is a new preference added in firefox 8
317 # it defines "scopes" where newly installed addons are disabled by default
318 # this is an additive bit field, and the value defaults to 15 (1+2+4+8)
319 # we need to remove system scope (8) from it so language packs and other addons
320 # which are installed systemwide won't get marked as 3rd party and disabled
321 # documentation: http://kb.mozillazine.org/About:config_entries#Extensions.
322 # or in toolkit/mozapps/extensions/AddonManager.jsm
323 # we also need to disable the "disable addon selection dialog"
324 cat << EOF > %{buildroot}%{mozillalibdir}/defaults/pref/mga.js
325 pref("extensions.autoDisableScopes", 0);
326 pref("extensions.shownSelectionUI", true);
327 EOF
328
329 # (ahmad) these ones belonged in prefs.js (see above), remove them until it's
330 # decided what search engines to ship by default
331 #user_pref("browser.search.selectedEngine","Ask.com");
332 #user_pref("browser.search.order.1","Ask.com");
333 #user_pref("browser.search.order.2","Exalead");
334 #user_pref("browser.search.order.3","Google");
335 #user_pref("browser.search.order.4","Yahoo");
336
337 # (ahmad) don't install these until it's decided what search engines to ship by
338 # default
339 # search engines
340 #cp -f %{SOURCE5} %{buildroot}%{mozillalibdir}/searchplugins/jamendo.xml
341 #cp -f %{SOURCE6} %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
342 #cp -f %{SOURCE8} %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
343
344 #sed -i 's/@DISTRO_VALUE@/ffx/' %{buildroot}%{mozillalibdir}/searchplugins/askcom.xml
345 #sed -i 's/@DISTRO_VALUE@//' %{buildroot}%{mozillalibdir}/searchplugins/exalead.xml
346
347 # use the system myspell dictionaries
348 rm -fr %{buildroot}%{mozillalibdir}/dictionaries
349 ln -s %{_datadir}/dict/mozilla %{buildroot}%{mozillalibdir}/dictionaries
350
351 # (lm) touch and %ghost bookmarks.html to a proper uninstall
352 touch %{buildroot}%{mozillalibdir}/defaults/profile/bookmarks.html
353
354 %find_lang %{name}
355
356 mkdir -p %{buildroot}%{_sys_macros_dir}
357 cat <<FIN >%{buildroot}%{_sys_macros_dir}/%{name}.macros
358 # Macros from %{name} package
359 %%firefox_major %{major}
360 %%firefox_epoch %{ff_epoch}
361 %%firefox_version %{realver}%{?prel:-0.%prel}
362 %%firefox_mozillapath %{mozillalibdir}
363 %%firefox_pluginsdir %{pluginsdir}
364 %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
365 %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
366 FIN
367
368 %pre
369 if [ -d %{mozillalibdir}/dictionaries ]; then
370 rm -fr %{mozillalibdir}/dictionaries
371 fi
372
373 %post
374 if [ ! -r /etc/sysconfig/oem ]; then
375 case `grep META_CLASS /etc/sysconfig/system` in
376 *powerpack) bookmark="mozilla-powerpack.html" ;;
377 *desktop) bookmark="mozilla-one.html";;
378 *) bookmark="mozilla-download.html";;
379 esac
380 ln -s -f ../../../../share/mga/bookmarks/mozilla/$bookmark %{mozillalibdir}/defaults/profile/bookmarks.html
381 fi
382
383 %files -f %{name}.lang
384 %{_bindir}/%{name}
385 %{_bindir}/mozilla-firefox
386 %{_iconsdir}/hicolor/*/apps/*.png
387 %{_miconsdir}/%{name}.png
388 %{_iconsdir}/%{name}.png
389 %{_liconsdir}/%{name}.png
390 %{_datadir}/applications/*.desktop
391 %{_libdir}/%{name}-%{realver}*
392 %ghost %{mozillalibdir}/defaults/profile/bookmarks.html
393 %dir %{_libdir}/mozilla
394 %dir %{pluginsdir}
395 %dir %{_libdir}/mozilla/extensions/%{firefox_appid}
396 %dir %{_datadir}/mozilla/extensions/%{firefox_appid}
397
398 %files devel
399 %{_sys_macros_dir}/%{name}.macros

  ViewVC Help
Powered by ViewVC 1.1.30